

/* layout in default */

function reposition()
{
	
	if (document.body.clientWidth%2!=0) {
		//alert('resize'+(parseInt(document.body.clientWidth)-100));
		document.getElementById("maintable").style.left="8px";
	}else
	{
		document.getElementById("maintable").style.left="8px";
	}

}

var lastbgcolor;

function overRow(tr,color)
{
	if(tr != null)
	{
		lastbgcolor = tr.style.backgroundColor;
		tr.style.backgroundColor = color;
		
		for(var i=0;i<tr.childNodes.length;i++)
		{
			var td = tr.childNodes[i];
			td.style.backgroundColor = color;
		}
	}
}

function outRow(tr)
{
	if(tr != null)
	{
		tr.style.backgroundColor = lastbgcolor;
		
		for(var i=0;i<tr.childNodes.length;i++)
		{
			var td = tr.childNodes[i];
			td.style.backgroundColor = lastbgcolor;
			
			if(td.id == "nobg") td.style.backgroundColor = "#ebebeb";
			
		}
	}
}




/* ajax methoden */

function toSession(key,value)
{
	Landtagswahlen_li.classes.AjaxHelper.writeToSession(key,value);
}


/* tooltip per ajax */

var gttid;
var gx = 0;
var gy = 0;
var gkid;

var tooltipcache = new Array();

function getCandidateInfo(e,kid,divid)
{
	if(kid == "")
		return;
	
	gkid = kid;
	gttid = divid;
	
	gx = Event.pointerX(e);
	gy = Event.pointerY(e);
	
	window.setTimeout("delayedGetCandidateInfo('" + kid + "','" + divid + "')",500);
	
}

function delayedGetCandidateInfo(kid,divid)
{
	if(kid != gkid)
		return false;
	
	var found = false;
	
	currtt = $(divid);
	
	for(var i=0;i<tooltipcache.length;i++)
	{
		if(tooltipcache[i][0] == kid + "")
		{
			found = true;
			var values = tooltipcache[i];
			fillToolTip(gttid,'',gx,gy,true,values[1],values[2],values[3] + " " + values[4],values[5],values[6],values[7]);
		}	
	} 
	
	if(!found)
		Gemeindewahlen_li.classes.AjaxHelper.getCandidateInfo(kid,cbgetCandidateInfo);
		
}

function cbgetCandidateInfo(res)
{
	if(res.error != null)
	{
		alert("ajax:" + res.error);
	} else if(res.value != null) {

		fillToolTip(gttid,"",gx,gy,true,res.value[1],res.value[2],res.value[3] + " " + res.value[4],res.value[5],res.value[6],res.value[7]);
		tooltipcache.push(res.value);
		
	}
}

function getCandidateInfo2(e,kid,divid,bild,linienfarbe,name,partei,alter,beruf)
{
	if(kid == "")	
		return;
	
	gkid = kid;
	gttid = divid;
	
	gx = Event.pointerX(e);
	gy = Event.pointerY(e);
	
	currtt = $(divid);
	
	window.setTimeout("delayedGetCandidateInfo2('" + kid + "','" + divid + "','"+bild+"','"+linienfarbe+"','"+name+"','"+partei+"','"+alter+"','"+beruf+"')",500);
}

function delayedGetCandidateInfo2(kid,divid,bild,linienfarbe,name,partei,alter,beruf)
{	
	if(kid != gkid)
		return false;
		
	fillToolTip(divid,'',gx,gy,true,bild,linienfarbe,name,partei,alter,beruf);

}


function fillToolTip(divid,idprefix,x,y,show,bild,linienfarbe,name,partei,alter,beruf)
{

		var div = $(divid);

		if(div != null){
		
			if($('kportrait' + idprefix) != null)
			{
				if(imgpath)
					bild = imgpath + bild;
				$('kportrait' + idprefix).src = bild;
				//$('kportrait' + idprefix).style.visibility = "visible";
			}
			$('klinie' + idprefix).style.borderColor = linienfarbe; 
			$('kname' + idprefix).innerHTML = name;
			$('kpartei' + idprefix).innerHTML = partei;
			
			if(alter > 0 && alter < 100)
				$('kalter' + idprefix).innerHTML = alter + " Jahre";
			else 
				$('kalter' + idprefix).innerHTML = "";
				
			$('kberuf' + idprefix).innerHTML = beruf;
	
		
		
		if(show)
			div.style.display = "block";
		
		// x und y position
		var offset = (document.body.clientWidth - 964)/2;
		
		/*if(offset > 0)
			if(navigator.userAgent.indexOf('MSIE') >= 0 || navigator.userAgent.indexOf('Opera') >= 0)
				x -= offset;
			else
				x -= 130;
				*/
				x -= offset;
			y = overHeight(y,divid);
			
			div.style.left = x  + "px";
			div.style.top = y + "px";
		} 	
}

/* tooltip statisch */

