function Blotter()
{
    this.blotterTab = [];
    this.blotterRegister = [];
    this.startTab = "";
    this.startRegister = "";
    this.setStartTab = function(tab, register) {
        this.startTab = tab;
        this.startRegister = register;
    }
    this.showStartTab = function(tab, register) {
        this.closeAllTabs();
        this.setStartTab(tab, register);
        $("#"+tab).addClass("cboxtab_active");
    startReg = this.startRegister;
        $("#"+startReg).show();
    }
    this.addTab = function(tab, register) {
        this.blotterTab.push(tab);
        this.blotterRegister.push(register);
    }
    this.showTab = function(tab, register) {
        this.closeAllTabs();
        $("#"+tab).addClass("cboxtab_active");
        $("#"+register).show();
    }
    this.closeAllTabs = function() {
        var temp = this.blotterRegister;
        var tabs = this.blotterTab;
        $.each(temp, function(i) {
               $("#"+this).removeClass("cboxtab_active");
        });
    $.each(tabs, function(i) {
        $("#"+this).hide();
    });
    }
}
function switchLayers(image,name) {
                                 var elem = document.getElementById(name);
                                 //alert(name + ": " + elem);                            
                                 if( elem.style.display == "none" || elem.style.display == "") {
                                     elem.style.display = "block";
                                     image.src = "/static/img/admin/btn_close_12x12.gif"; 
                                                                 
                                 } else {
                                     elem.style.display = "none";
                                     image.src = '/static/img/admin/btn_open_12x12.gif';
                                 }
}
function openAllLayers() {
                                var uls = document.getElementsByTagName("ul");                                  
                                var lis = document.getElementsByTagName("li");
                                var imgs = document.getElementById("sitemap").getElementsByTagName("img");    
                                
                                for( i = 0; i < imgs.length; i++ ) {                                     
                                         var image =imgs[i];                                                                    
                                        image.src='/static/img/admin/btn_close_12x12.gif'; 
                                                                                     
                                 }                                    
                                for( y = 0; y < lis.length; y++ ) {                                     
                                         var li =lis[y];                                                                    
                                        if(li.className == "firstlevel"){
                                            li.style.display = "block";                                                
                                        }                                                    
                                 }                             
                                 for( z = 0; z < uls.length; z++ ) {                                     
                                         var ul =uls[z];                                        
                                        //alert(ul.className);                                        
                                        if(ul.className == "secondlevel" || ul.className == "thirdlevel"){
                                            ul.style.display = "block";
                                        }                                    
                }                                
} 

/* Timer Function from http://www.codingforums.com/showthread.php?t=10531 */
// The constructor should be called with
// the parent object (optional, defaults to window).
function Timer(){
    this.obj = (arguments.length)?arguments[0]:window;
    return this;
}
// The set functions should be called with:
// - The name of the object method (as a string) (required)
// - The millisecond delay (required)
// - Any number of extra arguments, which will all be
//   passed to the method when it is evaluated.
Timer.prototype.setInterval = function(func, msec){
    var i = Timer.getNew();
    var t = Timer.buildCall(this.obj, i, arguments);
    Timer.set[i].timer = window.setInterval(t,msec);
    return i;
}
Timer.prototype.setTimeout = function(func, msec){
    var i = Timer.getNew();
    Timer.buildCall(this.obj, i, arguments);
    Timer.set[i].timer = window.setTimeout("Timer.callOnce("+i+");",msec);
    return i;
}
// The clear functions should be called with
// the return value from the equivalent set function.
Timer.prototype.clearInterval = function(i){
    if(!Timer.set[i]) return;
    window.clearInterval(Timer.set[i].timer);
    Timer.set[i] = null;
}
Timer.prototype.clearTimeout = function(i){
    if(!Timer.set[i]) return;
    window.clearTimeout(Timer.set[i].timer);
    Timer.set[i] = null;
}
// Private data
Timer.set = new Array();
Timer.buildCall = function(obj, i, args){
    var t = "";
    Timer.set[i] = new Array();
    if(obj != window){
        Timer.set[i].obj = obj;
        t = "Timer.set["+i+"].obj.";
    }
    t += args[0]+"(";
    if(args.length > 2){
        Timer.set[i][0] = args[2];
        t += "Timer.set["+i+"][0]";
        for(var j=1; (j+2)<args.length; j++){
            Timer.set[i][j] = args[j+2];
            t += ", Timer.set["+i+"]["+j+"]";
    }}
    t += ");";
    Timer.set[i].call = t;
    return t;
}
Timer.callOnce = function(i){
    if(!Timer.set[i]) return;
    eval(Timer.set[i].call);
    Timer.set[i] = null;
}
Timer.getNew = function(){
    var i = 0;
    while(Timer.set[i]) i++;
    return i;
}

