var XmlHttpObj_2;
var mycity;
var fullURL = 'http://www.world-airport-transfer.com/';
function CreateXmlHttpObj( ){
    try{
        XmlHttpObj_2 = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch( e ){
        try{
            XmlHttpObj_2 = new ActiveXObject("Microsoft.XMLHTTP");
        } 
        catch( oc ){
            XmlHttpObj_2 = null;
        }
    }
    if(!XmlHttpObj_2 && typeof XMLHttpRequest != "undefined"){
    XmlHttpObj_2 = new XMLHttpRequest();
    }
}

function show_airports(country){
    var requestUrl;
	document.frm_transfer_quote.price_name.innerHTML = "";
    requestUrl = fullURL + "left_showCities.php?country=" + encodeURIComponent(country);
    CreateXmlHttpObj();

    if(XmlHttpObj_2){
        XmlHttpObj_2.onreadystatechange = process_airport;
        XmlHttpObj_2.open("GET", requestUrl, true);
        XmlHttpObj_2.send( null );
    }
}

function process_airport(){
    document.frm_transfer_quote.city.options[0] = new Option('Loading please wait...','');
    if( XmlHttpObj_2.readyState == 1 ){
        document.frm_transfer_quote.city.innerHTML = "<option>Loading please wait...</option>";
    }

    if( XmlHttpObj_2.readyState == 4 ){
        if( XmlHttpObj_2.status == 200 ){            
            populate_cities(XmlHttpObj_2.responseXML.documentElement);
			//alert(XmlHttpObj_2.responseXML.documentElement);
        }else{
            //alert("problem retrieving data from the server, status code: "  + XmlHttpObj_2.status);
        }
    }
}

function populate_cities(countryNode){
    var target_id = document.frm_transfer_quote.city;

    for( var count = target_id.options.length-1; count >-1; count-- ){
        target_id.options[count] = null;
    }

    var countryNodes = countryNode.getElementsByTagName('city_xml');
    var idValue;
    var textValue;
    var optionItem;

    for( var count = 0; count < countryNodes.length; count++ ){
        textValue = GetInnerText_region(countryNodes[count]);
        idValue = countryNodes[count].getAttribute("id");
        optionItem = new Option( textValue,idValue,false);
        target_id.options[target_id.length] = optionItem;
    }
}

function show_resorts(airport)
{
	var requestUrl;
	document.frm_transfer_quote.price_name.innerHTML = "";
    requestUrl = fullURL + "showResorts.php?airport=" + encodeURIComponent(airport);
    CreateXmlHttpObj();

    if(XmlHttpObj_2){
        XmlHttpObj_2.onreadystatechange = process_resort;
        XmlHttpObj_2.open("GET", requestUrl, true);
        XmlHttpObj_2.send( null );
    }
}

function process_resort(){
    document.frm_transfer_quote.price_name.options[0] = new Option('Loading please wait...','');
    if( XmlHttpObj_2.readyState == 1 ){
        document.frm_transfer_quote.price_name.innerHTML = "<option>Loading please wait...</option>";
    }

    if( XmlHttpObj_2.readyState == 4 ){
        if( XmlHttpObj_2.status == 200 ){            
            populate_resorts(XmlHttpObj_2.responseXML.documentElement);
        }else{
            //alert("problem retrieving data from the server, status code: "  + XmlHttpObj_2.status);
        }
    }
}

function populate_resorts(countryNode){
    var target_id = document.frm_transfer_quote.price_name;

    for( var count = target_id.options.length-1; count >-1; count-- ){
        target_id.options[count] = null;
    }

    var countryNodes = countryNode.getElementsByTagName('city_xml');
    var idValue;
    var textValue;
    var optionItem;
	var choychoySel;
	var selectedAlready = "false";
	
	
	
    for( var count = 0; count < countryNodes.length; count++ ){
        textValue = GetInnerText_region(countryNodes[count]);
		idValue = countryNodes[count].getAttribute("id");
		

		if(idValue=="selected")
		{
			choychoySel = textValue;
		}
		else
		{
			if((idValue==choychoySel)&&(selectedAlready=="false"))
			{	
				optionItem = new Option( textValue,idValue,true);
				selectedAlready = "true";
			}
			else
			{
				optionItem = new Option( textValue,idValue,false);
			}
			
			target_id.options[target_id.length] = optionItem;	
		}
        
    }
	
	if(count==2)
	{
		alert('The prices for this destination are currently not available. please contact us for more info.');	
	}
}

function GetInnerText_region( node ){
     return( node.textContent || node.innerText || node.text );
}


/**************************************************************
this is the message box for the form validation on ta log in section
nilagay ni: Juven              date: Nov 11, 2008
**************************************************************/     

var MSGTIMER = 20;
var MSGSPEED = 5;
var MSGOFFSET = 3;
var MSGHIDE = 3;

// build out the divs, set attributes and call the fade function //
function inlineMsg(target,string,autohide, rightOffset) {
  var msg;
  var msgcontent;
  if(!document.getElementById('msg')) {
    msg = document.createElement('div');
    msg.id = 'msg';
    msgcontent = document.createElement('div');
    msgcontent.id = 'msgcontent';
    document.body.appendChild(msg);
    msg.appendChild(msgcontent);
    msg.style.filter = 'alpha(opacity=0)';
    msg.style.opacity = 0;
    msg.alpha = 0;
  } else {
    msg = document.getElementById('msg');
    msgcontent = document.getElementById('msgcontent');
  }
  msgcontent.innerHTML = string;
  msg.style.display = 'block';
  var msgheight = msg.offsetHeight;
  var targetdiv = document.getElementById(target);
  targetdiv.focus();
  var targetheight = targetdiv.offsetHeight;
  var targetwidth = targetdiv.offsetWidth;
  var topposition = (topPosition(targetdiv) - ((msgheight - targetheight) / 2)) - 0;
  var leftposition = (leftPosition(targetdiv) + targetwidth + MSGOFFSET) + rightOffset;
  msg.style.top = topposition + 'px';
  msg.style.left = leftposition + 'px';
  clearInterval(msg.timer);
  msg.timer = setInterval("fadeMsg(1)", MSGTIMER);
  if(!autohide) {
    autohide = MSGHIDE;  
  }
  window.setTimeout("hideMsg()", (autohide * 1000));
}

// hide the form alert //
function hideMsg(msg) {
  var msg = document.getElementById('msg');
  if(!msg.timer) {
    msg.timer = setInterval("fadeMsg(0)", MSGTIMER);
  }
}

// face the message box //
function fadeMsg(flag) {
  if(flag == null) {
    flag = 1;
  }
  var msg = document.getElementById('msg');
  var value;
  if(flag == 1) {
    value = msg.alpha + MSGSPEED;
  } else {
    value = msg.alpha - MSGSPEED;
  }
  msg.alpha = value;
  msg.style.opacity = (value / 100);
  msg.style.filter = 'alpha(opacity=' + value + ')';
  if(value >= 99) {
    clearInterval(msg.timer);
    msg.timer = null;
  } else if(value <= 1) {
    msg.style.display = "none";
    clearInterval(msg.timer);
  }
}

// calculate the position of the element in relation to the left of the browser //
function leftPosition(target) {
  var left = 0;
  if(target.offsetParent) {
    while(1) {
      left += target.offsetLeft;
      if(!target.offsetParent) {
        break;
      }
      target = target.offsetParent;
    }
  } else if(target.x) {
    left += target.x;
  }
  return left;
}
    
// calculate the position of the element in relation to the top of the browser window //
function topPosition(target) {
  var top = 0;
  if(target.offsetParent) {
    while(1) {
      top += target.offsetTop;
      if(!target.offsetParent) {
        break;
      }
      target = target.offsetParent;
    }
  } else if(target.y) {
    top += target.y;
  }
  return top;
}

// preload the arrow //
if(document.images) {
  arrow = new Image(7,80); 
  arrow.src = fullURL + "images/message_validator1.gif"; 
}

/***********
end
*/
/********************************************************/

function validateQuickQuote()
{
	var frm = document.frm_transfer_quote;
	if(frm.country.value=="")
	{
		alert('Please select a country');	
		frm.country.focus();
	}
	else if((frm.city.value=="")||(frm.city.value=="0"))
	{
		alert('Please select airport/port');	
		frm.city.focus();
	}
	else if((frm.city.value=="")||(frm.city.value=="0"))
	{
		alert('Please select airport/port');	
		frm.city.focus();
	}
	else if((frm.price_name.value=="")||(frm.price_name.value=="0"))
	{
		alert('Please select an area');	
		frm.price_name.focus();
	}
	else
	{
		frm.submit();	
	}
}


function errMessage(divId)
{
	if(document.getElementById('dv_' + divId))
	{
		document.getElementById('dv_' + divId).className = 'divFormHolderErr';
		document.getElementById('err_' + divId).style.display='';
		document.getElementById(divId).focus();
	}
	else
	{
		alert(divId + ' doesnt exist');	
	}
}

function deerrMessage(divId)
{
	document.getElementById('dv_' + divId).className = 'divFormHolder';
	document.getElementById('err_' + divId).style.display='none';
}

function validate_form()
{
	var frm = document.frm_transfer;
	var errorS = 0;
    if((frm.check_arrival.value=="yes")||(frm.check_depart.value=="yes"))
	{
		// arrival
		if(frm.check_arrival.value=="yes")
		{
			if(frm.harr.value=="") {
				errMessage('harr');	
				errorS = 1;
			}
			else if(frm.harr.value>24) {
				errMessage('harr');		
				errorS = 1;
			}
			else if(frm.marr.value=="") {
				errMessage('harr');		
				errorS = 1;
			}
			else if(frm.marr.value>59) {
				errMessage('harr');		
				errorS = 1;
			}else{
				deerrMessage('harr');	
			}
			
			if(frm.request_nbarr.value=="") {
				errMessage('request_nbarr');
				errorS = 1;
			}
			else if(IsNumeric(frm.request_nbarr.value)==false) {
				errMessage('request_nbarr');
				errorS = 1;
			}
			else if(parseInt(frm.request_nbarr.value)==0) {
				errMessage('request_nbarr');
				errorS = 1;
			}else{
				deerrMessage('request_nbarr');	
			}
			
			/*
			if(frm.arrival_date.value=="") {
				errMessage('arrival_date');
				errorS = 1;
			}else{
				deerrMessage('arrival_date');
			}
			*/
			
			if(frm.request_flightarr.value=="") {
				errMessage('request_flightarr');
				errorS = 1;
			}else{
				deerrMessage('request_flightarr');
			}
				
			if(frm.request_flightfrom.value=="") {
				errMessage('request_flightfrom');
				errorS = 1;
			}else{
				deerrMessage('request_flightfrom');
			}
			
			if(frm.request_addressarr.value=="") {
				errMessage('request_addressarr');
				errorS = 1;
			} else {
				deerrMessage('request_addressarr');	
			}
			
			
		} // end arrival
		
		
		// departure
		if(frm.check_depart.value=="yes")
		{
			if(frm.hdep.value=="") {
				errMessage('hdep');
				errorS = 1;
			} else if(frm.hdep.value>24) {
				errMessage('hdep');
				errorS = 1;
			} else if(frm.mdep.value=="") {
				errMessage('hdep');
				errorS = 1;
			} else if(frm.mdep.value>59) {
				errMessage('hdep');
				errorS = 1;
			} else {
				deerrMessage('hdep');	
			}
			
			if(frm.request_nbdep.value=="") {
				errMessage('request_nbdep');
				errorS = 1;
			} else if(IsNumeric(frm.request_nbdep.value)==false) {
				errMessage('request_nbdep');
				errorS = 1;
			} else if(parseInt(frm.request_nbdep.value)==0) {
				errMessage('request_nbdep');
				errorS = 1;
			} else {
				deerrMessage('request_nbdep');	
			}
			
			/*
			if(frm.depart_date.value=="") {
				errMessage('depart_date');
				errorS = 1;
			} else {
				deerrMessage('depart_date');	
			}
			*/
			
			if(frm.request_flightdep.value=="") {
				errMessage('request_flightdep');
				errorS = 1;
			} else {
				deerrMessage('request_flightdep');	
			}
			
			if(frm.request_flightto.value=="") {
				errMessage('request_flightto');
				errorS = 1;
			} else {
				deerrMessage('request_flightto');	
			}

			if(frm.request_addressdep.value=="") {
				errMessage('request_addressdep');
				errorS = 1;
			} else {
				deerrMessage('request_addressdep');	
			}
		} // end departure
		
		
		if(frm.withpersonal.value=="yes")
		{
			if(frm.request_fname.value=="") {
				errMessage('request_fname');
				errorS = 1;
			} else {
				deerrMessage('request_fname');	
			}
			
			if(frm.request_lname.value=="") {
				errMessage('request_lname');
				errorS = 1;
			} else {
				deerrMessage('request_lname');	
			}
			
			
			
			if(frm.request_tel.value=="") {
				errMessage('request_tel');
				errorS = 1;
			} else {
				deerrMessage('request_tel');	
			}
			
			 if(frm.request_email.value==""){
				errMessage('request_email');
				errorS = 1;
			 } else if (echeck(frm.request_email.value)==false){
				errMessage('request_email');
				errorS = 1;
  			 } else {
				deerrMessage('request_email');	
			 }

		}
		
	
		if(errorS==0)
		{
			frm.submit();
		}
			
	}
				
				
}

function IsNumeric(sText){
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;
 
   for (i=0; i<sText.length && IsNumber==true; i++){ 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char)==-1){
         IsNumber = false;
         }
      }
   return IsNumber;
}

