﻿    
// JScript File

function GetCollegeStudentOptionsHide()
{

	document.getElementById("CollegeStudentMandatory").style.visibility="hidden";
	document.getElementById("CollegeStudentMandatory").style.display="none";
}

function GetCollegeStudentOptionsShow()
{
    
    document.getElementById("CollegeStudentMandatory").style.visibility="visible";
	document.getElementById("CollegeStudentMandatory").style.display="inline";	

}

//Start of AJAX Implementation
function ProcessResponse()
{
var elementName = "ctl00_MSGBody_";
	if(obj.readyState == 4)
	{
		if(obj.status == 200)
		{
			var dsRoot=obj.responseXML.documentElement;
			var listData = document.getElementById(elementName + "CollegeList");
			var code = dsRoot.getElementsByTagName('Code');
			var name = dsRoot.getElementsByTagName('Name');
			var d, count;
			var length = listData.length;
			for (d = listData.length -1; d >= 0; d--)
			{
			    listData.options[d] = null;
			}
			/*if (name.length == 0)
				listData.style.display = 'none';
			else
				listData.style.display = 'block';*/
			listItem = new Option("Select College", "", false, false);
		        listData.options[0] = listItem;
			for (count = 1; count <= name.length; count++)
			{
				
				var value = (code[count-1].textContent || code[count-1].innerText || code[count-1].text || code[count-1].firstChild.data);
				var text = (name[count-1].textContent || name[count-1].innerText || name[count-1].text || name[count-1].firstChild.data);
				listItem = new Option(text.replace('38','&'), value, false, false);
				listData.options[count] = listItem;
			}
			listItem = new Option("Other", "Other", false, false);
			listData.options[count] = listItem;
		}
	}
}

function ZipCodeTextBox_OnBlur()
{
   
   var city = document.getElementById("ctl00_MSGBody_City").value;
   var state = document.getElementById("ctl00_MSGBody_StateListB").value;   
   if (window.XMLHttpRequest && !(window.ActiveXObject)) 
    {
       try {
			obj = new XMLHttpRequest();
			
         		
        } catch(e) {
			obj = false;
			
        }
    }
    else if (window.ActiveXObject)
    {
        obj = new ActiveXObject("Microsoft.XMLHTTP");
	
    }
    else
    {
	
    return; 
    }
 
    if(!(city == "" && state == ""))
    {
       if(obj!=null)
        {
        
	    obj.onreadystatechange = ProcessResponse;
	    obj.open("GET", "PopulateListBox.aspx?pagefrom=booknow&City="+city+"&State="+state,  true);
	    obj.send(null);         
        }
    }
    else return;
}

function setValue()
{
var elementName = "ctl00_MSGBody_";
var CollegeList = document.getElementById(elementName + "CollegeList");
var CollegeIndex = CollegeList.selectedIndex;
    document.getElementById( elementName + "txtSchool").value = document.getElementById(elementName + "CollegeList").value
    document.getElementById( elementName + "txtSchoolName").value =  document.getElementById(elementName + "CollegeList").value;
    var listData = document.getElementById(elementName + "CollegeList");
    document.getElementById( elementName + "txtSchoolName").value  = CollegeList.options[CollegeIndex].text;
     document.getElementById( elementName + "txtSchool").value  = CollegeList.options[CollegeIndex].value;
}

function clearCityTextBox()
{
	document.getElementById("ctl00_MSGBody_CollegeList").value = ""
	
}	





function checkUserType()
{
var elementName = "ctl00_MSGBody_";

 if(document.getElementById(elementName + "NewTrav").checked == true)
 {
     document.getElementById(elementName + "OldUserLogin").style.visibility="hidden";
     document.getElementById(elementName + "OldUserLogin").style.display="none";	
     document.getElementById(elementName + "NewUserLogin").style.visibility="visible";
     document.getElementById(elementName + "NewUserLogin").style.display="inline";	
 }
 else
 {
 
     document.getElementById(elementName + "OldUserLogin").style.visibility="visible";
     document.getElementById(elementName + "OldUserLogin").style.display="inline";	 
     document.getElementById(elementName + "NewUserLogin").style.visibility="hidden";
     document.getElementById(elementName + "NewUserLogin").style.display="none";	
 
 }


}


function checkUserInfo()
{
var elementName = "ctl00_MSGBody_";

if(Trim(document.getElementById(elementName + "UserName1").value)  == ""){
		alert("Please enter your user name !");
		document.getElementById(elementName + "UserName1").focus();
		return false;
	} 
   else if(Trim(document.getElementById(elementName + "Password1").value)  == ""){
		alert("Please enter your password!");
		document.getElementById(elementName + "Password1").focus();
		return false;
	} 
else {
	    return true;
	}


}

