var act_lang="de";
var act_git="";
var act_det="";
var act = false;
var to = null;
var winBuf = getScreenSize();
var but_deluxe, but_sparkle, img_main, detail_deluxe, detail_sparkle, detail_generic;
var myimages = new Array();
function init() {//{{{
    but_deluxe = getElm("b_deluxe");
    but_sparkle = getElm("b_sparkle");
    detail_deluxe = getElm("d_deluxe");
    detail_sparkle = getElm("d_sparkle");
    detail_generic = getElm("d_generic");
    detail_generic.style.display = "inline";
    img_main = getElm("main_git");
    //switchbutton behaviour{{{
    but_deluxe.onclick = function() {switch_git("deluxe");}
    but_sparkle.onclick = function() {switch_git("sparkle");}
    //}}}
    //init details{{{
    var i,l=detail_deluxe.childNodes.length;
    for(i=0;i<l;i++)
        init_detail(detail_deluxe.childNodes[i]);
    l=detail_sparkle.childNodes.length;
    for(i=0;i<l;i++)
        init_detail(detail_sparkle.childNodes[i]);
    l=detail_generic.childNodes.length;
    for(i=0;i<l;i++)
        init_detail(detail_generic.childNodes[i]);
    //}}}
    if(window.location.hash.length > 0) {
        var buf = window.location.hash.substr(1).split(".");
        if(2 == buf.length) {
            act_git = buf[0];
            act_det = buf[1]; 
        } else if(buf[0].match(/(deluxe|sparkle)/)) {
            act_git = buf[0];
        } else {
            act_det = buf[0];
            build_hash();
        }
    }
    switch_git(act_git);
    if(act_det.length > 0) show_detail(act_det);
    else to = window.setTimeout("show_detail('hint')", 10000);
    preloadimages("img/b_deluxe.jpg","img/b_sparkle.jpg","img/m_deluxe.jpg","img/m_sparkle.jpg","img/m_deluxe50.jpg","img/m_sparkle50.jpg","img/close.gif");
}//}}}
function build_hash() {
    if(document.all) return;
    if(!act_git.length > 0) return;
    window.location.hash = act_git+(act_det.length > 0 ? "."+act_det : "");
}
function preloadimages() {//{{{
    var buf = null;
    for(var i=0; i<preloadimages.arguments.length; i++) {
        buf = document.createElement('img');
        buf.src = preloadimages.arguments[i];
        myimages.push(buf);
    }
}//}}}
function show_detail(name) {//{{{
    if(to) {
        window.clearTimeout(to);
        to=null;
    }
    if(act) hide_details();
    found=false;
    act_det = "";
    var i,l=detail_deluxe.childNodes.length;
    for(i=0;i<l;i++)
        if(detail_deluxe.childNodes[i].className && eval("detail_deluxe.childNodes[i].className.match(/"+name+"( |$)/)")) {
            detail_deluxe.childNodes[i].style.display="block";
            found = true;
        }
    l=detail_sparkle.childNodes.length;
    for(i=0;i<l;i++)
        if(detail_sparkle.childNodes[i].className && eval("detail_sparkle.childNodes[i].className.match(/"+name+"( |$)/)")) {
            detail_sparkle.childNodes[i].style.display="block";
            found=true;
        }
    l=detail_generic.childNodes.length;
    for(i=0;i<l;i++)
        if(detail_generic.childNodes[i].className && eval("detail_generic.childNodes[i].className.match(/"+name+"( |$)/)")) {
            detail_generic.childNodes[i].style.display="block";
            found=true;
        }
    if(found) {
        act_det = name;
        set_act(true);
    } 
    build_hash();
    return false;
}//}}}
function hide_details() {//{{{
    act_det = "";
    var i,l=detail_deluxe.childNodes.length;
    for(i=0;i<l;i++)
        if(detail_deluxe.childNodes[i].style) detail_deluxe.childNodes[i].style.display="none";
    l=detail_sparkle.childNodes.length;
    for(i=0;i<l;i++)
        if(detail_sparkle.childNodes[i].style) detail_sparkle.childNodes[i].style.display="none";
    l=detail_generic.childNodes.length;
    for(i=0;i<l;i++)
        if(detail_generic.childNodes[i].style) detail_generic.childNodes[i].style.display="none";
    set_act(false);
    build_hash();
    return false;
}//}}}
function switch_git(git) {//{{{
    act_git=git;
    build_hash();
    set_act(act);
    switch(act_git) {
        case "sparkle":
            but_sparkle.src="img/b_sparkle.jpg";
            but_deluxe.src="img/b_deluxe50.jpg";
            detail_deluxe.style.display="none";
            detail_sparkle.style.display="block";
            but_deluxe.onmouseover = function() {this.src="img/b_deluxe.jpg";}
            but_deluxe.onmouseout = function() {this.src="img/b_deluxe50.jpg";}
            but_sparkle.onmouseover = function() {this.src="img/b_sparkle.jpg";}
            but_sparkle.onmouseout = function() {this.src="img/b_sparkle.jpg";}
            break;
        default:
            detail_deluxe.style.display="block";
            detail_sparkle.style.display="none";
            but_sparkle.src="img/b_sparkle50.jpg";
            but_deluxe.src="img/b_deluxe.jpg";
            but_deluxe.onmouseover = function() {this.src="img/b_deluxe.jpg";}
            but_deluxe.onmouseout = function() {this.src="img/b_deluxe.jpg";}
            but_sparkle.onmouseover = function() {this.src="img/b_sparkle.jpg";}
            but_sparkle.onmouseout = function() {this.src="img/b_sparkle50.jpg";}
            act_git="deluxe";
            break;
    }
    return false;
}//}}}
function set_act(b) {//{{{
    act=b?true:false;
    switch(act_git) {
        case "sparkle":
            img_main.src=act?"img/m_sparkle50.jpg":"img/m_sparkle.jpg";
            break;
        default:
            img_main.src=act?"img/m_deluxe50.jpg":"img/m_deluxe.jpg";
    }
}//}}}
function init_detail(elm) {//{{{
    if(!elm.hasChildNodes || !elm.childNodes.length) return;
    var buf = elm.firstChild;
    var width = parseInt(elm.style.width);
    var height = parseInt(elm.style.height);
    elm.style.backgroundImage="url("+buf.href+")";
    preloadimages(buf.href);
    elm.style.left = String((winBuf[0] / 2) - (width / 2)) + "px";
    elm.style.top = String((winBuf[1] / 2) - (height / 2)) + "px";
    var tbl = document.createElement("table");
    var tbb = document.createElement("tbody");
    var tr = document.createElement("tr");
    var td = document.createElement("th");
    td.className="detail";
    td.appendChild(document.createTextNode(buf.title));
    tr.appendChild(td);
    td=document.createElement("th");
    td.className="detail right";
    var cb = document.createElement("img");
    cb.onclick=function() {hide_details();}
    cb.style.cursor="pointer";
    cb.src="img/close.gif";
    cb.alt="schließen";
    td.appendChild(cb);
    tr.appendChild(td);
    tbb.appendChild(tr);
    tr=document.createElement("tr");
    td=document.createElement("td");
    td.className="detail";
    td.colSpan=2;
    var div=document.createElement("div");
    div.className = "det_txt";
    div.style.height=String(height - 40)+"px";
    elm.removeChild(buf);
    while(elm.childNodes.length) {
        div.appendChild(elm.firstChild.cloneNode(true));
        elm.removeChild(elm.firstChild);
    }
    td.appendChild(div);
    tr.appendChild(td);
    tbb.appendChild(tr);
    tbl.appendChild(tbb);
    tbl.className="detail";
    elm.appendChild(tbl);
}//}}}
function getScreenSize() {//{{{
    var x,y;
    if (self.innerHeight) {// all except Explorer
        x = self.innerWidth;
        y = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) {// Explorer 6 Strict Mode
        x = document.documentElement.clientWidth;
        y = document.documentElement.clientHeight;
    } else if (document.body) { // other Explorers
        x = document.body.clientWidth;
        y = document.body.clientHeight;
    }   
    return [x, y]; 
}//}}}
function getElm(name, src) {//{{{
    if(!src) src = document;
    return src.getElementById ? src.getElementById(name) : eval(src+".all."+name);
}//}}}


