//onerror=exfoerr;
var errtext="";
function exfoerr(msg,url,line){
	errtext="Error Displayed\n\n"
	errtext+="Error: " + msg + "\n"
	errtext+="URL: " + url + "\n"
	errtext+="Line Number: " + line + "\n\n"
	alert(errtext);
	try{
		var sURL = "/reservationsFunction.asp?action=sendJavaError&err=" + msg + "&url=" + url + "&line=" + line + "&user_id=" + user_id + "&time=" + Math.random();
		//alert(sURL);
		//document.body	t6u.style.cursor = "wait";
		$.ajax({url: sURL, async: true});
	}
	catch(ex){
	}
	return true;
}
function getReviews(){
   sURL = "reservationsFunction.asp?action=getreview&time=" + Math.random();
   $.ajax({url: sURL, async: true,
		success: function( strData ){
			//alert(strData);
			document.getElementById("reviews").innerHTML = strData;				}
	});
}
function DisplayTowns(theService, from, to, Rfrom, Rto){
	var serviceVal = theService.value;
	if (serviceVal != ""){
		document.getElementById("vehicle").options.length = 1;
		for (i=0; i < counter; i++){
			if ((serviceVal < 5) && ((myCars[i][0] == 3) || (myCars[i][0] == 4) || (myCars[i][0] == 5) || (myCars[i][0] == 6) || (myCars[i][0] == 7) || (myCars[i][0] == 8) || (myCars[i][0] == 12) || (myCars[i][0] == 14))){
				continue;
			}
			//if( i == 8) continue;
			objNewOpt = document.createElement("OPTION");
			objNewOpt.value = myCars[i][0];
			objNewOpt.text  = myCars[i][1];
			document.getElementById("vehicle").options.add(objNewOpt);
		}		
	}
	else{
		document.getElementById("from").options.length = 1;
		document.getElementById("to").options.length = 1;
		document.getElementById("vehicle").options.length = 1;
		for (i=0; i < counter; i++){
			//if( i == 8) continue;
			objNewOpt = document.createElement("OPTION");
			objNewOpt.value = myCars[i][0];
			objNewOpt.text  = myCars[i][1];
			document.getElementById("vehicle").options.add(objNewOpt);
		}
		return;
	}
	
	if (serviceVal > 4){
		currentTrip = 1;
		document.getElementById("jobLength").style.display = '';
		document.getElementById("oneWayOptions").style.display = 'none';
		for (i=1; i < 5; i++){
			document.getElementById("returnRow" + i).style.display = 'none';
		}
	}
	else{
		document.getElementById("jobLength").style.display = 'none';
		document.getElementById("oneWayOptions").style.display = '';
	}
	
	if (serviceVal > 4){
		//document.getElementById("hoursText").style.display = "block";
		//document.getElementById("hoursNeeded").style.display = "block";
	}
	else{
		//document.getElementById("hoursText").style.display = "none";
		//document.getElementById("hoursNeeded").style.display = "none";
	}
	
	sURL = "reservationsFunction.asp?action=getdeparture&serv="+ serviceVal + "&time=" + Math.random();
	//sURL = "reservationsFunction.asp?action=getdeparture&serv="+ serviceVal + "&time=" + Math.random();
	//alert(sURL);
	$.ajax({url: sURL, async: true,
		success: function( strData ){
			//alert(strData);
			document.getElementById("fromCity").innerHTML = strData;
			document.getElementById("RtoCity").innerHTML = ''; //strData.replace(/'from'/g, "'Rto'");
			//alert(document.getElementById("RtoCity").innerHTML);
			if (from != null){
				document.getElementById("from").value = from;
				document.getElementById("Rto").value = from;
				document.getElementById("RtoCity").innerHTML = document.getElementById("from").options[document.getElementById("from").selectedIndex].text;
			}
			else if(document.getElementById("from").value != ''){
				document.getElementById("Rto").value = document.getElementById("from").value;
				document.getElementById("RtoCity").innerHTML = document.getElementById("from").options[document.getElementById("from").selectedIndex].text;
			}
		}
	});

	sURL = "reservationsFunction.asp?action=getdestination&serv="+ serviceVal + "&time=" + Math.random();
	//alert(sURL);
	$.ajax({url: sURL, async: true,
		success: function( strData ){
			//alert(strData);
			document.getElementById("toCity").innerHTML = strData;
			document.getElementById("RfromCity").innerHTML = ''; //strData.replace(/'to'/g, "'Rfrom'");
			//alert(document.getElementById("RfromCity").innerHTML);
			if (to != null){
				document.getElementById("to").value = to;
				document.getElementById("Rfrom").value = to;
				document.getElementById("RfromCity").innerHTML = document.getElementById("to").options[document.getElementById("to").selectedIndex].text;
			}	
			else if(document.getElementById("to").value != ''){
				document.getElementById("Rfrom").value = document.getElementById("to").value;
				document.getElementById("RfromCity").innerHTML = document.getElementById("to").options[document.getElementById("to").selectedIndex].text;
			}

		}
	});

}

