var userCookie = "";

function readCookie(cookieName) {
	var theCookie=""+document.cookie;
	var ind=theCookie.indexOf(cookieName);
	if (ind==-1 || cookieName=="") return "";
	var ind1=theCookie.indexOf(';',ind);
	if (ind1==-1) ind1=theCookie.length;
	return unescape(theCookie.substring(ind+cookieName.length+1,ind1));
}

function setCookie(name, value, expires, path, domain, secure) {
	path="/";
  	document.cookie = name+"="+value+
    (expires ? "; expires="+expires.toGMTString(): "")+
    (path    ? "; path="   +path   : "")+
    (domain  ? "; domain=" +domain : "")+
    (secure  ? "; secure" : "");
}

function deleteCookie(name, path, domain) {
	if ( readCookie(name) ) {
		document.cookie = name + '=' +
		( ( path ) ? ';path=' + path : ';path=/') +
		( ( domain ) ? ';domain=' + domain : '' ) +
		';expires=Thu, 01-Jan-1970 00:00:01 GMT';
	}
}

function deleteCookieAndRefresh(name, path, domain) {
	if ( readCookie(name) ) {
		document.cookie = name + '=' +
		( ( path ) ? ';path=' + path : ';path=/') +
		( ( domain ) ? ';domain=' + domain : '' ) +
		';expires=Thu, 01-Jan-1970 00:00:01 GMT';
	}
	window.location.reload();
}

function loginUser(userCookieKey, targetElem, newDataContainer) {
	var email = $('loginEmail').value;
	var error = false;
	if(email.length==0){
		alert("Debe ingresar su correo");
		$('loginEmail').focus();
		error = true;
	}else if (!isValidEmail(email)){
		alert("El correo ingresado no es valido");
		$('loginEmail').focus();
		error = true;
	}
	
	var password = $('loginPassword').value;
	if(password.length == 0){
		alert("Debe ingresar su contraseņa");
		$('loginPassword').focus();
		error = true;
	}
	
	var condiciones = $F('condiciones');
	if (condiciones == null) {
		alert("Debe leer y aceptar las condiciones de uso.");
		$('condiciones').focus();
		return;
	}
	var referer="no";
	url = "/app/application";
	var pass=hex_md5(password);
	var pars = ('action=UserLogin&email='+$F('loginEmail')+'&password='+pass);
	if (!error) {
		new Ajax.Request(
			url,
			{
				method:'POST',
				parameters: pars,
				encoding: 'ISO-8859-1',
				requestHeaders: {Accept: 'application/json'},
				onSuccess : function(resp){
					var datos = resp.responseText.evalJSON(true);
					if (datos.error == 0) {
						var date = new Date();
						date.setTime(date.getTime() + (365 * 24 * 60 * 60 * 1000));
				  		setCookie(userCookieKey, datos.nick+','+datos.email, date);
				  		$('nombre').value = datos.nick;
						$('email').value = datos.email;
						$('displayName').innerHTML = datos.nick;
						$('displayEmail').innerHTML = datos.email;
				  		if (navigator.userAgent.indexOf('MSIE') > 0){
							$(targetElem).innerHTML = $(newDataContainer).innerHTML;
						} else {
							$(targetElem).innerHTML = "";
							$(targetElem).appendChild($(newDataContainer).childNodes[1]);
						}
						$(newDataContainer).innerHTML = "";
				  		//$(targetElem).innerHTML = $(newDataContainer).innerHTML;
				  		return new Array(datos.nick, datos.email);
				  		
				  		//top.location = locationUrl;
					}else{
						if(datos.error>0) {
							 alert(datos.errorMessage);
							 if (datos.error == 1 || datos.error == 2 || datos.error == 4) {
								$('loginEmail').focus();
							 }
							 if (datos.error == 3 || datos.error == 5) {
								$('loginPassword').focus();
							 }
						 }
						 /*if(datos.error == 4) {
							 if (datos.errorUsuarioNoExiste!=undefined || datos.errorUsuarioNoExiste==null) {
							 	alert("El e-mail y la clave ingresada no coinciden");
							 }
							 if (datos.errorPassword!=undefined) {
				  			 	alert("La clave ingresada no es correcta");
								 $('loginPassword').focus();
							 }
						 }*/
					}
				}
			}
		);
	}
}

