/* decryp addresses*/
function dcmadr(nnnn){
    var a = "";
    for(i=0,m=nnnn.length;i < m;i++){
        if(i%3==0){
            a += String.fromCharCode(nnnn.substr(i, 3));
        }
    }
    location.href=(a);
}
function showHideDetail(_id){
    $("#"+_id).slideToggle();
}

/* search box */
function removeDefault(formField, value){
    if(formField.value == value){
        formField.value = "";
    }
    formField.style.color = "#000";
}
function resetDefault(formField, value){
    if(formField.value == ""){
        formField.value = value;
        formField.style.color = "#888";
    }
}
function checkSearchBox(ff,st,eft){
    var t = ff.search.value;
    if(t == ''||t==st){
        alert(eft);
        ff.search.focus();
        ff.search.select();
        return false;
    }
}

/* basket & co. */

var currentLanguage = "de";
function setCurrentLanguage(l){
    currentLanguage = l;
}
var basePath  = "/";
function setBasePath(p){
    basePath = p;
    shop_basketScriptPath = basePath+"custom/shop/baskethandling.jsp";
}
var shop_basketScriptPath = basePath+"custom/shop/baskethandling.jsp";

var shop_grandtotal = 0;
var shop_nettotal = 0;
var shop_currencyString = "CHF";

var basketGlueStrings=new Array("Warenkorb","Artikel wurde in den Warenkorb gelegt.","Artikel im Warenkorb","Totalbetrag","[x] entfernen", "Keine Artikel im Warenkorb","&raquo; Bestellen");
function setBasketGlueStrings(){
     for (var i = 0; i < arguments.length;  i++) {
         basketGlueStrings[i] = arguments[i];
    }
}

function addOrderItemToBasket(tid){
    var $f = $("#product_qty_"+tid);
    var n = "lang_"+tid.substring(2);
    var l = $("input[name="+n+"]:checked").val();
    var amount = $f.val();
    $.jGrowl(basketGlueStrings[1], {header: basketGlueStrings[0]});
    $.get(shop_basketScriptPath+"?cmd=ab&itemid="+tid+"&prodLang="+l+"&amount="+amount+"&lang="+currentLanguage+"&ck="+new Date().getTime(),function(data){
        var myObject = eval('(' + data + ')');
        /* reset shop form */
        $f.val(1);
        displayShoppingBag(myObject);
    });
    return false;
}
function displayShoppingBag(myObject){
    if(myObject!=undefined && myObject['countitems']>0){
        var content = myObject['countitems']+" "+basketGlueStrings[2];
        if(basketGlueStrings[3].length>0){content+=     "<br/>"+basketGlueStrings[3]+":"};
        content+=     "<span class=\"totalprice_low\">"+shop_currencyString+" "+myObject['totalprice_low']+"</span>";
        content+=     "<span class=\"totalprice_high\">"+shop_currencyString+" "+myObject['totalprice_high']+"</span>";
        if(basketGlueStrings[6].length>0){content+="<span class=\"basket_display_order\">"+basketGlueStrings[6]+"</span>";}
        $("#basket_display").css("display", "block");
        $("#basket_display").html(content);
    }else{
        $("#basket_display").css("display", "none");
        $("#basket_display").html("");
    }
    var priceKey = (myObject['priceKey'])*1;
    if(priceKey>0){
        var $l = $(".price_low");
        var $h = $(".price_high");
        var $tl = $(".totalprice_low");
        var $th = $(".totalprice_high");
        $(".price_divider").css("display", "none");
        if(priceKey==1){$l.css("visibility","inline");$tl.css("visibility","block");$h.css("display","none");$th.css("display","none");}
        if(priceKey==2){$l.css("display","none");$tl.css("display","none");$h.css("display","inline");$th.css("display","block");}
        $(".priceKey").each(function(){
            if(priceKey == $(this).val()){$(this).attr("checked", "checked");}
        });
    }
}
function getAndDisplayBasketDetails(){
    /* get info from basket handling */
    $.get(shop_basketScriptPath+"?cmd=gt&ck="+new Date().getTime(),function(data){
        var myObject = eval('(' + data + ')');
        displayShoppingBag(myObject);
    });

}
function createFormOutput(fieldName){
    $.get(shop_basketScriptPath+"?cmd=gfl&fn="+fieldName+"&rt="+basketGlueStrings[4]+"&ck="+new Date().getTime(),function(data){
        var myObject = eval('(' + data + ')');//eval(data);
        displayFormBasket(myObject);
    });
}
function removeBasketItem(id,fieldName){
    $.get(shop_basketScriptPath+"?cmd=rm&id="+id+"&fn="+fieldName+"&rt="+basketGlueStrings[4]+"&ck="+new Date().getTime(),function(data){
        var myObject = eval('(' + data + ')');//eval(data);
        displayShoppingBag(myObject);
        displayFormBasket(myObject);
    });
}
function displayFormBasket(myObject){
    var c = myObject['basket'];
    if(c=='<ul></ul><input type="hidden" name="field_0" value="" />'){
        c=basketGlueStrings[5]+c;
    }
    $("#form_basketlist").html(c);
}