function setReturnFrom(theBox){
	document.getElementById("RfromCity").innerHTML = theBox.options[theBox.selectedIndex].text;
	document.getElementById("Rfrom").value = theBox.value;
}

function setReturnTo(theBox){
	document.getElementById("RtoCity").innerHTML = theBox.options[theBox.selectedIndex].text;
	document.getElementById("Rto").value = theBox.value;
}

function changePics(theBox){
	var fleetPic = theBox.value;
	var whichPic = "";
	if (currentId == fleetPic){return};
	if (fleetPic != ""){
		for (i=0; i < counter; i++){
			if (fleetPic == myCars[i][0]){
				document.getElementById("displayVehicle").innerHTML = "<img src='" + myCars[i][2] + "' style='border:2px solid #ccc; margin-bottom:5px'>";
				currentId = fleetPic;
				document.getElementById("passPic").innerHTML = myCars[i][3];
				document.getElementById("passPic").style.display = "block";
				if (myCars[i][4] > 0){
					document.getElementById("lgCase").innerHTML = myCars[i][4];
					document.getElementById("lgCase").style.display = "block";
				}
				else{
					document.getElementById("lgCase").innerHTML = "";
					document.getElementById("lgCase").style.display = "none";
				}

				if (myCars[i][5] > 0){
					document.getElementById("smCase").innerHTML = myCars[i][5];
					document.getElementById("smCase").style.display = "block";
				}
				else{
					document.getElementById("smCase").innerHTML = "";
					document.getElementById("smCase").style.display = "none";
				}
			}
		}
	}
	else{
		document.getElementById("displayVehicle").innerHTML = "<img src='images/interior_1.jpg' width='185' height='138'>";
		document.getElementById("passPic").style.display = "none";
		document.getElementById("lgCase").style.display = "none";
		document.getElementById("smCase").style.display = "none";
	}
}

function whereToGoNextA(){
	var servType = document.getElementById("Service");
	if (servType.value > 4){
		document.getElementById('jobLen').focus();
	}
	else{
		document.getElementById('from').focus();
	}
}

function whereToGoNextB(){
	if (currentTrip == 2){
		document.getElementById('Rpickupdate').focus();
	}
	else{
		document.getElementById('passengers').focus();
	}
}

function getStep2(){
	var servType = document.getElementById("Service");
	var servDate = document.getElementById("pickupdate");
	var servHour = document.getElementById("Hour");
	var servMin = document.getElementById("Minute").value;
	var servPM = document.getElementById("AMPM").value;
	var servFrom = document.getElementById("from");
	var servTo = document.getElementById("to");
	var servCar = document.getElementById("vehicle").value;
	var servPass = document.getElementById("passengers");
	var servLugg = document.getElementById("luggage").value;
	var servJobLen = document.getElementById("jobLen");
	var servRDate = document.getElementById("Rpickupdate");
	var servRHour = document.getElementById("RHour");
	var servRMin = document.getElementById("RMinute").value;
	var servRPM = document.getElementById("RAMPM").value;
	var servRFrom = document.getElementById("Rfrom");
	var servRTo = document.getElementById("Rto");

	if (servType.value == ""){
		alert("Service Type is required")
		servType.focus();
		return false;
	}
	
	if (servDate.value == ""){
		alert("Service Date is required")
		servDate.focus();
		return false;
	}
	
	if (servHour.value == ""){
		alert("Service Time is required")
		servHour.focus();
		return false;
	}
	
	if (servFrom.value == ""){
		alert("Pickup Location is required")
		servFrom.focus();
		return false;
	}
	
	if (servTo.value == ""){
		alert("Drop-off Location is required")
		servTo.focus();
		return false;
	}
	
	if (servType.value > 4){
		if (servJobLen.value == 0){
			alert("Number of hours the vehicle is needed for is required");
			servJobLen.focus();
			return false;
		}
	}
	
	if (currentTrip == 2){
		if (servRDate.value == ""){
			alert("Return Service Date is required")
			servRDate.focus();
			return false;
		}
		
		if (servRHour.value == ""){
			alert("Return Service Time is required")
			servRHour.focus();
			return false;
		}
		
		if (servRFrom.value == ""){
			alert("Return Pickup Location is required")
			servRFrom.focus();
			return false;
		}
		
		if (servRTo.value == ""){
			alert("Return Drop-off Location is required")
			servRTo.focus();
			return false;
		}
	}
	
	if (servPass.value == "0"){
		alert("Passengers count is required")
		servPass.focus();
		return false;
	}
	
	if (servCar != ""){
		for (i=0; i < counter; i++){
			if (myCars[i][0] == servCar){
				if (parseInt(servPass.value) > myCars[i][3]){
					alert("Passenger count is more than vehicle capacity");
					return false;
				}
				if(parseInt(servLugg) > (myCars[i][4] + 1)){
					alert("Large Suitcases count is more than vehicle capacity");
					return false;
				}
			}
		}
	}

	sURL = "https://www.bostonlimousine.com/stage2.asp?type=" + servType.value + "&date=" + servDate.value + "&hour=" + servHour.value + "&from=" + servFrom.value + "&to=" + servTo.value + "&pass=" + servPass.value + "&min=" + servMin + "&ampm=" + servPM + "&vehicle=" + servCar + "&luggage=" + servLugg + "&trip=" + currentTrip;
	if (currentTrip == 2){
		sURL += "&Rdate=" + servRDate.value + "&Rhour=" + servRHour.value + "&Rfrom=" + servRFrom.value + "&Rto=" + servRTo.value + "&Rmin=" + servRMin + "&Rampm=" + servRPM;
	}
	if (servType.value > 4){
		sURL += "&jobLen=" + servJobLen.value;
	}
	//alert(sURL);
	location.href = sURL;
}


