YAHOO.util.Event.onContentReady("navMenu", function () {
	var menu = new YAHOO.widget.Menu("navMenu", {position: "static"});
	menu.render();
});

var loginNextFunc,loginLinkEnter,loginLinkLeave,resetPwdEnter,resetPwdLeave,resetUsrEnter,resetUsrLeave,gproc=false;
var sbTimer;

with(Shadowbox) {
	loadSkin('classic', '/shadowbox/skin');
	loadLanguage('es', '/shadowbox/lang');
	loadPlayer(['html', 'iframe'], '/shadowbox/player');
}

function SetSBTimer()
{
	sbTimer = window.setTimeout('Shadowbox.close()', 30000);
}

function ClearSBTimer()
{
	window.clearTimeout(sbTimer);
}

window.onload = function() 
{
	Shadowbox.init({skipSetup: true});
	if (typeof(init) == 'function') init();
/*	
	var count = CookieGet('showAd');
	if (count == null) {
		var exp = new Date();
		exp.setTime(exp.getTime() + 10 * 60000);
		CookieSet('showAd', 1, exp, '/');
		
		var ad = '<div id="dialog">';
		ad += '<object classid="clasid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,42,34" id="popup" height="120" width="468">';
		ad += '<param name="movie" value="/images/pubs/nepop.swf">';
		ad += '<param name="quality" value="high">';
		ad += '<param name="bgcolor" value="#FFFFFF">';
		ad += '<embed src="/images/pubs/nepop.swf" quality="high" bgcolor="#FFFFFF" name="popup" type="application/x-shockwave-flash" swfversion="10,0,42,34" pluginspage="http://get.adobe.com/flashplayer/" height="120" width="468">';
		ad += '</object>';
		ad += '</div>';
		Shadowbox.open({player: 'html', content: ad, height: 155, width: 488}, {onFinish: SetSBTimer, onClose: ClearSBTimer});
	}
*/
}

function autoOK(evt, f)
{
	var keyCode;
	if (evt.which) { 
		keyCode = evt.which;
	} else {
		if (evt.keyCode) keyCode = evt.keyCode;
	}
	if (keyCode == 13) f();
}

function CookieGet(name)
{
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg) return CookieGetVal(j);
		i = document.cookie.indexOf(";", i) + 1;
		if (i == 0) break;
		if (document.cookie.substr(i, 1) == " ") i++;
	}
	return null;
}