//End of AJAX Implementation
function checkform(path){



	var elementName = "ctl00_MSGBody_";
	var checkval = "";
	
	var bdayYear = document.getElementById(elementName + "DOBYear").value;
	var bdayDate = document.getElementById(elementName + "DOBDate").value;
	var bdayMonth = document.getElementById(elementName + "DOBMonth").value;
	
	
	var dob = bdayMonth + "/" + bdayDate+ "/" +  bdayYear;

	var valText1=/^\d{5}-\d{4}$/;
	var valText2=/^\d{5}$/;

	var valText3=/^\d{9}$/	;

	var currentYear = (new Date()).getYear();
	
	if (currentYear <1000 )
	{
	    
		currentYear = currentYear + 1900;
		
	}
          if(document.getElementById(elementName + "NewTrav").checked == true && Trim(document.getElementById(elementName + "UserName").value)  == ""){
		        alert("Please enter your user name !");	       
		            document.getElementById(elementName + "UserName").focus();		      
		        return false;
	        } 
           else if(document.getElementById(elementName + "NewTrav").checked == true && Trim(document.getElementById(elementName + "Password").value)  == ""){
		        alert("Please enter your password!");
		        document.getElementById(elementName + "Password").focus();
		        return false;
	        } 
           else if(document.getElementById(elementName + "NewTrav").checked == true &&  Trim(document.getElementById(elementName + "ConfirmPassword").value)  == ""){
	        alert("Please confirm your password!");
	        document.getElementById(elementName + "ConfirmPassword").focus();
	        return false;
            } 
            else if(document.getElementById(elementName + "NewTrav").checked == true && (document.getElementById(elementName + "Password").value) != (document.getElementById(elementName + "ConfirmPassword").value)){
		        alert("Please enter a valid password!");
		        document.getElementById(elementName + "ConfirmPassword").focus();
		        return false;
		        }
		    else if(document.getElementById(elementName + "ReturningTrav").checked == true && document.getElementById(elementName + "HidUserName").value  == "" && document.getElementById(elementName + "UserName1").value  == ""){
		            alert("Please enter your user name !");
		            document.getElementById(elementName + "UserName1").focus();
		            return false;
	            } 
           else if(document.getElementById(elementName + "ReturningTrav").checked == true && document.getElementById(elementName + "HidPassword").value  == "" && document.getElementById(elementName + "Password1").value  == ""){
	            alert("Please enter your password!");
	            document.getElementById(elementName + "Password1").focus();
	            return false;
            } 
	
   else if(Trim(document.getElementById(elementName + "FirstName").value)  == ""){
		alert("Please enter your first name!");
		document.getElementById(elementName + "FirstName").focus();
		return false;
	} 
//	else if(!isInteger(document.getElementById(elementName + "grouptournumber").value)){
//	    alert("please enter a valid number");
//		document.getElementById(elementName + "grouptournumber").focus();
//		return false;
//	}
	else if(Trim(document.getElementById(elementName + "LastName").value)  == ""){
		alert("Please enter your Last Name!");
		document.getElementById(elementName + "LastName").focus();
		return false;
		} 
	else if(Trim(document.getElementById(elementName + "LastName").value)  == ""){
		alert("Please enter your Last Name!");
		document.getElementById(elementName + "LastName").focus();
		return false;
		} 


	else if(!isDate(dob)){
	    alert("Please enter valid date of birth!");
		document.getElementById(elementName + "DOBYear").focus();
		return false;
		}
	else if(!isInteger(document.getElementById(elementName + "DOBYear").value)){
	    alert("please enter a valid year for date of birth");
		document.getElementById(elementName + "DOBYear").focus();
		return false;
		}
	else if(document.getElementById(elementName + "DOBYear").value < 1904){
		alert("Invalid date of birth!");
		document.getElementById(elementName + "DOBYear").focus();
		return false;
		}
	else if(!isOlderThanXVIII( bdayYear, bdayDate, bdayMonth)){
		alert("Must be above 18 years and below 27 years old to book!");
		document.getElementById(elementName + "DOBYear").focus();
		return false;
		}
	else if((document.getElementById(elementName + "GenderList_0").checked == false) && (document.getElementById(elementName + "GenderList_1").checked == false)) {
	    alert("Please select Sex!");
	    return false;
	    }
	else if(Trim(document.getElementById(elementName + "StreetMailing").value) == ""){
		alert("Please enter the street address!");
		document.getElementById(elementName + "StreetMailing").focus();
		return false;
		}
//	else if(document.getElementById(elementName + "Address2Mailing").value==""){
//		alert("Please enter the address2!");
//		document.getElementById(elementName + "Address2Mailing").focus();
//		return false;
//		}
	else if(Trim(document.getElementById(elementName + "CityMailing").value)==""){
		alert("Please enter the city!");
		document.getElementById(elementName + "CityMailing").focus();
		return false;
		}
	else if(document.getElementById(elementName + "StateListA").value=="Select State"){
	    alert("Please select a state!");
	    document.getElementById(elementName + "StateListA").focus();
	    return false;
	    }
	else if(document.getElementById(elementName + "ZipCodeMailing").value=="" || isNaN(parseInt(document.getElementById(elementName + "ZipCodeMailing").value))){
		alert("Please enter valid zip code!");
		document.getElementById(elementName + "ZipCodeMailing").focus();
		return false;
		}
	else if((document.getElementById(elementName + "ZipCodeMailing").value.search(valText1)==-1) && (document.getElementById(elementName + "ZipCodeMailing").value.search(valText2)==-1) && (document.getElementById(elementName + "ZipCodeMailing").value.search(valText3)==-1)){
 		alert("Please enter correct zip code!");
		document.getElementById(elementName + "ZipCodeMailing").focus();
		return false;
	}
	else if((document.getElementById(elementName + "AddressType_0").checked == false) && (document.getElementById(elementName + "AddressType_1").checked == false)) {
	    alert("Please select Address Type!");
	    return false;
	    }
	else if(!isValidEmail(document.getElementById(elementName + "EmailAddress").value)){
		alert("Please enter a valid email address!");
		document.getElementById(elementName + "EmailAddress").focus();
		return false;
		}
	else if(!isValidEmail(document.getElementById(elementName + "EmailAddressConfirm").value)){
		alert("Please enter a valid email address!");
		document.getElementById(elementName + "EmailAddressConfirm").focus();
		return false;
		}
    else if((document.getElementById(elementName + "EmailAddressConfirm").value) != (document.getElementById(elementName + "EmailAddress").value)){
		alert("Please enter a valid email address, Confirm Email is not matching with Email!");
		document.getElementById(elementName + "EmailAddressConfirm").focus();
		return false;
		}
    else if ((document.getElementById(elementName + "phoneA").value=="") || (document.getElementById(elementName + "phoneA").value.length!= 3) || (isNaN(parseInt(document.getElementById(elementName + "phoneA").value)))){
		alert("Please enter valid phone number");
		document.getElementById(elementName + "phoneA").focus();
		return false;
		}
   else if ((document.getElementById(elementName + "phoneA").value!="") && !IsNumeric(document.getElementById(elementName + "phoneA").value)) {
		alert("Please enter valid phone number");
		document.getElementById(elementName + "phoneA").focus();
		return false;
		}
	else if ((document.getElementById(elementName + "phoneB").value=="") || (document.getElementById(elementName + "phoneB").value.length!= 3) || (isNaN(parseInt(document.getElementById(elementName + "phoneB").value)))){
		alert("Please enter valid phone number");
		document.getElementById(elementName + "phoneB").focus();
		return false;
		}
	 else if ((document.getElementById(elementName + "phoneB").value!="") && !IsNumeric(document.getElementById(elementName + "phoneB").value)) {
		alert("Please enter valid phone number");
		document.getElementById(elementName + "phoneB").focus();
		return false;
		}
	else if ((document.getElementById(elementName + "phoneC").value=="") || (document.getElementById(elementName + "phoneC").value.length!= 4) || (isNaN(parseInt(document.getElementById(elementName + "phoneC").value)))){
		alert("Please enter valid phone number");
		document.getElementById(elementName + "phoneC").focus();
		return false;
		}
    else if ((document.getElementById(elementName + "phoneC").value!="") && !IsNumeric(document.getElementById(elementName + "phoneC").value)) {
		alert("Please enter valid phone number");
		document.getElementById(elementName + "phoneC").focus();
		return false;
		}
	else if((document.getElementById(elementName + "Citizen_0").checked == false) && (document.getElementById(elementName + "Citizen_1").checked == false)) {
	    alert("Please select Are you a U.S. citizen?!");
	    return false;
	    }
	else if((document.getElementById(elementName + "Student_0").checked == false) && (document.getElementById(elementName + "Student_1").checked == false)) {
	    alert("Please select Are you a college student?!");
	    return false;
	    }
	else if((document.getElementById(elementName + "StateListB").value=="Select State") && document.getElementById(elementName + "Student_0").checked == true){
	    alert("Please select a state!");
	    document.getElementById(elementName + "StateListB").focus();
	    return false;
	    }
	else if((Trim(document.getElementById(elementName + "City").value)=="") && document.getElementById(elementName + "Student_0").checked == true){
		alert("Please enter the city!");
		document.getElementById(elementName + "City").focus();
		return false;
		}
	else if((Trim(document.getElementById(elementName + "CollegeList").value)=="") && document.getElementById(elementName + "Student_0").checked == true) {
	    alert("Please select a College!");
	    document.getElementById(elementName + "CollegeList").focus();	    
	    return false;
	    }
	

        else if((Trim(document.getElementById(elementName + "MajorsList").value)=="") && document.getElementById(elementName + "Student_0").checked == true) {
	    alert("Please select a Major!");
	    document.getElementById(elementName + "MajorsList").focus();
	    return false;
	    }
	
	else if((document.getElementById(elementName + "EFTravel_0").checked == false) && (document.getElementById(elementName + "EFTravel_1").checked == false)) {
	    alert("Please select Have you travelled with EF Before? !");
	    return false;
	    }	

	else if(document.getElementById(elementName + "HowHear").value=="Select How"){
	
	    alert("Please select a How did you hear about us?!");
	    document.getElementById(elementName + "HowHear").focus();
	    return false;
	    }

    else if(Trim(document.getElementById(elementName + "Contact").value)=="-"){
    alert("Please select Contact Relation!");
    document.getElementById(elementName + "Contact").focus();
    return false;
        }
    else if(Trim(document.getElementById(elementName + "RelationFirstText").value)==""){
    alert("Please select First Name of Contact Person");
    document.getElementById(elementName + "RelationFirstText").focus();
    return false;
        } 
    else if(Trim(document.getElementById(elementName + "RelationLastText").value)==""){
    alert("Please select Last Name of Contact Person");
    document.getElementById(elementName + "RelationLastText").focus();
    return false;
        }         
    else if ((document.getElementById(elementName + "PhonePaxA").value=="") || (document.getElementById(elementName + "PhonePaxA").value.length!= 3) || (isNaN(parseInt(document.getElementById(elementName + "PhonePaxA").value)))){
		alert("Please enter valid phone number for contact");
		document.getElementById(elementName + "PhonePaxA").focus();
		return false;
		}
    else if ((document.getElementById(elementName + "PhonePaxA").value!="") && !IsNumeric(document.getElementById(elementName + "PhonePaxA").value)) {
		alert("Please enter valid phone number for contact");
		document.getElementById(elementName + "PhonePaxA").focus();
		return false;
		}
   	else if ((document.getElementById(elementName + "PhonePaxB").value=="") || (document.getElementById(elementName + "PhonePaxB").value.length!= 3) || (isNaN(parseInt(document.getElementById(elementName + "PhonePaxB").value)))){
		alert("Please enter valid phone number for contact");
		document.getElementById(elementName + "PhonePaxB").focus();
		return false;
		}
	 else if ((document.getElementById(elementName + "PhonePaxB").value!="") && !IsNumeric(document.getElementById(elementName + "PhonePaxB").value)) {
		alert("Please enter valid phone number for contact");
		document.getElementById(elementName + "PhonePaxB").focus();
		return false;
		}
	 else if ((document.getElementById(elementName + "PhonePaxC").value=="") || (document.getElementById(elementName + "PhonePaxC").value.length!= 4) || (isNaN(parseInt(document.getElementById(elementName + "PhonePaxC").value)))){
		alert("Please enter valid phone number for contact");
		document.getElementById(elementName + "PhonePaxC").focus();
		return false;
		}
	else if ((document.getElementById(elementName + "PhonePaxC").value!="") && !IsNumeric(document.getElementById(elementName + "PhonePaxC").value)) {
		alert("Please enter valid phone number for contact");
		document.getElementById(elementName + "PhonePaxC").focus();
		return false;
		}

	else {
	    if(document.getElementById(elementName + "EmailAddressText").value != "" && (!isValidEmail(document.getElementById(elementName + "EmailAddressText").value))){
		alert("Please enter a valid email address!");
		document.getElementById(elementName + "EmailAddressText").focus();
		return false;
		}
	    return true;
	}
	

   
	
}

