//Funcion diferenciaFechas en dias
function diferenciaFechas (miFecha1,miFecha2) {  
   
    //Resta fechas y redondea  
    var diferencia = miFecha1.getTime() - miFecha2.getTime()  
    var dias = Math.floor(diferencia / (1000 * 60 * 60 * 24))  
    var segundos = Math.floor(diferencia / 1000)  
    //alert ('La diferencia es de ' + dias + ' dias,\no ' + segundos + ' segundos.')  
      
    return dias
}  

function rellenarDias(ultimodia){
    //alert(document.forms.form.dia.selectedIndex);
    var diaSeleccionado = (document.forms.form.dia.selectedIndex);
    if (diaSeleccionado == -1) diaSeleccionado = 0;

    document.forms.form.dia.options.length = 0;

    for(i=1;i<=ultimodia;i++){
    
        var elOptNew = document.createElement('option');
        elOptNew.text = i;
        elOptNew.value = i;                                                
    
        try {
        document.forms.form.dia.add(elOptNew, null); // standards compliant; doesn't work in IE
        }
        catch(ex) {
        document.forms.form.dia.add(elOptNew); // IE only
        }                                                                                                
    
    }
    
    if (diaSeleccionado>document.forms.form.dia.options.length) diaSeleccionado = 0;
    else document.forms.form.dia.selectedIndex = diaSeleccionado;
  
}

function rellenarMes(){

    for(i=1;i<=12;i++){
    
        var elOptNew = document.createElement('option');
        elOptNew.text = i;
        elOptNew.value = i;                                                
    
        try {
        document.forms.form.mes.add(elOptNew, null); // standards compliant; doesn't work in IE
        }
        catch(ex) {
        document.forms.form.mes.add(elOptNew); // IE only
        }                                                                                                
    
    }                                            

}

function rellenarAnyosReg(){
    for(i=1900;i<=2011;i++){
    
        var elOptNew = document.createElement('option');
        elOptNew.text = i;
        elOptNew.value = i;
        if(i==1970) elOptNew.selected = true;                                                
    
        try {
        document.forms.form.anyo.add(elOptNew, null); // standards compliant; doesn't work in IE
        }
        catch(ex) {
        document.forms.form.anyo.add(elOptNew); // IE only
        }                                                                                                
    
    }                                            

}

function daysInMonth(month,year) {
	//alert(year);
    var dd = new Date(year, month, 0);
    return dd.getDate();
}                 

function cambiaDias(){
    rellenarDias(daysInMonth(document.forms.form.mes.selectedIndex+1,document.forms.form.anyo.selectedIndex));
}  

//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);
}

