
//LanguageLib
var arg = "Language" + "=";
var Language = document.cookie.substring(document.cookie.indexOf(arg)+arg.length,document.cookie.indexOf(arg)+arg.length+1)
if(Language == "F")
{
	var iUSPhone = "doit être un numéro de téléphone de 10 chiffres (comme 415 555 1212).\nVeuillez le réintroduire maintenant."
	var sEmailPrompt = "Veuillez écrire un email address valide comme 'someone@somewhere.com 'dans "
	var eEmailPrompt = " champ"
	sCheckString  = "Vous pouvez seulement entrer \("
	mCheckString = "\) caractères dans "
	eCheckString = " champ\nSvp essai encore."
}
else
{
	var iUSPhone = "must be a 10 digit phone number (like 415 555 1212).\nPlease reenter it now."
	var sEmailPrompt = "Please enter a valid email address like 'someone@somewhere.com' in the "
	var eEmailPrompt = " field"
	sCheckString  = "You can only enter \("
	mCheckString = "\) characters in the "
	eCheckString = " field\nPlease try again."
	
}


var digits = "0123456789";
var phoneNumberDelimiters = "()- ";
var validUSPhoneChars = digits + phoneNumberDelimiters;
var digitsInUSPhoneNumber = 10;
function checkEmail(theField, Description)
{
	if ((theField.value == "") ||(theField.value.indexOf('@') == -1) || (theField.value.indexOf('.') == -1)) 
	{
		alert(sEmailPrompt + Description + eEmailPrompt);
		theField.focus();
		return(false);
	}
}


function checkPhone (theField, Description)
{   
	var normalizedPhone = stripCharsInBag(theField.value, phoneNumberDelimiters)
	if (!isUSPhoneNumber(normalizedPhone))
	{
		return warnInvalid (Description, iUSPhone);
	}
	else
	{  
	   theField.value = reformatUSPhone(normalizedPhone)
	   return true;
	}
}

function warnInvalid (Description, s)
{
    alert("The " + Description + " " + s);
    return(false);
}

function isInteger (s)
{
	var i;
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (!isDigit(c)) return false;
    }
    return true;
}

function isDigit (c)
{
	return ((c >= "0") && (c <= "9"))
}


function reformatUSPhone (USPhone)
{
   return (reformat (USPhone, "(", 3, ") ", 3, "-", 4))
}

function reformat (s)
{
	var arg;
    var sPos = 0;
    var resultString = "";

    for (var i = 1; i < reformat.arguments.length; i++) 
    {
       arg = reformat.arguments[i];
       if (i % 2 == 1) resultString += arg;
       else 
       {
           resultString += s.substring(sPos, sPos + arg);
           sPos += arg;
       }
    }
    return resultString;
}


function isUSPhoneNumber (s)
{
    return (isInteger(s) && s.length == digitsInUSPhoneNumber)
}


function stripCharsInBag (s, bag)
{
	var i;
    var returnString = "";
		for (i = 0; i < s.length; i++)
		{   
		    var c = s.charAt(i);
		    if (bag.indexOf(c) == -1) returnString += c;
		}
    return returnString;
}

function CheckString(field, StringValue, Name)
{
	var checkOK = StringValue;
	var checkStr = field.value;
	var allValid = true;
	var decPoints = 0;
	var allNum = "";
	for (i = 0;  i < checkStr.length;  i++)
	{
		ch = checkStr.charAt(i);
		for (j = 0;  j < checkOK.length;  j++)
			if (ch == checkOK.charAt(j))
				break;
			if (j == checkOK.length)
			{
				allValid = false;
				break;
			}
			allNum += ch;
		}
		if (!allValid)
		{
			alert(sCheckString + StringValue + mCheckString + Name + eCheckString);
			field.focus();
			return(false);
		}
	return(true);
}


