var req = createXMLHttpRequest();
var req2 = createXMLHttpRequest();

function createXMLHttpRequest() 
{
	var ua;   
    // Probamos con IE
	
    try
    {
        // Funcionará para JavaScript 5.0
        ua = new ActiveXObject("MSXML2.XMLHTTP.3.0");
    }
    catch(e)
    {
		
        try
        {
           ua = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(oc)
        {  
            ua = null;
        }
    }
 
    // Si no se trataba de un IE, probamos con esto
    if(!ua && typeof XMLHttpRequest != "undefined")
    {
        ua = new XMLHttpRequest();
    }
 
    return ua;
} 
function warning_close_wl(){
}
function clean_warning(){	
}

function delete_row_conected(session_id,no_IE){  
req.open('GET', "/wl3/process/delete_conected_user.php?session_id="+session_id);   
req.send(null);  
if(no_IE == "Firefox"){
   var a = 0;
   for(i=0;i<=1000000000;i++){ a = a + 1;}
}
else{
   for(i=0;i<=100000;i++){ a = a + 1;}	
} 
}
function warning_close_time(){
	var numero=setTimeout("warning_close_wl();",150);
}
function RevisaEmails()
{
	//alert ("revisa emails");
	var c_EmailA = document.wlform.email;
	var c_EmailB = document.wlform.email2;
	var div_EmailA = document.getElementById("d_email");
	var div_EmailB = document.getElementById("d_email2");

	if (emailCorrecto)
	{

		if ((c_EmailA.value != c_EmailB.value) && (c_EmailA.value != "" && c_EmailB.value != ""))
		{
			div_EmailB.className = "falta_dato2";
			c_EmailB.className = "falta_dato1";
			guardarDatos = false;
			
			menerror+="\n  *  The email addresses do not match.  Please retype.";
			varerror=true;
		}
		else
		{
			guardarDatos = true;
		}
	
	}

}

function showAirportOpt(optshow){

   if(optshow == "y")
      document.getElementById("airportdiv").className = "displayBlock";
   else
       document.getElementById("airportdiv").className = "displayNone";
}
function RevisaEmailA()
{
	//alert ("revisa email A");
    var c_EmailB = document.wlform.email2;
	var c_EmailA = document.wlform.email;
	var div_EmailB = document.getElementById("d_email2");
	var c_EmailA = document.wlform.email;
	var div_EmailA = document.getElementById("d_email");
	var validaGrupo = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	var correctEmail = true;
	/*if (c_EmailA.value == "")
	{
		div_EmailA.className = "falta_dato2";
		c_EmailA.className = "falta_dato1";
		emailCorrecto = false;
		guardarDatos = false;
		menerror+="\n  *  Your email address is not a valid one, please review.";
		varerror=true;
		alert("1");
	}
	else
	{
		div_EmailA.className = "";
		c_EmailA.className = "";
		div_EmailA.style.display = "";
		emailCorrecto = true;
		guardarDatos = true;
	}*/


	if (!validaGrupo.test(c_EmailA.value))
	{
		if (c_EmailA.value == "")
		{
			correctEmail = false;
			menerror+="\n  *  Please fill in both email boxes.";
			div_EmailB.className = "falta_dato2";
		    c_EmailB.className = "falta_dato1";
			div_EmailA.className = "falta_dato2";
		    c_EmailA.className = "falta_dato1";			
		}
		else
		{
		menerror+="\n  *  This is not a valid email address.  Please retype.";
		varerror=true;
		
		div_EmailA.className = "falta_dato2";
		c_EmailA.className = "falta_dato1";
		div_EmailB.className = "";
		c_EmailB.className = "";
		div_EmailB.style.display = "";
		emailCorrecto = false;
		guardarDatos = false;
		correctEmail = false;
		}
	}
	else{
		 div_EmailA.className = "";
		  c_EmailA.className = "";
	}
    return correctEmail;
}
function clearErrorDates(c_element, div_element, ckbox){
	 if(ckbox.checked){
	    document.getElementById(c_element).className = "";
	    document.getElementById(div_element).className = "";
	 }
	
}
function RevisaEmailB()
{
	//alert ("revisa email B");
	var c_EmailB = document.wlform.email2;
	var c_EmailA = document.wlform.email;
	var div_EmailB = document.getElementById("d_email2");
	var c_EmailA = document.wlform.email;
	var div_EmailA = document.getElementById("d_email");
	var validaGrupo = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	
	if (c_EmailB.value == "" && c_EmailA.value == "")
	{
		if(c_EmailA.value == "")
		{
			div_EmailA.className = "falta_dato2";
		    c_EmailA.className = "falta_dato1";
		}
		else{
			div_EmailA.className = "";
		    c_EmailA.className = "";
		    div_EmailA.style.display = "";
		}
		div_EmailB.className = "falta_dato2";
		c_EmailB.className = "falta_dato1";
		
		emailCorrecto = false;
		guardarDatos = false;
		
		menerror+="\n  *  Please fill in both email boxes.";
		varerror=true;
	}
	else
	{
		div_EmailB.className = "";
		c_EmailB.className = "";
		div_EmailB.style.display = "";
		emailCorrecto = true;
		guardarDatos = true;
	}


	if (!validaGrupo.test(c_EmailB.value))
	{
		if (c_EmailB.value != "")
		{
			if (c_EmailA.value != "")
			{
				menerror+="\n  *  The email addresses do not match.  Please retype";
				varerror=true;
				
				div_EmailB.className = "falta_dato2";
				c_EmailB.className = "falta_dato1";
				emailCorrecto = false;
				guardarDatos = false;
			}
		}
		else
		{
			if (c_EmailA.value != "")
			{
				menerror+="\n  *  Please retype your email.";
				div_EmailB.className = "falta_dato2";
		c_EmailB.className = "falta_dato1";
				varerror=true;
				
			}
		}
	}

}
function checkLongDate(date){
	var dateChecked = date;
	if(date.indexOf("-") > -1 && date.indexOf("-") <=2 )
	{
	   month = date.substr(0,date.indexOf("-"));
	   date = date.substr(date.indexOf("-") + 1,date.length - 1 );
	}
	else
	   return date;	
	   
	   
	if(date.indexOf("-") > -1 && date.indexOf("-") <= 2){
		day = date.substr(0,date.indexOf("-"));
        date = date.substr(date.indexOf("-") + 1,date.length - 1 );
	     year = date;
	}
	else 
		return date;	
		
	if(day < 10 && day.length == 1){
		day = "0"+day;
    }	
	if(month < 10 && month.length == 1){
		month = "0"+month;
    }	
	date = month +"-"+ day+"-" + year;
	return date;
}
function checkAirports(){
	if(document.getElementById("purtickets").checked == true)
	 if(document.getElementById("HiddenAirport").value == "0")
	    menerror+="\n  *  Please fill which airport will you arrive?.";	
}
function RevisaFechas()
{

	//alert ("revisa fechas");
	var c_arrival = document.getElementById("ardate");
	var c_departure = document.getElementById("dedate");

	var div_arrival = document.getElementById("d_ardate");
	var div_departure = document.getElementById("d_dedate");

	/*SOMA CGM  var*/
	var ch_arrival = document.getElementById("dk_arrival");
	var ch_departure = document.getElementById("dk_dep");

	var startingDate;
	var endingDate;
	
	var goodDate = 1;
	
    fYear = "20" + dateForm.substr(6,2);
	fMonth = dateForm.substr(0,2)-1;
	fDay = dateForm.substr(3,2);
	form_Date_check = new Date(fYear, fMonth, fDay);
	
	/*CGM Soma IF*/

	c_arrival.value = checkLongDate(c_arrival.value);
	c_departure.value = checkLongDate(c_departure.value);

	if(ch_arrival.checked != false){
			div_arrival.className = "";
			c_arrival.className = "";
			guardarDatos = true;	
	}else{
		if(/^(0[1-9]|1[0-2])[-](0[1-9]|[1-2][0-9]|3[0-1])[-](0[8-9]|1[0-9])$/.test(c_arrival.value))
		{
		//mm-dd-yy
	   //012345678
			sYear = "20" + c_arrival.value.substr(6,2);
			sMonth = c_arrival.value.substr(0,2)-1;
			sDay = c_arrival.value.substr(3,2);
			startingDate = new Date(sYear, sMonth, sDay);
			guardarDatos = true;	
			if(startingDate<form_Date_check)
			{
				menerror+="\n  * We are sorry, we can only arrange travel to the future, we cannot arrange travel to the past.";
				div_arrival.className = "falta_dato2";
			    c_arrival.className = "falta_dato1";
			return ;
			}
			else{
			   div_arrival.className = "";
			    c_arrival.className = "";
			}
		}
		else
		{
			div_arrival.className = "falta_dato2";
			c_arrival.className = "falta_dato1";
			guardarDatos = false;	
			
			menerror+="\n  *  Please use a valid arrival date.";
			varerror=true;
			goodDate = 0;
		}
	}
		
		/*CGM Soma IF*/
	if (ch_departure.checked != false){
		div_departure.className = "";
			c_departure.className = "";
			guardarDatos = true;	
		}else{
		if(/^(0[1-9]|1[0-2])[-](0[1-9]|[1-2][0-9]|3[0-1])[-](0[8-9]|1[0-9])$/.test(c_departure.value))
		{
			sYear = "20" + c_departure.value.substr(6,2);
			sMonth = c_departure.value.substr(0,2)-1;
			sDay = c_departure.value.substr(3,2);
			endingDate = new Date(sYear, sMonth, sDay);
			guardarDatos = true;	
			if(endingDate<form_Date_check)
			{
				menerror+="\n  * We are sorry, we can only arrange travel to the future, we cannot arrange travel to the past.";
				div_departure.className = "falta_dato2";
			    c_departure.className = "falta_dato1";
			return ;
			}
			else{
				div_departure.className = "";
			    c_departure.className = "";
			}
			}
			else
			{
			div_departure.className = "falta_dato2";
			c_departure.className = "falta_dato1";
			guardarDatos = false;	
			
			menerror+="\n  *  Please use a valid departure date.";
			varerror=true;
			goodDate = 0;
			}

		
		if ((startingDate > endingDate) && goodDate == 1)
		{
			//alert ("Arrival date must be before Departure Date");
			div_arrival.className = "falta_dato2";
			c_arrival.className = "falta_dato1";
			div_departure.className = "falta_dato2";
			c_departure.className = "falta_dato1";
			
			guardarDatos = false;	
			
			menerror+="\n  *  We are sorry, not even Costa Rica Expeditions can arrange time travel. The departure date must be after the arrival date.";
			varerror=true;
		}
		else
		{
		   if(goodDate == 1){
		      div_departure.className = "";
		      c_departure.className = "";
			  div_arrival.className = "";
			  c_arrival.className = "";
		      guardarDatos = true;	
		   }
		}
		}
	
		
		
	
	
	
}

function isDate(dateStr) 
{
	var datePat = /^(0[1-9]|1[0-2])[-](0[1-9]|[1-2][0-9]|3[0-1])[-]0[8-9]$/;
	var matchArray = dateStr.match(datePat); // is the format ok?
	month = matchArray[1]; // p@rse date into variables
	day = matchArray[3];
	year = matchArray[5];
	givealert=false;
	alertmsg="";

	if (month < 1 || month > 12) 
	{
		// check month range
		alertmsg="Month must be between 1 and 12.\n";
		givealert=true;
		//return false;
	}

	if (day < 1 || day > 31) 
	{
		alertmsg="Day must be between 1 and 31.\n";
		givealert=true;
		//return false;
	}

	if ((month==4 || month==6 || month==9 || month==11) && day==31) 
	{
		alertmsg="Month "+month+" doesn`t have 31 days!\n";
		givealert=true;
		//return false;
	}

	if (month == 2) 
	{
	// check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day > 29 || (day==29 && !isleap)) 
		{
			alertmsg="February " + year + " doesn`t have " + day + " days!\n";
			givealert=true;
			//return false;
		}
	}
	if(givealert)
	{
		alert(alertmsg);
		return false;
	}
	else
	{
		return true; // date is valid
	}
}

function RevisaArrival()
{
	var c_arrival = document.wlform.ardate;
	var div_arrival = document.getElementById("d_ardate");
	var ck_arrival = document.wlform.dk_arrival;
//dk_dep	
	if (c_arrival.value == "" && !ck_arrival.checked)
	{
		div_arrival.className = "falta_dato2";
		c_arrival.className = "falta_dato1";
		fechaCorrecta = false;
		guardarDatos = false;
		menerror+="\n  *  We are sorry, we can only arrange travel to the future, we cannot arrange travel to the past. ";
		varerror=true;
	}
	else
	{
		div_arrival.className = "";
		c_arrival.className = "";
		div_arrival.style.display = "";
		fechaCorrecta = true;
		guardarDatos = true;
	}
	
	var validaGrupo = /^(0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])[-]0[890]$/;
	if (!validaGrupo.test(c_arrival.value))
	{
		if (c_arrival.value == "")
		{
			menerror+="\n  *  Please use a valid arrival date.";
		}
		else
		{
		//alert ("Arrival Date is not valid! Check again please!");
		div_Arrival.className = "falta_dato2";
		c_Arrival.className = "falta_dato1";
		fechaCorrecta = false;
		guardarDatos = false;
		menerror+="\n  *  We are sorry, we can only arrange travel to the future, we cannot arrange travel to the past. ";
		varerror=true;
		}
	}
}

