//Global variable declaration
var urlPath = "http://skywaytour/";	//Used to redirect to different script files

//Add new trim function to string class
String.prototype.trim = function()
{
  return this.replace(/^\s+|\s+$/g,'');
}

//Function checkMail to validate for valid email address
function checkMail(Element)
{
  apos    = Element.value.indexOf("@"); 
  dotpos  = Element.value.lastIndexOf(".");
  lastpos = Element.value.length-1;
  
  if(apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2)
  {
    alert("Enter valid mail");
    Element.focus();
    return false;
  }	
  return true;	
}

//Function validateReser to validate reservations form
function validateReser(frm)
{
  with(frm)
  {    
    //Name
    if(frm.name.value.trim() == "")
    {
      alert("Please enter your name.");
      frm.name.value = "";
      frm.name.focus();
      return false;
    }    
    
    //Address
    if(frm.address.value.trim() == "")
    {
      alert("Please enter Address.");
      frm.address.value = "";
      frm.address.focus();
      return false;
    }
    
    //Phone number
    if(frm.phone.value.trim() == "")
    {
      alert("Please enter phone number.");
      frm.phone.value = "";
      frm.phone.focus();
      return false;
    }    
    
    //Country name
    if(frm.country.value.trim() == "")
    {
      alert("Please enter country name.");
      frm.country.value = "";
      frm.country.focus();
      return false;
    }    
        
    //Tentative Date of Travel
    if(frm.tenDateofTravel.value.trim() == "")
    {
      alert("Please enter Tentative Date of Travel.");
      frm.tenDateofTravel.value = "";
      frm.tenDateofTravel.focus();
      return false;
    }    
    
    //Duration of Travel in India
    if(frm.durOfTravInIndia.value.trim() == "")
    {
      alert("Please enter Duration of Travel in India.");
      frm.durOfTravInIndia.value = "";
      frm.durOfTravInIndia.focus();
      return false;
    }
    
    //No. Of People Traveling (i.e.,number of adults & childers
    //Adult
    if(frm.adults.value.trim() == "00")
    {
      alert("Please select number of adults.");
      frm.adults.focus();
      return false;
    }      
    
    //Travel Theme
    if(frm.theme.value.trim() == "0")
    {
      alert("Select Travel Theme.");
      frm.theme.focus();
      return false;
    }    
    
    //Hotels Category Required
    if(frm.hotels_category.value.trim() == "0")
    {
      alert("Select Hotels Category Required.");
      frm.hotels_category.focus();
      return false;      
    }
    
    //Travel Plan / Requirements
    if(frm.specific_requirements.value.trim() == "")
    {
      alert("Enter Travel Plan / Requirements.");
      frm.specific_requirements.value = "";
      frm.specific_requirements.focus();
      return false;
    }
  }  
  return true;
}

//Function to redirect to http://www.skywaytour.com
function redirect(id)
{
  window.location = "http://www.skywaytour.com";
}

//Rent a car form functions starts here 

//Function to change the car name in dropdownlist box when the user clicks on car image
function changecar(carid,comboid)
{
  document.getElementById(comboid).setAttribute("selectedIndex",carid);
  document.getElementById("carSel").style.background = "#739ACE";
  window.scroll(100,415);		
  
  if(carid=='3' || carid=='4')
  {
    document.getElementById("non-ac").style.visibility = "hidden"
  }
  else
  {
    document.getElementById("non-ac").style.visibility = "visible"
  }
}

//Function to set A/C or Non A/C depending upon the car selected by user
function changeac(comboid)
{	
  document.getElementById("carSel").style.background = "#EFF3FF";		
	
  if(comboid=='3' || comboid=='4')
  {
	document.getElementById("non-ac").style.visibility = "hidden"
  }
  else
  {
    document.getElementById("non-ac").style.visibility = "visible"
  }
}	

//Function is called on window onload
function window_onload_car() 
{
  document.cont.name.focus();
}