function selectTypePrice()
{
	for (i=0;i<document.frm_transfer.typeSelector.length;i++)
	{
		  if (document.frm_transfer.typeSelector[i].checked)
		  {
				 rbgroup_value = document.frm_transfer.typeSelector[i].value;
				 if(rbgroup_value=="arrival")
				 {
					document.getElementById('arrivalInfo').style.display = '';
					document.getElementById('check_arrival').value = 'yes';
					document.getElementById('check_depart').value = '';
					document.getElementById('departInfo').style.display = 'none';
					document.getElementById('request_nbdep').value = '';
				 }
				 if(rbgroup_value=="departure")
				 {
					document.getElementById('arrivalInfo').style.display = 'none';
					document.getElementById('departInfo').style.display = '';
					document.getElementById('check_arrival').value = '';
					document.getElementById('check_depart').value = 'yes';
					document.getElementById('request_nbarr').value = '';
				 }
				 if(rbgroup_value=="both")
				 {
					document.getElementById('arrivalInfo').style.display = '';
					document.getElementById('departInfo').style.display = '';
					document.getElementById('check_arrival').value = 'yes';
					document.getElementById('check_depart').value = 'yes';
				 }
		  }
	}
}

function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    return false
		 }

 		 return true					
}

function validate_date()
{
var frm 	= document.frm_transfer;
var now		= new Date();
var monthnumber = parseInt(now.getMonth()+1);
var monthday    = parseInt(now.getDate());
var year_number = parseInt(now.getFullYear()); 

var month_arr = parseInt(frm.montharr.value);
var date_arr = parseInt(frm.dayarr.value);
var year_arr = parseInt(frm.yeararr.value);

if(year_arr < year_number)
{
	alert("Invalid date. Arrival date should be later than the current date");
	frm.montharr.focus();		
}
if((month_arr < monthnumber)&&(year_arr == year_number)) 
{
	alert("Invalid date. Arrival date should be later than the current date");
	frm.montharr.focus();
} 
if((date_arr < monthday)&&(month_arr == monthnumber)&&(year_arr == year_number))
{
	alert("Invalid date. Arrival date should be later than the current date");
	frm.montharr.focus();
}	

   
} 
	

