//================================================================================
//========added for AlicanteAirportTransfer by Irina on 13 may 2009
//===============================================================================
function calcprice(rate, mes_price_in_confirmation_select, get_shuttle)
{
	f = document.book;

	if(f.one_way_1[0].checked)
	{
		//one way private rental
		f.price_private.value = f.price_private_one_way.value;
		document.getElementById("id_price_private").innerHTML = get_currency_price(f.price_private.value, rate, mes_price_in_confirmation_select);

	}
	if(f.one_way_1[1].checked)
	{
		//two ways private rental
		f.price_private.value = f.price_private_one_way.value * 2;
		document.getElementById("id_price_private").innerHTML = get_currency_price(f.price_private.value, rate, mes_price_in_confirmation_select);
	}

	if(get_shuttle == 1)
	{
		if(f.one_way_2[0].checked)
		{
			//one way shuttle rental
			f.price_shuttle.value = f.price_shuttle_one_way.value;
			document.getElementById("id_price_shuttle").innerHTML = get_currency_price(f.price_shuttle.value, rate, mes_price_in_confirmation_select);
		}
		if(f.one_way_2[1].checked)
		{
			//two ways shuttle rental
			f.price_shuttle.value = f.price_shuttle_one_way.value * 2;
			document.getElementById("id_price_shuttle").innerHTML = get_currency_price(f.price_shuttle.value, rate, mes_price_in_confirmation_select);
		}
	}
}

function get_currency_price(price, rate, mes_price_in_confirmation_select)
{
	f = document.book;
	if(f.current_currency.value == 'gbp')
	{
		rez_price = Math.round((price / rate)) + ' &pound;';
	}
	else
	{
		rez_price = price + ' &euro;';
	}

	if((rez_price == '0 &euro;') || (rez_price == '0 &pound;'))
	{
		rez_price = mes_price_in_confirmation_select;
	}
	return rez_price;
}

//==========================================================================
function change_currency(rate)
{
	f = document.book;
	if(f.price_private.value > 0)
	{
		if((f.currency.value == 'gbp' || f.currency_person.value == 'gbp') && f.current_currency.value == 'euro')
		{
			document.getElementById("id_price_private").innerHTML = Math.round((f.price_private.value / rate)) + ' &pound;';
			document.getElementById("id_price_private_per_person").innerHTML = Math.round((f.price_private_per_person.value / rate)) + ' &pound;';

			//if(document.getElementById("id_price_shuttle").innerHTML != "")
			//===modified by Irina on 12 October 2009================
			if(f.price_shuttle.value > 0)
			{
				document.getElementById("id_price_shuttle").innerHTML = Math.round((f.price_shuttle.value / rate)) + ' &pound;';
				document.getElementById("id_price_shuttle_per_person").innerHTML = Math.round((f.price_shuttle_per_person.value / rate)) + ' &pound;';
			}

			f.current_currency.value = 'gbp';
			f.currency_person.value = 'euro';
			f.currency_person.options[1].selected = true;
			f.currency.value = 'euro';
			f.currency.options[1].selected = true;
		}

		if((f.currency.value == 'euro' || f.currency_person.value == 'euro') && f.current_currency.value == 'gbp')
		{
			document.getElementById("id_price_private").innerHTML = f.price_private.value + ' &euro;';
			document.getElementById("id_price_private_per_person").innerHTML = f.price_private_per_person.value + ' &euro;';
			//if(document.getElementById("id_price_shuttle").innerHTML != "")
			//===modified by Irina on 12 October 2009================
			if(f.price_shuttle.value > 0)
			{
				document.getElementById("id_price_shuttle").innerHTML = f.price_shuttle.value + ' &euro;';
				document.getElementById("id_price_shuttle_per_person").innerHTML = f.price_shuttle_per_person.value + ' &euro;';
			}

			f.current_currency.value = 'euro';
			f.currency_person.value = 'gbp';
			f.currency_person.options[0].selected = true;
			f.currency.value = 'gbp';
			f.currency.options[0].selected = true;
		}	
	}
	else
	{
		if(f.currency.value == 'gbp')
		{
			f.currency.value = 'euro';
			f.currency.options[0].selected = true;
			f.currency_person.value = 'euro';
			f.currency_person.options[0].selected = true;
		}
	}
	return true;
}


