var xPos = 0, yPos = 0, goPos = 0; 
var showTabRowDelay, cTTObj, cTitle, tooltipFlag, xPosOffset, yPosOffset;

if(top.frames.length > 0 && self.name!="fileMngPreview" && self.name!="specProjFrame")
{top.location.href=self.location;}

// ---------------------------------- Projekt ----------------------------------

function initAll(){
	checkScrollPos();
	initDomEvents();
	pageInit = true;
}

function exitAll(){
}

// --------------------------------- Special ----------------------------------

function showPoetryCaller(){
	var x = document.getElementById("hiddenPoetry").innerHTML;
	var d = (getCookie("showAP")=="1") ? 20 : 10 ;
	if(x!=""){
		var r = (14 * Math.random()) + d;	/* 10 - 24 Sekunden oder 20 - 34 Sekunden */
		r = Math.round(r)*1000;
		setTimeout("showPoetry()", r);
	}
}

function showPoetry(){
	if(getCookie("disableAP")!="1"){
		scrollPos = (document.compatMode=='CSS1Compat') ? document.documentElement.scrollTop : document.body.scrollTop;
		$("#hiddenPoetryWrapper").css("opacity", 0.25);
		$("#hiddenPoetryWrapper").css("top", scrollPos + 50);
		$("#hiddenPoetryWrapper").animate({
			opacity: .98,
			top: '+=50',
			right: '+=100',
			height: 'toggle'
		}, 1000, function(){
			var pwObj = $("#hiddenPoetryWrapper");
			var pwH = pwObj.offset().top + pwObj.outerHeight();
			if(pwH > $("#specWrapper").outerHeight()){
				$("#specWrapper").css("height", pwH + 100);
			}
			setCookie("showAP", "1", 1);
		});
	}
}

function closePoetry(){
	$("#hiddenPoetryWrapper").fadeOut("fast");
}

function disablePoetry(){
	closePoetry();
	setCookie("disableAP", "1", 60);
}

function flasharchiv(url){
	var w = window.open(url,'Archiv','scrollbars=no,width=700,height=400,top=' + ((screen.availHeight-400) / 2) + ',left=' + ((screen.availWidth-700) / 2)); 
	w.focus();
}


// ---------------------------------- Events ----------------------------------

document.onmousedown = getPos;
document.onmousemove = setShowDivPos;

function checkScrollPos(){
	if(window.name.indexOf('pos')!=-1){
		window.scrollBy(0,parseInt(window.name.slice(3)));
		window.name='cont';
	}
}

function getPos(e){
	if(document.all){
		xPos = (document.compatMode=='CSS1Compat') ? window.event.clientX + document.documentElement.scrollLeft : window.event.clientX + document.body.scrollLeft;
		yPos = (document.compatMode=='CSS1Compat') ? window.event.clientY + document.documentElement.scrollTop : window.event.clientY + document.body.scrollTop;
	}else{	/* pageXY = Fensterrelativ / screenXY = Bildschirmabsolut */
		xPos = e.pageX;
		yPos = e.pageY;
	}
	document.body.scrollTop ? goPos = document.body.scrollTop : goPos = window.pageYOffset;
	if(goPos==null) goPos=0;
}

function clPos(){window.name="pos" + goPos;}

function setShowDivPos(e){
if(tooltipFlag){
	getPos(e);
	var sD = document.getElementById("tooltipDiv");
	sD.style.left = (xPos + xPosOffset) + "px";
	sD.style.top = (yPos + yPosOffset) + "px";
}}


// --------------------------------- DOM-Events -------------------------------

