var isle=$('categorytree');var childs=isle.select('div');for(var index=0,len=childs.length;index<len;++index){var item=childs[index];item.observe('click',treeEntryClicked);}
function log(msg){if(window.console&&console.log){console.log(msg);}}
function treeEntryClicked(event)
{var ee=Event.element(event);if(ee.tagName=='A'||ee.tagName=='a'||ee.tagName=='SPAN'||ee.TagName=='span')
{return true;}
Event.stop(event);var e=ee.up('li').down('div');var id=e.down('a').readAttribute('id');id=id.substring(id.indexOf('_')+1);var next=e.nextSiblings();if(next[0]&&next[0].nodeName=='OL')
{e.removeClassName('treeicon_minus');e.addClassName('treeicon_plus');next[0].remove();}
else
{e.addClassName('treeicon_loading');new Ajax.Request('/tree.php',{method:'get',requestHeaders:{Accept:'application/json'},parameters:{category:id},onSuccess:function(transport){var json=transport.responseText.evalJSON(true);var target=$($('catlink_'+json.id).parentNode);target.removeClassName('treeicon_loading');var level=-1;$(target.parentNode).classNames().each(function(name,index){var loc=name.indexOf('level_');if(loc!=-1)
{level=parseInt(name.substring(loc+6));++level;}});if(json.childs.length>0)
{target.removeClassName('treeicon_plus');target.removeClassName('treeicon_arrow');target.addClassName('treeicon_minus');var ol=new Element('ol');for(var i=0;i<json.childs.length;++i)
{var el=json.childs[i];var treeicon=(el.ccount>0)?'treeicon_plus':'treeicon_arrow';var isactive=(parseInt(el.is_active)>0)?' cat_is_active':'';var level_isactive=(parseInt(el.is_active)>0)?'level_'+level+'_active':'';var li=new Element('li');li.addClassName('categorielisting');li.addClassName('level_'+level);li.addClassName(isactive);li.addClassName(level_isactive);var div=new Element('div');div.addClassName(treeicon);var icon=new Element('div');icon.addClassName("icon");div.insert(icon);var a=new Element('a',{id:'catlink_'+el.id,href:el.link});a.addClassName(isactive);div.insert(a);a.update(el.name);li.insert(div);div.observe('click',treeEntryClicked);ol.insert(li);}
$(target.parentNode).insert(ol);}
else
{}},onFailure:function(){alert('Something went wrong...')}});}};Event.observe(window,'load',function(){var hovers=$$('.hoverfix');for(var index=0,len=hovers.length;index<len;++index){var item=hovers[index];item.removeClassName('hoverfix');item.observe('mouseover',toggleHover);item.observe('mouseout',toggleHover);}})
function toggleHover(event){this.toggleClassName('hover');};preload_images();var pe=new PeriodicalExecuter(start_effects,5);function setMessage(m)
{$('slide_anker_image').innerHTML=m;}
function clearMessage()
{setMessage('&nbsp;');}
function preload_images()
{if(document.images)
{preload_image_object=new Image();for(var i=0;i<r_images.length;i++){preload_image_object.src=r_images[i][0];}}}
function start_effects()
{Effect.Fade($('slide_anker_image'),{duration:1,from:1,to:0.001,afterFinish:switch_img});Effect.Fade($('slide_anker_text'),{duration:1,from:1,to:0.001});}
function switch_img()
{idx++;$('slide_anker_image').style.backgroundImage='url(\''+r_images[idx%r_images.length][0]+'\')';$('slide_anker_image').href=r_images[idx%r_images.length][1];$('slide_anker_text').href=r_images[idx%r_images.length][1];$('products_show_price').innerHTML=r_images[idx%r_images.length][2];$('products_show_model').innerHTML=r_images[idx%r_images.length][3];$('products_show_name').innerHTML=r_images[idx%r_images.length][4];Effect.Appear($('slide_anker_image'),{duration:1,from:0,to:1});Effect.Appear($('slide_anker_text'),{duration:1,from:0,to:1});};Ajax.AddToCardButton=Class.create({initialize:function(element,indicator,options){element=$(element);indicator=$(indicator);this.element=element;this.indicator=indicator;this.form=this.element.up("form");this.onSuccess=this.onSuccess.bind(this);if(this.setOptions)
this.setOptions(options);else
this.options=options||{};Event.observe(this.element,"click",this.onClick.bindAsEventListener(this));},onClick:function(event){Event.stop(event);new Ajax.Request(this.form.readAttribute('action')+'&ajax',{method:'post',parameters:this.form.serialize(true),onSuccess:this.onSuccess});},onSuccess:function(transport){if(!transport.responseJSON)
{alert("Fehler!");return;}
data=transport.responseJSON;try{console.log("count: ",data.count,"; total: ",data.total);}
catch(e){}
counter=this.indicator.select("span.count")[0];counter.update(data.count);new Effect.Pulsate(this.indicator,{pulses:5,duration:1.5});new Effect.Highlight(this.indicator);}});Ajax.KnucklesAutocompleter=Class.create();Object.extend(Object.extend(Ajax.KnucklesAutocompleter.prototype,Autocompleter.Base.prototype),{initialize:function(element,update,url,options){this.baseInitialize(element,update,options);this.options.asynchronous=true;this.options.onClick=this.onClick.bind(this);this.options.onBlur=this.onBlur.bind(this);this.options.onComplete=this.onComplete.bind(this);this.options.onKeyPress=this.onKeyPress.bind(this);this.options.defaultParams=this.options.parameters||null;this.url=url;this.mouseOutTimeout=-1;this.onGlobalMouseMove=this.onGlobalMouseMove.bindAsEventListener(this);Event.observe(this.element,'focus',function(){if(!this._cleared)
{this._cleared=true
this.clear();}});},show:function(){try{if(Element.getStyle(this.update,'display')=='none')this.options.onShow(this.element,this.update);}
catch(e){this.options.onShow(this.element,this.update);}
if(!this.iefix&&(Prototype.Browser.IE)&&(Element.getStyle(this.update,'position')=='absolute')){new Insertion.After(this.update,'<iframe id="'+this.update.id+'_iefix" '+'style="display:none;position:absolute;filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);" '+'src="javascript:false;" frameborder="0" scrolling="no"></iframe>');this.iefix=$(this.update.id+'_iefix');}
if(this.iefix)setTimeout(this.fixIEOverlapping.bind(this),50);},onBlur:function(event){},onClick:function(event){var element=Event.findElement(event,'LI');this.index=element.autocompleteIndex;},onComplete:function(request){this.updateChoices(request.responseText);},onKeyPress:function(event){if(this.active)
switch(event.keyCode){case Event.KEY_TAB:case Event.KEY_RETURN:this.element.up("form").submit();Event.stop(event);case Event.KEY_ESC:this.hide();this.active=false;Event.stop(event);return;case Event.KEY_LEFT:case Event.KEY_RIGHT:return;case Event.KEY_UP:this.markPrevious();this.render();Event.stop(event);return;case Event.KEY_DOWN:this.markNext();this.render();Event.stop(event);return;}
else
if(event.keyCode==Event.KEY_TAB||event.keyCode==Event.KEY_RETURN||(Prototype.Browser.WebKit>0&&event.keyCode==0))
return;this.changed=true;this.hasFocus=true;if(this.observer)clearTimeout(this.observer);this.observer=setTimeout(this.onObserverEvent.bind(this),this.options.frequency*1000);},getUpdatedChoices:function(){this.startIndicator();var entry=encodeURIComponent(this.options.paramName)+'='+
encodeURIComponent(this.getToken());this.options.parameters=this.options.callback?this.options.callback(this.element,entry):entry;if(this.options.defaultParams)
this.options.parameters+='&'+this.options.defaultParams;new Ajax.Request(this.url,this.options);Event.observe($(document),'mousemove',this.onGlobalMouseMove);},onGlobalMouseMove:function(event){if(!this.active)
return;idx=this.update.descendants().indexOf(event.element());if(!(idx!=-1||event.element()==this.element)&&this.mouseOutTimeout==-1)
this.mouseOutTimeout=setTimeout(this.hide2.bind(this),1500);else if((idx!=-1||event.element()==this.element)&&this.mouseOutTimeout!=-1)
{clearTimeout(this.mouseOutTimeout);this.mouseOutTimeout=-1;}},hide2:function(){if(!this.active)
return;try{console.log("mouse moved out for some time -> will hide...");}
catch(e){}
Event.stopObserving($(document),'mousemove',this.onGlobalMouseMove);this.active=false;this.hasFocus=false;this.hide();},addObservers:function(element){Event.observe(element,"mouseover",this.onHover.bindAsEventListener(this));Event.observe(element,"click",this.onClick.bindAsEventListener(this));new Ajax.AddToCardButton(element.select('form.ajax_addToCart input[type="image"]')[0],$("card_indicator"));}});new Ajax.KnucklesAutocompleter("autocomplete","autocomplete_choices","/matchcode.php",{paramName:"expression",minChars:2,select:"suggest_pname",onShow:function(element,update){if(!update.style.position||update.style.position=='absolute'){update.style.position='absolute';Position.clone(element,update,{setHeight:false,offsetTop:element.offsetHeight,offsetLeft:-1*(update.getWidth()-element.getWidth())});}
Effect.Appear(update,{duration:0.2});}});Ajax.Responders.register({onCreate:function(event){$("ajax_loadbar").show();},onComplete:function(event){$("ajax_loadbar").fade();}});;ConditionalSubmit=Class.create({initialize:function(submit,checkbox){submit=$(submit);checkbox=$(checkbox);this.submit=submit;this.checkbox=checkbox;this.submit.addClassName("TermsAgreeMustBeChecked");Event.observe(this.submit,"mouseover",this.submitMouseOver.bindAsEventListener(this));Event.observe(this.submit.up("form"),"submit",this.submitForm.bindAsEventListener(this));Event.observe(this.checkbox,"click",this.onCheckboxChange.bindAsEventListener(this));},onCheckboxChange:function(event){if(this.checkbox.checked)
this.submit.removeClassName("TermsAgreeMustBeChecked");else
this.submit.addClassName("TermsAgreeMustBeChecked");},submitMouseOver:function(event){if(!this.checkbox.checked)
{new Effect.Pulsate($(this.checkbox.parentNode),{pulses:5,duration:1.5,afterFinish:function(e){e.element.setOpacity(1);}});new Effect.Highlight($(this.checkbox.parentNode),{startcolor:"#ff0000",endcolor:"#ffffff",restorecolor:"#ffffff"});}},submitForm:function(event){if(!this.checkbox.checked)
Event.stop(event);}});if($("TheSubmitButton")&&$("TermsAgree"))
new ConditionalSubmit($("TheSubmitButton"),$("TermsAgree"));
