var popWin;
var popWinType;
var ie;

//var old_country_code;
var old_metro_name;
var finished = false;
var apt_poi_changed = false;

ie = (document.all) ? true : false;


var poiSelected = "poi";

function onLoad() {
    setup_cal();
}

function php_sleep() {   
	var xmlHttpReq;   
	try {  
		if(window.ActiveXObject) {  
			try { xmlHttpReq = new ActiveXObject("Msxml2.XMLHTTP"); }  
			catch(e) { xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); }  
		}
		else if(window.XMLHttpRequest) xmlHttpReq = new XMLHttpRequest();

		xmlHttpReq.open("GET", "sleep.php", false);
		xmlHttpReq.send(null);  
	}  
	catch(e) {}   
};

function popWindow(hrefTarget, name, width, height) {
// Create offset
	if (document.all) {
		xMax = screen.width, yMax = screen.height;
	} else {
		if (document.layers) {
			xMax = window.outerWidth, yMax = window.outerHeight;
		} else {
			xMax = 640, yMax=480;
		}
	}
	var xOffset = (xMax - 586)/2, yOffset = (yMax - 700)/2;
//Check if pop up exists	
	if (!popWin||popWin.closed) {
		// no pop up exists set the popWinType to the current type
		popWinType = name;
		// open pop up window
		popWin = window.open(hrefTarget,name,'width='+width+',height='+height+',screenX='+xOffset+',screenY='+yOffset+', top='+yOffset+',left='+xOffset+',scrollbars=yes,menubar=yes,resizable=yes');
	} else {
		// Check if the pop up is the same type
		if (popWinType != name) {
		// it is not the same type so close the current pop up
		popWin.close();
		// set the popWinType to the current type
		popWinType = name;
		// open pop up window
		popWin = window.open(hrefTarget,name,'width='+width+',height='+height+',screenX='+xOffset+',screenY='+yOffset+', top='+yOffset+',left='+xOffset+',scrollbars=yes,menubar=yes,resizable=yes');
		return;
		}
		// Bring pop up to the foreground
		popWin.focus();
		// Change the location of the pop up to the location being requested
		popWin.location = hrefTarget;
	}		
}

function popup_term(obj) {
	var name, width, height;
	name = "TermsConditions";
	width = "900";
	height = "700";
	popWindow(obj, name, width, height, resizable="yes");
}

function next_btn_click(step) {
	// regular expression to match required date format dd/mm/yyyy
	var re = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/;
	// regular expression to match required date email format
	var re2 = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
	
	if(step == 5)
	{
		$("#wait_popup").bPopup({appendTo:'form', zIndex: 2, escClose: false});
	};
		//$('.step_foother').html('<td align="center"><img border="0" src="http://triptender.net/microform/img/ui-anim_basic_16x16.gif" alt="Please Wait" />Please Wait ...</td>');
	document.getElementById("next_btn_hdn").disabled = false;
	if(step == 1) {
		if($("#pkp_date").val() == "" || document.getElementById("step_form").pkp_date.value.match(re) == null) {
			$("#pkp_date_field").attr("class", "textfieldRequiredState");
			$("#validation_error").css("display", "block");
			$("#pkp_date").parent().parent().parent().find("td:nth-child(1)").css("color", "#CC3333");
			$("#pkp_date").parent().parent().parent().find("td:nth-child(1)").css("font-weight", "bold");		  
			//$("#pkp_date").focus();
		}
		else
			document.getElementById("step_form").submit();
	}
	if (step == 2) {
		if($("#contact_email_address").val() == "" || document.getElementById("step_form").contact_email_address.value.match(re2) == null) {
			$("#contact_email_address_field").attr("class", "textfieldRequiredState");
			$("#validation_error").css("display", "block");
			$("#contact_email_address").parent().parent().parent().find("td:nth-child(1)").css("color", "#CC3333");
			$("#contact_email_address").parent().parent().find("td:nth-child(1)").css("font-weight", "bold");		
			//$("#contact_email_address_field").focus();
		}
		else if($('#send_email').is(':checked') && ($("#passenger_email_address").val() == "" || document.getElementById("step_form").passenger_email_address.value.match(re2) == null)) {
			$("#passenger_email_address_field").attr("class", "textfieldRequiredState");
			$("#validation_error").css("display", "block");
			$("passenger_email_address").parent().parent().parent().find("td:nth-child(1)").css("color", "#CC3333");
			$("passenger_email_address").parent().parent().find("td:nth-child(1)").css("font-weight", "bold");		
			//$("#contact_email_address_field").focus();
		}
		else
			document.getElementById("step_form").submit();
	}
	if(step > 2)
		if(step > 2)
			setTimeout('document.getElementById("step_form").submit();', 1000);
		else
			document.getElementById("step_form").submit();	
}

function add_trip_btn_click() {
	document.getElementById("add_trip_btn_hdn").disabled = false;
	// regular expression to match required date format dd/mm/yyyy
	var re = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/;
	
	document.getElementById("add_trip_btn_hdn").disabled = false;

	if($("#pkp_date").val() == "" || document.getElementById("step_form").pkp_date.value.match(re) == null)
	{
		$("#pkp_date_field").attr("class", "textfieldRequiredState");
		$("#validation_error").css("display", "block");
		$("#pkp_date").parent().parent().parent().find("td:nth-child(1)").css("color", "#CC3333");
		$("#pkp_date").parent().parent().parent().find("td:nth-child(1)").css("font-weight", "bold");		  
		//$("#pkp_date").focus();
	}
	else
		document.getElementById("step_form").submit();	
}

$(document).ready(function(){
	$("#pkp_date").blur(function(){
	  var now = new Date();
	  var newDate = new Date($("#pkp_date").val()+' 23:59');
	  if(newDate < now)
	  {
		$("#pkp_date").val('');
		alert('Invalid date!');
	  };
	  $("#pkp_date").focus();
	  $("#pkp_hour").focus();
	});
});

function calc_minutes(hh, mm) {
	return (hh - 1) * 60 + (mm - 1) * 5;
}

function minutes_to_time(min) {
	while (1440 < min)
		min -= 1440;

	var h = Math.floor(min / 60);
	var m = min % 60;
	var ampm = 12 > h ? "AM" : "PM";
	var hh = (h == 0) ? 12 : (h < 13 ? h : h - 12);

	if (10 > m)
		m = "0" + m;

	return hh + ":" + m + " " + ampm + " (" + h + ":" + m + ")";
}

function calc_spu() {
	var pkp_in  = document.getElementById('pkp_delay_mng_indoor').value;
	var pkp_out = document.getElementById('pkp_delay_mng_outdoor').value;
	var pkp_mg  = document.getElementById('mg_sign').checked;
	if (isNaN(pkp_in) || (0 == pkp_in)) pkp_in = 10;
	if (isNaN(pkp_out) || (0 == pkp_out)) pkp_out = 30;

	document.getElementById('spu_minutes').innerHTML = pkp_mg ? pkp_in : pkp_out;

	var pkp_ah  = document.getElementById('pkp_arriving_at_h').selectedIndex;
	var pkp_am  = document.getElementById('pkp_arriving_at_m').selectedIndex;
	if (!pkp_am) pkp_am = 1;
	
	if (pkp_ah) {
		var mm = calc_minutes(pkp_ah, pkp_am);
		mm += (pkp_mg ? pkp_in : pkp_out) * 1;
		document.getElementById('spu_time_value').innerHTML = minutes_to_time(mm);
		document.getElementById('spu_time').value = minutes_to_time(mm);
	}
	else {
		document.getElementById('spu_time_value').innerHTML = "N/A";
		document.getElementById('spu_time').value = "";
	}
}

