//Funcion para Aceptar Form al darle a Enter
function loginEnterKey(e){
    var key;      
    if(window.event)
          key = window.event.keyCode; //IE
    else
          key = e.which; //firefox      

	if(key == 13) checkFormLogin();
	
    return (key != 13);
}

function recordarEnterKey(e){
    var key;      
    if(window.event)
          key = window.event.keyCode; //IE
    else
          key = e.which; //firefox      

	if(key == 13) checkFormRecordar();
	
    return (key != 13);
}

//Funcion para saber los dias del mes
function daysInMonth(month,year) {
    var dd = new Date(year, month, 0);
    return dd.getDate();
}    

//Función para solo introducir un tipo de caracteres en un Input
var numb = "0123456789.,";
var alpha = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
var alphanumb = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
function res(t,v){
    var w = "";
    for (i=0; i < t.value.length; i++) {
    x = t.value.charAt(i);
    if (v.indexOf(x,0) != -1)
    w += x;
    }
	t.value = w;
}

//Funcion para limitar el Texto en un Input
function limitText(limitField, limitNum) {
    if (limitField.value.length > limitNum) {
        limitField.value = limitField.value.substring(0, limitNum);
    } 
}

function checkFormLogin(){

	if(document.forms.formLogin.usuario.value == ""){
		alert("Introduce tu Nombre de Usuario.");
	}
	else if(document.forms.formLogin.contrasena.value == ""){
		alert("Introduce tu Contraseña.");
	}
	else{
		
		if (!enProceso && http) {
		   
			var url = "login_sql.php?usuario="+escape(document.forms.formLogin.usuario.value)+"&contrasena="+escape(document.forms.formLogin.contrasena.value)+"";
			//alert(url);			
			//document.getElementById("checkDiv").innerHTML = "<img src='img/def.gif' />";
			
			http.open("GET", url, true);
			http.onreadystatechange = handleHttpResponseCheckLogin;
			enProceso = true;

			http.send(null);

		}		
		
	}                       

}

function handleHttpResponseCheckLogin() {
	
	if (http.readyState == 4) {
		if (http.status == 200) {
			if (http.responseText.indexOf('invalid') == -1) {
			 
				if (http.responseText == 1){
					window.location = "promocion.php";
				}
				else if (http.responseText == 2){
					alert("Usuario y/o contraseña incorrectos.");
				}
				else if (http.responseText == 3){
					alert("Usuario y/o contraseña incorrectos.");
				}
				else if (http.responseText == 4){
					alert("La cuenta no está activada. Revisa tu e-mail.");
				}				
				else{
					alert("Tenemos problemas técnicos. Vuelve a intentarlo más tarde");
				}

			}
		}	
		else alert("Tenemos problemas técnicos. Vuelve a intentarlo más tarde");
		
		enProceso = false;		
		
	}
}

function checkFormRecordar(){

	if(document.forms.formRecordar.recordar.value == ""){
		alert("Introduce tu E-mail");
	}
	else{
		
		if (!enProceso && http) {
		   
			var url = "recordar_sql.php?email="+escape(document.forms.formRecordar.recordar.value)+"";
			//alert(url);			
			//document.getElementById("checkDiv").innerHTML = "<img src='img/def.gif' />";
			
			http.open("GET", url, true);
			http.onreadystatechange = handleHttpResponseCheckRecordar;
			enProceso = true;

			http.send(null);

		}		
		
	}                       

}

function handleHttpResponseCheckRecordar() {
	
	if (http.readyState == 4) {
		if (http.status == 200) {
			if (http.responseText.indexOf('invalid') == -1) {
			 
				if (http.responseText == 1){
					document.getElementById('topPromoRecordar').style.display = 'none';
					document.getElementById('topPromoRecordarOk').style.display = 'inline';
				}
				else{
					alert("Tenemos problemas técnicos. Vuelve a intentarlo más tarde");
				}

			}
		}	
		else alert("Tenemos problemas técnicos. Vuelve a intentarlo más tarde");
		
		enProceso = false;		
		
	}
}

function checkFormContacto(){

	if(document.forms.form.nombre.value == ""){
		alert("Introduce tu Nombre");
	}
	else if(document.forms.form.email.value == ""){
		alert("Introduce tu E-mail");
	}	
	else if(!cmail(document.forms.form.email.value)){
		alert("Introduce un email de forma correcta");
	}
	else if(document.forms.form.comentarios.value == ""){
		alert("Introduce tus Comentarios");
	}
	else if(!document.forms.form.acepto.checked){
		alert("Debes aceptar las condiciones de uso y la política de privacidad. Muchas gracias");
	}
	else{

		checkForm("contacto_sql",handleHttpResponseCheckContacto);
	
	}

}

