var srcRoot="";
if(top.location.href.indexOf("local.breezenet")==-1&&top.location.href.indexOf("dev.breezenet")==-1&&top.location.href.indexOf("qa.breezenet")==-1&&top.location.href.indexOf("secure.breezenet")==-1&&top.location.href.indexOf("rentalcars")==-1)srcRoot="http://secure.breezenet.com";


var corperateDiscounts = new Array();
var rateCodes = new Array();
var couponNumbers = new Array();
corperateDiscounts[0] = "Corperate Discount";
rateCodes[0] = "Rate Code";
couponNumbers[0] = "";
corperateDiscounts[1] = "Alamo Corporate ID";
rateCodes[1] = "Rate/Product Code";
couponNumbers[1] = "Coupon Code";
corperateDiscounts[2] = "Corporate Avis Worldwide Discount";
rateCodes[2] = "Rate Code";
couponNumbers[2] = "Coupon Number";
corperateDiscounts[3] = "Budget CorpRate Discount (BDC)";
rateCodes[3] = "Rate Plan";
couponNumbers[3] = "Coupon Code";
corperateDiscounts[4] = "Corporate Discount (CD)";
rateCodes[4] = "Promotion Code";
couponNumbers[4] = "";
corperateDiscounts[5] = "Corporate or Association Discount";
rateCodes[5] = "";
couponNumbers[5] = "Coupon Code";
corperateDiscounts[6] = "Corporate Discount";
rateCodes[6] = "Rate Code (RQ)";
couponNumbers[6] = "Promotional Coupon (PC)";
corperateDiscounts[7] = "National Corporate/Contracted Rate";
rateCodes[7] = "Rate Code";
couponNumbers[7] = "Coupon Code";
corperateDiscounts[8] = "Corporate Discount";
rateCodes[8] = "";
couponNumbers[8] = "";
corperateDiscounts[9] = "Corporate Discount";
rateCodes[9] = "PC # or Rate Code";
couponNumbers[9] = "";


jQuery.cookie = function (key, value, options) {
    
    // key and at least value given, set cookie...
    if (arguments.length > 1 && String(value) !== "[object Object]") {
        options = jQuery.extend({}, options);

        if (value === null || value === undefined) {
            options.expires = -1;
        }

        if (typeof options.expires === 'number') {
            var days = options.expires, t = options.expires = new Date();
            t.setDate(t.getDate() + days);
        }
        
        value = String(value);
        
        return (document.cookie = [
            encodeURIComponent(key), '=',
            options.raw ? value : encodeURIComponent(value),
            options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
            options.path ? '; path=' + options.path : '',
            options.domain ? '; domain=' + options.domain : '',
            options.secure ? '; secure' : ''
        ].join(''));
    }

    // key and possibly options given, get cookie...
    options = value || {};
    var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
    return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
};


function showOrHideCorperateDiscounts(){
	var corperateDiscountDiv = document.getElementById("corperate_discount_details_id");
	if(corperateDiscountDiv.style.display == "inline")
	{
		corperateDiscountDiv.style.display = "none";
	} else {
		corperateDiscountDiv.style.display = "inline";
	}
}
function showCorrectCorperateDiscountsFields(indexNumber){
	var index = indexNumber - 1;
	var corperateDiscountDiv = document.getElementById("corperate_discount_code_div_id");
	var rateCodeDiv = document.getElementById("corperate_rate_code_div_id");
	var couponNumberDiv = document.getElementById("corperate_coupon_number_div_id");
	var corperateDiscountString = corperateDiscounts[index];
	var rateCodeString = rateCodes[index];
	var couponNumberString = couponNumbers[index];
	if(corperateDiscountString == "" || index == -1){
		corperateDiscountDiv.style.display = "none";
	} else {
		corperateDiscountDiv.style.display = "inline";
		corperateDiscountLabelDiv = document.getElementById("promotionalCode_label");
		corperateDiscountLabelDiv.innerHTML = corperateDiscountString;
	}
	if(rateCodeString == "" || index == -1){
		rateCodeDiv.style.display = "none";
	} else {
		rateCodeDiv.style.display = "inline";
		rateCodeLabelDiv = document.getElementById("rateCode_label");
		rateCodeLabelDiv.innerHTML = rateCodeString;
	}
	if(couponNumberString == "" || index == -1){
		couponNumberDiv.style.display = "none";
	} else {
		couponNumberDiv.style.display = "inline";
		rateCodeLabelDiv = document.getElementById("couponNumber_label");
		rateCodeLabelDiv.innerHTML = couponNumberString;
	}
} 