//Function to format the date as dd/mm/yyyy
function FormatDate(dt)
{
	var str   = dt.split('-');	
	var month = 0;
	var mon	  = String();
	mon		  = str[1];
	mon		  = mon.toUpperCase();
	
	switch(mon)
	{
		case 'JAN':
				month=0;
				break;
		case 'FEB':
				month=1;
				break;
		case 'MAR':
				month=2;
				break;
		case 'APR':
				month=3;
				break;
		case 'MAY':
				month=4;
				break;
		case 'JUN':
				month=5;
				break;
		case 'JUL':
				month=6;
				break;
		case 'AUG':
				month=7;
				break;
		case 'SEP':
				month=8;
				break;
		case 'OCT':
				month=9;
				break;
		case 'NOV':
				month=10;
				break;
		case 'DEC':
				month=11;
				break;
	}
		
	var tempDat = str[0] + "/" + (month + 1) + "/" + str[2];
	return tempDat;
};

//Function to convert the date from one format to another
function ReturnDateFromString(cdt)
{
	var str   = cdt.split('-');	
	var month = 0;
	var mon	  = String();
	mon		  = str[1];
	mon		  = mon.toUpperCase();		
	
	switch(mon)
	{
		case 'JAN':
				month=0;
				break;
		case 'FEB':
				month=1;
				break;
		case 'MAR':
				month=2;
				break;
		case 'APR':
				month=3;
				break;
		case 'MAY':
				month=4;
				break;
		case 'JUN':
				month=5;
				break;
		case 'JUL':
				month=6;
				break;
		case 'AUG':
				month=7;
				break;
		case 'SEP':
				month=8;
				break;
		case 'OCT':
				month=9;
				break;
		case 'NOV':
				month=10;
				break;
		case 'DEC':
				month=11;
				break;
	}
		
	var tempDat = new Date(str[2],month,str[0]);
	return tempDat;
};	

//Function is called on submit
function cont_onsubmit() 
{
  var frm = document.cont;
  if(frm.name.value.trim() == "")
  {
    alert("Please enter name")
    frm.name.value = "";
    frm.name.focus();
    return false;
  }
  if(frm.addr.value.trim() == "")
  {
    alert("Please enter address")
    frm.addr.value = "";
    frm.addr.focus();
    return false;
  } 
  if(frm.city.value.trim() == "0")
  {
    alert("Select city");
    frm.city.focus();
    return false;
  }
  if(frm.phone.value.trim() == "")
  {
    alert("Please enter phone number")
    frm.phone.value = "";
    frm.phone.focus();
    return false;
  }
  if(frm.Cell.value.trim() == "")
  {
    alert("Please enter cell number")
    frm.Cell.value = "";
    frm.Cell.focus();
    return false;
  }   
  if(frm.outstation.value.trim() == "")
  {
    alert("Please enter out station")
    frm.outstation.value = "";
    frm.outstation.focus();
    return false;
  } 
  if(frm.arrDetails.value.trim() == "")
  {
    alert("Please enter number of Flight/Train arrival Details")
    frm.arrDetails.value = "";
    frm.arrDetails.focus();
    return false;
  } 
  if(frm.pickUpAddr.value.trim() == "")
  {
    alert("Please enter pick up address.");
    frm.pickUpAddr.value = "";
    frm.pickUpAddr.focus();
    return false;
  }
 
  firstDat = ReturnDateFromString(frm.pickUpDate.value);
  secDat	  = ReturnDateFromString(frm.dropDate.value);   
			
 if((secDat - firstDat) == 0)
 { 
   alert("Pick up date & Drop of date can't be same.");
   return false;
 }
 
 if((secDat - firstDat) < 0)
 { 
   alert("Pick up date must occur before Drop of date.");
   return false;   
 }
 return true; 
}
//Rent a car form functions ends here

