/**
 (C) Copyright symentis GmbH, 2006 - All Rights Reserved.
 $Revision: $ $Date: $
 * @author roos
 * @version $Revision: $ $Date: $
*/

//-----------------------------------------------------------------
// register and check required form fields
// if one field is empty, alert and set the focus to the field
var requiredFields = new Array();
var emailFields = new Array();

//
// Add an required field
function addEmailField(name) {
 emailFields[emailFields.length] = name;
}

//
// Add an required field
function addRequiredField(name) {
 requiredFields[requiredFields.length] = name;
}
//
// Validate Form
function validateForm(message,message_email) {
 // check if all fields filled
 for (i = 0; i < requiredFields.length; i++){
  if (document.forms[0].elements[requiredFields[i]].value == ""){
   alert(message);
   document.forms[0].elements[requiredFields[i]].focus();
   return false;
  }
 }
 // check for valid email adresses
 for (i = 0; i < emailFields.length; i++){
   if (! checkEmail(document.forms[0].elements[emailFields[i]], message_email, false)) {
   		document.forms[0].elements[emailFields[i]].focus();
   		return false;
   }
 }
 // submit request
 document.forms[0].submit();
}

// Set Focus
function setFocus() { 
 document.forms[0].elements[0].focus(); 
}
//
//----------------------------------------------------------------
// Check for valid email address
// allow the field to be empty? 
var defaultEmptyOK = false;
var whitespace = " \t\n\r";

function checkEmail (theField, message, emptyOK) {
    if (checkEmail.arguments.length < 3) {
    	emptyOK = defaultEmptyOK;
    }
    if ((emptyOK == true) && (isEmpty(theField.value))) {
    	return true;
    } else if (!isEmail(theField.value)) {
       return warnInvalid (theField, message);
       return false;
    } else {
    	return true;
    }
} 

function isEmail (s) {   
	if (isEmpty(s)) return false;
    // is s whitespace?
    if (isWhitespace(s)) return false;
    // there must be >= 1 character before @, so we
    // start looking at character position 1 
    // (i.e. second character)
    var i = 1;
    var sLength = s.length;
    // look for @
    while ((i < sLength) && (s.charAt(i) != "@"))
    { i++
    }
    if ((i >= sLength) || (s.charAt(i) != "@")) return false;
    else i += 2;
    // look for .
    while ((i < sLength) && (s.charAt(i) != "."))
    { i++
    }
    // there must be at least one character after the .
    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
    else return true;
}


function isWhitespace (s) {   
	var i;
    // Is s empty?
    if (isEmpty(s)) return true;
    // Search through string's characters one by one
    // until we find a non-whitespace character.
    // When we do, return false; if we don't, return true.
    for (i = 0; i < s.length; i++) {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (whitespace.indexOf(c) == -1) return false;
    }
    // All characters are whitespace.
    return true;
}

function isEmpty(s)
{   return ((s == null) || (s.length == 0))
}

function warnInvalid (theField, s) {   
    alert(s);
    return false;
}
//-------------------------------------------------------------------
