function showHint(el,hint){
	if(!el.value){
		elHint=document.getElementById(hint);
		elHint.style.display="block";
	}
}

function hideHint(hint){
document.getElementById(hint).style.display="none";
}

function setHints(){
	var pwIn=document.getElementById("passwd");
	var emailIn=document.getElementById("login_email");
	var pwHint=document.getElementById("hintKennwort");
	var emailHint=document.getElementById("hintEmail");
	if(pwIn){
		emailHint.style.top=emailIn.offsetTop+"px";
		emailHint.style.left=emailIn.offsetLeft+"px";
		pwHint.style.top=pwIn.offsetTop+"px";
		pwHint.style.left=pwIn.offsetLeft+"px";
		if(!pwIn.value){
			pwHint.style.display="block";
		}
		
		if(!emailIn.value){
			emailHint.style.display="block";
		}
		
		emailHint.onclick=function(){
			this.style.display="none";
			document.getElementById("login_email").focus();
			}
		pwHint.onclick=function(){
			this.style.display="none";
			document.getElementById("passwd").focus();
		}
	//alert("pw left:"+pwIn.offsetLeft+" pw top:"+pwIn.offsetTop+" email left:"+emailIn.offsetLeft+" email top:"+emailIn.offsetTop);
	}
}



function validateform(myform,confirm)
{
	if(!validate){
		return true;
	}
	var error_string = val_lang['default'];
	var error_flag = false;
	var ff;
	var email1;
	var email2;
	var kennwort1;
	var  kennwort2;
	//alert(document.forms.length);

	//for(var i=0; i< document.forms.length; i++)
	//{
		//var f = document.forms[i];
		var f=myform;	
		for(var e=0; e<f.elements.length; e++)
		{ 
		  if(f.elements[e].disabled)
		  {
		  continue;
		  }
		
		  if(f.elements[e].name=="reg[email]"||f.elements[e].name=="reg[temail]")
			{ 
			 email1=e+1;		
			 
			}
			if(f.elements[e].name=="reg[emailcheck]"||f.elements[e].name=="reg[temailcheck]")
			{
			 email2=e+1;
			 
			}
			 if(f.elements[e].name=="reg[kennwort]"||f.elements[e].name=="reg[tkennwort]")
			{ 
			 kennwort1=e+1;		
			 
			}
			if(f.elements[e].name=="reg[kennwortcheck]"||f.elements[e].name=="reg[tkennwortcheck]")
			{
			 kennwort2=e+1;
			 
			}
			   
			if( typeof f.elements[e].onblur == "function" )
			{
				var func = f.elements[e].onblur;
				var cfunc = func.toString();
				if( cfunc.indexOf('notempty',cfunc) >= 0)
				{
					
				  if( typeof f.elements[e].value == "string")
				  {
				    if( f.elements[e].value.toString().length == 0 )
				    {
					if(error_flag == false)
						ff = f.elements[e];
					error_flag = true;
				    }
				  }
				  else
				  {
				    if( typeof f.elements[e].selectedIndex == "number" )
				    {
				       if( f.elements[e].selectedIndex < 1)
				       {
					  if(error_flag == false)
					     ff = f.elements[e];
					   error_flag = true;
				       }
				    }
				  }
				}
				
				if( cfunc.indexOf('validccno',cfunc) >= 0){
					if( f.elements[e].value.toString().length == 0 ){
						if(error_flag == false)
							ff = f.elements[e];
	          
						error_flag = true;
					}
					if( validccno(f.elements[e].value) <= 0){
						
						ff = f.elements[e];
						error_flag = true;
						error_string = val_lang['CCNo'];
					}
				}
				
				
				if(cfunc.indexOf('echeck',cfunc)>=0)
				{
				 if(f.elements[e].value.toString().length==0)
				 {
				 	if(error_flag==false)
					   ff=f.elements[e];
						 error_flag=true
				 }
				 
				 if(echeck(f.elements[e].value.toString())<=0)
				 {
				  if(error_flag==false)
					{
				 	ff=f.elements[e];
					error_flag=true;
					error_string=val_lang['email'];
					}
				 }
				}
				
				if(cfunc.indexOf('fachkchecked',cfunc)>=0){
				
				if( !(f.elements[e].checked) ){
						ff = f.elements[e];
						error_flag = true;
						error_string = val_lang['fachk']
					}
				
				}

				if( cfunc.indexOf('agbchecked',cfunc) >= 0){
					if( !(f.elements[e].checked) ){
						ff = f.elements[e];
						error_flag = true;
						error_string = val_lang['agb']
					}
				}
				
				if(cfunc.indexOf('datecheck',cfunc)>=0){
				
				if( !(f.elements[e].checked) ){
						ff = f.elements[e];
						error_flag = true;
						error_string = val_lang['date']
					}
				
				}
				
				

				
			}
		//}
	}
	
	
	if(email1&&email2)
	{
	
	 if(compare(f.elements[email1-1].value.toString(),f.elements[email2-1].value.toString())<=0)
	 {
	 if(error_flag==false)
	 {
	 ff=f.elements[email2-1];
	 error_flag=true;
	 error_string=val_lang['oemail'];
	 }
	 }
	 
	}
	
	if(kennwort1&&kennwort2)
	{
	
	 if(compare(f.elements[kennwort1-1].value.toString(),f.elements[kennwort2-1].value.toString())<=0)
	 {
	 if(error_flag==false)
	 {
	 ff=f.elements[kennwort2-1];
	 error_flag=true;
	 error_string=val_lang['pass'];
	 }
	 }
	 
	}

   
	if(error_flag)
	{
		alert(error_string);
		ff.focus();
		return(false);
	}
	else
	{
		if(confirm==1)
		{
		temp = window.confirm(val_lang['accept']);
    if(temp) return(true);
   else return(false);
	 }
	 
	}
}