function isValidEmail(email)
{
	var regu	= "^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]+)$";
    var reg		= new RegExp(regu);
    return (email.search(reg) > -1);
}

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}


function isDate(dateStr) {

    var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
    var matchArray = dateStr.match(datePat); // is the format ok?

    if (matchArray == null) {
        alert("Please check your date of birth!");
        return false;
    }

    month = matchArray[1]; // parse date into variables
    day = matchArray[3];
    year = matchArray[5];

    if (month < 1 || month > 12) { // check month range
        alert("Month must be between 1 and 12.");
        return false;
    }

    if (day < 1 || day > 31) {
        alert("Day must be between 1 and 31.");
        return false;
    }

    if ((month==4 || month==6 || month==9 || month==11) && day==31) {
        alert("Month "+month+" doesn't have 31 days!");
        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)) {
            alert("February " + year + " doesn't have " + day + " days!");
            return false;
        }
    }
    return true; // date is valid
}

function isOlderThanXVIII( bdayYear, bdayDate1, bdayMonth1){

	var depdate =getcookie("TripDate")
	var departureDate = new Date(depdate)
	var departDate = departureDate.getDate();
	var departMonthstr =  depdate.substring(0, depdate.indexOf('/')); 
	if (departMonthstr.substring(0, 1) == "0") 
		departMonthstr = departMonthstr.substring(1) 

        var departMonth = parseInt(departMonthstr);
	var departYear =  parseInt(depdate.substring(depdate.lastIndexOf('/') + 1 )); 
	var bdate =new Date(bdayYear, bdayMonth1, bdayDate1);
	var bdayMonth = parseInt(bdayMonth1);
	var bdayDate  = parseInt(bdayDate1);
	var yearDiff =  departYear  - bdayYear

	if(yearDiff>18 && yearDiff<27){
			return true;
	}else if(yearDiff == 18){		
		if(bdayMonth <	 departMonth ){	
			return true;
		}else if( bdayMonth == departMonth && departDate >= bdayDate){
			return true;
		}
		else{
			return false;
	}
         }else if(yearDiff>27){
			return false;
	 }else if(yearDiff == 27) { 
		if(bdayMonth > departMonth ){	
			return true;
		}else if( bdayMonth == departMonth && bdayDate > departDate){

			return true;
		}		
		else 
			return false;	
	 }else {
			return false;
	}
	
}