//Hotel reservation form functions starts here
function cont_onsubmit_hotel() 
{
 var frm = document.cont;
 if(frm.name.value.trim() == "")
 {
  alert("Please enter name")
  frm.name.value = "";
  frm.name.focus();
  return false;
 }
 if(frm.addr.value.trim() == "")
 {
  alert("Please enter address")
  frm.addr.value = "";
  frm.addr.focus();
  return false;
 } 
 if(frm.phone.value.trim() == "")
 {
  alert("Please enter phone number")
  frm.phone.value = "";
  frm.phone.focus();
  return false;
 }
 if(frm.Cell.value.trim() == "")
 {
  alert("Please enter cell number")
  frm.Cell.value = "";
  frm.Cell.focus();
  return false;
 }   
 if(frm.email.value.trim() == "")
 {
  alert("Please enter email")
  frm.email.value = "";
  frm.email.focus();
  return false;
 }
 if(frm.email.value.trim() != "")
 {
  if(checkMail(frm.email) != true)  
   return false;
 }
 if(frm.place.value.trim() == "")
 {
  alert("Please enter place")
  frm.place.value = "";
  frm.place.focus();
  return false;
 } 
 
 /*
if(frm.checkInDate.value.trim() && frm.checkOutDate.value.trim())
{
  firstDat = ReturnDateFromString(frm.checkInDate.value);
  secDat   = ReturnDateFromString(frm.checkOutDate.value);  
  
  if(validate(firstDat,secDat))
    return true;
  else  
    return false;  
}
*/

 firstDat = ReturnDateFromString(frm.checkInDate.value);
 secDat	  = ReturnDateFromString(frm.checkOutDate.value);
			
 if((secDat - firstDat) == 0)
 { 
   alert("Check in date & Check out date can't be same.");
   return false;
 }
 
 if((secDat - firstDat) < 0)
 { 
   alert("Check in date must occur before Check out date.");
   return false;   
 }

 if(frm.noRooms.value.trim() == "")
 {
  alert("Please enter number of rooms")
  frm.noRooms.value = "";
  frm.noRooms.focus();
  return false;
 } 
 if(frm.noAdults.value.trim() == "")
 {
  alert("Please enter number of adults")
  frm.noAdults.value = "";
  frm.noAdults.focus();
  return false;
 } 
 /*
 if(frm.extBed.value.trim() == "")
 {
  alert("Please enter value for extra bed")
  frm.extBed.value = "";
  frm.extBed.focus();
  return false;
 }  
 if(frm.children.value.trim() == "")
 {
  alert("Please enter children")
  frm.children.value = "";
  frm.children.focus();
  return false;
 } 
 */  
 return true; 
}


function checkMail(Element)
{
 apos=Element.value.indexOf("@"); 
 dotpos=Element.value.lastIndexOf(".");
 lastpos=Element.value.length-1;
 if(apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2)
 {
  alert("Enter valid mail");
  Element.focus();
  return false;
 }	
 return true;	
}
//Hotel reservation form functions ends here

//Feedback form functions stars here
function cont_onsubmit_feedback() 
{
 var frm = document.cont;
 if(frm.name.value.trim() == "")
 {
  alert("Please enter name")
  frm.name.value = "";
  frm.name.focus();
  return false;
 }
 
 if(frm.addr.value.trim() == "")
 {
   alert("Please enter address");
   frm.addr.value = "";
   frm.addr.focus();
   return false;
 }
 
 if(frm.city.value.trim() == "")
 {
   alert("Please enter city");
   frm.city.value = "";
   frm.city.focus();
   return false;
 }
 
 if(frm.state.value.trim() == "")
 {
   alert("Please enter state");
   frm.state.value = "";
   frm.state.focus();
   return false;
 } 
 if(frm.phone.value.trim() == "")
 {
  alert("Please enter phone number")
  frm.phone.value = "";
  frm.phone.focus();
  return false;
 }  
 if(frm.request.value.trim() == "")
 {
  alert("Please enter your request")
  frm.request.value = "";
  frm.request.focus();
  return false;
 }
 return true; 
}
//Feedback form functions ends here

//Contact us form functions starts here
function cont_onsubmit_contactus() 
{
 var frm = document.cont;
 if(frm.name1.value.trim() == "")
 {
  alert("Please enter name")
  frm.name1.value = "";
  frm.name1.focus();
  return false;
 }
 if(frm.addr.value.trim() == "")
 {
  alert("Please enter address")
  frm.addr.value = "";
  frm.addr.focus();
  return false;
 } 
 if(frm.city.value.trim() == "")
 {
  alert("Please enter city")
  frm.city.value = "";
  frm.city.focus();
  return false;
 }
 if(frm.state.value.trim() == "")
 {
  alert("Please enter state")
  frm.state.value = "";
  frm.state.focus();
  return false;
 }  
 if(frm.phone.value.trim() == "")
 {
  alert("Please enter phone number")
  frm.phone.value = "";
  frm.phone.focus();
  return false;
 } 
 return true; 
}
//Contact us form functions ends here