function RevisaDeparture()
{
	var c_departure = document.wlform.dedate;
	var div_departure = document.getElementById("d_dedate");
	var ck_departure = document.wlform.dk_dep;

	if (c_departure.value == "" && !ck_departure.checked)
	{
		div_departure.className = "falta_dato2";
		c_departure.className = "falta_dato1";
		fechaCorrecta = false;
		guardarDatos = false;
		menerror+="\n  *  We are sorry, not even Costa Rica Expeditions can arrange time travel. The departure date must\n     be after the arrival date.";
		varerror=true;
	}
	else
	{
		div_departure.className = "";
		c_departure.className = "";
		div_departure.style.display = "";
		fechaCorrecta = true;
		guardarDatos = true;
	}
	
	var validaGrupo = /^(0[1-9]|1[012])[-](0[1-9]|[12][0-9]|3[01])[-]0[890]$/;
	if (!validaGrupo.test(c_departure.value))
	{
		if (c_departure.value == "")
		{}
		else
		{
		//alert ("Departure Date is not valid! Check again please!");
		//div_Departure.className = "falta_dato2";
		document.getElementById("dedate").className = "falta_dato1";
		fechaCorrecta = false;
		guardarDatos = false;
		menerror+="\n  *  We are sorry, not even Costa Rica Expeditions can arrange time travel. The departure date must\n     be after the arrival date.";
		varerror=true;
		}
	}
}