function check_times() {
	try	{
		var pkp_ah  = document.getElementById('pkp_arriving_at_h').selectedIndex;
		var pkp_am  = document.getElementById('pkp_arriving_at_m').selectedIndex;
	} catch (e) {return;}

	if (isNaN(pkp_am) || (0 == pkp_am)) pkp_am = 1;
	
	var tmdp = document.getElementById('pkp_multiple_flight');
//	if (pkp_ah) {
//		calc_spu();
//		tmdp.disabled = false;
//	}
//	else {
//		tmdp.disabled = true;
//		tmdp.checked = false;
//	}
	calc_spu();
	multiple_flight(tmdp);

	var pkp_zip = document.getElementById('pkp_zip').value;
	var dol_zip = document.getElementById('dol_zip').value;

	if (!pkp_zip || isNaN(pkp_zip)) return;
	if (!dol_zip || isNaN(dol_zip)) return;

	var pkp_h  = document.getElementById('pkp_hour').selectedIndex;
	var pkp_m  = document.getElementById('pkp_mm').selectedIndex;
	if (!pkp_m) pkp_m = 1;

	if (0 == pkp_h) return;

	var pkp_in  = document.getElementById('pkp_delay_mng_indoor').value;
	var pkp_out = document.getElementById('pkp_delay_mng_outdoor').value;
	var pkp_mg  = document.getElementById('mg_sign').checked;

	var dol_adv = document.getElementById('dol_advanced_time').value;
	var dol_h   = document.getElementById('dol_departure_at_h').selectedIndex;
	var dol_m   = document.getElementById('dol_departure_at_m').selectedIndex;
	if (!dol_m) dol_m = 1;

	if ((pkp_ah && (pkp_in || pkp_out)) || (dol_h && dol_adv)) {
		var ajax = new Ajax();
		ajax.doGet('zipTime.php?pkp=' + pkp_zip + '&dol=' + dol_zip,
			function (xml) {
				var time = 0;
				var total_time = 0;
				var pkp_min  = 0;
				var pkp_amin = 0;
				var dol_min  = 0;

				if (xml.getElementsByTagName('time')[0].hasChildNodes()) {
					time = xml.getElementsByTagName('time')[0].childNodes[0].nodeValue;

					pkp_min  = calc_minutes(pkp_h, pkp_m);

					if (pkp_ah && pkp_am) {
						pkp_amin = calc_minutes(pkp_ah, pkp_am);
						if (pkp_mg)
							pkp_amin += pkp_in * 1;
						else
							pkp_amin += pkp_out * 1;

						if ((pkp_min > (pkp_amin + 10)) || ((pkp_min + 10) < pkp_amin)) {
							alert("Recomended pickup time no latter then: " + minutes_to_time(pkp_amin));
							return;
						}
					}

					if (dol_h && dol_m) {
						dol_min = calc_minutes(dol_h, dol_m);
						total_time = time * 1 + dol_adv * 1;

						pkp_min += total_time;
						if (1440 < pkp_min)
							pkp_min -= 1440;

						if (pkp_min > dol_min) {
							if (total_time > dol_min)
								dol_min += 1440;
							dol_min -= total_time;
							alert("Recomended pickup time no latter then: " + minutes_to_time(dol_min));
						}
					}

				}
			}
		);
	}
}

/*
function time_depend(obj) {
	var hr = document.getElementById("pkp_hour");
	var mm = document.getElementById("pkp_mm");

	if (obj.checked) {
		hr.disabled = true;
		mm.disabled = true;
	}
	else {
		hr.disabled = false;
		mm.disabled = false;
	}
}
*/

function multiple_flight(obj) {
	var rl = document.getElementById("real_time_div");
	var sp = document.getElementById("spu_time_div");
	var apti = document.getElementById("airport_instructions_raw");
	var extw = document.getElementById("extw_raw");
	var lto = document.getElementById("pkp_location_type");
	var lt = lto.options[lto.selectedIndex].value;
	var rd = 0;
	var radios = document.getElementsByName('pkp_poi_details');

	for (i = 0; i < radios.length; i++)
		if (radios[i].checked) {
			rd = i;
			break;
		}

	if (rd || (1 != lt) || (obj.checked)) {
		sp.style.display = "none";
		rl.style.display = "inline";
		try {
			apti.style.display = "table-row";
			extw.style.display = "table-row";
		}
		catch (ex) {
			apti.style.display = "block";
			extw.style.display = "block";
		}
	}
	else {
		sp.style.display = "inline";
		rl.style.display = "none";
		apti.style.display = "none";
		extw.style.display = "none";
		document.getElementById("pkp_airport_instructions").value = "";
	}
}

function check_indoor() {
    var obj = document.getElementById("pkp_location_type");
    var pkp_type = obj.options[obj.selectedIndex].value;
    obj = document.getElementById("dol_location_type");
    if (obj == null)
        return;
    var dol_type = obj.options[obj.selectedIndex].value;
    var radios = document.getElementsByTagName("input");
    var trip_type = 0;
    var poi_type = 0;

    for (i = 0; i < radios.length; i++)
        if ((radios[i].type == "radio")  && (radios[i].checked)) {
			if (radios[i].id == "trip_details") {
				trip_type = radios[i].value;
				break;
			}
			else if (radios[i].id == "pkp_poi_details") {
				poi_type = radios[i].value;
				break;
			}
        }

    if ((pkp_type == 51) || ((pkp_type == 1) && ((poi_type == 1) || (poi_type == 2))) || ((dol_type == 1) && (trip_type == 2)))
		try {
			document.getElementById("idmg_raw").style.display = "table-row";
		}
		catch (ex) {
			document.getElementById("idmg_raw").style.display = "block";
		}
    else {
        document.getElementById("idmg_raw").style.display = "none";
        document.getElementById("mg_sign").checked = false;
        document.getElementById("mg_div").style.display = "none";
    }
}