function unsetDefaults(myForm){
var f=myForm;	
		for(var e=0; e<f.elements.length; e++)
		{ 
		
if( (f.elements[e].type!='hidden')&&(f.elements[e].value== f.elements[e].defaultValue)){
					f.elements[e].value="";
					}
   }
				
}



function notempty(oelem)
{
	//dummyfunktion;
	
	return (true);
}



function agbchecked(oelem){
        return (true);
}

function fachkchecked(oelem){
return (true);
}

function compare(strg1,strg2)
{
var myStrg1=strg1; 
var myStrg2=strg2; 
if(strg1!='')myStrg1=Trim(strg1);
if(strg2!='')myStrg2=Trim(strg2);

//return (true);
if(myStrg1==myStrg2)
{

return(1);
}
else
{ 

return(-1);
}
}

	function validccno(num) {
		var s=new String(num);
		var r=new String();
		for(var i=0;i<s.length;i++) {
			if((!isNaN(s.charAt(i))) && (s.charAt(i)!=" "))
				r+=s.charAt(i);
		}
		num = r;
		var i,len,x=0,y=0,v=0;
		var s=new String(num);
		if(s.length<12) v=0;
		else {
			len=s.length;
			if(odd(len)) {
				for(i=(len-2);i>=0;--i) {
					if(odd(i)) y=((s.charAt(i)-'0')*2);
					else y=(s.charAt(i)-'0');
					if(y>=10) y=((y-10)+1);
					x+=y;
				}
			}
			else {
				for(i=(len-2);i>=0;--i) {
					if(odd(i)) y=(s.charAt(i)-'0');
					else y=((s.charAt(i)-'0')*2);
					if(y>=10) y=((y-10)+1);
					x+=y;
				}
			}
			x=(10-(x%10));
			if(x==10) x=0;
			if(x==(s.charAt(s.length-1)-'0')) v=s.charAt(0);
			else v=0;
		}
		return(parseInt(v));
	}	

	function odd(n) {
		if(n & 0x0001) return(1);
		else return(0);
	}	
	
	function echeck(str) 
	{
	 
	 var myMail;
	 if(str!='')
	 {
	 myMail= Trim(str).toLowerCase(); 
	 //if (myMail.match(/^\+?[a-z0-9](([-+.]|[_]+)?[a-z0-9]+)*@([a-z0-9]+(\.|\-))+[a-z]{2,6}$/))
	 if (myMail.match(/^[\d\w\/+!=#|$?%{^&}*`'~-][\d\w\/\.+!=#|$?%{^&}*`'~-]*@[A-Z0-9][A-Z0-9.-]{0,61}[A-Z0-9]\.[A-Z]{2,6}$/i))
	 return(1);
	 else return(-1);
	 }
	 else
	 return(-1);
		 
	}

function userconfirm(oform){
	var info_string=val_lang['action']+oform.id.substr(2)+":\n\n";
	var ins;
	var kvnr;
	var status;
	var sel=oform.getElementsByTagName('select')[0];
	info_string+=val_lang[sel.options[sel.selectedIndex].value];
	var temp = window.confirm(info_string);
	if(temp){
		return(true);
	}
	else{
		return(false);
	}
}


function LTrim(str) 
{ for (var i=0; str.charAt(i)<=" "; i++);
 return str.substring(i,str.length);
 }

function RTrim(str) 
{ for (var i=str.length-1; str.charAt(i)<=" "; i--); 
  return str.substring(0,i+1);
}

function Trim(str) 
{ 
return LTrim(RTrim(str)); 
} 





function hideDefault(inVal){
	if(inVal.value==inVal.defaultValue){
		inVal.value="";
 	}
}		

function setDefault(inVal){
	if(inVal.value.toString().length<=1){
		inVal.value=inVal.defaultValue;
   }
}


function changeType(target,myType){
   var inp = document.createElement("input");
   inp.name = target.name;
   inp.id = target.id;
   inp.defaultValue=target.defaultValue;
   inp.value=target.value;
	var parent = target.parentNode;

	if(myType=="password"){
		var fcs = true;
		inp.type = myType;
		inp.onblur=function(){
								setDefault(this);
								changeType(this,'text');
								notempty();
							  };
	}

	if(myType=="text"){
		if(target.value==target.defaultValue){
			inp.type = myType;
		}
		else{
			inp.type="password";
		}
		inp.onfocus=function(){
								hideDefault(this);
								changeType(this,'password');
					 	   	  };
	   inp.onblur=function(){
	   							notempty();
	   						}
	}


	parent.insertBefore(inp, target);
	parent.removeChild(target);

	if(fcs) {
		inp.focus();
		inp.select();
	}
  
}


function enableOG(select){
 if(select.options[select.selectedIndex].value=='og'){
	document.getElementById('ogval'+select.id).disabled=false;
	document.getElementById('ogval'+select.id).style.visibility='visible';
    document.getElementById('logval'+select.id).style.visibility='visible';

 }
 else{
	document.getElementById('ogval'+select.id).disabled=true;
	document.getElementById('ogval'+select.id).style.visibility='hidden';
	document.getElementById('logval'+select.id).style.visibility='hidden';

 }
}

function hideOgIn(){
	var inputs=document.getElementsByTagName('input');
 		for(var ins=0;ins<inputs.length;ins++){
 			if(inputs[ins].id.indexOf('ogvalart')>=0){
 	 			inputs[ins].disabled=true;
 	 			inputs[ins].style.visibility='hidden';
 			}
 		}
	var labels=document.getElementsByTagName('label');
		for(var lbl=0;lbl<labels.length;lbl++){
			if(labels[lbl].id.indexOf('logvalart')>=0){
 	 			labels[lbl].style.visibility='hidden';
 			}
		}

}

function enableOGStartValue(){
  var selects=document.getElementsByTagName('select');
  for(var sels=0;sels<selects.length;sels++){
  	if(selects[sels].id.indexOf('art')>=0){
  		
  		enableOG(selects[sels]);
  	}
  }
}

var val_lang=new Array();
val_lang['default']="Bitte füllen Sie alle erforderlichen\nEingabefelder aus!\n";
val_lang['CCNo']="Ungültige Kreditkartennummer!\nBitte korrigieren Sie Ihre Eingabe.";
val_lang['email']="Ungültige Email-Adresse!\nBitte korrigieren Sie Ihre Eingabe";
val_lang['agb']="Sie können keinen Auftrag absenden\nbevor Sie nicht unsere AGB's sowie Zahlungs- und Lieferbedingungen\nanerkannt haben!";
val_lang['fachk']="Bitte bestätigen Sie, dass Instandsetzungsarbeiten durch Elektrofachkräfte erfolgen.";
val_lang['oemail']="Keine übereinstimmende Email-Adresse!\nBitte Korrigieren Sie Ihre Eingabe!";
val_lang['pass']="Keine übereinstimmendes Passwort!\nBitte Korrigieren Sie Ihre Eingabe!";
val_lang['accept']="Sollen Diese Änderungen \nübernommen werden?";
val_lang['action']="Aktion zu Auftragsnummer ";
val_lang['102']="Auftrag mit Optionen genehmigen";
val_lang['397']="Auftrag (ohne Optionen) genehmigen";
val_lang['103']="Gerät entsorgen";
val_lang['395']="Gerät unrepariert zurückschicken und Neugerät liefern";
val_lang['396']="Gerät entsorgen und Neugerät liefern";
val_lang['111']="Gerät unrepariert zurückschicken";

window.onload=function(){
	setHints();
	hideOgIn();
	enableOGStartValue();
	
}

var validate=true;
function doValidate(tf){
	validate=tf;
}