function emailck(field, alert_str)
{
	var str = field.value;
	//alert(str);
	if (window.RegExp) {
		var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
		var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$";
		var reg1 = new RegExp(reg1str);
		var reg2 = new RegExp(reg2str);
		if (!reg1.test(str) && reg2.test(str)) {
			return true;
		}
		if(alert_str.length>0)
			alert(alert_str);
		field.select();
		return false;
	} else {
		if(str.indexOf("@") >= 0)
		{
			return true;
		}
		if(alert_str.length>0)
			alert(alert_str);
		field.select();
		return false;
	}
}

function isDate(dtStr, mes1, mes2, mes3){
				var myRegex = new RegExp("^([0-2][0-9]|[3][0-1])\/([0][0-9]|[1][0-2])\/[0-9]{4}$");
				var myRegex2 = new RegExp("^([0-2][0-9]|[3][0-1])\.([0][0-9]|[1][0-2])\.[0-9]{4}$");
				if ( (dtStr.match(myRegex)) || (dtStr.match(myRegex2)) )
					{//valid date format, check for valid date dd/mm/yyyy
					var theDay = Math.round(dtStr.substr(0,2));
					var theMonth = Math.round(dtStr.substr(3,2));
					var theYear = Math.round(dtStr.substr(6,4));
					
					if (theYear< 2005) {
						alert (mes1);
						return false;
						}
					else if ((theYear%4 == 0) && (theDay > 29) && (theMonth == 2)) {
						alert (mes2);
						return false;
						}
					else if ((theYear%4 != 0) && (theDay > 28) && (theMonth == 2)) {
						alert (mes2);
						return false;
						}
					else if ((theDay > 30) && ((theMonth == 0) || (theMonth == 4) || (theMonth == 6) || (theMonth == 9) || (theMonth == 11) )) {
						alert (mes2);
						return false;
						}
					else {
						return true;
						}
					}
				else
					{
					alert (mes3);
					return false;
					}
				
			
			}	


function dateisNotPossible(day,month,year, mes5, user_type) 
{
	if(user_type == 'user')
	{
		//=====for all the usual users=====================
		var datePoss = new Date();
		datePoss.setTime(datePoss.getTime() + 2*(1000*3600*24));
	}
	else
	{
		//======for EwebInfoPRO users========
		var datePoss = new Date().valueOf();
	}
	
	
	var dateReal = new Date();
	dateReal.setMonth(Number(month) - 1);
	dateReal.setYear(parseInt(year));
	dateReal.setDate(Number(day));

	if (dateReal.valueOf() < datePoss) {
		alert(mes5+day+"-"+month+"-"+year);
		return false;
	}
	return true;
}


function checkmyDates(day1,day2,month1,month2,year1,year2, mes4) {
			
		if (parseFloat(year1) > parseFloat(year2)) 
		{
			alert(mes4);
			return false;
		}
		if (parseFloat(year1) == parseFloat(year2)) 
		{
			if (parseFloat(month1) > parseFloat(month2)) 
			{
				alert(mes4);
 				return false;
			}
			if (parseFloat(month1) == parseFloat(month2)) 
			{
				if (parseFloat(day1) > parseFloat(day2)) 
				{
					alert(mes4);
					return false;
				}
			}
		}
	return true;
	}		


function checkmyDates_ajax(pickup, dropoff) 
{
	var date1String = pickup;
	var day1    = date1String.substr(0,2);
	var month1  = date1String.substr(3,2);
	var year1   = date1String.substr(6,4);

	var date2String = dropoff;
	var day2    = date2String.substr(0,2);
	var month2  = date2String.substr(3,2);
	var year2   = date2String.substr(6,4);
		
	if (parseFloat(year1) > parseFloat(year2)) {
		return false;
	}
	if (parseFloat(year1) == parseFloat(year2)) {
		if (parseFloat(month1) > parseFloat(month2)) {
			return false;
		}
		if (parseFloat(month1) == parseFloat(month2)) {
			if (parseFloat(day1) > parseFloat(day2)) {
				return false;
			}
			if (parseFloat(day1) == parseFloat(day2)) {
				return false;
			}
		}
	}
	return true;
}		