var currtt;
var gdx;
var gdy;

function showToolTip(e,kid,divid,dx,dy)
{	
	
	gx = Event.pointerX(e);
	gy = Event.pointerY(e);
	
	gdx = dx;
	gdy = dy;
	
	var div = $(divid);
	if(div != null)
		div.style.display = "none";
		
	gkid = kid;
	
	gy = overHeight(gy,divid);
	
	window.setTimeout("delayedToolTip('" + kid + "','" + divid + "'," + dx + "," + dy + ")",400);
}

function delayedToolTip(kid,divid,dx,dy)
{

	if(kid != gkid)
		return false;
		
	var div = $(divid);
	if(div != null){
	
		div.style.display = "block";
		
		var x = gx;
		var y = gy;

	
		/* wenn fenster verkleinert wird in breite dann verschiebt sich tooltip nach rechts ziehe daher offset ab 
		   (fensterbreite - breite der zentrierten seite) / 2
		*/
		
		var offset = (document.body.clientWidth - 964)/2;
		
		if(offset > 0)
			if(navigator.userAgent.indexOf('MSIE') >= 0 || navigator.userAgent.indexOf('Opera') >= 0)
				x -= offset;
			else
				x -= 130;

				
		if(dx != null && dy != null)
		{
		 x += dx;
		 y += dy;
		}
		
		div.style.left = x  + "px";
		div.style.top = y + "px";
		
		currtt = div;
	} 
}


function moveToolTip(e)
{


	if(currtt != null)
	{
		var div = currtt;
	
		var x = Event.pointerX(e);
		var y = Event.pointerY(e);
		
		gx = x;
		dy = y;
		
	
		
		if(gdx != null) x += gdx;
		if(gdy != null) y += gdy;
		
		/* wenn fenster verkleinert wird in breite dann verschiebt sich tooltip nach rechts ziehe daher offset ab 
		   (fensterbreite - breite der zentrierten seite) / 2
		*/
		
		var offset = (document.body.clientWidth - 964)/2;
		
		if(offset > 0)
			if(navigator.userAgent.indexOf('MSIE') >= 0 || navigator.userAgent.indexOf('Opera') >= 0)
				x -= offset;
			else
				x -= 130;
				
		y = overHeight(y,div.id);
				
		div.style.left = x  + "px";
		div.style.top = y + "px"; 
		
		
	}
}


function hideToolTip(divid)
{
	Element.hide(divid);
	currtt = null;
	gkid = null;
	gdx = null;
	gdy = null;
	
	if($('kportrait') != null)
		$('kportrait').style.visibility = "hidden";
		

	//window.setTimeout('reopen()',2000);
	
}

function reopen(){
	if($('zwdiv') != null)
		$('zwdiv').className=$('zwdiv').className;
}

/* wird ausgeführt wenn tooltip über den unteren fensterrand geht */
function overHeight(y,divid)
{
		var ob = overBottom(y);
		if(ob > -150)
		{
			ob = ob * (-1);
			y -= (170-ob);
		
			// entferne spitze
			$(divid + "_haken").style.visibility = "hidden";
			
		} else {
			// zeige spitze wieder an
			$(divid + "_haken").style.visibility = "visible";
		}
	
		return y;
}

/* gibt differenz der mausposition zum unteren fensterrand (>0 --> zeiger ist unter fensterrand)*/
function overBottom(y)
{
	if(document.documentElement.clientHeight)
		return (y - document.documentElement.scrollTop) - document.documentElement.clientHeight;	
	else if(window.innerHeight)
		return y - window.innerHeight;
	
	return 0;
}

function showStaticToolTip(e,divid,dx,dy)
{	
	
	gx = Event.pointerX(e);
	gy = Event.pointerY(e);
	
	gdx = dx;
	gdy = dy;
	
	gy = overHeight(gy,divid);
	
	//window.setTimeout("delayedToolTip('" + kid + "','" + divid + "'," + dx + "," + dy + ")",400);
}



var debugdiv;

function write(msg,append)
{
	if(debugdiv == null){
		debugdiv = document.createElement("div");
		debugdiv.id = "debugdiv";
		debugdiv.style.boder = "solid 1px pink";
		debugdiv.style.position = "absolute";
		debugdiv.style.top = "0px";
		debugdiv.style.left = "0px";
		window.document.appendChild(debugdiv);
	}
	
	if(debugdiv != null)
	{
		if(append == null || append == false)
			debugdiv.innerHTML = msg;
		else
			debugdiv.innerHTML += msg;
			
	}
}

/* mouseover */

function overButton(img)
{
	if(img != null)
	{
		img.src = img.src.toLowerCase().replace("_off.gif","_on.gif");
	}
}

function outButton(img)
{
	if(img != null)
	{
		img.src = img.src.toLowerCase().replace("_on.gif","_off.gif");
	}
}


/* popups */