function RevisaEdades()
{
	var c_edades = document.wlform.grchilddet;
	var c_ninos = document.wlform.grchildren;
	var c_adultos = document.wlform.gradult;
	
	var div_edades = document.getElementById("d_grchilddet");
	var div_adultos = document.getElementById("d_gradult");;
	var div_children = document.getElementById("d_grchildren");;
	
	if(c_adultos.value==0 && c_ninos.value == 0)
	{
		div_adultos.className = "falta_dato2";
		div_edades.className = "falta_dato2";
		div_children.className = "falta_dato2";
		
		div_adultos.innerHTML = "*";
		div_edades.innerHTML = "*";
		div_children.innerHTML = "*";
		
		c_adultos.className = "falta_dato1";
		c_edades.className = "falta_dato1";
		c_ninos.className = "falta_dato1";
		
		guardarDatos = false;		
		
		menerror+="\n  *  Please enter the number of travelers for your trip.";
		varerror=true;
	}
	
	else if(c_edades.value == "" && c_ninos.value != 0)
	{
		div_edades.className = "falta_dato2";
		div_adultos.className = "";
		div_children.className = "falta_dato2";
		
		div_edades.innerHTML = "*";
		div_adultos.innerHTML = "";
		div_children.innerHTML = "*";
		
		c_edades.className = "falta_dato1";
		c_adultos.className = "";
		c_ninos.className = "falta_dato1";
		
		guardarDatos = false;
		
		menerror+="\n  *  If you tell us the ages of your children we will make sure to plan fun activities for them while on vacation.";
		varerror=true;
		
	}
	else 
	{
		div_edades.className = "";
		div_adultos.className = "";
		div_children.className = "";
		
		c_edades.className = "";
		c_ninos.className = "";
		c_adultos.className = "";
		
		div_edades.style.display = "";
		div_adultos.style.display = "";
		div_children.style.display = "";
		
		div_edades.innerHTML = "";
		div_adultos.innerHTML = "";
		div_children.innerHTML = "";
		varerror=false;
		guardarDatos = true;
		
	}
	
}