function enterEmailEnterKey(e){
    var key;      
    if(window.event)
          key = window.event.keyCode; //IE
    else
          key = e.which; //firefox      

	if(key == 13) checkFormEnterEmail();
	
    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 checkEdad(dia,mes,anio){
	var d = new Date();
	var ok = false;
	if(d.getFullYear()-anio<18){ //menor
		ok = false;
	}
	else{ //major/igual a 18
		if(d.getFullYear()-anio>18){ //major
			ok = true;
		}
		else if((mes==(d.getMonth()+1))&&(dia>d.getDate())){
			ok = false;
		}
		else
			ok = true;
	}

	return ok;

}


function putNaranja(id){
	document.getElementById(id).style.display="inline";
	document.getElementById("naranja").style.display="inline";
	
	var cells = document.getElementsByTagName("select");
	for (var i = 0; i < cells.length; i++) {
		cells[i].style.display="none";
	}
}
function quitarNaranja(id){
	document.getElementById(id).style.display="none";
	document.getElementById("naranja").style.display="none";
	
	var cells = document.getElementsByTagName("select");
	for (var i = 0; i < cells.length; i++) {
		cells[i].style.display="inline";
	}
}
function putRojo(id){
	document.getElementById(id).style.display="inline";
	document.getElementById(id+"input").style.borderColor="Red";
	//document.getElementById("naranja").style.display="inline";
}
function quitarRojo(id){
	document.getElementById(id).style.display="none";
	document.getElementById(id+"input").style.borderColor="#CFCFCF";
	//document.getElementById("naranja").style.display="none";
}

function putRojoTicket(id){
	document.getElementById(id).style.display="inline";
	document.getElementById(id+"input").style.borderColor="Red";
	document.getElementById(id+"input2").style.borderColor="Red";
	document.getElementById(id+"input3").style.borderColor="Red";
}
function quitarRojoTicket(id){
	document.getElementById(id).style.display="none";
	document.getElementById(id+"input").style.borderColor="#CFCFCF";
	document.getElementById(id+"input2").style.borderColor="#CFCFCF";
	document.getElementById(id+"input3").style.borderColor="#CFCFCF";
}

function putRojoHora(id){
	document.getElementById(id).style.display="inline";
	document.getElementById(id+"input").style.borderColor="Red";
	document.getElementById(id+"input2").style.borderColor="Red";
}
function quitarRojoHora(id){
	document.getElementById(id).style.display="none";
	document.getElementById(id+"input").style.borderColor="#CFCFCF";
	document.getElementById(id+"input2").style.borderColor="#CFCFCF";
}







function ebConversion(conversionID, redirURL, targetWin)
{
	try
	{
		var elem = document.createElement("SCRIPT");
		elem.src = "http://bs.serving-sys.com/BurstingPipe/ActivityServer.bs?cn=as&ActivityID=" + conversionID + "&rnd=" + (Math.round(Math.random() * 1000000));
		document.body.appendChild(elem);
		
		if(typeof(redirURL) != "undefined")
		{
			if(typeof(targetWin) == "undefined" || targetWin == "_blank")
			{
				window.open(redirURL);
			}
			else
			{
				
				var redirFunction = function() {document.location.href = redirURL};
				setTimeout(redirFunction, 1000);
			}
		}
	}
	catch(e) {}
}
function checkFormEnterEmail(){
	if(document.forms.form.email.value == ""){
		alert("Por favor, introduce tu E-mail.");
	}	
	else if(!cmail(document.forms.form.email.value)){
		alert("Por favor, introduce un E-mail de forma correcta.");
	}
	else{
		if (!enProceso && http) {
			
			
			
			var url = "registrarEmail_sql.php?email="+escape(document.forms.form.email.value)+"";
			//alert(url);			
			//document.getElementById("checkDiv").innerHTML = "<img src='img/def.gif' />";
			
			http.open("GET", url, true);
			http.onreadystatechange = handleHttpResponseCheckEnterEmail;
			enProceso = true;

			http.send(null);

		}		
	} 
	
}
function handleHttpResponseCheckEnterEmail() {
	
	if (http.readyState == 4) {
		if (http.status == 200) {
			if (http.responseText.indexOf('invalid') == -1) {
				//alert(http.responseText);
				if (http.responseText == 1){
					alert("Muchas gracias, alta realizada correctamente.");
					ebConversion(135212, 'index.php?tag=1', '_self');
					document.forms.form.email.value = "";
				}
				else if (http.responseText == 2){
					alert("Lo sentimos, este email ya ha sido dado de alta.");
					document.forms.form.email.value = "";
				}
				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("Por favor, introduce tu Nombre.");
	}
	else if(document.forms.form.apellido1.value == ""){
		alert("Por favor, introduce tu primer Apellido.");
	}
	else if(document.forms.form.apellido2.value == ""){
		alert("Por favor, introduce tu segundo Apellido.");
	}
	else if(document.forms.form.sexo.value == 0){
		alert("Por favor, introduce tu sexo.");
	}
	else if(!checkEdad(document.forms.form.dia.value,document.forms.form.mes.value,document.forms.form.anyo.value)){
		alert("Para participar tienes que ser mayor de edad.");
	}
	else if(document.forms.form.email.value == ""){
		alert("Por favor, introduce tu E-mail.");
	}	
	else if(!cmail(document.forms.form.email.value)){
		alert("Por favor, introduce un E-mail de forma correcta.");
	}
	else if(document.forms.form.telefono.value == ""){
		alert("Por favor, introduce tu Teléfono.");
	}	
	else if(document.forms.form.telefono.value.length != 9){
		alert("Por favor, introduce tu Teléfono completo.");
	}
	else if((document.forms.form.telefono.value.substring(0,1) != 6)&&(document.forms.form.telefono.value.substring(0,1) != 9)){
		alert("Por favor, introduce tu Teléfono.");
	}
	else if(!document.forms.form.acepto.checked){
		alert("Por favor, acepta la Politica de Privacidad.");
	}
	else{
		checkForm("registroSubirFoto_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="galeriaSubirFoto1OK.php";
				}
				else{
					window.location="galeriaSubirFoto1KO.php";
				}

			}
		}	
		else alert("Tenemos problemas técnicos. Vuelve a intentarlo más tarde");
		
		enProceso = false;
	}
} 

function checkFormRegistroInformacion(){
	if(document.forms.form.nombre.value == ""){
		putNaranja("faltanCampos");//alert("Por favor, introduce tu Nombre.");
	}
	else if(document.forms.form.apellido1.value == ""){
		putNaranja("faltanCampos");//alert("Por favor, introduce tu primer Apellido.");
	}
	else if(document.forms.form.apellido2.value == ""){
		putNaranja("faltanCampos");//alert("Por favor, introduce tu segundo Apellido.");
	}
	else if(document.forms.form.telefono.value == ""){
		putNaranja("faltanCampos");//alert("Por favor, introduce tu Teléfono móvil.");
	}	
	else if(document.forms.form.telefono.value.length != 9){
		putNaranja("faltanCampos");//alert("Por favor, introduce tu Teléfono móvil completo.");
	}
	else if(document.forms.form.telefono.value.substring(0,1) != 6){
		putNaranja("faltanCampos");//alert("Por favor, introduce tu Teléfono móvil.");
	}
	else if(document.forms.form.direccion.value == ""){
		putNaranja("faltanCampos");//alert("Por favor, introduce tu Dirección.");
	}						
	else if(document.forms.form.cp.value == ""){
		putNaranja("faltanCampos");//alert("Por favor, introduce tu Código Postal.");
	}	
	else if(document.forms.form.cp.value.length != 5){
		putNaranja("faltanCampos");//alert("Por favor, introduce tu Código Postal completo.");
	}
	else if((document.forms.form.cp.value.substring(0,2) < 1)||(document.forms.form.cp.value.substring(0,2) > 52)){
		putNaranja("faltanCampos");//alert("Por favor, introduce tu Código Postal correcto.");
	}
	else if(document.forms.form.poblacion.value == ""){
		putNaranja("faltanCampos");//alert("Por favor, introduce tu Municipio.");
	}						
	else if(document.forms.form.provincia.value == 0){
		putNaranja("faltanCampos");//alert("Por favor, introduce tu Provincia.");
	}
	else if(!checkEdad(document.forms.form.dia.value,document.forms.form.mes.value,document.forms.form.anyo.value)){
		putNaranja("faltanCampos");//alert("Para participar tienes que ser mayor de edad.");
	}
	else if(document.forms.form.email.value == ""){
		putNaranja("faltanCampos");//alert("Por favor, introduce tu E-mail.");
	}	
	else if(!cmail(document.forms.form.email.value)){
		putNaranja("faltanCampos");//alert("Por favor, introduce un E-mail de forma correcta.");
	}
	else if(!document.forms.form.acepto.checked){
		putNaranja("faltanCampos");//alert("Por favor, acepta la Politica de Privacidad.");
	}
	else{
		checkForm("registroInformacion_sql",handleHttpResponseCheckRegistroInformacion);
	}

}
function handleHttpResponseCheckRegistroInformacion() {

	if (http.readyState == 4) {
		if (http.status == 200) {
			if (http.responseText.indexOf('invalid') == -1) {
				//alert(http.responseText);
				if (http.responseText == 1){
					alert("Registro ok")
					//putNaranja("okRegistro");
				}
				else if (http.responseText == 3){
					putNaranja("usuarioYaRegistradoEmail");
					document.forms.form.email.value="";
				}
				else if (http.responseText == 4){
					putNaranja("usuarioYaRegistradoTelefono");
					document.forms.form.telefono.value="";
				}
				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 checkFormParticipar(){
	quitarRojo('malCodigo');
	quitarRojoTicket('malTicket');
	quitarRojoHora('malHora');	
	quitarRojo('malCadena');
	quitarRojo('malEstablecimiento');
	var d = new Date();
	

	if(document.forms.form.codigo.value == ""){
		putRojo("malCodigo");
	}
	else if(document.forms.form.codigo.value.length != 8){
		putRojo("malCodigo");
	}
	else if(document.forms.form.cadena.value == 0){
		putRojo("malCadena");
	}
	else if(document.forms.form.establecimiento.value == ""){
		putRojo("malEstablecimiento");
	}
	else if(document.forms.form.anyo.value=="2012"){
		putRojoTicket("malTicket");
	}
	else if(document.forms.form.anyo.value=="2011")
	{
		if(document.forms.form.mes.value-1>d.getMonth()){
			putRojoTicket("malTicket");
		}
		else if((document.forms.form.mes.value-1==d.getMonth())&&(document.forms.form.dia.value>d.getDate())){ //mañana o posterior...
			putRojoTicket("malTicket");
		}
		else if((document.forms.form.mes.value-1==d.getMonth())&&(document.forms.form.dia.value=d.getDate())){ //Hoy
			//alert("Primer: "+(document.forms.form.horaTicket.value>d.getHours())+"; Segon.1: "+(document.forms.form.horaTicket.value==d.getHours())+"; Segon.2: "+(document.forms.form.minutoTicket.value>=d.getMinutes())+";Tot: "+((document.forms.form.horaTicket.value==d.getHours()) && (document.forms.form.minutoTicket.value>=d.getMinutes())));
			
			if((document.forms.form.horaTicket.value>d.getHours())||((document.forms.form.horaTicket.value==d.getHours()) && (document.forms.form.minutoTicket.value>=d.getMinutes())))
				putRojoHora("malHora");
			else
				checkForm("participarActifry_sql",handleHttpResponseCheckParticiparActi);
		}
		else
			checkForm("participarActifry_sql",handleHttpResponseCheckParticiparActi);
	}
	else
		checkForm("participarActifry_sql",handleHttpResponseCheckParticiparActi);
}
function handleHttpResponseCheckParticiparActi() {
	if (http.readyState == 4) {
		if (http.status == 200) {
			if (http.responseText.indexOf('invalid') == -1) {
				//alert(http.responseText);
				if (http.responseText == 1){
					window.location = 'ganadorActifry.asp';
				}
				else if (http.responseText == 2){
					putRojo("malCodigo");
				}
				else if (http.responseText == 4){ //limite diario (5)
					putNaranja("LimiteDiario");
				}
				else if (http.responseText == 5){ //es domingo!
					putNaranja("domingos");
				}
				else if (http.responseText == 6){ //Used code
					document.forms.form.codigo.value="";
					putNaranja("usedCode");
				}
				else if (http.responseText == 7){ //Used code
					document.forms.form.codigo.value="";
					document.forms.form.cadena.value="";
					document.forms.form.establecimiento.value = ""
					putNaranja("noGanador");
				}
				
				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 enviarConsulta(){

	if(document.forms.form.motivo.value == 0){
		alert("Por favor, introduce el motivo de tu consulta.");
	}
	else if(document.forms.form.email.value == ""){
		alert("Por favor, introduce tu E-mail");
	}	
	else if(!cmail(document.forms.form.email.value)){
		alert("Por favor, introduce un e-mail de forma correcta");
	}
	else if(document.forms.form.mens.value == ""){
		alert("Por favor, introduce tu Consulta");
	}
	else if(!document.forms.form.acepto.checked){
		alert("Por favor, tienes que aceptar la política de privacidad.");
	}
	else{
		checkForm("contacto_sql",handleHttpResponseCheckenviarConsulta);	
	}
}

function handleHttpResponseCheckenviarConsulta() {

	if (http.readyState == 4) {
		if (http.status == 200) {
			if (http.responseText.indexOf('invalid') == -1) {
				//alert(http.responseText);
				if (http.responseText == 1){
					alert("Tu consulta a sido enviada correctamente.");
					window.location="home.asp";
				}
				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   	
