/* cookie scripts */

function GetCookieParam(param){
	var p='';
	p=document.cookie;
	i=p.indexOf(param+'=');
	if (i>=0) {
		p=p.substr(i);
		i=p.indexOf(';');
		if (i>=0) p=p.substr(0,i);
		i=p.indexOf('=');
		if (i>=0) p=p.substr(i+1);
		return p;
	}
	else return '';
}

//if (!document.cookie) {
if (document.cookie.indexOf('source=') < 0){
	var ref=document.referrer;
	if (ref=="") {
		ref=window.location.href;
	}
	window.document.cookie = "source=" + ref + "; path=/; domain="+window.location.host+";";
}

function isDocOpinionSet(documentID) {
	return (GetCookieParam( "opDocs" ).indexOf(documentID)>=0);
}

/* img script */

function img_act(imgName,obj) {
	if (obj.src) {
		obj.src=eval(imgName+".src");
	} else if (document[obj]) {
		document[obj].src=eval(imgName+".src");
	}
}

/* navigation scripts START */
function foldNav(obj){
	if (is_ignorable( obj ) )
		obj = obj.parentNode
	if ( obj.className.substr(obj.className.length-1, 1) == "R" ) {
		obj.className = obj.className.substr(0, obj.className.length-1);
		try {
			if (node_after(obj.parentNode).id.indexOf("_container") > -1){
				node_after(obj.parentNode).style.display = "none";
			}
		} catch (ex) {
			// nothing
		}
	} else {
		obj.className += "R";
		try {
			if (node_after(obj.parentNode).id.indexOf("_container") > -1){
				node_after(obj.parentNode).style.display = "block";
			}
		} catch (ex) {
			// nothing
		}
	}
}



function setNav(navID){
	refLayer = document.getElementById(navID);
	if (refLayer.firstChild.className.substr(refLayer.firstChild.className.length-1, 1) != "R"){
		refLayer.firstChild.className += "R";
		refLayer.firstChild.style.display = "block";
	}
	if ( refLayer.parentNode.id.indexOf("_container") > -1 ){
		refLayer.parentNode.style.display = "block";
		var prevSib = node_before(refLayer.parentNode);
		if (prevSib.firstChild.className.substr(prevSib.firstChild.className.length-1, 1) != "R"){
			prevSib.firstChild.className += "R";
		}
		foldNav(refLayer.parentNode.firstChild, 1);
	}
	try{
		if (node_after(refLayer).id.indexOf("_container") > -1 && node_after(refLayer).style.display == "none") {
			node_after(refLayer).style.display = "block"
		}
	} catch (ex){
		// nothing
	}
	if (refLayer.parentNode.parentNode.id != "dvContent"){
		setNav(node_before(refLayer.parentNode).id);
	}
}

/* navigation scripts END */


/* event scripts START */

function addEvent(elm, evType, fn, useCapture) {
	if (elm.addEventListener) {
		elm.addEventListener(evType, fn, useCapture);
		return true;
	}
	else if (elm.attachEvent) {
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	}
	else {
		elm['on' + evType] = fn;
	}
}

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	}
	else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

/* event scripts END */




/* teaserimage link */

function teaserImageLink(url){
	if (ie){
		window.open(url, "_self");
	}
}

// find position x and y
function findPosX(obj){
	var curleft = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}
