var outImgHash = new Array();
var overImgHash = new Array();

$ = function (id) {
        //gibt einen element Zurück oder null, falls element nicht gefunden wird
        return document.getElementById(id);
}

function navi_preload()
{
var j=0;
for (x=0; x < document.images.length; x++){
		if(document.images[x].name.substr(0,4) == 'nav_'){
			var quelle = document.images[x].src;
			var quelle_active = quelle.replace(/(\.[^\.]+)$/, "_act$1");
			outImgHash[document.images[x].name] = new Image();
			outImgHash[document.images[x].name].src = quelle;
			overImgHash[document.images[x].name] = new Image();
			overImgHash[document.images[x].name].src = quelle_active;
		}
	}
}

function navi_act(bildname) {
	if(document.getElementsByName(bildname)[0]){
		if(overImgHash[bildname]){
			document.getElementsByName(bildname)[0].src = overImgHash[bildname].src;
		}
	}
	else{
		for (a=0; a < document.images.length; a++){
			if (document.images[a].name == bildname && (document.images[a].src.search(/_act\.[^\.]+$/) < 0)){
				var quelle = document.images[a].src;
				var quelle_active = quelle.substring(0,quelle.lastIndexOf(".")) + "_act" + quelle.substring(quelle.lastIndexOf("."),quelle.length);
				document.images[a].src =  quelle_active;
				break;
			}
		}
	}
}

function navi_normal(bildname) {
	if(document.getElementsByName(bildname)[0]){
		if(outImgHash[bildname]){
			document.getElementsByName(bildname)[0].src = outImgHash[bildname].src;
		}
	}
	else{
		for (b=0; b < document.images.length; b++){
			if (document.images[b].name == bildname){
				var quelle = document.images[b].src;
				var minus_act = quelle.lastIndexOf(".") - 4;
				var quelle_normal = quelle.substring(0,minus_act) + quelle.substring(quelle.lastIndexOf("."),quelle.length);
				document.images[b].src =  quelle_normal;
				break;
			}
		}
	}
}

function show(zoom_layer){
	zoom_layer.style.visibility = 'visible';
	var yOffset = window.pageYOffset || document.body.scrollTop;
	zoom_layer.style.top = yOffset;
}

function change_visibility(layer, value){
	layer.style.visibility = value;
}

//###########################STINER#################################

function show_layer (id) {
	var l = document.getElementById(id);
	if ( l!= null ) {
		l.style.display = "block";
		}
	}
	
function hide_layer (id) {
	var l = document.getElementById(id);
	if ( l!= null ) {
		l.style.display = "none";
		}
	}

//##################################################################

function window_open_focused (url,name,params) {
   fenster = window.open(url, name, params);
   fenster.focus();
}

function tatis_images_changer( obj, target, list, mover_left, mover_right ) {
    obj.nr = 0;
    if (typeof(list) != "object")
        return;
    obj.list = list;
    if (target==null)
        target=obj;
    obj.target = target;
    obj.clear_nr = function() {
        this.nr = 0;
    }
    obj.show_prev_image = function () {
        if (typeof(this.target) == "string")
            this.target = $(this.target);
        this.nr--;
        if (this.nr == -1)
            this.nr = this.list.length - 1;
        this.target.src = this.list[this.nr];
    }
    obj.show_next_image = function () {
        if (typeof(this.target) == "string")
            this.target = $(this.target);
        this.nr++;
        if (this.nr == this.list.length)
            this.nr = 0;
        this.target.src = this.list[this.nr];
    }
    if (typeof(mover_left) == "object") {
        mover_left.onclick = function(e) {
            obj.show_prev_image();
            if (!e)
                var e = window.event;
            cancelEvent(e);
        }
    }
    if (typeof(mover_right) == "object") {
        mover_right.onclick = function (e) {
            obj.show_next_image();
            if (!e)
                var e = window.event;
            cancelEvent(e);
        }
    }
}

//################################################################

function generic_popup_div_request_cb (res) {
	var r = stripScripts(res);
	$("generic_popup_div_content").innerHTML=r["html"];
	if (r["script"]!="") {
		loadScripts("generic_popup_div",r["script"]);
		}
	}

function set_shadow() {
	blackbox = document.createElement("div");
	blackbox.id = "blackbox";
	document.body.appendChild(blackbox);
	blackbox.onclick = function () {
		close_generic_popup();
		}
	}

function unset_shadow() {
	var blb = $("blackbox");
	if (typeof(blb)!="undefined") {
		document.body.removeChild(blb);
		}
	}

function stripScripts (txt) {
	var script = "";
	var html = txt.replace(/<script[^>]*>([\s\S]*?)<\/script>/gi, function() {
			script += arguments[1] + "\n";
			return "";
		});
	return {"html":html, "script":script};
	}

function open_generic_popup_params (title_, params, className) {
	var gpp = document.createElement("div");
	gpp.id = "generic_popup_div";
	gpp.style.zIndex = "9999";

	var sct = document.body.scrollTop;
	if ( sct == 0 ) {
		if (window.pageYOffset) {
			sct = window.pageYOffset
		}
		else {
			sct = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;
		}
	}
	gpp.style.top = ( 80 + sct ) + "px" ;

	if ( typeof(className) == "undefined" ) { gpp.className = "generic_popup_div"; } else { gpp.className = "generic_popup_div " + className; }
	gpp.innerHTML='<div class="header" id="gpp_dragger"><h1>'+title_+'</h1><span onclick="close_generic_popup()">X</span></div><div class="content"><div id="generic_popup_div_content"></div></div>';

	gpp_request = new ajax_engine("gpp_request","/ajax/popup_params.html","generic_popup_div_request_cb",params);
	gpp_request.start();

	set_shadow();
	document.body.appendChild(gpp);
	try { new DragObject(gpp, $("gpp_dragger") ); }
	catch (e) {}
	//layer_effect(gpp,"open");
	}

function open_generic_popup (title_, src_, className) {
	var gpp = document.createElement("div");
	gpp.id = "generic_popup_div";
	gpp.style.zIndex = "9999";

	var sct = document.body.scrollTop;
	if ( sct == 0 ) {
		if (window.pageYOffset) {
			sct = window.pageYOffset
		}
		else {
			sct = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;
		}
	}
	gpp.style.top = ( 80 + sct ) + "px" ;

	if ( typeof(className) == "undefined" ) { gpp.className = "generic_popup_div"; } else { gpp.className = className; }
	gpp.innerHTML='<div class="header" id="gpp_dragger"><h1>'+title_+'</h1><span onclick="close_generic_popup()">X</span></div><div class="content"><div id="generic_popup_div_content"></div></div>';

	gpp_request = new ajax_engine("gpp_request","/ajax/popup.html","generic_popup_div_request_cb","popup="+src_+";id="+SESSION_ID);
	gpp_request.start();

	set_shadow();
	document.body.appendChild(gpp);

	try { new DragObject(gpp, $("gpp_dragger") ); }
	catch (e) {}
	//layer_effect(gpp,"open");
	}

function close_generic_popup() {
	//layer_effect($("generic_popup_div"),"close");
	var popup = $("generic_popup_div");
	if ( popup != null ) {
		unset_shadow();
		popup.parentNode.removeChild( popup );
		}
	}