//====this function validates the transfer dates 
function valid_transfer_dates(f, form_name, err1, err2, err3, err4, mes1, mes2, mes3, mes4, mes5, date_format, user_type)
{
	//alert("val = "+f.transferdate1.value);
	var date1String = f.transferdate1.value;
	var day1    = date1String.substr(0,2);
	var month1  = date1String.substr(3,2);
	var year1   = date1String.substr(6,4);

	f.checktwo2.value==1;
		
	if ((date1String==date_format) || (date1String=='')) 
				{
				alert(err2);
				f.transferdate1.value='';
				f.transferdate1.focus();
				return false;
				}
				
	if (isDate(date1String, mes1, mes2, mes3)==false) { f.transferdate1.focus(); return false; }
				
	if (dateisNotPossible(day1,month1,year1, mes5, user_type)==false) { f.transferdate1.focus(); return false; }			
		
	//we are in step 3
	if(form_name == 'book')
	{
		if (f.checktwo.value == 2) 
		{
			f.checktwo2.value==2;
			if (f.depart2.value==0) {
				alert(err3);
				f.depart2.focus();return false;
			}
			
			if (f.dest2.value==0) { 
				alert(err1);
				f.dest2.focus();return false;
				
			}	
			
			if ((f.transferdate2.value==date_format) || (f.transferdate2.value=='')) 
					{
					alert(err4);
					f.transferdate2.value='';
					f.transferdate2.focus();
					return false;
					}	
			
			if (isDate(f.transferdate2.value, mes1, mes2, mes3)==false) {
					f.transferdate2.focus(); return false;
					}
			
			var date2String = f.transferdate2.value;
			var day2    = date2String.substr(0,2);
			var month2  = date2String.substr(3,2);
			var year2   = date2String.substr(6,4);
			
			if (!checkmyDates(day1,day2,month1,month2,year1,year2, mes4)) {f.transferdate2.focus(); return false;}
		 }
	}
	else
	{
		//we are in step 1
		if (f.checktwo[1].checked) 
		{
			f.checktwo2.value==2;
			if (f.depart2.value==0) {
				alert(err3);
				f.depart2.focus();return false;
			}
			
			if (f.dest2.value==0) { 
				alert(err1);
				f.dest2.focus();return false;
				
			}	
			
			if ((f.transferdate2.value==date_format) || (f.transferdate2.value=='')) 
					{
					alert(err4);
					f.transferdate2.value='';
					f.transferdate2.focus();
					return false;
					}	
			
			if (isDate(f.transferdate2.value, mes1, mes2, mes3)==false) {
					f.transferdate2.focus(); return false;
					}
			
			var date2String = f.transferdate2.value;
			var day2    = date2String.substr(0,2);
			var month2  = date2String.substr(3,2);
			var year2   = date2String.substr(6,4);
			if (!checkmyDates(day1,day2,month1,month2,year1,year2, mes4)) {f.transferdate2.focus(); return false;}
		 }
	
	}

	
	 return true;
  
}


function valid(err1, err2, err3, err4, err5, mes1, mes2, mes3, mes4, mes5, mes_valid_email, date_format, user_type) 
{

	if (document.calctransfer.dest1.value==0) 
	{ 
		alert(err1);
		document.calctransfer.dest1.focus();return false;
	}

	if(!valid_transfer_dates(document.calctransfer, 'calctransfer', err1, err2, err3, err4, mes1, mes2, mes3, mes4, mes5, date_format, user_type))
	{
		document.calctransfer.transferdate1.focus();
		return false;
	}
			
	document.calctransfer.dest1display.value = document.calctransfer.dest1.options[document.calctransfer.dest1.selectedIndex].text;
	document.calctransfer.depart1display.value = document.calctransfer.depart1.options[document.calctransfer.depart1.selectedIndex].text;
	
	document.calctransfer.dest2display.value = document.calctransfer.dest2.options[document.calctransfer.dest2.selectedIndex].text;
	document.calctransfer.depart2display.value = document.calctransfer.depart2.options[document.calctransfer.depart2.selectedIndex].text;
	
	document.calctransfer.submit();
	return true;

}


