// (c)2009 MrOrange

﻿
if(mrO.utils.isUndefined(mrO.page)){mrO.page=function(){};mrO.page.isDebuggingBool=false;mrO.page.submitting=false;mrO.page.settings={};mrO.page.settings.submitButtonTransparency=20;}
mrO.page.registerSetting=function(settingName,settingValue){if(mrO.page.debugging({sender:'mrO.page.registerSetting'})){if(mrO.utils.isDefined(this.settings[settingName])){mrO.utils.writeToConsole("setting "+settingName+" already defined with value "+this.settings[settingName]);}}
this.settings[settingName]=settingValue;};mrO.page.getSetting=function(settingName){return this.settings[settingName];};mrO.page.submitting=false;mrO.page.submitLock=function(){if(this.submitting===false){this.submitting=true;return true;}else{return false;}};mrO.page.searchInputClick=function(arguments){var searchInput=arguments.instance;if(mrO.utils.isDefined(searchInput)){var sourceType=searchInput.settings["sourceType"];if(sourceType==="air"||sourceType==="charter"||sourceType==="hotel"){var locationString=searchInput.linkBase+"&"+searchInput.getRequestParametersString();if(searchInput.valid()){var searchOutput=mrO.page.searchOutputs[sourceType];if(mrO.utils.isDefined(searchOutput)){if(mrO.page.debugging({sender:"mrO.page.searchInputClick"})){mrO.utils.writeToConsole("mrO.page.searchInputClick: I found a search output and will not redirect!");}
searchOutput.getResults();}
else{if(mrO.page.debugging({sender:"mrO.page.searchInputClick"})){mrO.utils.writeToConsole("mrO.page.searchInputClick: Redirecting to "+locationString);}
window.location.assign(locationString);}
return false;}else{return true;}}
if(mrO.page.debugging({sender:"mrO.page.searchInputClick"})){mrO.utils.writeToConsole("mrO.page.searchInputClick: Doing postback!");}
return true;}else{if(mrO.page.debugging({sender:"mrO.page.searchInputClick"})){mrO.utils.writeToConsole("mrO.page.searchInputClick: I can not find instance!");}
return true;}};mrO.page.getFareRules=function(arguments){var radio1Obj=null;var radio2Obj=null;var intineraryId=null;var popupSettings=null;var radio1value=$("input:radio[name="+arguments.RadioButtonNameBase+"1]:checked").val();var radio2value=$("input:radio[name="+arguments.RadioButtonNameBase+"2]:checked").val();radio1Obj=JSON.parse("["+radio1value+"]");if(typeof(radio2value)!=='undefined'){radio2Obj=JSON.parse("["+radio2value+"]");}
if(radio1Obj!==null&&radio2Obj!==null){var itineraryIntersect=[];jQuery.each(radio1Obj,function(){if(jQuery.inArray(this.valueOf(),radio2Obj)>=0){itineraryIntersect.push(this);}});if(itineraryIntersect.length===1){intineraryId=itineraryIntersect[0];}}else if(radio1Obj!==null){intineraryId=radio1Obj[0];}
if(typeof(arguments.PopupSettings)!=='undefined'&&arguments.PopupSettings!==null){popupSettings=arguments.PopupSettings;}
else{popupSettings="toolbar=0,resizable=1,menubar=0,location=0,scrollbars=1,width=500px, height=700";}
var returnFunc=function(req){fareRules.document.write(req);fareRules.document.close();};var fareRules=window.open('','FareRules',"'"+popupSettings+"'");fareRules.document.write("Loading flight rules...");fareRules.document.close();$.ajax({type:"POST",url:"AJAXWebservice.asmx/GetFareRules",data:"{'itineraryId': "+JSON.stringify(intineraryId)+"}",contentType:"application/json; charset=utf-8",dataType:"json",success:function(retstring){fareRules.document.write(retstring);fareRules.document.close();},error:function(e){fareRules.document.write("Couldn't get fare rules for flight");fareRules.document.close();}});return false;};mrO.page.step2click=function(arguments){var parameters={};parameters["top_itinerary"]=arguments.EncryptedSelectedItinerary;parameters["cluster_number"]=arguments.ClusterNumber;if(typeof(arguments.Itinerary)!=='undefined'&&arguments.Itinerary!==null){parameters["itinerary_id"]=arguments.Itinerary;}else{var radio1Obj=null;var radio2Obj=null;var radio1value=$("input:radio[name="+arguments.RadioButtonNameBase+"1]:checked").val();radio1Obj=mrO.utils.JSONObjectFromString("["+radio1value+"]");var radio2value=$("input:radio[name="+arguments.RadioButtonNameBase+"2]:checked").val();if(typeof(radio2value)!=='undefined'){radio2Obj=mrO.utils.JSONObjectFromString("["+radio2value+"]");}else{if(mrO.page.debugging({sender:'mrO.page.step2click'})){mrO.utils.writeToConsole("radio2value is undefined");}}
if(radio1Obj!==null&&radio2Obj!==null){var itineraryIntersect=[];jQuery.each(radio1Obj,function(){if(jQuery.inArray(this.valueOf(),radio2Obj)>=0){itineraryIntersect.push(this);}});if(itineraryIntersect.length===1){parameters["itinerary_id"]=itineraryIntersect[0];}}else if(radio1Obj!==null){parameters["itinerary_id"]=radio1Obj[0];}}
if(mrO.page.debugging({sender:'mrO.page.searchInputClick'})){mrO.utils.writeToConsole("selected itinerary: "+parameters["itinerary_id"]+" of Cluster: "+parameters["cluster_number"]+"\nTopItinerary:"+parameters["top_itinerary"]);}
if(typeof(parameters["itinerary_id"])!=='undefined'&&parameters["itinerary_id"]!==null){var parameterString=mrO.utils.getRequestParametersString(parameters);var locationString=mrO.page.settings.BypassPostBackOnAirResultsLinkBase+"&"+parameterString;if(mrO.page.debugging({sender:'mrO.page.step2click'})){alert("Read the console");}
window.location=locationString;return false;}
return true;};mrO.page.submitForm=function(elementId){var element=$('#'+elementId);if($(element).is(":input")){elementId=$(element).val();}
var formElement=$('#'+elementId);if(formElement.submit){formElement.submit();return false;}};mrO.page.submit=function(ele){if(this.submitLock()){var ptr=this;var resetFunc=function(){ptr.submitReset(ele);};if(ele.style.opacity!==null){ele.style.opacity=this.settings.submitButtonTransparency/100;}
if(ele.style.filter!==null){ele.style.filter="alpha(opacity="+this.settings.submitButtonTransparency+")";}
setTimeout(resetFunc,2000);return true;}else{return false;}};mrO.page.submitReset=function(ele){if(ele.style.opacity!==null){ele.style.opacity=1;}
if(ele.style.filter!==null){ele.style.filter="alpha(opacity=100)";}
this.submitting=false;};mrO.page.lockAndLoad=function(ele,styleClass){var submitButton=ele;try{var parentEle=submitButton.parentNode;if(this.submitLock()){var divElement=document.createElement("div");divElement.id=ele+"container";if(styleClass===null){divElement.style.backgroundImage="url(/Files/0/progress.gif)";divElement.style.backgroundRepeat="no-repeat";divElement.style.backgroundPosition="center";}else{divElement.className=styleClass;}
divElement.style.width=submitButton.offsetWidth+"px";parentEle.replaceChild(divElement,ele);if(submitButton.style.opacity!==null){submitButton.style.opacity=this.settings.submitButtonTransparency/100;}
if(submitButton.style.filter!==null){submitButton.style.filter="alpha(opacity="+this.settings.submitButtonTransparency+")";}
divElement.appendChild(submitButton);return true;}else{return false;}}catch(e){submitButton.style.visibility='hidden';return true;}};mrO.page.maxLength=function(textArea,maxChars){if(typeof(textArea)==='string'){textArea=document.getElementById(textArea);}
if(textArea!==null){if(textArea.value.length>maxChars){textArea.value=textArea.value.substring(0,maxChars);}}
return true;};mrO.page.debugging=function(arguments){if(this.isDebuggingBool===true){return true;}
var hostname=mrO.utils.getServerHostname();var requestParams=mrO.page.getRequestParametersFromURL();if(requestParams!=null&&requestParams["jsdebug"]!=null&&requestParams["jsdebug"]=="true"){this.isDebuggingBool=true;return true;}else if(hostname==="localhost"){this.isDebuggingBool=true;return true;}else{return false;}};mrO.page.getRequestParametersFromURL=function(param){if(mrO.utils.isUndefined(this.requestParameters)){this.requestParameters=mrO.utils.getRequestParametersFromUrlString(document.location.href);}
if(param!=null){return this.requestParameters[param]||null;}else{return this.requestParameters||null;}};