function initDomEvents(){
	// Tooltip
	execFctByClassName("aTT",function(o){
		o.onmouseover = showTTByEvent;
		o.onmouseout = hideTT;
	})
	// Bilder + Galerie
	$(document).ready(function(){
		$(".imgEnlargeLnk").remove();
		$("a.imgEnlarge").colorbox({current:"", transition:"elastic", href:function(){
				var p = $(this).children('img').attr('src').split("/");
				if(p[p.length-2]!="images"){
					p[p.length-2] = p[p.length-1];
					p.pop();
				}
				return p.join("/");
		}, title:function(){
				return $(this).parent('.imgArea').children('.imgLabelArea').text();
		}});
		$(".galleryLnk").remove();
		$("a.gallery").colorbox({current:"Bild {current} von {total}", transition:"elastic", href:function(){
			var ih = $(this).children('img').attr('src');
			ih = ih.replace(/\/thumb3/g, "/thumb");
			ih = ih.replace(/\/thumb2/g, "/thumb");
			return ih.replace(/\/thumb/g, "");
		}, title:function(){
				return $(this).attr('title');
		}, rel:'galleryGroup'});
		$(document).bind('cbox_load', function(){
			$("#cbTitleDiv").text("");
			$("#cbTitleDiv").css("display","block");
    	});
		$(document).bind('cbox_complete', function(){
        	$("#cbTitleDiv").text(function(){
        		return $("#cboxTitle").text();
        	});
    	});
		$(document).bind('cbox_cleanup', function(){
			$("#cbTitleDiv").text("");
			$("#cbTitleDiv").css("display","none");
    	});
	});
}

function showTTByEvent(e){ showTT(this,""); }

// --------------------------------- Standard ---------------------------------

function topInfo(cont,target,w,h)
{var topInf = window.open(cont,target,'width='+w+',height='+h+',dependent=yes,resizable=yes,scrollbars=yes,menubar=yes,status=yes'); topInf.focus(); return false;}

// ----------------------------------- Tooltip --------------------------------

function hideTooltip(){
	clearTimeout(showTabRowDelay);
	document.getElementById("tooltipDiv").style.display = "none";
	tooltipFlag = false;
}

function uncoverTooltip(){
	document.getElementById("tooltipDiv").style.display = "block";
}

function showTT(obj,x){
	if(x!="") var ttNode = document.getElementById(x).firstChild;
	var ttTxt; 
	ttNode ? ttTxt = ttNode.nodeValue : ttTxt = obj.title;
	
	cTTObj = obj; cTitle = obj.title; obj.title = ""; 
	var sD = document.getElementById("tooltipDiv");
	var sDf = sD.firstChild;
	while (sDf!=null){
		sD.removeChild(sDf); 
		sDf = sD.firstChild;}
	if(ttTxt!=null && ttTxt!=""){
		var newEntry = document.createTextNode(ttTxt);
		sD.appendChild(newEntry);
		tooltipFlag = true; xPosOffset = 15; yPosOffset = 20;
		showTabRowDelay = setTimeout("uncoverTooltip()",500);}
}

function hideTT(){
	if(cTTObj!=null) {cTTObj.title = cTitle; cTTObj = null; cTitle = "";}
	hideTooltip(); 
}