function getcookie(cookiename) {
 var cookiestring=""+document.cookie;
 var index1=cookiestring.indexOf(cookiename);
 if (index1==-1 || cookiename=="") return ""; 
 var index2=cookiestring.indexOf(';',index1);
 if (index2==-1) index2=cookiestring.length; 
 return unescape(cookiestring.substring(index1+cookiename.length+1,index2));
}


function getDigitsOnly (s) {
    var tmpStr="";
    var c,i
    for (i = 0; i < s.length; i++) {
      c = s.charAt (i);
      if (!isNaN(parseInt(c))) {
        tmpStr = tmpStr + c;
      }
    }
    return tmpStr;
  }
  
  
function roomprice(val)
{
	if (document.getElementById("insurance").value == "") {
		document.getElementById("insurance").value= "0"
	}
	//var el;
	//el = document.getElementById(val);
	//alert(val.value);
	//alert(el);
    document.getElementById("room").value = val.value ;
    var total_sum = parseInt(document.getElementById("TripTotalFees").innerHTML) + parseInt(document.getElementById("room").value)  + parseInt(document.getElementById("insurance").value) + parseInt(document.getElementById("late").innerHTML)
    document.getElementById("total").innerHTML = total_sum ;
    document.getElementById("total_sum").innerHTML = total_sum ;
    document.step2.totalsum.value =total_sum;
    document.step2.roomoptprice.value = val.value;

    var roomoptName
    //roomoptName = document.getElementById("roomopt").id;
    roomOptName = val.id;
    //alert("dei " +document.getElementById("roomopt").id);
    //alert("H i " + roomOptName); 
    document.getElementById("roomoptName").value=roomOptName

}