function validate_date2()
{
var frm 	= document.frm_transfer;
var now		= new Date();
var monthnumber = parseInt(now.getMonth()+1);
var monthday    = parseInt(now.getDate());
var year_number = parseInt(now.getFullYear()); 

var month_dep = parseInt(frm.monthdep.value);
var date_dep = parseInt(frm.daydep.value);
var year_dep = parseInt(frm.yeardep.value);

var month_arr = parseInt(frm.montharr.value);
var date_arr = parseInt(frm.dayarr.value);
var year_arr = parseInt(frm.yeararr.value);

if(year_dep < year_number)
{
	alert("Invalid date. Departure date should be later than the current date");
	frm.monthdep.focus();		
}
if((month_dep < monthnumber)&&(year_dep == year_number)) 
{
	alert("Invalid date. Departure date should be later than the current date");
	frm.monthdep.focus();
} 
if((date_dep < monthday)&&(month_dep == monthnumber)&&(year_dep == year_number))
{
	alert("Invalid date. Departure date should be later than the current date");
	frm.monthdep.focus();
}	

  
   
} 

function str_replace (search, replace, subject, count) {
    var i = 0, j = 0, temp = '', repl = '', sl = 0, fl = 0,
            f = [].concat(search),
            r = [].concat(replace),
            s = subject,
            ra = r instanceof Array, sa = s instanceof Array;
    s = [].concat(s);
    if (count) {
        this.window[count] = 0;
    }

    for (i=0, sl=s.length; i < sl; i++) {
        if (s[i] === '') {
            continue;
        }
        for (j=0, fl=f.length; j < fl; j++) {
            temp = s[i]+'';
            repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0];
            s[i] = (temp).split(f[j]).join(repl);
            if (count && s[i] !== temp) {
                this.window[count] += (temp.length-s[i].length)/f[j].length;}
        }
    }
    return sa ? s : s[0];
}