function setPriceKey(priceKey){
    $.get(shop_basketScriptPath+"?cmd=spk&pk="+priceKey+"&ck="+new Date().getTime(),function(data){
        getAndDisplayBasketDetails();
        var fn = $("#form_basketlist").attr("title");
        createFormOutput(fn);

    });
}

function secureCorrectInput(f){
    var $f = $("#"+f);
    var v = $f.val();
    v = v.replace(/[^0-9]/g, '');
    if(v>1000){v=1000;}
    $f.val(v);
}



/* executed when document is loaded */
$(document).ready(function(){
    // FANCYBOX
    $("a.fancyBox").fancybox({    
            'showCloseButton': true,
            'overlayColor': "#000",
            'overlayOpacity': 0.7,
            'titlePosition': 'inside'
        });
    // TOOLTIP
    $(".priceinfo").tooltip({
        effect: 'slide',
        relative: 'true',
        position: 'top left',
        offset: [15, 45],
        opacity: 0.96
     }).dynamic({ bottom: { direction: 'down', bounce: true } });


    jQuery('#l1Nav ul').superfish({
        delay:       500,                            // one second delay on mouseout
        animation:   {height:'show'},  // fade-in and slide-down animation
        speed:       'fast',                          // faster animation speed
        autoArrows:  false                           // disable generation of arrow mark-up
    });

    $("#l1Nav ul li").mouseenter(function(){
      $(".imgNavInact",this).fadeOut("fast");
    }).mouseleave(function(){
        $(".imgNavInact",this).fadeIn("fast");
    });
    $(window).resize(function() {
        var ww = $(window).width();
        var mww = $("#mainWrap").width();
        var $b = $("body");
        if(ww<=mww){$b.css("background-position", "left 190px");}else{$b.css("background-position", "center 190px");}
    });
    /* append url parameter to avoid mgnl cache */
    $(".kclink").each(function(){
        var $l = $(this).attr("href");
        if($l.indexOf("?")==-1){
            $l+="?";
        }else{
            $l+="&";
        }
        $l+="kc"+new Date().getTime();
        $(this).attr("href", $l)
    });
    /* focus on linked products */
    if($.getUrlVar("prodId")!=undefined){
        var $d = $("#"+$.getUrlVar("prodId"));
        $d.css("background-color", "#EDE7D3");
        var t = $d.offset().top;
        if(t>$(window).height()-$d.height()){
            $.scrollTo(t-20, 800);
        }
    }
    /* focus on text image paragraphs */
    if($.getUrlVar("detailId")!=undefined){
        var $d = $("#"+$.getUrlVar("detailId"));
        $d.css("background-color", "#EDE7D3");
        var t = $d.offset().top;
        if(t>$(window).height()-$d.height()){
            $.scrollTo(t-20, 800);
        }
    }
    /* auto focus on input fields */
    $("input.text").mouseover(function(){this.focus();this.select();});
    $("textarea").mouseover(function(){this.focus();this.select();});
    /* hide empty subnavigation */
//    $("#l2Nav ul:not(:has(li))").hide();
    $(".parallelSession h6").click(function(){
        $(".hiddenDetail", $(this).parent()).slideToggle();
    }).css("cursor","pointer");

    parallelSessionLinks();
});

/* helper methods */

function parallelSessionLinks(){
    $('.allExternal a').click(function(){
        window.open(this.href);
        return false;
    });
}

Array.prototype.shuffle = function( b ) {
 var i = this.length, j, t;
 while( i ) {
  j = Math.floor( ( i-- ) * Math.random() );
  t = b && typeof this[i].shuffle!=='undefined' ? this[i].shuffle() : this[i];
  this[i] = this[j];
  this[j] = t;
 }
 return this;
};
function get_radio_value(formhandle){
    var r = "";
    for (var i=0; i < formhandle.length; i++){
        if (formhandle[i].checked){
            r = formhandle[i].value;
        }
    }
    return r;
}
$.extend({
  getUrlVars: function(){
    var vars = [], hash;
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
      hash = hashes[i].split('=');
      vars.push(hash[0]);
      vars[hash[0]] = hash[1];
    }
    return vars;
  },
  getUrlVar: function(name){
    return $.getUrlVars()[name];
  }
});