function RevisaNombre()
{

	var validaNombre = /^[a-z+\s+A-Z]+$/;
	var validaNombreTieneNumero = /^[0-9]+$/;
	//var validaNombre = /^([a-zA-Z]+\s)+[a-zA-Z]+$/;

	var c_nombre = document.wlform.name_cli;
	var div_nombre = document.getElementById("d_name_cli");
	if ( (c_nombre.value == "") || (!validaNombre.test(c_nombre.value)) )
	{
		div_nombre.className = "falta_dato2";
		c_nombre.className = "falta_dato1";
		guardarDatos = false;
		//alert ("Please write your full name using only alphabetic characters.");
		if(!validaNombreTieneNumero.test(c_nombre.value)){
		menerror+="\n  *  We would really like to know your full name.";
		}else{
		menerror+="\n  *  Please write your name using alphabetical characters.";
		}
		varerror=true;
	}
	else
	{
		div_nombre.className = "";
		c_nombre.className = "";
		div_nombre.style.display = "";
		varerror=false;
		guardarDatos = true;
	}


}

function RevisaReferer()
{	
	//alert ("revisa referer");
	var c_referer = document.getElementById("reference");	
	var c_refhidden = document.getElementById("refhidden");
	var c_refhidden2 = document.getElementById("refhidden2");
	var div_referer = document.getElementById("d_referer");
	//Soma CGM segundo select var
	var valorInicial = c_referer.options[c_referer.selectedIndex].value;
		
	if(valorInicial != "none"){			
			div_referer.className = "";		
			div_referer.style.display = "";
			c_referer.className = "";
			guardarDatos = true;			
		}else{
			div_referer.className = "falta_dato2";
			c_referer.className = "falta_dato1";
			guardarDatos = false;
			menerror+="\n  *  Please tell us how you heard about us.";
			varerror=true;
		}
}
/*Codigo CGM JD*/

