
var Arbesko={label_target:'.typeA .inputField input',dialogs:[],ROUNDED_FILLER:'<div class="nw"></div><div class="ne"></div><div class="sw"></div><div class="se"></div>',ARROW_FILLER:'<span class="arrow"></span>',init:function(globals){var self=this;self.globals=globals;if(self.globals.i18n){$.i18n.setDictionary(self.globals.i18n);}
$(self.label_target).each(function(index){var input=$(this),label=$(this).parents().siblings('label');$(this).focus(function(){label.hide();}).blur(function(){if(!$(this).val()){label.show();}});label.click(function(){input.focus();});if($(this).val()){label.hide();}});$('a.languageChooseButton').each(function(index){var dropdown=$('#languageChooseDropdown');$(this).toggle(function(){dropdown.show();},function(){dropdown.hide();});});if(!jQuery.browser.msie){rainbows.init({selector:'h2.orange',shadow:false,highlight:true,from:'#F15922',to:'#FFDE00'});rainbows.init({selector:'.pageContent h3',shadow:false,highlight:true,from:'#4E8BD4',to:'#0F4390'});}
self.initEvents();var Dialog=function(){var self=this,args=arguments;self.init.apply(self,args);};window.Dialog=Dialog;Dialog.prototype={init:function(options){var self=this;var defaults={title:'Untitled',content:'Please supply content for this dialog.',buttons:[{label:'Cancel',callback:function(button){var self=this;self.close();}}]};self.options=jQuery.extend(defaults,options);self.id=Arbesko.dialogs.length;self.dialog=$('<div/>').attr({'class':'dialog','id':'dialog-'+self.id}).prependTo('body');self.dialog_header=$('<div/>').attr('class','dialogHeader').appendTo(self.dialog);$('<h4/>').text(self.options.title).appendTo(self.dialog_header);$('<a/>').attr('class','dialogCloseButton').click(function(){self.close();}).appendTo(self.dialog_header);self.dialog_content=$('<div/>').attr('class','dialogBody').html(self.options.content).appendTo(self.dialog);self.dialog_footer=$('<div/>').attr('class','dialogFooter').appendTo(self.dialog);self.buttons=new Array();self.button_wrapper=$('<div class="buttons"></div>').appendTo(self.dialog_footer);for(var i=0;i<self.options.buttons.length;i++){var b=self.buildButton(self.options.buttons[i]);self.buttons.push(b);self.button_wrapper.append(b);};self.display();Arbesko.initEvents();if(self.options.callback){self.options.callback.call(self);}
Arbesko.dialogs.push(self);},display:function(){var self=this;self.dialog.animate({top:'50%',marginTop:-(self.dialog.height()/2)},600);$('#dialogOverlay').fadeIn('fast');},close:function(){var self=this;self.dialog.animate({top:'150%'},500);$('#dialogOverlay').fadeOut('fast',function(){self.dialog.remove();});},buildButton:function(buttonObject){var self=this,button=$('<a/>').attr({'class':'btn','href':'#'});label=buttonObject.label.split('');if(label[0]=="-"){label.shift();button.addClass('negative');}
if(label[0]=="+"){label.shift();button.addClass('positive');}
button.html('<span>'+label.join('')+'</span>');button.click(function(event){if(button.hasClass('disabled'))return false;buttonObject.callback.call(self,$(this));return false;});button.disable=function(new_text){button.original_text=button.children('span').text();button.addClass('disabled').children('span').text(new_text);};button.enable=function(){button.removeClass('disabled').children('span').text(button.original_text);};return button;},displayError:function(error){var self=this;self.error=$('<div/>').attr('class','dialogError').text(error).prependTo(self.dialog_content).slideDown('fast');},clearErrors:function(){var self=this;if(self.error)
self.error.slideUp('fast');$('span.msg.error').slideUp('fast',function(){$(this).remove();});},reposition:function(speed){var self=this,height=self.dialog.height();speed=(speed)?speed:400;self.dialog.animate({marginTop:-(height/2)},speed);}};},initEvents:function(){$('fieldset select').each(function(index){$(this).bind('change',function(){var selected=$(this).find('option:selected');$(this).siblings('span.label').text(selected.text()).addClass('active');});});$('a.shareFacebook').bind('click',function(event){window.open($(this).attr('href'),'Share on Facebook','width=800,height=300,scrollbars=no,location=no,status=no,menubar=no');return false;});$('a, button').bind('click',function(event){if($(this).hasClass('disabled')){return false;}});},initDropdown:function(dropdown){$(dropdown).each(function(index){var selected=$(this).find('option:selected');$(this).siblings('span.label').text(selected.text()).addClass('active');});},forms:{validateName:function(name){if(name.length<3)
return $.i18n._('Please enter your full name.');return false;},validateEmail:function(email){var emailFilter=/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i;if(!emailFilter.test(email))
return $.i18n._('Please enter your correct email address.');return false;},validateMessage:function(message){if(message.split(' ').length<9)
return $.i18n._('Please enter a message longer than 10 words.');return false;},validateText:function(text,name){if(text.length<3)
return sprintf($.i18n._('Please enter your %s.'),name);return false;},insertError:function(target,message){$('<span/>').addClass('msg').addClass('error').text(message).appendTo(target);}}};Arbesko.Home={init:function(options){var self=this;self.options=options;self.panels=self.options.panels;self.catalogs=self.options.catalogs;function downloadCatalogDialog(){var catalogChoices=new Array();for(var i=0;i<self.catalogs.length;i++){var catalog=self.catalogs[i];catalogChoices.push(sprintf('<li class="catalog %s"><a href="%s">%s</a></li>',catalog.slug,catalog.url,catalog.name));};var downloadCatalogHTML=new Array(sprintf('<p><strong>%s</strong></p>',$.i18n._('Please choose your desired language below to start your PDF download.')),'<ul class="catalogLinks clearfix">',catalogChoices.join("\n"),'</ul>','<p>'+$.i18n._('Thanks for your interest in an Arbesko catalog! If you would rather order a free physical copy, please use the link below.')+'</p>');new Dialog({title:'Choose Your Language',content:downloadCatalogHTML.join(''),buttons:[{label:new String('-'+$.i18n._('Close')),callback:function(button){this.close();}},{label:new String('+'+$.i18n._('Request Catalog')),callback:function(button){window.location=self.options.order_catalog_link;}}]});}
$('a.catalogButton').click(function(){downloadCatalogDialog();return false;});var ImageScroller=function(){var self=this,args=arguments;self.init.apply(self,args);};ImageScroller.prototype={options:function(){return{open_width:250};},init:function(scroller,controls,options){var self=this;self.scroller_wrapper=$(scroller);self.scroller=$(scroller).children('.scrollerPanels');self.controls=$(controls).children('a');self.options=jQuery.extend(options,self.options());self.panels=new Array();self.scroller.children('.scrollerPanel').each(function(index){self.panels.push($(this));});self.panel_width=$(scroller).width();self.positionPanels();self.bindEvents();if(self.options.delay){self.initAutoScroll();}},initAutoScroll:function(){var self=this;if(self.interval)
self.destroyAutoScroll();self.interval=setInterval(function(){self.autoSwitchPanels();},self.options.delay*1000);},destroyAutoScroll:function(){var self=this;clearInterval(self.interval);},positionPanels:function(){var self=this;for(var i=0;i<self.panels.length;i++){self.panels[i].css('left',self.panel_width*i);};},bindEvents:function(){var self=this;self.controls.each(function(index){if($(this).hasClass('selected'))self.current=index;$(this).bind('click',function(event){if(self.current==index)
return false;self.switchPanels(index);self.initAutoScroll();return false;});});if(self.options.delay){self.scroller_wrapper.bind('mouseover',function(event){self.destroyAutoScroll();}).bind('mouseout',function(event){self.initAutoScroll();});}
self.scroller_wrapper.click(function(){var url=self.panels[self.current].children('a').attr('href');if(url=='#')return;if(url.indexOf('arbesko')>0){window.location=url;}else{window.open(url);}});},switchPanels:function(target){var self=this;$(self.controls.get(self.current)).removeClass('selected');$(self.controls.get(target)).addClass('selected');self.scroller.animate({left:-self.panel_width*target},{duration:'slow',easing:'easeOutExpo'});self.current=target;},autoSwitchPanels:function(){var self=this,target=(self.current+1==self.panels.length)?0:self.current+1;self.switchPanels(target);}};var homescroller=new ImageScroller('#homeScroller','#homeScrollerControls',{delay:5});var partnerscroller=new ImageScroller('#smallScroller','#smallScrollerControls',{delay:7});}};Arbesko.Blog={init:function(type,options){var self=this;self.options=options;switch(type){case'main':self.initMain();break;case'browse':self.initBrowse();break;case'detail':self.initDetail();break;default:self.initMain();break;}},initMain:function(){var self=this;$('.askAQuestionButton').bind('click',function(event){var askArbeskoChoices=new Array();for(choice in self.options.ask_choices){askArbeskoChoices.push('<option value="'+self.options.ask_choices[choice].slug+'">'+self.options.ask_choices[choice].name+'</option>');}
var askArbeskoHTML=new Array('<p><strong>',$.i18n._('Please use the form below to ask us a question regarding footwear or other things related to Arbesko.'),'</strong></p>','<div class="rounded">','<div class="nw"></div><div class="ne"></div><div class="sw"></div><div class="se"></div>','<form id="askArbeskoForm">','<fieldset class="typeB">','<div class="field inputField">','<label>'+$.i18n._('Your Name')+'</label>','<div class="fieldWrapper">','<span class="cover"></span>','<input class="text" type="text" id="askName" />','</div>','</div>','<div class="field inputField">','<label>'+$.i18n._('Your Email')+'</label>','<div class="fieldWrapper">','<span class="cover"></span>','<input class="text" type="text" id="askEmail" />','</div>','</div>','<div class="field inputField">','<label>'+$.i18n._('Your Profession')+'</label>','<div class="fieldWrapper">','<span class="cover"></span>','<input class="text" type="text" id="askProfession" />','</div>','</div>','<div class="field inputField">','<label>'+$.i18n._('Your Company')+'</label>','<div class="fieldWrapper">','<span class="cover"></span>','<input class="text" type="text" id="askCompany" />','</div>','</div>','<div class="field dropField">','<label>'+$.i18n._('Category')+'</label>','<div class="fieldWrapper">','<span class="cover"></span>','<span class="label">'+$.i18n._('Please choose a category')+'&hellip;</span>','<select name="some_name" id="askCategory" size="1">','<optgroup label="'+$.i18n._('Please choose a category')+'&hellip;">',askArbeskoChoices.join(''),'</optgroup>','</select>','</div>','</div>','<div class="field textareaField">','<label>'+$.i18n._('Your Question')+'</label>','<div class="fieldWrapper">','<span class="cover top"></span>','<textarea name="askQuestion" id="askQuestion"></textarea>','<span class="cover bottom"></span>','</div>','</div>','</fieldset>','</form>','</div>');new Dialog({title:'Ask Arbesko',content:askArbeskoHTML.join(""),buttons:[{label:new String('+Ask Question'),callback:handleAsk},{label:new String('-Cancel'),callback:function(button){this.close();}}],callback:function(){var self=this;$('#askName').focus();$('#askArbeskoForm').bind('submit',function(){self.buttons[0].click();return false;});Arbesko.initDropdown('#askCategory');}});function handleAsk(button){var self=this;self.clearErrors();self.reposition();var form={name:self.dialog.find('#askName'),email:self.dialog.find('#askEmail'),profession:self.dialog.find("#askProfession"),company:self.dialog.find("#askCompany"),category:self.dialog.find('#askCategory'),question:self.dialog.find('#askQuestion')};var errors=new Array();var valid_name=Arbesko.forms.validateName(form.name.val());if(valid_name){errors.push(valid_name);Arbesko.forms.insertError(form.name.parent(),valid_name);}
var valid_email=Arbesko.forms.validateEmail(form.email.val());if(valid_email){errors.push(valid_email);Arbesko.forms.insertError(form.email.parent(),valid_email);}
var valid_profession=Arbesko.forms.validateText(form.profession.val(),$.i18n._('Your Profession').toLowerCase());if(valid_profession){errors.push(valid_profession);Arbesko.forms.insertError(form.profession.parent(),valid_profession);}
var valid_company=Arbesko.forms.validateText(form.company.val(),$.i18n._('Your Company').toLowerCase());if(valid_company){errors.push(valid_company);Arbesko.forms.insertError(form.company.parent(),valid_company);}
var valid_question=Arbesko.forms.validateText(form.question.val(),$.i18n._('Your Question').toLowerCase());if(valid_question){errors.push(valid_question);Arbesko.forms.insertError(form.question.parent(),valid_question);}
if(errors.length){self.displayError('Please correct the following errors:');self.reposition();}else{form_data={name:form.name.val(),email:form.email.val(),profession:form.profession.val(),company:form.company.val(),category:form.category.val(),question:form.question.val()};var loadingHTML=new Array('<div class="rounded notice">','<div class="nw"></div><div class="ne"></div><div class="sw"></div><div class="se"></div>','<p>Your question is being submitted...</p>','</div>');var successHTML=new Array('<p><strong>Thank you '+form_data.name+' for your question!</strong> It will not appear on the site until it has been approved by a moderator. Check back here to see when it is answered!</p>','<p><em>This window will automatically close in a few seconds.</em></p>');jQuery.ajax({url:Arbesko.globals.ajax_url,type:'POST',data:jQuery.extend(form_data,{action:'send_ask_arbesko_email'}),beforeSend:function(){self.buttons[1].fadeOut('fast');self.buttons[0].disable('Sending Message...');self.dialog_content.html(loadingHTML.join(''));self.reposition(100);},success:function(){self.dialog_footer.children('.buttons').fadeOut();self.dialog_content.html(successHTML.join(''));setTimeout(function(){self.close();},10000);},error:function(response){alert('An unknown error occurred. Please try again later, or contact us for assistance.');}});}}
return false;});}};Arbesko.AddedValue={init:function(){$('a.addedValue').each(function(index){var image=$(this).children('span.thumbnail').children('img');var d={h:image.height(),w:image.width()};image.css({marginTop:-(d.h/2),marginLeft:-(d.w/2)});image.fadeIn();$(this).hover(function(){image.animate({top:'40%'},{duration:'fast',easing:'easeOutElastic'});},function(){image.animate({top:'50%'},{duration:'fast',easing:'easeOutBounce'});});});}};Arbesko.Product={init:function(type){var self=this;self.initSearch();switch(type){case'main':self.initMain();break;case'browse':self.initBrowse();break;case'detail':self.initDetail();break;default:self.initMain();break;}},initMain:function(){$('a.toggleButton').bind('click',function(event){if(!$(this).hasClass('active')){var target_type=$(this).attr('class').split(' ')[1];var target_ul=$('ul.categoryList.'+target_type);$(this).addClass('active');$(this).siblings('a.active').removeClass('active');$('ul.categoryList').removeClass('active');target_ul.addClass('active');}
return false;});$('.bouncingGrid .gridItem').each(function(index){var image=$(this).children('img.gridItemThumbnail');var text=$(this).children('span.gridItemName');image.css({marginLeft:-(image.width()/2)});if($(this).parent().hasClass('centered'))
image.css({marginTop:-(image.height()/2)});image.fadeIn();var delta={on:null,off:null};if($(this).parent().hasClass('centered')){delta={on:{top:'40%'},off:{top:'50%'}};}else{var b=parseInt(image.css('bottom').split('px')[0],10);delta={on:{bottom:b+15},off:{bottom:b}};}
$(this).hover(function(){image.animate(delta.on,{duration:'fast',easing:'easeOutElastic'});text.fadeIn('fast');},function(){image.animate(delta.off,{duration:'fast',easing:'easeOutBounce'});text.fadeOut('fast');});});var ImageMenu=function(){var self=this,args=arguments;self.init.apply(self,args);};ImageMenu.prototype={options:function(){return{open_width:250};},init:function(items,options){var self=this;self.items=items;self.options=jQuery.extend(options,self.options());self.closed_width=$(items.get(0)).width();self.open_width=self.options.open_width;self.open_width_others=Math.floor(((self.closed_width*self.items.length)-self.open_width)/(self.items.length-1));self.items.parent().bind('mouseover',function(event){self.anim($(event.target));}).bind('mouseout',function(event){self.anim();});},anim:function(selected){var self=this;self.items.each(function(index){$(this).stop();});if(selected&&selected.hasClass('bgImage')){selected.parent().siblings().animate({width:self.open_width_others});selected.parent().animate({width:self.open_width}).children('.body').fadeIn();}else{self.items.each(function(index){$(this).animate({width:self.closed_width}).children('.body').fadeOut();});}}};new ImageMenu($('#audienceChooser').children('a.audience'));},initDetail:function(){$('#sizeChart-dialog').click(function(){new Dialog({title:$.i18n._('Size Chart'),content:new EJS({url:Arbesko.globals.media_url+'js/templates/size_chart.ejs'}).render({})});});$('.featureIcons .feature').each(function(index){var button=$(this),text=$(this).text();var tooltipContent=new Array('<span class="left"></span>','<span class="center">'+text+'</span>','<span class="right"></span>');var tooltip=$('<div/>').attr('class','tooltip').html(tooltipContent.join('')).appendTo(button);tooltip.css('left',-(tooltip.width()/2)+(button.width()/2));button.hover(function(){tooltip.fadeIn('fast');},function(){tooltip.fadeOut('fast');});});},initBrowse:function(){var self=this,expand_button=$('a.expandFeatures');original_expand_text=expand_button.text();expand_button.each(function(index){var list=$(this).parent().parent();secondary_items=$(this).parent().siblings('li.secondary');$(this).click(function(){if(list.hasClass('expanded')){list.removeClass('expanded');$(this).text(original_expand_text);secondary_items.each(function(index){$(this).slideUp();});}else{list.addClass('expanded');$(this).html('&#x25B4; '+$.i18n._('Hide Features')+' &#x25B4;');secondary_items.each(function(index){$(this).slideDown();});}
return false;});});var checklist=$('ul.featureChecklist');self.featureSaveNoticeShown=false;function displayFeatureSave(){if(self.featureSaveNoticeShown)return;var htmlContent=Array('<div class="rounded yellow notice reloadNotice">',Arbesko.ROUNDED_FILLER,Arbesko.ARROW_FILLER,'<p>When you\'re done choosing features click find products by your choices.</p>','<input style="margin-top: 5px" type="submit" value="Search With New Selection" />','</div>');checklist.before(htmlContent.join("\n"));self.featureSaveNoticeShown=true;}
checklist.children('li').each(function(index){var checkbox=$(this).children('label').children('input');checkbox.bind('click',function(event){displayFeatureSave();if($(this).attr('checked')){var li=$(this).parent().parent(),slug=li.attr('class').split(" ")[0];li.siblings().each(function(index){if($(this).hasClass(slug))
$(this).children('label').children('input').attr('checked','');});}});});},initSearch:function(){var SearchItem=function(){var self=this,args=arguments;self.init.apply(self,args);};SearchItem.prototype={init:function(obj){var self=this;for(val in obj){this[val]=obj[val];};},render:function(){var self=this;var content=Array('<span class="leftCap"></span>','<span class="name">'+self.n+'</span>','<span class="desc">'+self.d+'</span>','<span class="rightCap"></span>');var li=$('<li/>').addClass('result'),a=$('<a/>').attr('href',self.u).html(content.join(''));a.appendTo(li);li.bind('click',function(event){window.location=self.u;});self.button=a;self.row=li;return li;},select:function(){var self=this;self.row.addClass('selected');},unselect:function(){var self=this;self.row.removeClass('selected');},open:function(){var self=this;var iv=setInterval(function(){if(self.row.hasClass('selected')){self.unselect();}else{self.select();}},80);self.button.click();}};var Searcher=function(){var self=this,args=arguments;self.init.apply(self,args);};Searcher.prototype={FADE_SPEED:200,NO_RESULTS:'No results matched your search.',init:function(textbox,items,field,container){var self=this;self.textbox=$(textbox);self.container=$(container);self.results=$('#autoSearcherResults');self.quick_items=$.map(items,function(item,i){return item[field]+'';});self.items={};for(var i=0;i<items.length;i++){var item=items[i],key=item[field]+'';self.items[key]=new SearchItem(item);};self.textbox.bind('keyup',function(event){var keycode=event.which,input=$(this).val();if(keycode in oc(40,38,13)){self.navigateEvent(keycode);}else if(input.length&&(input!=="")){self.searchEvent(input);}else{self.closeMenu();}});self.textbox.bind('focus',function(event){var input=$(this).val();if(input&&(input!==""))self.searchEvent(input);});self.textbox.bind('blur',function(event){self.closeMenu();});},searchEvent:function(value){var self=this,scores=[],items=[];$(self.quick_items).each(function(i){var score=this.score(value);if(score>0){scores.push([score,i]);}});jQuery.each(scores.sort(function(a,b){return b[0]-a[0];}),function(){items.push(self.quick_items[this[1]]);});self.setCurrentItems(items);},navigateEvent:function(keycode){var self=this;switch(keycode){case 38:self.moveUp();break;case 40:self.moveDown();break;case 13:self.openSelectedItem();break;default:break;}},moveUp:function(){var self=this;if(self.currently_selected===0){return;}
var current=self.current_items[self.currently_selected],target=self.current_items[self.currently_selected-1];current.unselect();target.select();self.currently_selected--;},moveDown:function(){var self=this;if(self.currently_selected==self.currently_selected.length-1){return;}
var current=self.current_items[self.currently_selected],target=self.current_items[self.currently_selected+1];current.unselect();target.select();self.currently_selected++;},openSelectedItem:function(){var self=this;self.current_items[self.currently_selected].open();self.closeMenu();},closeMenu:function(){var self=this;setTimeout(function(){self.container.fadeOut(self.FADE_SPEED);},400);},setCurrentItems:function(items){var self=this;self.current_items=$.map(items,function(item,index){return self.items[item];});self.renderList();},renderList:function(){var self=this;self.results.empty();self.rendered=$.map(self.current_items,function(item,index){return item.render();});if(self.rendered.length){$.each(self.rendered.splice(0,10),function(index){self.results.append(this);});self.currently_selected=0;self.current_items[self.currently_selected].select();}else{self.results.append(self.showMessage(self.NO_RESULTS));}
self.container.fadeIn(self.FADE_SPEED);},showMessage:function(message){var self=this;return $('<li/>').addClass('message').text(message);}};var searcher=new Searcher('#product_search',ARBESKO.products,'m','#autoSearcherContainer');window.searcher=searcher;}};Arbesko.Contact={init:function(options){var self=this;self.options=options;self.init_accordion();self.init_map();$('a#openContactForm').bind('click',function(event){self.init_contactform($(this));return false;});},init_contactform:function(button){var self=this;var contentFormCategories=new Array();for(var i=0;i<self.options.category_choices.length;i++){var c=self.options.category_choices[i];contentFormCategories.push('<option value="'+i+'">'+c+'</option>');};var contentFormHTML=new Array('<p><strong>',$.i18n._('We love to hear from our customers, and welcome all questions, comments, and concerns that you might have.'),'</strong></p>','<p>'+$.i18n._('Please fill out the form below to write us')+':</p>','<div class="rounded">','<div class="nw"></div><div class="ne"></div><div class="sw"></div><div class="se"></div>','<form id="contactPopupForm">','<fieldset class="typeB">','<div class="field inputField">','<label>Your Name</label>','<div class="fieldWrapper">','<span class="cover"></span>','<input class="text" type="text" id="contactName" />','</div>','</div>','<div class="field inputField">','<label>Your Email</label>','<div class="fieldWrapper">','<span class="cover"></span>','<input class="text" type="text" id="contactEmail" />','</div>','</div>','<div class="field dropField">','<label>Category</label>','<div class="fieldWrapper">','<span class="cover"></span>','<span class="label">Please choose a category&hellip;</span>','<select name="some_name" id="contactCategory" size="1">','<optgroup label="Please choose a category&hellip;">',contentFormCategories.join(''),'</optgroup>','</select>','</div>','</div>','<div class="field textareaField">','<label>Message</label>','<div class="fieldWrapper">','<span class="cover top"></span>','<textarea name="contactMessage" id="contactMessage"></textarea>','<span class="cover bottom"></span>','</div>','</div>','</fieldset>','</form>','</div>');new Dialog({title:$.i18n._('Send Arbesko an Email'),content:contentFormHTML.join(''),buttons:[{label:new String('+Send Message'),callback:handleSend},{label:new String('-Cancel'),callback:function(button){this.close();}}],callback:function(){var self=this;$('#contactName').focus();Arbesko.initDropdown('#contactCategory');$('#contactPopupForm').bind('submit',function(event){self.buttons[0].click();return false;});}});function handleSend(button){var self=this;self.clearErrors();self.reposition();var form={name:self.dialog.find('#contactName'),email:self.dialog.find('#contactEmail'),category:self.dialog.find('#contactCategory'),message:self.dialog.find('#contactMessage')};var errors=new Array();var valid_name=Arbesko.forms.validateName(form.name.val());if(valid_name){errors.push(valid_name);Arbesko.forms.insertError(form.name.parent(),valid_name);}
var valid_email=Arbesko.forms.validateEmail(form.email.val());if(valid_email){errors.push(valid_email);Arbesko.forms.insertError(form.email.parent(),valid_email);}
var valid_message=Arbesko.forms.validateMessage(form.message.val());if(valid_message){errors.push(valid_message);Arbesko.forms.insertError(form.message.parent(),valid_message);}
if(errors.length){self.displayError('Please correct the following errors:');self.reposition();}else{form_data={name:form.name.val(),email:form.email.val(),category:form.category.val(),message:form.message.val()};var loadingHTML=new Array('<div class="rounded notice">','<div class="nw"></div><div class="ne"></div><div class="sw"></div><div class="se"></div>','<p>Your email message is being sent...</p>','</div>');var sentHTML=new Array('<p><strong>Thank you '+form_data.name+' for your message!</strong> It has been sent and you will receive a prompt reply at your address '+form_data.email+'.</p>','<p><em>This window will automatically close in a few seconds.</em></p>');jQuery.ajax({url:Arbesko.globals.ajax_url,type:'POST',data:jQuery.extend(form_data,{action:'send_contact_email'}),beforeSend:function(){self.buttons[1].fadeOut('fast');self.buttons[0].disable('Sending Message...');self.dialog_content.html(loadingHTML.join(''));self.reposition(100);},success:function(){self.dialog_footer.children('.buttons').fadeOut();self.dialog_content.html(sentHTML.join(''));setTimeout(function(){self.close();},5000);},error:function(response){alert('An unknown error occurred. Please try again later, or contact us for assistance.');}});}}},init_accordion:function(){var contact=this;window.currently_open=null;var Office=function(){var self=this,args=arguments;self.init.apply(self,args);};Office.prototype={init:function(office,index){var self=this;self.index=index;self.office=office;self.link=office.children('h4').children('a');self.link.bind('click',function(event){if(self.is_open()){return false;}
window.currently_expanded.collapse();self.expand();return false;});if(self.is_open())window.currently_expanded=self;},is_open:function(){var self=this;return(self.office.hasClass('expanded'))?true:false;},expand:function(){var self=this;contact.map.panTo(contact.options.offices[self.index].point);contact.map.setZoom(15);self.office.addClass('expanded');window.currently_expanded=self;},collapse:function(){var self=this;self.office.removeClass('expanded');}};$('.locationAccordion .location').each(function(index){new Office($(this),index);});},init_map:function(){var self=this;self.map=new google.maps.Map(document.getElementById("locationMap"),{zoom:5,mapTypeId:google.maps.MapTypeId.ROADMAP,scrollwheel:false,disableDefaultUI:true,mapTypeControl:false,navigationControl:false,navigationControlOptions:{style:google.maps.NavigationControlStyle.ZOOM_PAN}});self.bounds=new google.maps.LatLngBounds();for(var i=0;i<self.options.offices.length;i++){var office=self.options.offices[i];office.point=new google.maps.LatLng(parseFloat(office['lat']),parseFloat(office['lng']));self.bounds.extend(office.point);new google.maps.Marker({position:office.point,map:self.map,title:office.name,icon:new google.maps.MarkerImage('/wp-content/themes/arbesko/img/locator/officeSmallMarker.png')});};self.map.fitBounds(self.bounds);}};Arbesko.StoreLocator={init:function(options){var self=this;self.options=options;self.map=new google.maps.Map(document.getElementById("storeLocatorMap"),{center:new google.maps.LatLng(59.259665,15.199478),zoom:5,mapTypeId:google.maps.MapTypeId.ROADMAP,scrollwheel:false,disableDefaultUI:true,mapTypeControl:true,navigationControl:true,navigationControlOptions:{style:google.maps.NavigationControlStyle.ZOOM_PAN}});self.fluster=new Fluster2(self.map);self.fluster.styles={0:{image:'/wp-content/themes/arbesko/img/locator/blankMarker.png',textColor:'#FFFFFF',width:35,height:44}};self.geocoder=new google.maps.Geocoder();self.inputfield=$('#location_search');self.location_ul=$('ul.locations');self.form=$('#locationSearchForm');self.form.bind('submit',function(event){self.performSearch();return false;});self.inputfield.bind('focus',function(event){this.select();});if(self.options.query&&self.options.query!=''){self.performSearch(self.options.query);};self.preloadMarkers();},preloadMarkers:function(){var self=this;self.handleLocations(self.options.locations,'fluster');self.location_ul.empty();self.map.fitBounds(self.bounds);},performSearch:function(v){var self=this;var value=(v)?v:self.inputfield.val();self.fetchLocations(value);},fetchLocations:function(query){var self=this;$.ajax({url:Arbesko.globals.ajax_url,type:'GET',data:{action:'fetch_store_locations',query:query},dataType:'json',beforeSend:function(){self.clearLocations();self.startLoading();},complete:function(){self.doneLoading();},success:function(data){self.handleLocations(data);}});},clearLocations:function(){var self=this;if(typeof(self.locations)=='undefined')return;self.location_ul.empty();if(self.locations&&self.locations.length>0){while(self.locations.length>0){self.locations.shift().marker.setMap(null);}}},handleLocations:function(locations,type){var self=this,locator=this;self.locations=new Array();self.bounds=new google.maps.LatLngBounds();if(locations.length===0){alert('Sorry, no results matched your search. Please try again.');}
var Location=function(){var self=this,args=arguments;self.init.apply(self,args);};Location.prototype={init:function(location,map){var self=this;for(f in location){self[f]=location[f];}
self.map=map;self.id=self.ID;var ratings=['bronze','silver','gold'],random=Math.floor(3*Math.random());self.rating_class=(self.type=='retail')?'gold':'bronze';if(self.type=='office'){self.rating_class='office';}
self.point=new google.maps.LatLng(parseFloat(self.lat),parseFloat(self.lng));locator.bounds.extend(self.point);self.marker=new google.maps.Marker({position:self.point,title:self.name,zIndex:self.id,icon:new google.maps.MarkerImage('/wp-content/themes/arbesko/img/locator/'+self.rating_class+'SmallMarker.png')});google.maps.event.addListener(self.marker,'click',function(){self.target('map');});google.maps.event.addListener(self.marker,'mouseover',function(){self.sidebarItem().mouseover();});google.maps.event.addListener(self.marker,'mouseout',function(){self.sidebarItem().mouseout();});var infocontent=Array('<div class="locationInfo">','<span class="locName br">'+self.name+'</span>','<span class="locAddress br">',self.address+'<br/>'+self.zipcode+' '+self.city+' '+self.country,'</span>','<span class="locContact br">');if(self.phone){infocontent.push('<span class="item br locPhone">'+self.phone+'</span>');}
if(self.url){infocontent.push('<span class="item br locURL"><a href="http://'+self.url+'">Website</a></span>');}
if(self.email){infocontent.push('<span class="item br locEmail"><a href="mailto:'+self.email+'">Email</a></span>');}
infocontent.push('</span>');infocontent.push('<span class="item br locPosition"><strong>Lat:</strong> '+self.lat+'<br/><strong>Lng:</strong> '+self.lng+'</span>');self.infowindow=new google.maps.InfoWindow({content:infocontent.join(""),position:self.point,pixelOffset:new google.maps.Size(0,-15)});},addToMap:function(){var self=this;self.marker.setMap(self.map);},sidebarItem:function(){var self=this;if(self.sidebar){return self.sidebar;}
var li=$('<li/>').attr({'class':'location','id':'location-'+self.id}),name=$('<span/>').attr('class','locationName').html(self.name).appendTo(li),address=$('<span/>').attr('class','locationAddress').html(self.address+' <br/> '+self.zipcode+' '+self.city+' '+self.country).appendTo(li);li.addClass(self.rating_class);li.bind('click',function(event){self.target();});self.sidebar=li;return li;},target:function(type){var self=this;if(locator.targeted){locator.targeted.infowindow.close();}
locator.targeted=this;if(type!='map'){self.map.panTo(self.point);self.map.setZoom(14);};self.infowindow.open(self.map);}};self.fluster.clearMarkers();for(var i=0;i<locations.length;i++){var location=new Location(locations[i],self.map);self.locations.push(location);self.location_ul.append(location.sidebarItem());if(type&&type=='fluster'){self.fluster.addMarker(location.marker);}else{location.addToMap();};};self.fluster.initialize();},startLoading:function(){var self=this;$('#locationWelcome').each(function(index){$(this).animate({marginTop:-1000},1000,function(){$(this).remove();});});self.location_ul.addClass('loading');},doneLoading:function(){var self=this;self.location_ul.removeClass('loading');$('p.resultsMessage').slideDown();if(self.locations.length>0){self.map.fitBounds(self.bounds);}}};Arbesko.OrderCatalog={init:function(options){var self=order=this;self.catalogs=new Array();self.count=0;var Catalog=function(){var self=this,args=arguments;self.init.apply(self,args);};Catalog.prototype={init:function(catalog,index){var self=this;self.catalog=catalog;self.index=index;self.input=$(sprintf("input#catalog_value_%s",self.index));self.catalogMessage=catalog.children('span.catalogAddMessage');self.catalogCount=parseInt(self.catalogMessage.children('span').text().split(" ")[0],10);self.bindEvents();setTimeout(function(){self.checkForExisting();},300);},bindEvents:function(){var self=this;self.catalog.children('a.button').bind('click',function(event){if($(this).hasClass('addButton')){self.add();}else if($(this).hasClass('minusButton')){self.subtract();}
return false;});},checkForExisting:function(){var self=this;if(self.input.val()){self.catalogCount=parseInt(self.input.val(),10);self.updateMessage();}},add:function(){var self=this;self.catalogCount++;self.updateMessage();},subtract:function(){var self=this;if(self.catalogCount==0){return false;}
self.catalogCount--;self.updateMessage();},updateMessage:function(){var self=this;self.catalogMessage.children('span').text(sprintf($.i18n._("%s catalog%s"),self.catalogCount,self.catalogCount.pluralize('',$.i18n._('s'))));self.input.attr('value',self.catalogCount);order.updateCount();}};$('.catalogAdd').each(function(index){var c=new Catalog($(this),index);self.catalogs.push(c);});window.catalogs=self.catalogs;},updateCount:function(){var self=this;self.count=0;for(var i=0;i<self.catalogs.length;i++){self.count=self.count+self.catalogs[i].catalogCount;};var button=$('#catalog_order'),message;if(self.count>0){message=sprintf($.i18n._('Request %s Catalog%s'),self.count,self.count.pluralize('',$.i18n._('s')));button.removeClass('disabled');}else{message=$.i18n._("Request Catalog");button.addClass('disabled');}
button.children('span').text(message);}};function isArray(o){return Object.prototype.toString.call(o)==='[object Array]';}
function oc(args){var o={},a=(isArray(args))?args:arguments;for(var i=0;i<a.length;i++){o[a[i]]='';}
return o;}
function str_repeat(i,m){for(var o=[];m>0;o[--m]=i);return(o.join(''));}
function sprintf(){var i=0,a,f=arguments[i++],o=[],m,p,c,x;while(f){if(m=/^[^\x25]+/.exec(f))o.push(m[0]);else if(m=/^\x25{2}/.exec(f))o.push('%');else if(m=/^\x25(?:(\d+)\$)?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(f)){if(((a=arguments[m[1]||i++])==null)||(a==undefined))throw("Too few arguments.");if(/[^s]/.test(m[7])&&(typeof(a)!='number'))
throw("Expecting number but found "+typeof(a));switch(m[7]){case'b':a=a.toString(2);break;case'c':a=String.fromCharCode(a);break;case'd':a=parseInt(a,10);break;case'e':a=m[6]?a.toExponential(m[6]):a.toExponential();break;case'f':a=m[6]?parseFloat(a).toFixed(m[6]):parseFloat(a);break;case'o':a=a.toString(8);break;case's':a=((a=String(a))&&m[6]?a.substring(0,m[6]):a);break;case'u':a=Math.abs(a);break;case'x':a=a.toString(16);break;case'X':a=a.toString(16).toUpperCase();break;}
a=(/[def]/.test(m[7])&&m[2]&&a>0?'+'+a:a);c=m[3]?m[3]=='0'?'0':m[3].charAt(1):' ';x=m[5]-String(a).length;p=m[5]?str_repeat(c,x):'';o.push(m[4]?a+p:p+a);}
else throw("Huh ?!");f=f.substring(m[0].length);}
return o.join('');}
Number.prototype.pluralize=function(singular,plural){var a=(singular)?singular:'',b=(plural)?plural:'s';return(this==1)?a:b;};function browserLessThanIE8(){return(/MSIE ((5\\.5)|6|7)/.test(navigator.userAgent)&&navigator.platform=="Win32");}