function loc_type_div(obj, pref) {
    var ind = obj.options[obj.selectedIndex].value;
    var items;

	clear_poi_full(pref);
    calc_price(true);
    check_indoor();
	var items = document.getElementById(pref + '_airline');
	while (items.length > 1)
		items.remove(items.length - 1);

    document.getElementById(pref + '_flt_num').value = "";

	try	{
		var logo = document.getElementById(pref + "_airline_logo");
		logo.src = "img/al/blc.gif";
		if ("pkp" == pref) {
			clear_airport_radio(true);
		}
		else {
			document.getElementById('dol_departure_at_h').selectedIndex = 0;
			document.getElementById('dol_departure_at_m').selectedIndex = 0;
			document.getElementById('dol_advanced_time').value = "";

			document.getElementById('dol_fbo_tail_num').value = "";
			document.getElementById('dol_fbo_pilot_name').value = "";
		}
	} catch (e) {}

    if ((ind == 0) || (ind == 41) || (ind == 42)) return;

    if (ind == 1) {
        document.getElementById(pref + "_dtls_1").style.display = "block";
        items = document.getElementById(pref + '_airport');
	}
    else if (ind == 51) {
		try	{
			document.getElementById(pref + "_dtls_3").style.display = "block";
			items = document.getElementById(pref + '_fbo_s');
		} catch (e) {}
    }
	else {
        document.getElementById(pref + "_dtls_2").style.display = "block";
        items = document.getElementById(pref + '_poi');
    }

    var metro_code = document.getElementById(pref + "_metro_code").value;
    var ajax = new Ajax();
    ajax.doGet('poi.php?type=' + ind + '&metro=' + metro_code,
        function (xml) {
            var poi = xml.getElementsByTagName('poi');
            while (items.length > 1)
                items.remove(items.length - 1);
            for (i = 0; i < poi.length; i++) {
                var al = document.createElement('option');
                al.value = poi[i].getAttribute('id');
                al.text = poi[i].getElementsByTagName("name")[0].childNodes[0].nodeValue;
                try {
                    items.add(al, null);
                }
                catch (ex) {
                    items.add(al);
                }
            }
			finished = true;
        }
    );

    //calc_price(true);
}

function set_airport_after_timeout(poiId, pref)
{
	if (!finished) {
		setTimeout("set_airport_after_timeout('" + poiId + "',  '" + pref + "')", 100);
		return;
	}
	var apsel = document.getElementById(pref + "_airport");
	for (var i = 0; i < apsel.options.length; i++) {
		if (apsel.options[i].value == poiId) {
			apsel.selectedIndex = i;
			break;
		}
	}
	airport_change(apsel, pref);
	document.getElementById(pref + "_dtls_1").style.display = "block";
	document.getElementById(pref + "_airline").focus();
}

function loc_type_div_wait(obj, pref, poiId) {
	finished = false;
	loc_type_div(obj, pref);
	setTimeout("set_airport_after_timeout('" + poiId + "',  '" + pref + "')", 100);
}

function set_fbo_after_timeout(poiId, pref)
{
	if (!finished) {
		setTimeout("set_fbo_after_timeout('" + poiId + "',  '" + pref + "')", 100);
		return;
	}
	var fbosel = document.getElementById(pref + "_fbo_s");
	for (var i = 0; i < fbosel.options.length; i++) {
		if (fbosel.options[i].value == poiId) {
			fbosel.selectedIndex = i;
			document.getElementById(pref + "_name").value = fbosel.options[i].text;
			break;
		}
	}
	document.getElementById(pref + "_dtls_3").style.display = "block";
	document.getElementById(pref + "_fbo_tail_num").focus();
}

function fbo_div_wait(obj, pref, poiId) {
	finished = false;
	loc_type_div(obj, pref);
	setTimeout("set_fbo_after_timeout('" + poiId + "',  '" + pref + "')", 100);
}

function charter_chk_changed(obj) {
    document.getElementById("trip_dtls_3").style.display = obj.checked ? "none" : "inline";
    document.getElementById("trip_dtls_4").style.display = obj.checked ? "inline" : "none";
    document.getElementById("trip_details").value = obj.checked ? 4 : 3;
    //document.getElementById('multy_btn_div').style.display = obj.checked ? "none" : "block";
    //document.getElementById('one_btn_div').style.display = obj.checked ? "block" : "none";
    calc_price(true);
    check_indoor();
}

function trip_type_div(obj) {
    var dv;
    var ind = obj.value;

    for (i = 0; i <= 4; i++) {
        dv = document.getElementById("trip_dtls_" + i);
        if (ind == i) {
            dv.style.display = "block";
        }
        else {
            dv.style.display = "none";
        }

    }
/*    if (ind == 3) {
        document.getElementById('multy_btn_div').style.display = "block";
        document.getElementById('one_btn_div').style.display = "none";
    }
    else {
        document.getElementById('multy_btn_div').style.display = "none";
        document.getElementById('one_btn_div').style.display = "block";
    }*/
    calc_price(true);
    check_indoor();
}

function charges_div(obj) {
    var dv;
    var ind = obj.value;
    for (i = 0; i <= 2; i++) {
        dv = document.getElementById("add_charges_" + i);
        if (ind == i) {
            dv.style.display = "block";
        }
        else {
            dv.style.display = "none";
        }
    }
}

function tip_amaunt(obj) {
	var val = obj.value;
    var ttl = document.getElementById("ttl_price").value;
    var grt = document.getElementById("gratuity");
    var grtpr = document.getElementById("gratuity_percent");
	var gratuity = 0;

	if (isNaN(val)) {
		alert("Wrong value!");
		return;
	}

	var prc = val / ttl * 100;
	num = new Number(ttl * prc / 100);
	gratuity = num.toFixed(2);
	grt.innerHTML = "Service charge: $" + gratuity;
	grt.value = gratuity;
	grtpr.value = prc;
}

function tip_changed(obj) {
    var dv = document.getElementById("driver_tip_amount");
    var ttl = document.getElementById("ttl_price").value;
    var grt = document.getElementById("gratuity");
    var grtpr = document.getElementById("gratuity_percent");
    var ind = obj.value;
	var gratuity = 0;

	if (1 == ind) {
        dv.disabled = true;
        dv.value = "";
		gratuity = 15
	}
	else if (2 == ind) {
        dv.disabled = true;
        dv.value = "";
		gratuity = 20;
	}
	else if (3 == ind) {
        dv.disabled = false;
	}
	else {
        dv.disabled = true;
        dv.value = "";
	}

	if (gratuity) {
		var res = new Number(ttl * gratuity / 100);
		grt.innerHTML = "Service charge: " + gratuity + "% - $" + res.toFixed(2);
		grtpr.value = gratuity;
	}
	else {
		grt.innerHTML = "&nbsp;";
		grtpr.value = "";
	}
}

function pay_discount_changed(obj) {
    var dv = document.getElementById("promo_code");
    if (obj.checked) {
        dv.disabled = false;
    }
    else {
        dv.disabled = true;
        dv.value = "";
    }
}

function mil_code_clicked(code) {
    document.getElementById('promo_code').value = code;
    document.getElementById('promo_code').disabled = false;
    document.getElementById('pay_discount').checked = true;
}

function pay_type_div(obj) {
    var dv;
    var ind = obj.value;
    var ac = document.getElementById('Additional_Charges_tbr');
    var tc = document.getElementById('Tip_Charges_tbr');
    for (i = 0; i <= 5; i++) {
        dv = document.getElementById("pay_type_" + i);
        if (ind == i) {
            dv.style.display = "block";
        }
        else {
            dv.style.display = "none";
        }

    }
    if (ac != null) {
        if ((ind == 3) || (ind == 5))
            ac.style.display = "none";
        else {
            try {
                ac.style.display = "table-row";
            }
            catch (ex) {
                ac.style.display = "block";
            }
        }
    }
    if (tc != null) {
        if ((ind == 3) || (ind == 5))
            tc.style.display = "none";
        else {
            try {
                tc.style.display = "table-row";
            }
            catch (ex) {
                tc.style.display = "block";
            }
        }
    }
}