function findPosY(obj){
	var curtop = 0;
	if (obj.offsetParent){
		while (obj.offsetParent){
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}



function printIt(){
	if (window.print) {
		window.print();
	} else {
		var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
		document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
		WebBrowser1.ExecWB(6, 2);	//Use a 1 vs. a 2 for a prompting dialog box WebBrowser1.outerHTML = "";
	}
}


// sticky navigation scripts START
var menu, pos, temp;
var theTop = 0;
var old = theTop;

function initMoveMenu() {
	if( document.getElementById("dvToolsInner") ){
		menu = $('dvToolsInner');
		movemenu();
	}
}

function movemenu(){
	if (window.innerHeight){
		pos = window.pageYOffset;
	}else if (document.documentElement && document.documentElement.scrollTop){
		pos = document.documentElement.scrollTop;
	}else if (document.body){
		pos = document.body.scrollTop;
	}

	if (pos < theTop){
		pos = theTop;
	}else{
		pos += theTop;
	}
	menu.style.top = pos + "px";
	temp = setTimeout('movemenu()',500);
}
// sticky navigation scripts END


addLoadEvent( initMoveMenu );


function trim(s) {
	return s.replace( /^\s*/, "" ).replace( /\s*$/, "" );
}


// Scripts for Lotus STARTS

// get lotus database
function GetDB() {
	var p='';
	p=window.location.href;
	i=p.indexOf('.nsf');
	if (i>0) {
		p=p.substr(0,i+4);
	} else {
		p="http://bene.com/benecom/Cont_de.nsf";
	}
	return p;
}

// Scripts for Lotus ENDS

/* default value des suchfeldes setzen / ausblenden */
function clearSearchInput( defaultText, obj ) {
	if ( obj.value == defaultText )
		obj.value = "";
}
function setSearchInput( defaultText, obj ) {
	if ( obj.value == "")
		obj.value = defaultText;
}

function GetParam(param){
	var p='';
	p=window.location.search;
	i=p.indexOf('&'+param);
	if (i>0) {
		p=p.substr(i+1);
		i=p.indexOf('&');
		if (i>0) p=p.substr(0,i);
		i=p.indexOf('=');
		if (i>0) p=p.substr(i+1);
		i=p.indexOf('#');
		if (i>0) p=p.substr(0,i);
		return decodeURIComponent(p);
	}
	else return '';
}


/* validierung der einfachen suche */
function chkFOsearch( defaultText, param ){
	if ( $F("Tsearch") == defaultText || checkText ($("Tsearch"), 'Please enter a search term!') == false ){
		alert('Please enter a search term!')
		$("Tsearch").focus();
		return false;
	} else {
		var db = param;
		if (param != '' && param != null ){
			db = param;
		} else {
			db = GetDB();
		}
		window.location.href = db + '/search?SearchView&Query=' + encodeURIComponent( document.FOsearch.Tsearch.value ) + '&Count=10&Start=1&SearchFuzzy=1&SearchMax=0&SearchWv=1&SearchOrder=3';
	}
}


/* validierung - hilfsfunktionen */

function checkText(FOfield, ERRtext){
	if (!FOfield.value){
		alert(ERRtext);
		FOfield.focus();
		return false;
	} else {
		return true;
	}
}

function checkTextarea(FOfield, ERRtext, FOfieldlength){
	if (FOfield.value.length > FOfieldlength){
		alert(ERRtext + FOfieldlength);
		FOfield.focus();
		return false;
	} else {
		return true;
	}
}

function checkList(fname,ftext){
	if (!fname.options[fname.selectedIndex].value || fname.options[fname.selectedIndex].value=="#"){
		alert(ftext);
		fname.focus();
		return false;
	} else {
		return true;
	}
}

function checkCheckbox(FOfield, ERRtext){
	if (!FOfield.checked == true){
		alert(ERRtext);
		FOfield.focus();
		return false;
	} else {
		return true;
	}
}

function checkRadio(FOfield, ERRtext){
	retVal = false;
	for (var i=0;i<FOfield.length;i++){
		if (FOfield[i].checked==true)
			retVal = true
	}
	if (retVal == false){
		alert(ERRtext);
		FOfield[0].focus();
	}
	return retVal;
}

function checkEmail(FOfield, ERRtext){
	var x = FOfield.value;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!filter.test(x)){
		alert(ERRtext);
		FOfield.focus();
		return false;
	} else {
		return true;
	}
}

function checkEmailList(FOfield, arrayValue, ERRtext){
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!filter.test(arrayValue)){
		alert(ERRtext);
		FOfield.focus();
		return false;
	} else {
		return true;
	}
}

function checkEmailSemicolon(FOfield, ERRtext){
	if (FOfield.value.indexOf(";") != -1){
		alert(ERRtext);
		FOfield.focus();
		return false;
	} else {
		return true;
	}
}

function checkUrl(FOfield, ERRtext){
	var x = FOfield.value;
	var filter  = /^http(s)?:\/\//;
	if (!filter.test(x)){
		alert(ERRtext);
		FOfield.focus();
		return false;
	} else {
		return true;
	}
}

function chkDate(FOfield, ERRtext){
	if (checkValidDate(FOfield.value) == false){
		alert(ERRtext);
		FOfield.focus();
		return false;
	} else {
		return true;
	}
}

function isDigit(theDigit){
	var digitArray = new Array('0','1','2','3','4','5','6','7','8','9'),j;
	for (j = 0; j < digitArray.length; j++)
		if (theDigit == digitArray[j])
			return true
	return false 
}

function isPositiveInteger(theString){
	var theData = new String(theString);
	if (!isDigit(theData.charAt(0)))
		if (!(theData.charAt(0)== '+'))
			return false
	
	for (var i = 1; i < theData.length; i++)
		if (!isDigit(theData.charAt(i)))
			return false
	return true 
}

function isDate(s){
	// datum in tag, monat, jahr zerlegen
	var a1=s.split(".");
	var e=true;
	// test auf tag UND monat UND jahr
	if (a1.length!=3)
		e=false
	else{
		if (isPositiveInteger(a1[0]) && isPositiveInteger(a1[1]) && isPositiveInteger(a1[2])){
			var d=a1[0];
			var m=a1[1];
			var y=a1[2];
			if (((e) && (y<1800)||y.length>4))
				e=false
			
			if (e){
				v=new Date(m+"/"+d+"/"+y);
				if (v.getMonth()!=m-1)
					e=false
			}
		}else
			e=false
	}
	return e;
}

function checkValidDate(v){
	if (!isDate(v))
		return false
	else
		return true
}


