var vCadena = 0;
var vNumero = 1;
var vEmail = 2;
var vVacio = 3;

Function.prototype.defaults = function() {
	var _f = this;
	var _a = Array(_f.length-arguments.length).concat(Array.prototype.slice.apply(arguments));
	return function() {
		return _f.apply(_f, Array.prototype.slice.apply(arguments).concat(_a.slice(arguments.length, _a.length)));
	}
}

//var MuestraMenu = function(sSheet, sSpeed) {
//	var s = (sSheet).split('_')
//	$(".NivelDOS[id!='" + sSheet + "']").slideUp(sSpeed);
//	$(".NivelUNO[id!='" + s[0] + "'] li").removeClass( 'ACTIVO' );
//	$("#" + sSheet).slideToggle(sSpeed);
//	$("ul#" + s[0] + " li").toggleClass( 'ACTIVO' );
//}.defaults('', 'normal');
//
//
//
var MuestraCurso = function (Curso) {
	OcultaCursos();
	$('.CursoContenido:eq(' + Curso + ')').slideToggle('slow');
}

var OcultaCursos = function () {
	$('.CursoContenido').hide('');
}

var fnImagenAleatoria = function (imagen, n, id) {
	var sCarpeta = 'images/';
	var sExt = '.jpg';
	var nAleatorio = Math.floor(Math.random() * n);
	$(id).html($("<img/>").attr('src', sCarpeta + imagen + nAleatorio + sExt));	
}

var fnValidaContacto = function() {
	$("label").removeClass("invalido");
	if (!fnCampoValido('Nombre', vCadena, 0)) { return false; }
	if (!$('#Email').val() && !$('#TelFijo').val() && !$('#TelMovil').val()) {
		return fnAvisoCampoInvalido('Email', 0, 'Seleccione una forma de contacto (Email, Teléfono Fijo, Teléfono Móvil)');
	}
	return true;
}

var fnCampoValido = function(id, tipo, len) {
	var bValido = false;
	var dCampo = $('#' + id);
	switch (tipo) {
		case vCadena:
			bValido = fnCadenaValida(dCampo.val(), len);
			break;
		case vNumero:
			bValido = fnNumeroValido(dCampo.val(), len);
			break;
		case vEmail:
			bValido = fnEmailValido(dCampo.val());
			break;
		case vVacio:
			bValido = fnCampoVacio(dCampo.val());
			break;			
	}
	if (!bValido) { fnAvisoCampoInvalido(id, len, ''); }
	return bValido;
}

var fnAvisoCampoInvalido = function(id, len, mensaje) {
	var sMensaje = mensaje;
	if (!sMensaje) {
		sMensaje = "Campo Invalido: " + id + ".";
		if (len) { sMensaje += " Minimo " + len + " caracteres"; }
	}
	alert(sMensaje);
	var sLabel = "label[for='" + id + "']";
	$(sLabel).addClass("invalido");
	$('#' + id).focus();
	return false;		
}

var fnCampoVacio = function() {
	return (arguments[0] != ''); 
}

var fnCadenaValida = function() {
	if (arguments[1]) { return ( arguments[0].length >= arguments[1] ); }
	return (typeof arguments[0] == 'string' && arguments[0] != '' && isNaN(arguments[0])); 
}

var fnNumeroValido = function() { 
	return (!isNaN(arguments[0]) && arguments[0] != '' && arguments[0] != arguments[1]); 
}

var fnEmailValido = function() {
	var RegExPattern = /^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i
	if (arguments[0] != '' && RegExPattern.test(arguments[0])) { return true; }
	return false;
}

var fnNuevaVentana = function(url, win, cnf, mdl) {
	var win = null;
	cnf['left'] = 0;
	cnf['top'] = 0;
	if (cnf['width'] > screen.width) cnf['width'] = screen.width - 20;
	if (cnf['height'] > screen.height) cnf['height'] = screen.height - 20;		
	var winl = (screen.width - cnf['width']) / 2;
	var wint = (screen.height - cnf['height']) / 2;
	if (winl > 0) cnf['left'] = winl;
	if (wint > 0) cnf['top'] = wint;	
	var settings = '';
	for(var key in cnf) {
		settings += ' ' + key + '=' + cnf[key] + ',';
	}
	
	abierto = false;
	if (mdl) {
		if (window.showModalDialog) {
			window.showModalDialog(url, win, "dialogWidth:" + cnf['width'] + "px;dialogHeight:" + cnf['height'] + "px;unadorned:0");	
			abierto = true;
		}
	}
	
	if (!abierto) {
		win = window.open(url, win, settings);
		win.window.focus();
	}
	return false;
}