function calcpret(myairport, mes1, mes2, mes3){
	//check my airport

	var mychecktwo = 0;
	if (document.calctransfer.checktwo[0].checked) { mychecktwo = 1; document.calctransfer.checktwo2.value=1; } //one way
	if (document.calctransfer.checktwo[1].checked) { mychecktwo = 2; document.calctransfer.checktwo2.value=2; } //two ways
	var pers = document.calctransfer.persnum.value;
	var addr1 = document.calctransfer.depart1.value; 
	var addr2 = document.calctransfer.dest1.value; 
	var addr3 = document.calctransfer.depart2.value; 
	var addr4 = document.calctransfer.dest2.value; 


	var addr1txt = document.calctransfer.depart1.value;
	var addr2txt = document.calctransfer.dest1.value;
	var addr3txt = document.calctransfer.depart2.value;
	var addr4txt = document.calctransfer.dest2.value;
	
	if ((addr1txt!=myairport) && (addr2==0)) {return false;}
	if (addr2==0) 
	{
		alert(mes1); 
		document.calctransfer.dest1.selectedIndex=0; 
		document.calctransfer.dest1.focus(); 
		return false;
	}

	if (addr1txt==addr2txt) 
	{
		document.calctransfer.dest1.selectedIndex=0; 
		alert(mes2); 
		return false;
	}

	/*if ((addr1txt!=myairport) && (addr2txt!=myairport)) 
	{
		alert(mes3); 
		return false;
	}*/
	
	if (mychecktwo == 2) 
	{
		if ((addr3txt!=myairport) && (addr4==0)) 
		{
			return false;
		}

		if (addr4==0) 
		{
			alert(mes1); 
			document.calctransfer.dest2.selectedIndex=0; 
			document.calctransfer.dest2.focus(); 
			return false;
		}
			
		if (addr3txt==addr4txt) 
		{
			document.calctransfer.dest2.selectedIndex=0; 
			alert(mes2); 
			return false;
		}
			
		/*if ((addr3txt!=myairport) && (addr4txt!=myairport)) 
		{
			alert(mes3); 
			return false;
		}*/
	}

	var pickup = document.calctransfer.transferdate1.value;
	var dropoff = document.calctransfer.transferdate2.value;
	
	var current_date=new Date();
	var current_month = current_date.getMonth() + 1;
	var current_year = current_date.getFullYear();
	var current_day = current_date.getDate();
	var draw_current_date = current_day+'/'+current_month+'/'+current_year;
}

function return_btn(myairport, mes1, mes2, mes3) {
if (document.calctransfer.checktwo[1].checked) { //two ways
	document.calctransfer.dest2.selectedIndex=document.calctransfer.depart1.selectedIndex+1;
    document.calctransfer.depart2.selectedIndex=document.calctransfer.dest1.selectedIndex; calcpret(myairport, mes1, mes2, mes3);
	}
	else
	{
	document.calctransfer.depart2.selectedIndex=0;document.calctransfer.dest2.selectedIndex=0;
	calcpret(myairport, mes1, mes2, mes3);
	}
}

function return_change(myairport, mes, mes1, mes2, mes3) {

if (document.calctransfer.checktwo[1].checked==false) 
	{ 	alert(mes); 
		document.calctransfer.depart2.selectedIndex=0;
		document.calctransfer.dest2.selectedIndex=0;
	}
calcpret(myairport, mes1, mes2, mes3);
}


//===========check the fields in the contact form=================
function check_contact()
{
	var ttok = true;	

	var err1 = document.sendemail.err1.value;
	var err2 = document.sendemail.err2.value;
	var err3 = document.sendemail.err3.value;
	var err4 = document.sendemail.err4.value;
	var valid_email = document.sendemail.valid_email.value;
	var security_code = document.sendemail.security_code.value;
		
		if  ((ttok == true) && (document.sendemail.fullname.value=='' || document.sendemail.fullname.value.length<5)) {
			alert(err1);
			document.sendemail.fullname.focus();
			ttok = false;
		}

		if ((ttok == true) && document.sendemail.email.value=='') {
			alert(err2);
			document.sendemail.email.focus();
			ttok = false;
		}
		else if(ttok == true)
		{ ttok = ttok = emailck(document.sendemail.email, valid_email);}
		
		
		if  ((ttok == true) && (document.sendemail.mysubject.value=='' || document.sendemail.mysubject.value.length<5)) {
			alert(err3);
			document.sendemail.mysubject.focus();
			ttok = false;
		}

		
		if  ((ttok == true) && (document.sendemail.mymessage.value=='' || document.sendemail.mymessage.value.length<5)) {
			alert(err4);
			document.sendemail.mymessage.focus();
			ttok = false;
		}

		if((ttok == true) && (document.sendemail.img_check.value == ""))
		{
			alert(security_code);
			document.sendemail.img_check.focus();
			ttok = false;
		}

		
		if  (ttok == true) {document.sendemail.submit();}
			else
			{ return false; }
	
}