function vehicle_category_select(obj, id) {
    var txt = document.getElementById("vehicle_num_" + id);
    if (obj.checked) {
        txt.value = "1";
        txt.disabled = false;
    }
    else {
        txt.value = "";
        txt.disabled = true;
    }
    calc_price(false);
}

function vehicle_cat_clear() {
    var obj = document.getElementById("vehicle_type_ch");
    var cnt = document.getElementById("v_cat_cnt").value.split(";");

    for (i = 0; i < cnt.length; i++) {
        document.getElementById("vehicle_chk_" + cnt[i]).checked = false;
        document.getElementById("vehicle_num_" + cnt[i]).value = "";
    }
}

function vehicle_no_pref() {
    var obj = document.getElementById("vehicle_type_ch");
    var cnt = document.getElementById("v_cat_cnt").value.split(";");

    for (i = 0; i < cnt.length; i++) {
        if (obj.checked) {
            document.getElementById("vehicle_num_" + cnt[i]).disabled = true;
            document.getElementById("vehicle_chk_" + cnt[i]).disabled = true;
            document.getElementById("vehicle_chk_" + cnt[i]).checked = false;
            document.getElementById("vehicle_num_" + cnt[i]).value = "";
        }
        else {
            document.getElementById("vehicle_chk_" + cnt[i]).disabled = false;
            if (document.getElementById("vehicle_chk_" + cnt[i]).checked)
                document.getElementById("vehicle_num_" + cnt[i]).disabled = false;
        }
    }

    calc_price(!obj.checked);
}

function contact_name(obj) {
    if (obj.checked) {
        document.getElementById("contact_full_name").value = document.getElementById("travel_name").value;
        document.getElementById("traveler_send_mail_div").style.display = "none";
    }
    else {
        document.getElementById("contact_full_name").value = "";
        document.getElementById("traveler_send_mail_div").style.display = "block";
    }
}

function travel_agent_div_show(obj) {
    if (obj.checked) {
        document.getElementById("travel_agent_div").style.display = "block";
    }
    else document.getElementById("travel_agent_div").style.display = "none";
}

function traveler_mail_show_div(obj) {
    if (obj.checked) {
        document.getElementById("traveler_mail_div").style.display = "block";
    }
    else document.getElementById("traveler_mail_div").style.display = "none";
}

function aut_ext_wait_div_show(obj) {
    if (obj.checked) {
        document.getElementById("aut_ext_wait_div").style.display = "block";
    }
    else document.getElementById("aut_ext_wait_div").style.display = "none";
}

function mg_div_show(obj) {
    var txt = document.getElementById("passenger_meet_and_greet_sign");
    if (obj.checked) {
        document.getElementById("mg_div").style.display = "block";
        if (txt.value == "")
            txt.value = document.getElementById("passenger_full_name").value;
    }
    else document.getElementById("mg_div").style.display = "none";
	check_times();
}

function change_trip(obj) {
    var ind = obj.options[obj.selectedIndex].value;
    document.location = "index.php?trip=" + ind;
}

function zip_focus(obj, pre) {
	old_zip = obj.value;
}

function zip_change(obj, pre) {
//alert(pre);
	var zip = obj.value;
	if (zip == old_zip) return;

	var ajax = new Ajax();
	document.getElementById(pre + '_airport').selectedIndex = 0;
	document.getElementById(pre + '_airline').selectedIndex = 0;
	document.getElementById(pre + '_location_type').selectedIndex = 0;

	var logo = document.getElementById(pre + "_airline_logo");
	logo.src = "img/al/blc.gif";
//	logo.style.display = "none";
    document.getElementById(pre + '_flt_num').value = "";
	if ("pkp" == pre) {
		clear_airport_radio(true);
	}
	else {
		document.getElementById('dol_departure_at_h').selectedIndex = 0;
		document.getElementById('dol_departure_at_m').selectedIndex = 0;
		document.getElementById('dol_advanced_time').value = "";

		document.getElementById('dol_fbo_tail_num').value = "";
//		document.getElementById('dol_fbo_arriving_from').value = "";
		document.getElementById('dol_fbo_pilot_name').value = "";
	}

	clear_poi_full(pre);
	document.getElementById(pre + "_zip").value = zip;
    ajax.doGet('zip.php?zip=' + zip,
        function (xml) {
			obj.value = zip;
            var city = xml.getElementsByTagName('city');
            var code = xml.getElementsByTagName('code');
            var state = xml.getElementsByTagName('state');
            if (city.length > 0) document.getElementById(pre + '_city').value = city[0].childNodes[0].nodeValue;
            else document.getElementById(pre + '_city').value = "";
            if (code.length > 0) document.getElementById(pre + '_city_code').value = code[0].childNodes[0].nodeValue;
            else document.getElementById(pre + '_city_code').value = 0;
            if (state.length > 0) document.getElementById(pre + '_state').value = state[0].childNodes[0].nodeValue;
            else document.getElementById(pre + '_state').value = "";
        }
    );
    calc_price(true);
	check_times();
}

function clear_poi(pre) {
    document.getElementById(pre + "_name").value = "";
    document.getElementById(pre + "_street").value = "";
    document.getElementById(pre + "_city").value = "";
    document.getElementById(pre + "_city_code").value = 0;
    document.getElementById(pre + "_zip").value = "";
    document.getElementById(pre + "_state").value = "";
    document.getElementById(pre + "_directions").value = "";
}

function clear_poi_full(pref) {
	document.getElementById(pref + "_dtls_1").style.display = "none";
    document.getElementById(pref + "_dtls_2").style.display = "none";
    document.getElementById(pref + '_poi_ext').style.display = "none";
	try	{
		document.getElementById(pref + "_dtls_3").style.display = "none";
		if ("pkp" == pref)
			document.getElementById('pkp_allied_poi_r').style.display = "none";
	} catch (e) {}

	clear_poi(pref);
}

function set_poi_details(obj, pre)
{
	clear_poi(pre);

    var ajax = new Ajax();
    if (obj.options[obj.selectedIndex].value != 0) {
        document.getElementById(pre + "_name").value = obj.options[obj.selectedIndex].text;
        ajax.doGet('locDetails.php?poi_id=' + obj.options[obj.selectedIndex].value,
            function (xml) {
                if (xml.getElementsByTagName("street")[0].hasChildNodes())
                    document.getElementById(pre + "_street").value = xml.getElementsByTagName("street")[0].childNodes[0].nodeValue;
                if (xml.getElementsByTagName("city")[0].hasChildNodes())
                    document.getElementById(pre + "_city").value = xml.getElementsByTagName("city")[0].childNodes[0].nodeValue;
                if (xml.getElementsByTagName("code")[0].hasChildNodes())
                    document.getElementById(pre + "_city_code").value = xml.getElementsByTagName("code")[0].childNodes[0].nodeValue;
                if (xml.getElementsByTagName("zip")[0].hasChildNodes()) {
                    document.getElementById(pre + "_zip").value = xml.getElementsByTagName("zip")[0].childNodes[0].nodeValue;
                    calc_price(true);
					check_times();
                }
                if (xml.getElementsByTagName("state")[0].hasChildNodes())
                    document.getElementById(pre + "_state").value = xml.getElementsByTagName("state")[0].childNodes[0].nodeValue;
                if (xml.getElementsByTagName("dir")[0].hasChildNodes())
                    document.getElementById(pre + "_directions").value = xml.getElementsByTagName("dir")[0].childNodes[0].nodeValue;
            }
        );
    }
    else {
        calc_price(true);
    }
}

