function ValidateEditUserForm(F)
{
    if(F.Administrator.checked == false && F.Viewer.checked == false)
    {
        F.Viewer.checked = true;
    }
    else if(F.Administrator.checked == true && F.Viewer.checked == false)
    {
        F.Viewer.checked = true;
    }
}

function ValidateAddNewUserFormInput(F)
{
    if(ValidateEmailAddress(F.Email.value) == true)
    {
        F.submit();
    }
}

function ValidateEmailAddress(str)
{
 	var at = "@"
	var dot = "."
	var lat = str.indexOf(at)
	var lstr = str.length
	var ldot = str.indexOf(dot)
	var errStr = '[Invalid Email! Please enter a valid email address!]';
	
	if (str.indexOf(at) == -1)
	{
	   alert(errStr);
	   return false;
	}
	if (str.indexOf(at) == -1 || str.indexOf(at) == 0 || str.indexOf(at) == lstr)
	{
	   alert(errStr);
	   return false;
	}
	if (str.indexOf(dot) == -1 || str.indexOf(dot) == 0 || str.indexOf(dot) == lstr)
	{
	    alert(errStr);
	    return false;
	}
	if (str.indexOf(at, (lat + 1)) != -1)
	{
	   alert(errStr);
	   return false;
	}
	if (str.substring(lat - 1, lat) == dot || str.substring(lat + 1, lat + 2) == dot)
	{
	   alert(errStr);
	   return false;
	}
	if (str.indexOf(dot,(lat + 2)) == -1)
	{
	   alert(errStr);
	   return false;
	}
	if (str.indexOf(" ") != -1)
	{
	   alert(errStr);
	   return false;
	}
	return true;					
}

function ThrowConfirmDeletePopup(F)
{
    var answer = confirm ('Are You sure You want to delete this user ?');
    if (answer)
    {
        F.submit();
    }
}

function CheckColorInput(F)
{
    var text = F.Color.value.toLowerCase();
    var text_length = text.length;
    
    if(text_length == 7)
    {
    	for(i = 1; i <= 6; i++)
    	{
    		var Char = text.charAt(i);
    		if(Char != "0" && Char != "1" && Char != "2" && Char != "3" && Char != "4" && Char != "5" && Char != "6" && Char != "7" && Char != "8" && Char != "9" && Char != 'a' && Char != 'b' && Char != 'c' && Char != 'd' && Char != 'e' && Char != 'f')
    		{
    			return false;
    		}
    	}
    	
    	F.submit();
    }
    else
    {
    	return false;
    }
}

function CheckGoalPointAddressInput(F)
{
    var text = F.Address.value;
    if(text.length > 0)
    {
        F.submit();
    }
    else
    {
        return false;
    }
}

function CheckPersonalUserInfoForm(F)
{
    if(F.p_firstname.value.length < 1) {
        return false;
    }else if(F.p_lastname.value.length < 1) {
        return false;
    }else if(F.p_address.value.length < 1) {
        return false;
    }else if(F.p_city.value.length < 1) {
        return false;
    }else if(F.p_country.value.length < 1) {
        return false;
    }else if(F.p_birthdate.value.length < 1) {
        return false;
    }else if(CheckIfDateIsValid(F) == false) {
        return false;
    }else if(F.p_perscode.value.length != 11 && !IsNumeric(F.p_perscode)) {
        return false;
    }else{
        F.submit();
    }
}

function CheckPersonalUserBuisinessForm(F)
{
    if(F.p_firstname.value.length < 1) {
        return false;
    }else if(F.p_lastname.value.length < 1) {
        return false;
    }else if(F.p_address.value.length < 1) {
        return false;
    }else if(F.p_city.value.length < 1) {
        return false;
    }else if(F.p_country.value.length < 1) {
        return false;
    }else if(F.p_birthdate.value.length < 1) {
        return false;
    }else if(CheckIfDateIsValid(F) == false) {
        return false;
    }else if(F.p_perscode.value.length != 11 && !IsNumeric(F.p_perscode)) {
        return false;
    }else if(F.c_compname.value.length < 1) {
        return false;
    }else if(F.c_compcode.value.length < 1) {
        return false;
    }else if(F.c_vatcode.value.length < 1) {
        return false;
    }else if(F.c_firstname.value.length < 1) {
        return false;
    }else if(F.c_lastname.value.length < 1) {
        return false;
    }else if(F.c_pareigos.value.length < 1) {
        return false;
    }else if(F.c_bankname.value.length < 1) {
        return false;
    }else if(F.c_bankcode.value.length < 1) {
        return false;
    }else if(F.c_account.value.length < 1) {
        return false;
    }else{
        F.submit();
    }
}

function IsNumeric(sText)
{
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;
 
   for (i = 0; i < sText.length && IsNumber == true; i++) { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) {
         IsNumber = false;
      }
   }
   return IsNumber;
}

function CheckIfDateIsValid(F)
{
    var checkstr = "0123456789";
    var Datevalue = "";
    var DateTemp = "";
    var seperator = "-";
    var day;
    var month;
    var year;
    var leap = 0;
    var err = 0;
    var i;
  
   err = 0;
   DateValue = F.p_birthdate.value;
   for (i = 0; i < DateValue.length; i++) {
	  if (checkstr.indexOf(DateValue.substr(i,1)) >= 0) {
	     DateTemp = DateTemp + DateValue.substr(i,1);
	  }
   }
   DateValue = DateTemp;
   if (DateValue.length == 6) {
      DateValue = DateValue.substr(0,4) + '20' + DateValue.substr(4,2); }
   if (DateValue.length != 8) {
      err = 19;}
   year = DateValue.substr(0,4);
   if (year == 0) {
      err = 20;
   }
   month = DateValue.substr(4,2);
   if ((month < 1) || (month > 12)) {
      err = 21;
   }
   day = DateValue.substr(6,2);
   if (day < 1) {
     err = 22;
   }
   if ((year % 4 == 0) || (year % 100 == 0) || (year % 400 == 0)) {
      leap = 1;
   }
   if ((month == 2) && (leap == 1) && (day > 29)) {
      err = 23;
   }
   if ((month == 2) && (leap != 1) && (day > 28)) {
      err = 24;
   }
   if ((day > 31) && ((month == "01") || (month == "03") || (month == "05") || (month == "07") || (month == "08") || (month == "10") || (month == "12"))) {
      err = 25;
   }
   if ((day > 30) && ((month == "04") || (month == "06") || (month == "09") || (month == "11"))) {
      err = 26;
   }
   if ((day == 0) && (month == 0) && (year == 00)) {
      err = 0; day = ""; month = ""; year = ""; seperator = "";
   }
   if (err == 0) {
      F.p_birthdate.value = year + seperator + month + seperator + day;
      return true;
   }
   else {
      return false;
   }
}