function oneTwoWay(returnWay){
	if (returnWay.value == "1"){
		currentTrip = 1;
		for (i=1; i < 5; i++){
			document.getElementById("returnRow" + i).style.display = 'none';
		}
		//document.getElementById("firstRow").style.display = ''; //not none
	}
	else if (returnWay.value == "2"){
		currentTrip = 2;
		for (i=1; i < 5; i++){
			document.getElementById("returnRow" + i).style.display = '';
		}
		//document.getElementById("firstRow").style.display = 'none';
	}
}

function TwoWay(returnWay){
	if (returnWay== "1"){
		currentTrip = 1;
		for (i=1; i < 5; i++){
			document.getElementById("returnRow" + i).style.display = 'none';
		}
		//document.getElementById("firstRow").style.display = '';
	}
	else if (returnWay== "2"){
		currentTrip = 2;
		for (i=1; i < 5; i++){
			document.getElementById("returnRow" + i).style.display = '';
		}
		//document.getElementById("firstRow").style.display = 'none';
	}
}

		












/*******************************************
Mainly for step 4 some functions applies to step 2 & 3

********************************************/

function goToAccount(){
	var userName = document.getElementById("txtUserName").value;
	var userPass = document.getElementById("txtUserPass").value;
	if ((userName != "") && (userPass != "") && (userName != "User Name") && (userPass != "Password")){
		sURL = "reservationsFunction.asp?action=getaccount&name="+ userName + "&pass=" + userPass + "&time=" + Math.random();
		//alert(sURL);
		$.ajax({url: sURL, async: true,
			success: function( strData ){
				//alert(strData);
				if (strData.indexOf("Error") < 0){								
					var accountInfo = strData.split("|");
					document.getElementById("accountId").value= accountInfo[0];
					document.getElementById("accountType").innerHTML= accountInfo[1];
					document.getElementById("accountCard").innerHTML = accountInfo[2];
					document.getElementById("accountExp").innerHTML = accountInfo[3];
					document.getElementById("accountType").style.display = "block";
					document.getElementById("accountCard").style.display = "block";
					document.getElementById("accountExp").style.display = "block";
					document.getElementById("txtUserName").style.display = "none";
					document.getElementById("txtUserPass").style.display = "none";
					document.getElementById("goButton").style.display = "none";
					document.getElementById("submitButton").style.display = "block";
					document.getElementById("fromTraffic").innerHTML = "<input type='hidden' id='txtTrafficFrom' name='txtTrafficFrom' value='Account'>";
				}
				else{
					alert("Account Not Found");
				}
			}
		});
	}
	else{
		alert("Please enter account username and password");
	}
}

function logIn(){
	var userName = document.getElementById("txtUserName").value;
	var userPass = document.getElementById("txtUserPass").value;
	if ((userName != "") && (userPass != "") && (userName != "User Name") && (userPass != "Password")){
		sURL = "reservationsFunction.asp?action=getaccount&name="+ userName + "&pass=" + userPass + "&time=" + Math.random();
		//alert(sURL);
		$.ajax({url: sURL, async: true,
			success: function( strData ){
				//alert(strData);
				if (strData.indexOf("Error") < 0){								
					var accountInfo = strData.split("|");
					document.getElementById("signInText").style.display = "block";
					document.getElementById("signInText").innerHTML = "Welcome back " + accountInfo[4] + " " + accountInfo[5]
					document.getElementById("signInTable").style.display = "none";
				}
				else{
					alert("Account Not Found");
				}
			}
		});
	}
	else{
		alert("Please enter account username and password");
	}
}

