//----------------------------------------------------------------------------------------
//  Copyright (c) 2006 CodeLab Solutions AG.
//  $Author: reto.ruemmeli $ $;
//----------------------------------------------------------------------------------------->

var newWindow = null;
var changed = false;

// browsercheck
var isMozila = (!document.all && document.getElementById) ? 1 : 0;	
var isMinNS4 = (!isMozila && navigator.appName.indexOf("Netscape") >= 0 && parseFloat(navigator.appVersion) >= 4) ? 1 : 0;
var isMinIE4 = (document.all) ? 1 : 0;
var isMinIE5 = (isMinIE4 && navigator.appVersion.indexOf("MSIE 5.") >= 0 || isMinIE4 && navigator.appVersion.indexOf("MSIE 6.") >= 0 ) ? 1 : 0;
var isMinIE6 = (isMinIE5&&navigator.appVersion.indexOf("MSIE 5.5") >= 0 || isMinIE5&&navigator.appVersion.indexOf("MSIE 6.") >= 0 ) ? 1 : 0;

// liest ein element browserunabhängig aus
function getElement(element){
	if (isMinIE4){
		obj=eval("document.all." + element);
		if (obj.length){
			return eval("document.all." + element + "[0]");
		}else{
			return eval("document.all." + element);
		}
	}
	if (isMozila){
    	return eval("document.getElementById('" + element + "')");
	}
	if (isMinNS4){
		return eval("document." + element );
	}
}

function setMsg(msg) {
    window.status = unescape(msg);
    return true;
}

function askMsg(msg) {
	if (confirm(msg)){
		return true;}
	return false
}

function checkDelete(text){
	return confirm(text);
}

function goPage(link) {
	window.document.location.href=link;
}

function submitPage(link,form) {
	form.action=link;
	form.submit();
}

function openWindow(file,name,w,h,scroll) {
	if(scroll == undefined){
		scroll='no';
	}
	var xPos=(screen.width-w) / 2;
	var yPos=(screen.height-h) / 2;
	//window.open(file);
	window.open(file,name,'resizable=no,width='+w+',height='+h+',left='+xPos+',top='+yPos+',status=no,toolbar=no,scrollbars='+ scroll);
}	

function openDialog(file,name,w,h,res) {
	if (res){xres='yes'}else{xres='no'}
	var win = window.showModalDialog(file,name,'dialogWidth:'+w+'px;dialogHeight:'+h+'px;help:no;status:no;scroll:no;resizable:'+ xres);
}

function preloadImages(arrImages){
	arrLoad=new Array();
	for (i=0; i < arrImages.length;++i){
		arrLoad[i]= new Image();
		arrLoad[i].src='#application.base#image/' + arrImages[i];
	}
}

function rolloverImage(cellName, imageName){
	if(document.images){
		document[cellName].src = imageName;
	}
}

function trim(str){
	while('' + str.charAt(0)==' ')
		str=str.substring(1,str.length);
	while('' + str.charAt(str.length-1)==' ')
		str=str.substring(0,str.length-1);
	return str;
}

//spez-field +
function add_value(thisform,fieldname,maxval) {
	if (document.forms[thisform].elements[fieldname].disabled==false){
		var iCount=0;
		if(maxval != 9999){
			var step=1;
		}else{
			var step=1;
		}
		iCount = document.forms[thisform].elements[fieldname].value;
		if (isNaN(iCount)){
			iCount=1;
		}else{
			iCount=eval(iCount);
			if (iCount>=maxval){
				iCount=maxval;
			}else{
				iCount=iCount+step;
			}
		}
		//showSave();
		document.forms[thisform].elements[fieldname].value=iCount;
		document.forms[thisform].elements[fieldname].focus();
	}
}
//spez-field -
function sub_value(thisform,fieldname,minval) {
	if (document.forms[thisform].elements[fieldname].disabled==false){
		var iCount=0;
		var step=minval;
		iCount = document.forms[thisform].elements[fieldname].value;
		if (isNaN(iCount)){
			iCount=1;
		}else{
			iCount=eval(iCount);
			if (iCount <= minval){
				iCount=1;
			}else{
				iCount=iCount-minval;
			}
		}
		//showSave();
		document.forms[thisform].elements[fieldname].value=iCount;
		document.forms[thisform].elements[fieldname].focus();
	}
}
//spez-field validation
function check_value(thisform,fieldname,minval,maxval) {
	var iCount=0;
	iCount = document.forms[thisform].elements[fieldname].value;
	if (isNaN(iCount) || iCount == ''){
		iCount=minval;
	}else{
		iCount=eval(iCount);
		if (iCount>maxval){
			iCount=maxval;
		}else if (iCount<minval){
			iCount=minval;
		}
	}
	document.forms[thisform].elements[fieldname].value=iCount;
}

