﻿var _cart=null;var _roomIdHash=new Hash();var _itemsHash=new Hash();var _packageSetHash=new Hash();var _packageHash=new Hash();var _packageTooltipIds=[];var _rightEdge=950;var _bookingStartDate=null;var _ajaxurl='php/ajax_v2.php';var _workingDate='';var _currentPackage=null;var _currentPackagePrice='0.00';var _puTowncarPrice='35.00';var _currentPackageTitle='';var _currentPackageRequestDate='';var _availabilityArray=[];var _roomSelected=false;var _ajaxAvailHash=new Hash();var _packageServiceFee=10.00;var _requestCounter=0;var _dateHasBeenSelected=false;var _doCheckAvailability=true;var _bypassCheck=false;var _doanimation=true;var _notavail='<div class="notavail">not available</div>';var _incart='<div class="incart">in cart</div>';var _notallowed='<div class="notavail">not available</div>';var _forceNavigation=false;var _dateCalendar=null;var myTable2=null;soundManager.url='sounds/soundmanager/';soundManager.debugMode=false;soundManager.useHighPerformance=true;var _debug=false;var startupSound=null;var _multiselectTransportation=false;soundManager.onload=function(){soundManager.createSound('REMOVE','sounds/blatwhiz.mp3');soundManager.createSound('ROOMS_TAB','sounds/bell.mp3');soundManager.createSound('PEOPLE','sounds/people.mp3');soundManager.createSound('DINING_TAB','sounds/rimmer.mp3');soundManager.createSound('TRANSPORTATION_TAB','sounds/carhorntwice.mp3');soundManager.createSound('FUN_TAB','sounds/whistle.mp3');soundManager.createSound('ADDONS_TAB','sounds/xylo.mp3');soundManager.createSound('CHECKOUT','sounds/theend.mp3');soundManager.createSound('PANTIES','sounds/clinton.mp3');soundManager.createSound('HAUNTED','sounds/haunted.mp3');soundManager.createSound('HORSE','sounds/horse_5.mp3');soundManager.createSound('SPA','sounds/stillness.mp3');startupSound=soundManager.createSound({id:'startupSound',url:'sounds/people.mp3',onfinish:function(){playStartupSound();}});if(_playSound){startupSound.play({volume:40});}};function startup(){_cart=new _dsCart();var room1drag=new Draggable('item_popup_div',{revert:false});var menudrag=new Draggable('menuselection',{revert:false});Event.observe($('item_popup_div'),'mouseenter',killTooltipTimer);Event.observe($('item_popup_div'),'mouseleave',hideTooltipDiv);var tdate=new Date();tdate.add('d',_bookingLeadDays);_bookingStartDate=tdate;if(_requestDate==''){_workingDate=formatCalDate(tdate.getDate(),tdate.getMonth(),tdate.getFullYear());}else{_workingDate=_requestDate;}$('DATE_INPUT').value=_workingDate;$('cartpkgdate').innerHTML=formatDateDisplay2(_workingDate);formatDateDisplay();buildMenu();loadItemHash();loadPackageHash();buildTableTwo();loadTabberListeners();_dateCalendar=new gdCalendar(1,'DATE_CALENDAR_DIV',{field:'DATE_INPUT',leadDays:_bookingLeadDays,effect:'blind',dateFormat:'YYYY-MM-DD',callback:dateUseHandler});_currentSelectedTabberTab='DINING_TAB';_previousSelectedTabberTab='DINING_TAB';if(_debug){_bypassCheck=true;_doanimation=false;doPackageSelect.defer();}else{getAvailabilitiesForDate.defer();if(_currentBBGroup!=''){showDatePicker();}}};function nr_k(){var demodiv=new Element('div');$('container').insert({top:demodiv});demodiv.absolutize();demodiv.setStyle({color:'#ffffff',width:'300px',left:'250px',top:'8px',fontFamily:'verdana'});demodiv.setStyle({fontWeight:'bold'});demodiv.innerHTML='For Demonstration Purposes Only';};function clickFromTable(col,rowary){var pkgid=rowary[4];var cat=rowary[7];_currentPackageCategory=cat;_currentPackageItem=pkgid;var pkg=_packageHash.get(pkgid);var desc=pkg['desc'];finishPackageSelect(desc,pkgid);closeQuickPick.defer()};function doPackageSelect(){if(_currentPackageCategory=='')return;var pkg=_packageHash.get(_currentPackageItem);var desc=pkg['desc'];var id=pkg['id'];finishPackageSelect(desc,id);};function finishPackageSelect(desc,id){_packageTooltipIds=[];clearAllChoices();if(_currentPackageCategory=='CERTIFICATE'){_doCheckAvailability=false;}else{_doCheckAvailability=true;}nr_c(desc,id);};function nr_c(desc,id){if(_bypassCheck)_doCheckAvailability=false;var pkg=_packageHash.get(id);var divs=pkg['divs'];var roomary=pkg['rooms'];var diningary=pkg['dining'];var transary=pkg['transportation'];var funary=pkg['fun'];var addonary=pkg['addons'];var bigdesc=pkg['bigdesc'];var allowedaddons=pkg['allowedaddons'];nr_g(allowedaddons);_currentPackage=pkg;var sumofparts=getSumOfFirstElements(id);_currentPackagePrice=sumofparts;pkg['price']=sumofparts;_currentPackageTitle=desc;var transnum=transary.length;var funnum=funary.length;var bodycls=pkg['bodycls'];var img=pkg['pkgimg'];$('thebody').className=bodycls;var imagestr='<img src="dsimages/'+img+'" alt="romance" width="300" height="57" border="0" />';$('packageimage').innerHTML=imagestr;var descstr='<div class="pkgshortdesc" style="margin-left:5px;">';descstr+=desc;descstr+=bigdesc;if(_specialEditsPackagesArray.indexOf(id)<0){descstr+='<span class="smallwhitetext" style="margin-left:0px;">From: $'+_currentPackagePrice+'</span></div>';}$('package_description').innerHTML=descstr;var roomstr='';if(roomary.length>0){roomstr+=nr_j(roomary);}else{roomstr='<div style="padding:15px;">This package contains no Accommodations.</div>';$('ROOMS_TAB').hide();}$('accommodations_div').innerHTML=roomstr;var diningstr='';if(diningary.length>0){diningstr+=nr_f(diningary);}else{diningstr='<div style="padding:15px;">This package contains no dining items.</div>';}$('dining_div').innerHTML=diningstr;var transstr='';if(transnum>0){transstr+=nr_i(transary);}else{transstr='<div style="padding:15px;">This package contains no transportation items.</div>';$('TRANSPORTATION_TAB').hide();}$('transitems_div').innerHTML=transstr;var funstr='';if(funnum>0){funstr+=nr_h(funary);}else{$('FUN_TAB').hide();funstr='<div style="padding:15px;">This package contains no entertainment items.</div>';}$('funitems_div').innerHTML=funstr;preloadShoppingCart(id);_forceNavigation=true;updateEntireScreen('');loadDynamicTooltips();goToTabNumber.defer(0);$('DINING_TAB').className='dining_f2';};function preloadShoppingCart(id){var pkg=_packageHash.get(id);var addonary=pkg['addons'];var preloads=pkg['defaultselected'];preloads.each(function(item){var type=typeGet(item);if(_availabilityArray.indexOf(item)<0){_cart.addItem(type,item);}});if(addonary.length>0){addonary.each(function(item){_cart.addAddons(item);});}};function isCarPickupMode(){var ok=_cart.isCarPickupMode();return ok;};function getOpenMapLink(){var str='<div id="openMapLink">Please <a href="javascript:openGDMapWindow()">enter your pickup address</a></div>';return str;};function getSumOfFirstElements(pkgid){var pkg=_packageHash.get(pkgid);var tprice=0;var allidary=nr_e(pkg);allidary.each(function(id){var item=_itemsHash.get(id);tprice=tprice+parseFloat(item['price']);});return tprice+parseFloat(_packageServiceFee);};function nr_e(pkg){var cartdivs='';var roomary=pkg['rooms'];var diningary=pkg['dining'];var transary=pkg['transportation'];var funary=pkg['fun'];var addonary=pkg['addons'];var tprice=0;var allidary=new Array();var useid='';if(diningary.length>0){useid=getItemBasedOnAvail('D',diningary);if(useid!=''){allidary.push(useid);cartdivs+='<div id="D-div">dining</div>';}}if(funary.length>0){useid=getItemBasedOnAvail('E',funary);if(useid!=''){allidary.push(useid);cartdivs+='<div id="E-div">fun</div>';}}if(transary.length>0){useid=getItemBasedOnAvail('T',transary);if(useid!=''){allidary.push(useid);cartdivs+='<div id="T-div">trans</div>';}}if(roomary.length>0){useid=getItemBasedOnAvail('R',roomary);if(useid!=''){allidary.push(useid);cartdivs+='<div id="R-div">rooms</div>';}}if(addonary.length>0){addonary.each(function(item){allidary.push(item);});}$('curpackagedisplaydiv').innerHTML=cartdivs;return allidary;};function getItemBasedOnAvail(type,ary){var workary=[];var len=ary.length;var useid='';var roomobj=null;var grpid='';for(var i=0;i<len;i++){var curid=ary[i];grpid='';if(type=='R'){roomobj=hashGet(curid);grpid=roomobj['grpid'];if((_availabilityArray.indexOf(curid)<0)&&((_currentBBGroup=='')||(_currentBBGroup==grpid))){workary.push(curid);}}else{if(_availabilityArray.indexOf(curid)<0){workary.push(curid);}}}if(workary.length>0){useid=workary[0];}return useid;};var _moveElement=null;var _globalLinkId='';function killTheImage(){_moveElement.remove();nr_a.defer();};function playStartupSound(){if(_playSound)startupSound.play({volume:80});};function stopStartupSound(){if(_playSound)startupSound.stop();};function playCartDrop(itemid){if(_playSound){if(itemid=='panties_hers'){soundManager.play('PANTIES',{volume:150});}else if(itemid=='horse_carriage'){soundManager.play('HORSE');}else if(itemid=='MURDERMYSTERY'){soundManager.play('HAUNTED');}else if(itemid=='WOODHOUSE'){soundManager.play('SPA');}else{soundManager.play(_currentSelectedTabberTab);}}};function playRemoveSound(){if(_playSound)soundManager.play('REMOVE');};function playCheckoutSound(){if(_playSound)soundManager.play('CHECKOUT');};function doIconClicked(linkid){$('errormessagearea').hide();_globalLinkId=linkid;var parts=linkid.split('*');var type=parts[0];var itemid=parts[1];var isa=isAddonAllowed(itemid);if(!isa)return;if((_doCheckAvailability)&&(_availabilityArray.indexOf(itemid)> -1)){var obj=_itemsHash.get(itemid);var name=obj['name'];var msg='<b>'+name+'</b><br />is not available for date of use<br /><b>'+_workingDate+'</b>';handleErrorMessage(msg);return;}if(_doanimation){playCartDrop(itemid);var x='';var y='';var ty=getRealTop(itemid);var tx=getRealLeft(itemid);var o=hashGet(itemid);var t=o['type'];var i=o['icon'];var dloc=getImageRoot(t);var img=dloc+i;_moveElement=new Element('img',{src:img});$('inner_content').insert({top:_moveElement});_moveElement.absolutize();var realx=tx;x=realx+'px';y=ty+'px';var tarx=getRealLeft('carttarget');var tary=getRealTop('carttarget');_moveElement.setStyle({display:'block',opacity:1,left:x,top:y,zIndex:50});new Effect.Move(_moveElement,{x:tarx,y:tary,mode:'absolute',afterFinish:killTheImage});}else{nr_a();}};function moveTheElement(tarx,tary){new Effect.Move(_moveElement,{x:tarx,y:tary,mode:'absolute',afterFinish:killTheImage})};function nr_a(){$('item_popup_div').hide();var linkid=_globalLinkId;var parts=linkid.split('*');var type=parts[0];var itemid=parts[1];removeNotallowedItems(itemid);if(type=='R'){_cart.addRooms(itemid)}if(type=='D'){_cart.addDining(itemid)}if(type=='T'){_cart.addTrans(itemid)}if(type=='E'){_cart.addFun(itemid)}if(type=='A'){_cart.addAddons(itemid)}_forceNavigation=true;updateEntireScreen(linkid);};function getPackageArrayForType(type){var ary=[];if(type=='R')ary=_currentPackage['rooms'];if(type=='D')ary=_currentPackage['dining'];if(type=='T')ary=_currentPackage['transportation'];if(type=='E')ary=_currentPackage['fun'];if(type=='A')ary=_currentPackage['addons'];return ary;};function removeCartItem(idstr){var idparts=idstr.split('*');var type=idparts[0];var idpart=idparts[1];var pkgary=getPackageArrayForType(type);var defaults=_currentPackage['defaultselected'];var donotremove=false;if(defaults.indexOf(idpart)> -1){donotremove=true;}if(donotremove){var catdesc=_packageItemCategoryHash.get(type);var obj=hashGet(idpart);var name=obj['name'];var msg='<b>'+name+'</b><br />';msg+='is part of the package and<br />cannot be removed<br />from the shopping cart.';handleErrorMessage(msg);}else{playRemoveSound();_globalLinkId=idstr;var wrapper='piwrapper'+idpart;new Effect.Puff(wrapper,{afterFinish:finishThePuff});}};function finishThePuff(){nr_d();};function nr_d(){var idstr=_globalLinkId;var obj=null;var idparts=idstr.split('*');var type=idparts[0];var idpart=idparts[1];_cart.removeItem(type,idpart);$('item_popup_div').hide();_forceNavigation=false;updateEntireScreen('');};function removeNotallowedItems(itemid){var obj=_itemsHash.get(itemid);var na=obj['notallowed'];na.each(function(item){var type=typeGet(item);_cart.removeItem(type,item);});};function repaintPanes(){var anchordivs=$$('div.anchordiv');var allsuffixary=[];var allidary=[];var pkgnary=[];anchordivs.each(function(item){var idstr=item.id;var parts=idstr.split('*');allsuffixary.push(parts[0]);allidary.push(parts[1]);});var cpdi=_cart.getAllCartItems();cpdi.each(function(pi){var obj=hashGet(pi);var na=obj['notallowed'];na.each(function(nai){pkgnary.push(nai);});});var notavailary=pkgnary.concat(_availabilityArray);for(var i=0;i<allidary.length;i++){var workitem=allidary[i];var divid=allsuffixary[i]+'*'+workitem;var divobj=$(divid);if(divobj!=null){if(notavailary.indexOf(workitem)> -1){divobj.innerHTML=_notavail;}else if(cpdi.indexOf(workitem)> -1){divobj.innerHTML=_incart;}else{divobj.innerHTML='';}}}};function hashGet(itemid){return _itemsHash.get(itemid);};function typeGet(itemid){var obj=_itemsHash.get(itemid);return obj['type'];};function typeGetNull(itemid){var type=null;var obj=_itemsHash.get(itemid);if(obj!=null)type=obj['type'];return type};function handleErrorMessage(msg){$('errormessagearea').show();$('errormsgtext').innerHTML=msg;};function handleSubmitErrorMessage(msg){$('submiterrormessagearea').show();$('submiterrormsgtext').innerHTML=msg;};function removeAllItems(){_cart=new _dsCart();};function findMissingPackageItems(){var missingitems=[];var roomary=_currentPackage['rooms'];var diningary=_currentPackage['dining'];var transary=_currentPackage['transportation'];var funary=_currentPackage['fun'];var rreq=(roomary.length>0)?true:false;var dreq=(diningary.length>0)?true:false;var treq=(transary.length>0)?true:false;var freq=(funary.length>0)?true:false;var noroom=true;var nofood=true;var notrans=true;var nofun=true;var noextra=true;if(_cart.getRooms().length>0)noroom=false;if(_cart.getDining().length>0)nofood=false;if(_cart.getTrans().length>0)notrans=false;if(_cart.getFun().length>0)nofun=false;if(_cart.getAddons().length>0)noextra=false;if(dreq&&nofood)missingitems.push('D');if(treq&&notrans)missingitems.push('T');if(freq&&nofun)missingitems.push('E');if(rreq&&noroom)missingitems.push('R');if(noextra)missingitems.push('A');return missingitems;};function getAdditionaInfoFor(itemid,obj,cls){var additionalinfo='';if((itemid=='corsage')||(itemid=='flowers_mixed')||(itemid=='roses_short')||(itemid=='roses_long')){additionalinfo='<span class="'+cls+'">No message on card</span>';}if(itemid=='WOODHOUSE'){additionalinfo='<span class="'+cls+'">No massage type has been selected</span>';}if(itemid=='massage'){additionalinfo='<span class="'+cls+'">No massage time has been entered</span>';}if(itemid=='panties_hers'){additionalinfo='<span class="'+cls+'">No size specified</span>';}if(itemid=='movie'){additionalinfo='<span class="'+cls+'">Will bring own movie</span>';}var um=obj['um'];var qty=obj['qty'];if((um.length>0)){additionalinfo='<span class="'+cls+'">'+um;if(qty>1){additionalinfo+='&nbsp;('+qty+')';}additionalinfo+='</span>';}return additionalinfo;};function updateTheCartTotal(){var checkoutsummarystr='';var checkoutsummarytablestr='<table class="cosummarytable" width="100%" border="0" cellpadding="0" cellspacing="0">';checkoutsummaryhdrstr='<tr><th class="h" colspan="2">Denver Surprise Package Summary</th></tr>';checkoutsummaryhdrstr+='<tr><th class="h2" colspan="2">'+formatDateDisplay2(_workingDate)+'</th></tr>';checkoutsummaryhdrstr+='<tr><th class="l">Package Item</th><th class="r">Price</th></tr>';var grandtotal=0;var pricetotal=0;var transavail=_currentPackage['transportation'];var allfun=_cart.getFun();var pkgary=_cart.getAllPackageItems();var addonary=_cart.getAddons();pkgary=pkgary.concat(addonary);pkgary.each(function(item){var obj=_itemsHash.get(item);var price=getPriceToUse(obj);pricetotal+=price;var name=obj['name'];var name2=obj['name2'];checkoutsummarystr+='<tr><td class="l">';checkoutsummarystr+='<span>'+name+' '+name2+'</span>';var controls=getControlsForItem(item);if(controls.length>0){controls='&nbsp;&nbsp;<span class="sw">'+controls+'</span>';}checkoutsummarystr+=controls;checkoutsummarystr+='</td><td class="r">'+formatCurrency(price,false)+'</td></tr>';});grandtotal=pricetotal;var fgrandtotal=formatCurrency(grandtotal,true);var carttotal='Total = '+fgrandtotal;if(grandtotal==0){carttotal='';$('removecartitemmsg').hide();}else{$('removecartitemmsg').show();}$('carttotal').innerHTML=carttotal;if(checkoutsummarystr==''){checkoutsummarystr=checkoutsummarytablestr+'<tr><th class="l">There are no Package Items to display</th></tr></table>';}else{var totalrow='<tr><th class="rb">';if(_cart.recommendLocalTrans()&&(transavail.length>0)&&(allfun.indexOf('WOODHOUSE')<0)){totalrow+='<span class="w" style="margin-right:70px;font-weight:normal;">Consider One Way Hops</span>';}totalrow+='Total</th><td class="rb">'+fgrandtotal+'</td></tr>';checkoutsummarystr=checkoutsummarytablestr+checkoutsummaryhdrstr+checkoutsummarystr+totalrow+'</table>';}$('checkoutarea_div').innerHTML=checkoutsummarystr;};function updateEntireScreen(linkid){updateTheCartTotal();nr_b();findVenueDistances.defer();repaintPanes.defer();};function nr_b(){var mitems=findMissingPackageItems();var str='';var target='';str+='<table class="dstable" width="100% style="margin-top:5px;margin-bottom:10px;" border="1">';str+='<tr><td class="c" style="color:#ffff00;background-color:#000000;padding:3px;font-size:10pt;border:1px solid black;">';str+='<b>shopping cart</b>';str+='</td>';str+='</tr>';str+='<tr><td class="c"><span class="FSB0red" style="margin-left:10px;">';str+='Click item to remove. <br />Mouseover for description.</span></td></tr></table>';str='';var pkrows='';for(var i=0;i<mitems.length;i++){var lbl='';str='';var id=mitems[i];if(id=='D')lbl='Please Choose<br />Restaurant';if(id=='E')lbl='Please Choose<br />Entertainment';if(id=='T')lbl='Please Choose<br />Transportaton';if(id=='R')lbl='Please Choose<br />Accommodation';lbl='';if(id!='A'){target=id+'-div';var dloc=getImageRoot(id);str+='<div class="cartitem">';str+='<img src="'+dloc+'please_choose.gif" width="120" height="80" >';str+='<div><b>'+lbl+'</b></div>';str+='</div>';var tarobj=$(target);if(tarobj!=null)tarobj.innerHTML=str;}}var diningdata='';var roomsdata='';var transdata='';var fundata='';var cpdi=_cart.getAllPackageItems();cpdi.each(function(item){pkrows='';var noselect=false;var dloc='';var obj=_itemsHash.get(item);var name=obj['name'];var name2=obj['name2'];name=name.gsub(' ','<br />');name2=name2.gsub(' ','<br />');var img=obj['icon'];var type=obj['type'];target=type+'-div';dloc=getImageRoot(type);pkrows+='<div class="cartitem" id="piwrapper'+item+'">';pkrows+='<div><img src="'+dloc+img+'" width="75" height="50" ';pkrows+='onmouseover="javascript:showDisplayTooltip(\''+type+'*'+item+'\',\'PIC\')" ';pkrows+='onmouseout="javascript:handleTooltipOut()" ';pkrows+='onclick="javascript:removeCartItem(\''+type+'*'+item+'\')"></div>';pkrows+='<div id="pdanchor_'+type+'*'+item+'"  valign="top"><b>'+name+'</b>';pkrows+='<br /><span style="font-size:7pt;">'+name2+'</span></div>';pkrows+='</div>';if(type=='D'){diningdata+=pkrows;}if(type=='T'){transdata+=pkrows;}if(type=='E'){fundata+=pkrows;}if(type=='R'){roomsdata+=pkrows;}});if(roomsdata.length>0){$('R-div').innerHTML=roomsdata;}if(transdata.length>0){$('T-div').innerHTML=transdata;}if(diningdata.length>0){$('D-div').innerHTML=diningdata;}if(fundata.length>0){$('E-div').innerHTML=fundata;}str='';var caodi=_cart.getAddons();caodi.each(function(item){var obj=_itemsHash.get(item);var name=obj['name'];name=name.gsub(' ','<br />');var type=obj['type'];var img=obj['icon'];var imgloc=getImageRoot(type);str+='<div class="cartitem" id="piwrapper'+item+'" style="text-align:center;width:100%">';str+='<div><img src="'+imgloc+img+'" border="0" ';str+='onmouseover="javascript:showDisplayTooltip(\''+type+'*'+item+'\',\'AOC\')" ';str+='onmouseout="javascript:handleTooltipOut()" ';str+='onclick="javascript:removeCartItem(\''+type+'*'+item+'\')"></div> ';str+='<div style="font-size:7pt;text-align:center;white-space:normal;" id="pdanchor_'+type+'*'+item+'">'+name+'</div>';str+='</div>';});$('curpackageaddonsdiv').innerHTML=str;};function getImageRoot(type){var dloc;if(type=='R')dloc='dspackages2/accommodations/';if(type=='D')dloc='dspackages2/restaurants/';if(type=='T')dloc='dspackages2/transportation/';if(type=='E')dloc='dspackages2/entertainment/';if(type=='A')dloc='dspackages2/SpecialTouches/';return dloc;};function nr_j(rary){var str='';var arylen=rary.length;var imgloc=getImageRoot('R');if(arylen>0){str+='<div id="R_table">';for(var k=0;k<arylen;k++){chk='';var roomid=rary[k];var idstr=roomid;var linkid='R*'+idstr;_packageTooltipIds.push(linkid);var itemdata=_itemsHash.get(idstr);var grpid=itemdata['grpid'];if((_currentBBGroup=='')||(_currentBBGroup==grpid)){if(itemdata==null)alert('null itemdata for '+idstr);var name=itemdata['name'];var img=itemdata['icon'];str+='<div class="iconwrapper" id="'+idstr+'" >';str+='<a  id="'+linkid+'" href="javascript:doIconClicked(\''+linkid+'\')"><img ';str+='src="'+imgloc+img+'" alt="'+name+'"  border="0" ></a>';str+='<div class="anchordiv" id="anchor_'+linkid+'" ></div>';str+='</div>';}}str+='<div style="clear:both;"></div>';str+='</div>';}return str;};function nr_f(dary){var str='';var arylen=dary.length;var imgloc=getImageRoot('D');if(arylen>0){str+='<div id="D_table">';for(var k=0;k<arylen;k++){var did=dary[k];var idstr=did;var linkid='D*'+idstr;_packageTooltipIds.push(linkid);var itemdata=_itemsHash.get(idstr);if(itemdata==null)alert('null itemdata for '+idstr);var name=itemdata['name'];var img=itemdata['icon'];str+='<div class="iconwrapper" id="'+idstr+'">';str+='<a  id="'+linkid+'" href="javascript:doIconClicked(\''+linkid+'\')"><img ';str+='src="'+imgloc+img+'" alt="'+name+'"  border="0" ></a>';str+='<div class="anchordiv" id="anchor_'+linkid+'" ></div>';str+='</div>';}str+='<div style="clear:both;"></div>';str+='</div>';}return str;};function nr_i(dary){var str='';var arylen=dary.length;var imgloc=getImageRoot('T');var majorstr='';var minorstr='';if(arylen>0){str+='<div id="T_table">';for(var k=0;k<arylen;k++){var did=dary[k];var idstr=did;var linkid='T*'+idstr;_packageTooltipIds.push(linkid);var itemdata=_itemsHash.get(idstr);if(itemdata==null)alert('null itemdata for '+idstr);var name=itemdata['name'];var img=itemdata['icon'];if(_majorTransportationArray.indexOf(did)> -1){majorstr+='<div class="iconwrapper" id="'+idstr+'">';majorstr+='<a  id="'+linkid+'" href="javascript:doIconClicked(\''+linkid+'\')"><img ';majorstr+='src="'+imgloc+img+'" alt="'+name+'"  border="0" ></a>';majorstr+='<div class="anchordiv" id="anchor_'+linkid+'" ></div>';majorstr+='</div>';}else{minorstr+='<div class="iconwrapper" id="'+idstr+'">';minorstr+='<a  id="'+linkid+'" href="javascript:doIconClicked(\''+linkid+'\')"><img ';minorstr+='src="'+imgloc+img+'" alt="'+name+'"  border="0" ></a>';minorstr+='<div class="anchordiv" id="anchor_'+linkid+'" ></div>';minorstr+='</div>';}}if(majorstr.length>0){str+='<div title="" class="transcategorylbl" ';str+='onmouseover="javascript:toggleme(\'rtcatdesc\')" ';str+='onmouseout="javascript:toggleme(\'rtcatdesc\')">Main Transport</div>';str+='<div id="rtcatdesc" class="transcategory" style="display:none;">'+_headingMajorTrans+'</div>';str+='<div>'+majorstr+'<div style="clear:both;"></div></div>';}if(minorstr.length>0){str+='<div class="transcategorylbl" ';str+='onmouseover="javascript:toggleme(\'owcatdesc\')" ';str+='onmouseout="javascript:toggleme(\'owcatdesc\')">One Way Hops</div>';str+='<div id="owcatdesc" class="transcategory" style="display:none;">'+_headingMinorTrans+'</div>';str+='<div>'+minorstr+'<div style="clear:both;"></div></div>';}str+='</div>';}return str;};function toggleme(id){$(id).toggle();};function nr_h(dary){var str='';var arylen=dary.length;var imgloc=getImageRoot('E');if(arylen>0){str+='<div id="E_table">';for(var k=0;k<arylen;k++){var did=dary[k];itemavail=false;var idstr=did;var linkid='E*'+idstr;_packageTooltipIds.push(linkid);var itemdata=_itemsHash.get(idstr);if(itemdata==null)alert('null itemdata for '+idstr);var name=itemdata['name'];var img=itemdata['icon'];str+='<div class="iconwrapper" id="'+idstr+'">';str+='<a  id="'+linkid+'" href="javascript:doIconClicked(\''+linkid+'\')"><img ';str+='src="'+imgloc+img+'" alt="'+name+'"  border="0" ></a>';str+='<div class="anchordiv" id="anchor_'+linkid+'" ></div>';str+='</div>';}str+='<div style="clear:both;"></div>';str+='</div>';}return str;};function getWorkingAddonsIdArray(allowedaddons){var rary=allowedaddons;if(rary.length==0)rary=_specialTouchesIdArray;return rary;};function nr_g(allowedaddons){var str='';var dary=getWorkingAddonsIdArray(allowedaddons);var imgloc=getImageRoot('A');var arylen=dary.length;if(arylen>0){str+='<div id="A_table">';for(var k=0;k<arylen;k++){var did=dary[k];var idstr=did;var linkid='A*'+idstr;var itemdata=_itemsHash.get(idstr);if(itemdata==null)alert('null itemdata for '+idstr);var name=itemdata['name'];var img=itemdata['icon'];str+='<div class="iconwrapper" id="'+idstr+'">';str+='<a  id="'+linkid+'" href="javascript:doIconClicked(\''+linkid+'\')"><img ';str+='src="'+imgloc+img+'" alt="'+name+'"  border="0" ';str+='onmouseover="javascript:showDisplayTooltip(\''+linkid+'\',\'AO\')" ';str+='onmouseout="javascript:handleTooltipOut()" ';str+='></a>';str+='<div class="anchordiv" id="anchor_'+linkid+'" ></div>';str+='</div>';}str+='<div style="clear:both;"></div>';str+='</div>';}$('addonitems_div').innerHTML=str;};function openLinkWindow(itemid){var obj=_itemsHash.get(itemid);url=obj['url'];if(url=='')return;var winhandle=window.open(url,"winid","width=800,height=680,resizable=1,scrollbars=1");};function openExternalWindow(url){_requestCounter+=1;var winid='winid'+_requestCounter;var winhandle=window.open(url,winid,"width=800,height=680,resizable=1,scrollbars=1");winhandle.focus();};function clearOutItemHash(){_cart.clearCart();var ary=_itemsHash.keys();ary.each(function(item){var obj=_itemsHash.get(item);obj.qty=1;obj.um='';});};function clearAllChoices(){clearOutItemHash();resetChineseMenu();_tabberDividArray.each(function(item){$(item).show();});$('errormessagearea').hide();var obj=_itemsHash.get('PU_TOWNCAR');obj.price='0.00';obj=hashGet('panties_hers');obj.um='Regular';obj=hashGet('massage');obj.um='Before Dinner';};function sortTheIdArray(idary){var room=new Array();var dining=new Array();var trans=new Array();var fun=new Array();var pkg=new Array();var addon=new Array();var sary=new Array();idary.each(function(item){var obj=_itemsHash.get(item);var type=obj['type'];if(type=='R')room.push(item);if(type=='D')dining.push(item);if(type=='T')trans.push(item);if(type=='E')fun.push(item);if(type=='A')addon.push(item);});dining.each(function(d){sary.push(d)});fun.each(function(e){sary.push(e)});trans.each(function(t){sary.push(t)});room.each(function(r){sary.push(r)});pkg.each(function(p){sary.push(p)});addon.each(function(a){sary.push(a)});return sary;};function getPriceToUse(obj){var pricestr=obj['price'];var qty=obj['qty'];var price=parseFloat(pricestr);price=price*qty;return price;};function findVenueDistances(){var dstr='';var dstrco='';var linkstr='';var vitems=_cart.getAllVenueItems();var transavail=_currentPackage['transportation'];if((vitems.length>1)&&(transavail.length>0)){var dining=vitems[0];var fun=vitems[1];if(fun!='WOODHOUSE'){dobj=_distanceMatrix.get(dining);if(dobj!=null){var dist=dobj[fun];if(vitems.length>2){dist='see map';}if(dist!=null){linkstr='<a href="javascript:showVenueDistanceMap()">'+dist+'</a>';dstr='Distance between Restaurant & Nightclub is '+linkstr;dstr+='<br /><span class="w" style="padding-right:50px;">Consider One Way Hops if over 2 Blocks.</span>';if(dist=='see map'){dstrco='';}else{dstrco='Distance between Restaurant & Nightclub is '+dist;}}}}}$('distancedisplay').innerHTML=dstr;_cart.setDistanceBetween(dstrco);handleMapAddresses();};function handleMapAddresses(){var oAdr='';var oadrobj=null;var distance='';var putime='';var distancestr='to be determined';var link='<a href="javascript:openGDMapWindow()">enter address</a>';if(_cart.isCarPickupMode()){var address=getVenueAddress();if(address!=''){oAdr=_cart.getOriginAddressString();oadrobj=_cart.getOriginAddress();if(oAdr!=''){link=oAdr+' <a href="javascript:openGDMapWindow()">update</a>';var pustr='<b>Pickup:</b> '+oAdr+'<br /><b>Destination:</b> '+address+'<br />';distance=_cart.getPickupDistance();putime=_cart.getPickupTime();pustr+='<b>Pickup Time:</b> '+putime+'&nbsp;&nbsp;<b>Distance:</b> '+distance+' miles.';distancestr=distance+' miles';}$('originaddressarea').innerHTML='<span class="puaddresslbl">Pickup Address:</span>'+link;$('destinationaddressarea').innerHTML='<span class="puaddresslbl">Destination Address:</span>'+address;var tempstr='<span class="puaddresslbl">Pickup Time:</span>'+putime;tempstr+='&nbsp;&nbsp;&nbsp;<span class="puaddresslbl">Distance:</span>'+distancestr;$('destinationdistancearea').innerHTML=tempstr;_cart.setDestinationAddress(address);if(_cart.haveVenuesChanged()){$('destinationdistancearea').innerHTML='<span class="puaddresslbl">Distance:</span>to be determined';}}}else{$('originaddressarea').innerHTML='';$('destinationaddressarea').innerHTML='';$('destinationdistancearea').innerHTML='';_cart.setDestinationAddress('');}};function getPriceOfItem(itemid){var obj=hashGet(itemid);var price=obj['price'];return price;};function getInputControlFor(itemid){var str='';var obj=_itemsHash.get(itemid);str=getAdditionaInfoFor(itemid,obj,'sb');return str;};function getControlsForItem(itemid){var controls='';var tempum='';var linktext='';var workitem=null;if(itemid=='WOODHOUSE'){workitem=hashGet(itemid);var sqty=workitem['qty'];tempum=workitem['um'];linktext='Please enter massage type';if(tempum.length>0){linktext=tempum+'&nbsp;('+sqty+')';}controls='<a id="corsagenote" href="javascript:showCartInputForSpa(\''+itemid+'\')" style="margin-left:5px;" title="'+tempum+'">'+linktext+'</a>';controls+='<br /><div class="blockcontroldiv" id="'+itemid+'_blockcontrol" style="display:none;">';controls+='<table class="controlstable" width="100%"><tr>';controls+='<th>Select massage type';controls+='</th></tr>';controls+='<tr>';controls+='<th>';controls+='<select id="'+itemid+'_type">';controls+='<option value="Swedish">Swedish</option>';controls+='<option value="Volcanic">Volcanic</option>';controls+='</select>';controls+='&nbsp;<select id="'+itemid+'_qty">';controls+='<option value="1">Single</option>';controls+='<option value="2">Couple</option>';controls+='</select>';controls+='</th></tr>';controls+='<tr><td class="r"><a href="javascript:handleBlockControlInputSpa(\''+itemid+'\')">ok</a></td>';controls+='</tr></table>';controls+='</div>';}if(itemid=='CHINESE'){workitem=hashGet(itemid);tempum=workitem['um'];linktext='Select from menu';if(tempum.length>0)linktext=tempum.truncate(45);controls='<a id="pickmenu" href="javascript:showChineseMenu()" style="margin-left:5px;" title="'+tempum+'">'+linktext+'</a>';}if((itemid=='corsage')||(itemid=='flowers_mixed')||(itemid=='roses_short')||(itemid=='roses_long')){workitem=hashGet(itemid);tempum=workitem['um'];linktext='Please enter card message';if(tempum.length>0)linktext=tempum.truncate(35);controls='<a href="javascript:showCartInputFor(\''+itemid+'\')" style="margin-left:5px;" title="'+tempum+'">'+linktext+'</a>';controls+='<br /><div class="blockcontroldiv" id="'+itemid+'_blockcontrol" style="display:none;">';controls+='<table class="controlstable" width="100%"><tr>';controls+='<th>Card message</th></tr>';controls+='<tr>';controls+='<td><input id="'+itemid+'_note" type="text" size="35"/></td></tr><tr>';controls+='<td class="r"><a href="javascript:handleBlockControlInput(\''+itemid+'\')">ok</a></td>';controls+='</tr></table>';controls+='</div>';}if(itemid=='movie'){workitem=hashGet(itemid);tempum=workitem['um'];linktext='Please enter movie title';if(tempum.length>0)linktext=tempum.truncate(35);controls='<a href="javascript:showCartInputFor(\''+itemid+'\')" style="margin-left:5px;" title="'+tempum+'">'+linktext+'</a>';controls+='<br /><div class="blockcontroldiv" id="'+itemid+'_blockcontrol" style="display:none;">';controls+='<table class="controlstable" width="100%"><tr>';controls+='<th>Requested movie title</th></tr><tr><td>';controls+='<span style="color:#ffffff;font-size:7pt;">Leave blank if you will bring your own</span></td></tr>';controls+='<tr>';controls+='<td><input id="'+itemid+'_note" type="text" size="35"/></td></tr><tr>';controls+='<td class="r"><a href="javascript:handleBlockControlInput(\''+itemid+'\')">ok</a></td>';controls+='</tr></table>';controls+='</div>';}if(itemid=='massage'){workitem=hashGet(itemid);tempum=workitem['um'];linktext='enter massage time';if(tempum.length>0)linktext=tempum.truncate(35);controls='<a href="javascript:showCartInputForSelect(\''+itemid+'\')" style="margin-left:5px;" title="'+tempum+'">'+linktext+'</a>';controls+='<br /><div class="blockcontroldiv" id="'+itemid+'_blockcontrol" style="display:none;">';controls+='<table class="controlstable" width="100%"><tr>';controls+='<th>Requested massage time</th></tr>';controls+='<tr>';controls+='<td>';controls+='<select id="'+itemid+'_note">';controls+='<option value="Before Dinner">Before Dinner</option>';controls+='<option value="Before Breakfast">Before Breakfast</option>';controls+='</select>';controls+='</td></tr><tr>';controls+='<td class="r"><a href="javascript:handleBlockControlInput(\''+itemid+'\')">ok</a></td>';controls+='</tr></table>';controls+='</div>';}if(itemid=='panties_hers'){workitem=hashGet(itemid);tempum=workitem['um'];linktext='Please enter lingerie size';if(tempum.length>0)linktext=tempum.truncate(35);controls='<a href="javascript:showCartInputForSelect(\''+itemid+'\')" style="margin-left:5px;" title="'+tempum+'">'+linktext+'</a>';controls+='<br /><div class="blockcontroldiv" id="'+itemid+'_blockcontrol" style="display:none;">';controls+='<table class="controlstable" width="100%"><tr>';controls+='<th>Lingerie size</th></tr>';controls+='<tr>';controls+='<td>';controls+='<select id="'+itemid+'_note">';controls+='<option value="Regular">Regular</option>';controls+='<option value="Plus">Plus</option>';controls+='</select>';controls+='</td></tr><tr>';controls+='<td class="r"><a href="javascript:handleBlockControlInput(\''+itemid+'\')">ok</a></td>';controls+='</tr></table>';controls+='</div>';}return controls;};function showCartInputForSpa(itemid){var qsel=0;var tsel=0;var divid=itemid+'_blockcontrol';$(divid).toggle();var workitem=hashGet(itemid);var qty=workitem['qty'];var um=workitem['um'];if(qty==2)qsel=1;if(um=='Volcanic')tsel=1;var qtyid=itemid+'_qty';var typeid=itemid+'_type';$(qtyid).selectedIndex=qsel;$(typeid).selectedIndex=tsel;};function showCartInputForSelect(itemid){var sel=0;var divid=itemid+'_blockcontrol';$(divid).toggle();var workitem=hashGet(itemid);var um=workitem['um'];if(itemid=='massage'){if(um=='Before Breakfast')sel=1;}if(itemid=='panties_hers'){if(um=='Plus')sel=1;}var inputid=itemid+'_note';$(inputid).selectedIndex=sel;};function showCartInputFor(itemid){var divid=itemid+'_blockcontrol';$(divid).toggle();var workitem=hashGet(itemid);var um=workitem['um'];var inputid=itemid+'_note';$(inputid).value=um;};function handleBlockControlInput(itemid){var val='';var inputid=itemid+'_note';val=$F(inputid);var obj=hashGet(itemid);obj['um']=val;var divid=itemid+'_blockcontrol';$(divid).toggle();updateEntireScreen('');};function handleBlockControlInputSpa(itemid){var type='';var qty='';var qtyid=itemid+'_qty';var typeid=itemid+'_type';qty=$F(qtyid);type=$F(typeid);var obj=hashGet(itemid);obj['qty']=parseInt(qty);obj['um']=type;var divid=itemid+'_blockcontrol';$(divid).toggle();updateEntireScreen('');};function doesCurrentCartContain(which){var target='';var contains=false;if(which=='DINING'){target='D';}if(which=='FUN'){target='E';}var cpdi=_cart.getAllPackageItems();for(var i=0;i<cpdi.length;i++){var id=cpdi[i];var item=_itemsHash.get(id);var type=item['type'];if(type==target){contains=true;break;}}return contains;};function isAddonAllowed(itemid){var ok=validateCartForAddedItem(itemid);return ok;};function validateCartForAddedItem(itemid){var type=typeGet(itemid);var ok=true;var containsdining=doesCurrentCartContain('DINING');var containsfun=doesCurrentCartContain('FUN');var aobj=_itemsHash.get(itemid);var name=aobj['name'];if(type=='A'){if((_cart.getRooms().length==0)&&(_noRoomTouchesArray.indexOf(itemid)<0)){msg='<b>Special Touch</b><br />'+name+'<br />only applies to Accommodations.';handleErrorMessage(msg);return false;}if((itemid=='PEDITAXITOUR')||(itemid=='horse_carriage')){if(!((containsdining)||(containsfun))){msg='<b>'+name+'</b><br />only allowed if <br /><b>Dining OR Entertaiment</b><br />are in your cart.';handleErrorMessage(msg);return false;}}}return validateOtherPackageItems(name,itemid);};function validateCartForItem(itemid){var type=typeGet(itemid);var msg='';var containsdining=doesCurrentCartContain('DINING');var containsfun=doesCurrentCartContain('FUN');var aobj=_itemsHash.get(itemid);var name=aobj['name'];if((_cart.getRooms().length==0)&&(_noRoomTouchesArray.indexOf(itemid)<0)&&(type=='A')){msg='<b>Special Touch</b><br />'+name+'<br />only applies to Accommodations.';handleErrorMessage(msg);return false;}if((itemid=='PEDITAXI')||(itemid=='OW_TOWNCAR')){if(!((containsdining)&&(containsfun))){msg='<b>'+name+'</b><br />only allowed if <br /><b>Dining AND Entertaiment</b><br />are in your cart.';handleErrorMessage(msg);return false;}}if((itemid=='PEDITAXITOUR')||(itemid=='horse_carriage')){if(!((containsdining)||(containsfun))){msg='<b>'+name+'</b><br />only allowed if <br /><b>Dining OR Entertaiment</b><br />are in your cart.';handleErrorMessage(msg);return false;}}if(itemid=='WOODHOUSE'){var um=aobj['um'];if(um.length==0){ok=false;msg='<b>Massage Type</b><br />must be specified</b>';handleErrorMessage(msg);return false;}}if(itemid=='CHINESE'){if(checkIfMenuComplete()==0){msg='Please make your<br /><a href="javascript:showChineseMenu()">menu selections</a>.';handleErrorMessage(msg);return false;}if(_deliveryTime==''){msg='Please select a<br /><b>Delivery Time</b><br />from the <a href="javascript:showChineseMenu()">menu</a>.';handleErrorMessage(msg);return false;}var menulimit=checkIfMenuOverLimit();if(menulimit.length>0){msg='A maximum of two<br /><b>'+_chineseLookup.get(menulimit)+'</b><br />items are allowed.';msg+='<br /><br />Please update your<br /><a href="javascript:showChineseMenu()">menu selections</a>.';handleErrorMessage(msg);return false;}}return validateOtherPackageItems(name,itemid);};function validateOtherPackageItems(name,itemid){var msg='';var ok=true;var cpdi=_cart.getAllPackageItems();for(var i=0;i<cpdi.length;i++){var id=cpdi[i];var obj=_itemsHash.get(id);var naname=obj['name'];var na=obj['notallowed'];if(na.indexOf(itemid)> -1){ok=false;msg='<b>'+name+'</b><br />is not allowed for<br /><b>'+naname+'</b>';handleErrorMessage(msg);break;}}return ok;};function formSubmitObject(){this.title='';this.rdate='';this.pkgitems=[];this.addons=[];this.pkgtotal='';this.taxtotal='';this.grandtotal='';this.handling='';this.oadr='';this.dadr='';this.pumiles='';this.putime='';this.dbetween='';this.category='';this.summary='';this.workingdate='';};function formSubmitItemObject(){this.id='';this.name='';this.img='';this.um='';this.qty='';this.price='';this.tax='';};function getFormSubmitObject(){var fso=new formSubmitObject();fso.title=_currentPackageTitle.stripTags();fso.rdate=_currentPackageRequestDate;fso.workingdate=_workingDate;var fsio=null;var pkgitemary=[];var addonitemary=[];var pkgpricetotal=0;var pkgtaxtotal=0;var inputstr='';var pkgary=_cart.getAllPackageItems();var addonary=_cart.getAddons();var dloc;var qtystr='';pkgary.each(function(item){fsio=new formSubmitItemObject();fsio.id=item;var cnt=0;inputstr='';var obj=_itemsHash.get(item);var type=obj['type'];var other=obj['other'];dloc=getImageRoot(type);inputstr=getInputControlFor(item);fsio.um=inputstr;var pricestr=obj['price'];var taxstr=obj['tax'];qtystr='';var qty=obj['qty'];if(qty>1)qtystr=' ('+qty+')';var icon=obj['icon'];var price=getPriceToUse(obj);var tax=parseFloat(taxstr);var pitemprice=parseFloat(price);pricestr=formatCurrency(price,true);if(tax==0){taxstr='&nbsp;';}else{taxstr=formatCurrency(tax,true);}pkgtaxtotal+=tax;pkgpricetotal+=pitemprice;fsio.name=obj['name'];fsio.img=dloc+icon;fsio.qty=qtystr;fsio.price=pricestr;fsio.tax=taxstr;pkgitemary.push(fsio);});var addonpricetotal=0;var addontaxtotal=0;addonary.each(function(item){var cnt=0;fsio=new formSubmitItemObject();fsio.id=item;inputstr='';var obj=_itemsHash.get(item);inputstr=getInputControlFor(item);fsio.um=inputstr;var dloc=getImageRoot('A');var pricestr=obj['price'];var taxstr=obj['tax'];var icon=obj['icon'];var price=parseFloat(pricestr);var tax=parseFloat(taxstr);if(tax==0){taxstr='&nbsp;';}else{taxstr=formatCurrency(tax,true);}addonpricetotal+=price;addontaxtotal+=tax;fsio.name=obj['name'];fsio.img=dloc+icon;fsio.qty='1';fsio.price=formatCurrency(price,true);fsio.tax=taxstr;addonitemary.push(fsio);});var grandtotal=0;grandtotal=pkgpricetotal+pkgtaxtotal+addonpricetotal+addontaxtotal+_packageServiceFee;var fgrandtotal=formatCurrency(grandtotal,true);var allitemstotal=formatCurrency((pkgpricetotal+addonpricetotal+_packageServiceFee),true);var allitemstax=formatCurrency((pkgtaxtotal+addontaxtotal),true);fso.pkgitems=pkgitemary;fso.addons=addonitemary;fso.pkgtotal=allitemstotal;fso.taxtotal=allitemstax;fso.handling=formatCurrency(_packageServiceFee,true);fso.grandtotal=fgrandtotal;fso.oadr=_cart.getOriginAddressString();fso.dadr=_cart.getDestinationAddress();fso.pumiles=_cart.getPickupDistance();fso.putime=_cart.getPickupTime();fso.dbetween=_cart.getDistanceBetween();fso.category=_currentPackageCategory;return fso;};function validateCheckoutData(){var specialedits=false;var costr='';var roomary=_currentPackage['rooms'];var diningary=_currentPackage['dining'];var transary=_currentPackage['transportation'];var funary=_currentPackage['fun'];var dovalidation=true;var rreq=(roomary.length>0)?true:false;var dreq=(diningary.length>0)?true:false;var treq=(transary.length>0)?true:false;var freq=(funary.length>0)?true:false;var cartcatitems=[];var addonary=_cart.getAddons();var allitemsary=_cart.getAllCartItems();var currentpkgid=_currentPackage['id'];if(_specialEditsPackagesArray.indexOf(currentpkgid)> -1){specialedits=true;}if(dovalidation){if(specialedits){var validcombo=_cart.isValidCombo();if(!validcombo){handleErrorMessage('You must have at least 2 items in your cart for this package.');return false;}if(addonary.length>0){cartcatitems=_cart.getRooms();if(cartcatitems.length==0){var bogusaddon=false;addonary.each(function(item){if(_noRoomTouchesArray.indexOf(item)<0){bogusaddon=true;}});}if(bogusaddon){handleErrorMessage('<b>Special Touches</b><br />only apply to Accommodations.  Please remove from cart.');return false;}}}else{if(dreq){cartcatitems=_cart.getDining();if(cartcatitems.length==0){handleErrorMessage('<b>Dining</b><br />is required for this package');return false;}}if(treq){var hasmajor=_cart.hasMajorTrans();if(!hasmajor){handleErrorMessage('<b>Round Trip<br />Transportation</b><br />is required for this package');return false;}}if(freq){cartcatitems=_cart.getFun();if(cartcatitems.length==0){handleErrorMessage('<b>Entertainment</b><br />is required for this package');return false;}}if(rreq){cartcatitems=_cart.getRooms();if(cartcatitems.length==0){handleErrorMessage('<b>Accommodation</b><br />is required for this package');return false;}}if(addonary.length>0){cartcatitems=_cart.getRooms();if(cartcatitems.length==0){handleErrorMessage('<b>Special Touches</b><br />only apply to Accommodations.');return false;}}}if((_cart.isCarPickupMode())&&(_cart.haveVenuesChanged())){handleErrorMessage('Please enter or update your<br /><b>Pickup Address</b>.');return false;}}var allitemsok=true;for(var j=0;j<allitemsary.length;j++){var itemid=allitemsary[j];allitemsok=validateCartForItem(itemid);if(!allitemsok){break;}}if(!allitemsok){return false;}return true;};function showDatePicker(){_dateCalendar.draw();};function getAvailabilitiesForDate(){if(_doCheckAvailability){var qstr='&date='+escape(_workingDate);var jsonary=_ajaxAvailHash.get(_workingDate);if(jsonary==null){var myAjax=new Ajax.Request(_ajaxurl,{method:'post',parameters:qstr,onSuccess:function(ajaxReq){handleQueryDate(ajaxReq);}});showAjaxLoading('datepickerlink',myAjax);}else{loadTheArraysUsingObj(jsonary);}}else{doPackageSelect.defer();}};function handleQueryDate(ajaxRequest){var results=ajaxRequest.responseText;var crobj=buildNetriseResponseObjXml(results);if(masterLookupErrorHandler(crobj,'datepickerlink')){return;}var jsonstr=crobj['JSON'];var jsonobj=createNetriseObjectFromJSON(jsonstr);var rdate=jsonobj['date'];var jsonary=jsonobj['data'];_ajaxAvailHash.set(_workingDate,jsonary);loadTheArraysUsingObj(jsonary);};function closeTheDatePicker(){$('datepicker_div').hide();};function dateUseHandler(dateobj){var datestr=dateobj.toDateString();hereIsTheSelectedDate(datestr);};function hereIsTheSelectedDate(date){var seldate=Date.parseString(date,'y-M-d');_dateHasBeenSelected=true;seldate=seldate.add('d',1);var isbefore=seldate.isBefore(_bookingStartDate);if(isbefore){var msg='Selected Date<br /><b>'+date+'</b><br />is before<br />earliest booking date <br />';msg+='<b>'+_bookingStartDate.format('y-MM-d')+'</b>';handleErrorMessage(msg,'datepickerlink');return;}_workingDate=date;formatDateDisplay();getAvailabilitiesForDate();$('DATE_INPUT').value=date;$('cartpkgdate').innerHTML=formatDateDisplay2(date);};function formatDateDisplay(){var rdate=Date.parseString(_workingDate);var str=rdate.format('MMM d, y');_currentPackageRequestDate=rdate.getDayName()+' '+str;};function formatDateDisplay2(datestr){var rdate=Date.parseString(datestr);var str=rdate.format('MMM d, y');return rdate.getDayAbbreviation()+' '+str;};function formatCalDate(Day,Month,Year){Month++;if(Month<10)Month='0'+Month;if(Day<10)Day='0'+Day;var dateString=Year+'-'+Month+'-'+Day;return dateString;};function loadTheArraysUsingObj(jsonary){var allstuff=_cart.getAllPackageItems();_availabilityArray=jsonary;if(allstuff.length>0){for(var i=0;i<allstuff.length;i++){var itemid=allstuff[i];if(jsonary.indexOf(itemid)> -1){var type=typeGet(itemid);_cart.removeItem(type,itemid);}}updateEntireScreen('');}else{doPackageSelect.defer();}};function closeTheDiv(divid){$(divid).hide();};function handleShowPackageDiv(){var element=$('packageselectarea');var link=$('showpackageslink');var ltext='';var disp=element.getStyle('display');if(disp=='block'){ltext='Select Other Package';}else{new Effect.SlideDown(element);}};function closeQuickPick(){var element=$('packageselectarea');new Effect.SlideUp(element);};function buildTableTwo(){myTable2=new gdTable(1,'RESULTS','RESULTS_DATA',{tooltips:true,links:[1],callback:clickFromTable});myTable2.setColHeadingAry(["Category","Package Name","Price"]);myTable2.setColWidthAry(["80","240","50"]);myTable2.setCellDataTypeAry(["T","T","N"]);myTable2.setScrollAreaHeight(105);var jsondata2=buildNavTableJSON();myTable2.setMasterArray(jsondata2);myTable2.buildEntireTable();};function buildNavTableJSON(){var onlythesepackages=[];if(_currentBBGroup.length>0){onlythesepackages=_partnersPackagesHash.get(_currentBBGroup);}var str='[';var keys=_packageHash.keys();var cnt=0;keys.each(function(key){var pkg=_packageHash.get(key);if((onlythesepackages.length==0)||(onlythesepackages.indexOf(key)> -1)){var nme=pkg['title'];var cat=pkg['category'];var id=pkg['id'];var dispcat=_displayNameHash.get(cat);var desc=pkg['hodesc'];str+='[';str+='"'+dispcat+'",';str+='"'+nme+'",';str+='"'+getSumOfFirstElements(id)+'",';str+='"'+desc+'",';str+='"'+id+'",';str+='"'+key+'",';str+='"'+cnt+'",';str+='"'+cat+'",';str+='],';cnt++;}});str=str.substring(0,str.length-1);str+=']';return str;};function loadTabberListeners(){_currentSelectedTabberTab='DINING_TAB';_previousSelectedTabberTab='DINING_TAB';Event.observe('ROOMS_TAB','mouseover',function(e){handleGDMouseOver('ROOMS_TAB')});Event.observe('DINING_TAB','mouseover',function(e){handleGDMouseOver('DINING_TAB')});Event.observe('TRANSPORTATION_TAB','mouseover',function(e){handleGDMouseOver('TRANSPORTATION_TAB')});Event.observe('FUN_TAB','mouseover',function(e){handleGDMouseOver('FUN_TAB')});Event.observe('ADDONS_TAB','mouseover',function(e){handleGDMouseOver('ADDONS_TAB')});Event.observe('CHECKOUT_TAB','mouseover',function(e){handleGDMouseOver('CHECKOUT_TAB')});};function performPostTabbedChangedActions(){};function showPackageContinue(){var okdata=validateCheckoutData();if(!okdata)return;openAndShowCheckoutWindow();};function openAndShowCheckoutWindow(){playCheckoutSound();var sobj=getFormSubmitObject();var json=Object.toJSON(sobj);var pickupaddress='';var address='';var city='';var state='';var zip='';pickupaddress=_cart.getOriginAddressString();if(pickupaddress.length>0){var adobj=_cart.getOriginAddress();address=adobj['address'];city=adobj['city'];state=adobj['state'];zip=adobj['zip'];}var url=_submitPackageUrl;var winhandle='WIN'+gdmapwinnumber;var winid=winhandle;winhandle=window.open("",winid,"width=860,height=680,menubar=0,resizable=1,scrollbars=1,titlebar=0,status=0,toolbar=0");winhandle.document.open();winhandle.document.write('<html>');winhandle.document.write('<script>');winhandle.document.write('function forwardMe() { document.forms[0].submit();}');winhandle.document.write('</script>');winhandle.document.write('<body onload="forwardMe()"; >');winhandle.document.write('<form action="'+url+'" method="post">');winhandle.document.write('<input type="hidden" name="jsondata" value=\"'+escape(json)+'">');winhandle.document.write('<input type="hidden" name="address" value=\"'+escape(address)+'">');winhandle.document.write('<input type="hidden" name="city" value=\"'+escape(city)+'">');winhandle.document.write('<input type="hidden" name="state" value=\"'+escape(state)+'">');winhandle.document.write('<input type="hidden" name="zip" value=\"'+escape(zip)+'">');winhandle.document.write('</form>');winhandle.document.write('</body></html>');winhandle.document.close();winhandle.focus();};var hometooltipArray=[];var dynamictooltipArray=[];var hplimg1=new Image();hplimg1.src='../cartimages/accommodations2.gif';var hplimg2=new Image();hplimg2.src='../dsimages/checkout2.gif';var hplimg3=new Image();hplimg3.src='../dsimages/dining2.gif';var hplimg4=new Image();hplimg4.src='../dsimages/entertainment2.gif';var hplimg5=new Image();hplimg5.src='../dsimages/extras2.gif';var hplimg6=new Image();hplimg6.src='../dsimages/transportation2.gif';var hplimg12=new Image();hplimg12.src='../cartimages/accommodations2_f2.gif';var hplimg22=new Image();hplimg22.src='../dsimages/checkout2_f2.gif';var hplimg32=new Image();hplimg32.src='../dsimages/dining2_f2.gif';var hplimg42=new Image();hplimg42.src='../dsimages/entertainment2_f2.gif';var hplimg52=new Image();hplimg52.src='../dsimages/extras2_f2.gif';var hplimg62=new Image();hplimg62.src='../dsimages/transportation2_f2.gif';var _divTooltipTimer=null;var _divHOTooltipTimer=null;var _currentTooltipId='';function showDisplayTooltip(elid,which){handleTooltipHover('',elid,which);};function handleTooltipHover(evt){var data=$A(arguments);var elid=data[1];_currentTooltipId=elid;var atype=data[2];var showeffect=true;var anchor='';if((atype=='PI')||(atype=='AO')){anchor='anchor_';}if((atype=='PIC')||(atype=='AOC')){anchor='pdanchor_';showeffect=false;}var idparts=elid.split('*');var type=idparts[0];var idpart=idparts[1];if(showeffect){var neff=new Effect.Pulsate(idpart,{pulses:1,from:.5,duration:.2});}_divHOTooltipTimer=showTooltipData.delay(.5,elid,anchor,atype);window.clearTimeout(_divTooltipTimer);};function handleTooltipOut(evt){var divid='item_popup_div';_divHOTooltipTimer=null;window.clearTimeout(_divHOTooltipTimer);_divTooltipTimer=completeTheClose.delay(1.2,divid);};function completeTheClose(divid){$(divid).hide();};function handleShowPackageDescription(){var name=_currentPackageTitle;var data=$('packagedescdata').innerHTML;var str='';str+='<table id="tooltipdivtable" class="dstable" cellpadding="0" cellspacing="0" width="100%">';str+='<tr><td class="dialog_nw">';str+='</td>';str+='<td class="dialog_n" align="center">';str+='<b>'+name+'</b>';str+='</td>';str+='<td class="dialog_ne">';str+='<div class="dialog_close" onclick="javascript:closeTheDiv(\'generic_desc_div\')"></div>';str+='</td>';str+='</tr>';str+='<tr>';str+='<td class="dialog_w"></td>';str+='<td class="datadesc">';str+='<div style="text-align:left;margin:5px;">';str+=data;str+='</div></td>';str+='<td class="dialog_e"></td>';str+='</tr>';str+='<tr><td class="dialog_sw"></td><td class="dialog_s"></td><td class="dialog_se"></td></tr>';str+='</table>';var robj=$('generic_desc_div');robj.innerHTML=str;robj.style.left=300+'px';robj.style.top=140+'px';robj.show();};function showTooltipData(idstr,anchor,anctype){if(_divHOTooltipTimer==null)return;var idparts=idstr.split('*');var type=idparts[0];var idpart=idparts[1];if(idstr!=_currentTooltipId)return;var ty=getRealTop(anchor+idstr);var tx=getRealLeft(anchor+idstr);var wrapperleft=getRealLeft('inner_content');var wrapperwidth=$('inner_content').getWidth();var realx=tx-wrapperleft;var realr=realx+420;var adj=0;if(realr>wrapperwidth){adj=realr-wrapperwidth+40;}tx=tx-adj;var robj=$('item_popup_div');robj.innerHTML=getTooltipHTML(type,idpart,anctype);robj.style.left=tx+35+'px';robj.style.top=(ty+15-getDeltaOffset())+'px';$('item_popup_div').show();};function getTooltipHTML(type,itemid,anctype){var tworows=false;var str='';var imgroot='';var addcartid=type+'*'+itemid;imgroot=getImageRoot(type);var iobj=_itemsHash.get(itemid);var name=iobj['name'];var name2=iobj['name2'];if(name2!=''){tworows=true;}var price=iobj['price'];if(itemid=='PU_TOWNCAR')price='Price depends on round trip distance from your home';var img='<img src="'+imgroot+iobj['img']+'" />';var text=iobj['desc'];var more=iobj['more'];str+='<table id="tooltipdivtable" class="dstable" cellpadding="0" cellspacing="0" width="100%">';str+='<tr><td class="dialog_nw">';str+='</td>';str+='<td class="dialog_n" align="center">';str+='<b>'+name+'</b>';str+='</td>';str+='<td class="dialog_ne">';str+='<div class="dialog_close" onclick="javascript:closeTheDiv(\'item_popup_div\')"></div>';str+='</td>';str+='</tr>';if(tworows){str+='<tr><td class="dialog_w">';str+='</td>';str+='<td class="datas" align="center">';str+='<b>'+name2+'</b>';str+='</td>';str+='<td class="dialog_e">';str+='</td>';str+='</tr>';}str+='<tr>';str+='<td class="dialog_w"></td>';str+='<td class="img">';str+=img;str+='</td>';str+='<td class="dialog_e"></td>';str+='</tr>';str+='<tr>';str+='<td class="dialog_w"></td>';str+='<td class="data">';str+='<div style="text-align:left;margin:5px;">';str+=text;str+='</div>';if(more.length>0){str+='<div style="text-align:left;margin:5px;">';str+=more;str+='</div>';}if(price!=''){str+='<div style="text-align:left;margin:5px;">';str+='$'+price;str+='</div>';}str+='</td>';str+='<td class="dialog_e"></td>';str+='</tr>';str+='<tr><td class="dialog_sw"></td><td class="dialog_s"></td><td class="dialog_se"></td></tr>';str+='</table>';return str;};function toggleThisDiv(divid){$(divid).toggle();};function killTooltipTimer(){window.clearTimeout(_divTooltipTimer);};function hideTooltipDiv(evt){completeTheClose('item_popup_div');};function loadStaticTooltips(){var dary=_itemsHash.keys();dary.each(function(item){var tobj=_itemsHash.get(item);var type=tobj['type'];if(type=='A'){var el='HO*'+item;if($(el)!=null){Event.observe(el,'mouseenter',handleTooltipHover.bindAsEventListener(el,el,'AO'));Event.observe(el,'mouseleave',handleTooltipOut);}}});};function loadDynamicTooltips(){clearDynamicTooltips();dynamictooltipArray=[];var dary=_packageTooltipIds;dary.each(function(item){var parts=item.split('*');var prefix=parts[0];var itemid=parts[1];var tobj=_itemsHash.get(itemid);var type=tobj['type'];var el=item;var target='';var text=tobj['tooltip'];var tit=tobj['name'];var name2=tobj['name2'];var id=tobj['id'];var type=tobj['type'];if(name2!='')tit=tit+'<br />'+name2;var tobj=new tooltipObj(el,target,tit,text,5,15,id,type);if($(el)!=null){dynamictooltipArray.push(tobj);Event.observe(el,'mouseenter',handleTooltipHover.bindAsEventListener(el,el,'PI'));Event.observe(el,'mouseleave',handleTooltipOut.bindAsEventListener(el,el,'PI'));}});};function clearDynamicTooltips(){dynamictooltipArray.each(function(el){if($(el)!=null){Event.stopObserving(el,'mouseenter',handleTooltipHover);Event.stopObserving(el,'mouseleave',handleTooltipOut);}});};function getDeltaOffset(){var tweak=0;var wrapdiv=$('maincontentwrapper');var curcontentdiv=_currentSelectedTabberTab+'_CONTENT';var pardiv=$(curcontentdiv);var wrapperary=Element.cumulativeScrollOffset(wrapdiv);var contentary=Element.cumulativeScrollOffset(pardiv);var delta=contentary[1]-wrapperary[1];if(Prototype.Browser.IE){if(_currentSelectedTabberTab=='ROOMS_TAB'){}else{}}return delta-tweak;};function getUpgradeAmountForTT(tobj){var str='';var id=tobj['id'];var type=tobj['type'];var itemdata=_itemsHash.get(id);var price=itemdata['price'];var ary=null;var which='';var showup=false;if(type=='R'){ary=_currentPackage['rooms'];which='Room';showup=true;}if(type=='D'){ary=_currentPackage['dining'];which='Dining';showup=true;}if(type=='T'){ary=_currentPackage['transportation'];which='Transportation';showup=true;}if(type=='E'){ary=_currentPackage['fun'];which='Entertainment';showup=true;}if(showup){var baseid=ary[0];var basedata=_itemsHash.get(baseid);var baseprice=basedata['price'];var fprice=parseFloat(price);var fbaseprice=parseFloat(baseprice);var delta=fprice-fbaseprice;if(delta!=0){str+='<div class="ttupgradeamount">'+formatCurrency(delta,true)+' Upgrade from Standard '+which+'</div>';}}return str;};function tooltipObj(el,target,title,text,x,y,id,type){this.el=el;this.target=target;this.title=title;this.text=text;this.x=x;this.y=y;this.id=id;this.type=type;};function handleHomeTooltipHover(evt){var data=$A(arguments);data.shift();var elid=data.toString();showHomeTooltip(elid)};function handleHomeTooltipOut(evt){var data=$A(arguments);data.shift();var elid=data.toString();makeInvisible('tooltipdiv');var img=$(elid);var hostr='dsimages/'+elid+'.gif';img.src=hostr;};function showHomeTooltip(elid){var tobj=getTooltipHomeObject(elid);var tdiv=$('tooltipdiv');tdiv.style.width='225px';var x=tobj['x'];var y=tobj['y'];var target=tobj['target'];tdiv.innerHTML=getTooltipDataForObject(tobj);var ty=getRealTop(target);var tx=getRealLeft(target);tdiv.style.top=(ty+y)+'px';tdiv.style.left=(tx+x)+'px';makeVisible('tooltipdiv');var img=$(elid);var hostr='dsimages/'+elid+'_f2.gif';img.src=hostr;};function getTooltipHomeObject(elid){var tobj=null;for(var i=0;i<hometooltipArray.length;i++){tobj=hometooltipArray[i];if(tobj['el']==elid)break;}return tobj;};function getTooltipDataForObject(tobj){var str='';str+='<table class="tooltiptable" cellspacing="0" cellpadding="0" width="100%"><tr><th>'+tobj['title']+'</th></tr>';str+='<tr><td><div class="tooltipdiv">'+tobj['text']+'</div></td></tr></table>';return str;};function loadHomeTooltips(){var id='';var type='';hometooltipArray=new Array();var text='Celebrate your age! Head out to the Bed & Breakfast room of your choice, then let the good times roll. <br /><br />Package options for dinner, entertainment, spa treatments and more. Finish off the evening celebration with a birthday cake in room. <br /><br />Next morning, sleep in and wake up to  a full gourmet breakfast in the dining room.';var title='Birthday';var el='bt_birthday_home';var target='denver_lights';var tobj=new tooltipObj(el,target,title,text,5,10,id,type);hometooltipArray.push(tobj);text='Create a romantic get away package and impress your loved one!<br /><br />  We offer various creative packages from simple and inexpensive cuddle up in a luxurious B&amp;B with a movie and take-in, to a date at a hip new eatery or a memorable classic restaurant, to creating an unforgettable Night in Camelot which includes being chauffeured in a luxurious antique Rolls Royce!';ttip='<div>'+text+'</div>';title='Romance';el='bt_romance_home';var tobj=new tooltipObj(el,target,title,text,5,10,id,type);hometooltipArray.push(tobj);text='<ul><li>Quick Package Comparisons</li><li>How DenverSurprise.com works</li><li>What you do / What we do</li></ul>';title='Help';el='bt_help_home';var tobj=new tooltipObj(el,target,title,text,5,10,id,type);hometooltipArray.push(tobj);text='Want to do something different? Be a little wild and crazy?<br /><br /> Fantasize you are in Paris and dine at a French restaurant, or paint the town red with a night spot or jazz joint, then enjoy a wild evening in a luxurious Bed and Breakfast.<br /><br /> But it ain`t over yet. Next morning, awaken to the smell of fresh coffee, sip some OJ while you claim you don`t remember a thing from last night, and renew your dignity with a full gourmet breakfast in the dining room.';title='Wildside';el='bt_wildside_home';var tobj=new tooltipObj(el,target,title,text,5,10,id,type);hometooltipArray.push(tobj);text='Maybe you`re not as predictable as they think! Or, you want to make up for all those missed ones? These packages will put you back on cloud nine.<br /><br /> Experience a charming Bed and Breakfast room, a restaurant your better half would just love, and reminisce about how it all began.';title='Anniversary';el='bt_anniversary_home';var tobj=new tooltipObj(el,target,title,text,5,10,id,type);hometooltipArray.push(tobj);text='<ul><li>You can still give the gift when you do not know the perfect date. </li><li>Surprise a friend or loved one. </li><li>A great idea when you have no ideas!</li></ul>';title='Gift Certificate';el='bt_giftcert_home';var tobj=new tooltipObj(el,target,title,text,5,10,id,type);hometooltipArray.push(tobj);hometooltipArray.each(function(obj){var el=obj['el'];Event.observe(el,'mouseover',handleHomeTooltipHover.bindAsEventListener(el,el));Event.observe(el,'mouseout',handleHomeTooltipOut.bindAsEventListener(el,el));});};var _tabberDividArray=[];var _currentSelectedTabberTab='';var _previousSelectedTabberTab='';function resetTabs(){for(var i=0;i<_tabberDividArray.length;i++){var id=_tabberDividArray[i];var tabid=id;$(tabid).className='unselectedtab';}};function hideAllContent(){for(var i=0;i<_tabberDividArray.length;i++){var id=_tabberDividArray[i];var tabid=id+'_CONTENT';$(tabid).style.display='none';}};function goToTabNumber(num){var tabid=_tabberDividArray[num];handleGDTabClick(tabid);};function vvvvgetclassfortab(tabid){var cls='';if(tabid=='DINING_TAB')cls='dining2';if(tabid=='TRANSPORTATION_TAB')cls='transportation2';if(tabid=='FUN_TAB')cls='entertainment2';if(tabid=='ROOMS_TAB')cls='accommodations2';if(tabid=='ADDONS_TAB')cls='extras2';return cls;};function getclassfortab(tabid){var cls='';if(tabid=='DINING_TAB')cls='dining';if(tabid=='TRANSPORTATION_TAB')cls='transportation';if(tabid=='FUN_TAB')cls='entertainment';if(tabid=='ROOMS_TAB')cls='accommodations';if(tabid=='ADDONS_TAB')cls='extras';if(tabid=='CHECKOUT_TAB')cls='checkout';return cls;};function handleGDTabClick(tabid){var prevcls=getclassfortab(_previousSelectedTabberTab);if(_currentSelectedTabberTab==tabid){return;}_currentSelectedTabberTab=tabid;performPostTabbedChangedActions();$(_previousSelectedTabberTab).className=prevcls;var pcontentid=_previousSelectedTabberTab+'_CONTENT';$(pcontentid).hide();showCurrentTab();};function showCurrentTab(){var curid=_currentSelectedTabberTab+'_CONTENT';var curcls=getclassfortab(_currentSelectedTabberTab);$(_currentSelectedTabberTab).className=curcls+'_f2';$(curid).show();_previousSelectedTabberTab=_currentSelectedTabberTab;};function handleGDMouseOver(elid){handleGDTabClick(elid);};var gdTable=Class.create({initialize:function(id,headerdiv,resultsdiv,options){this.tableid=id;this.headerDiv=headerdiv;this.resultsDiv=resultsdiv;this.masterArray=[];this.colHeadingAry=[];this.colWidthAry=[];this.cellDataTypeAry=[];this.hrowHt=25;this.title='';this.scrollAreaHeight=0;this.stylePrefix='';this.tooltipWidth=600;this.options=options||{};this.options.links=this.options.links||[];this.options.callback=this.options.callback||null;this.options.tooltips=this.options.tooltips||false;this.options.rownumbers=this.options.rownumbers||false;if(this.options.tooltips)this.options.rownumbers=true;this.nCellWidth=25;this.cellPadding=3;this.bordWidth=1;this.sbarWidth=20;this.sortColumnNumber= -1;},setMasterArray:function(a){var jobj;try{jobj=a.evalJSON();}catch(e){alert('Json string is not formatted correctly');}this.masterArray=jobj;},getMasterArray:function(){return this.masterArray;},setColHeadingAry:function(a){this.colHeadingAry=a;},getColHeadingAry:function(){return this.colHeadingAry;},setColWidthAry:function(a){this.colWidthAry=a;},setHeaderRowHeight:function(a){this.hrowHt=a;},setCellDataTypeAry:function(a){this.cellDataTypeAry=a;},setScrollAreaHeight:function(a){this.scrollAreaHeight=a;},setStylePrefix:function(a){this.stylePrefix=a;},setTitle:function(a){this.title=a;},setTooltipWidth:function(a){this.tooltipWidth=a;},getTotalColWidth:function(){var tary=this.colWidthAry;var wid=0;for(i=0;i<tary.length;i++){wid+=parseInt(tary[i]);}return wid;},buildEntireTable:function(){this.clearDomNodes(this.headerDiv);this.clearDomNodes(this.resultsDiv);this.buildTableHeader();this.buildResultsDom();},buildTableHeader:function(){var headerdiv=this.headerDiv;var colary=this.colHeadingAry;var ncwidth=this.nCellWidth;var hrhgt=this.hrowHt;var bwidth=this.bordWidth;var celldatatype=this.cellDataTypeAry;var numcols=colary.length;var totwid=this.getTotalColWidth();var stylepref=this.stylePrefix;var oRow=null;var oCell=null;var dtype='T';var numpadding='';var tweak=5;var tweak2=0;var oTable=$(headerdiv);if(!this.options.rownumbers){ncwidth=0;tweak2=1;if(Prototype.Browser.IE)tweak2=0;}var tablewidth=ncwidth+totwid+numcols+(2*bwidth);if(Prototype.Browser.IE){tablewidth=tablewidth-numcols;tweak=0;}oTable.style.width=tablewidth-tweak2+'px';if(this.title.length>0){var oTitle=document.createElement("div");oTitle.className=stylepref+'title_row';oTitle.innerHTML=this.title;oTable.appendChild(oTitle);}var oTBody=document.createElement("div");oTable.appendChild(oTBody);oRow=document.createElement("div");oRow.className='column_row';oRow.style.height=hrhgt+'px';if(this.options.rownumbers){oCell=document.createElement("div");oCell.className=stylepref+'flt_left_header_first';oCell.style.width=ncwidth+'px';oCell.style.height=(hrhgt-tweak)+'px';oCell.innerHTML='#';oRow.appendChild(oCell);}for(var j=0;j<colary.length;j++){oCell=document.createElement("div");oCell.id=j;var colval=colary[j];if(celldatatype.length>0){dtype=celldatatype[j];}if(dtype=='T'){Event.observe(oCell,'click',this.doSortResultsTableText.bindAsEventListener(this,j));}else if(dtype=='N'){Event.observe(oCell,'click',this.doSortResultsTableNumber.bindAsEventListener(this,j));}oCell.title=colval;var iwid=this.colWidthAry[j];oCell.style.width=iwid+'px';oCell.style.height=(hrhgt-tweak)+'px';if(this.options.rownumbers){oCell.className=stylepref+'flt_left_header';}else if(j==0){oCell.className=stylepref+'flt_left_header_first';}else{oCell.className=stylepref+'flt_left_header';}oCell.innerHTML=colval+numpadding;oRow.appendChild(oCell);}oCell=document.createElement("div");oCell.className='clr_left';oRow.appendChild(oCell);oTBody.appendChild(oRow);},buildResultsDom:function(){var resultsdiv=this.resultsDiv;var colary=this.colHeadingAry;var colwid=this.colWidthAry;var ncwidth=this.nCellWidth;var bwid=this.bordWidth;var numcols=colary.length;var totwid=this.getTotalColWidth();var celpad=this.cellPadding;var sbwid=this.sbarWidth;var celldatatype=this.cellDataTypeAry;var hastooltips=this.options.tooltips;var stylepref=this.stylePrefix;var oRow=null;var oCell=null;var oTable=$(resultsdiv);var masterary=this.getMasterArray();var isEvenRow=true;var numrows=masterary.length;var tablewidth=0;var scrollwidth=0;var tcellid='';if(!this.options.rownumbers){ncwidth=0;}tablewidth=ncwidth+totwid+numcols;if(Prototype.Browser.IE){tablewidth=tablewidth-numcols+2;sbwid=sbwid-2;}else{if(!this.options.rownumbers)tablewidth=tablewidth-1;}scrollwidth=tablewidth+sbwid;oTable.style.width=scrollwidth+'px';if(this.scrollAreaHeight>0){oTable.style.height=this.scrollAreaHeight+'px';oTable.style.overflow='auto';}var oTBody=document.createElement("div");oTBody.style.width=tablewidth+'px';oTable.appendChild(oTBody);for(var rownum=0;rownum<numrows;rownum++){var innerary=masterary[rownum];var imod=rownum%2;if(imod==0){isEvenRow=true;}else{isEvenRow=false;}oRow=document.createElement("div");var trowid=this.tableid+'ctbrow'+rownum;oRow.id=trowid;if(isEvenRow){oRow.className=stylepref+'dataRowEven';}else{oRow.className=stylepref+'dataRowOdd';}if(this.options.rownumbers){tcellid=this.tableid+'numcell_'+rownum;oCell=document.createElement("div");oCell.id=tcellid;if(imod==0){oCell.className=stylepref+'flt_left_first_even';}else{oCell.className=stylepref+'flt_left_first_odd';}oCell.style.width=ncwidth+'px';oCell.style.paddingTop=celpad+'px';oCell.style.paddingBottom=celpad+'px';oCell.innerHTML='&nbsp;'+(rownum+1);oRow.appendChild(oCell);if(hastooltips){Event.observe(oCell,'mouseover',this.showCTBTooltip.bindAsEventListener(this,tcellid));Event.observe(oCell,'mouseout',this.hideCTBTooltip.bindAsEventListener(this,tcellid));}}for(var k=0;k<numcols;k++){oCell=document.createElement("div");var iwid=parseInt(colwid[k]);oCell.style.width=(iwid)+'px';tcellid=this.tableid+'datacell_'+rownum+'-'+k;oCell.id=tcellid;if(imod==0){oCell.className=stylepref+'flt_left_even';if((k==0)&&(!this.options.rownumbers)){oCell.className=stylepref+'flt_left_first_even2';}}else{oCell.className=stylepref+'flt_left_odd';if((k==0)&&(!this.options.rownumbers)){oCell.className=stylepref+'flt_left_first_odd2';}}var numpadding='';var align='T';if(celldatatype.length>0){align=celldatatype[k];}if(align=='T'){oCell.align='left';}if(align=='N'){numpadding='&nbsp;&nbsp;';oCell.align='right';}var cellvalue=innerary[k];var wcellvalue=cellvalue;if(this.options.links.length>0){wcellvalue=this.wrapCell(oCell,cellvalue,k,rownum);}oCell.style.paddingTop=celpad+'px';oCell.style.paddingBottom=celpad+'px';oCell.innerHTML='&nbsp;'+wcellvalue+numpadding;oCell.title=cellvalue;oRow.appendChild(oCell);}oCell=document.createElement("div");oCell.className='clr_left';oRow.appendChild(oCell);oTBody.appendChild(oRow);}},wrapCell:function(ocell,val,col,rownum){var rstr=val;var links=this.options.links;if(links.indexOf(col)> -1){rstr='<span style="text-decoration:underline;cursor:pointer;">'+val+'</span>';Event.observe(ocell,'click',this.cellClick.bindAsEventListener(this,col,rownum));}return rstr;},cellClick:function(){var data=$A(arguments);data.shift();var colnum=data[0];var rownum=data[1];var dary=this.getMasterArray();var rary=dary[rownum];if(this.options.callback!=null)this.options.callback(colnum,rary);},doSortResultsTableText:function(){var col=$A(arguments);col.shift();var coli=parseInt(col);var rowary=null;rowary=this.getMasterArray();if(coli==this.sortColumnNumber){rowary.reverse();}else{this.sortColumnNumber=coli;rowary.sort(this.sortReportResultsTableText.bind(this));}this.clearDomNodes(this.resultsDiv);this.buildResultsDom();},sortReportResultsTableText:function(a,b){var tval=0;var scn=this.sortColumnNumber;var aval=a[scn];var bval=b[scn];if(aval<bval){tval= -1;}else if(aval>bval){tval=1;}else{tval=0;}return tval;},doSortResultsTableNumber:function(){var col=$A(arguments);col.shift();var coli=parseInt(col);var rowary=null;rowary=this.getMasterArray();if(coli==this.sortColumnNumber){rowary.reverse();}else{this.sortColumnNumber=coli;rowary.sort(this.sortReportResultsTableNumber.bind(this));}this.clearDomNodes(this.resultsDiv);this.buildResultsDom();},sortReportResultsTableNumber:function(a,b){var tval=0;var scn=this.sortColumnNumber;var aval=parseFloat(a[scn]);var bval=parseFloat(b[scn]);if(aval<bval){tval= -1;}else if(aval>bval){tval=1;}else{tval=0;}return tval;},clearDomNodes:function(node){var links=this.options.links;var rows=this.getMasterArray().length;var cols=this.getColHeadingAry().length;for(var i=0;i<rows;i++){if(this.options.tooltips){var numid=this.tableid+'numcell_'+i;var nobj=$(numid);if(nobj!=null)Event.stopObserving(nobj);}for(var j=0;j<cols;j++){var dcellid=this.tableid+'datacell_'+i+'-'+j;if(links.indexOf(j)> -1){var dobj=$(dcellid);if(dobj!=null)Event.stopObserving(dobj);}}}var oTable=$(node);var tbodynode=oTable.firstChild;if(tbodynode!=null){while(tbodynode.firstChild){var frownode=tbodynode.firstChild;while(frownode.firstChild){frownode.removeChild(frownode.firstChild);}tbodynode.removeChild(tbodynode.firstChild);}oTable.removeChild(oTable.firstChild);}},showCTBTooltip:function(){var cellid=$A(arguments);cellid.shift();cellid=cellid.toString();var parts=cellid.split('_');var aindex=parseInt(parts[1]);_div=new Element('div');$('packageselectarea').insert({bottom:_div});_div.absolutize();_div.id='div_'+cellid;_div.innerHTML=this.getCTBTooltipData(aindex);_div.className='tooltip';_div.style.width=this.tooltipWidth+'px';var target=$(cellid);var stylepref=this.stylePrefix;var highlightcolor='#99cccc';if(stylepref==''){highlightcolor='#2aa3e1';}target.style.background=highlightcolor;target.style.color='#ffffff';},hideCTBTooltip:function(){var cellid=$A(arguments);cellid.shift();cellid=cellid.toString();var ncellobj=$(cellid);var parts=cellid.split('_');var aindex=parseInt(parts[1]);var divid='div_'+cellid;$(divid).remove();var mod=aindex%2;if(mod==0){ncellobj.style.background='#ffffff';}else{ncellobj.style.background='#f0f0f0';}ncellobj.style.color='#000000';},getCTBTooltipData:function(rownum){var colheadings=this.getColHeadingAry();var rary=this.masterArray[rownum];var numcols=colheadings.length;var thary=new Array();var tdary=new Array();var alldataary=new Array();var pref=this.stylePrefix;var coltext='Name';thary.push('<th valign="top">'+coltext+'</th>');coltext='Description';thary.push('<th valign="top">'+coltext+'</th>');var tdtext=rary[1];tdary.push('<td valign="top">'+tdtext+'</td>');tdtext=rary[3];tdary.push('<td valign="top">'+tdtext+'</td>');alldataary.push('<tr>');alldataary.push(thary.join(''));alldataary.push('</tr><tr>');alldataary.push(tdary.join(''));alldataary.push('</tr>');var rowstr='';rowstr+='<table class="'+pref+'tooltip" width="400" cellpadding="3" border="1" >'+alldataary.join('')+'</table>';return rowstr;},orig_getCTBTooltipData:function(rownum){var colheadings=this.getColHeadingAry();var rary=this.masterArray[rownum];var numcols=colheadings.length;var thary=new Array();var tdary=new Array();var alldataary=new Array();var pref=this.stylePrefix;for(i=0;i<numcols;i++){var dmod=i%7;var coltext=colheadings[i];var newcoltext=coltext.replace(/<\/?[^>]+>/gi,'&nbsp;');thary.push('<th valign="top">'+newcoltext+'</th>');var tdtext=rary[i];tdary.push('<td valign="top">'+tdtext+'</td>');if(dmod==6){alldataary.push('<tr>');alldataary.push(thary.join(''));alldataary.push('</tr><tr>');alldataary.push(tdary.join(''));alldataary.push('</tr>');thary=new Array();tdary=new Array();}}alldataary.push('<tr>');alldataary.push(thary.join(''));alldataary.push('</tr><tr>');alldataary.push(tdary.join(''));alldataary.push('</tr>');var rowstr='';rowstr+='<table class="'+pref+'tooltip" cellpadding="3" border="1" >'+alldataary.join('')+'</table>';return rowstr;}});var gdCalendar=Class.create({initialize:function(id,container,options){this.masterDateArray=[];var today=new Date();this.selectedMonth=today.getMonth();this.selectedYear=today.getFullYear();this.selectedDay=today.getDate();this.todayMonth=today.getMonth();this.todayYear=today.getFullYear();this.todayDay=today.getDate();this.indMonth=this.todayMonth;this.inYear=this.todayYear;this.inDay=this.todayDay;this.dayAbbreviations=['Sun','Mon','Tue','Wed','Thu','Fri','Sat','Sun'];this.monthNames=['January','February','March','April','May','June','July','August','September','October','November','December'];this.id=id;this.container=$(container);this.options=options||{};this.fieldid=this.options.field||'';var tempbool=true;if(this.fieldid==''){tempbool=false;}if((this.options.clickclose=='undefined')||(this.options.clickclose==null)){this.clickclose=tempbool;}else{this.clickclose=this.options.clickclose;}if((this.options.clickDay=='undefined')||(this.options.clickDay==null)){this.clickDay=tempbool;}else{this.clickDay=this.options.clickDay;}if((this.options.clickWeek=='undefined')||(this.options.clickWeek==null)){this.clickWeek=tempbool;}else{this.clickWeek=this.options.clickWeek;}if((this.options.leadDays=='undefined')||(this.options.leadDays==null)){this.startDate=null;}else{var leadDate=new Date();leadDate.setDate(leadDate.getDate()+(this.options.leadDays-1));this.startDate=leadDate;}this.passThruData='';this.options.callback=this.options.callback||null;this.options.dateFormat=this.options.dateFormat||'M/D/YYYY';this.options.calendarTitle=this.options.calendarTitle||'';if((this.options.doUpdate=='undefined')||(this.options.doUpdate==null)){this.options.doUpdate=true;}else{this.options.doUpdate=this.options.doUpdate;}this.options.firstDay=this.options.firstDay||'';this.options.effect=this.options.effect||'';this.options.showWeekNumber=this.options.showWeekNumber||false;if(this.options.showWeekNumber)this.options.firstDay='M';},clearListeners:function(){var ctable=$('caltable'+this.id);var el=null;var data=null;if(ctable!=null){Event.stopObserving(this.id+'formMonth');Event.stopObserving(this.id+'prevYear');Event.stopObserving(this.id+'nextYear');if(this.clickclose){Event.stopObserving(this.id+'close');}var wknumary=$('caltable'+this.id).select('div.wk');for(var k=0;k<wknumary.length;k++){el=wknumary[k];data=el.id;if(this.clickWeek){Event.stopObserving(data);}}if(this.clickDay){var daynumary=$('caltable'+this.id).select('div.pndy');for(var p=0;p<daynumary.length;p++){el=daynumary[p];data=el.id;Event.stopObserving(data);}var cdaynumary=$('caltable'+this.id).select('div.cdy');for(var c=0;c<cdaynumary.length;c++){el=cdaynumary[c];data=el.id;Event.stopObserving(data);}}}},redraw:function(){this.paint();},draw:function(){var cont=this.container;var contstyle=cont.getStyle('display');if(contstyle=='block')return;var aary=$A(arguments);if(aary.length>0)this.passThruData=aary[0];var inputdatestr='';if(this.fieldid!=''){inputdatestr=$F(this.fieldid);}if(inputdatestr!=''){var inputdate=this.createDateFromString(inputdatestr);if(inputdate==null){$(this.fieldid).focus();return;}this.selectedYear=inputdate.getFullYear();this.selectedMonth=inputdate.getMonth();this.selectedDay=inputdate.getDate();this.inYear=inputdate.getFullYear();this.inMonth=inputdate.getMonth();this.inDay=inputdate.getDate();}this.paint();},paint:function(){this.clearListeners();this.buildMaster();var wknum='';var dayobj=null;var str='';var sel='';var type='';var day='';var mo='';var yr='';var wk='';var ok='';var dateobj=null;var padval=0;var nyearnav='&gt;&gt;';var pyearnav='&lt;&lt;';if(Prototype.Browser.IE){padval=2;nyearnav='&gt;';pyearnav='&lt;';}var dayoffset=1;if(this.options.firstDay=="M")dayoffset=0;str+='<table id="caltable'+this.id+'" class="calendarTable" bordercolor="#000000" width="100%" cellpadding="0" cellspacing="0" border="1">';str+='<tr class="headerRow">';if(this.options.showWeekNumber){str+='<td colspan="8" align="center" style="padding-top:'+padval+'px;padding-bottom:'+padval+'px;">';}else{str+='<td colspan="7" align="center" style="padding-top:'+padval+'px;padding-bottom:'+padval+'px;">';}str+='<table width="100%" cellpadding="0" cellpadding="0" border="0"><tr>';str+='<td align="center" width="40%">';str+='<select class="inputSelect" id="'+this.id+'formMonth">';for(var m=0;m<this.monthNames.length;m++){sel='';if(m==this.selectedMonth){sel=' selected';}mo=this.monthNames[m];str+='<option value="'+(m+1)+'" '+sel+'>'+mo+'</option>';}str+='</select>';str+='</td>';str+='<td align="center" width="50%" >';str+='<span class="prevYear" id="'+this.id+'prevYear">'+pyearnav+'</span>';str+='<span class="yearNumber" id="'+this.id+'formYear">'+this.selectedYear+'</span>';str+='<span class="nextYear" id="'+this.id+'nextYear">'+nyearnav+'</span>';str+='</td><td width="10%" valign="top">';if(this.clickclose){str+='<div class="close" id="'+this.id+'close">X</div>';}else{str+='&nbsp;';}str+='</td></tr></table>';str+='</td></tr>';str+='<tr>';if(this.options.showWeekNumber){str+='<th>#</th>';}for(var d=0;d<7;d++){var dname=this.dayAbbreviations[d+1-dayoffset];str+='<th title="'+dname+'">'+dname+'</th>';}str+='</tr>';dayobj=this.masterDateArray[0];wknum=dayobj['wknum'];str+='<tr>';if(this.options.showWeekNumber){str+='<td>';str+=this.wrapWeek(0,wknum);str+='</td>';}for(var i=0;i<this.masterDateArray.length;i++){dateobj=this.masterDateArray[i];type=dateobj['type'];day=dateobj['day'];mo=dateobj['month'];yr=dateobj['year'];wk=dateobj['wknum'];ok=dateobj['ok'];var titlestr=this.formatDateAsString(dateobj);if(wk> -1)titlestr+=' Week #'+wk;if(((i%7)==0)&&i>0){str+='</tr><tr>';dayobj=this.masterDateArray[i];wknum=dayobj['wknum'];if(this.options.showWeekNumber){str+='<td>'+this.wrapWeek(i,wknum)+'</td>';}}if((day==this.inDay)&&(yr==this.inYear)&&(mo==this.inMonth)){day='<span style="background-color:#000000;color:#ffffff;padding-left:2px;padding-right:2px;">'+day+'</span>';}str+='<td>';str+=this.wrapDay(type,i,day,titlestr,ok);str+='</td>';}str+='</tr>';if(this.options.calendarTitle.length>0){if(this.options.showWeekNumber){str+='<tr><td colspan="8" align="center" style="padding-top:'+padval+'px;padding-bottom:'+padval+'px;">';}else{str+='<tr><td colspan="7" align="center" style="padding-top:'+padval+'px;padding-bottom:'+padval+'px;">';}str+='<div class="calendartitle">'+this.options.calendarTitle+'</div></td></tr>';}str+='</table>';this.container.innerHTML=str;if(this.options.effect=='blind'){new Effect.BlindDown(this.container);}else if(this.options.effect=='slide'){new Effect.SlideDown(this.container);}else{this.container.show();}if(Prototype.Browser.IE){var ifid='iframe_'+this.id;var ifobj=$(ifid);if(ifobj==null){var iframestr='<iframe ';iframestr+='style="display:block;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" ';iframestr+='src="about:blank;" frameborder="1" scrolling="no" width="100%" height="100%"></iframe>';var myc=this.container;var off=Element.cumulativeOffset(myc);var x=off[0];var y=off[1];var w=Element.getWidth(myc);var h=Element.getHeight(myc);var newdiv=document.createElement('div');newdiv.id='iframe_'+this.id;newdiv.style.width=w+'px';newdiv.style.height=h+'px';newdiv.style.position='absolute';newdiv.style.top=y+'px';newdiv.style.left=x+'px';newdiv.innerHTML=iframestr;this.container.insert({before:newdiv});}}var selobj=$(this.id+'formMonth');var prevobj=$(this.id+'prevYear');var nextobj=$(this.id+'nextYear');var closecont=$(this.id+'close');Event.observe(selobj,'change',this.updateNewMonth.bindAsEventListener(this));Event.observe(prevobj,'click',this.updatePrevYear.bindAsEventListener(this));Event.observe(nextobj,'click',this.updateNextYear.bindAsEventListener(this));if(this.clickclose){Event.observe(closecont,'click',this.closeCalendar.bindAsEventListener(this));}var wknumary=$('caltable'+this.id).select('div.wk');for(var k=0;k<wknumary.length;k++){var el=wknumary[k];var data=el.id;if(this.clickWeek){Event.observe(el,'click',this.weekNumClick.bindAsEventListener(this,data));}}var daynumary=$('caltable'+this.id).select('div.pndy');for(var p=0;p<daynumary.length;p++){el=daynumary[p];data=el.id;if(this.clickDay){Event.observe(el,'click',this.dayNumClick.bindAsEventListener(this,data));}}var cdaynumary=$('caltable'+this.id).select('div.cdy');for(var c=0;c<cdaynumary.length;c++){el=cdaynumary[c];data=el.id;if(this.clickDay){Event.observe(el,'click',this.dayNumClick.bindAsEventListener(this,data));}}},buildMaster:function(){var mo=this.selectedMonth;var yr=this.selectedYear;var daysinmo=this.getDaysInMonth(yr,mo);var firstday=this.getFirstDayofMonth(yr,mo);var dobj=null;var dateary=new Array();var ptd=this.passThruData;var ifday=firstday+1;var pmo=mo-1;var pyr=yr;if(pmo<0){pmo=11;pyr=pyr-1;}var pdaysinmo=this.getDaysInMonth(yr,pmo);var pdays=pdaysinmo-ifday;for(var i=0;i<ifday;i++){pdays+=1;dobj=new this.dateObj('prev',pmo,pdays,pyr,ptd,this);dateary.push(dobj);}for(var j=1;j<=daysinmo;j++){dobj=new this.dateObj('cur',mo,j,yr,ptd,this);dateary.push(dobj);}var ni=0;mo+=1;if(mo==12){mo=0;yr+=1;}for(var k=(daysinmo+ifday);k<42;k++){ni+=1;dobj=new this.dateObj('next',mo,ni,yr,ptd,this);dateary.push(dobj);}this.masterDateArray=dateary;},updateNewMonth:function(){this.selectedYear=parseInt($(this.id+'formYear').innerHTML);this.selectedMonth=parseInt($(this.id+'formMonth').value)-1;this.selectedDay=1;this.redraw();},updatePrevYear:function(){var current=parseInt($(this.id+'formYear').innerHTML);var result=current-1;$(this.id+'formYear').innerHTML=result;this.updateNewMonth();},updateNextYear:function(){var current=parseInt($(this.id+'formYear').innerHTML);var result=current+1;$(this.id+'formYear').innerHTML=result;this.updateNewMonth();},weekNumClick:function(){var data=$A(arguments);data.shift();var idstr=data.toString();var dparts=idstr.split('-');var aindex=dparts[1];var tobj=this.masterDateArray[parseInt(aindex)];if(this.options.doUpdate){if(this.fieldid!='')$(this.fieldid).value=this.formatDateAsString(tobj);}this.closeCalendar();if(this.options.callback!=null)this.options.callback(tobj);},dayNumClick:function(){var data=$A(arguments);data.shift();var idstr=data.toString();var dparts=idstr.split('-');var aindex=dparts[1];var tobj=this.masterDateArray[parseInt(aindex)];if(this.options.doUpdate){if(this.fieldid!='')$(this.fieldid).value=this.formatDateAsString(tobj);}this.closeCalendar();if(this.options.callback!=null)this.options.callback(tobj);},closeCalendar:function(){if(this.clickclose){this.clearListeners();if(Prototype.Browser.IE){var ifid='iframe_'+this.id;$(ifid).remove();}if(this.options.effect=='blind'){new Effect.BlindUp(this.container);}else if(this.options.effect=='slide'){new Effect.SlideUp(this.container);}else{this.container.hide();}}},wrapWeek:function(id,wknum){var hocls='wk';var str='';str+='<div title="Week #'+wknum+'" id="'+this.id+'-'+id+'" ';if(this.clickWeek)hocls='wkho';str+='title="week number" class="wk" onmouseover="this.className=\''+hocls+'\'" ';str+='onmouseout="this.className=\'wk\'">';str+=wknum;str+='</div>';return str;},wrapDay:function(type,id,day,titlestr,ok){var str='';var cls='';var clsho='';if(ok=='n'){cls='noop';clsho='noop';}else{if((type=='prev')||(type=='next')){cls='pndy';clsho='pndy';if(this.clickDay)clsho='pndyho';}else{cls='cdy';clsho='cdy';if(this.clickDay)clsho='cdyho';}}str+='<div title="'+titlestr+'" id="'+this.id+'-'+id+'" ';str+='title="week day" class="'+cls+'" onmouseover="this.className=\''+clsho+'\'" ';str+='onmouseout="this.className=\''+cls+'\'">';str+=day;str+='</div>';return str;},getDaysInMonth:function(year,month){return 32-new Date(year,month,32).getDate();},getFirstDayofMonth:function(year,month){var dayoffset=1;if(this.options.firstDay=="M")dayoffset=0;var day;day=new Date(year,month,0).getDay();day=day-(1-dayoffset);return day;},getDateDelimeter:function(){return(this.options.dateFormat.include('-'))?'-':'/';},getPadZero:function(){return(this.options.dateFormat.include('MM'))?true:false;},getDateParseOrder:function(){return(this.options.dateFormat.startsWith('YYYY'))?'YMD':'MDY';},formatDateAsString:function(dobj){var rstr='';var del=this.getDateDelimeter();var dy=parseInt(dobj.day);var yr=dobj.year;var mo=parseInt(dobj.month)+1;if(this.getPadZero()){if(dy<10)dy='0'+dy;if(mo<10)mo='0'+mo;}if(this.getDateParseOrder()=='YMD')rstr=yr+del+mo+del+dy;if(this.getDateParseOrder()=='MDY')rstr=mo+del+dy+del+yr;return rstr;},createDateFromString:function(datestr){var errors=false;var parseorder=this.getDateParseOrder();var del=this.getDateDelimeter();var year='';var mostr='';var day='';var rdate=null;var parts=datestr.split(del);if(parts.length!=3){alert('Date format must be '+this.options.dateFormat);return rdate;}if(parseorder=='YMD'){year=parts[0];mostr=parts[1];day=parts[2];}if(parseorder=='MDY'){mostr=parts[0];day=parts[1];year=parts[2];}if(isNaN(year)||isNaN(mostr)||isNaN(day))errors=true;if((year.length==0)||(mostr.length==0)||(day.length==0))errors=true;if(errors){alert('Date format must be '+this.options.dateFormat);return rdate;}if(mostr.substring(0,1)=='0')mostr=mostr.substring(1,2);var mo=parseInt(mostr)-1;if(day.substring(0,1)=='0')day=day.substring(1,2);rdate=new Date(year,mo,day);return rdate;},dateObj:function(type,m,d,y,ptd,parent){var tdate=new Date(y,m,d);this.type=type;this.month=m;this.day=d;this.year=y;this.passthru=ptd;this.dobj=tdate;var sdate=parent.startDate;this.ok='';if(sdate!=null){if(tdate.getTime()<sdate.getTime()){this.ok='n';}}var wknum= -1;if(parent.options.showWeekNumber){wknum=parent.getWeekNumber(tdate);}this.wknum=wknum;this.toString=function(){var rstr=tdate+' * '+this.year+'-'+(this.month+1)+'-'+this.day;if(wknum> -1)str+=' * wk#='+this.wknum;return rstr;};this.toDateString=function(){return parent.formatDateAsString(this);};},getWeekNumber:function(jsdate){var dowOffset=1;var curyear=jsdate.getFullYear();var newYear=new Date(curyear,0,1);var day=newYear.getDay()-dowOffset;day=(day>=0?day:day+7);var daynum=Math.floor((jsdate.getTime()-newYear.getTime()-(jsdate.getTimezoneOffset()-newYear.getTimezoneOffset())*60000)/86400000)+1;var weeknum;if(day<4){weeknum=Math.floor((daynum+day-1)/7)+1;if(weeknum>52){nYear=new Date(jsdate.getFullYear()+1,0,1);nday=nYear.getDay()-dowOffset;nday=nday>=0?nday:nday+7;weeknum=nday<4?1:53;}}else{weeknum=Math.floor((daynum+day-1)/7);if(weeknum==0){curyear--;var prevNewYear=new Date(curyear,11,31);var prevOffset=prevNewYear.getDay();weeknum=prevOffset<=5?53:52;}}return weeknum;}});var _pickupDistance= -1;var gdmapwinnumber=0;function xxxclearPickupDataObject(){_pickupObject=new pickupObject('','','','','','');};function xxxxopenGDMapWindow(){var pkgname=_currentPackageTitle;var pkgdate=_workingDate;var daddress=getVenueAddress();var dname=getVenueName();if(daddress==''){handleErrorMessage('Please select a restaurant before you enter your pickup address.');return;}var oaddress='3700 Silver Plume Lane';var ocity='';var ostate='';var ozip='';var puobj=_cart.getOriginAddress();if(puobj!=null){oaddress=puobj['address'];ocity=puobj['city'];ostate=puobj['state'];ozip=puobj['zip'];}gdmapwinnumber=gdmapwinnumber+1;var url='gmapWindow_v2.php';var winhandle='WIN'+gdmapwinnumber;var winid=winhandle;winhandle=window.open("",winid,"width=640,height=720,menubar=1,resizable=1,scrollbars=1");winhandle.document.open();winhandle.document.write('<html>');winhandle.document.write('<script>');winhandle.document.write('function forwardMe() { document.forms[0].submit();}');winhandle.document.write('</script>');winhandle.document.write('<body onload="forwardMe()"; >');winhandle.document.write('<form action="'+url+'" method="post">');winhandle.document.write('<input type="hidden" name="pkgname" value=\"'+encodeURI(pkgname)+'">');winhandle.document.write('<input type="hidden" name="pkgdate" value=\"'+encodeURI(pkgdate)+'">');winhandle.document.write('<input type="hidden" name="oaddress" value=\"'+encodeURI(oaddress)+'">');winhandle.document.write('<input type="hidden" name="ocity" value=\"'+encodeURI(ocity)+'">');winhandle.document.write('<input type="hidden" name="ostate" value=\"'+encodeURI(ostate)+'">');winhandle.document.write('<input type="hidden" name="ozip" value=\"'+encodeURI(ozip)+'">');winhandle.document.write('<input type="hidden" name="ADDRESS_DESTINATION" value=\"'+encodeURI(daddress)+'">');winhandle.document.write('<input type="hidden" name="NAME_DESTINATION" value=\"'+encodeURI(dname)+'">');winhandle.document.write('</form>');winhandle.document.write('</body></html>');winhandle.document.close();};function openGDMapWindow(){var oaddress='';var ocity='';var ostate='CO';var ozip='';var puobj=_cart.getOriginAddress();if(puobj!=null){oaddress=puobj['address'];ocity=puobj['city'];ostate=puobj['state'];ozip=puobj['zip'];}var pkgname=_currentPackageTitle;var pkgdate=_workingDate;var rdate=Date.parseString(_workingDate);var datestr=rdate.getDayName()+' '+rdate.format('MMM d, y');var daddress=getVenueAddress();var dname=getVenueName();var ifobj=window.frames['pickup_iframename'];ifobj.loadThisData(pkgname,datestr,dname,daddress,oaddress,ocity,ostate,ozip);$('pickup_iframe_div').show();$('addressstuffwrapper').hide();};function pickupObject(adr,city,state,zip,putime,miles){this.address=adr;this.city=city;this.state=state;this.zip=zip;this.putime=putime;this.miles=miles;};function getVenueAddress(){var adr='';var dary=_cart.getDining();if(dary.length==0)dary=_cart.getFun();if(dary.length>0){var item=dary[0];var obj=_itemsHash.get(item);var adrobj=obj['adrobj'];adr=adrobj.toString();}return adr;};function getVenueName(){var name='';var dary=_cart.getDining();if(dary.length==0)dary=_cart.getFun();var item=dary[0];var obj=_itemsHash.get(item);name=obj['name'];return name;};function closethemap(){$('map_iframe_div').hide();};function closethepickupmap(){$('pickup_iframe_div').hide();$('addressstuffwrapper').show();};function showthepickupmap(){$('pickup_iframe_div').show();};function origshowthemap(){$('map_iframe_div').show();var ifobj=window.frames['venues_iframename'];var dary=[["D","1515 Market St, Denver, CO 80202","1515 Restaurant","39.749301","-104.9995"],["D","821 17th St, Denver, CO 80202","Broker","39.747272","-104.9925"],["D","1512 Larimer Street, Denver, CO 80202","Red Square","39.748617","-104.9981"],["D","2199 California St, Denver, CO 80205","Mercury","39.750831","-104.9852"],["D","112 E 8th Ave, Denver, CO 80203","Le Central","39.729089","-104.9859"],["E","1634 18th Street, Denver, CO 80202-1212","Impulse","39.753360","-104.9985"],["E","500 16th Street, Denver, CO 80202-4283","Jazz Jacks","39.743824","-104.9909"],["E","1226 15th Street, Denver, Colorado 80202","Comedy Works","39.747701","-104.9982"],["E","941 East 17th Avenue Denver, CO 80218","Woodhouse Spa","39.743589","-104.9749"],["R","2500 Arapahoe St., Denver, CO 80205","Gregory Inn","39.756127","-104.9842"],["R","1430 Race Street, Denver, CO 80206-2014","Adagio Bread & Breakfast","39.738833","-104.9631"]];ifobj.loadVenuMap(dary);};function showthemap(){var zoomadjust=0;var vary=[];var keys=_itemsHash.keys();var cnt=0;keys.each(function(key){var obj=_itemsHash.get(key);var type=obj['type'];if((type=='D')||(type=='E')||(type=='B')){var adr=obj['adrobj'];if(adr!=null){var name=obj['name'];var adrstr=adr.toString();var lat=adr['lat'];var lon=adr['lon'];var desc='';var itemary=new Array();itemary.push(type);itemary.push(adrstr);itemary.push(name);itemary.push(lat);itemary.push(lon);itemary.push(desc);vary.push(itemary);}}});var mapdiv=$('map_iframe_div');mapdiv.style.top='100px';$('map_iframe_div').show();var ifobj=window.frames['venues_iframename'];ifobj.loadVenuMap(vary,zoomadjust);};function prod_showVenueDistanceMap(){var zoomadjust=1;var vary=[];var dary=_cart.getDining();var item=dary[0];var obj=_itemsHash.get(item);var type=obj['type'];var name=obj['name'];var adr=obj['adrobj'];var adrstr=adr.toString();var lat=adr['lat'];var lon=adr['lon'];var desc='';var itemary=new Array();itemary.push(type);itemary.push(adrstr);itemary.push(name);itemary.push(lat);itemary.push(lon);itemary.push(desc);vary.push(itemary);dary=_cart.getFun();item=dary[0];obj=_itemsHash.get(item);type=obj['type'];name=obj['name'];adr=obj['adrobj'];adrstr=adr.toString();lat=adr['lat'];lon=adr['lon'];itemary=new Array();itemary.push(type);itemary.push(adrstr);itemary.push(name);itemary.push(lat);itemary.push(lon);itemary.push(desc);vary.push(itemary);$('map_iframe_div').show();var ifobj=window.frames['venues_iframename'];ifobj.loadVenuMap(vary,zoomadjust);};function showVenueDistanceMap(){var zoomadjust=1;var vary=[];var dary=_cart.getDining();var item=dary[0];var obj=_itemsHash.get(item);var type=obj['type'];var name=obj['name'];var adr=obj['adrobj'];var adrstr=adr.toString();var lat=adr['lat'];var lon=adr['lon'];var desc='';var itemary=new Array();itemary.push(type);itemary.push(adrstr);itemary.push(name);itemary.push(lat);itemary.push(lon);itemary.push(desc);vary.push(itemary);dary=_cart.getFun();for(var i=0;i<dary.length;i++){item=dary[i];obj=_itemsHash.get(item);type=obj['type'];name=obj['name'];adr=obj['adrobj'];adrstr=adr.toString();lat=adr['lat'];lon=adr['lon'];itemary=new Array();itemary.push(type);itemary.push(adrstr);itemary.push(name);itemary.push(lat);itemary.push(lon);itemary.push(desc);vary.push(itemary);}var mapdiv=$('map_iframe_div');mapdiv.style.top='250px';$('map_iframe_div').show();var ifobj=window.frames['venues_iframename'];ifobj.loadVenuMap(vary,zoomadjust);};function cccshowVenueDistanceMap(){var dary=_cart.getDining();var item=dary[0];var obj=_itemsHash.get(item);var adr=obj['adrobj'];var fadr=adr.toString();dary=_cart.getFun();item=dary[0];obj=_itemsHash.get(item);adr=obj['adrobj'];var tadr=adr.toString();var dirary=[];dirary.push(fadr);dirary.push(tadr);$('map_iframe_div').show();var ifobj=window.frames['venues_iframename'];ifobj.loadDirections(dirary);};function processMapObject(obj){var adr=obj['address'];var city=obj['city'];var state=obj['state'];var zip=obj['zip'];var putime=obj['putime'];var dobj=obj['dobj'];var meters=dobj.meters;var miles=meters/1609.344;var html=dobj.html;var parts=html.split('&');var pmiles=parts[0];var pickup=new pickupObject(adr,city,state,zip,putime,pmiles);var puobj=_itemsHash.get('PU_TOWNCAR');var tripprice=_cart.getPickupCharges(miles);_cart.setHaveVenuesChanged(false);puobj.price=tripprice;closethepickupmap();_cart.setOriginAddress(pickup);updateEntireScreen.defer();}