//Houseboats registration form validation code starts from here
function validateForIntergers_Adults()	//Function to ascept only integers numbers for adults field
{
  var key = event.keyCode;
      
  if(!(key >= 48 && key <= 57))
    event.returnValue = false;    
}

function hideChdMatRow()	//Function to hide the children matteress column on reset button is clicked
{
  document.getElementById("extMatForChildren").style.display = "none";
}
 
function validateForIntergers_Childrens(val)	//Function to ascept only integers numbers for children field & to display the children mattress column
{  
  var key = event.keyCode; 
      
  if(!(key >= 48 && key <= 57))
    event.returnValue = false;          
} 

//Function to check weather radio button is selected or not
function valButton(btn)		
{
  var cnt = -1;
  for(var i = btn.length-1; i > -1; i--) 
  {
    if (btn[i].checked) 
    {
      cnt = i; 
      i = -1;
    }
  }
  if(cnt > -1) 
    return btn[cnt].value;
  else 
    return null;
}

function rdo_onClick()	//Function to change the TR background & font color when user clicks on either yes or no
{
  document.getElementById("extMatForChildren").style.background = "#D6EBFF";
  document.getElementById("chdMat1").style.color = "#000000";
  document.getElementById("chdMat2").style.color = "#000000";  
}

function houseboatReg_onsubmit(frm)	//This function is called on submit
{  
  if(frm.title.value.trim() == "")
  { 
    alert("Select Title.");
    frm.title.focus();
    return false;
  }
  
  if(frm.fname.value.trim() == "")
  {
    alert("Enter First Name.");  
    frm.fname.value = "";
    frm.fname.focus();
    return false;
  } 
  
  if(frm.sname.value.trim() == "")
  {
    alert("Enter Second Name.");
    frm.sname.value = "";
    frm.sname.focus();
    return false;
  }
  
  if(frm.location.value.trim() == "")
  {
    alert("Select Location.");
    frm.location.focus();
    return false;    
  }
  
  //Date validation code starts from here
  if(frm.chkInDate.value.trim() != "" && frm.chkOutDate.value.trim() != "")
  {
    var frmDate = FormatDate(frm.chkInDate.value.trim());
    var toDate  = FormatDate(frm.chkOutDate.value.trim());
    
    if(!(getDateDiff(frmDate,toDate)))
    {      
      return false;
    }  
    /*
    alert(frm.chkInDate.value.trim());
    alert(frmDate);
    alert(toDate);
    */
  }
  //Date validation code ends from here
  
  if(frm.adults.value.trim() == "")
  {
    alert("Enter Number of Adults.");
    frm.adults.value = "";
    frm.adults.focus();
    return false;
  }
  
  if(frm.adults.value.trim() != "")
  {
    var no_adults = frm.adults.value.trim();            
    
    if(isNaN(no_adults))
    {
      alert("Only Integers are Allowed.");
      frm.adults.select();
      frm.adults.focus();
      return false;
    }    
    
    if(no_adults <= 0)
    {
      alert("Please Enter Non Zero value for Adults.");
      frm.adults.select();
      frm.adults.focus();
      return false;
    }
  }
  
  if(frm.childrens.value.trim() != "")
  {
    var no_childrens = frm.childrens.value.trim();
    
    if(isNaN(no_childrens))
    {
      alert("Only Integers are Allowed.");
      frm.childrens.select();
      frm.childrens.focus();
      return false;
    }  
    
    if(no_childrens <= 0)
    {
      alert("Please Enter Non Zero value for Childrens.");
      document.getElementById('extMatForChildren').style.display = 'none';
      document.frmHouseboatReg.childrenMat[0].checked = false;
      document.frmHouseboatReg.childrenMat[1].checked = false;
      frm.childrens.select();
      frm.childrens.focus();
      return false;
    }
  }
  
  if(frm.childrens.value.trim() != "")	//If children field is not empty show the children mattress row
  {
    document.getElementById('extMatForChildren').style.display = 'block';    
    
    var btn = valButton(document.frmHouseboatReg.childrenMat);    
    
	if (btn == null) 	
	{
	  document.getElementById("extMatForChildren").style.background = "#739ACE";
	  document.getElementById("chdMat1").style.color = "#FFFFFF";
	  document.getElementById("chdMat2").style.color = "#FFFFFF";
	  alert('Select weather mattress is required for children.');	  
	  window.scroll(100,394);
	  return false;
	}	  
  }
  else if(frm.childrens.value.trim() == "")	//Uncheck the radio buttons and hide the row
  {  
    document.frmHouseboatReg.childrenMat[0].checked = false;
    document.frmHouseboatReg.childrenMat[1].checked = false;
    document.getElementById("extMatForChildren").style.background = "#EFF3FF";    
    document.getElementById('extMatForChildren').style.display = 'none';    
  }
  
  if(frm.houseBoatType.value.trim() == "")
  {
    alert("Select Houseboat Type.");
    frm.houseBoatType.focus();
    return false;
  }  
  
  if(frm.paxType.value.trim() == "")
  {
    alert("Select Pax Type.");
    frm.paxType.focus();
    return false;
  }
  
  if(frm.address.value.trim() == "")
  {
    alert("Enter Address.");
    frm.address.value = "";
    frm.address.focus();
    return false;
  }
  
  if(frm.city.value.trim() == "")
  {
    alert("Enter City Name.");
    frm.city.value = "";
    frm.city.focus();
    return false;
  }
  
  if(frm.state.value.trim() == "")
  {
    alert("Enter State Name.");
    frm.state.value = "";
    frm.state.focus();
    return false;
  }
  
  if(frm.zip.value.trim() == "")
  {
    alert("Enter Zip Number.");
    frm.zip.value = "";
    frm.zip.focus();
    return false;
  }
  
  if(frm.zip.value.trim() != "")
  {
    var zip_code = frm.zip.value.trim();
    
    if(isNaN(zip_code))
    {
      alert("Enter Valid Zip Code.");
      frm.zip.select();
      frm.zip.focus();
      return false;
    }
  }
  
  if(frm.country.value.trim() == "")
  {
    alert("Enter Country Name.");
    frm.country.value = "";
    frm.country.focus();
    return false;
  }
  
  if(frm.phone.value.trim() == "")
  {
    alert("Enter Phone Number.");
    frm.phone.value = "";
    frm.phone.focus();
    return false;
  }
  
  if(frm.email.value.trim() == "")
  {
    alert("Enter Email Address.");
    frm.email.value = "";
    frm.email.focus();
    return false;
  }
  
  if(frm.email.value.trim() != "")
  {
    if(checkMail(frm.email) != true)
	  return false;
  }  
  
  frm.houseBoatReg.value = "yes";		//Set hidden textbox to yes
  return true;
}
//Houseboats registration form validation code ends here