function poi_details_div(obj, pref) {
	var index = obj.value;
	var apt_list = document.getElementById(pref + '_airport');

	document.getElementById(pref + '_airline').selectedIndex = 0;
	document.getElementById(pref + '_fbo').selectedIndex = 0;
	document.getElementById(pref + '_arp_poi').selectedIndex = 0;

	document.getElementById("real_time_div").style.display = "inline";
	document.getElementById("spu_time_div").style.display = "none";
	document.getElementById("extw_raw").style.display = "table-row";

	if (apt_poi_changed) {
		clear_poi(pref)
	}

	clear_airport_radio(false);
	set_poi_details(apt_list, pref);
	check_indoor();

	switch (index) {
		case "1":
			document.getElementById('pkp_airline_details').style.display = "block";
			document.getElementById('pkp_fbo_details').style.display = "none";
			document.getElementById('pkp_airline_poi_details').style.display = "none";
			break;
		case "2":
			document.getElementById('pkp_airline_details').style.display = "none";
			document.getElementById('pkp_fbo_details').style.display = "block";
			document.getElementById('pkp_airline_poi_details').style.display = "none";
			break;
		case "3":
			document.getElementById('pkp_airline_details').style.display = "none";
			document.getElementById('pkp_fbo_details').style.display = "none";
			document.getElementById('pkp_airline_poi_details').style.display = "block";
			break;
		default:
			document.getElementById('pkp_airline_details').style.display = "none";
			document.getElementById('pkp_fbo_details').style.display = "none";
			document.getElementById('pkp_airline_poi_details').style.display = "none";
			break;
		
		apt_poi_changed = false;
	}
}

function clear_airport_radio(radio) {
	var objs = document.getElementsByName('pkp_poi_details');

	if (radio)
		for (i = 0; i < objs.length; i++)
			objs[i].checked = "";

	document.getElementById('pkp_airline_details').style.display = "none";
	document.getElementById('pkp_fbo_details').style.display = "none";
	document.getElementById('pkp_airline_poi_details').style.display = "none";
	document.getElementById('pkp_multiple_flight').checked = false;
	document.getElementById('pkp_airport_instructions').value = "";
	multiple_flight(document.getElementById('pkp_multiple_flight'));
	document.getElementById('pkp_arriving_at_h').selectedIndex = 0;
	document.getElementById('pkp_arriving_at_m').selectedIndex = 0;
	document.getElementById('pkp_arriving_from').value = "";
	document.getElementById('pkp_delay_mng_indoor').value = "";
	document.getElementById('pkp_delay_mng_outdoor').value = "";
	document.getElementById('pkp_flt_num').value = "";
	document.getElementById("pkp_airline_logo").src = "img/al/blc.gif";
//	document.getElementById("pkp_airline_logo").display = "none";

	document.getElementById('pkp_apt_fbo_tail_num').value = "";
	document.getElementById('pkp_apt_fbo_arriving_from').value = "";
	document.getElementById('pkp_apt_fbo_pilot_name').value = "";
	document.getElementById('pkp_fbo_tail_num').value = "";
	document.getElementById('pkp_fbo_arriving_from').value = "";
	document.getElementById('pkp_fbo_pilot_name').value = "";
}

function airport_change(obj, pre) {
    set_poi_details(obj, pre);

    var ajax = new Ajax();
    ajax.doGet('airlines.php?airport=' + obj.options[obj.selectedIndex].value,
        function (xml) {
            var airlines = xml.getElementsByTagName('airline');
            var items = document.getElementById(pre + '_airline');

            while (items.length > 1)
                items.remove(items.length - 1);

			if ("pkp" == pre) {
				var fbos = xml.getElementsByTagName('fbo');
				var fbo_items = document.getElementById(pre + '_fbo');
				var pois = xml.getElementsByTagName('poi');
				var poi_items = document.getElementById(pre + '_arp_poi');

				try	{
					while (fbo_items.length > 1)
						fbo_items.remove(fbo_items.length - 1);

					while (poi_items.length > 1)
						poi_items.remove(poi_items.length - 1);
				} catch (e) {}
			}

			var first = 0;
		    document.getElementById(pre + '_flt_num').value = "";

			try	{
				var logo = document.getElementById(pre + "_airline_logo");
				logo.src = "img/al/blc.gif";
	//			logo.style.display = "none";

				if ("pkp" == pre) {
					document.getElementById('pkp_airline_details').style.display = "none";
	//				clear_airport_radio(true);
					if (airlines.length) {
						document.getElementById('pkp_poi_details_span_1').style.display = "block";
						first = 1;
					}
					else
						document.getElementById('pkp_poi_details_span_1').style.display = "none";

					if (fbos.length) {
						document.getElementById('pkp_poi_details_span_2').style.display = "block";
						if (!first)
							first = 2;
					}
					else
						document.getElementById('pkp_poi_details_span_2').style.display = "none";

					if (pois.length) {
						document.getElementById('pkp_poi_details_span_3').style.display = "block";
						if (!first)
							first = 3;
					}
					else
						document.getElementById('pkp_poi_details_span_3').style.display = "none";

					if (first) {
						var radios = document.getElementsByName('pkp_poi_details');

						for (i = 0; i < radios.length; i++)
							if (radios[i].value == first) {
								radios[i].checked = true;
								poi_details_div(radios[i], pre);
								break;
							}

						try {
							document.getElementById("pkp_allied_poi_r").style.display = "table-row";
						}
						catch (ex) {
							document.getElementById("pkp_allied_poi_r").style.display = "block";
						}
					}
					else
						document.getElementById("pkp_allied_poi_r").style.display = "none";
				}
				else {
					document.getElementById('dol_departure_at_h').selectedIndex = 0;
					document.getElementById('dol_departure_at_m').selectedIndex = 0;
					document.getElementById('dol_advanced_time').value = "";

					document.getElementById('dol_fbo_tail_num').value = "";
	//				document.getElementById('dol_fbo_arriving_from').value = "";
					document.getElementById('dol_fbo_pilot_name').value = "";
				}
			} catch (e) {}

            document.getElementById(pre + '_poi_ext').style.display = "none";

			for (i = 0; i < airlines.length; i++) {
                var al = document.createElement('option');
                al.value = airlines[i].getAttribute('id');
                al.text = airlines[i].getElementsByTagName("name")[0].childNodes[0].nodeValue;
                try {
                    items.add(al, null);
                }
                catch (ex) {
                    items.add(al);
                }
            }

			if ("pkp" == pre) {
				if (fbo_items) {
					for (i = 0; i < fbos.length; i++) {
						var al = document.createElement('option');
						al.value = fbos[i].getAttribute('id');
						al.text = fbos[i].getElementsByTagName("name")[0].childNodes[0].nodeValue;
						try {
							fbo_items.add(al, null);
						}
						catch (ex) {
							fbo_items.add(al);
						}
					}
				}

				if (poi_items) {
					for (i = 0; i < pois.length; i++) {
						var al = document.createElement('option');
						al.value = pois[i].getAttribute('id');
						al.text = pois[i].getElementsByTagName("name")[0].childNodes[0].nodeValue;
						try {
							poi_items.add(al, null);
						}
						catch (ex) {
							poi_items.add(al);
						}
					}
				}
			}
        }
    );
}