//Done for the optional excusrions - defect 55440

function calculateoptionals(optionalprice,optionaltourcheck)
{
	var selectionelementName = "ctl00_MSGBody_yourselectrioncontrol_";	
	var uniqueoptionaltour = document.getElementById(optionalprice).innerHTML;	
	var optionaltourprice = uniqueoptionaltour.substring(1);

	var totaloptionalprice = document.getElementById(selectionelementName + "TripOptional").innerHTML;
	var totalprice = 0;
	if (document.getElementById(optionaltourcheck).checked)
	{
		totalprice = parseInt(totalprice) + parseInt(optionaltourprice);
		totaloptionalprice = parseInt(totaloptionalprice) + parseInt(totalprice);
	}
	else
	{
		totalprice = parseInt(totalprice) - parseInt(optionaltourprice);
		totaloptionalprice = parseInt(totaloptionalprice) + parseInt(totalprice);
	}
	
	document.getElementById(selectionelementName + "TripOptional").innerHTML = totaloptionalprice;
	reCalculate();
}

// End of the defect 55440



function checkInsu(){

var selectionelementName = "ctl00_MSGBody_yourselectrioncontrol_";
var elementName = "ctl00_MSGBody_";
var allChecked = document.getElementById(elementName + "InsAllInclusive").checked;
document.getElementById(selectionelementName + "TripInsurance").innerHTML= '0' ;

if(!allChecked)
{
    document.getElementById(selectionelementName + "TripInsurance").innerHTML= "115" ;
}
//else if (document.getElementById(elementName + "InsTourCancell").checked)
//{
//	    if (document.getElementById(elementName + "InsMedialAcc").checked)
//        {
//	        document.getElementById(selectionelementName + "TripInsurance").innerHTML = "125" ;
//	    }
//	    else if(document.getElementById(elementName + "InsBaggage").checked)
//	    {
//	        document.getElementById(selectionelementName + "TripInsurance").innerHTML = "105" ;
//	    else
//	    {
//	        document.getElementById(selectionelementName + "TripInsurance").innerHTML= "60" ;
//	    }
//}		    
//else if (document.getElementById(elementName + "InsMedialAcc").checked)
//{
//		if (document.getElementById(elementName + "InsBaggage").checked)
//		{
//		    document.getElementById(selectionelementName + "TripInsurance").innerHTML = "110" ;
//		}
//		else
//		{
//		    document.getElementById(selectionelementName + "TripInsurance").innerHTML = "65" ;
//		}
//}
//else if (document.getElementById(elementName + "InsBaggage").checked)
//{
//       document.getElementById(selectionelementName + "TripInsurance").innerHTML= "45" ;
//}
else
{
       document.getElementById(selectionelementName + "TripInsurance").innerHTML  = "0" ;
}
//var ins_totalprice = document.getElementById(selectionelementName + "TripInsurance").innerHTML;
//alert(ins_totalprice);

//var total_sum = parseInt(document.getElementById("TripProgramFee").innerHTML) + parseInt(document.getElementById("RoomUpgrade").innerHTML)   + parseInt(document.getElementById("insurance").value) + parseInt(document.getElementById("late").innerHTML)
////document.getElementById("total").innerHTML = total_sum ;
//document.getElementById("total_sum").innerHTML = total_sum ;
//document.step2.totalsum.value =total_sum;

//document.step2.instotalprice.value = ins_totalprice ;
}