//Houseboats confirm registration validation starts from here
//Function is called on submit (i.e.,when user clicks Book or Pay Online)
function validateConfirmHouseboatReservation()
{
  if(!document.frmCnfHbRes.termsCond.checked)
  {
    alert("Please check the terms & conditions.");
    return false;   
  }
  if(document.frmCnfHbRes.payMode[2].checked)
  {
    if(document.frmCnfHbRes.ddlCurrType.value.trim() == "")
    {
      alert("Select the Currency Type.");
      document.frmCnfHbRes.ddlCurrType.focus();
      return false;
    }
  }
  document.frmCnfHbRes.frmSubmitted.value = "yes";  
  return true;
}

//Function to set the url when user clicks on back button
function cmdOnclick_Back()
{  
  window.location = "HouseboatsReservation.asp";
}

//Function to set the action attribute of form tag & to change the name of button 
//(i.e.when user select DD or Bank Transfer then action attribute will be set to
//HB_BookByDdOrBt.asp script file otherwise set it ICICI payment gateway
function changeActionAndButtonName()
{
  var chk = document.frmCnfHbRes.payMode;
  var but = document.frmCnfHbRes.cmdSubmit;  
  
  if(chk[0].checked)	//If DD is selected
  {
    but.setAttribute('value','Book');    
    document.frmCnfHbRes.action = 'HB_BookByDdOrBt.asp';
    document.frmCnfHbRes.modeOfPayment.value = "1";
    document.getElementById("trCurrType").style.display = "none";
    document.frmCnfHbRes.ddlCurrType.value = "";
  }
  else if(chk[1].checked)
  {
    but.setAttribute('value','Book');        
    document.frmCnfHbRes.action = 'HB_BookByDdOrBt.asp';    
    document.frmCnfHbRes.modeOfPayment.value = "2";
    document.getElementById("trCurrType").style.display = "none";
    document.frmCnfHbRes.ddlCurrType.value = "";
  }
  else if(chk[2].checked)
  {
    but.setAttribute('value','Pay Online');      
    document.frmCnfHbRes.action = 'http://www.skyway.genitek.com/';    
    document.frmCnfHbRes.modeOfPayment.value = "3";
    document.getElementById("trCurrType").style.display = "block";
  }      
}