function isLogedIn(){
	sURL = "reservationsFunction.asp?action=isloged&time=" + Math.random();
	//alert(sURL);
	$.ajax({url: sURL, async: true,
		success: function( strData ){
			//alert(strData);
			if (strData.indexOf("Error") < 0 && strData != ""){								
				document.getElementById("signInText").style.display = "block";
				document.getElementById("signInText").innerHTML = "Welcome back " + strData;
				document.getElementById("signInTable").style.display = "none";
			}
		}
	});
}

function checkDropAddValueIn(name) {
	if (name.value == "Drop Street Address") {
		name.value = "";
	}
}


function checkDropAddValueOut(name) {
	if (name.value == "") {
		name.value = "Drop Street Address";
	}
}


function checkPickAddValueIn(name) {
	if (name.value == "Pickup Street Address") {
		name.value = "";
	}
}

function checkPickAddValueOut(name) {
	if (name.value == "") {
		name.value = "Pickup Street Address";
	}
}


function checkAirlinePValueIn(name) {
	if (name.value == "Pickup Airline") {
		name.value = "";
	}
}
function checkAirlinePValueOut(name) {
	if (name.value == "") {
		name.value = "Pickup Airline";
	}
}

function checkAirlineDValueIn(name) {
	if (name.value == "Drop-off Airline") {
		name.value = "";
	}
}
function checkAirlineDValueOut(name) {
	if (name.value == "") {
		name.value = "Drop-off Airline";
	}
}

function checkACCNameValueIn(name) {
	if (name.value == "User Name") {
		name.value = "";
	}
}

function checkACCNameValueOut(name) {
	if (name.value == "") {
		name.value = "User Name";
	}
}

function checkTrafficValueIn(name){
	if (name.value == "Where did you hear about us?"){
		name.value = "";
	}
}

function checkTrafficValueOut(name){
	if (name.value == ""){
		name.value = "Where did you hear about us?";
	}
}

function checkACCPassValueIn(name) {
	if (name.value == "Password") {
		name.value = "";
	}
}

function checkACCPassValueOut(name) {
	if (name.value == "") {
		name.value = "Password";
	}
}

function checkFlightValueIn(name) {
	if (name.value == "Flight") {
		name.value = "";
	}
}

function checkFlightValueOut(name) {
	if (name.value == "") {
		name.value = "Flight";
	}
}


function checkCCNumberValueIn(name) {
	if (name.value == "Card Number") {
		name.value = "";
	}
}
function checkCCNumberValueOut(name) {
	if (name.value == "") {
		name.value = "Card Number";
	}
}
		
function checkCCCVVValueIn(name) {
	if (name.value == "CVV") {
		name.value = "";
	}
}
function checkCCCVVValueOut(name) {
	if (name.value == "") {
		name.value = "CVV";
	}
}

function checkNameValueIn(name) {
	if (name.value == "Passenger Name") {
		name.value = "";
	}
}
function checkNameValueOut(name) {
	if (name.value == "") {
		name.value = "Passenger Name";
	}
}

function checkEmailValueIn(name) {
	if (name.value == "E-mail") {
		name.value = "";
	}
}
function checkEmailValueOut(name) {
	if (name.value == "") {
		name.value = "E-mail";
	}
}
function checkCCNameValueIn(name) {
	if (name.value == "Name On Card") {
		name.value = "";
	}
}
function checkCCNameValueOut(name) {
	if (name.value == "") {
		name.value = "Name On Card";
	}
}
function checkNeedsValueIn(name) {
	if (name.value == "Special Needs") {
		name.value = "";
	}
}
function checkNeedsValueOut(name) {
	if (name.value == "") {
		name.value = "Special Needs";
	}
}
function checkNotesValueIn(name) {
	if (name.value == "Notes") {
		name.value = "";
	}
}
function checkNotesValueOut(name) {
	if (name.value == "") {
		name.value = "Notes";
	}
}
function checkPhoneValueIn(phone) {
	if (phone.value == 'Home/Work Phone') { 
		phone.value = '';
		$("#" + phone.id).mask("(999) 999-9999"); 
	}
	else if (phone.value == 'Cell Phone'){
		phone.value = '';
		$("#" + phone.id).mask("(999) 999-9999"); 
	}
}
function checkPhoneValueOut(phone) {
	if (phone.value.replace(/_/g, "").length != 14) {	
		$("#" + phone.id).unmask(); 
		if (phone.id == 'txtPhone'){
			phone.value = 'Home/Work Phone';
		}
		else{
			phone.value = 'Cell Phone';
		}
	}
}