function loginUserWithReditect(userCookieKey, locationUrl) {
	var email=$('emailLogin').value;
	var error = false;
	if(email.length==0){
		alert("Debe ingresar su correo");
		$('emailLogin').focus();
		error = true;
	}else if (!isValidEmail(email)){
		alert("El correo ingresado no es valido");
		$('emailLogin').focus();
		error = true;
	}
	var password=$('passwordLogin').value;
	if(password.length==0){
		alert("Debe ingresar su contraseņa");
		$('passwordLogin').focus();
		error = true;
	}
	var referer="no";
	url = "/app/application";
	var pass=hex_md5(password);
	var pars = ('action=UserLogin&email='+$F('emailLogin')+'&password='+pass);
	if (!error) {
		new Ajax.Request(
			url,
			{
				method:'POST',
				parameters: pars,
				encoding: 'ISO-8859-1',
				requestHeaders: {Accept: 'application/json'},
				onSuccess : function(resp){
					var datos = resp.responseText.evalJSON(true);
					if (datos.error == 0) {
						var date = new Date();
						date.setTime(date.getTime() + (365 * 24 * 60 * 60 * 1000));
				  		setCookie(userCookieKey, datos.nick+','+datos.email, date);
				  		
				  		top.location = locationUrl;
					}else{
						if(datos.error>0) {
							 alert(datos.errorMessage);
							 if (datos.error == 1 || datos.error == 2 || datos.error == 4) {
								$('emailLogin').focus();
							 }
							 if (datos.error == 3 || datos.error == 5) {
								$('passwordLogin').focus();
							 }
						 }
					}
				}
			}
		);
	}
}

/*	
function loginUser(userCookieKey, locationUrl) {
	var email=$F("email");
	if(email.length==0){
		alert("Debe ingresar su correo");
		$('email').focus();
		return false;
	}else if (!isValidEmail(email)){
		alert("El correo ingresado no es valido");
		$('email').focus();
		return false;
	}
	var password=$F('password');
	if(password.length==0){
		alert("Debe ingresar su contraseņa");
		$('password').focus();
		return false;
	}

    var referer="no";
	url = "/app/application";
	var pass=hex_md5($F('password'));
	var pars = ('action=UserLogin&email='+$F('email')+'&password='+pass);
	new Ajax.Request(
		url,
		{
			method:'POST',
			parameters: pars,
			encoding: 'ISO-8859-1',
			requestHeaders: {Accept: 'application/json'},
			onSuccess : function(resp){
				var datos = resp.responseText.evalJSON(true);
				if (datos.bError == 0) {
					var date = new Date();
					date.setTime(date.getTime() + (365 * 24 * 60 * 60 * 1000));
			  		setCookie(userCookieKey, datos.nick+','+datos.email, date);
			  		top.location = locationUrl;
				}else{
					if(datos.bError==1) {
						 if (datos.errorEmail!=undefined) {
						 	alert("El e-mail ingresado no es correcto");
							$('email').focus();
							return false;
						 }
						 if (datos.errorPassword!=undefined || datos.errorPassword==null) {
						 	alert("La clave ingresada no es correcta");
							$('password').focus();
							return false;
						 }
					 }
					 if(datos.bError==2) {
						 if (datos.errorUsuarioNoExiste!=undefined || datos.errorUsuarioNoExiste==null) {
						 	alert("El e-mail y la clave ingresada no coinciden");
							 return false;
						 }
						 if (datos.errorPassword!=undefined) {
			  			 	alert("La clave ingresada no es correcta");
							 $('password').focus();
							 return false;
						 }
					 }
				}
			}
		}
	);
}
*/
