/****************************************************** Accomodationsearch *******************************************************/ function GetAccomodationSearchResult(languageId, sortorder, order, fromDate, endofPeriod, queryvalues, prodNameSearch, weekpart, searchMode, bookingPeriod, forceSearch, sessionKey, attributeFilter, displayedAreas, specificArea, hiddenAreas, displayNumber, xsltParams, userContext) { ExecuteUserContext(userContext); //Call webservice BoMan.AjaxWs.GetAccomodationSearchResult(languageId, sortorder, order, fromDate, endofPeriod, queryvalues, prodNameSearch, weekpart, searchMode, bookingPeriod, forceSearch, attributeFilter, displayedAreas, specificArea, hiddenAreas, sessionKey, displayNumber, xsltParams, SucceededCallbackWithContext, FailedCallback, userContext, null); } function GetAccomodationAttributes(languageId, sortorder, order, fromDate, endofPeriod, queryvalues, prodNameSearch, weekpart, searchMode, bookingPeriod, sessionKey, prodId, userContext){ ExecuteUserContext(userContext); //Call webservice BoMan.AjaxWs.GetAccomodationSearchAttributes(languageId, sortorder, order, fromDate, endofPeriod, queryvalues, prodNameSearch, weekpart, searchMode, bookingPeriod, sessionKey, prodId, SucceededCallbackWithContext, FailedCallback, userContext, null); } function GetSearchByPeriod(languageId, period, startDate, xsltParams, userContext) { ExecuteUserContext(userContext); //Call webservice BoMan.AjaxWs.GetSearchByPeriod(languageId, period, startDate, xsltParams, SucceededCallbackWithContext, FailedCallback, userContext, null); } function GetSearchByDate(languageId, numNights, startDate, xsltParams, userContext) { ExecuteUserContext(userContext); //Call webservice BoMan.AjaxWs.GetSearchByDate(languageId, numNights, startDate, xsltParams, SucceededCallbackWithContext, FailedCallback, userContext, null); } function GetDefaultSearchFields(languageId, searchParams, xsltParams, userContext){ ExecuteUserContext(userContext); //Call webservice BoMan.AjaxWs.GetDefaultSearchFields(languageId, searchParams, xsltParams, SucceededCallbackWithContext, FailedCallback, userContext, null); } function GetExtendedSearchFields(languageId, userContext){ ExecuteUserContext(userContext); //Call webservice BoMan.AjaxWs.GetExtendedSearchFields(languageId, SucceededCallbackWithContext, FailedCallback, userContext, null); } function GetDisplayAttributes(languageId, xsltParams, userContext){ ExecuteUserContext(userContext); BoMan.AjaxWs.GetDisplayAttributes(languageId, xsltParams, SucceededCallbackWithContext, FailedCallback, userContext, null); } function GetAccomodationCodes(userContext){ ExecuteUserContext(userContext); //Call webservice BoMan.AjaxWs.GetAccomodationCodes(SucceededCallbackWithContext, FailedCallback, userContext, null); } function GetPriceAndAvailabilityDate(accomodationId, startDate, days, userContext){ ExecuteUserContext(userContext); BoMan.AjaxWs.GetPriceAndAvailabilityDate(accomodationId, startDate, days, SucceededCallbackWithContext, FailedCallback, userContext, null); //GetPriceAndAvailabilityForSinglePeriod } /****************************************************** SearchAddons *******************************************************/ function GetAddonSearchResult(languageId, sortBy, sortOrder, startDate, validFromDate, days, categoryId, query, buid, numPersons, userContext){ ExecuteUserContext(userContext); BoMan.AjaxWs.GetAddonSearchResultBase(languageId, sortBy, sortOrder, startDate, validFromDate, days, categoryId, query, buid, numPersons, SucceededCallbackWithContext, FailedCallback, userContext, null); } function GetAddonSearchResultMain(languageId, sortBy, sortOrder, startDate, validFromDate, days, categoryId, query, buid, personId, xsltParams, userContext){ ExecuteUserContext(userContext); BoMan.AjaxWs.GetAddonSearchResultMain(languageId, sortBy, sortOrder, startDate, validFromDate, days, categoryId, query, buid, personId, xsltParams, SucceededCallbackWithContext, FailedCallback, userContext, null); } function GetAddonSearchResultPerson(languageId, sortBy, sortOrder, startDate, validFromDate, days, categoryId, query, buid, personId, xsltParams, userContext){ ExecuteUserContext(userContext); BoMan.AjaxWs.GetAddonSearchResult(languageId, sortBy, sortOrder, startDate, validFromDate, days, categoryId, query, buid, personId, xsltParams, SucceededCallbackWithContext, FailedCallback, userContext, null); } function GetUsageAttributes(languageId, categoryId, prodId, personId, userContext){ ExecuteUserContext(userContext); BoMan.AjaxWs.GetUsageAttributes(languageId, categoryId, prodId, personId, SucceededCallbackWithContext, FailedCallback, userContext, null); } function PutNonRentalInBasket(startDate, prodId, days, price, discount, businessId, numItems, oneOnly, parentProdID, validFromDate, contractId, personId, personFirstName, personLastName, personDOB, personGender, personKeyCard, usageAttributes, userContext){ ExecuteUserContext(userContext); //startDate, prodId, days, price, discount, businessId, numItems, oneOnly, parentProdID, validFromDate, contractId, personId, personFirstName, personLastName, personDOB, personGender BoMan.AjaxWs.PutNonRentalInBasket(startDate, prodId, days, price, discount, businessId, numItems, oneOnly, parentProdID, validFromDate, contractId, personId, personFirstName, personLastName, personDOB, personGender, personKeyCard, usageAttributes, SucceededCallbackWithContext, FailedCallback, userContext, null); } /****************************************************** Other *******************************************************/ function GetCategorySummary(languageId, businessId, userContext){ ExecuteUserContext(userContext); BoMan.AjaxWs.GetCategories(languageId, businessId, SucceededCallbackWithContext, FailedCallback, userContext, null); } /****************************************************** Helpfunctions *******************************************************/ function ExecuteUserContext(userContext){ //Lock button var btn = document.getElementById(getElementFromUserContext(userContext, "button")); if(btn) btn.disabled = true; //Display waiting var div = document.getElementById(getElementFromUserContext(userContext, "content")); if(div) div.innerHTML = ''; //Set waiting-flag var globalVariable = getElementFromUserContext(userContext, "finished"); if(globalVariable) eval("window." + globalVariable + "=false;"); } function ExecuteSetDefaultValues(keyValue){ var keyValueArr = keyValue.split('&'); for(var i = 0; i < keyValueArr.length; i++){ var nameValue = keyValueArr.split('='); //SetElementValue is located in helpFunctions.js setElementValue(document.forms['aspnetForm'].elements[nameValue[0]], nameValue[1]); } } /****************************************************** Logging *******************************************************/ function AppendLog(loggerName, message, level){ BoMan.AjaxWs.AppendLog(loggerName, message, level, SucceededCallbackWithContext, FailedCallback, "", null); } /****************************************************** Callback *******************************************************/ function SucceededCallbackWithContext(result, userContext, methodName) { //Unlock button var btn = document.getElementById(getElementFromUserContext(userContext, "button")); if(btn) btn.disabled = false; //populate div if(methodName == "GetAccomodationCodes"){ var txtField = document.getElementById(getElementFromUserContext(userContext, "fieldname")); var hiddenField = document.getElementById(getElementFromUserContext(userContext, "hiddenfield")); if(txtField){ if(hiddenField)hiddenField.value = result.toString(); var obj = actb(txtField, result, window.s_accomodationId_hasFocus); } }else if(methodName == "GetAccomodationSearchAttributes"){ var obj = document.getElementById(getElementFromUserContext(userContext, "obj")); var popup = document.getElementById(getElementFromUserContext(userContext, "popup")); if(obj){ obj.boBDY = result; if(popup && popup.style.display != 'none'){ var bdy = popup.lastChild; if(bdy){ bdy.innerHTML = result; EvaluateScript(bdy); } } } }else if(methodName == "GetPriceAndAvailabilityDate"){ var functionCall = getElementFromUserContext(userContext, "function"); var days = getElementFromUserContext(userContext, "days"); var date = getElementFromUserContext(userContext, "date"); var priceAndAvailability = result.split(';'); if(result == '' || priceAndAvailability.length != 2 || priceAndAvailability[0] == '0'){ eval(functionCall + '(\'\', '+ days +', \'\')'); }else{ eval(functionCall + '(\''+ date +'\', '+ days +', \''+ priceAndAvailability[1] +'\')'); } }else if(methodName == "PutNonRentalInBasket"){ if(userContext){ if(getElementFromUserContext(userContext, "script") != '') eval(getElementFromUserContext(userContext, "script")); var bokaBtn = document.getElementById(getElementFromUserContext(userContext, "bokaBtn")); if(bokaBtn){ bokaBtn.src = bokaBtn.src.replace("_boka_","_bokad_"); //bokaBtn.src = '/bokning/bilder/btn_bokad_small.gif'; bokaBtn.onclick = function(){return false;}; } } }else if(methodName == "GetUsageAttributes"){ if(result != null && userContext){ if(getElementFromUserContext(userContext, "validElement") != ''){ if(document.getElementById(getElementFromUserContext(userContext, "validElement"))){ var facIdStr = ''; for(var i=0; i < result.length; i++) facIdStr += ',' + result[i].FacId; if(facIdStr.indexOf(',') > -1) facIdStr = facIdStr.substring(1); else facIdStr = 'nothingToValidate'; document.getElementById(getElementFromUserContext(userContext, "validElement")).value = facIdStr; } eval(getElementFromUserContext(userContext, "script")); }else if(getElementFromUserContext(userContext, "num") != ''){ var personNum = getElementFromUserContext(userContext, "num"); for(var i = 0; i < result.length; i++){ var obj = document.getElementById("usageAttribute_"+ result[i].FacId + "_" + personNum); if(obj) obj.value = result[i].Value; } } } }else{ if (userContext){ if(getElementFromUserContext(userContext, "script") != '') eval(getElementFromUserContext(userContext, "script")); var div = document.getElementById(getElementFromUserContext(userContext, "content")); if(div){ div.innerHTML = result; EvaluateScript(div); }else alert('Could not find ' + getElementFromUserContext(userContext, "content")); } } var presetForm = getElementFromUserContext(userContext, "preset"); if(presetForm != '') ExecuteSetDefaultValues(unescape(presetForm)); var globalVariable = getElementFromUserContext(userContext, "finished"); if(globalVariable) eval("window." + globalVariable + "=true;"); if(methodName != "AppendLog"){ //AppendLog("ajax", "Success! Method: " + methodName + ", UserContext: " + userContext, 4); } } function FailedCallback(error, userContext, methodName) { //Unlock button var btn = document.getElementById(getElementFromUserContext(userContext, "button")); if(btn) btn.disabled = false; if(methodName == "GetUsageAttributes" && getElementFromUserContext(userContext, "validElement") != '') document.getElementById(getElementFromUserContext(userContext, "validElement")).value = 'nothingToValidate'; //Display waiting var div = document.getElementById(getElementFromUserContext(userContext, "content")); if(div){ var output = ""; //output += "Stacktrace: " + error.get_stackTrace() + "\n"; output += "Felmeddelande: " + error.get_message() + "\n"; //output += error.get_statusCode() + "\n"; //output += error.get_exceptionType() + "\n"; //output += error.get_timedOut() + "\n"; div.innerHTML = output; }else{ alert(error.get_message()); } } if (typeof(Sys) !== "undefined") Sys.Application.notifyScriptLoaded();