function isValidCreditCard(type, ccnum) {
   if (type == "Visa") {
	  // Visa: length 16, prefix 4, dashes optional.
	  var re = /^4\d{3}-?\d{4}-?\d{4}-?\d{4}$/;
   } else if (type == "master card") {
	  // Mastercard: length 16, prefix 51-55, dashes optional.
	  var re = /^5[1-5]\d{2}-?\d{4}-?\d{4}-?\d{4}$/;
   } else if (type == "discover") {
	  // Discover: length 16, prefix 6011, dashes optional.
	  var re = /^6011-?\d{4}-?\d{4}-?\d{4}$/;
   } else if (type == "American Express") {
	  // American Express: length 15, prefix 34 or 37.
	  var re = /^3[4,7]\d{13}$/;
   } else if (type == "Diners") {
	  // Diners: length 14, prefix 30, 36, or 38.
	  var re = /^3[0,6,8]\d{12}$/;
   }
   if (!re.test(ccnum)) return false;
   // Remove all dashes for the checksum checks to eliminate negative numbers
   ccnum = ccnum.split("-").join("");
   // Checksum ("Mod 10")
   // Add even digits in even length strings or odd digits in odd length strings.
   var checksum = 0;
   for (var i=(2-(ccnum.length % 2)); i<=ccnum.length; i+=2) {
	  checksum += parseInt(ccnum.charAt(i-1));
   }
   // Analyze odd digits in even length strings or even digits in odd length strings.
   for (var i=(ccnum.length % 2) + 1; i<ccnum.length; i+=2) {
	  var digit = parseInt(ccnum.charAt(i-1)) * 2;
	  if (digit < 10) { checksum += digit; } else { checksum += (digit-9); }
   }
   if ((checksum % 10) == 0) return true; else return false;
} 

function checkEmail(inputvalue){	
	var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
	if(pattern.test(inputvalue)){         
		return true;   
	}else{   
		return false; 
	}
}