function popup(url,name,left,top,x,h,resizable){

	if(x == null)
		x = screen.Width - 15;

	if(h == null)
		h = screen.Height - 100;
		
	if(name == "") 
		name == "popup";
	
	var fenster = window.open(url, name, "width=" + x + ", height=" + h + ", left=" + left + ", top=" + top + ", menubar=0, fullscreen=0, resizable=" + resizable + ", status=1");	
	fenster.focus();
}


/* spezial für ordnung von tabellen */

function markArrow(linkid,defaultid){

	var link = document.getElementById(linkid);
	
	if(link != null){
		link.firstChild.src = link.firstChild.src.replace("_off","_on");
	
	} else {
		link = document.getElementById(defaultid);
		if(link != null)
			link.firstChild.src = link.firstChild.src.replace("_off","_on");
	}
}


/* drucken von htmlcode */

function print(status)
{
	if(status==null)
		status = "";
	var contenttd = document.getElementById('printarea');
	
	var x = screen.Width - 15;
	var h = screen.Height - 100;
		
	var fenster = window.open("", "df", "width=" + x + ", height=" + h + ", left=0, top=0, menubar=1, fullscreen=0, resizable=1, status=1");
	
	var code = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">";
	code += "<html><head>";
	code += "<link rel=\"stylesheet\" href=\"css/layout.css\">";
	code += "<link rel=\"stylesheet\" href=\"css/ergebnisse.css\">";
	code += "<link rel=\"stylesheet\" href=\"css/print.css\">";
	/*code += "<script type=\"text/javascript\" src=\"javascripts/prototype.js\">";
	code += "<script type=\"text/javascript\" src=\"javascripts/hoehenberechnung.js\">";*/
	code += "</head><body scroll=yes style=\"background-color:#ffffff\">";
	fenster.document.write(code+"<div id=\"testid\"></div><img src=\"grafik/druck/lw_druckansicht_header.gif\" style=\"width:700px\"><div style=\"padding:0px 0px 4px 10px;width:530px;position:relative;top:-27px\"><span class=printstatus>"+status+"</span></div><table class=text style=\"width:800px;margin-left:10px;\"><tr><td>" + contenttd.innerHTML + "</td></tr></table><script>window.print();</script></body></html>");
	fenster.focus();
	fenster.location.reload(true);
	
	
}




/* wenn headerbild in default.aspx falsch geladen wird */

var errcount1 = 0;

function onHeaderError(img,path)
{
	if(errcount1 > 10)
		img.onload = "";

	errcount1++;
	
	if(img.src.toLowerCase().indexOf('ergebnisse') >= 0){
		img.src = "grafik/header/lw_header_2009_ergebnisse.jpg";
	} else{
		img.src = "grafik/header/lw_header_2009.jpg";
	}
}



/* for image navigation in news */

var addlink = ""; // set by newsmodul.ascx.cs or contentmodul.ascx
var bigimagepath = "";

// class for image preview
function newsimage(url,legend,linkname,linkurl)
{
	this.url = url;
	this.legend = legend;
	this.linkurl = linkurl;
	this.linkname = linkname;
}

function loadImage(imgarr,aktindex,nid)
{

	var img = document.getElementById("newsimg" + nid);
	
	if(img != null)
	{
	
		if(aktindex != null){

			// get data
			var aktimg = imgarr[aktindex.index];
			
			// set image
			img.src = aktimg.url;
			img.alt = "";// aktimg.legend;
			
			// set navigation status
			var nav = document.getElementById("navstatus" + nid);
			if(nav != null)
				nav.innerHTML = (aktindex.index+1) + " / " + imgarr.length;	
				
			// set link of image to big image
			var link = document.getElementById("imagelink" + nid);
			if(link != null){
				link.href = bigimagepath + "newsimagebig.aspx?newsid=" + nid + "&aktindex=" + aktindex.index + addlink;
			}
			
			// hide imagenavigation if only one image		
			if(imgarr.length <= 1){
				var imagenav = document.getElementById("imagenavigation" + nid);
			
				if(imagenav != null)
					imagenav.style.display = "none";

			}
		}
	}
	
}

function start2(imgarr,aktindex,nid)
{

	aktindex.index = 0;
	
	loadImage(imgarr,aktindex,nid);
}

function end(imgarr,aktindex,nid)
{
	aktindex.index = imgarr.length-1;
	
	loadImage(imgarr,aktindex,nid);
}

function next(imgarr,aktindex,nid)
{
	
	aktindex.index++;

	if(aktindex.index >= imgarr.length){
		aktindex.index = 0;
	}
	
	loadImage(imgarr,aktindex,nid);

}

function previous(imgarr,aktindex,nid)
{
	
	aktindex.index--;
	
	if(aktindex.index < 0){
		aktindex.index = imgarr.length-1;
		}
	
	loadImage(imgarr,aktindex,nid);
}