function airlineChage(pref) {
	var airlineSelect = document.getElementById(pref + "_airline");
    var airportSelect = document.getElementById(pref + "_airport");
	var airline = airlineSelect.options[airlineSelect.selectedIndex].value;
	var airport = airportSelect.options[airportSelect.selectedIndex].value;

	var ajax = new Ajax();
	var url = 'airline_info.php?airport=' + airport + '&airline=' + airline + ("pkp" == pref ? "&pkp" : "");
	ajax.doGet(url, 
		function(xml) {
			if (xml.getElementsByTagName('fee')[0].childNodes.length > 0) {
				var fee = xml.getElementsByTagName('fee')[0].childNodes[0].nodeValue;
				if (0 == fee)
					document.getElementById("price_mg").innerHTML = "Free!";
				else
					document.getElementById("price_mg").innerHTML = "$" + fee;
			}

			if (xml.getElementsByTagName('delay_mng_indoor')[0].childNodes.length > 0)
				document.getElementById("pkp_delay_mng_indoor").value = xml.getElementsByTagName('delay_mng_indoor')[0].childNodes[0].nodeValue;
			else
				document.getElementById("pkp_delay_mng_indoor").value = "10";

			if (xml.getElementsByTagName('delay_mng_outdoor')[0].childNodes.length > 0)
				document.getElementById("pkp_delay_mng_outdoor").value = xml.getElementsByTagName('delay_mng_outdoor')[0].childNodes[0].nodeValue;
			else
				document.getElementById("pkp_delay_mng_outdoor").value = "30";

			if (xml.getElementsByTagName('advanced_time')[0].childNodes.length > 0)
				document.getElementById("dol_advanced_time").value = xml.getElementsByTagName('advanced_time')[0].childNodes[0].nodeValue;

			var logo = document.getElementById(pref + "_airline_logo");
			var logo_img = xml.getElementsByTagName('logo')[0].childNodes[0].nodeValue;

			if ("" != logo_img)
				logo.style.display = "inline";
			else
				logo.style.display = "none";

			if ("img" == logo_img)
				logo.src = "img/al/blc.gif";
			else
				logo.src = logo_img;
			check_times();
		}
	);
}

function poi_change(obj, pre) {
    set_poi_details(obj, pre);

    var aj = new Ajax();
    aj.doGet('poiext.php?poi=' + obj.options[obj.selectedIndex].value,
        function (xml) {
			apt_poi_changed = true;
            var exts = xml.getElementsByTagName('ext');
            var items = document.getElementById(pre + '_poi_ext');
            while (items.length > 1)
                items.remove(items.length - 1);
            if (exts.length > 0) {
                items.style.display = "inline";
                for (i = 0; i < exts.length; i++) {
                    var al = document.createElement('option');
                    al.value = exts[i].getAttribute('id');
                    al.text = exts[i].getAttribute('name');
                    try {
                        items.add(al, null);
                    }
                    catch (ex) {
                        items.add(al);
                    }
                }
            }
            else {
                items.style.display = "none";
            }
        }
    );
}

function clear_location_on_change(pref) {
    document.getElementById(pref + "_location_type").selectedIndex = 0;
    document.getElementById(pref + "_poi").selectedIndex = 0;
    document.getElementById(pref + "_poi_ext").selectedIndex = 0;
    document.getElementById(pref + "_airport").selectedIndex = 0;
    document.getElementById(pref + "_airline").selectedIndex = 0;
    document.getElementById(pref + "_dtls_1").style.display = "none";
    document.getElementById(pref + "_dtls_2").style.display = "none";
    document.getElementById(pref + "_dtls_3").style.display = "none";
    document.getElementById(pref + "_name").value = "";
    document.getElementById(pref + "_street").value = "";
    document.getElementById(pref + "_city").value = "";
    document.getElementById(pref + "_city_code").value = 0;
    document.getElementById(pref + "_zip").value = "";
    document.getElementById(pref + "_state").value = "";
    document.getElementById(pref + "_directions").value = "";


	var logo = document.getElementById(pref + "_airline_logo");
	logo.src = "img/al/blc.gif";
//	logo.style.display = "none";
    document.getElementById(pref + '_flt_num').value = "";
	if ("pkp" == pref) {
		clear_airport_radio(true);
	}
	else {
		document.getElementById('dol_departure_at_h').selectedIndex = 0;
		document.getElementById('dol_departure_at_m').selectedIndex = 0;
		document.getElementById('dol_advanced_time').value = "";

		document.getElementById('dol_fbo_tail_num').value = "";
//		document.getElementById('dol_fbo_arriving_from').value = "";
		document.getElementById('dol_fbo_pilot_name').value = "";
	}
}

function metro_changed_old(obj) {
    var metro_code = obj.options[obj.selectedIndex].value;
    document.location = "index.php?pkp_metro=" + metro_code;
}

function metro_changed(obj, pref) {
	//var obj = document.getElementById(pref + "_metro_area");
    var metro_code = obj.options[obj.selectedIndex];


    document.getElementById(pref + "_metro_code").value = metro_code.value;
    document.getElementById(pref + "_metro_name").innerHTML = metro_code.text;
	
	country_hide(pref);
	metro_hide(pref);
    clear_location_on_change(pref);
}

function metro_hide(pref) {
    document.getElementById("change_" + pref + "_metro").style.display = "none";
    document.getElementById(pref + "_metro_name").style.display = "inline";
    document.getElementById(pref + "_metro_btn").style.display = "inline";
}

function metro_show(pref) {
    document.getElementById("change_" + pref + "_metro").style.display = "inline";
    document.getElementById(pref + "_metro_name").style.display = "none";
    document.getElementById(pref + "_metro_btn").style.display = "none";
}

function station_hide(pref) {
    document.getElementById("change_" + pref + "_station").style.display = "none";
    document.getElementById(pref + "_station_span").style.display = "inline";
    document.getElementById(pref + "_station_btn").style.display = "inline";
    document.getElementById(pref + "_station_btn_c").style.display = "none";
}

function station_focus(pref) {
	if (2 == document.getElementById("edit_metro").value) {
		old_metro_name = document.getElementById(pref + "_station_name").value;
		document.getElementById(pref + "_station_name").select();
	}
}