function submitReserv(){
	var paymentType;
	var passName = document.getElementById("txtName");
	var email = document.getElementById("txtEmail");
	var phone = document.getElementById("txtPhone");
	
	var secPhone = document.getElementById("txtSecPhone");
	var pickAddress = document.getElementById("txtPickAddress");
	var pickAirline = document.getElementById("txtPickAirline");
	var pickFlight = document.getElementById("txtFlight");
	var dropAddress = document.getElementById("txtDropAddress");
	var dropAirline = document.getElementById("txtDropAirline");
	
	var pickRAddress = document.getElementById("txtRPickAddress");
	var pickRAirline = document.getElementById("txtRPickAirline");
	var pickRFlight = document.getElementById("txtRFlight");
	var dropRAddress = document.getElementById("txtRDropAddress");
	var dropRAirline = document.getElementById("txtRDropAirline");
	
	var cardName = document.getElementById("txtNameOnCard");
	var cardCVV = document.getElementById("txtCVV");
	var cardType = document.getElementById("txtCardType");
	var cardNumb = document.getElementById("txtCardNumber");
	var cardMon = document.getElementById("txtExpMon").value;
	var cardYear = document.getElementById("txtExpYear").value;
	var accountId = document.getElementById("accountId").value;
	var radios = document.getElementsByTagName("input");
	var Returntrip = document.getElementById("trip").value;
	var traffic = document.getElementById("txtTrafficFrom").value;
	var notes = document.getElementById("txtNotes").value;
	var needs = document.getElementById("txtSpNeeds").value;
	for (var i=0; i < radios.length; i++){
		if (radios[i].type == "radio" && radios[i].id == "radPayment"){
			if (radios[i].checked){	
				paymentType = radios[i].value;
			}
		}
	}
	
	if(passName.value == "" || passName.value == "Passenger Name"){
		alert("Passenger Name is Required");
		passName.style.backgroundColor = "#ff9292";
		return false;
	}
	else{
		passName.style.backgroundColor = "#fff";
	}
	
	if(email.value == "" || email.value == "E-mail"){
		alert("Contact E-mail is Required");
		email.style.backgroundColor = "#ff9292";
		return false;
	}
	else{
		email.style.backgroundColor = "#fff";
	}
	
	if (!checkEmail(email.value)){
		alert("Invalid E-mail Address");
		email.style.backgroundColor = "#ff9292";
		return false;
	}
	else{
		email.style.backgroundColor = "#fff";
	}
	
	if(phone.value == "" || phone.value == "Home/Work Phone"){
		alert("Home/Work Phone Number is Required");
		phone.style.backgroundColor = "#ff9292";
		return false;
	}
	else{
		phone.style.backgroundColor = "#fff";
	}
	
	if (secPhone.value == "Cell Phone" || secPhone.value == ""){
		alert("Cell Phone Or Secondary Number is Required");
		secPhone.style.backgroundColor = "#ff9292";
		return false;
	}
	else{
		secPhone.style.backgroundColor = "#fff";
	}
	
	if (servType == 2){
		if(pickAirline.value == "" || pickAirline.value == "Pickup Airline"){
			alert("Arrival Airline is Required");
			pickAirline.style.backgroundColor = "#ff9292";
			return false;
		}
		else{
			pickAirline.style.backgroundColor = "#fff";
		}
		
		if(pickFlight.value == "" || pickFlight.value == "Flight"){
			alert("Arrival Flight is Required");
			pickFlight.style.backgroundColor = "#ff9292";
			return false;
		}
		else{
			pickFlight.style.backgroundColor = "#fff";
		}
		if (Returntrip == 2){
			if(pickRAddress.value == "" || pickRAddress.value == "Pickup Street Address"){
				alert("Return Pickup Street Address is Required");
				pickRAddress.style.backgroundColor = "#ff9292";
				return false;
			}
			else{
				pickRAddress.style.backgroundColor = "#fff";
			}
		}
	}
	else{
		if(pickAddress.value == "" || pickAddress.value == "Pickup Street Address"){
			alert("Pickup Street Address is Required");
			pickAddress.style.backgroundColor = "#ff9292";
			return false;
		}
		else{
			pickAddress.style.backgroundColor = "#fff";
		}
	}
	
	if (servType == 1){
		if (Returntrip == 2){
			if(pickRAirline.value == "" || pickRAirline.value == "Pickup Airline"){
				alert("Return Arrival Airline is Required");
				pickRAirline.style.backgroundColor = "#ff9292";
				return false;
			}
			else{
				pickRAirline.style.backgroundColor = "#fff";
			}
			
			if(pickRFlight.value == "" || pickRFlight.value == "Flight"){
				alert("Return Arrival Flight is Required");
				pickRFlight.style.backgroundColor = "#ff9292";
				return false;
			}
			else{
				pickRFlight.style.backgroundColor = "#fff";
			}
		}
	}
	else{
		if(dropAddress.value == "" || dropAddress.value == "Drop Street Address"){
			alert("Drop-Off Street Address is Required");
			dropAddress.style.backgroundColor = "#ff9292";
			return false;
		}
		else{
			dropAddress.style.backgroundColor = "#fff";
		}
	}
	if (paymentType == "account" && accountId != ""){

	}
	else if (paymentType == "credit") {
		if (cardName.value.match(passName.value) != passName.value){
			alert("Passenger name doesn't match Card holder name\nCard holder must be present at the pickup location\nIf you would like to pay for someone else please use Pay By Fax option\nand fill the Pay Pay Fax form that will be attached to the confirmation email");
			return false;
		}
		if (cardNumb.value != "1111111111111111"){
			if(!isValidCreditCard(cardType.value, cardNumb.value)){
				alert("Credit Card Number is Not Valid, Or Card Type is Wrong");
				cardType.style.backgroundColor = "#ff9292";
				cardNumb.style.backgroundColor = "#ff9292";
				return false;
			}
			else{
				cardType.style.backgroundColor = "#fff";
				cardNumb.style.backgroundColor = "#fff";
			}
		}
		var expDate = new Date();
		expDate.setFullYear(cardYear, cardMon, 1);    
		var today = new Date();    
		if (expDate<today){
			alert("Credit Card is Expired");
			return false;    
		}
		
		if(cardCVV.value == "" || cardCVV.value == "CVV"){
			alert("Credit Card CVV is Required");
			cardCVV.style.backgroundColor = "#ff9292";
			return false;
		}
		else{
			cardCVV.style.backgroundColor = "#fff";
		}
	}
	else if (paymentType == "fax") {
		if (cardName.value == "" || cardName.value == "Name On Card"){
			alert("Name on Credit Card is Required");
			cardName.style.backgroundColor = "#ff9292";
			return false;
		}
		else{
			cardName.style.backgroundColor = "#fff";
		}
		if (cardNumb.value != "1111111111111111"){
			if(!isValidCreditCard(cardType.value, cardNumb.value)){
				alert("Credit Card Number is Not Valid, Or Card Type is Wrong");
				cardType.style.backgroundColor = "#ff9292";
				cardNumb.style.backgroundColor = "#ff9292";
				return false;
			}
			else{
				cardType.style.backgroundColor = "#fff";
				cardNumb.style.backgroundColor = "#fff";
			}
		}
		var expDate = new Date();
		expDate.setFullYear(cardYear, cardMon, 1);    
		var today = new Date();    
		if (expDate<today){
			alert("Credit Card is Expired");
			return false;    
		}
		
		if(cardCVV.value == "" || cardCVV.value == "CVV"){
			alert("Credit Card CVV is Required");
			cardCVV.style.backgroundColor = "#ff9292";
			return false;
		}
		else{
			cardCVV.style.backgroundColor = "#fff";
		}
	}
	else{
		alert("Error");
		return false;
	}


	if (traffic == "Where did you hear about us?"){
		traffic = "";
	}
	if (needs == "Special Needs"){
		needs = "";
	}
	if (notes == "Notes"){
		notes = "";
	}
	document.getElementById("hndPaymentType").value = paymentType;
	document.getElementById("hndExpMon").value = cardMon;
	document.getElementById("hndExpYear").value = cardYear;
	document.getElementById("hndName").value = passName.value;
	document.getElementById("hndEmail").value = email.value;
	document.getElementById("hndPhone").value = phone.value;
	document.getElementById("hndSecPhone").value = secPhone.value;
	document.getElementById("hndTrafficFrom").value = traffic;
	document.getElementById("hndNotes").value = notes;
	document.getElementById("hndNeeds").value = needs;
	if (servType == 2){
		document.getElementById("hndPickAirline").value = pickAirline.value;
		document.getElementById("hndFlight").value = pickFlight.value;
	}
	else{
		document.getElementById("hndPickAddress").value = pickAddress.value;
	}
	if (servType == 1){
		document.getElementById("hndDropAirline").value = dropAirline.value;
	}
	else{
		document.getElementById("hndDropAddress").value = dropAddress.value;
	}
	
	
	if (Returntrip == 2){		
		if (servType == 1){
			document.getElementById("hndRPickAirline").value = pickRAirline.value;
			document.getElementById("hndRFlight").value = pickRFlight.value;
		}
		else{
			document.getElementById("hndRPickAddress").value = pickRAddress.value;
		}
		
		if (servType == 2){
			if (dropRAirline.value == "Drop-off Airline"){
				dropRAirline.value = "";
			}
			document.getElementById("hndRDropAirline").value = dropRAirline.value;
		}
		else{
			if (dropRAddress.value == "Drop Address"){
				dropRAddress.value = "";
			}
			document.getElementById("hndRDropAddress").value = dropRAddress.value;
		}
	}
	
	if (paymentType == "account" && accountId != ""){
		document.getElementById("hndAccountId").value = accountId;
	}
	else{
		document.getElementById("hndCardName").value = cardName.value;
		document.getElementById("hndCVV").value = cardCVV.value;
		document.getElementById("hndCardType").value = cardType.value;
		document.getElementById("hndCardNum").value = cardNumb.value;
	}		
	document.getElementById("nextStep").action = "stage5.asp"
	document.getElementById("nextStep").submit();
}