/* suckerfish css dropdown js helper with timer for IE */
sfHover = function() {
        var sfEls = document.getElementById("hnavmenu").getElementsByTagName("LI");
        for (var i=0; i<sfEls.length; i++) {
            sfEls[i].onmouseover=function() {
                this.className+=" sfhover";
            }
            sfEls[i].onmouseout=function() {
                this.timer = new Timer(this);
                this.timer.setTimeout("out",200); /* DEFAULT: this.timer.setTimeout("out",500); */
            }
            sfEls[i].out=function() {
            this.className=this.className.replace(new RegExp("\\bsfhover\\b"), "");
            }
        }
    }
    if (window.attachEvent) window.attachEvent("onload", sfHover);
    if (window.addEventListener) window.addEventListener( "load", sfHover, false );

/* Rotating Images auf der Bühne */
function slideShow(images) {
    Reflection.defaultHeight = 0.22;
        var firstElem = images.shift();
        images.push(firstElem);
        $(".screenshot").fadeOut("slow", function() {
            $("#refHref").attr("href", images[0][1]);
            Reflection.remove(document.getElementById('refImg'));
            $("#refImg").attr({ src: images[0][0], alt: images[0][2], title: images[0][2] });
            Reflection.add(document.getElementById('refImg'));
            $(".screenshot").fadeIn("slow", function() {
                descTime = window.setTimeout(function() { slideShow(images); }, 6000);
            });
        })
}
/* bei unload timeout clearen */
window.onunload = function(){
    if(typeof descTime != "undefined") {
        clearTimeout(descTime);
    }
}
/* Linkersetzung */
$(document).ready(function(){
    $(".link_external").click(function(){
        var exLi = $(this).attr("href");
        if(!exLi.match(/^http/)) {
            exLi = "http://"+exLi;
        }
        var f1 = window.open(exLi,"");
        return false;
    })
});
$(document).ready(function(){
    $(".link_download").click(function(){
        var exLi = $(this).attr("href");
        if(!exLi.match(/^http/)) {
            exLi = "http://"+exLi;
        }
        var f1 = window.open(exLi,"");
        return false;
    })
});
/* Sitemap oeffnen */
$(document).ready(function(){
    $("#sitemap_a").click( function() {
        if ($("#sitemap_open").css("display") == "block") {
            $("#sitemap_a img").attr("src", "/static/img/admin/redesign_btn_small_topthema-expand_18x18.gif");
        }
        else {
            $("#sitemap_a img").attr("src", "/static/img/admin/redesign_btn_small_topthema-collapse_18x18.gif")
      }
        $("#sitemap_open").slideToggle("slow");
    });
 });


function AktivTab(url) {
    var aktiv = $(".cboxtab_active").attr("id");
    url.href = url.href+'?id='+aktiv;
}

function changeTabOnReload()
{
    if(window.location.search != "")
    {
        id = window.location.search;
        var RightId = id.substr(12, 4);
        if(RightId == 2490 || RightId == 2491 || RightId == 2510)
        {
            blotter486.showTab('randomId'+RightId, 'randomId'+(RightId-1000)); return false;
            document.getElementById('randomId'+RightId).className = "cboxtab_active";
        }
    }
}          
  
function getURLParam(strParamName)
{
    var strReturn = "";
    var strHref = window.location.href;
    if ( strHref.indexOf("?") > -1 )
    {
        var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
        var aQueryString = strQueryString.split("&");
        for ( var iParam = 0; iParam < aQueryString.length; iParam++ )
        {
            if (aQueryString[iParam].indexOf(strParamName + "=") > -1 )
            {
                var aParam = aQueryString[iParam].split("=");
                strReturn = aParam[1];
                break;
            }
        }
    }
    return strReturn;
}
 