// Contains Java script checks for the Car Search page
// Created on June 11th 2008 by Sujala Velagapudi (suvelagapudi@hotels.com)

/* If Drop city is not populated, it picks its value from the pick up city */
function compareDropAndPickLocation() {
	if ((dropOffCity = document.getElementById("dropCity")) && (pickupCity = document.getElementById("city"))) {
	    if (dropOffCity.value == "") {
	        dropOffCity.value = pickupCity.value;
	    }
	}
}


/******************    START SPECIAL EQUIPMENT    ****************************/
var count = 0;
var specialEquipmentCheckboxes = document.getElementsByName("specialEquipment");

/* Handles the display of special equipment when a page is loaded */
function handleSpecialEquipmentOnPageLoad() {
    count = getNumberOfSpecialEquipmentChecked();
    if (count > 0) {
        showSpecialEquipmentBlock();
    } else {
    	hideSpecialEquipmentBlock();
    }
}

/* Handles the checking and unchecking of the need-special-equpiment checkbox */
function handleSpecialEquipment() {
    if (document.getElementById('need-special-equipment').checked) {
        showSpecialEquipmentBlock();
    } else {
        hideSpecialEquipmentBlock();
    }
}

/* Shows the special equipment block and makes sure that the need-special-equipment checkbox is checked */
function showSpecialEquipmentBlock() {
    if (count >= 4) {
        disableSpecialEquipmentCheckboxes()
    } else {
        enableAllSpecialEquipmentCheckboxes();
    }
    document.getElementById('need-special-equipment').checked = true;
    document.getElementById('special-equipment').style.display = 'block';
}

/* Hides the special equipment block. It also ensures that all special equpment options have been unchecked 
   and the need-special-equipment checkbox is unchecked */
function hideSpecialEquipmentBlock() {
    unCheckAllSpecialEquipment();
    enableAllSpecialEquipmentCheckboxes();
    document.getElementById('need-special-equipment').checked = false;
    document.getElementById('special-equipment').style.display = 'none';
}

/* Unchecks all special equipment options and sets the count to Zero */
function unCheckAllSpecialEquipment() {
    for (var i = specialEquipmentCheckboxes.length - 1; i >= 0; i--) {
        specialEquipmentCheckboxes[i].checked = false;
    }
    count = 0;
}

/* Ensures that only four special equipment options are selected */
function handleSpecialEquipmentCheckboxesClick(checkBoxElement) {
    if (checkBoxElement.checked) {
        count++;
        if (count >= 4) {
            disableSpecialEquipmentCheckboxes(); 
        }
    } else {
        count--;
        enableAllSpecialEquipmentCheckboxes()
    }
}

/* Disables the check boxes that have not been checked.*/
function disableSpecialEquipmentCheckboxes(){
    for (var i = specialEquipmentCheckboxes.length - 1; i >= 0; i--) {
        specialEquipmentCheckboxes[i].disabled = (specialEquipmentCheckboxes[i].checked == false) ? true : false;
    }
}

/* Enables the ALL the check boxes in the Special Equipment section */
function enableAllSpecialEquipmentCheckboxes(){
    for (var i = specialEquipmentCheckboxes.length - 1; i >= 0; i--) {
        specialEquipmentCheckboxes[i].disabled = false;
    }
}

/* Counts the number of special equipment checked */
function getNumberOfSpecialEquipmentChecked(){
    var tempCount = 0;
    for (var i = specialEquipmentCheckboxes.length - 1; i >= 0; i--) {
        if (specialEquipmentCheckboxes[i].checked == true) {
            tempCount ++;
        }
    }
    
    return tempCount;
}

/******************    END SPECIAL EQUIPMENT    *******************************/

/******************    START DISCOUNT CODES    ********************************/
/* Handles the display of discount codes section on page load */
function handleDiscountCodeOnLoad(){
	var corpDiscount = document.getElementById("corporate-discount-code");
	var promoCode =  document.getElementById("promo-coupon-code");
	if (corpDiscount.value.replace(/^\s+|\s+$/g, '') != "") {
		showDiscountCode();
		selectCorporateDiscountCode();
	} else if (promoCode.value.replace(/^\s+|\s+$/g, '') != "") {
		showDiscountCode();
		selectDiscountCodeTypePromo();
	} else {
	    hideDiscountCode();
	}
}

/** Handles the checking and unchecking of the checkbos use-discount-code */
function handleDiscountCode(){
	if (document.getElementById('use-discount-code').checked) {
		showDiscountCode();
	} else {
	    hideDiscountCode();
	}
}

/* Selects the Corporate discount code and clears the Promotional discount */
function selectCorporateDiscountCode(){
    var discountCodeTypeElem = document.getElementById("discount-code-type-corporate");
    discountCodeTypeElem.checked = true;
    var discountCodeElem = document.getElementById("promo-coupon-code");
    discountCodeElem.value = "";
}


/* Selects the Promotional discount code and clears the Corporate discount*/
function selectDiscountCodeTypePromo(){
    var discountCodeTypeElem = document.getElementById("discount-code-type-promo");
    discountCodeTypeElem.checked = true;
    var discountCodeElem = document.getElementById("corporate-discount-code");
    discountCodeElem.value = "";
}

/* Shows the discount code section. */
function showDiscountCode() {
    document.getElementById('use-discount-code').checked = true;
    document.getElementById('discount-code').style.display = 'block';
}

/* Hides the discount code section. */
function hideDiscountCode() {
    document.getElementById('use-discount-code').checked = false;

    document.getElementById("corporate-discount-code").value = "";
    document.getElementById("discount-code-type-corporate").checked = false;
    
	document.getElementById("promo-coupon-code").value = "";
    document.getElementById("discount-code-type-promo").checked = false;

    document.getElementById('discount-code').style.display = 'none';
}

/******************    END DISCOUNT CODES    **********************************/