// set the focus 
function setFocus(frmName, objName){
	if (objName){
		document.forms[frmName].elements[objName].focus();
	}
   	else if (document.forms.length > 0){
		for(var i=0; i < document.forms[frmName].elements.length; i++){
			//alert(document.forms[0].elements[i].type);
			if ((document.forms[frmName].elements[i].type=='checkbox') || (document.forms[frmName].elements[i].type=='text') || (document.forms[frmName].elements[i].type=='radio')|| (document.forms[frmName].elements[i].type=='select-one')){
				document.forms[frmName].elements[i].focus();
				break; 
			}
		}
	}
}

function getCookie(name) {
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1) {
		begin = dc.indexOf(prefix);
	if (begin != 0) return null;
		} else
		begin += 2;
	
	var end = document.cookie.indexOf(";", begin);
	if (end == -1)
		end = dc.length;
	return unescape(dc.substring(begin + prefix.length, end));
}

function setCookie(name, value, expires, path, domain, secure) {
	var curCookie = name + "=" + escape(value) +
	((expires) ? "; expires=" + expires.toGMTString() : "") +
	((path) ? "; path=" + path : "") +
	((domain) ? "; domain=" + domain : "") +
	((secure) ? "; secure" : "");
	document.cookie = curCookie;
}

function deleteCookie(name, path, domain) {
if (getCookie(name)) {
	document.cookie = name + "=" + 
	((path) ? "; path=" + path : "") +
	((domain) ? "; domain=" + domain : "") +
	"; expires=Thu, 01-Jan-70 00:00:01 GMT";}
}

function checkEmail(form,field,msg){
	var err=0;
	email=document.forms[form].elements[field].value;
	part1=email.substring(0,email.indexOf('@'));
	part2=email.substring(email.indexOf('@')+1,99);
	domain1=part2.substring(0,part2.indexOf('.'));
	domain2=part2.substring(part2.indexOf('.')+1,99);
	if (email.length < 7)
		err=1;
	if (part1.length < 1)
		err=2;
	if (domain1.length < 2)
		err=3;
	if ((domain2.length < 2) || (domain2.length > 5))
		err=4;
	if (email.indexOf('@') == -1)
		err=5;
	if (email.indexOf('@') == email.length-1)
		err=6;
	if (email.indexOf('@') == 1)
		err=7;
	if (part2.indexOf('@') > 0)
		err=8;
	if (email.indexOf('.') < 0)
		err=9;
	if (email.indexOf(',') > 0)
		err=10;
	if (email.indexOf(',') > 0)
		err=10;
	if (email.indexOf(' ') > 0)
		err=10;
	if (email.indexOf('~') > 0)
		err=10;
	if (email.indexOf('`') > 0)
		err=10;
	if (email.indexOf('!') > 0)
		err=10;
	if (email.indexOf('$') > 0)
		err=10;
	if (email.indexOf('%') > 0)
		err=10;
	if (email.indexOf('£') > 0)
		err=10;
	if (email.indexOf('#') > 0)
		err=10;
	if (email.indexOf('^') > 0)
		err=10;
	if (email.indexOf('&') > 0)
		err=10;
	if (email.indexOf('*') > 0)
		err=10;
	if (email.indexOf('(') > 0)
		err=10;
	if (email.indexOf(')') > 0)
		err=10;
	if (email.indexOf('+') > 0)
		err=10;
	if (email.indexOf('=') > 0)
		err=10;
	if (email.indexOf('{') > 0)
		err=10;
	if (email.indexOf('}') > 0)
		err=10;
	if (email.indexOf('[') > 0)
		err=10;
	if (email.indexOf(']') > 0)
		err=10;
	if (email.indexOf('¦') > 0)
		err=10;
	if (email.indexOf('|') > 0)
		err=10;
	if (email.indexOf('/') > 0)
		err=10;
	if (email.indexOf(':') > 0)
		err=10;
	if (email.indexOf(';') > 0)
		err=10;
	if (email.indexOf('<') > 0)
		err=10;
	if (email.indexOf('>') > 0)
		err=10;
	if (email.indexOf('?') > 0)
		err=10;
		
	if (err > 0){
		alert(msg);
		return false;
	}
	return true;
}