function station_show(pref) {
    document.getElementById("change_" + pref + "_station").style.display = "inline";
    document.getElementById(pref + "_station_span").style.display = "none";
    document.getElementById(pref + "_station_btn").style.display = "none";
    document.getElementById(pref + "_station_btn_c").style.display = "inline";
    document.getElementById(pref + "_station_name").value = document.getElementById(pref + "_station_name").title;
    document.getElementById(pref + "_station_name").style.color = "#888";
    document.getElementById(pref + "_station_name").style.fontStyle = "italic";
    document.getElementById(pref + "_station_name").select();
}

function station_show_noc(pref) {
	document.getElementById(pref + "_station_span").innerHTML = "UN";
	document.getElementById(pref + "_metro_code").value = 0;
    document.getElementById("change_" + pref + "_station").style.display = "inline";
    document.getElementById(pref + "_station_span").style.display = "none";
    document.getElementById(pref + "_station_btn").style.display = "none";
    //document.getElementById(pref + "_station_btn_c").style.display = "inline";
    document.getElementById(pref + "_station_name").value = "";
}

function station_cancel(pref) {
//    var obj = document.getElementById(pref + "_country_code");
//	for (var i = 0; i < obj.options.length; i++) {
//		if (obj.options[i].value == old_country_code) {
//			obj.selectedIndex = i;
//			break;
//		}
//	}
//	country_changed(obj, pref);

//	country_hide(pref);
	station_hide(pref);
}

function country_changed(obj, pref) {
    var country_code = obj.options[obj.selectedIndex];

    document.getElementById(pref + "_country_name").innerHTML = "<img alt=\"\" src=\"img/flags/" + country_code.title + ".png\" />&nbsp;&nbsp;&nbsp;&nbsp;" + country_code.text;
	//document.getElementById(pref + "_country_flag").src = "img/flags/" +  + ".png";

	clear_location_on_change(pref);
	country_hide(pref);
	station_show_noc(pref);
	var station = document.getElementById(pref + "_station_name");
	station.value = station.title;
	station.style.color = "#888";
	station.style.fontStyle = "italic";
	station.select();
}

function country_hide(pref) {
    document.getElementById("change_" + pref + "_country").style.display = "none";
    document.getElementById(pref + "_country_name").style.display = "inline";
//    document.getElementById(pref + "_country_btn").style.display = "inline";
//    document.getElementById(pref + "_country_btn_c").style.display = "none";
}

function country_show(pref) {
    var obj = document.getElementById(pref + "_country_code");
    //old_country_code = obj.options[obj.selectedIndex].value;

    document.getElementById("change_" + pref + "_country").style.display = "inline";
    document.getElementById(pref + "_country_name").style.display = "none";
//    document.getElementById(pref + "_country_nm").class = "btn_cell";
//    document.getElementById(pref + "_country_btn").style.display = "none";
//    document.getElementById(pref + "_country_btn_c").style.display = "inline";
}

function country_cancel(pref) {
	country_hide(pref);
}

function vhPrice(xml) {
    var vehicles = xml.getElementsByTagName('vehicle');
    for (i = 0; i < vehicles.length; i++) {
        var cat = vehicles[i].getAttribute('cat');
		if (document.getElementById("vehicle_sum_" + cat)) {
			document.getElementById('price_per_v_' + cat).innerHTML = "(" + vehicles[i].childNodes[0].nodeValue + ")&nbsp;&nbsp;&nbsp;$";
			document.getElementById("vehicle_sum_" + cat).value = vehicles[i].childNodes[0].nodeValue;
		}
		else
			document.getElementById('price_per_v_' + cat).innerHTML = "&nbsp;&nbsp;&nbsp;$" + vehicles[i].childNodes[0].nodeValue;
   }
}

function price_func(xml) {
    var price_div = document.getElementById('price_t');
    var errors = xml.getElementsByTagName('error');
    var vehicles = xml.getElementsByTagName('vehicle');
    if (errors.length > 0) {
        price_div.style.color = 'red';
        price_div.innerHTML = errors[0].childNodes[0].nodeValue;
        return;
    }
    for (i = 0; i < vehicles.length; i++) {
        var cat = vehicles[i].getAttribute('category');
        var cnt = vehicles[i].getAttribute('num');
        document.getElementById("vehicle_chk_" + cat).checked = true;
        document.getElementById("vehicle_num_" + cat).value = cnt;
    }
    var price = parseFloat(xml.getElementsByTagName('value')[0].childNodes[0].nodeValue);
    vehicles = document.getElementById('v_cat_cnt').value.split(';');
	for (i = 0; i < vehicles.length; i++) {
		if (document.getElementById("vehicle_sum_" + vehicles[i])) {
			if (document.getElementById("vehicle_sum_" + vehicles[i]).value) {
				if (!isNaN(document.getElementById("vehicle_sum_" + vehicles[i]).value) && (document.getElementById('vehicle_chk_' + vehicles[i]).checked)) {
					var num = parseInt(document.getElementById('vehicle_num_' + vehicles[i]).value);
					var prc = parseFloat(document.getElementById("vehicle_sum_" + vehicles[i]).value);
					price +=  Number(prc) * num;
				}
			}
		}
	}
    price_div.innerHTML = " $ " + price.toFixed(2);
}

function blank_price() {
    var vehicles = document.getElementById('v_cat_cnt').value.split(';');
    for (i = 0; i < vehicles.length; i++) {
        var cat = vehicles[i];
        document.getElementById('price_per_v_' + cat).innerHTML = "&nbsp;";
    }

}

