// JavaScript Document

/* /////////////////////////////////////////////////////////////////////////////// */
function parseCity(city)
{
    var newCity="";
    var workCity=city.split(" ");
    if(workCity.length==1)
    {
        newCity = workCity[0];
    }else if(workCity.length>1)
    {
        newCity = workCity[0];
        var vars="";
        for (var i=1;i<workCity.length;i++)
        {
            vars=vars+"-"+workCity[i];
        }
        newCity=newCity+vars;
    }

    return newCity;
}

var deftHtlBkgStartDt = Date.today().add(14).days().toString("MM/dd/yyyy");
var deftHtlBkgEndDt = Date.today().add(21).days().toString("MM/dd/yyyy");

function redirectToPatner(partnerName,popupValue,noofrooms,htlBkgStartDt,htlBkgEndDt,bt_HotelName)
{
    switch(partnerName){
        case "Priceline":
            pricelineUrl="http://ad.doubleclick.net/clk;215012494;32930078;z?http://www.priceline.com/qp.asp?refid=PLBUDGETTRAVEL&refclickid=HOTELSEARCH&ProductID=5";
            pricelineUrl=pricelineUrl+"&numberOfRooms="+noofrooms+"&CITY="+city+"&CheckInDate="+htlBkgStartDt+"&CheckOutDate="+htlBkgEndDt+"&HotelName="+bt_HotelName;
            //prompt('',pricelineUrl);
            window.open(pricelineUrl,'Priceline','menubar, toolbar, location, directories, status, scrollbars, resizable, dependent, width=825, height=500, left='+popupValue+', top='+popupValue);
            break;

        case "Travelocity":
            travelocityUrl="http://ad.doubleclick.net/clk;220964026;32930078;c?http://travel.travelocity.com/hotel/HotelCobrand.do?";
            travelocityUrl=travelocityUrl+"city="+city+"&dateLeavingDay="+new Date(htlBkgStartDt).toString("d")+"&dateLeavingMonth="+new Date(htlBkgStartDt).toString("M")+
            "&dateReturningDay="+new Date(htlBkgEndDt).toString("d")+"&dateReturningMonth="+new Date(htlBkgEndDt).toString("M")+
            "&WA1=03010&WA2=215967132&WA3=38362352&WA4=0&WA5=1653085&WA6=336501";
            //prompt('',travelocityUrl);
            window.open(travelocityUrl,'Travelocity','menubar, toolbar, location, directories, status, scrollbars, resizable, dependent, width=825, height=500, left='+popupValue+', top='+popupValue);
            break;

        case "TripAdvisor":
            tripadvisorUrl="http://ad.doubleclick.net/clk;223914264;32930078;f?http://www.tripadvisor.com/HACSearch?m=12007"
            tripadvisorUrl=tripadvisorUrl+"&q="+city+"&inDay="+new Date(htlBkgStartDt).toString("dd")+
            "&inMonth="+new Date(htlBkgStartDt).toString("MM%2Fyyyy")+"&outDay="+new Date(htlBkgEndDt).toString("dd")+
            "&outMonth="+new Date(htlBkgEndDt).toString("MM%2Fyyyy")+"&adults=1";
            //prompt('',tripadvisorUrl);
            window.open(tripadvisorUrl,'Tripadvisor','menubar, toolbar, location, directories, status, scrollbars, resizable, dependent, width=825, height=500, left='+popupValue+', top='+popupValue);
            break;

        case "Expedia":
            expediaUrl="http://ad.doubleclick.net/clk;220984289;32930078;p?http://www.expedia.com/pubspec/scripts/eap.asp?GOTO=HOTSEARCH&SearchType=Destination"+"&CityName="+city;
            expediaUrl=expediaUrl+"&InDate="+htlBkgStartDt+"&OutDate="+htlBkgEndDt+"&NumRoom="+noofrooms+"&ChainName="+bt_HotelName;
            //prompt('',expediaUrl);
            window.open(expediaUrl,'Expedia','menubar, toolbar, location, directories, status, scrollbars, resizable, dependent, width=825, height=500, left='+popupValue+', top='+popupValue);
            break;

        case "Orbitz":
            orbitzUrl="http://ad.doubleclick.net/clk;217150348;32930078;c?http://ad.doubleclick.net/clk;208956841;30970863;s?http://www.orbitz.com/App/SubmitQuickSearch?searchType=hotel&orbotHotelSearchTypeKey=+&isBot=true&locationType=std&useStartCal=true&useEndCal=true&guests=1&rooms=1&expandSearchOptions=false"
            orbitzUrl=orbitzUrl+"&target="+city+"&startDate="+new Date(htlBkgStartDt).toString("MM%2Fdd%2Fyy")+"&endDate="+new Date(htlBkgEndDt).toString("MM%2Fdd%2Fyy")+"&nameContainsPIB="+bt_HotelName;

            //prompt('',orbitzUrl);
            window.open(orbitzUrl,'Orbitz','menubar, toolbar, location, directories, status, scrollbars, resizable, dependent, width=825, height=500, left='+popupValue+', top='+popupValue);
            break;

        case "BookingBuddy":
            bookingbuddyUrl="http://ad.doubleclick.net/clk;213159045;32930078;b?http://rd.bookingbuddy.com/?r=bbs_bt_ros_unchecked-box-h_001";
            bookingbuddyUrl=bookingbuddyUrl+"&arrival_city="+city+"&arrival_month="+new Date(htlBkgStartDt).toString("M")+"&arrival_day="+new Date(htlBkgStartDt).toString("d")+"&departure_month="+new Date(htlBkgEndDt).toString("M")+"&departure_day="+new Date(htlBkgEndDt).toString("d")+"&num_rooms="+noofrooms+"&num_travelers=1";
            //prompt('',bookingbuddyUrl);
            window.open(bookingbuddyUrl,'Bookingbuddy','menubar, toolbar, location, directories, status, scrollbars, resizable, dependent, width=825, height=500, left='+popupValue+', top='+popupValue);
            break;

        case "GetARoom":
            getaroomUrl="http://ad.doubleclick.net/clk;216615038;32930078;d?http://www.getaroom.com/properties/"+parseCity(bt_HotelName)+"?check_in="+new Date(htlBkgStartDt).toString("MM%2Fdd%2Fyyyy")+"&check_out="+new Date(htlBkgEndDt).toString("MM%2Fdd%2Fyyyy")+"&tracking_id=budgettravel01";
            //prompt('',getaroomUrl);
            window.open(getaroomUrl,'Getaroom','menubar, toolbar, location, directories, status, scrollbars, resizable, dependent, width=825, height=500, left='+popupValue+', top='+popupValue);
            break;

        case "Trip":
            tripUrl="http://ad.doubleclick.net/clk;217705496;32930078;m?http://www.trip.com/index.html?type=hotel"+"&hoWhere="+city;
            tripUrl=tripUrl+"&checkIn="+htlBkgStartDt+"&checkOut="+htlBkgEndDt+"&rooms="+noofrooms+"&cmpid=105";
            //prompt('',tripUrl);
            window.open(tripUrl,'Trip.com','menubar, toolbar, location, directories, status, scrollbars, resizable, dependent, width=825, height=500, left='+popupValue+', top='+popupValue);
            break;

        default:
            alert(" Selected Partner Not Found ");
    }
}