function CookieGetVal(offset) {
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1)
	endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function CookieSet(name, value)
{
	var argv = CookieSet.arguments;
	var argc = CookieSet.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path = (argc > 3) ? argv[3] : null;
	var domain = (argc > 4) ? argv[4] : null;
	var secure = (argc > 5) ? argv[5] : false;
	document.cookie = name + "=" + escape (value) +
		((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
		((path == null) ? "" : ("; path=" + path)) +
		((domain == null) ? "" : ("; domain=" + domain)) +
		((secure == true) ? "; secure" : "");
}

function doLogin()
{
	AJAX();
	XMLHttp.onreadystatechange = loginState;
	XMLHttp.open('GET', '/postulante/login/u/' + encodeURIComponent(YAHOO.util.Dom.get('loginUser').value) + '/p/' + encodeURIComponent(YAHOO.util.Dom.get('loginPwd').value), true);
	XMLHttp.send(null);
}

function historial()
{
	if (!loggedIn()) {
		login(true, historial);
	} else {
		document.location.href = '/postulante/historial';
	}
}

function html_entity_decode(str)
{
	var decoder = document.createElement('textarea');
	decoder.innerHTML = str;
	var content = decoder.value;
	decoder = null;
	return content;
}

function loggedIn()
{
	return YAHOO.util.Dom.inDocument('logged');
}

function login(showMsg, exec)
{
	loginNextFunc = exec;
	var log = '<div id="dialog">';
	log += '<table width="100%" cellpadding="0" cellspacing="0"><tr><td colspan="2"><img src="/images/BRH_small.png" /></td><td id="login-note" class="note" align="right" valign="bottom">';
	if (showMsg) {
		log += 'La funci&oacute;n seleccionada<br />requiere que Ud.<br />se identifique previamente.';
	}
	log += '</td></tr><tr><td colspan="3" height="20"></td></tr>';
	log += '<tr><td align="right" height="30">Usuario:</td><td width="15"></td><td><input type="text" class="inputText" name="loginUser" id="loginUser" maxlength="20" /></td></tr>';
	log += '<tr><td align="right" height="26">Clave:</td><td></td><td><input type="password" class="inputText" name="loginPwd" id="loginPwd" maxlength="20" /></td></tr></table>';
	log += '<a href="javascript:doLogin()" id="loginLink" class="button-ok" style="position:absolute; left: 133px; top: 190px">INGRESAR</a>';
	log += '</div>';
	
	Shadowbox.open({player: 'html', content: log, height: 190, width: 336}, {onFinish: loginSet, onClose: loginUnset});
}

function loginSet()
{
	YAHOO.util.Dom.get('loginUser').focus();
	YAHOO.util.Event.addListener('shadowbox', 'keypress', autoOK, doLogin);
	
	YAHOO.util.Dom.setStyle('loginLink', 'opacity', 0);
	var anim = new YAHOO.util.Anim('loginLink', {top: {to: 145}, opacity: {to: .5}}, .5, YAHOO.util.Easing.easeOut);
	anim.onComplete.subscribe(function(){var anim = new YAHOO.util.Anim('loginLink', {top: {to: 152}}, .5, YAHOO.util.Easing.easeOut); anim.animate();});
	anim.animate();
	
	YAHOO.util.Dom.get('shadowbox_counter').innerHTML = '<b><a href="/portal/preregistro">No estoy registrado</a> | <a href="javascript:olvidoClave()">Olvid&eacute; mi clave</a></b>';
	
	loginLinkEnter = new mouseEnter('loginLink', enter);
	loginLinkLeave = new mouseLeave('loginLink', leave);
}

function loginState()
{
	if (XMLHttp.readyState == 4) {
		var loginError = false;
		if (XMLHttp.status == 200) {
			var data = XMLHttp.responseText.split('|');
			if (parseInt(data[0]) > 0) {
				YAHOO.util.Dom.get('login').innerHTML = '<span id="userID" style="display: none;">' + data[0] + '</span><span id="logged">' + data[1] + ' ' + data[2] + '</span><span id="userEmail" style="display: none;">' + data[3] + '</span><span id="userDataOK" style="display: none;">' + data[4] + '</span><a href="javascript:logout()" class="logout-button">SALIR</a>';
				if (data[4] > 0) {
					perfil();
				} else {
					if (document.location.href.match(/\/avisos/)) checkPost();
					if (typeof(loginNextFunc) == 'function') {
						loginNextFunc();
					} else {
						Shadowbox.close();
						if (document.location.href.match(/\/portal\/(?:(?:pre)?registr(?:ad)?o|cambiar\.ingreso|reset)/)) {
							document.location.href = '/avisos';
						}
					}
				}
			} else {
				loginError = true;
			}
		} else {
			loginError = true;
		}
		if (loginError) {
			YAHOO.util.Dom.get('login-note').innerHTML = "El usuario y/o clave<br />ingresados no son correctos.";
			YAHOO.util.Dom.addClass('login-note', 'error');
			YAHOO.util.Dom.get('loginPwd').value = '';
			YAHOO.util.Dom.get('loginUser').select();
			YAHOO.util.Dom.get('loginUser').focus();
		}
	}
}

function loginUnset()
{
	YAHOO.util.Event.removeListener('shadowbox', 'keypress');
	if (loginLinkEnter) loginLinkEnter = loginLinkEnter.destroy();
	if (loginLinkLeave) loginLinkLeave = loginLinkLeave.destroy();
}

function logout()
{
	AJAX();
	XMLHttp.onreadystatechange = logoutState;
	XMLHttp.open('GET', '/postulante/logout', true);
	XMLHttp.send(null);
}

function logoutState()
{
	if (XMLHttp.readyState == 4) {
		if (XMLHttp.status == 200) {
			YAHOO.util.Dom.get('login').innerHTML = '<a class="login-link" href="javascript:login();" hidefocus="true">Ingresar</a>';
			if (document.location.href.match(/\/postulante\//)) {
				document.location.href = '/avisos';
			} else {
				if (document.location.href.match(/\/avisos/)) checkPost();
			}
		}
	}
}

function olvidoClave()
{
	if (!gproc) {
		var pwd = '<div id="dialog">';
		pwd += '<table width="100%" cellpadding="0" cellspacing="0"><tr><td colspan="2"><img src="/images/BRH_small.png" /></td><td id="pwd-note" class="note" align="right" valign="bottom">';
		pwd += '</td></tr><tr><td colspan="3" height="20"></td></tr>';
		pwd += '<tr><td align="right" height="30">Usuario:</td><td width="15"></td><td><input type="text" class="inputText" name="userName" id="userName" maxlength="20" /></td></tr>';
		pwd += '<tr><td align="right" height="26">E-mail:</td><td></td><td><input type="text" class="inputText" name="email" id="email" maxlength="100" /></td></tr></table>';
		pwd += '<a href="javascript:resetPwd()" id="resetPwdLink" class="button-ok" style="position:absolute; left: 133px; top: 190px">CAMBIAR MI CLAVE</a>';
		pwd += '</div>';
		
		Shadowbox.open({player: 'html', content: pwd, height: 190, width: 336}, {onFinish: resetPwdSet, onClose: resetPwdUnset});
	}
}

function olvidoUsuario()
{
	if (!gproc) {
		var usr = '<div id="dialog">';
		usr += '<table width="100%" cellpadding="0" cellspacing="0"><tr><td colspan="2"><img src="/images/BRH_small.png" /></td><td id="usr-note" class="note" align="right" valign="bottom">';
		usr += '</td></tr><tr><td colspan="3" height="20"></td></tr>';
		usr += '<tr><td align="right" height="30">E-mail:</td><td width="15"></td><td><input type="text" class="inputText" name="email" id="email" maxlength="100" /></td></tr>';
		usr += '<tr><td align="right" height="26">Apellido:</td><td></td><td><input type="text" class="inputText" name="apellido" id="apellido" maxlength="50" /></td></tr>';
		usr += '<tr><td align="right" height="26">Nombre:</td><td></td><td><input type="text" class="inputText" name="nombre" id="nombre" maxlength="100" /></td></tr></table>';
		usr += '<a href="javascript:resetUsr()" id="resetUsrLink" class="button-ok" style="position:absolute; left: 133px; top: 216px">CAMBIAR MI USUARIO</a>';
		usr += '</div>';
		
		Shadowbox.open({player: 'html', content: usr, height: 216, width: 336}, {onFinish: resetUsrSet, onClose: resetUsrUnset});
	}
}

function openSite(addr)
{
	window.open(addr, '');
}

function perfil()
{
	if (!loggedIn()) {
		login(true, perfil);
	} else {
		document.location.href = '/postulante/perfil';
	}
}

function resetPwd()
{
	var u = YAHOO.util.Dom.get('userName').value;
	var e = YAHOO.util.Dom.get('email').value;
	if (u == "" | e == "") {
		YAHOO.util.Dom.get('pwd-note').innerHTML = 'Por favor, complete<br />los datos requeridos';
		YAHOO.util.Dom.addClass('pwd-note', 'error');
	} else {
		if (!gproc) {
			gproc = true;
			YAHOO.util.Dom.get('pwd-note').innerHTML = '<img src="/images/ajax16.gif" width="16" height="16" style="vertical-align: middle;" /> Se est&aacute; procesando<br />su solicitud...';
			YAHOO.util.Dom.removeClass('pwd-note', 'error');
			AJAX();
			XMLHttp.onreadystatechange = resetPwdState;
			XMLHttp.open('GET', '/portal/pwd.code/u/' + encodeURIComponent(u) + '/e/' + encodeURIComponent(e), true);
			XMLHttp.send(null);
		}
	}
}

function resetPwdNow()
{
	if (!loggedIn()) {
		login(true, resetPwdNow);
	} else {
		document.location.href = '/postulante/cambiar.clave';
	}
}

function resetPwdSet()
{
	YAHOO.util.Dom.get('userName').focus();
	YAHOO.util.Event.addListener('shadowbox', 'keypress', autoOK, resetPwd);
	
	YAHOO.util.Dom.setStyle('resetPwdLink', 'opacity', 0);
	var anim = new YAHOO.util.Anim('resetPwdLink', {top: {to: 145}, opacity: {to: .5}}, .5, YAHOO.util.Easing.easeOut);
	anim.onComplete.subscribe(function(){var anim = new YAHOO.util.Anim('resetPwdLink', {top: {to: 152}}, .5, YAHOO.util.Easing.easeOut); anim.animate();});
	anim.animate();
	
	YAHOO.util.Dom.get('shadowbox_counter').innerHTML = '<b><a href="javascript:olvidoUsuario()">Olvid&eacute; tambi&eacute;n mi usuario</a></b>';
	
	resetPwdEnter = new mouseEnter('resetPwdLink', enter);
	resetPwdLeave = new mouseLeave('resetPwdLink', leave);
}

function resetPwdState()
{
	if (XMLHttp.readyState == 4) {
		var resetPwdError = false;
		if (XMLHttp.status == 200) {
			var data = XMLHttp.responseText.split('|');
			if (parseInt(data[0]) > 0) {
				document.location.href = '/portal/cambiar.ingreso/e/' + data[1];
			} else {
				resetPwdError = data[1];
			}
		} else {
			resetPwdError = 'Se ha producido un error<br />en el proceso de su solicitud';
		}
		if (resetPwdError) {
			YAHOO.util.Dom.get('pwd-note').innerHTML = resetPwdError;
			YAHOO.util.Dom.addClass('pwd-note', 'error');
		}
		gproc = false;
	}
}

function resetPwdUnset()
{
	YAHOO.util.Event.removeListener('shadowbox', 'keypress');
	if (resetPwdEnter) resetPwdEnter = resetPwdEnter.destroy();
	if (resetPwdLeave) resetPwdLeave = resetPwdLeave.destroy();
}

function resetUsr()
{
	var e = YAHOO.util.Dom.get('email').value;
	var a = YAHOO.util.Dom.get('apellido').value;
	var n = YAHOO.util.Dom.get('nombre').value;
	if (e == "" | a == "" | n == "") {
		YAHOO.util.Dom.get('usr-note').innerHTML = 'Por favor, complete<br />los datos requeridos';
		YAHOO.util.Dom.addClass('usr-note', 'error');
	} else {
		if (!gproc) {
			gproc = true;
			YAHOO.util.Dom.get('usr-note').innerHTML = '<img src="/images/ajax16.gif" width="16" height="16" style="vertical-align: middle;" /> Se est&aacute; procesando<br />su solicitud...';
			YAHOO.util.Dom.removeClass('usr-note', 'error');
			AJAX();
			XMLHttp.onreadystatechange = resetUsrState;
			XMLHttp.open('GET', '/portal/usr.code/e/' + encodeURIComponent(e) + '/a/' + encodeURIComponent(a) + '/n/' + encodeURIComponent(n), true);
			XMLHttp.send(null);
		}
	}
}

function resetUsrSet()
{
	YAHOO.util.Dom.get('email').focus();
	YAHOO.util.Event.addListener(['apellido', 'nombre'], 'blur', ToUpper);
	YAHOO.util.Event.addListener('shadowbox', 'keypress', autoOK, resetUsr);
	
	YAHOO.util.Dom.setStyle('resetUsrLink', 'opacity', 0);
	var anim = new YAHOO.util.Anim('resetUsrLink', {top: {to: 171}, opacity: {to: .5}}, .5, YAHOO.util.Easing.easeOut);
	anim.onComplete.subscribe(function(){var anim = new YAHOO.util.Anim('resetUsrLink', {top: {to: 178}}, .5, YAHOO.util.Easing.easeOut); anim.animate();});
	anim.animate();

	resetUsrEnter = new mouseEnter('resetUsrLink', enter);
	resetUsrLeave = new mouseLeave('resetUsrLink', leave);
}

function resetUsrState()
{
	if (XMLHttp.readyState == 4) {
		var resetUsrError = false;
		if (XMLHttp.status == 200) {
			var data = XMLHttp.responseText.split('|');
			if (parseInt(data[0]) > 0) {
				document.location.href = '/portal/cambiar.ingreso/e/' + data[1];
			} else {
				resetUsrError = data[1];
			}
		} else {
			resetUsrError = 'Se ha producido un error<br />en el proceso de su solicitud';
		}
		if (resetUsrError) {
			YAHOO.util.Dom.get('usr-note').innerHTML = resetUsrError;
			YAHOO.util.Dom.addClass('usr-note', 'error');
		}
		gproc = false;
	}
}

function resetUsrUnset()
{
	YAHOO.util.Event.addListener('shadowbox', 'keypress');
	YAHOO.util.Event.removeListener(['apellido', 'nombre'], 'blur', ToUpper);
	if (resetUsrEnter) resetUsrEnter = resetUsrEnter.destroy();
	if (resetUsrLeave) resetPwdLeave = resetUsrLeave.destroy();
}

function suscripcion()
{
	if (!loggedIn()) {
		login(true, suscripcion);
	} else {
		document.location.href = '/postulante/suscribir';
	}
}
