sfHover = function() {
if (document.getElementById("nav")!=null) {
	var sfEls = document.getElementById("nav").getElementsByTagName("LI");
	for (var i = 0; i < sfEls.length; i++) {
	sfEls[i].onmouseover=function() {
	this.className += " sfhover";
	}
	sfEls[i].onmouseout=function() {
	this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
	}
	}
}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

//////////// put this part for layer ////////////
sfToolHover = function() {
if (document.getElementById("tooltips")) {
var sfEls = document.getElementById("tooltips").getElementsByTagName("A");
for (var i = 0; i < sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className += " sftoolhover";
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp(" sftoolhover\\b"), "");
}
}
}
}
if (window.attachEvent) window.attachEvent("onload", sfToolHover);

var html = "<div id=\"hotelInfoMapsPopup\" style=\"width: 447px; height: 179px; overflow: hidden;\"><div class=\"hotelImage\"><div class=\"hotelDetails-image\"><a href=\"#\" onclick=\"window.open('moreDetails.jsf?lang=LANG&amp;hotelCode=HOTEL_CODE&amp;tabIdx=1', 'popupWindow', 'dependent=yes, menubar=no, toolbar=no, height=600, width=820 , scrollbars=yes');\"><img src=\"IMAGE_URL\" width=\"125\" /></a></div><div id=\"hotelImageFooter\"></div></div><div class=\"hotelDetails\"><div class=\"hotelName\"><a href=\"#\" onclick=\"window.open('moreDetails.jsf?lang=LANG&amp;hotelCode=HOTEL_CODE&amp;tabIdx=0', 'popupWindow', 'dependent=yes, menubar=no, toolbar=no, height=600, width=820 , scrollbars=yes');\">HOTEL_NAME</a>STAR_URL&#160;|&#160;LOCATION</div><div class=\"hotelDescription\">HOTEL_DESC<a href=\"#\" onclick=\"window.open('moreDetails.jsf?lang=LANG&amp;hotelCode=HOTEL_CODE&amp;tabIdx=0', 'popupWindow', 'dependent=yes, menubar=no, toolbar=no, height=600, width=820 , scrollbars=yes ');\" class=\"rt-commandLink\">MORE_DETAILS</a></div><div class=\"hotelDetails-Bottom\"><div class=\"hotelDetails-facilities\">FACILITIES</div><span class=\"clearFix\"></span></div></div></div>";

function limitText(limitField, limitNum) {
	if (limitField.value.length > limitNum) {
		limitField.value = limitField.value.substring(0, limitNum);
	}
}

function toggle(id) {
    var style = document.getElementById(id).style;
    if ("block" == style.display) {
        style.display = "none";
        document.getElementById(id+"Off").style.display = "inline";
        document.getElementById(id+"On").style.display = "none";
    } else {
        style.display = "block";
        document.getElementById(id+"Off").style.display = "none";
        document.getElementById(id+"On").style.display = "inline";
    }
}

function resetInputField(id) {
    var field = document.getElementById(id);
    field.value = '';
}

function resetInputFieldIfNotEmpty(field, id){
	if (field.value != null && field.value.length > 0){
		resetInputField(id);
	}
}

function submitToAnchor(anchor, formElem) {
	var par = formElem.parentNode;
	while(par && par.nodeName!='form' && par.nodeName!='FORM') {
		par = par.parentNode;
	}
	par.action = par.action + '#' + anchor;
	par.submit();
}

function doLogout() {
	window.location.href = 'ibm_security_logout?logoutExitPage=login.jsf';
}

function progressbar() {
    var pb = document.getElementById('progressBar');
    pb.style.display = '';
   var contextPath = window.location.pathname;
    var pbHtml = '<iframe width="100%" height="100%" frameborder="0" scrolling="no" marginwidth="0" marginheight="0" src="./includes/progressbar.html"></iframe>';
    if (contextPath.indexOf("affiliate") > -1) {
    	pbHtml = '<iframe width="100%" height="100%" frameborder="0" scrolling="no" marginwidth="0" marginheight="0" src="../../includes/progressbar.html"></iframe>';
    }
	pb.innerHTML = pbHtml;
}