function handleHttpResponseCheckContacto() {

	if (http.readyState == 4) {
		if (http.status == 200) {
			if (http.responseText.indexOf('invalid') == -1) {
				//alert(http.responseText);
				if (http.responseText == 1){
					window.location = "contactoOk.php";
				}
				else{
					alert("Tenemos problemas técnicos. Vuelve a intentarlo más tarde");
				}

			}
		}	
		else alert("Tenemos problemas técnicos. Vuelve a intentarlo más tarde");
		
		enProceso = false;
	}
} 


function checkFormRegistro(){

	if(document.forms.form.nombre.value == ""){
		alert("Introduce tu Nombre");
	}
	else if(document.forms.form.apellidos.value == ""){
		alert("Introduce tus Apellidos");
	}
	else if(document.forms.form.usuario.value == ""){
		alert("Introduce tu Nombre de Usuario");
	}
	else if(document.forms.form.email.value == ""){
		alert("Introduce tu E-mail");
	}	
	else if(document.forms.form.email.value != document.forms.form.email2.value){
		alert("Los E-mails no coinciden");
	}							
	else if(!cmail(document.forms.form.email.value)){
		alert("Introduce un email de forma correcta");
	}
	else if(document.forms.form.contrasena.value == ""){
		alert("Introduce tu Contraseña");
	}
	else if(document.forms.form.contrasena.value != document.forms.form.contrasena2.value){
		alert("Las contraseñas no coinciden");
	}
	else if(!document.forms.form.acepto.checked){
		alert("Para participar debes aceptar las condiciones de uso y la política de privacidad. Muchas gracias");
	}
	else{

		checkForm("registro_sql",handleHttpResponseCheckRegistro);
	
	}

}

function handleHttpResponseCheckRegistro() {

	if (http.readyState == 4) {
		if (http.status == 200) {
			if (http.responseText.indexOf('invalid') == -1) {
				//alert(http.responseText);
				if (http.responseText == 1){
					window.location = "registroPendienteActivacion.php";
				}
				else if (http.responseText == 2){
					alert("Ya existe un Usuario con ese Nombre de Usuario. Por favor, elige otro.");
				}
				else if (http.responseText == 3){
					alert("Ya existe un Usuario con ese E-mail. Por favor, elige otro.");
				}
				else{
					alert("Tenemos problemas técnicos. Vuelve a intentarlo más tarde");
				}

			}
		}	
		else alert("Tenemos problemas técnicos. Vuelve a intentarlo más tarde");
		
		enProceso = false;
	}
} 


function checkFormReceta(){

	if(document.forms.form.titulo.value == ""){
		alert("Introduce el Título de tu Receta");
	}
	else if(document.forms.form.subtitulo.value == ""){
		alert("Introduce un Subtítulo para tu Receta");
	}
	else if(document.forms.form.ideal.value == "0"){
		alert("Elige para qué es Ideal tu Receta");
	}
	else if(document.forms.form.tiempo.value == "0"){
		alert("Elige el tiempo de elaboración de tu Receta");
	}	
	else if(document.forms.form.comensales.value == "0"){
		alert("Elige el Número de comensales de tu Receta");
	}
	else if(document.forms.form.ingredientes.value == ""){
		alert("Introduce los Ingredientes de tu Receta");
	}
	else if(document.forms.form.preparacion.value == ""){
		alert("Introduce los Pasos de Preparación de tu Receta");
	}	
	else if(document.forms.form.numeroTicket.value != ""){
		
		if(document.forms.form.establecimiento.value == "0"){
			alert("Elige el Establecimiento de tu Ticket de Compra");
		}
		else if(document.forms.form.importe.value == ""){
			alert("Introduce el Importe de tu Ticket de Compra");
		}	
		else if(document.forms.form.codigo.value == ""){
			alert("Introduce los 4 últimos números del código de barras");
		}	
		else checkForm("subeReceta_sql",handleHttpResponseCheckReceta);
		
	}	
	else{
		checkForm("subeReceta_sql",handleHttpResponseCheckReceta);	
	}

}

function checkFormCodigo(){

	if(document.forms.form.numeroTicket.value != ""){
		
		if(document.forms.form.establecimiento.value == "0"){
			alert("Elige el Establecimiento de tu Ticket de Compra");
		}
		else if(document.forms.form.importe.value == ""){
			alert("Introduce el Importe de tu Ticket de Compra");
		}	
		else if(document.forms.form.codigo.value == ""){
			alert("Introduce los 4 últimos números del código de barras");
		}	
		else checkForm("introCodigo_sql",handleHttpResponseCheckCodigo);
		
	}	
	else{
		alert("Introduce el Ticket de compra");
	}

}

