// Frameset Steuerung
// Erstellt:  12.01.2001 by JW
// Geaendert: 10.12.2001 by JW (html-navi mit statussetzen navi)
// Geaendert: 24.20.2002 by JW (anzeige statusfehler)
// Geaendert: 19.05.2003 by JW (modifikation fuer redesign)
// Geaendert: 22.06.2004 by HS (Anzeige bei Nachladen ohne '.php3' )
// Geaendert: 20.10.2004 by JW (nachladen ohne "?" per php_info)
// Geaendert: 21.02.2005 by JW (resize_subnavi_frame)
// Geaendert: 07.07.2008 by JW (proudly introduce sxframe)

// check if frame-comunication is possible
//
var sxframe =  true;
try {
    // permission denied if not same origin
    //
    var x = top.location.host;
} catch (err) {
    sxframe = false;
}

// framset nachladen
function checkFrame() {

    // do nothing if display without sixt frameset
    //
    if (!sxframe) return;

    var inhalt    =    self.location.href;
    var re        =    /^(https?):\/\/[^\/]+(\/.*)$/;
    inhalt        =    re.exec(inhalt);
    if((top.isFrameSet + "" != "roger") && (inhalt[1] + "" != "https"))
    {
        top.location.replace('/main' + inhalt[2]);
    }
}

// now setting-controll
function setSubState() {

    // do nothing if display without sixt frameset
    //
    if (!sxframe) return;

    // resize frameset after new navi was loaded
    //
    init_resize ();
    setSubnaviState();
    setNaviState();
}


// subnavi laden, status setzen
// loc makes sure a unique load of subnavi
// relsub allowes a new subnavi load in any case
// is_resize remembers if resize was done
//
var loc         =  false;
var relsub      =  false;
var is_resize   =  false;

function setSubnaviState() {

    // alles da, alles vorhanden?
    if (!relsub && top.subnavi && top.subnavi.isLoad && (top.subnavi.area + "" == naviState[0])) {
        // gibts subnavi (nicht bei default) und gibts subarea?
        var isSub =  !! (typeof(top.subnavi.subNavi) != "undefined" && typeof(top.subnavi.subNavi.url[naviState[1]]) != "undefined");
        // falls ja oder default substatus setzen
        if (isSub || naviState[1] == "default") top.subnavi.setState(naviState[1]);        
        // else alert ("Statusfehler!");
        
    } else {
        // subnavi nachladen
        if(!loc && top.subnavi)
        {              
            top.subnavi.location.replace("/navi/subnavi.php?AREA=" + naviState[0]);            
            loc     =  1;
            relsub  =  false;
        }
        laden = setTimeout('setSubnaviState()',500);        
    }
}

// navi  status setzen
function setNaviState() {
    if(top.navi && top.navi.isLoad) top.navi.setState(naviState[0]);
    else                            naviLaden = setTimeout('setNaviState()',500);
}

// resize frameset
// is called when new subnavi is loaded
// is also called onunload default.php
// helps to deal with ununload IE bug
//
function resize_subnavi_frame (stat) {

    // do nothing if no frame
    //
    if (!top || !top.subnavi || top.document.getElementById("set_content") == null) return null;
    
    var val =  stat? "154,*" : "0,*";
    top.document.getElementById("set_content").cols= val;
    return true;
}

// controlls resize of frameset
//
function init_resize () {
    
    var state =  (typeof(is_home) == "undefined")? 1 : 0
    resize_subnavi_frame (state);
}