function setFocusOnFirstInput(){
	var inputs = document.getElementsByTagName("input");
 	for (var i=0; i<inputs.length; i++){
 		if(inputs[i].type == 'text' && !inputs[i].disabled && !inputs[i].readOnly
 		   && inputs[i].style.display != 'none'){
 		   var refinePanel = document.getElementById("refineResult");
 		   if (refinePanel == 'undefined' || refinePanel == null || refinePanel.style.display != 'none'){
 				inputs[i].focus();
 				break;
 			}
 		}
 	}
}

function formatDate2(date, cfg) {
	var month = date.getMonth() + 1;
	var day = date.getDate();
	var year = date.getFullYear();
	var value = "";
	
	var fieldValues = [];
	fieldValues[cfg.monthFieldIndex -1] = month;
	fieldValues[cfg.dayFieldIndex -1] = day;
	fieldValues[cfg.yearFieldIndex -1] = year;
	

	for (var i = 0; i < 3; i++) {
		if (i == 2)
			value = value + fieldValues[i];
		else
			value = value + fieldValues[i] + cfg.delimiter;
	}
	
	return value;
}

function togglePrecision() {
	var precisionSelector = document.getElementById("serviceType");
	var precisionDiv = document.getElementById("precisionSelection");
	if (precisionSelector != null && precisionDiv != null) {
	    var style = precisionDiv.style;
	    if (precisionSelector.value == 3) {
	        style.display = "none";
	    } else {
	        style.display = "block";
	    }
	}
}

function toggleChildAges() {
	var childrenSelector = document.getElementById("children");
	var label = document.getElementById("childAgeLabel");
	if (childrenSelector != null && label != null) {
		var noOfChildren = childrenSelector.value;
		if (noOfChildren > 0) {
			label.style.display = "block";
		} else {
			label.style.display = "none";
		}
		for (var i = 1; i < 7; i++) {
			var childAgeSelector = document.getElementById("childAge" + i);
			if (childAgeSelector != null) {
				if (i <= noOfChildren) {
					childAgeSelector.style.display = "block";
				} else {
					childAgeSelector.style.display = "none";
				}
			}
		}
	}
}

function toggleRooms() {
	var roomAmountSelector = document.getElementById("roomAmount");
	if (roomAmountSelector != null) {
		var roomAmount = roomAmountSelector.value;
		for (var i = 1; i < 10; i++) {
			var roomLabel = document.getElementById("roomLabel" + i);
			var noOfAdults = document.getElementById("noOfAdults" + i);
			var noOfChildren = document.getElementById("noOfChildren" + i);
			var childAge1 = document.getElementById("childAge" + i + "1");
			var childAge2 = document.getElementById("childAge" + i + "2");
			var childAge3 = document.getElementById("childAge" + i + "3");
			var preferredBedType = document.getElementById("preferredBedType" + i);
			if (i <= roomAmount) {
				roomLabel.style.display = "block";
				noOfAdults.style.display = "block";
				noOfChildren.style.display = "block";
				if (noOfAdults.value == 0) noOfAdults.value = 1;
				toggleChildAge(i);
				toggleBedType(i);
			} else {
				roomLabel.style.display = "none";
				noOfAdults.style.display = "none";
				noOfChildren.style.display = "none";
				childAge1.style.display = "none";
				childAge2.style.display = "none";
				childAge3.style.display = "none";
				noOfAdults.value = 0;
				noOfChildren.value = 0;
				childAge1.value = 0;
				childAge2.value = 0;
				childAge3.value = 0;
				preferredBedType.style.display = "none";
			}
		}
		updateLabelVisibility();
	}
}

function toggleChildAge(roomIndex) {
	var childrenSelector = document.getElementById("noOfChildren" + roomIndex);
	if (childrenSelector != null) {
		var noOfChildren = childrenSelector.value;
		for (var i = 1; i < 10; i++) {
			var childAgeSelector = document.getElementById("childAge" + roomIndex + i);
			if (childAgeSelector != null) {
				if (i <= noOfChildren) {
					childAgeSelector.style.display = "block";
				} else {
					childAgeSelector.style.display = "none";
					childAgeSelector.value = 0;
				}
			}
		}
		updateLabelVisibility();
	}
}

