
var error_text="";var state=0;function checkchanged(element){if(eval("document.forms.f1."+element).length&&!eval("document.forms.f1."+element).type){for(i=0;i<eval("document.forms.f1."+element).length;i++){if(eval("document.forms.f1."+element)[i].checked){return true;}}}else{if(eval("document.forms.f1."+element).type=="text"){if(eval("document.forms.f1."+element).value.length!=0){return true;}else{return false;}}else{if(eval("document.forms.f1."+element).selectedIndex!=0){return true;}else{return false;}}}}
function checkselected(field,option){var arr=option.split('|');for(i=0;i<arr.length;i++){if(eval("document.forms.f1."+field).length&&!eval("document.forms.f1."+field).type){for(j=0;j<eval("document.forms.f1."+field).length;j++){if(eval("document.forms.f1."+field)[j].checked&&eval("document.forms.f1."+field)[j].value==arr[i]){return true;}}}else{if(eval("document.forms.f1."+field).selectedIndex==arr[i]){return true;}}}
return false;}
function checklogic(check,name,field,option,addition,hardsoft){if(!checkselected(field,option)&&(checkchanged(check)||(addition&&checkchanged(addition))))
return false;else
return true;}
function checkcross(check,field,option,name,hardsoft){if(!checkvalue(field,'==',option)&&checkchanged(check))
return false;else
return true;}
function checkmisc(check,name,field,option,hardsoft){if(!checkselected(field,option)&&checkchanged(check))
return false;else
return true;}
function checkrange(check,from,until){if(!checkobject(check))return false;if(!isNaN(Number(getvalue(check)))&&(Number(getvalue(check))>=Number(from)&&Number(getvalue(check))<=Number(until)))
return true;else
return false;}
function checkformat(check,format){if(!checkobject(check))return false;var string=getstrvalue(check);var suche=eval("/^["+format+"]*$/");if(!suche.test(string))
return true;else
return false;}
function matches(check,format){if(!checkobject(check))return false;var string=getstrvalue(check);var suche=eval(make_format(format));if(suche.test(string))
return true;else
return false;}
function not_matches(check,format){if(!checkobject(check))return false;var string=getstrvalue(check);var suche=eval(make_format(format));if(!suche.test(string))
return true;else
return false;}
function not_only_numbers(check)
{if(!checkobject(check))return false;regx=/^\s*[0-9]+\s*[.,]*\s*[0-9]*\s*$/;var value=getstrvalue(check);if(value.search(regx)==-1)
return true;else
return false;}
function checkemail(check,name,hardsoft){if(!checkobject(check))return false;var regx=/^([a-z0-9\._-]*)@([a-z0-9\.-]{2,66})\.([a-z]{2,6})$/i;var value=getstrvalue(check);if(regx.test(value))
return false;else
return true;}
function checknumbox(check,name,dir,num,hardsoft){if(eval("document.forms.f1."+check)[0].type=="checkbox"){var i=0;for(j=0;j<eval("document.forms.f1."+check).length;j++){if(eval("document.forms.f1."+check)[j].checked){i++;}}
if(!eval('i '+dir+' num'))
return false;else
return true;}else{alert('wrong field type');}}
function make_format(format)
{var regx=/^\/.*\/i?$/;if(!regx.test(format))
{format='/'+format+'/';}
return format;}
function checkvalue(field,condition,option){var arr=option.split('|');for(i=0;i<arr.length;i++){if(eval("document.forms.f1."+field).length&&!eval("document.forms.f1."+field).type){for(j=0;j<eval("document.forms.f1."+field).length;j++){if(isNaN(arr[i])||arr[i]==""){if(eval("document.forms.f1."+field)[j].checked&&eval("document.forms.f1."+field+"["+j+"].value "+condition+" '"+arr[i]+"'")){return true;}}else{if(eval("document.forms.f1."+field)[j].checked&&eval("document.forms.f1."+field+"["+j+"].value "+condition+" "+arr[i]+"")){return true;}}}}else if(eval("document.forms.f1."+field).type=="text"||eval("document.forms.f1."+field).type=="hidden"){if(condition.indexOf('regx')!=-1){if(condition=="onlyregx"){var string=eval("document.forms.f1."+field).value;var suche=eval("/^"+arr[i]+"$/;");if(!suche.test(string)){return true;}}else if(condition=="noregx"){var string=eval("document.forms.f1."+field).value;var suche=eval("/"+arr[i]+"/;");if(suche.test(string)){return true;}}else if(condition=="regx"){var string=eval("document.forms.f1."+field).value;var suche=eval("/"+arr[i]+"/;");if(!suche.test(string)){return true;}}}else{if(isNaN(arr[i])||arr[i]==""){if(eval("document.forms.f1."+field+".value "+condition+" '"+arr[i]+"'")){return true;}}else{if(eval("document.forms.f1."+field+".value "+condition+" "+arr[i]+"")){return true;}}}}else{if(eval("document.forms.f1."+field+".selectedIndex "+condition+" "+arr[i]+"")){return true;}}}
return false;}
function textfocus(fe){var firstnothidden=0;if(fe!=1){var fe=0;}
var maxformlength=document.forms.f1.length;if(maxformlength==0)return;while((document.forms.f1[firstnothidden])&&(document.forms.f1[firstnothidden].type=="hidden")&&(firstnothidden<maxformlength))
{if((document.forms.f1[firstnothidden]!="undefined"))firstnothidden++;if((document.forms.f1[firstnothidden]=="undefined"))break;}
if((document.forms.f1[firstnothidden]!="undefined")&&(fe!=1)){if((document.forms.f1[firstnothidden])&&((document.forms.f1[firstnothidden].type=="text")||(document.forms.f1[firstnothidden].type=="textarea"))){document.forms.f1[firstnothidden].focus();}}}
function checkobject(check)
{var obj2=eval("document.forms.f1."+check);if(typeof obj2=="undefined")
return false;return true;}
function ishidden(field){if(field=='v_hidden')
return 1;else
return 0;}
function getvalue(field){if(field=='v_hidden')
return 0;if(!checkobject(field))return false;var value="";var obj=eval("document.forms.f1."+field);if(!obj)
{return 0;}
var istext=false;if(obj.type=="text"||obj.type=="textarea"||obj.type=="hidden"){value=obj.value;istext=true;}
else if(obj.length>0&&!obj.type)
{for(j=0;j<obj.length;j++){if(obj[j].checked){value=eval("document.forms.f1."+field+"["+j+"].value");break;}}}
else if(obj.type=="checkbox"||obj.type=="radio")
{if(obj.checked){value=obj.value;}else{value=0;}}
else
{if(document.forms['f1'].elements[field].selectedIndex==-1)
value=0;else
value=eval("document.forms[0]."+field+".options[document.forms[0]."+field+".selectedIndex].value");}
var regx=/^\s*[\'|\\\"]?([ 0-9,]*)[\'|\\\"]?\s*$/i;if(regx.test(value)&&value!==0){value=value.replace(/,/,".");}
if(value==='')
return'';else if(isNaN(value))
return value;else
return Number(value);}
function getstrvalue(field){if(field=='v_hidden')
return 0;if(!checkobject(field))return false;var value="";var obj=eval("document.forms.f1."+field);if(!obj)
{return 0;}
if(obj.type=="text"||obj.type=="textarea"||obj.type=="hidden"){value=obj.value;}
else if(obj.length>0&&!obj.type)
{for(j=0;j<obj.length;j++){if(obj[j].checked){value=eval("document.forms.f1."+field+"["+j+"].value");break;}}}
else if(obj.type=="checkbox")
{if(obj.checked){value=obj.value;}else{value=0;}}else{value=eval("document.forms[0]."+field+".options[document.forms[0]."+field+".selectedIndex].value");}
return value+'';}
function checkrange_old(check,from,until,name,hardsoft){if(isNaN(eval("document.forms.f1."+check).value)||(Number(from)>eval("document.forms.f1."+check).value||Number(until)<eval("document.forms.f1."+check).value)){if(hardsoft==0)state=1;error_text+=name+"<br>\n";}}
function checkemail_old(check,name,hardsoft){var regx=/^([a-z0-9\._-]*)@([a-z0-9\.-]{2,66})\.([a-z]{2,6})$/i;if(eval("document.forms.f1."+check).value.search(regx)==-1){if(hardsoft==0)state=1;error_text+=name+"<br>\n";}}
function checkcross_old(check,field,option,name,hardsoft){if(!checkvalue(field,'==',option)&&checkchanged(check)){if(hardsoft==0)state=1;error_text+=name+"<br>\n";}}
function checkformat_old(check,format,name,hardsoft){var string=eval("document.forms.f1."+check).value;var suche=eval("/^["+format+"]*$/;");if(!suche.test(string)||!string){if(hardsoft==0)state=1;error_text+=name+"<br>\n";}}
function pow(base,exp)
{return Math.pow(base,exp);}
function sqr(value)
{return value*value;}
function sqrt(value)
{return value>0?Math.sqrt(value):0;}
function round(value)
{return Math.round(value);}
function floor(value)
{return Math.floor(value);}
function ceil(value)
{return Math.ceil(value);}
function truncate(value)
{return value<0?ceil(value):floor(value);}
function setval(value)
{if(value<1)
return 0;return 1;}
function abs(value)
{return Math.abs(value);}
function pos(value)
{return(value<0?0:value);}
function neg(value)
{return(value>0?0:value);}
function sgn(value)
{return(value>0?1:(value<0?-1:0));}
function min(value1,value2)
{return Math.min(value1,value2);}
function max(value1,value2)
{return Math.max(value1,value2);}
function isodd(value)
{return truncate(value)%2!=0;}
function iseven(value)
{return(truncate(value)%2==0);}
function ispositive(value)
{return(value>0);}
function isnegative(value)
{return(value<0);}
function iszero(value)
{return(value==0);}
function issamestring(value1,value2)
{return(trim(lowercase(value1))==trim(lowercase(value2)));}
function trim(value)
{return new String(value).replace(/(^\s+|\s+$)/g,'');}
function lowercase(value)
{return new String(value).toLowerCase();}
function uppercase(value)
{return new String(value).toUpperCase();}
function netstringlength(value)
{return new String(value).replace(/\s+/g,'').length;}
function stringlength(value)
{return new String(value).length;}
function isblank(value)
{return netstringlength(value)==0;}
function isnumber(value)
{return new String(value).match(/^-?\d+(\.\d+)?$/g);}
function isint(value)
{return new String(value).match(/^-?\d+$/g);}
function isalpha(value)
{return new String(value).match(/^[a-z]+$/ig);}
function isalphanumeric(value)
{return new String(value).match(/^[a-z0-9]+$/ig);}
function isalpha_de(value)
{return new String(value).match(/^[a-z�������]+$/ig);}
function isalphanumeric_de(value)
{return new String(value).match(/^[a-z0-9�������]+$/ig);}
function isvaliddate(value)
{return new String(value).match(/^((((((0)?[1-9])|(1\d)|(2[0-8]))(\.|\/|-\s*)(((0)?[1-9])|(1[0-2])))|((31(\.|\/|-\s*)(((0)?[13578])|(1[02])))|((29|30)(\.|\/|-\s*)(((0)?[1,3-9])|(1[0-2])))))(\.|\/|-\s*)((((19|20))?[0-9][0-9]))|(29(\.|\/|-\s*)(0)?2(\.|\/|-\s*)((19|20))?(([02468][048])|([13579][26]))))$/g);}
function ismissing(value)
{return(value=='-77'||value=='-66'||value==-77||value==-66||value===0||value==='0'||value==''||value===null);}
function isinrange(value,min,max)
{if(min>max)
{return value<=min&&value>=max;}else
{return value>=min&&value<=max;}}
function accessval(val)
{return getvalue(val);}
function getmonthdiff(year,month)
{year=Number(year);month=Number(month);return(year-new Date().getFullYear())*12+(month-new Date().getMonth());}