function checkIns(){

//    var elementName = "ctl00_MSGBody_";
//	var allChecked = document.getElementById(elementName + "InsAllInclusive").checked;
//	
//	if(allChecked){
//	    document.getElementById(elementName + "InsTourCancell").checked = false;
////	    document.getElementById(elementName + "InsMedialAcc").checked = false;
//	    document.getElementById(elementName + "InsBaggage").checked = false;
//	    document.getElementById(elementName + "InsTourCancell").disabled = true;
////	    document.getElementById(elementName + "InsMedialAcc").disabled = true;
//	    document.getElementById(elementName + "InsBaggage").disabled = true;
//	}
//	else{
//		if(document.getElementById(elementName + "InsTourCancell").checked && document.getElementById(elementName + "InsMedialAcc").checked && document.getElementById(elementName + "InsBaggage").checked ){
//			document.getElementById(elementName + "InsAllInclusive").checked = true;
//			document.getElementById(elementName + "InsTourCancell").checked = false;
//			document.getElementById(elementName + "InsMedialAcc").checked = false;
//			document.getElementById(elementName + "InsBaggage").checked = false;
//			document.getElementById(elementName + "InsTourCancell").checked = false;
//			document.getElementById(elementName + "InsMedialAcc").checked = false;
//			document.getElementById(elementName + "InsBaggage").checked = false;
//			document.getElementById(elementName + "InsTourCancell").disabled = true;
//			document.getElementById(elementName + "InsMedialAcc").disabled = true;
//			document.getElementById(elementName + "InsBaggage").disabled = true;
//			
//		}
//		else{
//			document.getElementById(elementName + "InsTourCancell").disabled = false;
//			document.getElementById(elementName + "InsMedialAcc").disabled = false;
//			document.getElementById(elementName + "InsBaggage").disabled = false;
//		}
//	}
	checkInsu();
	reCalculate();
}

function roomingOptions()
{
var elementName = "ctl00_MSGBody_";
var selectionelementName = "ctl00_MSGBody_yourselectrioncontrol_";
var roomingValue = "0"

if(document.getElementById(elementName + "TripleQuad").checked)
{
   
    roomingValue =  document.getElementById(elementName + "txtTripleQuad").value;
    document.getElementById(elementName + "txtRoomingOption").value =   "Triple/Quad";
}
else if(document.getElementById(elementName + "Twin").checked)
{

    roomingValue =  document.getElementById(elementName + "txtTwin").value;
    document.getElementById(elementName + "txtRoomingOption").value =   "TwinRoom";
}
else if(document.getElementById(elementName + "Double").checked)
{
    roomingValue = document.getElementById(elementName + "txtDouble").value;
    document.getElementById(elementName + "txtRoomingOption").value =   "DoubleRoom";
}
else if(document.getElementById(elementName + "Single").checked)
{
    roomingValue = document.getElementById(elementName + "txtSingle").value;
    document.getElementById(elementName + "txtRoomingOption").value =   "SingleRoom";
}

 document.getElementById(selectionelementName + "TripRoomUpgrade").innerHTML = roomingValue;
 document.getElementById(elementName + "txtRoomHiden").value = roomingValue;
reCalculate();
}

function reCalculate()
{
var elementName = "ctl00_MSGBody_"; 
var selectionelementName = "ctl00_MSGBody_yourselectrioncontrol_";
var totalPrice = "0";
//totalPrice = parseInt(document.getElementById( selectionelementName + "TripTotalFees").innerHTML) +  parseInt(document.getElementById( selectionelementName + "TripRoomUpgrade").innerHTML) + parseInt(document.getElementById( selectionelementName + "TripInsurance").innerHTML) + parseInt(document.getElementById( selectionelementName + "TripOptional").innerHTML) ;
totalPrice = parseInt(document.getElementById( selectionelementName + "TripTotalFees").innerHTML) +  parseInt(document.getElementById( selectionelementName + "TripRoomUpgrade").innerHTML) + parseInt(document.getElementById( selectionelementName + "TripInsurance").innerHTML) + parseInt(document.getElementById( selectionelementName + "TripOptional").innerHTML) ;
document.getElementById(selectionelementName + "TripTotalPrice").innerHTML = totalPrice;



}