function handleHttpResponseCheckCodigo() {

	if (http.readyState == 4) {
		if (http.status == 200) {
			if (http.responseText.indexOf('invalid') == -1) {
				//alert(http.responseText);
				if (http.responseText >= 0){
					if(http.responseText == 0){
						alert("Para esta compra, ya introdujiste este código");
					}else{
						window.location = "subeCodigoOk.php?idReceta="+http.responseText;
					}
				}
				else{
					alert("Tenemos problemas técnicos. Vuelve a intentarlo más tarde"+http.responseText);
				}

			}
		}	
		else alert("Tenemos problemas técnicos. Vuelve a intentarlo más tarde");
		
		enProceso = false;
	}
} 

function handleHttpResponseCheckReceta() {

	if (http.readyState == 4) {
		if (http.status == 200) {
			if (http.responseText.indexOf('invalid') == -1) {
				//alert(http.responseText);
				if (http.responseText >= 0){
					if(http.responseText == 0){
						alert("Para esta compra, ya introdujiste este código");
					}else{
						window.location = "subeRecetaPaso2.php?idReceta="+http.responseText;
					}
				}
				else{
					alert("Tenemos problemas técnicos. Vuelve a intentarlo más tarde"+http.responseText);
				}

			}
		}	
		else alert("Tenemos problemas técnicos. Vuelve a intentarlo más tarde");
		
		enProceso = false;
	}
} 

function votarReceta(receta){
	
	if (!enProceso && http) {
	   
		var url = "votar_sql.php?idReceta="+escape(receta)+"";
		//alert(url);			
		document.getElementById("botonVotar").innerHTML = "<img src='img/def.gif' />";
		
		http.open("GET", url, true);
		http.onreadystatechange = handleHttpResponseVotarReceta;
		enProceso = true;

		http.send(null);

	}		
                    

}

function handleHttpResponseVotarReceta() {
	
	if (http.readyState == 4) {
		if (http.status == 200) {
			if (http.responseText.indexOf('invalid') == -1) {
			 
				document.getElementById("botonVotar").innerHTML = "";
				//alert(http.responseText);
			 
				if (http.responseText == 1){
					window.location.reload();
				}
				else if (http.responseText == 2){
					alert("¡Lo sentimos! Regístrate o conéctate con Facebook para votar.");
				}
				else{
					alert("Tenemos problemas técnicos. Vuelve a intentarlo más tarde");
				}

			}
		}	
		else alert("Tenemos problemas técnicos. Vuelve a intentarlo más tarde");
		
		enProceso = false;		
		
	}
} 


//Funcion de Check Email
function cmail(email){ 
	var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ 
	return email.match(re) 
}

//Funcion AJAX
function getHTTPObject() {
    var xmlhttp;
    /*@cc_on
    @if (@_jscript_version >= 5)
       try {
          xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
       } catch (e) {
          try {
             xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
          } catch (E) { xmlhttp = false; }
       }
    @else
    xmlhttp = false;
    @end @*/
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
       try {
          xmlhttp = new XMLHttpRequest();
       } catch (e) { xmlhttp = false; }
    }
    return xmlhttp;
}

//Funcion Generica de Aceptar Formulario, y pasarlo por AJAX
function checkForm(nombreFichero,handleResponse){

	if (!enProceso && http) {
	   
		carroForm = "";
		for(i=0;i<document.forms.form.elements.length;i++){
			if(document.forms.form.elements[i].type == "checkbox"){
				
				if(escape(document.forms.form.elements[i].checked) == "true") carroForm = carroForm + document.forms.form.elements[i].name + "=1&";
				else carroForm = carroForm + document.forms.form.elements[i].name + "=0&";
				
			}
			else if(document.forms.form.elements[i].type == "radio"){

				if(escape(document.forms.form.elements[i].checked) == "true")  carroForm = carroForm + document.forms.form.elements[i].name + "=" + escape(document.forms.form.elements[i].value) + "&";
			
			}
			else carroForm = carroForm + document.forms.form.elements[i].name + "=" + escape(document.forms.form.elements[i].value) + "&";
		}
	   
		var url = nombreFichero+".php?"+carroForm
		//alert(url);
		
		//document.getElementById("checkDiv").innerHTML = "<img src='img/def.gif' />";
		
		http.open("GET", url, true);
		http.onreadystatechange = handleResponse;
		enProceso = true;

		http.send(null);

	}
	
}

var http = getHTTPObject(); // Creamos el objeto XMLHttpRequest  
var enProceso = false; // lo usamos para ver si hay un proceso activo   	
