
(function(){var Y=YAHOO,Dom=Y.util.Dom,Event=Y.util.Event;var PAGE_PREVIEW_MARKUP="page-preview-markup";var PAGE_PREVIEW_HIDE="page-preview-hide";var IE_PAGE_PREVIEW_FIX="ie-page-preview-fix";var THEME_DIALOG_CLASS="themed-dialog";App.LandingPage={init:function()
{App.log("App.LandingPage()");if(App.Ribbon){App.Ribbon.init();}
this.updateBackgroundPosition();if(App.ModuleMgr){App.ModuleMgr.init();}
this.initEvents();if(App.share)App.share.showItem();},initEvents:function()
{var eventD=App.getGlobalED();eventD.on("open-module-picker",this.onModulePicker,this);eventD.on("preview-page",this.onPreviewPageShow,this);eventD.on("page-preview-close",this.onPreviewPageHide,this);Event.on("toolsPages","change",this.onChangePage,this,true);eventD.on("send-email",this.onSendEmail,this,true);eventD.on("do-publish",function(e,el){return App.Ui.Helper.openAjaxDialog({srcHref:el,timeout:900000});});eventD.on("delete-page",function(e,el){return App.Ui.Helper.openAjaxDialog({srcHref:el,successUrl:App.env.controllers.DELETEPAGE_URL});});},onPreviewPageShow:function(e,el)
{if(this.elPagePreview){return false;}
var pw,ph,that=this;this.toggleEmptyTiles(true);this.fixPreviewModeForAVerySpecialBrowser(true);document.body.id="page-preview-active";var htmlNode=document.getElementsByTagName("html");Dom.addClass(htmlNode,"previewFix");window.setTimeout(function()
{pw=Dom.getDocumentWidth();ph=Dom.getDocumentHeight();that.updateBackgroundPosition();that.elPagePreviewOverlay=document.createElement("div");Dom.setStyles(that.elPagePreviewOverlay,{position:"absolute",left:0,top:0,width:pw+"px",height:ph+"px",opacity:0,background:"#fff",zIndex:100});document.body.insertBefore(that.elPagePreviewOverlay,document.body.firstChild);that.elPagePreview=Dom.get(PAGE_PREVIEW_MARKUP).cloneNode(true);that.elPagePreview.id="page-preview-layer";that.elPagePreview.style.display="block";document.body.insertBefore(that.elPagePreview,that.elPagePreviewOverlay.nextSibling);},1);return false;},toggleEmptyTiles:function(hide)
{var oTile,tiles=App.ModuleMgr.tiles,fnToggle=hide?"addClass":"removeClass";oTile=tiles["1"];if(!App.ModuleMgr.isTileActive(oTile.id)){Dom[fnToggle](oTile.element,PAGE_PREVIEW_HIDE);}
var oTileL=tiles["2"],oTileR=tiles["3"];if(!App.ModuleMgr.isTileActive(oTileL.id)&&!App.ModuleMgr.isTileActive(oTileR.id)){Dom[fnToggle](oTileL.element,PAGE_PREVIEW_HIDE);Dom[fnToggle](oTileR.element,PAGE_PREVIEW_HIDE);}
oTile=tiles["4"];if(!App.ModuleMgr.isTileActive(oTile.id)){Dom[fnToggle](oTile.element,PAGE_PREVIEW_HIDE);}},onPreviewPageHide:function(e,el)
{document.body.removeChild(this.elPagePreview);document.body.removeChild(this.elPagePreviewOverlay);this.elPagePreview=null;this.elPagePreviewOverlay=null;this.toggleEmptyTiles(false);document.body.id="";var htmlNode=document.getElementsByTagName("html");Dom.removeClass(htmlNode,"previewFix");this.fixPreviewModeForAVerySpecialBrowser(false);this.updateBackgroundPosition();window.scrollTo(0,0);return false;},fixPreviewModeForAVerySpecialBrowser:function(hide)
{if(!Dom.get("ie")){return;}
Dom.batch(Dom.getElementsByClassName(IE_PAGE_PREVIEW_FIX),function(el){el.style.visibility=hide?"hidden":"visible";});},updateBackgroundPosition:function()
{document.body.style.backgroundPosition="50% "+document.getElementById("custPage").offsetTop+"px";},onModulePicker:function(e,el)
{var eventDel,ajaxDialog;ajaxDialog=new App.Ui.AjaxDialog(null,{srcUrl:App.env.controllers.MODULE_PICKER_URL,zIndex:100,events:{onDialogInit:function()
{eventDel=new App.Ui.EventDelegator(ajaxDialog.getContentDiv(),"click");eventDel.on("pick-module",function(e,el)
{var elem=Dom.getAncestorByTagName(el,"li"),moduleType=App.Ui.Helper.getDataset(elem).mtype,input=Dom.get("modulePicker_moduleTypeCode")||App.alert("onModulePicker() can't find INPUT element");input.value=moduleType;document.forms.modulePickerForm.submit();return false;});},onDialogDestroy:function()
{eventDel.destroy();}}});ajaxDialog.show();return false;},onChangePage:function()
{var newUrl,elSelect=Dom.get('toolsPages');if(elSelect.options[elSelect.selectedIndex].value==='newPage')
{App.openPageProperties(App.env.controllers.ADDNEWPAGE_URL);}
else
{newUrl=App.env.controllers.GOTOPAGE_URL+elSelect.options[elSelect.selectedIndex].value;window.location.href=newUrl;}},onSendEmail:function(e,el)
{var dialog,options,url=Dom.getAttribute(el,"href");options={srcUrl:url,skin:THEME_DIALOG_CLASS,events:{onDialogInit:function()
{App.log('onSendEmail()::onDialogInit()');},onDialogProgress:function(t)
{App.log('onSendEmail()::onDialogProgress()');var wtEl=Dom.get("wt-dialogresult");if(wtEl&&wtEl.value.length>0){App.webtrendsEventDelegator.clickEvent(wtEl.value);}}}};dialog=new App.Ui.AjaxDialog(null,options);dialog.show();return false;}};})();(function(){var Y=YAHOO,Dom=Y.util.Dom,Event=Y.util.Event;App.ModuleMgr={TILE_PREFIX:'tile',MODULE_PREFIX:'m',DROPZONE_PREFIX:'m_drop_',MODULE_DROPZONE:'m_dropzone',DROPZONE_HOVER:'m-drop-hover',tiles:{},modules:{},init:function()
{App.log('ModuleMgr.init(): %o',this);if(!App.env.modulemgr){return;}
this.initTiles();this.initModules();},getTileInfo:function()
{var custGridEl=Dom.get("custGrid");if(custGridEl){var tds=custGridEl.getElementsByTagName("td");Dom.batch(tds,function(el)
{if(el.id&&el.id.indexOf(this.TILE_PREFIX)===0&&/^tile(\d+)$/.test(el.id))
{var tileNum=parseInt(RegExp.$1,10);this.tiles[tileNum]={element:el,id:el.id,allowed:[],tileNum:tileNum};}},this,true);}},initTiles:function()
{var tileNum;App.log('ModuleMgr.initTiles()');this.getTileInfo();if(App.DDModule)
{for(tileNum in this.tiles)
{var oTile=this.tiles[tileNum],tileElemId=oTile.id,elDrop;var elDrop=Dom.getElementsByClassName(App.ModuleMgr.MODULE_DROPZONE,'div',oTile.element)[0];if(elDrop)
{var t=new Y.util.DDTarget(elDrop);}}}},initModules:function()
{var module_id,modules=App.env.modulemgr.modules;App.log('ModuleMgr.initModules()');for(module_id in modules)
{var moduleDef=modules[module_id],div;if((div=Dom.get(this.getModuleElementId(module_id))))
{App.log('ModuleMgr.initModule(%o)',moduleDef.module_id);var inst=new App.Modules.Base(div,moduleDef);this.modules[module_id]=inst;}
else
{App.warn("module_id "+module_id+" not found");}}},getTileElementId:function(iTile)
{return this.TILE_PREFIX+iTile;},getModuleElementId:function(iModule)
{return this.MODULE_PREFIX+iModule;},getModule:function(id)
{if(Y.lang.isString(id)&&id.indexOf(this.MODULE_PREFIX)===0){id=id.slice(this.MODULE_PREFIX.length);}
return this.modules[id];},getTile:function(id)
{if(Y.lang.isString(id)&&id.indexOf(this.TILE_PREFIX)===0){id=id.slice(this.TILE_PREFIX.length);}
return this.tiles[id];},getModules:function()
{return this.modules;},getTiles:function()
{return this.tiles;},isTileActive:function(tileId)
{var tileActive=false;elTile=Dom.get(tileId),modules=Y.Array(Dom.getElementsByClassName(App.Modules.Base.CLASS_MODULE_CONTAINER,'div',elTile)),i;for(i=0;i<modules.length;i++)
{if(modules[i].className.indexOf(App.Modules.Base.MODULE_OFF)<0)
{return true;}}
return false;}};})();if(typeof(App)=='undefined'||!App){throw"App is not declared";}
if(!App.Modules){App.Modules={};}
App.Modules.cloneAll=function(){var Dom=YAHOO.util.Dom;var checkedState=Dom.get("module-clone-all").checked;var checkboxes=Dom.getElementsByClassName("clone-module-pageId","input","cloneModuleForm");for(i=0;i<checkboxes.length;i++){checkboxes[i].checked=checkedState;}};(function(){App.Modules.Base=App.Helper.createClass();var Y=YAHOO,Dom=Y.util.Dom,Event=Y.util.Event,Module=App.Modules.Base,Env=App.env;Module.CLASS_MODULE_CONTAINER="module";Module.MODULE_SWITCH="module-switch";Module.MODULE_OFF="m_off";Module.prototype={oModuleDef:null,container:null,control:null,content:null,dd:null,manager:null,moduleNames:{FREE_TEXT:false,IFRAME:"IFrame",OPENING_HOURS:"OpeningHours",PICTURE_VIEWER:"ImageGallery",PICTURE_CAROUSEL:"Carousel",MAP:"BingMap",COUPON:"Coupon",REVIEWS:"Reviews",BANNER:"Banner",VIDEO:"Video",INTERACTIVE_TOUR:"InteractiveTour",BUSINESS_CARD:"BusinessCard"},inst:false,init:function(elModule,moduleDef)
{App.log('App.Modules.Base.init(%o)',arguments);this.manager=App.ModuleMgr;this.oModuleDef=moduleDef;this.container=Dom.get(elModule);this.control=Dom.getElementsByClassName('m_control','div',elModule)[0];this.content=Dom.getElementsByClassName('m_content','div',elModule)[0];this.containerId=this.manager.getModuleElementId(this.oModuleDef.module_id);if(this.control)
{this.initAdminBar(elModule,this.control);}
this.inst=this.initModuleClass();},initAdminBar:function(elModule,elControl)
{this.ghost=Dom.getElementsByClassName('m_ghost','div',elModule)[0];this.dd=new App.DDModule(this.containerId,this);this.eventDel=new App.Ui.EventDelegator(elControl,"click");this.eventDel.on("m-tbhandle",this.onToolbarOpenClose,this);this.eventDel.on("module-switch",this.onModuleSwitch,this);this.eventDel.on("module-delete",this.onModuleDelete,this);this.eventDel.on("module-edit",this.onModuleEdit,this);this.eventDel.on("module-clone",this.onModuleClone,this);this.eventDel.on("module-clone-single",this.onModuleCloneSingle,this);this.eventDel.on("module-clone-all",this.onModuleCloneAll,this);},onToolbarOpenClose:function(e,el){if(Dom.hasClass(this.control,"open")){this.closeToolbar();}else{this.openToolbar();}},onToolbarHover:function(e,el)
{if(e.type==="mouseover"){if(Dom.hasClass(this.control,"closed")){this.openToolbar();return false;}}},openToolbar:function()
{if(Dom.hasClass(this.control,"closed"))Dom.removeClass(this.control,"closed");if(!Dom.hasClass(this.control,"open"))Dom.addClass(this.control,"open");},closeToolbar:function()
{if(Dom.hasClass(this.control,"open"))Dom.removeClass(this.control,"open");if(!Dom.hasClass(this.control,"closed"))Dom.addClass(this.control,"closed");},initModuleClass:function()
{var moduleName=this.oModuleDef.module_class||App.warn("App.Modules.Base() missing 'module_class' for module %s",this.containerId),moduleClass,inst=null;if((moduleClass=this.moduleNames[moduleName]))
{if(moduleClass===false)
{return null;}
else if(!Y.lang.isUndefined(App.Modules[moduleClass]))
{inst=new App.Modules[moduleClass](this.content,this.oModuleDef.config,this);}
else
{App.warn("App.Modules.%s is not defined",moduleName);}}
return inst;},onModuleSwitch:function(e,el)
{var that=this,url=el.getAttribute('href');span=Dom.getAncestorByTagName(el,"span");var ajaxRequest=new App.Ui.AjaxRequest(url,{method:"POST",success:onSuccess,scope:this});function onSuccess(o)
{var tron=new App.Helper.TRON(o.responseText);if(tron.isSuccess())
{that.oModuleDef.module_state=!!(tron.getReturnValues().activeFlag);span.className="module-switch-state-"+(that.oModuleDef.module_state?'1':'0');if(that.oModuleDef.module_state){Dom.removeClass(that.container,Module.MODULE_OFF);}
else{Dom.addClass(that.container,Module.MODULE_OFF);}
if(that.inst&&that.inst.redraw)
{that.inst.redraw(!!that.oModuleDef.module_state);}}
else{App.log("onError:",o);App.log("dialogTitle:",tron.getReturnValues().dialogTitle);App.log("dialogText:",tron.getReturnValues().dialogText);}}
return false;},onModuleDelete:function(e,el)
{var url=el.getAttribute('href');var d=new App.Ui.AjaxDialog(null,{srcUrl:url,events:{onDialogSuccess:function()
{window.location.href=window.location.href;}}});d.show();return false;},onModuleClone:function(e,el)
{var url=el.getAttribute('href');var d=new App.Ui.AjaxDialog(null,{srcUrl:url,events:{onDialogSuccess:function()
{window.location.href=window.location.href;}}});d.show();return false;},onModuleCloneSingle:function(e,el)
{var url=el.getAttribute('href');var cloneForm=Dom.get(el.attributes['data-formId'].value);new App.Ui.AjaxRequest(cloneForm.action,{method:"POST",form:cloneForm,success:function(){window.location.reload();}});return false;},onModuleCloneAll:function(e,el){App.log('clone all');var checkboxes=Dom.getElementsByClassName("clone-module-pageId","input","cloneModuleForm");var checkedState=Dom.get("clone-module-all").checked;for(i=0;i<checkboxes.length;i++){checkboxes[i].checked=checkedState;}},onModuleEdit:function(e,el)
{var url=el.getAttribute('href');var d=new App.Ui.AjaxDialog(null,{srcUrl:url});d.show();return false;},destroy:function()
{App.log('App.Modules.Base.destroy()');if(this.eventDel){this.eventDel.destroy();this.eventDel=null;}},isActivated:function()
{return!!this.oModuleDef.module_state;},getTileId:function()
{return this.container.parentNode.id;},getTileNumber:function()
{return parseInt(this.getTileId().substring(4),10);},getTileType:function()
{var tileNumber=this.getTileNumber();if(tileNumber==3){return"small";}
else if(tileNumber==2){return"medium";}
else{return"large";}}};})();App.AddressGroups={};App.AddressGroups.selectedAddresses=[];App.AddressGroups.config={};App.AddressGroups.config=function(){return{addresses:[],addressesMap:{},addressGroup:{},paginationPositionText:"",currentResultText:"",addressGroupText:"",clearSelectedAddressText:"",isAdmin:false,showAddressGroupPickerPredicate:undefined,otherwiseFn:function(){},formSubmitFn:undefined,isBusinessCard:false};};App.AddressGroups.newOnConfirmUpdateTypeSubmit=function(config){var Y=YAHOO,Dom=Y.util.Dom,Event=Y.util.Event,Selector=Y.util.Selector;var getValue=function(inputName){var inputs=Selector.query("input[name="+inputName+"]");if(inputs.length===0){return"";}
return inputName+"="+inputs[0].value;};App.AddressGroups.addresses=config.addresses;App.AddressGroups.addressesMap=config.addressesMap;App.AddressGroups.addressGroup=config.addressGroup;App.AddressGroups.paginationPositionText=config.paginationPositionText;App.AddressGroups.currentResultText=config.currentResultText;App.AddressGroups.addressGroupText=config.addressGroupText;App.AddressGroups.clearSelectedAddressText=config.clearSelectedAddressText;App.AddressGroups.isAdmin=config.isAdmin;App.AddressGroups.isBusinessCard=config.isBusinessCard;return function(e){if(config.showAddressGroupPickerPredicate(e)){var dialog=new App.Ui.AjaxDialog(null,{srcUrl:App.env.contextPath+"/admin/module/popup/addressGroupPicker.ajah?"+getValue("siteId")+"&"+getValue("listingId")+"&"+getValue("pageId")+"&"+getValue("moduleId"),events:{onDialogInit:function(){App.AddressGroups.addressGroupInfo.init(Selector.query("#addressGroupDiv table")[0]);if(config.formSubmitFn){Dom.get("addressGroupPickerForm").submit=config.formSubmitFn;}},onDialogDestroy:function(){App.log("selectedAddresses: "+App.AddressGroups.selectedAddresses.length);if(App.AddressGroups.isBusinessCard){if(App.AddressGroups.selectedAddresses.length==0){Dom.get("updateTypeListing").checked=true;}}}}});App.AddressGroups.picker=dialog;dialog.show();}else{config.otherwiseFn();}};};App.AddressGroups.onConfirmUpdateTypeSubmit=function(e){var isSpecific=Dom.get("updateTypeSpecific").checked;if(isSpecific){}else{Dom.get("confirmUpdateTypeForm").submit();}
return false;};App.AddressGroups.onSloganUpdate=function(e){};App.AddressGroups.addressGroupInfo=function(){var Y=YAHOO,Dom=Y.util.Dom,Event=Y.util.Event,Selector=Y.util.Selector;var addressesCurrentPage=0;var contextEl;var selectedAddressesCurrentPage=0;var addressGroupTableRows;var pageSize;var pageCount;var addresses;var allAddresses;var addressesMap;var addressGroup={};var currentResultsSize;var currentResultText;var addressGroupText;var paginationPositionText="";var sortOrder;var sortCells;var sortUpSrc="url("+App.env.assetsPath+"img/icons/admin/sort_up.gif"+") no-repeat scroll right";var sortDownSrc="url("+App.env.assetsPath+"img/icons/admin/sort_down.gif"+") no-repeat scroll right";var isAdmin=false;var paginatedSlice=function(anArray,currentPage){return anArray.slice(currentPage*pageSize,Math.min(anArray.length,(currentPage+1)*pageSize));};var countNbOfPages=function(anArray){return Math.max(Math.ceil(anArray.length/pageSize),1);};var getListingCheckbox=function(listingId){return Dom.get("addressGroupListingIds-"+listingId);};var forEachAddressGroupTableRow=function(addresses,populateFn,clearFn){var i,j,row;for(i=0;i<addressGroupTableRows.length;i++){row=addressGroupTableRows[i];if(i<addresses.length){populateFn(addresses[i],Dom.getChildren(row));}else{clearFn(Dom.getChildren(addressGroupTableRows[i]));}
var listingId=getListingIdFromRow(row);if(!isNaN(listingId)&&listingId>-1&&getListingCheckbox(listingId).checked){Dom.addClass(row,"selected");}else{Dom.removeClass(row,"selected");}}};var makeClickable=function(elementVarArgs){var i;for(i=0;i<arguments.length;i++){Dom.addClass(arguments[i],"clickable");}};var makeNonClickable=function(elementVarArgs){var i;for(i=0;i<arguments.length;i++){Dom.removeClass(arguments[i],"clickable");}};var repopulateAddresses=function(){var listingIdAndBusinessName;var currentAddresses=addresses.slice(addressesCurrentPage*pageSize,Math.min(addresses.length,(addressesCurrentPage+1)*pageSize));forEachAddressGroupTableRow(currentAddresses,function(address,cells){listingIdAndBusinessName=Dom.getChildren(cells[0]);listingIdAndBusinessName[0].value=address.id;listingIdAndBusinessName[1].innerHTML=address.businessName;cells[1].innerHTML=address.street;cells[1].setAttribute("title",address.fullAddress);cells[2].innerHTML=address.zipAndCity;cells[2].setAttribute("title",address.fullAddress);if(isAdmin){cells[3].innerHTML=address.customerId;cells[4].innerHTML=address.addressId;}
makeClickable(cells[0],cells[1],cells[2],cells[3],cells[4]);},function(cells){listingIdAndBusinessName=Dom.getChildren(cells[0]);listingIdAndBusinessName[0].value=-1;listingIdAndBusinessName[1].innerHTML="";cells[1].innerHTML="&nbsp;";cells[1].setAttribute("title","");cells[2].innerHTML="";cells[2].setAttribute("title","");if(isAdmin){cells[3].innerHTML="";cells[4].innerHTML="";}
makeNonClickable(cells[0],cells[1],cells[2],cells[3],cells[4]);});};var repopulateSelectedAddresses=function(){var nbOfPages=Math.max(countNbOfPages(App.AddressGroups.selectedAddresses),1);var selectedColumnIndex=isAdmin?5:3;if(selectedAddressesCurrentPage>=nbOfPages){selectedAddressesCurrentPage=nbOfPages-1;}
if(App.AddressGroups.selectedAddresses.length>0){Dom.addClass("addressGroupError","hidden");}
var currentAddresses=App.AddressGroups.selectedAddresses.slice(selectedAddressesCurrentPage*pageSize,Math.min(App.AddressGroups.selectedAddresses.length,(selectedAddressesCurrentPage+1)*pageSize));forEachAddressGroupTableRow(currentAddresses,function(listingId,cells){var address=addressesMap[listingId];cells[selectedColumnIndex].innerHTML=address.businessName+" "+address.street;cells[selectedColumnIndex].setAttribute("data-listingId",listingId);cells[selectedColumnIndex].setAttribute("title",address.fullAddress);Dom.addClass(cells[selectedColumnIndex],"selectedAddress");makeClickable(cells[selectedColumnIndex]);},function(cells){cells[selectedColumnIndex].innerHTML="";cells[selectedColumnIndex].setAttribute("data-listingId","");cells[selectedColumnIndex].setAttribute("title","");Dom.removeClass(cells[selectedColumnIndex],"selectedAddress");makeNonClickable(cells[selectedColumnIndex]);});};var baseUrl="/ms/assets/img/admin/tabledata/ico_pag_arrow_";var redrawPaginationControls=function(currentPage,addressesLength,paginationFirst,paginationPrev,paginationNext,paginationLast){if(currentPage===0){paginationFirst.src=baseUrl+"first_off.gif";paginationPrev.src=baseUrl+"back_off.gif";Dom.addClass(Dom.getAncestorByTagName(paginationFirst,"a"),"unclickable");Dom.addClass(Dom.getAncestorByTagName(paginationPrev,"a"),"unclickable");}else{paginationFirst.src=baseUrl+"first.gif";paginationPrev.src=baseUrl+"back.gif";Dom.removeClass(Dom.getAncestorByTagName(paginationFirst,"a"),"unclickable");Dom.removeClass(Dom.getAncestorByTagName(paginationPrev,"a"),"unclickable");}
if(((currentPage+1)*pageSize)<addressesLength){paginationNext.src=baseUrl+"forward.gif";paginationLast.src=baseUrl+"last.gif";Dom.removeClass(Dom.getAncestorByTagName(paginationNext,"a"),"unclickable");Dom.removeClass(Dom.getAncestorByTagName(paginationLast,"a"),"unclickable");}else{paginationNext.src=baseUrl+"forward_off.gif";paginationLast.src=baseUrl+"last_off.gif";Dom.addClass(Dom.getAncestorByTagName(paginationNext,"a"),"unclickable");Dom.addClass(Dom.getAncestorByTagName(paginationLast,"a"),"unclickable");}};var redrawAddressesPaginationControls=function(nbOfPages){var paginationFirst=Selector.query(".addressesPagination a.pg-first img",contextEl)[0];var paginationPrev=Selector.query(".addressesPagination a.pg-prev img",contextEl)[0];var paginationNext=Selector.query(".addressesPagination a.pg-next img",contextEl)[0];var paginationLast=Selector.query(".addressesPagination a.pg-last img",contextEl)[0];var paginationText=Selector.query(".addressesPagination strong",contextEl)[0];if(paginationText){paginationText.innerHTML=paginationPositionText.replace("[currentPage]",addressesCurrentPage+1).replace("[nbOfPages]",nbOfPages);redrawPaginationControls(addressesCurrentPage,addresses.length,paginationFirst,paginationPrev,paginationNext,paginationLast);}};var redrawSelectedAddressesPaginationControls=function(){var paginationFirst=Selector.query(".selectedAddressesPagination a.pg-first img",contextEl)[0];var paginationPrev=Selector.query(".selectedAddressesPagination a.pg-prev img",contextEl)[0];var paginationNext=Selector.query(".selectedAddressesPagination a.pg-next img",contextEl)[0];var paginationLast=Selector.query(".selectedAddressesPagination a.pg-last img",contextEl)[0];var paginationText=Selector.query(".selectedAddressesPagination strong",contextEl)[0];var nbOfPages=Math.max(countNbOfPages(App.AddressGroups.selectedAddresses),1);if(paginationText){redrawPaginationControls(selectedAddressesCurrentPage,App.AddressGroups.selectedAddresses.length,paginationFirst,paginationPrev,paginationNext,paginationLast);paginationText.innerHTML=paginationPositionText.replace("[currentPage]",selectedAddressesCurrentPage+1).replace("[nbOfPages]",nbOfPages);}};var filterAddresses;var newFilterAddresses=function(){var customerIdFilterInput=Selector.query("input[name=customerIdFilter]",contextEl)[0];var adressIdFilterInput=Selector.query("input[name=addressIdFilter]",contextEl)[0];var businessNameFilterInput=Selector.query("input[name=businessNameFilter]",contextEl)[0];var streetFilterInput=Selector.query("input[name=streetFilter]",contextEl)[0];var zipAndCityFilterInput=Selector.query("input[name=zipAndCityFilter]",contextEl)[0];var currentResultSizeElement=Selector.query("#currentResultSizeElement",contextEl)[0];var addressGroupSelectAllElement=Selector.query("#addressGroupSelectAll",contextEl)[0];var accepted=function(filterInput,address,field){var addressField=isNaN(address[field])?address[field]:address[field].toString();return filterInput.value===""||addressField.toLowerCase().indexOf(filterInput.value.toLowerCase())>-1;};return function(originalAddresses){var address;var filteredAddresses=[];var i;for(i=0;i<originalAddresses.length;i++){address=originalAddresses[i];if(isAdmin){if(!accepted(customerIdFilterInput,address,"customerId")){continue;}
if(!accepted(adressIdFilterInput,address,"addressId")){continue;}}
if(!accepted(businessNameFilterInput,address,"businessName")){continue;}
if(!accepted(streetFilterInput,address,"street")){continue;}
if(!accepted(zipAndCityFilterInput,address,"zipAndCity")){continue;}
filteredAddresses.push(address);}
currentResultSize=filteredAddresses.length;currentResultSizeElement.innerHTML=currentResultText.replace("[currentResultDisplayed]",Math.min(currentResultSize,addressGroupTableRows.length)).replace("[currentResultSize]",currentResultSize);addressGroupSelectAllElement.innerHTML=addressGroupText.replace("[currentResultSize]",currentResultSize);return filteredAddresses;};};var execPaginationClick=function(e,el,addresses,currentPage,nbOfPages){var clickedEl=Event.getTarget(e);if(clickedEl.tagName!=="A"&&clickedEl.tagName!=="IMG"){return currentPage;}
var paginationLink=clickedEl.tagName==="A"?el:Dom.getAncestorByTagName(clickedEl,"a");if(paginationLink===null){return currentPage;}
if(Dom.hasClass(paginationLink,"pg-next")&&currentPage+1>=nbOfPages){return currentPage;}
if(Dom.hasClass(paginationLink,"pg-prev")&&currentPage===0){return currentPage;}
if(Dom.hasClass(paginationLink,"pg-first")){return 0;}else if(Dom.hasClass(paginationLink,"pg-prev")){return currentPage-1;}else if(Dom.hasClass(paginationLink,"pg-next")){return currentPage+1;}else if(Dom.hasClass(paginationLink,"pg-last")){return nbOfPages-1;}};var handleFilterChange=function(){addresses=filterAddresses(allAddresses);addressesCurrentPage=0;addressSorter.onFilterClear();if(addresses.length===0){Dom.removeClass("addressGroupNoResultsRow","hidden");}else{Dom.addClass("addressGroupNoResultsRow","hidden");}
redrawAddressesPaginationControls(countNbOfPages(addresses));};var getListingIdFromRow=function(clickedRow){var listingIdInput=Dom.getChildren(Dom.getChildren(clickedRow)[0])[0];return parseInt(listingIdInput.value);};var rowClickListener=function(e){var unselectAddress=function(listingId){for(i=0;i<App.AddressGroups.selectedAddresses.length;i++){if(listingId===App.AddressGroups.selectedAddresses[i]){App.AddressGroups.selectedAddresses.splice(i,1);break;}}};var i,target,clickedCell,clickedListingId,listingIdCheckbox;target=Event.getTarget(e);var clickedRow=Dom.getAncestorByTagName(target,"tr");clickedCell=target.tagName==="TD"?target:Dom.getAncestorByTagName(target,"td");if(Dom.hasClass(clickedCell,"selectedAddressCell")){clickedListingId=parseInt(clickedCell.getAttribute("data-listingId"));if(isNaN(clickedListingId)){return;}
listingIdCheckbox=getListingCheckbox(clickedListingId);if(clickedListingId!==""){unselectAddress(clickedListingId);listingIdCheckbox.checked=false;repopulateAddresses();}}else{clickedListingId=getListingIdFromRow(clickedRow);listingIdCheckbox=getListingCheckbox(clickedListingId);if(isNaN(clickedListingId)||clickedListingId===-1){return false;}
listingIdCheckbox.checked=!listingIdCheckbox.checked;if(listingIdCheckbox.checked){App.AddressGroups.selectedAddresses.unshift(clickedListingId);}else{unselectAddress(clickedListingId);}}
repopulateSelectedAddresses();redrawSelectedAddressesPaginationControls();};var changeAddressesPage=function(e,el){addressesCurrentPage=execPaginationClick(e,el,addresses,addressesCurrentPage,pageCount);repopulateAddresses();redrawAddressesPaginationControls(pageCount);return false;};var changeSelectedAddressesPage=function(e,el){selectedAddressesCurrentPage=execPaginationClick(e,el,App.AddressGroups.selectedAddresses,selectedAddressesCurrentPage,Math.max(countNbOfPages(App.AddressGroups.selectedAddresses),1));repopulateSelectedAddresses();redrawSelectedAddressesPaginationControls();return false;};var addressSorter=function(){var multiSorter=function(fieldsVarArgs){var fields=arguments;return function(address1,address2){var i,cmp;for(i=0;i<fields.length;i++){cmp=address1[fields[i]]<address2[fields[i]]?-1:(address1[fields[i]]>address2[fields[i]]?1:0);if(cmp!==0){return cmp;}}
return 0;};};var streetSorter=multiSorter("street","city","zipAndCity","businessName");var zipAndCitySorter=multiSorter("zipAndCity","street","businessName");var businessNameSorter=multiSorter("businessName","street","city","zipAndCity");var customerIdSorter=multiSorter("customerId","businessName","street","zipAndCity");var addressIdSorter=multiSorter("addressId","customerId","businessName","street","zipAndCity");var field;var chooseSorter=function(){if(field==="street")return streetSorter;if(field==="city")return zipAndCitySorter;if(field==="businessName")return businessNameSorter;if(field==="customerId")return customerIdSorter;if(field==="addressId")return addressIdSorter;};return{onClick:function(e){var target=Event.getTarget(e);var el=target.tagName==="TD"?target:Dom.getAncestorByTagName(target,"td");field=el.id.substring(0,el.id.length-4);addresses.sort(chooseSorter());var i;for(i=0;i<sortCells.length;i++){sortCells[i].style.background="";}
if(sortOrder===field){addresses.reverse();sortOrder+="Reversed";el.style.background=sortUpSrc;}else{sortOrder=field;el.style.background=sortDownSrc;}
repopulateAddresses();},onFilterClear:function(){if(sortOrder==null){repopulateAddresses();return;}
var isReversed=sortOrder.indexOf("Reversed")>-1;field=isReversed?sortOrder.substring(0,sortOrder.length-8):sortOrder;addresses.sort(chooseSorter());if(isReversed){addresses.reverse();}
repopulateAddresses();}};}();return{init:function(tbody){contextEl=tbody;addressGroupTableRows=Selector.query("tr.addressGroupRow",contextEl);pageSize=addressGroupTableRows.length;allAddresses=App.AddressGroups.addresses;addresses=App.AddressGroups.addresses;addressesMap=App.AddressGroups.addressesMap;addressGroup=App.AddressGroups.addressGroup;currentResultsSize=addresses.length;paginationPositionText=App.AddressGroups.paginationPositionText;currentResultText=App.AddressGroups.currentResultText;addressGroupText=App.AddressGroups.addressGroupText;isAdmin=App.AddressGroups.isAdmin;var filterInputs=Selector.query(".addressGroupFilters input[type=text]",contextEl);Event.on(addressGroupTableRows,"click",rowClickListener);Event.on("sortRow","click",rowClickListener);Event.addListener(Selector.query(".addressGroupFilters",contextEl),"keyup",handleFilterChange);Event.addListener(Selector.query(".addressGroupClearFilters",contextEl),"click",function(e){Event.stopEvent(e);var i;for(i=0;i<filterInputs.length;i++){filterInputs[i].value="";}
addresses=allAddresses;handleFilterChange();addressSorter.onFilterClear();});sortCells=Selector.query("#sortRow td",contextEl).slice(0,isAdmin?5:3);Event.addListener(sortCells,"click",addressSorter.onClick);App.getGlobalED().on("addressesPagination",changeAddressesPage);App.getGlobalED().on("selectedAddressesPagination",changeSelectedAddressesPage);App.getGlobalED().on("dialog-addressPicker-submit",function(e){Event.stopEvent(e);if(App.AddressGroups.selectedAddresses.length===0){Dom.removeClass("addressGroupError","hidden");return;}
Dom.get("addressGroupPickerForm").submit();});App.getGlobalED().onId("addressGroupSelectAll",function(e){var i,listingId;Event.stopEvent(e);App.AddressGroups.selectedAddresses=[];for(i=0;i<allAddresses.length;i++){listingId=allAddresses[i].id;App.AddressGroups.selectedAddresses[i]=listingId;getListingCheckbox(listingId).checked=true;}
repopulateSelectedAddresses();redrawSelectedAddressesPaginationControls();});var listingIds=Selector.query("input[name=listingIds]");App.getGlobalED().onId("addressGroupClearSelected",function(e){Event.stopEvent(e);App.AddressGroups.selectedAddresses=[];var i;for(i=0;i<listingIds.length;i++){listingIds[i].checked=false;}
repopulateSelectedAddresses();redrawSelectedAddressesPaginationControls();repopulateAddresses();});App.getGlobalED().onId("useAddressGroup",function(e){var i;Event.stopEvent(e);App.AddressGroups.selectedAddresses=addressGroup.listings.slice(0);for(i=0;i<App.AddressGroups.selectedAddresses.length;i++){getListingCheckbox(App.AddressGroups.selectedAddresses[i]).checked=true;}
repopulateSelectedAddresses();redrawSelectedAddressesPaginationControls();});filterAddresses=newFilterAddresses();filterAddresses(addresses);repopulateAddresses();repopulateSelectedAddresses();pageCount=countNbOfPages(allAddresses);redrawAddressesPaginationControls(pageCount);redrawSelectedAddressesPaginationControls();}};}();(function(){App.Modules.IFrame=App.Helper.createClass();var Y=YAHOO,Dom=Y.util.Dom,Event=Y.util.Event,Form=App.Form;var IFRAME_LINK_CLASS="iframe-link";var IFRAME_LINK_CONTAINER_CLASS="iframe-link-container";App.Modules.IFrame.prototype={evtDel:null,init:function(elContent,oConfig,oModuleBase)
{App.log("App.Modules.IFrame(%o)",oConfig);var i,j,containers=Y.Array(Dom.getElementsByClassName(IFRAME_LINK_CONTAINER_CLASS,"span",elContent)),data=oConfig.data;this.bNewWindow=oConfig.inNewWindow;for(i=0;i<data.length;i++)
{var options=data[i];var links=Y.Array(Dom.getElementsByClassName(IFRAME_LINK_CLASS,"a",containers[i]));for(j=0;j<links.length;j++){links[j].setAttribute("data-url",options.url);links[j].setAttribute("href",options.url);}}
this.evtDel=new App.Ui.EventDelegator(elContent,"click");this.evtDel.on(IFRAME_LINK_CLASS,this.onIFrameLink,this);},onIFrameLink:function(e,el)
{App.log("onIFrameLink(%o)",arguments);var options=App.Ui.Helper.getDataset(el);if(this.bNewWindow)
{Event.stopEvent(e);var newWin=window.open(options.url,"_blank");}
else
{if(!el._iframePopup){el._iframePopup=new App.Ui.IFramePopup(options);}
el._iframePopup.show();}
return false;}};})();if(typeof(App)=='undefined'||!App){throw new Error('App is not declared');}
(function(){App.Modules.BusinessCard=App.Helper.createClass();var Y=YAHOO.util,Dom=Y.Dom,Event=Y.Event,Selector=Y.Selector,Env=App.env,BusinessCard=App.Modules.BusinessCard;BusinessCard.prototype={init:function(elContent,oConfig,oModuleBase)
{this.div=elContent;this.oModuleBase=oModuleBase;},getTileId:function()
{return this.oModuleBase.getTileNumber();},redraw:function(isVisible)
{var i;App.log("App.Modules.BusinessCard.redraw()");var children=Dom.getChildren(this.div);this.currentTileId=this.getTileId();for(i=0;i<children.length;i++){Dom.addClass(children[i],"hidden");Dom.removeClass(Selector.query("div[rel=2_3]",this.div,true),"clearfix");}
switch(this.currentTileId){case 3:Dom.removeClass(YAHOO.util.Selector.query("div[rel=1_3]",this.div,true),"hidden");break;case 2:two_thirds_tile=Selector.query("div[rel=2_3]",this.div,true);Dom.removeClass(two_thirds_tile,"hidden");Dom.addClass(two_thirds_tile,"clearfix");break;case 1:case 4:Dom.removeClass(Selector.query("div[rel=1_1]",this.div,true),"hidden");break;}}};})();(function(){App.Modules.OpeningHours=App.Helper.createClass();var Y=YAHOO,Dom=Y.util.Dom,OpeningHours=App.Modules.OpeningHours;var OH_START_HOUR=4;OpeningHours.prototype={init:function(elContent,oConfig,oModuleBase)
{App.log("App.Modules.OpeningHours(%o)",oConfig);this.elContent=elContent;var oDate=new Date();Dom.addClass(this.getDayEls()[this.getTheRealDay(oDate)],"today");var open=!this.isClosedPeriod(oDate,oConfig.closed)&&this.isOpenHour(oDate,oConfig.hours);App.Ui.Helper.toggle(this.getOpenEl(),open);},getTheRealDay:function(oDate)
{return((oDate.getDay()-1)%7);},isClosedPeriod:function(oDate,closedPeriods)
{var i,timestamp=oDate.getTime();for(i=0;i<closedPeriods.length;i++)
{var closed=closedPeriods[i];if(timestamp>=closed[0]&&timestamp<=closed[1])
{return true;}}
return false;},isOpenHour:function(oDate,openHours)
{function pad(n){return n<10?'0'+n:n;}
var day=oDate.getDay();var ohHour=oDate.getHours();if(ohHour<OH_START_HOUR){ohHour+=24;day=(day-1)%7;}
var hours=openHours[day];var i,timeofday=parseInt(ohHour+''+pad(oDate.getMinutes()),10);for(i=0;i<hours.length;i++)
{if(timeofday>=hours[i][0]&&timeofday<hours[i][1])
{return true;}}
return false;},getDayEls:function()
{return Dom.getChildren(this.getBodyEl());},getBodyEl:function()
{return Dom.getElementsByClassName("bd","div",this.elContent)[0];},getOpenEl:function()
{return Dom.getElementsByClassName("module-open-now","div",this.elContent)[0];}};})();(function(){App.Modules.ImageGallery=App.Helper.createClass();var Y=YAHOO.util,Dom=Y.Dom,Event=Y.Event,Env=App.env,Get=Y.Selector.query,Anim=Y.Anim,ImageGallery=App.Modules.ImageGallery;ImageGallery.defaults={items_per_page:6,timeout:3000,duration:0.5,type:"gallery",autostart:false,suffix:{thumbnail:"_THUMBNAIL",normal:"_PICTURE",large:"_LARGE"},folders:{thumbnail:"0",normal:"1",large:"2"},module_path:"/web-ssls/assets/modules/imagegallery/"};ImageGallery.prototype={imageLightbox:null,init:function(elContent,oConfig,oModuleBase){App.log("App.Modules.ImageGallery(%o)",arguments);if(!oConfig.media||oConfig.media.length<=0){oConfig.base="/ms/assets/img/";oConfig.autostart=false;oConfig.media=[{src:"pix.gif",title:""}];oConfig.empty=true;}else{oConfig.empty=false;}
this.oModuleBase=oModuleBase||false;if(elContent&&oConfig.media&&oConfig.empty==false){this.target=elContent;this.config=oConfig;this.config.ipp=oConfig.items_per_page||ImageGallery.defaults.items_per_page;this.config.type=oConfig.type||ImageGallery.defaults.type;this.config.autostart=oConfig.autostart||ImageGallery.defaults.autostart;this.config.lightboxtitle=oConfig.lightboxtitle;this.slide=0;this.running=(typeof(this.config.autostart)=="undefined")?false:this.config.autostart;this.overlay=null;if(this.config.type==="promo"){this.initPromoPrint();this.initPromoPrintEvents();}
this.initPaging(1);this.initThumbnails();this.initThumbnailsEvents();this.setViewport(this.slide,false);this.initViewportEvents();this._updateSize();this.moduleEl=Dom.getAncestorByClassName(elContent,"module");if(this.moduleEl&&!this.shareEl)this.shareEl=Dom.getElementsByClassName("m_share","div",this.moduleEl)[0];App.log("module %o, share div %o",this.moduleEl,this.shareEl);var that=this;if(this.config.autostart===true){this.running=true;this.Slideshow.start(that);}}},initPaging:function(o){var thumbs=this.config.media.length,pages=Math.ceil(thumbs/this.config.ipp),totalPages=pages,txt=[],getAscPage=function(i){return totalPages-i;};if(!thumbs){return false;}
while(pages--){var n=getAscPage(pages);txt.push('<li'+((n===o)?' class="active"':'')+'><a href="#">'+n+'</a></li>');}
this.currentPage=o;this.pages=totalPages;if(this.pages<2){Dom.addClass(this.target,"ig_single_page");return true;}
var pager=Dom.getElementsByClassName("ig_paging","ul",this.target)[0];pager.innerHTML=txt.join('');var ed=new App.Ui.EventDelegator(pager,["click"]);ed.onTag("a",function(e){var targetPage=Event.getTarget(e).innerHTML;this.pageSelect(targetPage,pager);return false;},this);var controls=Get("div.ig_controls",this.target)[0];var prev=new App.Ui.EventDelegator(controls,["click"]);prev.on("ig_prev",function(){this.pageNavigate(-1,pager);return false;},this);prev.on("ig_next",function(){this.pageNavigate(1,pager);return false;},this);return true;},initThumbnails:function(){var thumbs=this.config.media.length,start=(this.currentPage-1)*this.config.ipp,end=this.currentPage*this.config.ipp,txt=[];if(!thumbs){return false;}
for(var i=start,j=end;i<j;i++){if(i<thumbs){var legend=(this.config.type==="promo")?'<span class="ig_thumbnail_legend">'+this.config.media[i].desc+"</span>":"";txt.push('<li'+(((this.slide==i)&&(!this.running))?' class="active"':'')+'><a href="'+this.getFileName("large",this.config.media[i].img)+'"><img src="'+this.getFileName("thumbnail",this.config.media[i].img)+'" alt="'+this.config.media[i]+'" title="'+this.config.media[i].desc+'" data-i="'+i+'" />'+legend+'</a></li>');}else{txt.push('<li class="empty" />');}}
Dom.getElementsByClassName("ig_thumbnails","ul",this.target)[0].innerHTML=txt.join('');return true;},initThumbnailsEvents:function(){var thumbnails=Dom.getElementsByClassName("ig_thumbnails","ul",this.target)[0];var ed=new App.Ui.EventDelegator(thumbnails,["click"]);var that=this;ed.onTag("a",function(e,el){Dom.batch(Get(".ig_thumbnails li"),function(el){Dom.removeClass(el,"active");});Dom.addClass(Dom.getAncestorByTagName(el,"li"),"active");var img=el.getElementsByTagName("img")[0],img_i=App.Ui.Helper.getDataset(img).i;this.setViewport(img_i,true);this.Slideshow.stop(that);return false;},this);},getFileName:function(size,sMediaSrc){var fileName=sMediaSrc;if(this.config.empty===true){return sMediaSrc;}
var extension=sMediaSrc.substr(sMediaSrc.lastIndexOf("."));var baseName=sMediaSrc.substr(0,sMediaSrc.lastIndexOf("_"));if(typeof(ImageGallery.defaults.suffix[size])=="undefined"){App.warn("Couldn't find suffix for size ",size);}
if(extension!=baseName)fileName=baseName+ImageGallery.defaults.suffix[size]+extension;return fileName;},setViewport:function(i,userAction){this.slide=i;var img=Get("img.ig_viewport_img",this.target,true);var legend=Get("div.ig_item_legend",this.target,true);this.Slideshow.fade(img,"out");var imgLink=Dom.getAncestorByTagName(img,"a");App.log("JD change source of left image",img,imgLink);App.log("JD this.config.media[i]",this.config.media[i]);img.src=this.getFileName("normal",this.config.media[i].img);img.title=this.config.media[i].desc||"";img.alt=this.config.media[i].desc||"";img.mediaid=(this.config.media[i].mediaid)?this.config.media[i].mediaid:0;App.log("setViewport get ready to update data ",this.config.media[i]);this.updateShareData(this.config.media[i]);imgLink.href=this.getFileName("large",this.config.media[i].img);imgLink.title=this.config.media[i].desc;imgLink.alt=this.config.media[i].desc;if(this.config.type==="promo"){var timer;var waitForIframeReady=function(){var iframe=window.frames["ig_print_coupon"];if((iframe.document.location.pathname.indexOf("print-coupon.htm")<0)&&(!iframe.document.getElementById("placeholder"))){timer=setTimeout(waitForIframeReady,500);}else{clearTimeout(timer);setTimeout(function(){iframe.document.getElementById("placeholder").src=img.src;},100);}};waitForIframeReady();}
if(legend){legend.innerHTML=this.config.media[i].desc;}
this.Slideshow.fade(img,"in");if(userAction){App.webtrendsEventDelegator.galleryEvent("selectPhoto",this.config.media[i].img);}
return true;},updateShareData:function(o){App.log("updateShareData ",o);this.config.share={mediaid:o.mediaid,title:o.titleShare,desc:o.descShare,url:o.img||""};App.log(">>>> imageGallery.updateShareData() ",o,this.config.share);},initViewportEvents:function(i){var viewport=Get("div.ig_viewport",this.target)[0];var that=this;var ed=new App.Ui.EventDelegator(viewport,["click"]);ed.on(App.Ui.ImageLightbox.CLASS_GALLERY_LIGHTBOX,this.maximize,this);},openOverlay:function(i){alert("change opening window");var isPromo=(this.config.type==="promo");var imgSize=(isPromo)?"normal":"large";var img='<img src="'+this.getFileName(imgSize,this.config.media[i].img)+'" alt="'+this.config.media[i].desc+'" title="'+this.config.media[i].desc+'" />';if(!this.overlay){this.overlayId=this.target.id+"_ig-overlay";this.overlay=new YAHOO.widget.Panel(this.overlayId,{fixedcenter:true,close:true,draggable:false,zindex:999,modal:true,visible:false,underlay:"none"});this.overlay.setHeader("");this.overlay.setBody(img);this.overlay.render(document.body);Dom.addClass(document.getElementById(this.overlayId),"ig-overlay");if(isPromo){Dom.addClass(document.getElementById(this.overlayId),"ig-overlay-promo");}
this.overlay.show();this.overlay.doCenterOnDOMEvent();}else{this.overlay.setBody(img);this.overlay.show();this.overlay.doCenterOnDOMEvent();}},setOverlay:function(dir,i){App.log("setOverlay");var nextSlide=this.getNextSlide(dir);this.openOverlay(nextSlide);this.slide=nextSlide;return false;},maximize:function(e,el){this.Slideshow.stop(this);YAHOO.util.Event.stopEvent(e);var clickedEl=YAHOO.util.Event.getTarget(e);var imgId=el.id||Dom.generateId(),imgTitle=Dom.getAttribute(el,"title"),imgUrl=Dom.getAttribute(el,"href");this.showLightbox({viewer:true,url:imgUrl,lightboxtitle:this.config.lightboxtitle,title:imgTitle||"Image Preview",webtrendsEvent:"enlargePhoto",shareLinks:this.shareEl.id});},showLightbox:function(options){if(YAHOO.lang.isUndefined(App.Ui.ImageLightbox)){App.halt("showLightbox(): App.Ui.ImageLightbox is not available");}
var singleImage=(this.config.media.length==1);options.viewer=!singleImage;if(!this.imageLightbox||singleImage){App.log("*** NEW App.Ui.ImageLightbox() for ",this);this.imageLightbox=new App.Ui.ImageLightbox(options);this.imageLightbox.prevEvent.subscribe(this._onPrevImage,this,true);this.imageLightbox.nextEvent.subscribe(this._onNextImage,this,true);}
App.webtrendsEventDelegator.galleryEvent(options.webtrendsEvent,options.url);this.imageLightbox.show(options);},_getLightBoxBaseName:function(temp){var slash=temp.lastIndexOf('/');if(slash>-1)temp=temp.substr(slash+1);temp=temp.split(".")[0];temp=temp.split("_")[0];return temp;},_lookupIdx:function(imgName){var found=-1;var i=0;while(found==-1&&i<this.config.media.length){if(this.config.media[i].img.indexOf(imgName)>-1)found=i;i++;}
return found;},_lookupIdxByMediaid:function(mediaid){var found=-1;var i=0;var mediaid=parseInt(mediaid,10);while(found==-1&&i<this.config.media.length){if(this.config.media[i].mediaid==mediaid)found=i;i++;}
return found;},_onPrevImage:function(type,args,me){this._moveToImage(args[0].imgsrc,-1);},_onNextImage:function(type,args,me){this._moveToImage(args[0].imgsrc,+1);},_moveToImage:function(currentFile,offset){App.log("_moveToImage ",currentFile);var basename=this._getLightBoxBaseName(currentFile);var currIndex=this._lookupIdx(basename);var totalImg=this.config.media.length;var newIndex=currIndex+offset;if(newIndex>totalImg-1)newIndex=0;if(newIndex<0)newIndex=totalImg-1;App.log("show image with idx ",newIndex);var newSrc=this.getFileName("large",this.config.media[newIndex].img);App.log("get ready to update data ",this.config.media[newIndex]);this.updateShareData(this.config.media[newIndex]);var newTitle=this.config.media[newIndex].desc;this.showLightbox({viewer:true,lightboxtitle:this.config.lightboxtitle,url:newSrc,title:newTitle||"Image Preview",webtrendsEvent:"browsePhoto",shareLinks:this.shareEl.id});},initPromoPrint:function(){if(!this.printFrame){var addFrame=function(){var f=document.createElement("iframe");f.src=ImageGallery.defaults.module_path+"print-coupon.htm";f.id=f.name="ig_print_coupon";f.title="Print Coupon";return document.body.appendChild(f);};this.printFrame=addFrame();}},initPromoPrintEvents:function(){var controls=Get(".ig_actions",this.target)[0];var eg=new App.Ui.EventDelegator(controls,["click"]);eg.on("ig_print",function(){var id=this.printFrame.id;if(window.print){window.frames[id].focus();window.frames[id].print();}
return false;},this);eg.on("ig_save",function(el,src){var that=this;var a=decodeURIComponent(src.href).replace(/\{[^\}]*\}/g,function(key){return encodeURIComponent(that.getFileName("normal",that.config.media[that.slide].img));});location.href=a;return false;},this);return true;},Slideshow:(function(){return{start:function(o){o.running=true;o.timer=setInterval(function(){o.setViewport(o.getNextSlide(1),false);},ImageGallery.defaults.timeout);},stop:function(o){o.running=false;clearInterval(o.timer);},fade:function(obj,dir){var a,b,anim;a=(dir==="out")?1:0;b=(dir==="out")?0:1;anim=new Anim(obj,{opacity:{from:a,to:b}});anim.duration=ImageGallery.defaults.duration;anim.animate();}};})(),pageSelect:function(targetPage,context){Dom.removeClass(context.getElementsByTagName("li"),"active");this.currentPage=targetPage;Dom.addClass(context.getElementsByTagName("li")[targetPage-1],"active");this.initThumbnails();},pageNavigate:function(dir,context){var target=parseInt(this.currentPage,10)+dir;if(target>this.pages){target=1;}else if(target<1){target=this.pages;}
this.pageSelect(target,context);},redraw:function(isVisible)
{App.log("App.Modules.ImageGallery.redraw(): ;",this.target);this._updateSize();},_updateSize:function()
{if(this.target){var elViewport=Dom.getElementsByClassName("ig_viewport",null,this.target);if(elViewport){if(YAHOO.lang.isArray(elViewport))elViewport=elViewport[0];Dom.removeClass(elViewport,"ig_compact");Dom.removeClass(elViewport,"ig_full");Dom.removeClass(Dom.getNextSibling(elViewport),"ig_sidebar");var region=YAHOO.util.Dom.getRegion(this.target);if(region.width){if(region.width>=900){Dom.addClass(elViewport,"ig_full");}else if(region.width>=600&&region.width<900){}else{Dom.addClass(elViewport,"ig_compact");Dom.addClass(Dom.getNextSibling(elViewport),"ig_sidebar");}}}}},getNextSlide:function(dir){var currentSlide=parseInt(this.slide,10);if(dir==1){nextSlide=(currentSlide>=this.config.media.length-1)?0:(currentSlide+1);}else{nextSlide=(currentSlide==0)?this.config.media.length-1:(currentSlide-1);}
return nextSlide;}};})();(function(){App.Modules.Carousel=App.Helper.createClass();var
Y=YAHOO,Dom=Y.util.Dom;var carouselInternals={small:{angle:'10',spacing:'55',shelveWidth:'60'},medium:{angle:'5',spacing:'72',shelveWidth:'90'},large:{angle:'5',spacing:'76',shelveWidth:'90'}};App.Modules.Carousel.prototype={swf:null,sizes:["small","medium","large"],init:function(elContent,oConfig,oModuleBase)
{if(!elContent){App.halt("elContent error");}
App.log('App.Modules.Carousel.init(%o)',elContent,oConfig,oModuleBase);this.div=Dom.getElementsByClassName("m_swfHolder","div",elContent)[0];if(this.div){this.h2=Dom.getElementsBy(function(el){return true;},"h2",elContent)[0];this.id=this.div.id=Dom.generateId(this.div);this.oModuleBase=oModuleBase;this.moduleEl=Dom.getAncestorByClassName(elContent,"module");this.moduleId=parseInt(this.moduleEl.id.substring(1),10);if(this.moduleEl&&!this.shareEl)this.shareEl=Dom.getElementsByClassName("m_share","div",this.moduleEl)[0];App.log("module %o, share div %o",this.moduleEl,this.shareEl);this.options=oConfig;this.options.media=this.getCoverFeed();App.log("this.options ",this.options);this.addFlashParams();App.log("Flash carroussel %o",oModuleBase);this.redraw();}},getCoverFeed:function(){return YAHOO.lang.JSON.parse(this.options.swfSettings.flashVars.coverFeed);},addFlashParams:function(){App.log("addFlashParams ",this.options.media);var coverFeed=this.options.media;var totalImages=coverFeed.length;for(var i=0;i<totalImages;i++){var imgConfig=coverFeed[i];var shareData=this.getShareData(imgConfig);App.log("shareData ",shareData);imgConfig.param=shareData;imgConfig.moduleId=this.moduleId;}
this.options.swfSettings.flashVars.coverFeed=YAHOO.lang.JSON.stringify(coverFeed);},getShareData:function(img){App.log("getShareData ",img,this.oModuleBase.container);var moduleid=parseInt(this.oModuleBase.container.id.substr(1),10);return{mediaid:img.mediaid||0,title:img.titleShare||"",desc:img.descShare||"",url:img.img||"",moduleid:moduleid};},_lookupIdx:function(imgName){var found=-1;var i=0;while(found==-1&&i<this.options.media.length){if(this.options.media[i].img.indexOf(imgName)>-1)found=i;i++;}
return found;},_lookupIdxByMediaid:function(mediaid){var found=-1;var i=0;var mediaid=parseInt(mediaid,10);while(found==-1&&i<this.options.media.length){if(this.options.media[i].mediaid==mediaid)found=i;i++;}
return found;},redraw:function(isVisible){App.log("App.Modules.Carousel.redraw(%o): ;",isVisible,this);var tileType=this.oModuleBase.getTileType();this._setFlashVarsCarouselInternal(tileType);this._setFlashVarsColors();this._setSize(tileType);this.swf=new YAHOO.widget.SWF(this.div,this.options.swfURL,this.options.swfSettings);},_setFlashVarsCarouselInternal:function(tileType){var carouselInternal=carouselInternals[tileType];this.options.swfSettings.flashVars.angle=carouselInternal.angle;this.options.swfSettings.flashVars.spacing=carouselInternal.spacing;this.options.swfSettings.flashVars.shelveWidth=carouselInternal.shelveWidth;},_setFlashVarsColors:function(){this.options.swfSettings.flashVars.fontcolor=this.convertToExaIfRgb(Dom.getStyle(this.oModuleBase.getTileId(),'color'));var bgcolor=Dom.getStyle(this.oModuleBase.getTileId(),'backgroundColor');if(bgcolor!=='transparent'){this.options.swfSettings.flashVars.bgcolor=this.convertToExaIfRgb(bgcolor);}
else if(this.options.swfSettings.flashVars.hasOwnProperty('bgcolor')){delete this.options.swfSettings.flashVars.bgcolor;}},convertToExaIfRgb:function(maybeRGB){if(maybeRGB.substring(0,1)==='#'){if(maybeRGB.length==4){var colorToRepeat=maybeRGB.substring(1,4);return'#'+colorToRepeat+colorToRepeat;}
return maybeRGB;}
var result='#';var rgbs=maybeRGB.substring(4,maybeRGB.length-1).split(',');for(var i=0;i<rgbs.length;i++){var exa=parseInt(rgbs[i]).toString(16);if(exa.length===1){exa='0'+exa;}
result+=exa;}
return result;},_setSize:function(sSize){for(var i=0;i<this.sizes.length;i++){var sClass=this.sizes[i];if(Dom.hasClass(this.div,"carousel_"+sClass))Dom.removeClass(this.div,"carousel_"+sClass);}
Dom.addClass(this.div,"carousel_"+sSize);}};})();if(typeof(App)=='undefined'||!App){throw new Error('App is not declared');}
(function(){App.Ui.BingMap=App.Helper.createClass();var
Y=YAHOO,Dom=Y.util.Dom,Event=Y.util.Event,Form=App.Form;App.Ui.BingMap.prototype={DATATYPE_GEORSS:"g",DATATYPE_COLLECTION:"c",DATATYPE_IMPORTXML:"i",BING_MAP_KEY:"",map:null,editable:false,markerlayer:null,activeMarker:null,options:null,dragShape:null,init:function(el,options)
{App.log('App.Ui.BingMap.init(%o)',options);this.div=Dom.get(el);this.id=this.div.id=Dom.generateId(this.div);if(!this.div){App.halt.apply(this,["No html markup with id %o found, can't create Bingmap",this.id]);}else{this.map=new VEMap(this.id);if(this.BING_MAP_KEY!=""){this.map.AttachEvent("oncredentialserror",Y.bind(this._HandleCredentialsError,this));this.map.AttachEvent("oncredentialsvalid",Y.bind(this._HandleCredentialsValid,this));this.map.SetCredentials(this.BING_MAP_KEY);}
this.map.onLoadMap=Y.bind(this.onMapReady,this);this._handleOptions(options);var usr=this.options.user;if(usr.mapCenter){if(!usr.mapCenter._reserved&&(usr.mapStyle==VEMapStyle.Birdseye||usr.mapStyle==VEMapStyle.BirdseyeHybrid)){usr.mapStyle="r";usr.mapMode=1;}
this.map.LoadMap(null,usr.zoom,usr.mapStyle,false,usr.mapMode,true,0);}else{if(!usr.mapStyle)usr.mapStyle="r";if(!usr.mapMode)usr.mapMode=1;if(!usr.zoom)usr.zoom=15;if(this.options.markers&&this.options.markers.length>0){var marker=new VELatLong(this.options.markers[0].latLong[0],this.options.markers[0].latLong[1]);this.map.LoadMap(marker,usr.zoom,usr.mapStyle,false,usr.mapMode);}else{App.log("ERROR: No mapCenter nor marker are defined on Bingmap");}}
this.addMapEvents();}},_HandleCredentialsError:function(){App.log("*** BingMap Credentials ERROR for key: "+this.BING_MAP_KEY);},_HandleCredentialsValid:function(){App.log("*** BingMap Credentials OK for key: "+this.BING_MAP_KEY);},orientationToAngle:function(orientation)
{orientation=orientation.toLowerCase();var mapping={"south":180,"west":270,"north":0,"east":90};return mapping[orientation];},onMapReady:function()
{App.log('The map has loaded %o',arguments);this.map.SetScaleBarDistanceUnit(VEDistanceUnit.Kilometers);this.markerlayer=new VEShapeLayer();if(this.options.clustering){this.markerlayer.SetClusteringConfiguration(VEClusteringType.Grid);}
this.map.AddShapeLayer(this.markerlayer);App.log("this.options.markers ",this.options.markers);if(this.options.markers&&this.options.markers.length>0)this.addPins(this.options.markers);if(this.options.isListing)this.map.ShowAllShapeLayers();this.map.SetDashboardSize(this.options.dashboardSize.toLowerCase());this.resetMapCenter();},addMapEvents:function()
{this.updateEvent=new YAHOO.util.CustomEvent("updateEvent",this);if(this.options.markerEditable){this.map.AttachEvent("onmousedown",Y.bind(this.MouseHandler,this));this.map.AttachEvent("onmouseup",Y.bind(this.MouseHandler,this));this.map.AttachEvent("onmousemove",Y.bind(this.MouseHandler,this));}else{if(App.isBackendPage()){var updateTriggers=["onchangeview"];for(var i=0;i<updateTriggers.length;i++){this.map.AttachEvent(updateTriggers[i],Y.bind(this.updateHandler,this));}}}
if(this.options.isListing){this.map.AttachEvent("onclick",Y.bind(this.MouseHandler,this));}},updateHandler:function(e){App.log("map.updateHandler ",this.updateEvent,e.eventName,this);this.updateEvent.fire(e);},resetMapCenter:function()
{if(this.options.user.mapStyle==VEMapStyle.Birdseye||this.options.user.mapStyle==VEMapStyle.BirdseyeHybrid){App.log("set birdeye with options ",this.options);var um=this.options.user.mapCenter;var mapCenter=this._createVELatLong(um.Latitude,um.Longitude,um._reserved);this.map.SetBirdseyeScene(mapCenter,this.options.user.orientation,this.options.user.zoom);}else{App.log("set map center");var c=this.options.user.mapCenter;if(c&&c.Latitude&&c.Longitude){this.map.SetCenter(new VELatLong(c.Latitude,c.Longitude));}else{if(this.options.markers&&this.options.markers.length>=1){App.log("Fallback method: use marker as center");var lat=this.options.markers[0].latLong[0];var lng=this.options.markers[0].latLong[1];if(lat&&lng)this.map.SetCenter(new VELatLong(lat,lng));}else{this.onNoMarkerNoCenter();}}}},onNoMarkerNoCenter:function()
{App.log("No marker and no map center defined... Reverting to fixed default coordinates");this.map.SetCenterAndZoom(new VELatLong(50.84535102,4.36380386),3);},enablePrinting:function(bActivate){bActivate=bActivate||true;this.map.SetPrintOptions(new VEPrintOptions(bActivate));App.log("printing enabled on map: "+bActivate);},_createVELatLong:function(latitude,longitude,reserved)
{var latLong=new VELatLong(0,0);latLong.Latitude=latitude;latLong.Longitude=longitude;latLong._reserved=reserved;return latLong;},MouseHandler:function(e)
{if(this.options.isListing){App.log("clicked on ",e);if(e.eventName=="onclick"&&e.elementID!=null){this.map.HideInfoBox();var currMarker=this.map.GetShapeByID(e.elementID);var coords=new VELatLong(currMarker.Latitude,currMarker.Longitude);this.map.ShowInfoBox(currMarker,null,new VEPixel(20,0));}}else{if(e.eventName=="onmousedown"&&e.elementID!=null){var shape=this.map.GetShapeByID(e.elementID);if(shape.isDraggable){this.dragShape=shape;this.activeMarker=this.dragShape;};return true;}else if(e.eventName=="onmouseup"){if(this._updateFields)this._updateFields(this.activeMarker.Latitude,this.activeMarker.Longitude);this.dragShape=null;}else if(e.eventName=="onmousemove"&&this.dragShape!=null){var x=e.mapX;var y=e.mapY;pixel=new VEPixel(x,y);var LL=this.map.PixelToLatLong(pixel);this.dragShape.SetPoints(LL);return true;}}},onSubmit:function()
{App.log("onSubmit");if(this.editable){this.options.user.zoom=this.map.GetZoomLevel();this.options.user.mapStyle=this.map.GetMapStyle();this.options.user.mapMode=this.map.GetMapMode();this.options.user.mapCenter=this.map.GetCenter();if(this.activeMarker){this._set("coords",this.activeMarker.Latitude+","+this.activeMarker.Longitude);}
if(this.map.GetMapStyle()==VEMapStyle.Birdseye||this.map.GetMapStyle()==VEMapStyle.BirdseyeHybrid){App.log("save Bird's eye settings");var birdeye=this.map.GetBirdseyeScene();this.options.user.orientation=birdeye.GetOrientation();this.options.user.ID=birdeye.GetID();var pixel=birdeye.LatLongToPixel(this.map.GetCenter(),this.map.GetZoomLevel());encLatLong=birdeye.PixelToLatLong(pixel,this.map.GetZoomLevel());App.log("encrypted LatLong: ",encLatLong);this.options.user.mapCenter=encLatLong;}else{this.options.user.orientation="";}
var jsonStr=YAHOO.lang.JSON.stringify(this.options.user);this._set("settings",jsonStr);}},_set:function(domObj,sValue)
{App.log("set ",domObj,sValue);var el=Dom.get(domObj);el.value=sValue;},_handleOptions:function(options)
{this.options={dashboardSize:"Normal",defaultIcon:null,clustering:true,markers:null,isListing:false,isCurrent:false,user:{}};for(p in options){this.options[p]=options[p];}
this.editable=(this.options.editable)?this.options.editable:false;this.map.SetDashboardSize(this.options.dashboardSize.toLowerCase());App.log('this.options %o',this.options);},click:function(e)
{var el=Event.getTarget(e);App.log('bingMap.click(%o) my scope is %o',arguments,this);App.log('bingMap.id is %o',this.id);App.log('bingMap.div is %o',this.div);App.log('element is %o',el);},destroy:function()
{App.log('bingMap.destroy()');},addPins:function(input)
{if(Y.lang.isArray(input)){this._import_Array(input);}else if(Y.lang.isString(input)){this._import_dataSource(input);}else if(Y.lang.isObject(input)){input=new Array(input);this._import_Array(input);}},addPin:function(input){this.addPins(input);},showInfo:function(listingID){var idx=this._lookUpListingId(listingID);if(idx>=0&&idx<this.options.markers.length){App.log("show info for ",this.options.markers[idx].element);var currMarker=this.options.markers[idx].element;var coords=new VELatLong(currMarker.Latitude,currMarker.Longitude);var normalClass="bingIcon";var activeClass="bingIconActive";if(this.activeMarker){var icon=this.activeMarker.GetCustomIcon();icon=icon.replace("\""+activeClass+"\"","\""+normalClass+"\"");this.activeMarker.SetCustomIcon(icon);var originalZIndex=(this.activeMarker.originalZIndex)?this.activeMarker.originalZIndex:1000;this.activeMarker.SetZIndex(originalZIndex,null);}
this.activeMarker=currMarker;this.activeMarker.originalZIndex=currMarker.GetZIndex();this.activeMarker.SetZIndex(9999,null);var icon=currMarker.GetCustomIcon();icon=icon.replace("\""+normalClass+"\"","\""+activeClass+"\"");currMarker.SetCustomIcon(icon);this.map.SetCenter(coords);var mapPos=YAHOO.util.Dom.getY(this.div);window.scrollTo(0,mapPos);App.log("scrolled to marker ",currMarker);}},_lookUpListingId:function(listingID){var found=0;var totalMarkers=this.options.markers.length;var i=0;while(found==0&&i<totalMarkers){if(this.options.markers[i].listingId==listingID){found=i;App.log("found listingId %o as %o",listingID,found);}
i++;}
return found;},resize:function(val)
{if(val)this.map.Resize(val);else this.map.Resize();this.resetMapCenter();App.log("map has been resized");},_import_Array:function(markers)
{App.log('bingMap._import_Array this: %o',this);var total_locations=markers.length;if(total_locations>0){for(var i=0;i<total_locations;i++){this.addPushPin(markers[i]);}}},_import_dataSource:function(dataSourceURL)
{App.log('bingMap._import_dataSource this: %o',this);var veLayerSpec=new VEShapeSourceSpecification(this.DATATYPE_GEORSS,dataSourceURL,this.markerlayer);App.log('TEST veLayerSpec %o',veLayerSpec);this.map.ImportShapeLayerData(veLayerSpec,this.pinLoaded,1);},pinLoaded:function()
{App.log('bingMap.pinLoaded - pins have been loaded this: %o',this);},addPushPin:function(marker)
{var latLong=new VELatLong(marker.latLong[0],marker.latLong[1]);App.log('bingMap.addPushPin() at %o',latLong);App.log('marker: %o',marker);if(marker.showArea){App.log("show as area");var pin=this._drawArea(marker);pin.HideIcon();}else{var pin=new VEShape(VEShapeType.Pushpin,latLong);if(marker.icon){pin.SetCustomIcon(marker.icon);}else if(this.options.defaultIcon){pin.SetCustomIcon(this.options.defaultIcon);}}
if(marker.isDraggable)pin.isDraggable=marker.isDraggable;App.log("> Added pin ",pin);if(marker.title){pin.SetTitle('<h3>'+marker.title+'</h3>');}
if(marker.description){pin.SetDescription(marker.description);}
this.map.AddShape(pin);this.activeMarker=pin;marker.element=pin;},_drawArea:function(marker)
{App.log("Drawing area around marker ",marker);var lat=marker.latLong[0];var lon=marker.latLong[1];var areaRadius=0.0065;var shape=this._defineCircleShape(areaRadius,36,lat,lon);var fillColor=new VEColor(200,200,0,0.60);shape.SetFillColor(fillColor);var lineColor=new VEColor(255,255,255,0);shape.SetLineColor(lineColor);shape.SetLineWidth(1);return shape;},_defineCircleShape:function(radius,steps,centerX,centerY)
{var aCoords=[new VELatLong(centerX,centerY)];var adjustRatio=1.6;for(var i=1;i<=steps+1;i++){xValue=(centerX+radius/adjustRatio*Math.cos(((Math.PI*i)/steps)*2-Math.PI/2));yValue=(centerY+radius*Math.sin(((Math.PI*i)/steps)*2-Math.PI/2));aCoords[i]=new VELatLong(xValue,yValue);}
return new VEShape(VEShapeType.Polygon,aCoords);},embedCode:function()
{App.log("embedcode this ",this,this.map);var embedString='<iframe width="400" height="300" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="{url}"></iframe>';var url="http://dev.virtualearth.net/embeddedMap/v1/ajax/{mapMode}?zoomLevel={zoomLevel}&center={center}&heading={heading}&pushpins={pushpins}&culture={culture}";var SEPARATOR="_";var DECIMAL_PLACES=4;var mapCenter=this.map.GetCenter();var sCenter=this.round(mapCenter.Latitude,DECIMAL_PLACES)+SEPARATOR+this.round(mapCenter.Longitude,DECIMAL_PLACES);if(!this.options.markers||this.options.markers.length==0){this.options.markers=[{icon:'<div class="bingIconActive"></div>',latLong:[mapCenter.Latitude,mapCenter.Longitude]}];}
var sMarker=this.round(this.options.markers[0].latLong[0],DECIMAL_PLACES)+SEPARATOR+this.round(this.options.markers[0].latLong[1],DECIMAL_PLACES);var mapStyleName="";var mapStyle=this.map.GetMapStyle();for(p in VEMapStyle){if(VEMapStyle[p]==mapStyle)mapStyleName=p.toLowerCase();}
var heading=this.round(this.map.GetHeading(),DECIMAL_PLACES);if(mapStyleName=="hybrid")mapStyleName="aerialwithlabels";if(mapStyleName=="birdseyehybrid")mapStyleName="birdseyewithlabels";if(mapStyleName.indexOf("birdseye")>-1){sCenter=sMarker;App.log("this.map.GetCenter() ",this.map.GetCenter());var birdeye=this.map.GetBirdseyeScene();heading=this.orientationToAngle(birdeye.GetOrientation());}
var paramlist={"mapMode":mapStyleName,"zoomLevel":this.map.GetZoomLevel(),"heading":heading,"center":sCenter,"pushpins":sMarker,"culture":this.options.culture||"en-US"}
for(p in paramlist){App.log("replace "+p+" with "+paramlist[p]);url=url.replace("{"+p+"}",paramlist[p]);}
embedString=embedString.replace("{url}",url);return embedString;},_replace_param:function(subject,param,newVal){var RE=new RegExp("{"+param+"}");return subject.replace(RE,newVal);},round:function(number,fractionDigits)
{with(Math){return round(number*pow(10,fractionDigits))/pow(10,fractionDigits);}}};})();if(typeof(App)=='undefined'||!App){throw new Error('App is not declared');}
(function(){App.Modules.BingMap=App.Helper.createClass();var
Y=YAHOO,Dom=Y.util.Dom,Event=Y.util.Event,Form=App.Form;App.Modules.BingMap.prototype={TruvoMap:null,init:function(elContent,oConfig,oModuleBase)
{App.log('App.Modules.BingMap.init(%o)',oConfig);if(!elContent){App.halt("elContent error");}
this.div=Dom.getElementsByClassName("m_bingmap","div",elContent)[0];App.log("this.div ",this.div);this.id=this.div.id=Dom.generateId(this.div);this.oModuleBase=oModuleBase;if(!this.div){App.halt.apply(this,["No html markup with id %o found, can't create Bingmap",this.id]);}else{oConfig.editable=false;this.TruvoMap=new App.Ui.BingMap(this.id,oConfig);this.TruvoMap.updateEvent.subscribe(this._onUpdate,this,true);if(oConfig.embedId){this.txtarea=Dom.get(oConfig.embedId);this.showEmbed();}}},_onUpdate:function(){App.log("** map update triggered... ",arguments);this.updateEmbed();},setWidth:function(px)
{this.div.style.width=px+"px";},redraw:function(isVisible)
{App.log("App.Modules.BingMap.redraw(%o)for this.TruvoMap.map: ;",isVisible,this.TruvoMap.map);var tileNr=this.oModuleBase.getTileNumber();if(this.oldTile!=tileNr){var newSize;switch(tileNr){case 1:newSize=900;break;case 2:newSize=580;break;case 3:newSize=260;break;case 4:newSize=900;break;}
this.TruvoMap.resize(newSize);this.oldTile=tileNr;}},showEmbed:function()
{App.log("map showEmbed");if(!this.txtarea)return false;this.txtarea.value=this.TruvoMap.embedCode()+document.getElementById('embed_linkback').value;},updateEmbed:function()
{if(!this.txtarea)return false;if(!Dom.hasClass(this.txtarea,"hidden")||!this.isUpdated){this.showEmbed(this.txtarea);this.isUpdated=true;}},destroy:function()
{App.log('bingMap.destroy()');}};})();(function(){App.Modules.Coupon=App.Helper.createClass();var Y=YAHOO,Dom=Y.util.Dom,Event=Y.util.Event,Env=App.env,Coupon=App.Modules.Coupon;Coupon.ROTATE_SPEED=5*1000;Coupon.PAGING_TINY="mod-coup-paging-tiny";Coupon.prototype={tileToSize:{1:0,2:1,3:2,4:0},init:function(elContent,oConfig,oModuleBase)
{App.log("App.Modules.Coupon(%o)",oConfig);if(oConfig.items.length<1){return;}
this.pageNrEl=null;this.elContent=elContent;this.coupons=oConfig.items;this.oModuleBase=oModuleBase;this.currentTileId=this.getTileId();this.viewports=[];this.setActiveCoupon(0);this.evtDel=new App.Ui.EventDelegator(elContent,"click");this.evtDel.on("coupon-print",this.onCouponPrint,this);this.evtDel.on("coupon-promo",this.onCouponPromo,this);this.updateCouponLabels(this.activeCoupon);if(this.coupons.length>1)
{this.evtDel.on("pa-left",function(){this.stopRotation();this.jump(-1,true);return false;},this);this.evtDel.on("pa-right",function(){this.stopRotation();this.jump(1,true);return false;},this);this.startRotation();}},startRotation:function()
{var that=this;function _loop(){that.timeoutId=window.setTimeout(_rotate,Coupon.ROTATE_SPEED);}
function _rotate(){that.jump(1);_loop();}
_loop();},stopRotation:function()
{window.clearTimeout(this.timeoutId);this.timeoutId=null;},resetRotation:function()
{var oViewport=this.getViewport();this.stopRotation();oViewport.jumpTo(0);this.setActiveCoupon(0);},setActiveCoupon:function(i)
{this.position=i;this.activeCoupon=this.coupons[i];if(this.coupons.length>1)this.getPageNrEl().innerHTML=(i+1);},jump:function(dir,userAction)
{var oViewport=this.getViewport();userAction=userAction!=="undefined"?userAction:false;position=this.position+dir;if(position>=this.coupons.length){position=0;}
if(position<0){position=this.coupons.length-1;}
oViewport.scrollTo(position);this.setActiveCoupon(position);this.updateCouponLabels(this.coupons[position]);this.position=position;if(userAction){App.webtrendsEventDelegator.couponEvent("viewCoupon",this.coupons[position].cSource,this.coupons[position].cId);}},forward:function()
{this.jump(1);},backward:function()
{this.jump(-1);},updateCouponLabels:function(coupon)
{var sPromoCode="";App.Ui.Helper.toggle(this.getCouponTitleElement(),!!coupon.cTitle);this.getCouponTitleElement().innerHTML=coupon.cTitle||"";App.Ui.Helper.toggle(this.getCouponPromoContainerEl(),(coupon.cPromoLbl||coupon.cPromoUrl));if(coupon.cPromoLbl)
{sPromoCode=coupon.cPromoText+': ';sPromoCode+=coupon.cPromoUrl?'<a href="'+coupon.cPromoUrl+'" target="_blank">'+coupon.cPromoLbl+'</a>':coupon.cPromoLbl;}
else if(coupon.cPromoUrl){sPromoCode='<a href="'+coupon.cPromoUrl+'" target="_blank">'+coupon.cPromoUrlLbl+'</a>';}
this.getCouponPromoCodeEl().innerHTML=sPromoCode;Dom.setAttribute(this.getCouponPrintEl(),"href",this.activeCoupon.cPrintUrl);},redraw:function(isVisible)
{App.log("App.Modules.Coupon.redraw(%o)",isVisible);if(isVisible)
{var oViewport;if(this.getTileId()!==this.currentTileId)
{this.onTileMove(this.getTileId());}
this.resetRotation();if(this.coupons.length>1){var fn=(this.elContent.offsetWidth<600)?"addClass":"removeClass";Dom[fn](this.getCouponPagingContainerEl(),Coupon.PAGING_TINY);}}},onCouponPrint:function(e,el)
{Dom.setAttribute(el,"href",this.activeCoupon.cPrintUrl);Dom.setAttribute(el,"target","_blank");App.webtrendsEventDelegator.couponEvent("printCoupon",this.activeCoupon.cSource,this.activeCoupon.cId);return true;},onCouponPromo:function(e,el)
{Dom.setAttribute(el,"href",this.activeCoupon.cPromoUrl);return true;},getTileId:function()
{return this.oModuleBase.getTileNumber();},getViewport:function()
{var vpSize=this.tileToSize[this.currentTileId];if(!this.viewports[vpSize])
{var oViewport,elViewport;elViewport=Dom.getElementsByClassName("vp-viewport","div",this.getBodies()[vpSize])[0];oViewport=new App.Ui.Viewport(elViewport,{fixme:true});this.viewports[vpSize]=oViewport;}
return this.viewports[vpSize];},onTileMove:function(tileId)
{var vpSize;App.log("onTileMove(%d)",tileId);vpSize=this.tileToSize[this.currentTileId];App.Ui.Helper.toggle(this.getBodies()[vpSize],false);vpSize=this.tileToSize[tileId];App.Ui.Helper.toggle(this.getBodies()[vpSize],true);this.currentTileId=tileId;},getBodies:function()
{return this.elBodies?this.elBodies:(this.elBodies=Dom.getElementsByClassName("body","div",this.elContent));},getCouponInfoContainerEl:function()
{return this.elCouponInfoEl?this.elCouponInfoEl:(this.elCouponInfoEl=Dom.getElementsByClassName("mod-coup-info","div",this.elContent)[0]);},getCouponTitleElement:function()
{return this.elCouponTitle?this.elCouponTitle:(this.elCouponTitle=this.getCouponInfoContainerEl().getElementsByTagName("h2")[0]);},getCouponPromoContainerEl:function()
{return this.elCouponPromoContainer?this.elCouponPromoContainer:(this.elCouponPromoContainer=Dom.getElementsByClassName("promo","span",this.getCouponInfoContainerEl())[0]);},getCouponPromoCodeEl:function()
{return this.elCouponPromoCode?this.elCouponPromoCode:(this.elCouponPromoCode=Dom.getElementsByClassName("code","span",this.getCouponPromoContainerEl())[0]);},getCouponPrintEl:function()
{return this.elCouponPrint?this.elCouponPrint:(this.elCouponPrint=Dom.getElementsByClassName("coupon-print","a",this.elContent)[0]);},getCouponPagingContainerEl:function()
{return this.elCouponFooterEl?this.elCouponFooterEl:(this.elCouponFooterEl=Dom.getElementsByClassName("mod-coup-paging","div",this.elContent)[0]);},getPageNrEl:function()
{return this.elPageNr?this.elPageNr:(this.elPageNr=Dom.getElementsByClassName("mod-coup-pagenr","*",this.getCouponPagingContainerEl())[0]);}};})();if(typeof(App)=='undefined'||!App){throw new Error('App is not declared');}
(function(){App.Modules.Banner=App.Helper.createClass();var
Y=YAHOO,Dom=Y.util.Dom,Event=Y.util.Event,Form=App.Form;App.Modules.Banner.prototype={oldTile:0,contentBody:[],init:function(elContent,oConfig,oModuleBase)
{App.log('App.Modules.Banner.init(%o)',elContent,oConfig,oModuleBase);if(!elContent){App.halt("elContent error");}
this.div=elContent;this.id=this.div.id=Dom.generateId(this.div);this.oModuleBase=oModuleBase;this.oldTile=this.oModuleBase.getTileNumber();this.contentBody=Dom.getElementsByClassName("body","div",this.div);},redraw:function(isVisible)
{App.log("App.Modules.Banner.redraw(%o): ;",isVisible,this);if(isVisible!==false){var tileNr=this.oModuleBase.getTileNumber();if(this.oldTile!=tileNr){var oldZone=this.contentBody[this.oldTile-1];var newZone=this.contentBody[tileNr-1];if(!Dom.hasClass(oldZone,"hidden"))Dom.addClass(oldZone,"hidden");if(Dom.hasClass(newZone,"hidden"))Dom.removeClass(newZone,"hidden");this.oldTile=tileNr;}}},destroy:function()
{App.log('Banner.destroy()');}};})();if(typeof(App)=='undefined'||!App){throw new Error('App is not declared');}
(function(){App.Modules.Swf=App.Helper.createClass();var
Y=YAHOO,Dom=Y.util.Dom,Event=Y.util.Event;App.Modules.Swf.prototype={swf:null,initSWF:null,sizes:["small","medium","large"],embedsizes:{"small":{width:260,height:177},"medium":{width:432,height:273},"large":{width:432,height:273}},init:function(elContent,oConfig,oModuleBase)
{App.log('App.Modules.Swf.init(%o)',elContent,oConfig,oModuleBase);if(!elContent){App.halt("elContent error");}
this.div=Dom.getElementsByClassName("m_swfHolder","div",elContent)[0];App.log("this.div with swf: ",this.div);this.id=this.div.id=Dom.generateId(this.div);this.options=oConfig;this.oModuleBase=oModuleBase;if(this.options.playerSettings.rawEmbed)this.isRawEmbed=true;if(!this.initSWF){this.initSWF=(this.isRawEmbed)?this.RawEmbed:this.DefaultPlayer;}
this.initSWF();this.show();},show:function(){App.log("this.options.playerSettings.swfURL ",this.options.playerSettings.swfURL);this._setSize();if(this.isRawEmbed){}else{if(this.options.playerSettings.swfURL!=""&&this.div){this.swf=new YAHOO.widget.SWF(this.div,this.options.playerSettings.swfURL,this.options.swfSettings);}}},shouldAutoPlay:function()
{return(window.location.hash.toLowerCase()=="#video"&&!App.isBackendPage()&&this.options.playerSettings.allowAutoPlay);},_setSize:function()
{this.currentTileId=this.getTileId();App.log("you're in tile "+this.currentTileId);var newSize="";switch(this.currentTileId){case 3:newSize="small";break;case 2:newSize="medium";break;case 1:newSize="large";break;case 4:newSize="large";break;}
if(this.isRawEmbed){var adjustEmbed=this.options.playerSettings.swfURL;adjustEmbed=adjustEmbed.replace(/(\swidth\s*=\s*["|']).*?(["|'])/ig,"$1"+this.embedsizes[newSize].width+"$2");adjustEmbed=adjustEmbed.replace(/(\sheight\s*=\s*["|']).*?(["|'])/ig,"$1"+this.embedsizes[newSize].height+"$2");App.log("adjustEmbed ",adjustEmbed);this.div.innerHTML=adjustEmbed;}else{this._setCSS(newSize);}},_setCSS:function(sSize){sSize=sSize||"";for(var i=0;i<this.sizes.length;i++){var sClass=this.sizes[i];if(Dom.hasClass(this.div,"swf_"+sClass))Dom.removeClass(this.div,"swf_"+sClass);}
if(sSize!="")Dom.addClass(this.div,"swf_"+sSize);},getTileId:function()
{return this.oModuleBase.getTileNumber();},redraw:function(isVisible)
{App.log("App.Modules.Swf.redraw(%o): ;",isVisible,this);this.show();},destroy:function()
{App.log('SWF.destroy()');},DefaultPlayer:function(){App.log("_init_DefaultPlayer ",this);var embedCode=this.options.playerSettings.swfURL;if(embedCode==""){App.log("ERROR Swf MODULE: no Swf embed code found");}else{App.log("embedCode = ",embedCode);this.options.playerSettings.swfURL=this.getFlashSource(embedCode);App.log("Flash SWF source is ",this.options.playerSettings.swfURL);this.options.playerSettings.flashVars=this.getFlashVars(embedCode);App.log("Set flashvars: ",this.options.playerSettings.flashVars);}
if(this.shouldAutoPlay()){App.log("Autoplay requested, but only available for Truvo Swfs at this time");};this.options.swfSettings.flashVars=this.options.playerSettings.flashVars;},getFlashSource:function(embedCode)
{var newVal="notFound";var found=false;if(!found){var result=embedCode.match(/src=["|']?(.*?)["|']?[\s>]/ig);if(result){App.log("Flash source loaded from <embed src=\"\"> attribute value");var found=true;newVal=RegExp.$1;}}
if(!found){var result=embedCode.match(/data=["|']?(.*?)["|']?[\s>]/ig);if(result){App.log("Flash source loaded from <object data=\"\"> attribute value");var found=true;newVal=RegExp.$1;}}
if(!found){var result=embedCode.match(/name=["|']?movie["|']?\s+value=["|']?(.*?)["|']?[\s?>]/ig);if(result){App.log("Flash source loaded from <param name=\"movie\"> value attribute ");var found=true;newVal=RegExp.$1;}}
return newVal;},getFlashVars:function(embedCode){var flashVars={};var RE=/flashvars=["|']([^'"]*?)["|']/ig;var hasVars=embedCode.match(RE);if(hasVars){App.log("Creating Flash vars...");var result=embedCode.match(/flashvars=["|'](.*?)["|']/ig);var sVars=RegExp.$1;App.log("sVars ",sVars,result);var aVars=sVars.split("&");for(var i=0;i<aVars.length;i++){var currVar=aVars[i].split("=");if(currVar.length==2){flashVars[currVar[0]]=currVar[1];}}}
return flashVars;},RawEmbed:function(){App.log("RawEmbed ",this);var embedCode=this.options.playerSettings.swfURL;if(embedCode==""){App.log("ERROR Swf MODULE: no Swf embed code found");}
if(this.shouldAutoPlay()){App.log("Autoplay requested, but only available for Truvo Swfs at this time");};this.options.swfSettings.flashVars=this.options.playerSettings.flashVars;}};})();if(typeof(App)=='undefined'||!App){throw new Error('App is not declared');}
(function(){App.Modules.Video=App.Helper.createClass();var
Y=YAHOO,Dom=Y.util.Dom,Event=Y.util.Event;App.Helper.extend(App.Modules.Video,App.Modules.Swf,{init:function(elContent,oConfig,oModuleBase)
{App.log('App.Modules.Video.init(%o)');this.playerType=oConfig.player||"embed";switch(this.playerType){case"truvo":this.initSWF=this.TruvoPlayer;break;default:break;}
App.Modules.Video.superclass.init.call(this,elContent,oConfig,oModuleBase);},EmbedPlayer:function(){App.log("_initEmbedPlayer ",this);this.DefaultPlayer();if(this.shouldAutoPlay()){App.log("Autoplay requested, but only available for Truvo videos at this time");};this.options.swfSettings.flashVars=this.options.playerSettings.flashVars;},TruvoPlayer:function(){App.log("_initTruvoPlayer");this.options.swfSettings.flashVars=this.options.playerSettings.flashVars;if(this.shouldAutoPlay()){this.options.swfSettings.flashVars.autoPlay="true";};}});})();if(typeof(App)=='undefined'||!App){throw new Error('App is not declared');}
(function(){App.Modules.InteractiveTour=App.Helper.createClass();var Y=YAHOO.util,Dom=Y.Dom,Event=Y.Event,Env=App.env,InteractiveTour=App.Modules.InteractiveTour;InteractiveTour.prototype={init:function(elContent,oConfig,oModuleBase)
{var content=Dom.getChildren(Dom.getFirstChild(elContent));if(content.length==3){this.div=content[1];}else if(content.length==4){this.div=content[2];}
this.oModuleBase=oModuleBase;this._updateSize();},getTileId:function()
{return this.oModuleBase.getTileNumber();},redraw:function(isVisible)
{App.log("App.Modules.InteractiveTour.redraw()");this._updateSize();},_updateSize:function()
{this.currentTileId=this.getTileId();App.log("you're in tile "+this.currentTileId);Dom.removeClass(this.div,"it_compact");Dom.removeClass(this.div,"it_full");Dom.removeClass(this.div,"it_viewport");switch(this.currentTileId){case 3:Dom.addClass(this.div,"it_compact");break;case 2:Dom.addClass(this.div,"it_viewport");break;case 1:Dom.addClass(this.div,"it_full");break;case 4:Dom.addClass(this.div,"it_full");break;}}};})();if(typeof(App)=='undefined'||!App){throw new Error('App is not declared');}
(function(){App.Modules.Reviews=App.Helper.createClass();var
Y=YAHOO,Dom=Y.util.Dom,Event=Y.util.Event,RVW_ADD_CLASS="rvw-add",RVW_ABUSE="rvw-abuse",RVW_MORE="rvw-more",RVW_LOAD="rvw-load",THEME_DIALOG_CLASS="themed-dialog"
Form=App.Form;App.Modules.Reviews.prototype={init:function(elContent,oConfig,oModuleBase)
{App.log('App.Modules.Reviews.init(%o)',arguments);if(elContent){this.div=Dom.getElementsByClassName("reviews","div",elContent)[0];App.log("this.div ",this.div);this.id=this.div.id=Dom.generateId(this.div);if(!this.div){App.halt.apply(this,["No html markup with id %o found, can't create",this.id]);}else{this.initReviewEvents();this.checkAutoPopup();}}},loadReviews:function(loadUrl){this.destroyReviewEvents();var ar=new App.Ui.AjaxRequest(loadUrl,{method:'get',success:this.onLoadReviews,scope:this,failure:function(o){App.log('Failure handler! Response: %o Arguments: %o',o,o.argument);},events:{onStart:function(){App.log("onStart %o",arguments);},onComplete:function(){App.log("onComplete %o",arguments);}}});},onLoadReviews:function(o)
{App.log("onLoadReviews",this,o);this.div.innerHTML=o.responseText;this.initReviewEvents();},initReviewEvents:function()
{App.log(" initReviewEvents ");if(this.id){this.reviewED=new App.Ui.EventDelegator(this.id,"click");var eventMap={"rvw-less":this.onLess}
for(triggerClass in eventMap){this.reviewED.on(triggerClass,eventMap[triggerClass],this,true);}}
App.getGlobalED().on(RVW_ADD_CLASS,this.onAddReview,this,true);App.getGlobalED().on(RVW_ABUSE,this.onAbuse,this,true);App.getGlobalED().on(RVW_LOAD,this.onLoad,this,true);App.getGlobalED().on(RVW_MORE,this.onMore,this,true);},checkAutoPopup:function()
{var trigger="reviewNow";var hash=top.location.hash.toLowerCase();if(hash.indexOf(trigger.toLowerCase())>-1){var el=Dom.getElementsByClassName(RVW_ADD_CLASS,"a");if(el.length>0){top.location.hash="";this.showReviewPopup(el[0]);}}},destroyReviewEvents:function()
{if(this.reviewED){this.reviewED.destroy();this.reviewED=null;}},onAddReview:function(e,el){Y.util.Event.stopEvent(e);this.showReviewPopup(el);},showReviewPopup:function(el)
{if(!el||!el.href)return false;var that=this;this.panel=new App.Ui.AjaxDialog(null,{srcUrl:el.href,invisMask:false,skin:THEME_DIALOG_CLASS,close:true,zIndex:999,events:{onDialogInit:function()
{that._initPanelEvents();},onDialogResponse:function(o)
{App.log("onDialogResponse(%o) AjaxDialog",o);},onSubmitForm:function(o)
{App.log(">> JD onSubmitForm(%o)",o);}}});this.panel.show();},_initPanelEvents:function()
{App.log("_initPanelEvents");var ratingEl=Dom.get("rating");if(ratingEl){rating=parseInt(ratingEl.value,10);App.log("Found hidden field with rating = "+rating);var rate=new App.Ui.Rating("editRate",{stars:rating});}
App.webtrendsEventDelegator.reviewEvent(Dom.get("wt-dialogresult"),Dom.get("wt-account"));App.getGlobalED().on("rvw-logout",this.onLogout,this,true);},onLogout:function(e,el){Y.util.Event.stopEvent(e);App.log(">> logout ",e,el);ar=new App.Ui.AjaxRequest(el.href,{method:'get',success:this.panelReInit,scope:this,failure:function(o){App.log('Failure handler! Response: %o Arguments: %o',o,o.argument);}});},panelReInit:function(o){App.log(">> logOutReInit ",this.panel,o);this.panel.contentDiv.innerHTML=o.responseText;this._initPanelEvents();},onLoad:function(e,el){Y.util.Event.stopEvent(e);this.loadReviews(el.href);},onAbuse:function(e,el){Y.util.Event.stopEvent(e);this.panel=new App.Ui.AjaxDialog(null,{srcUrl:el.href,invisMask:false,skin:THEME_DIALOG_CLASS,close:true,zIndex:999,events:{onDialogInit:function()
{App.log("onDialogInit() start AjaxDialog...");App.webtrendsEventDelegator.reviewEvent(Dom.get("wt-dialogresult"));},onDialogResponse:function(o)
{App.log("onDialogResponse(%o) AjaxDialog",o);},onSubmitForm:function(o)
{App.log("JD onSubmitForm(%o)",o);}}});this.panel.show();},onLess:function(e,el){Y.util.Event.stopEvent(e);this.showTotalReview(el,false);},onMore:function(e,el){Y.util.Event.stopEvent(e);this.showTotalReview(el,true);},showTotalReview:function(el,bComplete)
{var reviewEl=this._getReviewEl(el);var summary=Dom.getElementsByClassName("rvw-sum","span",reviewEl)[0];var desc=Dom.getElementsByClassName("rvw-desc","span",reviewEl)[0];if(bComplete){Dom.addClass(summary,"hidden");Dom.removeClass(desc,"hidden");}else{Dom.addClass(desc,"hidden");Dom.removeClass(summary,"hidden");}},_getReviewEl:function(el)
{return Dom.getAncestorByClassName(el,"review");},redraw:function(isVisible)
{App.log("App.Modules.Reviews.redraw(%o)");},destroy:function()
{App.log('App.Modules.Reviews.destroy()');this.destroyReviewEvents();}};})();if(typeof(App)=='undefined'||!App){throw new Error('App is not declared');}
(function(){App.Ui.Rating=App.Helper.createClass();var
Y=YAHOO,Dom=Y.util.Dom,Event=Y.util.Event,Form=App.Form;App.Ui.Rating.prototype={container:null,ratingEl:null,currRate:0,init:function(el,options)
{this._handleOptions(options);this.container=Dom.get(el)||document;App.log("App.Ui.Rating.init() ",this.container);this.currRate=this.options.stars*20+"%";this.ratingEl=Dom.getElementsByClassName("current-rating","li",this.container)[0];this.ratingEl.style.width=this.currRate;this.wait_for_click();},_handleOptions:function(options)
{this.options={stars:3};for(p in options){this.options[p]=options[p];}
this.options.stars=parseInt(this.options.stars,10);if(this.options.stars<1)this.options.stars=1;if(this.options.stars>5)this.options.stars=5;},destroy:function()
{App.log('uploader.destroy()');},wait_for_click:function(){var stars=YAHOO.util.Dom.getElementsByClassName("star","a",this.container);for(i=0;i<stars.length;i++){var star=stars[i];YAHOO.util.Event.addListener(star,'click',Y.bind(this.star_clicked,this,true),i+1);YAHOO.util.Event.addListener(star,'mouseover',Y.bind(this.star_mouseover,this,true),i+1);}
var starlist=YAHOO.util.Dom.getElementsByClassName("star-rating","ul",this.container);YAHOO.util.Event.addListener(starlist[0],'mouseout',this.starlist_mouseout,this,true);},star_clicked:function(e,num){YAHOO.util.Event.stopEvent(e);var hiddenfield=this.container.getElementsByTagName("input")[0];hiddenfield.value=num;fill=num*20+"%";this.ratingEl.style.width=fill;this.currRate=fill;App.log("Set rating to "+num+" star(s)",hiddenfield);},star_mouseover:function(e){this.ratingEl.style.width="0%";},starlist_mouseout:function(e){this.ratingEl.style.width=this.currRate;}};})();