$(document).ready(function() {
	

	$("select#rental-car-company").change(function() {
		if ($(this).hasClass("bnm-gray"))
		{
			load_discount_code_fields(false,true);
		}
		else if ($(this).parent().parent().parent().parent().parent().parent().get(0).tagName.toLowerCase() == "td" || $(this).parent().parent().parent().parent().parent().parent().parent().get(0).id.toLowerCase() == "about-search-bottom-right")
		{
			load_discount_code_fields();
		}
		else
		{
			load_discount_code_fields(false,true);
		}
	});

	$("a#search-rental-cars").click(function() {
		// ensure there is a three hour difference between pick-up and drop-off on same day rentals
		if ($("input#rs_chk_in").val() == $("input#rs_chk_out").val())
		{
			var hours_difference = (parseInt($("select#dropoff-time").val().replace("30","50").replace(":",""),10) - parseInt($("select#pickup-time").val().replace("30","50").replace(":",""),10)) / 100;
			if (hours_difference < 3)
			{
				alert("There must be a three hour difference between the pick-up and drop-off times");
				$("select#dropoff-time").focus();
				return false;
			}
		}

		if ($("input#citypu").val().length == 0)
		{
			alert("You must specify a location");
			$("input#citypu").focus();
			return false;
		}

		if ($("input#return-at-different-location").attr("checked") && $("input#citydo").val().length == 0)
		{
			alert("You must specify a dropoff location");
			$("input#citydo").focus();
			return false;
		}

		if ($("input#rs_chk_in_vis").val() == "mm/dd/yyyy")
		{
			alert("You must specify a pick-up date");
			$("input#rs_chk_in_vis").focus();
			return false;
		}

		if ($("select#pickup-time").val() == "any")
		{
			alert("You must specify a pick-up time");
			$("select#pickup-time").focus();
			return false;
		}

		if ($("input#rs_chk_out_vis").val() == "mm/dd/yyyy")
		{
			alert("You must specify a drop-off date");
			$("input#rs_chk_out_vis").focus();
			return false;
		}

		if ($("select#dropoff-time").val() == "any")
		{
			alert("You must specify a drop-off time");
			$("select#dropoff-time").focus();
			return false;
		}

		if (Math.abs(new Date($("input#rs_chk_in").val() + " " + $("select#pickup-time").val()).getTime() - new Date($("input#rs_chk_out").val() + " " + $("select#dropoff-time").val()).getTime()) > 1000 * 60 * 60 * 24 * 310)
		{
			alert("That is an invalid drop-off time, it exceeds our limit of 310 days for a reservation");
			$("select#pickup-time").focus();
			return false;
		}

		if ($("select#rental-car-company").val() != "" && $("select#rental-car-company").val() != undefined)
		{
			var blnCoupon=false;
			
			if($("input#cd").val()!=undefined&&$("input#cd").val()!="")blnCoupon=true;
			if($("input#pc").val()!=undefined&&$("input#pc").val()!="")blnCoupon=true;
			if($("input#rc").val()!=undefined&&$("input#rc").val()!="")blnCoupon=true;
			if($("input#cd2").val()!=undefined&&$("input#cd2").val()!="")blnCoupon=true;
			
			if(!blnCoupon)
			{
				alert("Please enter your coupon code.");
				return false;
			}
		}
		$(this).addClass("searching");
		$("form.search-form-to-submit").submit();

		// THE NEXT TWO LINES ARE A HACK TO ENSURE THE GIF KEEPS ROTATING EVEN AFTER THE PAGE CHANGE HAS BEGUN (works in ff3, ie6/7 & chrome)
		var image = document.getElementById("loader-img");
		setTimeout(function() { image.src = image.src; },50);

		return false;
	});
	
	
	
	
	
	$("form.search-form-to-submit").submit(function(){
		if($("input#putype").val()=="air")
		{
			var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
			if(!is_chrome)rs_doPop();
		}
			if($('#rs_chk_in_vis').val() == 'mm/dd/yyyy' || $('#rs_chk_out_vis').val() == 'mm/dd/yyyy'){
				alert('Please Select Pick-Up/Drop-Off Dates');
				return false;
			}
			if ($('#return-at-different-location').attr('checked') == true && $('#citydo').val() != ''){
				var dropoff = '&doSearchInput='+$('#citydo').val();
				var forceSame = '';
			} else {
				var dropoff = '';
				var forceSame = 'puSameAsDo=true&';
			}
		var puLocationType = $('#locationTypeFTS').val();
		
		if(puLocationType=='airport'){
			var iata = $('#citypu').val().match(/\((.*?)\)/);
			var search = iata[1];
		} else {
			var search = $('#citypu').val();
		}
		
		var tracking = $.cookie("Referral");
		var trackingUrl = ''; 
		if(tracking != ''){
			trackingUrl = '&'+tracking;
		}
		if($('#company_code').val() == '' || $('#company_code').val() == null){
			var cct = "";
		} else {
			var cct = "&rateQualifier.partnerCode="+$('#company_code').val();
		}
		var puDate = $('#rs_chk_in_vis').val().split('/');
		var doDate = $('#rs_chk_out_vis').val().split('/');
		var puTime = $('#pickup-time').val().split(':');
		var doTime = $('#dropoff-time').val().split(':');
		var puYear = puDate[2];
		var puMonth = puDate[0];
		var puDay = puDate[1];
		var doYear = doDate[2];
		var doMonth = doDate[0];
		var doDay = doDate[1];
		var puHour = puTime[0];
		var puMinute = puTime[1];
		var doHour = doTime[0];
		var doMinute = doTime[1];
		var corperateDiscountCode_input = $('#corperateDiscountCode_input').val();
		var couponNumber_input = $('#couponNumber_input').val();
		var promotionalCode_input = $('#promotionalCode_input').val();
		var url = 'http://www.rentalcars.com/FreeTextSearchResults.do?'+forceSame+'puLocationType='+puLocationType+'&puYear='+puYear+'&puMonth='+puMonth+'&puDay='+puDay+'&puHour='+puHour+'&puMinute='+puMinute+'&doYear='+doYear+'&doMonth='+doMonth+'&doDay='+doDay+'&doHour='+doHour+'&doMinute='+doMinute+'&puSearchInput='+search+''+dropoff+'&driversAge=25&searchType=geosearch&rateQualifier.accountNo='+corperateDiscountCode_input+'&rateQualifier.discountNbr='+couponNumber_input+'&rateQualifier.rateCode='+promotionalCode_input+''+trackingUrl+''+cct;
		window.location = url;
		return false;
		
		
	});


function rs_doPop()
{
	if ( rs_checkPop() && chk_affid=="XMRENTALCARS" )
	{
		var page = "/pop-up/popunder.php?pu_air=" + $("input#citypu").val() + "&pudt=" + $("input#rs_chk_in").val() + "&dodt=" + $("input#rs_chk_out").val() + "&putm=" + $("select#pickup-time").val() + "&dotm=" + $("select#dropoff-time").val();
		var windowprops = "resizable=1,scrollbars=1,menubar=1,location=1,toolbar=1,titlebar=1,width=787,height=800, top=50, left=50";
		newWindow = window.open(page, 'HBCPop', windowprops);
		newWindow.blur();
	}
}
function rs_checkPop()
{
	var oldTime = rs_readCookie("lastHBCPop");
	var rightNow = new Date();

	if ( oldTime == null )
	{
		rs_createCookie( "lastHBCPop", rightNow.getTime(), 0 );
		return ( true );
	}
	else
	{
		if ( (parseInt(oldTime) + (4 * 60 * 60 * 60 )) > (parseInt(rightNow.getTime())) )
		{
			return ( false );
		}
		else
		{
			rs_createCookie( "lastHBCPop", rightNow.getTime(), 0 );
			return ( true );
		}
	}
}
function rs_createCookie(name,value,days)
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}
function rs_readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
});