function toggleBedType(roomIndex) {
	var adultSelector = document.getElementById("noOfAdults" + roomIndex);
	if (adultSelector != null) {
		var noOfAdults = adultSelector.value;
		var bedTypeSelector = document.getElementById("preferredBedType" + roomIndex);
		if (bedTypeSelector != null) {
			if (noOfAdults == 2) {
				bedTypeSelector.style.display = "block";
			} else {
				bedTypeSelector.style.display = "none";
			}
			updateLabelVisibility();
		}
	}
}

function updateLabelVisibility() {
	var showLabelChildAges = false;
	var showLabelPreferredBedType = false;
	for (var roomIndex = 1; roomIndex < 10; roomIndex++) {
		var noOfAdults = document.getElementById("noOfAdults" + roomIndex);
		if (noOfAdults != null) {
			if (noOfAdults.style.display != "none") {
				if (noOfAdults.value == 2) {
					showLabelPreferredBedType = true;
				}
			}
		}
		var noOfChildren = document.getElementById("noOfChildren" + roomIndex);
		if (noOfChildren != null) {
			if (noOfChildren.style.display != "none") {
				if (noOfChildren.value > 0) {
					showLabelChildAges = true;
				}
			}
		}
	}
	var childAgeLabel = document.getElementById("childAgeLabel");
	if (childAgeLabel != null) {
		if (showLabelChildAges) {
			childAgeLabel.style.display = "block";
		} else {
			childAgeLabel.style.display = "none";
		}
	}
	var bedTypeLabel = document.getElementById("bedTypeLabel");
	if (bedTypeLabel != null) {
		if (showLabelPreferredBedType) {
			bedTypeLabel.style.display = "block";
		} else {
			bedTypeLabel.style.display = "none";
		}
	}
}

function updateVisibility() {
	togglePrecision();
	toggleChildAges();
	toggleRooms();
	updateChildAgeVisibility();
}

function showhidecal() {
	var serviceTypeSelector = document.getElementById("serviceTypeSelector");
	var checkoutDateLabel = document.getElementById("coLabel");
	var div = document.getElementById("co");
    var noOfNights = document.getElementById("nightsDiv");
    var noOfNightsLabel = document.getElementById("nightsLabelDiv");
    if (serviceTypeSelector.value == 1) {
        div.style.display = "none";
        checkoutDateLabel.style.display = "none";
        noOfNights.style.display = "none";
        noOfNightsLabel.style.display = "none";
    } else {
        div.style.display = "block";
        checkoutDateLabel.style.display = "block";
        noOfNights.style.display = "block";
        noOfNightsLabel.style.display = "block";
		var noOfNightsElem = document.getElementById("noOfNights");
		if (noOfNightsElem != null) noOfNightsElem.value = "1";
    }
}

function showhidecal4modify() {
	var serviceTypeSelector = document.getElementById("serviceTypeSelector");
	var checkoutDateLabel = document.getElementById("coLabel");
	var div = document.getElementById("co");
    var noOfNights = document.getElementById("nightsDiv");
    //var noOfNightsLabel = document.getElementById("nightsLabelDiv");
    //service date case
    if (serviceTypeSelector.value == 1) {
        div.style.display = "none";
        checkoutDateLabel.style.display = "none";
        noOfNights.style.display = "none";
    } else { //normal case
        div.style.display = "block";
        checkoutDateLabel.style.display = "block";
        noOfNights.style.display = "block";
    }
}

function updateChildAgeVisibility() {
	for (var index = 1; index < 10; index++) {
		toggleChildAge(index);
	}
}

function submitDatatrans(sourceForm, targetForm) {
	targetForm.paymentmethod.value = sourceForm.ccType.value;
	targetForm.cardno.value = sourceForm.cardnumber.value;
	targetForm.expm.value = sourceForm.expirationmonth.value;
	targetForm.expy.value = sourceForm.expirationyear.value;
	targetForm.cvv.value = sourceForm.cvc.value;
	targetForm.submit();
}

function check4datatrans(sourceForm, targetForm) {
	if (!document.getElementById("errorList")) {
		submitDatatrans(sourceForm, targetForm);
	} else {
		window.scrollTo(0, 0);
	}
}

function addCommas(nStr)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
}