function numbersonly(myfield, e, dec) {
	var key;
	var keychar;
	if (window.event){
		key = window.event.keyCode;
	}
	else if (e){
		key = e.which;
	}
	else{
		return true;
	}
	keychar = String.fromCharCode(key);
	
	// control keys
	if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ){
		return true;
	}
	// numbers
	else if ((("0123456789").indexOf(keychar) > -1)){
		return true;
	}
	
	// decimal point jump
	else if (dec && (keychar == ".")) {
		myfield.form.elements[dec].focus();
		return false;
	} 
	else{
		return false;
	}
}

function goStep1(){
	document.getElementById("nextStep").action = "http://www.bostonlimousine.com/stage1.asp"
	document.getElementById("nextStep").submit();
}

function goStep2(){
	document.getElementById("nextStep").action = "stage2.asp"
	document.getElementById("vehicle").value = "";
	document.getElementById("nextStep").submit();
}

function goStep3(vehicle){
	document.getElementById("nextStep").action = "stage3.asp"
	document.getElementById("vehicle").value = vehicle;
	document.getElementById("Rvehicle").value = "";
	document.getElementById("nextStep").submit();
}

		
function setRVehicle(vehicle){
	document.getElementById("nextStep").action = "stage3.asp"
	document.getElementById("Rvehicle").value = vehicle;
	document.getElementById("nextStep").submit();
}

function goStep4(){
	document.getElementById("nextStep").action = "stage4.asp"
	document.getElementById("nextStep").submit();	
}

function goStep6(){
	if (document.getElementById("terms_conditions").checked){
		document.getElementById("nextStep").action = "stage6.asp"
		document.getElementById("nextStep").submit();	
	}
	else{
		alert("You must agree to the Terms and Conditions");
		document.getElementById("terms_conditions").focus();
		document.getElementById("terms_conditions").style.backgroundColor = "#ff9292";
		return false;
	}
}
		
