/***************************************/
/*                                     */
/* scripts using AJAX                  */
/* (XMLHttpRequest)                    */
/*                                     */
/***************************************/


/* submit form */
function submitForm(p,f,l){
	$("dvPopupWait").style.display = "block";
	$("dvBtnSubmit").innerHTML = "<img src=\"/benecom/files_p.nsf/Lookup/waiting/$file/waiting.gif\" alt=\"\">";
	var url = "/"+p+"/form.html?OpenForm&Seq=1&form="+f+"&ie="+ie+"&src="+encodeURIComponent(GetCookieParam('source'));
	var postBdy = Form.serialize(f);
	var ajax = new Ajax.Request(
		url,
		{
			  method:"post"
			, postBody: postBdy
			, contentType: "application/x-www-form-urlencoded"
			, onComplete: showFormResponse
		}
	);
	function showFormResponse(originalRequest){
		if ( f=="FOApplication" && originalRequest.responseText.indexOf("inputError") > -1 ) {
			$("dvApplicationWindow").innerHTML = originalRequest.responseText;

		} else if ( f=="FOApplication" && originalRequest.responseText.indexOf("save application") > -1 ) {
//			$("dvCover").style.display = "none";
//			setOpacity();
			document.FOApplication.submit();
			urchinTracker("/forms/success/" + f + "/" + l);

		} else if ( f=="FOApplication" ) {
			$("dvCover").style.display = "none";
			$("dvPopup").innerHTML = originalRequest.responseText;
			setOpacity();
			openApplication("/"+p,l);

 		} else {
			$("dvPopup").innerHTML = originalRequest.responseText;		 
		}

		window.setTimeout(
			function(){
		 		 if ( document.getElementsByClassName("inputError").length > 0 ) {
		 		 		document.getElementsByClassName("inputError")[0].focus();
		 		 } else {
						urchinTracker("/forms/success/" + f + "/" + l);
				}
			}, 
		200)
	}
}

/* confirmation */
function confirmation(db,id,lang){
	$("dvPopupWait").style.display = "block";
	$("dvErrorTxt").innerHTML = $("dvErrorTxt").innerHTML + "<br><br><img src=\"/benecom/files_p.nsf/Lookup/waiting/$file/waiting.gif\" alt=\"\">";
	var targetContainer = $("dvPopup");
	var url = db + "/confirm?OpenAgent&type=ajax";
	var pars = new Array();
	pars[0] = "id="+id;
	pars[1] = "ie="+ie;
	pars[2] = "src="+encodeURIComponent(GetCookieParam('source'));
	var params = pars.join("&");
	var ajax = new Ajax.Updater(
		targetContainer,
		url,
		{
			  method:"get"
			, parameters:params
			, onComplete:function(){
		 		urchinTracker("/forms/confirmation/" + lang);
				}
		}
	);
}

// kontakt formular
function openKontakt(db,id,urlmod,lang){
	waitingScreen();
	var targetContainer = $("dvPopup");
	var url = db + "/AJAX?OpenAgent&code=0820";
	var pars = new Array();
	pars[0] = "id="+id;
	pars[1] = "mod="+urlmod;
	pars[2] = "ie="+ie;
	pars[3] = "src="+encodeURIComponent(GetCookieParam('source'));
	var params = pars.join("&");
	var ajax = new Ajax.Updater(
		targetContainer,
		url,
		{
			  method:"get"
			, parameters:params
			, onComplete:function(){
				$("dvWaiting").style.display = "none";
		 		urchinTracker("/forms/contact/" + lang);
				}
		}
	);
}


