//** Dynamic Drive Equal Columns Height script v1.01 (Nov 2nd, 06)
//** http://www.dynamicdrive.com/style/blog/entry/css-equal-columns-height-script/

var ddequalcolumns=new Object()
//Input IDs (id attr) of columns to equalize. Script will check if each corresponding column actually exists:
ddequalcolumns.columnswatch=["leftcolumn", "rightcolumn", "contentcolumn"]

ddequalcolumns.setHeights=function(reset){
var tallest=0
var resetit=(typeof reset=="string")? true : false
for (var i=0; i<this.columnswatch.length; i++){
if (document.getElementById(this.columnswatch[i])!=null){
if (resetit)
document.getElementById(this.columnswatch[i]).style.height="auto"
if (document.getElementById(this.columnswatch[i]).offsetHeight>tallest)
tallest=document.getElementById(this.columnswatch[i]).offsetHeight
}
}
if (tallest>0){
for (var i=0; i<this.columnswatch.length; i++){
if (document.getElementById(this.columnswatch[i])!=null)
document.getElementById(this.columnswatch[i]).style.height=tallest+"px"
}
}
}

ddequalcolumns.resetHeights=function(){
this.setHeights("reset")
}

ddequalcolumns.dotask=function(target, functionref, tasktype){ //assign a function to execute to an event handler (ie: onunload)
var tasktype=(window.addEventListener)? tasktype : "on"+tasktype
if (target.addEventListener)
target.addEventListener(tasktype, functionref, false)
else if (target.attachEvent)
target.attachEvent(tasktype, functionref)
}

ddequalcolumns.dotask(window, function(){ddequalcolumns.setHeights()}, "load")
ddequalcolumns.dotask(window, function(){if (typeof ddequalcolumns.timer!="undefined") clearTimeout(ddequalcolumns.timer); ddequalcolumns.timer=setTimeout("ddequalcolumns.resetHeights()", 200)}, "resize")


function validate() 
{
var strFehler=''; 
if (document.forms[0].Name_A_required.value=="") 		{strFehler += "Name - field is empty\n";}
if (document.forms[0].Vorname_A_required.value=="") {strFehler += "Prename - field is empty\n";}
if (document.forms[0].Adresse_A_required.value=="") {strFehler += "Adress - field is empty\n";}

if (document.forms[0].PLZ_N_required.value.length<4) 	{strFehler += "Postal code - value lenght\n";}
if (!IsCharOK(document.forms[0].PLZ_N_required.value)){strFehler += "Postal code - invalid characters\n";} 

if (document.forms[0].Ort_A_required.value=="") {strFehler += "City - field is empty\n";}
if (document.forms[0].Land_A_required.value=="") {strFehler += "Country - field is empty\n";}

if (document.forms[0].Telefon_N_required.value.length<4) 	{strFehler += "Telephone number - value lenght\n";}
if (!IsCharOK(document.forms[0].Telefon_N_required.value)) 	{strFehler += "Telephone number - invalid characters\n";} 

if (strFehler.length>0)		{alert("Please check the following form fields for correct values: \n\n"+strFehler); return(false);} 
if (strFehler.length=='') 	{document.forms[0].submit(); return(true);} 
}

function IsCharOK(str)
{
var ValidChars = " +()-0123456789";
var Char;
for (i = 0; i < str.length; i++) 
	{ 
	Char = str.charAt(i); 
	if (ValidChars.indexOf(Char) == -1) {return(false);}
	}
return(true);
}

function isEmail(s)
{
 var a = false;
 var res = false;
 if(typeof(RegExp) == 'function')
 {
  var b = new RegExp('abc');
  if(b.test('abc') == true){a = true;}
  }

 if(a == true)
 {
  reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
                   '(\\@)([a-zA-Z0-9\\-\\.]+)'+
                   '(\\.)([a-zA-Z]{2,4})$');
  res = (reg.test(s));
 }
 else
 {
  res = (s.search('@') >= 1 &&
         s.lastIndexOf('.') > s.search('@') &&
         s.lastIndexOf('.') >= s.length-5)
 }
 return(res);
} 



// Package	: JavaScript Assist Tools
// Programmer	: R. Stolfa (rstolfa@yahoo.com)
// Module	: autotab()
// SCCSid	: %Z% %M% %I% %D%
//
// Purpose :	autotab moves the browser focus to the "next" element
//		once the current one is "full".  Here the form name is
//		set to "ABCDEF" so that you can change it easily
//
// Modification History:
//   19970731	Created
//
function autotab(fn, fl) {
        var i;
        var idx;
        var next;        
        var docele;
        
        idx = -1;        
        for (i = 0; i < document.myForm.length; i ++) {
                if (document.myForm.elements[i].name == fn.name)
                        idx = i;
        }                
        if (idx != -1) {
                // Find the next 'field'
                next = idx + 1;
                if (next >= document.myForm.length)
                        next = 0 

                // Figure out the length of the given element.                        
                docele = document.myForm.elements[idx].value;
                if (docele.length == fl) {
                        document.myForm.elements[next].focus();
                }
        }        
}