function checkformStep2(path)
{
var elementName = "ctl00_MSGBody_"; 
var selectionelementName = "ctl00_MSGBody_yourselectrioncontrol_";

 if (!(document.getElementById(elementName + "TripleQuad").checked) &&
     !(document.getElementById(elementName + "Twin").checked) && 
     !(document.getElementById(elementName + "Double").checked) && 
     !(document.getElementById(elementName + "Single").checked)){
    alert("Please select Rooming options");
    return false;
 }
// else if (!(document.getElementById(elementName + "InsAllInclusive").checked) && !(document.getElementById(elementName + "InsTourCancell").checked) && !(document.getElementById(elementName + "InsMedialAcc").checked && !(document.getElementById(elementName + "InsBaggage").checked))){
//    alert("Please select Insurance");
//    return false;
// }
 else {	
//        window.location.href = path; 
var insurance = document.getElementById(selectionelementName + "TripInsurance").innerHTML ; 
var room = document.getElementById(selectionelementName + "TripRoomUpgrade").innerHTML ; 
var optional = document.getElementById(selectionelementName + "TripOptional").innerHTML ; 

document.getElementById(elementName + "txtInsuranceHiden").value = insurance;
document.getElementById(elementName + "txtExcursionHiden").value = optional;


            Set_Cookie('insurance', insurance, '', '/', '', '' );
	    Set_Cookie('opexcursion', optional, '', '/', '', '' );
            Set_Cookie('room',room , '', '/', '', '' );
            return true;
}

}


function step2reload()
{
var elementname = "ctl00_MSGBody_";
if (document.getElementById(elementname + "txtExcursionHiden").value > "0" )
{
	window.location.reload();
}
else
{

}

}



function checkformStep4(path)
{
var elementName = "ctl00_MSGBody_"; 
 if (!(document.getElementById(elementName + "CheckBox1").checked) ){
    alert("Please accept booking condition");
    return false;
 }
 else {	
            return true;
}

}

function checkformStep3(path)
{
    var elementName = "ctl00_MSGBody_"; 


	var currentYear = (new Date()).getYear();
    	var currentMonth = (new Date()).getMonth()+1;
     	var ccnumber = document.getElementById(elementName + "CreditCardNumber").value;
	var ccMonth = document.getElementById(elementName + "ExpMonth").value;
	var ccYear =  document.getElementById(elementName + "ExpYear").value;
	var ccDate = new Date(ccYear, ccMonth, '1');
	var currentDate = new Date(currentYear,currentMonth,'1');




	
    if (!(document.getElementById(elementName + "DepositAmountOpt").checked) && !(document.getElementById(elementName + "TotalAmountOpt").checked) && !(document.getElementById(elementName + "OtherAmountOpt").checked)){
		alert("Please select how much you want to pay");
	   return false;
	}
	
	else if (document.getElementById(elementName + "OtherAmountOpt").checked && isNaN(document.getElementById(elementName + "OtherAmountValue").value)){
		alert("Please enter a valid Amount.");
		document.getElementById(elementName + "OtherAmountValue").focus();
		 return false;
		}
	else if (document.getElementById(elementName + "OtherAmountOpt").checked && (document.getElementById(elementName + "OtherAmountValue").value < 150)){
		alert("You must pay at least the $150 deposit to reserve a spot on the tour");
		document.getElementById(elementName + "OtherAmountValue").focus();
		 return false;
		}	
else if (Trim(document.getElementById(elementName + "CreditCardNumber").value) == ""){
		alert("Please enter a valid credit card number.");
		document.getElementById(elementName + "CreditCardNumber").focus();
		 return false;
		}	

 else if(!isCCValid(document.getElementById(elementName + "CreditCardNumber").value)){
		alert("Please enter a valid credit card number.");
		document.getElementById(elementName + "CreditCardNumber").focus();
		 return false;
	}

 else if(ccMonth == "-")
{
		alert("Please select expiration month!");
    	document.getElementById(elementName + "ExpMonth").focus();
    	 return false;
}	
else if(ccYear == "-")
{
		alert("Please select expiration year!");
    	document.getElementById(elementName + "ExpYear").focus();
    	 return false;
}		
else if(ccDate.getTime()< currentDate.getTime()){
		alert("Invalid expiration date!")	
		document.getElementById(elementName + "ExpYear").focus();
		 return false;
}		

else if(!document.getElementById(elementName + "Terms").checked){
		alert("Must accept credit card authorization to continue!")
		document.getElementById(elementName + "Terms").focus();
		 return false;
}		

else {	
//        window.location.href = path;        
            return true;
}
}
function isCCValid (cardNumber) {

    var digitsOnly = getDigitsOnly (cardNumber);
    var sum = 0;
    var digit = 0;
    var addend = 0;
    var timesTwo = false;	
    
    for (var i = digitsOnly.length - 1; i >= 0; i--) {
      digit = parseInt (digitsOnly.substring (i, i + 1));
      if (timesTwo) {
        addend = digit * 2;
        if (addend > 9) {
          addend -= 9;
        }
      }
      else {
        addend = digit;
      }
      sum += addend;
      timesTwo = !timesTwo;
    }

    var modulus = sum % 10;
    return modulus == 0;
  }
  
  function Set_Cookie( name, value, expires, path, domain, secure ) 
        {
            // set time, it's in milliseconds
            var today = new Date();
            today.setTime( today.getTime() );

            /*
            if the expires variable is set, make the correct 
            expires time, the current script below will set 
            it for x number of days, to make it for hours, 
            delete * 24, for minutes, delete * 60 * 24
            */
            if ( expires )
            {
            expires = expires * 1000 * 60 * 60 * 24;
            }
            var expires_date = new Date( today.getTime() + (expires) );

            document.cookie = name + "=" +escape( value ) +
            ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + 
            ( ( path ) ? ";path=" + path : "" ) + 
            ( ( domain ) ? ";domain=" + domain : "" ) +
            ( ( secure ) ? ";secure" : "" );
           
        }
        
   function ShowMessage(message)
    {
        alert(message);    
        return false;
    }    
    
    
  function OpenExitSurvey()
  {
       
       window.open("../PopUp/ExitSurvey.aspx", 'CustomPopUp', 'height=700, status= no, width=720, menubar=no, resizable=no,scrollbars=Yes, toolbar=no,location=no,menubar=no,top=50,left=200');
       return true;
              
  }