function fecha1()
{			
	if (document.getElementById("dk_arrival").checked == true)
	//Quite este ó JoseDaniel ||(document.getElementById("dk_dep").checked == true) )
	{
		document.getElementById("dk_arrival").checked = true;
		//Quite esta linea para que solo desabilite el campo de arrival document.getElementById("dk_dep").checked = true;
		document.getElementById("ardate").value = "";
		document.getElementById("ardate").disabled = true; //Agregue esta línea para desabilitar el campo al seleccionar el check JoseDaniel
		document.getElementById("ca1").style.display = "none"; 
		//Quite esta linea para que solo desabilite el campo de arrival document.getElementById("dedate").disabled = true; //Agregue esta línea para desabilitar el campo de departure al seleccionar el check JoseDaniel
		//Quite esta linea para que solo desabilite el campo de arrival document.getElementById("dedate").value = "";
		//Quite esta linea para que solo desabilite el campo de arrival document.getElementById("ca2").style.display = "none"; 

	}
	else
	{			
		document.getElementById("ca1").style.display = "";
		//Quite esta linea para que solo desabilite el campo de arrival document.getElementById("ca2").style.display = ""; 
		//Quite esta linea para que solo desabilite el campo de arrival document.getElementById("dk_dep").checked = false;//Agregue esta Linea JoseDaniel
		document.getElementById("ardate").disabled = false; //Agregue esta línea para habilitar el campo al deseleccionar el check JoseDaniel
		//Quite esta linea para que solo desabilite el campo de arrival document.getElementById("dedate").disabled = false; //Agregue esta línea para habilitar el campo de departure al deseleccionar el check JoseDaniel

	}	
}
			
function fecha2()
{			
	if (document.getElementById("dk_dep").checked == true)
	{
		document.getElementById("dedate").value = "";
		ID = document.getElementById("ca2"); 
		ID.style.display = "none";
		document.getElementById("dedate").disabled = true; //Agregue esta línea para desabilitar el campo al seleccionar el check JoseDaniel

	}
	else
	{				
		ID = document.getElementById("ca2"); 
		ID.style.display = ""; 
		document.getElementById("dedate").disabled = false; //Agregue esta línea para habilitar el campo al deseleccionar el check JoseDaniel

	}
}



/*Aquitamos esto para trabajar cada calendario por separado.
function fecha1()
{			
	if ((document.getElementById("dk_arrival").checked == true)||(document.getElementById("dk_dep").checked == true) )
	{
		document.getElementById("dk_arrival").checked = true;
		document.getElementById("dk_dep").checked = true;
		document.getElementById("ardate").value = "";
		document.getElementById("ca1").style.display = "none"; 
		
		//document.getElementById("dedate").value = "";
		//document.getElementById("ca2").style.display = "none"; 
	}
	else
	{			
		document.getElementById("ca1").style.display = "";
		//document.getElementById("ca2").style.display = "";  
	}	
}
			
function fecha2()
{			
	if (document.getElementById("dk_dep").checked == true)
	{
		document.getElementById("dedate").value = "";
		ID = document.getElementById("ca2"); 
		ID.style.display = "none"; 
	}
	else
	{				
		ID = document.getElementById("ca2"); 
		ID.style.display = ""; 
	}
}
*/
function removeCheck1(valor)
{
	valor.checked=false;
	valor.value=0;
	ID = document.getElementById("ca1"); 
	ID.style.display = ""; 
	document.wlform.ardate.value = "";
}

function removeCheck2(valor)
{
	valor.checked=false;
	valor.value=0;
	ID = document.getElementById("ca2"); 
	ID.style.display = ""; 
	document.wlform.dedate.value = "";
}