//To xrwma pou pairnei to control otan exei lathos timh
var errorColor = '#DBDDB9';
//To kanoniko tou xrwma
var correctColor = '#FFFFFF';
// Xarakthres pou epitrepontai se arithmo thlefvnou
var phoneNumberDelimiters = "()- ";
// xarakthres pou epitrepontai se diethni noumera
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Elaxistos arithmos pshfiwn
var minDigitsInIPhoneNumber = 10;

function getElement(psID) {
   if(document.all) {
      return document.all[psID];
   } else {
      return document.getElementById(psID);
   }
} 

function validEmail (frmField) {
var strng = frmField.value;
var error="";
if (strng == '') {
   alert(frmField.getAttribute('errorMsg'));
   markErrorField(frmField);
   return false;
}

    var emailFilter=/^[a-zA-Z0-9\-.]+@[a-zA-Z0-9\-.]+\.[a-z0-9\-]{2,3}$/;
    if (!(emailFilter.test(strng))) { 
       alert(frmField.getAttribute('errorMsg'));
	   markErrorField(frmField);
	   return false;
    }
    else { 
//test email for illegal characters
       var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
         if (strng.match(illegalChars)) {
          alert(frmField.getAttribute('errorMsg'));
		  markErrorField(frmField);
		  return false;
       }
    }
	frmField.style.backgroundColor=correctColor;
	return true;    
}

function validateText(txtField)	{
	var textFilter=/^[a-zA-ZÁ-Ùá-ùÜÝßÞýüþ0-9\-.,]+\s{0,1}[a-zA-ZÁ-Ùá-ùÜÝßÞýüþ0-9@\-.,\s]+$/;
	var txtValue=txtField.value;
	if(txtValue=="" || !textFilter.test(txtValue))	{
		alert(txtField.getAttribute('errorMsg'));
		markErrorField(txtField);
		return false;
	}
	txtField.style.backgroundColor=correctColor;
	return true;
}

function checkInternationalPhone(strPhone){
	s=stripCharsInBag(strPhone,validWorldPhoneChars);
	return (isInteger2(s) && s.length >= minDigitsInIPhoneNumber);
}

function isInteger2(s2)
{  
	var bInt;
	var expr;
	//expr=/^-?\d+$/;
	expr=/^\d+$/;
	if(expr.test(s2)) {
		bInt=true;
	} 
	else {
		bInt = false;
	}
	return bInt;	
}

function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function validatePhone(thePhoneField){
	var Phone=thePhoneField;
	
	if ((Phone.value==null)||(Phone.value=="")){
		alert(Phone.getAttribute('errorMsg'));
		markErrorField(Phone);
		return false;
	}
	if (checkInternationalPhone(Phone.value)==false){
		alert(Phone.getAttribute('errorMsg'));
		//Phone.value=""
		markErrorField(Phone);
		return false;
	}
	Phone.style.backgroundColor=correctColor;
	return true;
 }

function markErrorField(oField)	{
	oField.style.backgroundColor=errorColor;
	oField.focus();
}