/* send this */
function openSendthis(id,urlmod,lang){
	waitingScreen();
	var targetContainer = $("dvPopup");
	var url = GetDB() + "/AJAX?OpenAgent&code=0812";
	var pars = new Array();
	pars[0] = "id="+id;
	pars[1] = "mod="+urlmod;
	pars[2] = "ie="+ie;
	pars[3] = "src="+encodeURIComponent(GetCookieParam('source'));
	var params = pars.join("&");
	var ajax = new Ajax.Updater(
		targetContainer,
		url,
		{
			  method:"get"
			, parameters:params
			, onComplete:function(){
	 			$("dvWaiting").style.display = "none";
		 		urchinTracker("/forms/sendthis/" + lang);
				}
		}
	);
}


/* subscribe newsletter */
function openSubscribe(db,list,lang,email){
	waitingScreen();
	var targetContainer = $("dvPopup");
	var url = db + "/AJAX?OpenAgent&code=7879";
	var pars = new Array();
	pars[0] = "email="+email;
	pars[1] = "ie="+ie;
	pars[2] = "list="+list;
	pars[3] = "src="+encodeURIComponent(GetCookieParam('source'));
	var params = pars.join("&");
	var ajax = new Ajax.Updater(
		targetContainer,
		url,
		{
			  method:"get"
			, parameters:params
			, onComplete:function(){
	 			$("dvWaiting").style.display = "none";
		 		urchinTracker("/forms/subscribe/" + list + "/" + lang );
				}
		}
	);
}

// bewerbung
function openApplication(db,lang){
	var targetContainer = $("dvApplicationWindow");
	var url = db + "/AJAX?OpenAgent&code=1129";
	var pars = new Array();
	pars[0] = "ie="+ie;
	pars[1] = "src="+encodeURIComponent(GetCookieParam('source'));
	var params = pars.join("&");
	var ajax = new Ajax.Updater(
		targetContainer,
		url,
		{
			  method:"get"
			, parameters:params
			, onComplete:function(){
				urchinTracker("/forms/application/" + lang);
				}
		}
	);
}



/* zoom article image */
function zoomArticleImg(img,obj){
	waitingScreen();
	pic = new Image();
	pic.onload = function(){
		zoomArticleImg2(img,obj);
	}
	pic.src = img;
}

function zoomArticleImg2(img,obj){
	pic = new Image();
	pic.src = img;
	
	if (window.innerHeight){
		winHeight = parseInt(window.innerHeight);
		winWidth = parseInt(window.innerWidth);
	} else {
		winHeight = parseInt(document.documentElement.clientHeight);
		winWidth = parseInt(document.documentElement.clientWidth);
	}

	if (window.innerHeight){
		posY = window.pageYOffset;
		posX = window.pageXOffset;
	} else if (document.documentElement && document.documentElement.scrollTop) {
		posY = document.documentElement.scrollTop;
		posX = document.documentElement.scrollLeft;
	} else if (document.body) {
		posY = document.body.scrollTop;
		posX = document.body.scrollLeft;
	}

	var offsetY = 38;
	var offsetX = 14;
	
	if (pic.height > 0) {
		winHeight -= (pic.height + offsetY);
		winWidth -= (pic.width + offsetX);
	} else {
		winHeight -= 300;
		winWidth -= 600;
	}
	
	winHeight = (winHeight - (winHeight%2))/2;
	winWidth = (winWidth - (winWidth%2))/2;
	if (winHeight < 10) winHeight = 10;
	if (winWidth < 10) winWidth = 10;
	posY += winHeight;
	posX += winWidth;


	$("dvPopup").innerHTML = "<div id=\"dvZoomArticleImg\"></div>";
	$("dvZoomArticleImg").style.left = posX + "px";
	$("dvZoomArticleImg").style.top = posY + "px";
	var targetContainer = $("dvZoomArticleImg");
	var url = GetDB() + "/AJAX?OpenAgent&code=1620";
	var params = "img="+img;
	var ajax = new Ajax.Updater(
		targetContainer,
		url,
		{
			  method:"get"
			, parameters:params
			, onComplete:function(){
	 			$("dvWaiting").style.display = "none";
		 		urchinTracker("/forms/zoom/" + img );
				}
		}
	);
}