function openCmPrices(form){

    var noofrooms=form.checkRatesROOMS.value;
    var htlBkgStartDt=form.CheckInDate.value;
    var htlBkgEndDt=form.CheckOutDate.value;
    var bt_HotelName=form.hotelName.value;
    var popupValue=0;
    var popupIncrValue=40;
    if(!((form.topPartners==null)|| (form.topPartners==undefined))){
        var topPartnerLength=form.topPartners.length;
        for (i = 0; i < topPartnerLength; i++) {
            if (form.topPartners[i].checked==true) {
                popupValue=popupValue+popupIncrValue;
                redirectToPatner(form.topPartners[i].value,popupValue,noofrooms,htlBkgStartDt,htlBkgEndDt,bt_HotelName);
            }
        }
    }
    if(!((form.lowerPartners==null)|| (form.lowerPartners==undefined))){
        var lowerPartnerLength=form.lowerPartners.length;        
        if(lowerPartnerLength==undefined){
            popupValue=popupValue+popupIncrValue;            
            redirectToPatner(form.lowerPartners.value,popupValue,noofrooms,htlBkgStartDt,htlBkgEndDt,bt_HotelName);
        }else{
            for (i = 0; i < lowerPartnerLength; i++) {
                if (form.lowerPartners[i].checked) {
                    popupValue=popupValue+popupIncrValue;                    
                    redirectToPatner(form.lowerPartners[i].value,popupValue,noofrooms,htlBkgStartDt,htlBkgEndDt,bt_HotelName);
                }
            }
        }
    }

}


/* /////////////////////////////////////////////////////////////////////////////// */
var hotelChkCheckRates = 0;

$(document).ready(function()
{

    /* the little "x" close button */
    function closePopup()
    {
        $('div.popup').css('display','none');
		
		   $('ul.alt_row_listing li').css('z-index','1');  /* z-indexing on this page is jacked */
    }

    /* display vendor checkbox count */
    function countCheckedCheckRates()
    {
        hotelChkCheckRates = $('#frm_checkRates :input:checked').size();

        $('#checkRatesVendorCount').html('<span>'+hotelChkCheckRates+'</span>' + (hotelChkCheckRates == 1 ? ' partner' : ' partners') + ' checked');
        if(hotelChkCheckRates == 0)
        {
            $('#checkRatesPopupBlkMsg').text('Please check at least one partner');
            $('#checkRatesPopupBlkMsg').addClass('attention');
        }
        else
        {
            $('#checkRatesPopupBlkMsg').text('Please turn off pop-up blockers');
            $('#checkRatesPopupBlkMsg').removeClass('attention');
        }
    }

    $('#frm_checkRates :input:checkbox').bind('click', function(e)
    {
        countCheckedCheckRates();
    });

    /* the check rates button and pop-up form */
    $('a.check_rates').hover(function()  // on hover...
    {
        if ($.browser.msie && $.browser.version == 7)
			$(this).parent().parent().siblings().css('z-index','-1');  /* z-indexing on this page is jacked */
		else
			$(this).parent().parent().siblings().css('z-index','0');  /* z-indexing on this page is jacked */

	    $(this).next().css('display','block');

        /* default date values within the form */
        $(this).next().find('.checkindate').val(deftHtlBkgStartDt);
        $(this).next().find('.checkoutdate').val(deftHtlBkgEndDt);

        /* populate the hotel name within the form */
        var tmpHotelNm = $(this).parent().find('#hotelName a').html();
        $(this).next().find('#hotelName').val(tmpHotelNm);
        $(this).next().find('legend.hotel_name').html(tmpHotelNm);

        countCheckedCheckRates();

    },function()  // on mouse out...
    {
        });

    $('form.checkrates .close_popup').click(function()
    {
        closePopup();
    });
});
