﻿function setCSSSize(size) {

    $.cookie('fontSize', size);
    
    // full page zoom
    // IE, OPERA?
    if (document.body.style.zoom) {
        switch(size) {
            case "med":
                document.body.style.zoom = 1.2;
            break;
            
            case "big":
                document.body.style.zoom = 1.4;
            break;
            
            case "default":
            case "small":
            default:
                document.body.style.zoom = 1;
            break;
        }
        return;
    }
		
	// css zoom
	// text only
    switch (size) {               
        case "med":
            var cssLocation = "fileadmin/templates/css/screen/content_med.css";
        break;
        
        case "big":
            var cssLocation = "fileadmin/templates/css/screen/content_big.css";
        break;
        
        case "default":
        case "small":
        default:
            var cssLocation = "fileadmin/templates/css/screen/content.css";
        break;
    
    }
		
	if (document.createStyleSheet) {
	    // CSS für Mozilla, Netscape, Opera nachladen
	    document.createStyleSheet(cssLocation);    
    } else {
        var objStyle = document.createElement("style");
        var objText = document.createTextNode("@import url("+cssLocation+") screen;");
        objStyle.appendChild(objText);
        document.getElementsByTagName("body")[0].appendChild(objStyle);
    }		
}



$(document).ready(function() {
    // expose the form when it's clicked or cursor is focused 
    $('#searchform').bind('click keydown focus', function() { 
         exposeSearchForm();
    });
    $('#searchinput').bind('click keydown focus', function() { 
         exposeSearchForm();
    });
    $('[name=searchoption]').bind('click', function() { 
         exposeSearchForm();
    });
    
    
    
    if ($("a.lightbox").length)
        $("a.lightbox").fancybox({
            'zoomSpeedIn': 300,
            'zoomSpeedOut': 300,
            'overlayShow': true,
            'overlayColor': '#000',
            'overlayOpacity': 0.8
        });
    
    
    if ($('#sm').length) {        
        slideMenu.build('sm',285,10,10,1);
    }
    
    
    if ($.cookie('fontSize')) setCSSSize($.cookie('fontSize'));
    
    
});
var mask = null;
function exposeSearchForm() {
    $('#searchform').expose({ 
        onBeforeLoad: function() { 
            $('#searchinput').val('');                        
            $('#searchpanelfunc').slideDown(100);  
            if ($.browser.msie) {
                if (!mask) {
                mask = $('<div/>').css({				
						position:'absolute', 
						top:0, 
						left:0,
						width: '100%',
						height: '100%',
						opacity:0.8,
						zIndex:9997	
					});											
				$("#header").append(mask);	
				mask.css("backgroundColor", '#000');	
				}
				mask.fadeIn(100);
            }
        }, 
        onBeforeClose: function() { 
            if ($('#searchinput').val() == '') $('#searchinput').val('FINDEN');
            $('#searchpanelfunc').slideUp(100);
            if ($.browser.msie && mask) mask.fadeOut(100);
        }, 
        color: '#000',
        loadSpeed: '100'/*,
        opacity: ($.browser.msie) ? 0 : 0.8*/
    }).load();

    if ($('[name=searchoption]:checked').val() == 'opac') {
        $('#searchpanelfunc .float_right').show(100);
    } else {
        $('#searchpanelfunc .float_right').hide(100);        
    }    
}

function searchSubmit() {
    if ($('[name=searchoption]:checked').val() == 'site') {
        document.searchform.target = "_top";
    }
}


/*
 * http://www.leigeber.com/2008/05/horizontal-javascript-accordion-menu/
 */
var slideMenu=function(){
	var sp,st,t,m,sa,l,w,sw,ot;
	return{
		build:function(sm,sw,mt,s,sl,h){
			sp=s; st=sw; t=mt;
			m=document.getElementById(sm);
			sa=m.getElementsByTagName('li');
			l=sa.length; w=m.offsetWidth; sw=w/l;
			ot=Math.floor((w-st)/(l-1)); var i=0;
			for(i;i<l;i++){s=sa[i]; s.style.width=sw+'px'; this.timer(s)}
			if(sl!=null){m.timer=setInterval(function(){slideMenu.slide(sa[sl-1])},t)}
		},
		timer:function(s){s.onmouseover=function(){clearInterval(m.timer);m.timer=setInterval(function(){slideMenu.slide(s)},t)}},
		slide:function(s){
			var cw=parseInt(s.style.width,'10');
			if(cw<st){
				var owt=0; var i=0;
				for(i;i<l;i++){
					if(sa[i]!=s){
						var o,ow; var oi=0; o=sa[i]; ow=parseInt(o.style.width,'10');
						if(ow>ot){oi=Math.floor((ow-ot)/sp); oi=(oi>0)?oi:1; o.style.width=(ow-oi)+'px'}
						owt=owt+(ow-oi)}}
				s.style.width=(w-owt)+'px';
			}else{clearInterval(m.timer)}
		}
	};
}();