//====added for alicanteairporttransfers on 26 March 2009=====================
function change_transfer_type()
{
	f = document.calctransfer;


	if(f.transfer_type[0].checked === true)
	{
		//private transfers is selected
		document.getElementById('id_span_private').className = "grey_text_big_sel";
		document.getElementById('id_span_shuttle').className = "grey_text_big";
	}
	else
	{
		//shuttle transfers is selected
		document.getElementById('id_span_shuttle').className = "grey_text_big_sel";
		document.getElementById('id_span_private').className = "grey_text_big";
	}
}

//=====validate the personal data in alicante_book_personal.php=================================================
function valid_book(mes1, mes2, mes3, mes4, mes5, mes6, mes7, mes8, mes9, company_airport, err1, err2, err3, err4, mes10, mes11, mes12, mes13, mes14, mes15, date_format, user_type)
{
	if(document.book.existing_client.value == 'no')
	{
		if (!emailck(document.book.email, mes15)) 
		{
			return false;
		}
		if (document.book.fname.value=='') { 
			alert(mes1);
			document.book.fname.focus(); return false;
			}
		if (document.book.lname.value=='') { 
			alert(mes2);
			document.book.lname.focus(); return false;
			}
		if (document.book.country.selectedIndex == 0) { 
			alert(mes3);
			document.book.country.focus(); return false;
			}
		if (document.book.phone.value=='') { 
			alert(mes4);
			document.book.phone.focus(); return false;
			}
		if (document.book.mobile.value=='') { 
			alert(mes5);
			document.book.mobile.focus(); return false;
			}
	}
	
	if(!valid_transfer_dates(document.book, 'book', err1, err2, err3, err4, mes10, mes11, mes12, mes13, mes14, date_format, user_type))
	{
		document.book.transferdate1.focus();
		return false;
	}

	if(document.book.depart1.value != company_airport)
	{
		if(!document.book.adress1from.value)
		{
			alert(mes6);
			document.book.adress1from.focus(); return false;
		}
	}

	if(document.book.dest1.value != company_airport)
	{
		if(!document.book.adress2to.value)
		{
			alert(mes6);
			document.book.adress2to.focus(); return false;
		}
	}

	if(document.book.checktwo.value == 2)
	{
		if(document.book.depart2.value != company_airport)
		{
			if(!document.book.adress3from.value)
			{
				alert(mes6);
				document.book.adress3from.focus(); return false;
			}
		}

		if(document.book.dest2.value != company_airport)
		{
			if(!document.book.adress4to.value)
			{
				alert(mes6);
				document.book.adress4to.focus(); return false;
			}
		}
	}

	if(document.book.show_arrival_flight.value == 1)
	{
		if(!document.book.arflightnr.value)
		{
			alert(mes7);
			document.book.arflightnr.focus(); return false;
		}
	}

	if(document.book.show_departure_flight.value == 1)
	{
		if(!document.book.depflightnr.value)
		{
			alert(mes8);
			document.book.depflightnr.focus(); return false;
		}
	}

	if  (document.book.booking_agreement.checked==false) 
	{
		alert(mes9);
		document.book.booking_agreement.focus();
		return false;
	}	
	document.book.submit();
	return true;

}

function book_select(myairport, mes3)
{
	f = document.book;
	var mychecktwo = f.checktwo.value;
	var addr1 = f.depart1.value; 
	var addr2 = f.dest1.value; 
	var addr3 = f.depart2.value; 
	var addr4 = f.dest2.value; 


	var addr1txt = f.depart1.value;
	var addr2txt = f.dest1.value;
	var addr3txt = f.depart2.value;
	var addr4txt = f.dest2.value;

	if ((addr1txt!=myairport) && (addr2txt!=myairport)) 
	{
		alert(mes3); 
		return false;
	}

	if (mychecktwo == 2) 
	{
		if ((addr3txt!=myairport) && (addr4txt!=myairport)) 
		{
			alert(mes3); 
			return false;
		}
	}
}
