$(document).ready(function() {
	/// MAIN NAVIGATION
    mainNavigationFunctionalities();

	/// FANCYBOX GALLERY
    fancyBoxFunctionalities();

    /// SIZE SWITCH
    sizeSwitchFunctionalities();

	/// CACHE KILLER
    addParameterToAvoidCache();

	/// EXPANDABLE PARAGRAPHS
    expandableParagraphFunctionalities();

});

function mainNavigationFunctionalities(){
    $("#l1Nav ul").superfish();
}



/* helper methods */

var siteFontSize = 0;

function sizeSwitchFunctionalities(){
    siteFontSize = $.cookie("site_size")*1;
    if(siteFontSize>0){resizeFontStyles();}
    var b = $("#sizeSwitch #big");
    var m = $("#sizeSwitch #medium");
    var s = $("#sizeSwitch #small");
    b.click(function(){switchStyle(2)});
    m.click(function(){switchStyle(1)});
    s.click(function(){switchStyle(0)});
}
function switchStyle(size){
    siteFontSize = size;
    resizeFontStyles();
    $.cookie("site_size",siteFontSize,{ expires: 30, path: "/"} );
}
function resizeFontStyles(){
    $('#mainContent').css("font-size",11+siteFontSize+"px");
    var b = $("#sizeSwitch .active").removeClass("active");
    switch(siteFontSize){
        case 0: $("#sizeSwitch #small").addClass("active"); break;
        case 1: $("#sizeSwitch #medium").addClass("active"); break;
        case 2: $("#sizeSwitch #big").addClass("active"); break;
    }

}


function expandableParagraphFunctionalities(){
    $("h4").click(function(){
        $(this).next().slideToggle();
    });
}

function fancyBoxFunctionalities(){
    $(".gallery a, a.fancyBox").fancybox({
        'padding'            : 0,
        'margin'            : 0,
        'overlayColor'		: '#7b7c7e',
        'overlayOpacity'	: 0.75,
        'titlePosition' 	: 'over'
    });
}

function addParameterToAvoidCache(){
/* 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)
    });
}

$.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];
  }
});
/* 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);
}