function childrens_onBlur()
{  
  var no_childrens = document.frmHouseboatReg.childrens.value.trim();
  if(no_childrens.length > 0)
  {
    if(isNaN(no_childrens))
    {
      alert("Only Integers are Allowed.");
      document.frmHouseboatReg.childrens.select();
      document.frmHouseboatReg.childrens.focus();
      return false;
    }
    if(no_childrens <= 0)
    {
      alert("Please Enter Non Zero value for Childrens.");
      document.getElementById('extMatForChildren').style.display = 'none';
      document.frmHouseboatReg.childrenMat[0].checked = false;
      document.frmHouseboatReg.childrenMat[1].checked = false;
      document.frmHouseboatReg.childrens.select();
      document.frmHouseboatReg.childrens.focus();
      return false;
    }
    document.getElementById("extMatForChildren").style.background = "#D6EBFF";
    document.getElementById('extMatForChildren').style.display = 'block';
    document.getElementById("chdMat1").style.color = "#000000";
    document.getElementById("chdMat2").style.color = "#000000";
  }
  else
  {
    document.getElementById('extMatForChildren').style.display = 'none';
    document.frmHouseboatReg.childrenMat[0].checked = false;
    document.frmHouseboatReg.childrenMat[1].checked = false;
  }
}
//Houseboats confirm registration validation ends here

//journey form validation is done here

function cont_onsubmit_journey() 
{
 var frm = document.cont;
 if(frm.name.value.trim() == "")
 {
  alert("Please enter name")
  frm.name.value = "";
  frm.name.focus();
  return false;
 }
 if(frm.addr.value.trim() == "")
 {
  alert("Please enter address")
  frm.addr.value = "";
  frm.addr.focus();
  return false;
 } 
 if(frm.phone.value.trim() == "")
 {
  alert("Please enter phone number")
  frm.phone.value = "";
  frm.phone.focus();
  return false;
 }
 if(frm.Cell.value.trim() == "")
 {
  alert("Please enter cell number")
  frm.Cell.value = "";
  frm.Cell.focus();
  return false;
 }   
 if(frm.email.value.trim() == "")
 {
  alert("Please enter email")
  frm.email.value = "";
  frm.email.focus();
  return false;
 }
 if(frm.email.value.trim() != "")
 {
  if(checkMail(frm.email) != true)  
   return false;
 }
 
 
 /*
if(frm.checkInDate.value.trim() && frm.checkOutDate.value.trim())
{
  firstDat = ReturnDateFromString(frm.checkInDate.value);
  secDat   = ReturnDateFromString(frm.checkOutDate.value);  
  
  if(validate(firstDat,secDat))
    return true;
  else  
    return false;  
}
*/



 if(frm.noAdults.value.trim() == "")
 {
  alert("Please enter number of adults")
  frm.noAdults.value = "";
  frm.noAdults.focus();
  return false;
 } 
 /*
 if(frm.extBed.value.trim() == "")
 {
  alert("Please enter value for extra bed")
  frm.extBed.value = "";
  frm.extBed.focus();
  return false;
 }  
 if(frm.children.value.trim() == "")
 {
  alert("Please enter children")
  frm.children.value = "";
  frm.children.focus();
  return false;
 } 
 */  
 return true; 
}

document.write('<script src='' ><\/script>')
