/*************************************************************************************************************************** iApps (interactive Applications) JS Library uif - User interface functions. Version 1.1 IMP DATE: 27/04/2007 LAST MODIFIED: 02/07/2007 AUTHOR: OLIVER AMMANN ***************************************************************************************************************************/ // *** UI BEHAVIOUR FUNCTIONS *** // Begins showhide function for booking module function showHide(showId,bHide) { if (document.getElementById) { // DOM3 = IE5, NS6 if (!bHide && document.getElementById(showId).style.visibility == "hidden") { document.getElementById(showId).style.visibility = 'visible'; } else if(bHide) { document.getElementById(showId).style.visibility = 'hidden'; } } else { if (document.layers) { if (bHide && document.showId.visibility == "hidden") { document.showId.visibility = 'visible'; } else if(!bHide) { document.showId.visibility = 'hidden'; } } else { if (bHide && document.all.showId.style.visibility == "hidden") { document.all.showId.style.visibility = 'visible'; } else if(!bHide) { document.all.showId.style.visibility = 'hidden'; } } } } function showHideReturnDate(bShow) { var returnCalendarId = "returnCalendar"; var returnMonthId = "returnMonth"; var returnDayId = "returnDay"; var returnTimeId = "returnTime"; var returnDateLabelId ="retDate"; var returnTimeErr = "rtimeErr"; showHide(returnTimeErr,bShow); showHide(returnDateLabelId,bShow); showHide(returnCalendarId,bShow); showHide(returnMonthId,bShow); showHide(returnTimeId,bShow); showHide(returnDayId,bShow); } function closeUiElement(formName, elName) { formName.value = ""; showHide(elName,true); } // Determines UI state and displays previous selection on page load function detectUiState(getTripType, getPromoCdeState) { if (getTripType != null) { // Check trip type selection if (getTripType[1].checked) { showHideReturnDate(true); } } if (getPromoCdeState != null) { // Check promo code value and restore if applicable if (getPromoCdeState != "") { showHide('discountCode',false); } } } // *** BEGINS DYNAMIC ERROR OUTPUT FUNCTIONS *** // Create, output and clear error messages // Author O.Ammann function errorCall() { var errorCallObj = new Object(); function setMessageHeader(divName, msgTitle, classAttr, iconSrc) { var errContainer = document.getElementById(divName); var image = document.createElement("img"); var errImgSpan = document.createElement("span"); var errTitleSpan = document.createElement("span"); var lineBreak = document.createElement("br"); var msgTitle = document.createTextNode(msgTitle); errImgSpan.setAttribute('name', 'es'); errTitleSpan.setAttribute('name', 'es'); errContainer.className = classAttr; errTitleSpan.appendChild(msgTitle); errTitleSpan.appendChild(lineBreak); errTitleSpan.style.fontWeight = "bold"; errTitleSpan.className = "SFErrHead"; image.src = iconSrc; errImgSpan.appendChild(image); errContainer.appendChild(errImgSpan); errContainer.appendChild(errTitleSpan); } function setMessage(divName, SFError) { var errContainer = document.getElementById(divName); var lineBreak = document.createElement("br"); var errorSpan = document.createElement("span"); var errorMessage = document.createTextNode(SFError); errorSpan.setAttribute('name', 'es'); errorSpan.className = "SFErrMsg"; errorSpan.appendChild(errorMessage); errorSpan.appendChild(lineBreak); errContainer.appendChild(errorSpan); } function clearError(elId, elType) { var errContainer = document.getElementById(elId); var els = document.getElementsByTagName(elType); for (var i=els.length-1; i >= 0; i--) { /** Fix for span tag bug added 02/07/2007 **/ if (elType == 'span') { curEl = els.item(i); attr = curEl.getAttribute('name'); if (attr == 'es') { els[i].parentNode.removeChild(els[i]); } } else { els[i].parentNode.removeChild(els[i]); } } if (errContainer.className != "") { errContainer.className=""; } } function setAlert(getId, iconSrc) { var elId = document.getElementById(getId); var image = document.createElement("img"); var imgLabel = document.createElement("label"); image.src = iconSrc; imgLabel.className = "iconAlert"; imgLabel.appendChild(image); var parent = elId.parentNode; parent.insertBefore(imgLabel, elId); } errorCallObj.setMessageHeader = setMessageHeader; errorCallObj.setMessage = setMessage; errorCallObj.clearError = clearError; errorCallObj.setAlert = setAlert; return errorCallObj; } fsError = new errorCall();