function calc_price(vpr) {
    try {
        var pkp_zip = document.getElementById('pkp_zip').value;
        var dol_zip = document.getElementById('dol_zip').value;
        var pax_num = parseInt(document.getElementById('number_of_passengers').value);
        var v_no_pef = document.getElementById('vehicle_type_ch').checked;
        var vehicles = document.getElementById('v_cat_cnt').value.split(';');
        var trip_types = document.getElementsByName('trip_details');
        var price_div = document.getElementById('price_t');
        var company_id = document.getElementById('agent_id').value;
        var trip_num = document.getElementById('trip_number').value;
        var v_type_cnt = '';
        var trip_type = 0;
        var duration = 0;
        var pax_cov = 0;
    }
    catch (e) {
        return;
    }

    if (v_no_pef) {
        vehicle_cat_clear();
    }

    price_div.innerHTML = '';
    price_div.style.color = 'black';

    if (trip_types[0].type == 'hidden') {
        trip_type = trip_types[0].value;
    }
    else {
        for (i = 0; i < trip_types.length; i++) {
            if (trip_types[i].checked) {
               trip_type = trip_types[i].value;
               break;
            }
        }
    }

    if (pkp_zip == '') {
            price_div.style.color = 'red';
            price_div.innerHTML = 'Please enter Pick-up ZIP';
            blank_price();
            return;
    }

    if (trip_type == 0) {
        price_div.style.color = 'red';
        price_div.innerHTML = 'Please select Trip Details';
        blank_price();
        return;
    }

    if (trip_type == 4) {
        var dr = document.getElementById('charter_duration');
        if (dr.selectedIndex == 0) {
            price_div.style.color = 'red';
            price_div.innerHTML = 'Please select Charter duration';
            blank_price();
            return;
        }
        duration = dr.options[dr.selectedIndex].value;
    }

    if ((trip_type != 4) && (dol_zip == '')) {
        price_div.style.color = 'red';
        price_div.innerHTML = 'Please enter Drop of ZIP';
        blank_price();
        return;
    }
//alert(vpr);

	if (vpr || v_no_pef) {
		for (i = 0; i < vehicles.length; i++)
			if (document.getElementById("vehicle_sum_" + vehicles[i]))
				document.getElementById("vehicle_sum_" + vehicles[i]).value = "";
	}

    if (vpr) {
        blank_price();
        var aj = new Ajax();
        var url = "";
        if (trip_type == 4) {
            url = "calcPricePerVehicle.php?duration=" + duration + "&trip_type=" + trip_type +
                      "&company_id=" + company_id + "&trip_num=" + trip_num;
        }
        else {
            url = "calcPricePerVehicle.php?zip1=" + pkp_zip + "&zip2=" + dol_zip + "&trip_type=" + trip_type +
                      "&company_id=" + company_id + "&trip_num=" + trip_num;
        }
//prompt("", "http://localhost/triptender_new/" + url);
        aj.doGet(url, vhPrice);
    }

    if (isNaN(pax_num)) {
        pax_num = 0;
        price_div.style.color = 'red';
        price_div.innerHTML = 'Please enter Number Of Passengers';
        return;
    }
    var sep = '';
    if (v_no_pef) {
        pax_cov = pax_num;
        vehicle_cat_clear();
    }
    else {
        for (i = 0; i < vehicles.length; i++) {
            if (document.getElementById('vehicle_chk_' + vehicles[i]).checked) {
                var num = parseInt(document.getElementById('vehicle_num_' + vehicles[i]).value);
                var px  = parseInt(document.getElementById('vehicle_pax_' + vehicles[i]).value);
				if (document.getElementById("vehicle_sum_" + vehicles[i]) && document.getElementById("vehicle_sum_" + vehicles[i]).value && !isNaN(document.getElementById("vehicle_sum_" + vehicles[i]).value)) {
					pax_cov += num * px;
//alert(num);
				}
				else {
					pax_cov += num * px;
					v_type_cnt += sep + vehicles[i] + ":" + num;
					sep = ";";
				}
			}
        }
    }
    document.getElementById('pax_c_n').innerHTML = pax_cov > pax_num ? 0 : pax_num - pax_cov;
    document.getElementById('pax_t').innerHTML = pax_cov > pax_num ? pax_num : pax_cov;
    if (pax_cov < pax_num) {
        document.getElementById('pax_c').style.color = 'red';
        price_div.style.color = 'red';
        price_div.innerHTML = 'Please add more vehicles';
        return;
    }
    else {
        document.getElementById('pax_c').style.color = 'black';
    }
    var ajax = new Ajax();
    //var url = "";
    if (trip_type == 4) {
        url = "calcPrice.php?duration=" + duration + "&trip_type=" + trip_type +
                  "&company_id=" + company_id + "&trip_num=" + trip_num;
    }
    else {
        url = "calcPrice.php?zip1=" + pkp_zip + "&zip2=" + dol_zip + "&trip_type=" + trip_type +
                  "&company_id=" + company_id + "&trip_num=" + trip_num;
    }
    if (v_no_pef)
        url += "&pax_num=" + pax_num;
    else
        url += "&vehicles=" + v_type_cnt;

//prompt("ttt", "http://localhost/triptender_new/" + url);
    ajax.doGet(url, price_func);
}


function setVisibility(id, visibility) {
	document.getElementById(id).style.display = visibility;
}

function preload(list) {
	var imgArr = list.split(";");
	var imgObj = new Image();
	for (i = 0; i < imgArr.length; i++) {
		imgObj.src = "img/flags/" + imgArr[i] + ".png";
	}
}

<!-- Initialize the Validation Text Field widget object-->
$(document).ready(function(){
	var pkp_date_field = new Spry.Widget.ValidationTextField("pkp_date_field", "date", {isRequired: true, format:"mm/dd/yyyy", validateOn:["blur", "change"]});
	var contact_email_address_field = new Spry.Widget.ValidationTextField("contact_email_address_field", "email", {isRequired: true, format:"mm/dd/yyyy", validateOn:["blur", "change"]});
});

function calc_summary_price() {
	var trip_cnt = document.getElementById("trip_cnt").value;
	var total_sum = 0;
	var total_modifiers = 0;

	var num;
	var vh_cat;
	var vh_mod;
	var vh_cat_cnt;
	var vh_cat_sum;
	var vh_cat_ttl_sum;

	for (i = 1; i <= trip_cnt; i++) {
		vh_cat = document.getElementById("vehicle_cats_" + i).value.split(";");
		vh_mod = document.getElementById("modifiers_" + i).value;
		num = new Number(vh_mod);
		total_modifiers += num;
		for (j = 0; j < vh_cat.length; j++) {
			 vh_cat_cnt = document.getElementById("vehicle_cnt_" + i + "_" + vh_cat[j]).value;
			 vh_cat_sum = new Number(document.getElementById("vehicle_sum_" + i + "_" + vh_cat[j]).value);
			 vh_cat_ttl_sum = new Number(vh_cat_cnt * vh_cat_sum);
			 document.getElementById("vehicle_sum_" + i + "_" + vh_cat[j]).value = vh_cat_sum.toFixed(2);
			 document.getElementById("vehicle_ttl_sum_" + i + "_" + vh_cat[j]).value = vh_cat_ttl_sum.toFixed(2);
			 total_sum += vh_cat_ttl_sum;
		}
	}

	var proc = document.getElementById("itinerary_tip_percent").value;
	var tip = 0;
	if (proc) {
		if (isNaN(proc)) {
			document.getElementById("itinerary_tip_percent").value = "";
			document.getElementById("itinerary_tip_sum").value = "";
		}
		else {
			num = new Number(proc);
			document.getElementById("itinerary_tip_percent").value = num.toFixed(2);
			num = new Number(total_sum * proc / 100);
			tip = num;
			document.getElementById("itinerary_tip_sum").value = num.toFixed(2);
		}
	}
	else
		document.getElementById("itinerary_tip_sum").value = "";

	var promo = document.getElementById("promocodes").value;

	var add_ch = document.getElementById("summary_charges").value;
	var addition = 0;
	if (add_ch) {
		if (isNaN(add_ch)) {
			document.getElementById("summary_charges").value = "";
		}
		else {
			num = new Number(add_ch);
			addition = num;
			document.getElementById("summary_charges").value = num.toFixed(2);
		}
	}

	var disc_ch = document.getElementById("summary_discount").value;
	if (disc_ch) {
		if (isNaN(disc_ch)) {
			document.getElementById("summary_discount").value = "";
			disc_ch = 0;
		}
		else {
			num = new Number(disc_ch);
			document.getElementById("summary_discount").value = num.toFixed(2);
		}
	}
	else
		disc_ch = 0;

	num = new Number(total_sum + total_modifiers + tip + addition - promo - disc_ch);
	document.getElementById("itinerary_total_sum").value = num.toFixed(2);
}