function selectPayment(payment){
	if (payment.value == "credit"){
		document.getElementById("txtUserName").style.display = "none";
		document.getElementById("txtUserPass").style.display = "none";
		document.getElementById("payByFaxDis").style.display = "none";
		document.getElementById("accountType").style.display = "none";
		document.getElementById("accountCard").style.display = "none";
		document.getElementById("accountExp").style.display = "none";
		document.getElementById("goButton").style.display = "none";
		document.getElementById("txtNameOnCard").style.display = "block";
		document.getElementById("txtCardType").style.display = "block";
		document.getElementById("txtCardNumber").style.display = "block";
		document.getElementById("txtExpMon").style.display = "block";
		document.getElementById("txtExpYear").style.display = "block";
		document.getElementById("txtCVV").style.display = "block";
		document.getElementById("submitButton").style.display = "block";
		document.getElementById("fromTraffic").innerHTML = "<input type='text' id='txtTrafficFrom' name='txtTrafficFrom' value='Where did you hear about us?'>";
	}
	else if(payment.value == "fax"){
		document.getElementById("accountType").style.display = "none";
		document.getElementById("accountCard").style.display = "none";
		document.getElementById("accountExp").style.display = "none";
		document.getElementById("txtUserName").style.display = "none";
		document.getElementById("txtUserPass").style.display = "none";
		document.getElementById("goButton").style.display = "none";
		document.getElementById("payByFaxDis").style.display = "block";
		document.getElementById("txtNameOnCard").style.display = "block";
		document.getElementById("txtCardType").style.display = "block";
		document.getElementById("txtCardNumber").style.display = "block";
		document.getElementById("txtExpMon").style.display = "block";
		document.getElementById("txtExpYear").style.display = "block";
		document.getElementById("txtCVV").style.display = "block";
		document.getElementById("submitButton").style.display = "block";
		document.getElementById("fromTraffic").innerHTML = "<input type='text' id='txtTrafficFrom' name='txtTrafficFrom' value='Where did you hear about us?'>";
	}
	else if(payment.value == "account"){
		if (document.getElementById("accountId").value != ""){
			document.getElementById("fromTraffic").innerHTML = "<input type='hidden' id='txtTrafficFrom' name='txtTrafficFrom' value='Account'>";
			document.getElementById("accountType").style.display = "block";
			document.getElementById("accountCard").style.display = "block";
			document.getElementById("accountExp").style.display = "block";
			document.getElementById("txtUserName").style.display = "none";
			document.getElementById("txtUserPass").style.display = "none";
			document.getElementById("goButton").style.display = "none";
			document.getElementById("submitButton").style.display = "block";
		}
		else{
			document.getElementById("fromTraffic").innerHTML = "<input type='hidden' id='txtTrafficFrom' name='txtTrafficFrom' value='Account'>";
			document.getElementById("accountType").style.display = "none";
			document.getElementById("accountCard").style.display = "none";
			document.getElementById("accountExp").style.display = "none";
			document.getElementById("txtUserName").style.display = "block";
			document.getElementById("txtUserPass").style.display = "block";
			document.getElementById("goButton").style.display = "block";
			document.getElementById("submitButton").style.display = "none";
		}
		document.getElementById("payByFaxDis").style.display = "none";
		document.getElementById("txtNameOnCard").style.display = "none";
		document.getElementById("txtCardType").style.display = "none";
		document.getElementById("txtCardNumber").style.display = "none";
		document.getElementById("txtExpMon").style.display = "none";
		document.getElementById("txtExpYear").style.display = "none";
		document.getElementById("txtCVV").style.display = "none";
	}
}
//$('#' + currentVehicle).animate({ 'width': '50px', 'left': currentLeft, 'height': '50px', 'top': currentTop }, 750);
function showGT(){
	if ($('#sideInfo').css('display') == "block"){
		$('#sideInfo').hide();
		$('#gtArrow').css('background-image', 'url(images/right.png)');
	}
	else{	
		$('#sideInfo').show();
		$('#gtArrow').css('background-image', 'url(images/down.png)');
	}
}

function showGT2(){
	if ($('#sideInfo2').css('display') == "block"){
		$('#sideInfo2').hide();
		$('#gtArrow2').css('background-image', 'url(images/right.png)');
	}
	else{	
		$('#sideInfo2').show();
		$('#gtArrow2').css('background-image', 'url(images/down.png)');
	}
}


function viewOptionVehicles(theBox, servCar, servFrom, servTo){
	if (!(theBox.checked)){
		var sURL = "reservationsFunction.asp?action=getcaroptions&servCar=" + servCar + "&servFrom=" + servFrom + "&servTo=" + servTo + "&time=" + Math.random();
		showTabelPopUp(sURL, 550, 500);
	}
}

function closeTablePopUp(){
	document.getElementById("popUpTable").style.display = "none";
	document.getElementById("cover").style.display = "none";
}

function showLogIn(){
	document.getElementById("signInText").style.display = "none";
	document.getElementById("signInTable").style.display = "block";
}