/* Doc opinion */
function setDocOpinion(articleID,rating){
	if (document.cookie){
		var ExpiresOn = new Date();
		ExpiresOn.setTime(ExpiresOn.getTime() + 10000000000);
		document.cookie = "opDocs=" + articleID + GetCookieParam( "opDocs" ) + "; path=/; domain="+window.location.host+"; expires=" + ExpiresOn.toGMTString();

		$("dvCover").style.display = "none";
		var targetContainer = $("dvPopup");
		var url = GetDB() + "/AJAX?OpenAgent&code=1208";
		var pars = new Array();
		pars[0] = "articleID="+articleID;
		pars[1] = "rating="+rating;
		var params = pars.join("&");
		var ajax = new Ajax.Updater(
			targetContainer,
			url,
			{
				  method:"get"
				, parameters:params
				, onComplete:closeDocOpinion
			}
		);
	} else {
		alert("You have to activate Cookies to rate articles.");
	}

	function closeDocOpinion(){
		setOpacity();
		$("dvToolsOpinionMeasure").style.display = "none"; // buttons ausblenden => kein erneutes voting
		window.setTimeout(
			function()
				{
					var targetContainer = $("dvToolsOpinionChart");
					var url = GetDB() +"/AJAX?OpenAgent&code=1220";
					var pars = new Array();
					var params = "articleID="+articleID;
					var ajax = new Ajax.Updater(
						targetContainer,
						url,
						{
							  method:"get"
							, parameters:params
							, onComplete:clearOpacity
						}
					);
				},
				5000
		);
	}
}



/* AJAX windows */
function waitingScreen(){
	if (window.innerHeight){
		winHeight = parseInt(window.innerHeight);
		winWidth = parseInt(window.innerWidth);
	} else {
		winHeight = parseInt(document.documentElement.clientHeight);
		winWidth = parseInt(document.documentElement.clientWidth);
	}

	if (window.innerHeight){
		posY = window.pageYOffset;
		posX = window.pageXOffset;
	} else if (document.documentElement && document.documentElement.scrollTop) {
		posY = document.documentElement.scrollTop;
		posX = document.documentElement.scrollLeft;
	} else if (document.body) {
		posY = document.body.scrollTop;
		posX = document.body.scrollLeft;
	}

	winHeight -= 19;
	winWidth -= 220;
	winHeight = (winHeight - (winHeight%2))/2;
	winWidth = (winWidth - (winWidth%2))/2;
	if (winHeight < 10) winHeight = 10;
	if (winWidth < 10) winWidth = 10;
	posY += winHeight;
	posX += winWidth;


	$("dvWaiting").style.left = posX + "px";
	$("dvWaiting").style.top = posY + "px";
	$("dvWaiting").innerHTML = "<img src=\"/benecom/files_p.nsf/Lookup/waiting/$file/waiting.gif\" alt=\"\">";
	$("dvWaiting").style.display = "block";
	
	$("dvCover").style.display = "none";
	setOpacity();
}

function setOpacity() {
	var winHeight = 0;
	if (window.innerHeight)
		winHeight = parseInt(window.innerHeight);
	else
		winHeight = parseInt(document.documentElement.clientHeight);
	var cHeight = parseInt(findPosY($("dvFooter"))) + 40;
	if (cHeight < winHeight)
		cHeight = winHeight;
	$("dvCover").style.height = cHeight + "px";
	$("dvCover").style.display = "block";
	$("dvPopup").style.display = "block";

	window.setTimeout(
		 function(){
		 		 if ( document.getElementsByClassName("input").length > 0 ) {
		 		 		 document.getElementsByClassName("input")[0].focus();
		 		 }
		 }, 
		 200
	)
}

function clearOpacity() {
	window.setTimeout
		(
			function()
				{
					$("dvPopup").style.display = "none";
					$("dvCover").style.display = "none";
					$("dvPopup").innerHTML = "";
				},
				500
		);
}