function Delete_Cookie( name, path, domain ) 
{
    if ( Get_Cookie( name ) ) document.cookie = name + "=" +
    ( ( path ) ? ";path=" + path : "") +
    ( ( domain ) ? ";domain=" + domain : "" ) +
    ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}


function Get_Cookie( name ) 
{
	
    var start = document.cookie.indexOf( name + "=" );
    var len = start + name.length + 1;
    if ( ( !start ) &&
    ( name != document.cookie.substring( 0, name.length ) ) )
    {
    return null;
    }
    if ( start == -1 ) return null;
    var end = document.cookie.indexOf( ";", len );
    if ( end == -1 ) end = document.cookie.length;
    return unescape( document.cookie.substring( len, end ) );
}



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;
   
   }
//Start of AJAX Implementation
function UserNameTextBox_OnBlur()
{
   var elementName = "ctl00_MSGBody_"; 
   var username = document.getElementById(elementName + "UserName").value;
   if (window.XMLHttpRequest && !(window.ActiveXObject)) 
    {
       try {
			obj = new XMLHttpRequest();
         		
        } catch(e) {
			obj = false;
        }
    }
    else if (window.ActiveXObject)
    {
        obj = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else
    {
    return; 
    }
   // If(username = "")
  //  {
       // alert(username);
  //  }
   // if(document.getElementById(elementName + "NewTrav").checked == true)
   if(document.getElementById(elementName + "NewTrav").checked == true && username != "")
    {
       if(obj!=null)
        {
        
	    obj.onreadystatechange = ProcessResponseUser;
	    obj.open("GET", "PopulateListBox.aspx?pagefrom=booknowValidate&UserName="+username,  true);
	    obj.send(null);         
        }
    }
    else return;
}


function ProcessResponseUser()
{
var elementName = "ctl00_MSGBody_";
	if(obj.readyState == 4)
	{
		if(obj.status == 200)
		{
			var dsRoot=obj.responseXML.documentElement;
			//var listData = document.getElementById(elementName + "CollegeList");
			var userCheck = dsRoot.getElementsByTagName('UserCheck');
		
			var d, count;
		
			for (count = 1; count <= userCheck.length; count++)
			{	
				var text = (userCheck[count-1].textContent || userCheck[count-1].innerText || userCheck[count-1].text || userCheck[count-1].firstChild.data);
				if(text == 'Y') {
				    alert("This username '"+ document.getElementById(elementName + "UserName").value  + "' has already been taken. Please choose another username.");
				     
					document.getElementById(elementName + "UserName").value = "";
				        document.getElementById(elementName + "UserName").focus();
				       
		         return false;
				}
			}
			
		}
	}
}

 function Trim(s) 
       {
   	        // Remove leading spaces and carriage returns
   	        while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r'))
   	         { s = s.substring(1,s.length); }
             
   	        // Remove trailing spaces and carriage returns
         while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r'))
   	         { s = s.substring(0,s.length-1); }
             
   	        return s;
      }

   

function OpenMapWindow(theurl,Event)
{
	var BrowserName = navigator.appName;
	
	var PosX =0;
	var PosY =0;
	PosX = Event.pageX || Event.clientX;
	PosY = Event.pageY || Event.clientY;
	
	if (BrowserName == "Netscape")
	{
		if(PosY < 750)
		{
			PosY=PosY-350;
		}
		else
		{
			PosY = 450;
		}
		var newWin = window.open("","printWin","height=265,width=320,left="+PosX+",top="+PosY+",status=yes,toolbar=no,menubar=no,scrollbars=yes,location=no,resizable=no");	
		
	}
	else
	{
		PosY=PosY-350;
		
		var newWin = window.open("","printWin","height=270,width=338,left="+PosX+",top="+PosY+",status=yes,toolbar=no,menubar=no,scrollbars=yes,location=no,resizable=no");
	}
    	newWin.location.href=theurl;
	newWin.focus();
}