function showTabRow(xy){ 
	clearTimeout(showTabRowDelay);
	var sD = document.getElementById("tooltipDiv");
	var sDf = sD.firstChild;
	var xNode = xy.firstChild;
	while (sDf!=null){
		sD.removeChild(sDf);
		sDf = sD.firstChild;}
	var counter = 0; 
	while (xNode!=null){
		if(xNode.nodeType==1 && xNode.childNodes[0].nodeValue!=null){
			counter+=1; 
			var xNV = xNode.childNodes[0].nodeValue
			var newEntry = document.createTextNode(counter + ": " + xNV);
			var newBr = document.createElement("br");
			// ggf. Bild einfuegen
			xNV = xNV.replace(/\s/,"");
			if(xNV.search(/.jpg$/) != -1 || xNV.search(/.jpeg$/) != -1){
				xNV = xNV.replace(/^images\//,"");
				var newImg = document.createElement("img");
			var newImgAlt = document.createAttribute("class");
			newImgAlt.nodeValue = "showTabRowImgPreview";
			newImg.setAttributeNode(newImgAlt);
			var newImgSrc = document.createAttribute("src");
			newImgSrc.nodeValue = "images/minSize/" + xNV;
			newImg.setAttributeNode(newImgSrc);
			sD.appendChild(newImg);
			}
			sD.appendChild(newEntry);
			sD.appendChild(newBr); 
		}
		xNode = xNode.nextSibling; }
	/* var x = 0, p = 40;
		if(document.all){p = p + document.body.scrollTop;}
		else if(document.getElementById){p = p + window.pageYOffset;}
		if(p<80) p = 80; 
		sD.style.top = p + "px";
		sD.style.right = "20px"; */
	tooltipFlag = true; xPosOffset = 30; yPosOffset = -10;
	showTabRowDelay = setTimeout("uncoverTooltip()",500);
}

function hideTabRowShowDiv(){
	hideTooltip();
}

// -------------------------------- pageOverlay -------------------------------

var cOverlay;

function getOverlay(overlayHTML, stlyeClass, useMaxH, overlayCloseHTML){
	if(arguments.length<1) overlayHTML = "";
	if(arguments.length<2) stlyeClass = "";
   if(arguments.length<3) useMaxH = true;
   if(arguments.length==4)
		cOverlay = new overlayObj(overlayHTML, stlyeClass, useMaxH, overlayCloseHTML);
	else
		cOverlay = new overlayObj(overlayHTML, stlyeClass, useMaxH);
	window.scrollTo(0,0);
	return cOverlay;
}

function overlayObj(overlayHTML, stlyeClass, useMaxH, overlayCloseHTML){
   if(arguments.length<1) overlayHTML = "";
   if(arguments.length<2) stlyeClass = "";
   if(arguments.length<3) useMaxH = true;
   if(arguments.length==4) document.getElementById("pageOverlayClose").innerHTML = overlayCloseHTML;
   var b = document.getElementsByTagName("body")[0];
   var c = document.getElementById("specWrapper");
   var d = document.getElementById("pageOverlay");
   var e = document.getElementById("pageOverlayCont");
   var x = document.getElementById("pageOverlayBody");
   // Hoehe
   var bH = (c.offsetHeight > b.offsetHeight) ? c.offsetHeight +20 : b.offsetHeight +20;
   if(window.innerHeight > bH) bH = window.innerHeight;
   d.style.height = bH + "px";
   // Inhalte
   if(overlayHTML!="") x.innerHTML = overlayHTML;
   var innerH = (document.all) ? document.documentElement.clientHeight : window.innerHeight;
   if(innerH>0 && useMaxH) x.style.height = Math.round(innerH*0.9) + "px";
   if(stlyeClass!=""){
   	document.getElementById("pageOverlay").className = stlyeClass;
   	document.getElementById("pageOverlayBodyWrapper").className = stlyeClass;
   }
	// Select-Felder fuer IE ausblenden
	if(document.all){ 
		ds = document.getElementsByTagName("select");
		for(var i = 0; i < ds.length; i++){ ds[i].style.visibility = "hidden"; }
   }   // anzeigen
   d.style.display = "block";
   e.style.display = "block";
}

function closeOverlay(){
   document.getElementById("pageOverlay").style.display = "none";
   document.getElementById("pageOverlayCont").style.display = "none";
   if(document.all){ 
   	ds = document.getElementsByTagName("select");
   	for(var i = 0; i < ds.length; i++){ ds[i].style.visibility = "visible"; }
   }
   if(typeof cOverlay.closeOverlayEvent == "function") cOverlay.closeOverlayEvent();
}

// ------------------------------- Kleine Helferlein --------------------------

// Funktion fuer Elemente mit einer bestimmten CSS-Klasse ausfuehren
function execFctByClassName(className,cFct){
	if(className == "" || typeof cFct != "function") return false;
	if(document.all)
		var ao = document.all;
  	else if(document.getElementsByTagName)
		var ao = document.getElementsByTagName("*");
	for(var i=0; i < ao.length; i++){
		if(ao[i].className.indexOf(className)!=-1) cFct(ao[i]);
	}
}

// Cookies holen
function getCookie(x){
	var k = document.cookie.split(";");
	for (var i = 0; i < k.length; ++i){
		k[i] = k[i].replace(/\s/,"");
		if(x==k[i].substr(0,k[i].search('='))) return k[i].substr(k[i].search('=')+1,k[i].length);
	}
	return "";
}

function setCookie(xName,xValue,expDays){
	var d = new Date(); d = new Date(d.getTime() + (expDays * 24 * 60 * 60 * 1000));
	document.cookie = xName + "=" + xValue + "; expires=" + d.toGMTString(); 
}

function killCookie(xName){
	document.cookie = xName + "=; ; expires=Thu, 01-Jan-70 00:00:01 GMT;";
}

