ShoppingCard=function(wrap){var totalamount=0;var home=this;var wrapper=wrap;var button=wrap.find('.shoppingcardbutton');var closebutton=$("<p id='shoppingcard-closebutton'>Schliessen <strong>X</strong></p>");var container=wrap.find('.innerShoppingcard');var productAmount=0;var shippingConstraints;closebutton.click(function(){button.click();});container.before(closebutton);closebutton.addClass("hidden");container.slideUp(0);button.click(function(event){closebutton.toggleClass("hidden");$('#wrapper select').toggleClass("hidden");container.slideToggle('slow');event.preventDefault();});addLoader=function(obj){obj.append("<img id='preloader' src='images/layout/ajax-loader_big.gif' alt='' />");}
removeLoader=function(obj){obj.find('#preloader').remove();}
this.stepThree=function(){var agbForm=container.find('#shoppingcard-accept-agb');agbForm.submit(function(event){event.preventDefault();var dataString=$(this).serialize();$.ajax({cache:false,type:"POST",url:"inc/ajaxSwitch.php?ajax=shoppingbag",data:dataString,success:function(result){container.html(result).find('#error-header').fadeOut(0,function(){$(this).fadeIn(200);});},error:function(event,request,settings){alert("Fehler im Ajax Request");}});});container.find('a.previous-checkout-step').click(function(event){event.preventDefault();loadPage($(this));});container.find('.last-checkout-step').click(function(event){event.preventDefault();if(container.find('#accept_agb:checkbox').attr("checked")){agbForm.submit();}else{alert("Bitte lesen und akzeptieren sie unsere AGB.");}});}
this.stepTwo=function(){if(shippingConstraints==null){getShippingConstraints();}
appendFormValidation();appendSelectLoaders();container.find('a').each(function(){$(this).attr("class",$(this).attr("class").replace(/inactive-/,""));$(this).click(function(event){event.preventDefault();if($(this).attr("class").match(/next/)!=null){var link=$(this).attr("href").replace(/checkout_step=2/,"checkout_step=3");$(this).attr("href",link);container.find('form#shoppingcard-post-customer').submit();if(checkCustomerFields()){loadPage($(this));}}else{loadPage($(this));}});});}
var getShippingConstraints=function(){$.ajax({cache:true,async:false,type:"GET",url:"inc/ajaxSwitch.php?ajax=getShippingConstraints",dataType:"json",success:function(result){shippingConstraints=result;},error:function(){alert("fehler in der Abfrage");}});}
var removeButtons=function(){};var appendFormValidation=function(){container.find('form#shoppingcard-post-customer input').each(function(){$(this).change(function(){checkCustomerFields();});$(this).blur(function(){if($(this).val()==""){$(this).val("***");}});$(this).focus(function(){if($(this).val().match(/\*/)!=null){$(this).val("");}});});container.find('form#shoppingcard-post-customer').submit(function(event){event.preventDefault();if(checkCustomerFields()){var dataString=$(this).serialize()+"&customer_submit=true";$.ajax({cache:false,async:false,type:"POST",url:"inc/ajaxSwitch.php?ajax=shoppingbag",data:dataString,success:function(result){sendShippingForm(container.find('form#shoppingcard-post-shipping'));},error:function(event,request,settings){alert("Fehler im Ajax Request");}});}});};var sendShippingForm=function(carrier){var dataString=$(carrier).serialize()+"&shipping_submit=true";$.ajax({cache:false,async:false,type:"POST",url:"inc/ajaxSwitch.php?ajax=shoppingbag",data:dataString,success:function(result){container.html(result);},error:function(event,request,settings){alert("Fehler im Ajax Request");}});}
var checkCustomerFields=function(){var ERRORSTRING="***";var status=true;var temp=true;if(!(temp=container.find('#customer_postalcode').val().match(/[0-9]{4,}/)!=null)){$('#customer_postalcode').val(ERRORSTRING);}
status=status&&temp;if(!(temp=container.find('#customer_name').val().length>2&&$('#customer_name').val().match(/\*/)==null)){$('#customer_name').val(ERRORSTRING);}
status=status&&temp;if(!(temp=container.find('#customer_firstname').val().length>2&&$('#customer_firstname').val().match(/\*/)==null)){$('#customer_firstname').val(ERRORSTRING);}
status=status&&temp;if(!(temp=container.find('#customer_street').val().match(/[\w]{5,}/)!=null)){$('#customer_street').val(ERRORSTRING);}
status=status&&temp;if(!(temp=container.find('#customer_city').val().length>3)){$('#customer_city').val(ERRORSTRING);}
status=status&&temp;if(!(temp=container.find('#customer_email').val().match(/\w*\@\w*(\-)?\w*\.\w*/)!=null)){$('#customer_email').val(ERRORSTRING);}
status=status&&temp;if(!(temp=container.find('#customer_phone').val().match(/\d{2,3}\s?\d{2,3}\s?\d{2}\s?\d{2}/)!=null)){$('#customer_phone').val(ERRORSTRING);}
status=status&&temp;if(!status){if(container.find('#shoppingcard-customer-error').length==0){container.find('#customer_phone').parent().append($("<p id='shoppingcard-customer-error'>"
+"Bitte prüfen sie die mit "+ERRORSTRING+" ausgefüllten Felder.</p>").fadeIn('slow'));}else{container.find('#shoppingcard-customer-error').fadeIn('slow');}}else{container.find('#shoppingcard-customer-error').fadeOut('slow');}
return status};var appendSelectLoaders=function(){var selectShipping=$('form#shoppingcard-post-shipping select#shipping_options');var selectPayment=$('form#shoppingcard-post-shipping select#payment_options');var actualValue=selectPayment.val();var newHtmlCode=appendCorrespondingPaymentIds(actualValue);selectShipping.html(newHtmlCode);selectPayment.bind('change',function(event){var actualValue=$(this).val();var newHtmlCode=appendCorrespondingPaymentIds(actualValue);var selectShipping=$('form#shoppingcard-post-shipping select#shipping_options');selectShipping.html(newHtmlCode);});};var appendCorrespondingPaymentIds=function(id){var output=[];var htmlstring="";for(var entry in shippingConstraints['relations']){if(shippingConstraints['relations'][entry]['payment_option_id']==id){for(var entr in shippingConstraints['shippings']){if(shippingConstraints['relations'][entry]['shipping_option_id']==shippingConstraints['shippings'][entr]['shipping_option_id']&&(shippingConstraints['shippings'][entr]['max_border']>parseFloat(totalamount)||shippingConstraints['shippings'][entr]['max_border']===null)&&(parseInt(shippingConstraints['shippings'][entr]['min_border'])<parseFloat(totalamount)||shippingConstraints['shippings'][entr]['min_border']===null)){output.push(shippingConstraints['shippings'][entr]);htmlstring+="<option value='"+shippingConstraints['shippings'][entr]['shipping_option_id']+"'>";htmlstring+=shippingConstraints['shippings'][entr]['shipping_option_name'];htmlstring+=(shippingConstraints['shippings'][entr]['shipping_option_comment']!="")?" ("+shippingConstraints['shippings'][entr]['shipping_option_comment']+")</option>\n":"</option>\n"}}}}
return htmlstring;}
var appendAjax=function(){container.find('form.shoppingcard_refresh').each(function(){$(this).submit(function(event){event.preventDefault();refreshAmount($(this).serialize());});$(this).find('input.product-order-amount').change(function(event){event.preventDefault();if($(this).val()!=""){$(this).parent().parent().submit();}});});var deleteForms=container.find('form.shoppingcard_delete');deleteForms.submit(function(event){event.preventDefault();deleteProduct($(this));});container.find('a.next-checkout-step').click(function(event){event.preventDefault();loadPage($(this));});totalamount=container.find('td.total-amount').html();updateProductAmount();}
var deleteProduct=function(form){var dataString=form.serialize();var row=form.parent().parent();$.ajax({cache:false,type:"POST",url:"inc/ajaxSwitch.php?ajax=shoppingbag",data:dataString,success:function(result){var newamount=$(result).find('td.total-amount').html();totalamount=newamount;row.fadeOut(300,function(event){$(this).remove();updateProductAmount();container.find('td.total-amount').html(newamount);});},error:function(event,request,settings){alert("Fehler im Ajax Request");}});}
var refreshAmount=function(dataString){$.ajax({cache:false,type:"POST",url:"inc/ajaxSwitch.php?ajax=shoppingbag",data:dataString,success:function(result){container.html(result);},error:function(event,request,settings){alert("Fehler im Ajax Request");}});}
var loadPage=function(link){var loadAttributes=link.attr("href").split("?")[1];if(loadAttributes!=""){addLoader(container);$.ajax({cache:false,type:"GET",url:"inc/ajaxSwitch.php?"+loadAttributes+"&ajax=shoppingbag",success:function(result){container.fadeOut(200,function(){container.html(result);removeLoader(container);container.fadeIn(200);});},error:function(event){alert("Fehler im Ajax Request!");}});}}
var loadBag=function(){var link="inc/ajaxSwitch.php?ajax=shoppingbag";$.ajax({cache:false,type:"GET",url:link,success:function(result){container.html(result);container.slideUp(0);},error:function(event,request,settings){alert("Fehler im Ajax Request");}});}
var updateProductAmount=function(){var amount=container.find("form.shoppingcard_delete").length;var newtext=button.html().replace(/\(\d*\)/,"("+amount+")");button.html(newtext);}
this.toShoppingbag=function(confirmer){var dataString=$('#toShoppingbagForm').serialize();addLoader(button);$.ajax({cache:false,type:"POST",url:"inc/ajaxSwitch.php?ajax=shoppingbag",data:dataString,success:function(result){removeLoader(button);if(confirmer.find("#shoppingbag-confirmer").length==0){confirmer.append($("<p id='to-shoppingbag-confirmer'>Das Produkt wurde ihrem Warenkorb hinzugefügt.</p>").fadeIn('slow'));}
container.html(result);appendAjax();},error:function(event,request,settings){alert("Fehler im Ajax Request");}});}
this.getContainer=function(){return container;}
this.appendAjax=function(){appendAjax();}
loadBag();}
function SearchFormCheck(obj){var home=this;var domRepresentant=obj;var submitButton;var searchField;this.initialize=function(){submitButton=obj.find('button');searchField=obj.find('.simpleinput');this.appendFunctionalities();}
this.appendFunctionalities=function(){submitButton.click(function(event){var input=searchField.val();if(input==""||input.length<=2||input=="Eingabe zu kurz!"){event.preventDefault();searchField.css("color","#F00");searchField.val("Eingabe zu kurz!");}});searchField.bind('click',function(event){searchField.attr("style","");searchField.val("");});}
this.initialize();}
function ProductSlider(obj,step,time){var home=this;this.time=time;this.step=step;this.container=obj;this.fullyLoaded=false;this.ajaxRuns=false;this.sliderRuns=false;this.slideContainer=null;this.buttonRight=null;this.buttonLeft=null;this.products=null;this.initialize=function(){this.slideContainer=this.container.children(".clipper").children(".slider");this.buttonLeft=this.container.children(".button-left");this.buttonRight=this.container.children(".button-right");this.products=$('.product a');this.appendFunctionalities();}
this.getWidth=function(obj,par){switch(par){case'all':default:return obj.children(".matrix").length*obj.children(".matrix").width();break;case'single':return obj.children(".matrix").width();break;}}
this.setAjaxRunning=function(status){this.ajaxRuns=status;}
this.setSliderRunning=function(status){this.sliderRuns=status;}
this.setFullyLoaded=function(status){this.fullyLoaded=status;}
this.appendFunctionalities=function(){this.addSlide(this.buttonRight,this.step);this.addSlide(this.buttonLeft,-this.step);this.ajaxLoadNext(this.buttonRight,1);this.products.bind('click',function(event){event.preventDefault();home.showDetail($(this));});this.buttonRight.bind('click',function(){home.ajaxLoadNext(home.buttonRight,1);});this.checkActivity();}
this.addLoader=function(obj){obj.append("<img id='preloader' src='images/layout/ajax-loader_big.gif' alt='' />");}
this.removeLoader=function(obj){obj.find('#preloader').remove();}
this.checkActivity=function(){var fullwidth=this.getWidth(this.slideContainer);var slidermargin=parseInt(this.slideContainer.css("margin-left"));if(slidermargin>=0){this.deactivate(this.buttonLeft);}else{this.addSlide(this.buttonLeft,-Math.abs(this.step));}
if(slidermargin<=this.getWidth(this.slideContainer,'single')-fullwidth){this.deactivate(this.buttonRight);}else{this.addSlide(this.buttonRight,Math.abs(this.step));}}
this.deactivate=function(button){button.addClass("inactive");button.unbind('click',home.slide);}
this.slide=function(step){var offset=parseInt(home.slideContainer.css("margin-left"));var move=step.data;if(!home.sliderRuns){home.setSliderRunning(true);home.slideContainer.animate({marginLeft:(offset-move)},{duration:home.time,complete:function(){home.setSliderRunning(false);home.checkActivity();}});}}
this.addSlide=function(obj,step){obj.removeClass("inactive");obj.click(function(event){event.preventDefault();});obj.bind('click',step,this.slide);}
this.getLinkVars=function(link){if(link!=""){var fragments=link.split("?");return"?"+fragments[1];}else{return link;}}
this.actualizeLink=function(obj,result){var link=obj.attr("href");var className=obj.attr("className").split(" ")[0];var newlink=$(result).find("."+className).attr("href");obj.attr("href",newlink);}
this.processResult=function(result,st){var container=$(result.toString());var matrizen=container.find(".matrix");if(matrizen.children().length>0){if(st>0){home.slideContainer.append(matrizen);var matrixamount=home.slideContainer.find(".matrix");home.slideContainer.width(matrixamount.length*home.step);}else{home.slideContainer.prepend(matrizen);}
return false}
return true;}
this.detailBack=function(obj){try{obj.fadeOut("def",function(event){$(this).remove();home.container.fadeIn("def");});}catch(exception){}}
this.showDetail=function(obj){var alink="inc/ajaxSwitch.php"+this.getLinkVars(obj.attr("href"))+"&ajax=productdetail";var objekt=obj;if(!home.ajaxRuns){home.addLoader(obj);home.setAjaxRunning(true);$.ajax({cache:false,type:"GET",url:alink,success:function(result){var resultat=$(result);resultat.css("display","none");home.container.fadeOut("def",function(){home.container.after(resultat);resultat.fadeIn("def",function(){resultat.find(".backlink").bind('click',function(event){event.preventDefault();home.detailBack(resultat);});home.setAjaxRunning(false);home.removeLoader(obj);});});},error:function(event,request,settings){alert("Fehler im Ajax Request");home.setAjaxRunning(false);}});}}
this.ajaxLoadNext=function(obj,step){if(!home.ajaxRuns){home.setAjaxRunning(true);var ob=obj;var st=step;var link=this.getLinkVars(ob.attr("href"));if(link!=""&&(!home.fullyLoaded)){home.addLoader(obj);var alink="inc/ajaxSwitch.php"+link+"&ajax=productsite";$.ajax({cache:false,type:"GET",url:alink,success:function(result){home.setFullyLoaded(home.processResult(result,st));home.setAjaxRunning(false);home.actualizeLink(ob,result);home.removeLoader(obj);home.products=$('.product a');home.products.unbind('click');home.products.bind('click',function(event){event.preventDefault();home.showDetail($(this));});home.checkActivity();},error:function(result){alert("Fehler im Ajax Request");home.setAjaxRunning(false);}});}else{home.setAjaxRunning(false);}}}
this.initialize();}
