function replaceSubstring(inputString, fromString, toString){var temp = inputString;if (fromString == "") return inputString;if (toString.indexOf(fromString) == -1){while (temp.indexOf(fromString) != -1){var toTheLeft = temp.substring(0, temp.indexOf(fromString));var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);temp = toTheLeft + toString + toTheRight;};} else {var midStrings = new Array("~", "`", "_", "^", "#");var midStringLen = 1;var midString = "";while (midString == ""){for (var i=0; i < midStrings.length; i++){var tempMidString = "";for (var j=0; j < midStringLen; j++) { tempMidString += midStrings[i];};if (fromString.indexOf(tempMidString) == -1) {midString = tempMidString;i = midStrings.length + 1;};};};while (temp.indexOf(fromString) != -1){var toTheLeft = temp.substring(0, temp.indexOf(fromString));var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);temp = toTheLeft + midString + toTheRight;};while (temp.indexOf(midString) != -1) {var toTheLeft = temp.substring(0, temp.indexOf(midString));var toTheRight = temp.substring(temp.indexOf(midString)+midString.length, temp.length);temp = toTheLeft + toString + toTheRight;};};return temp;};
function checkLength(objField, objFieldStatus, intSize){var asBeenCut = false;if (objField.value.length > intSize){objField.value = objField.value.substring(0, intSize);alert("Le message ne peut contenir plus de " + intSize + " caractères.");objField.focus();asBeenCut = true;};objFieldStatus.value = objField.value.length;return asBeenCut;};
function isEmpty(inString){var trimedString = trim(inString);if (trimedString == "") return true;return false;};
function validString(inString, pattern){var trimedStr = trim(inString);if (trimedStr.length != pattern.length) return false;for (i = 0; i < pattern.length; i++){switch (pattern.charAt(i).toLowerCase()){case "@" :{if ((trimedStr.charAt(i).toLowerCase() < "a" || trimedStr.charAt(i).toLowerCase > "z") && (isNaN(trimedStr.charAt(i)))) return false;break;}case "a" : {if (trimedStr.charAt(i).toLowerCase() < "a" || trimedStr.charAt(i).toLowerCase > "z") return false;break;}case "9" : {if (isNaN(trimedStr.charAt(i)))	return false;break;}default : {if (trimedStr.charAt(i) != pattern.charAt(i)) return false;break;}}}return true;};
function trim(str){while(str.charAt(0)==" "){str = str.substring(1,str.length);};while(str.charAt(str.length-1)==" "){str = str.substring(0,str.length - 1);};return str;};
function isEmail(field)
{
	var str = field.value;
	str = trim(str);
	field.value = str;
	if (window.RegExp)
	{
		var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";
		var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";
		var reg1 = new RegExp(reg1str);
		var reg2 = new RegExp(reg2str);
		if (!reg1.test(str) && reg2.test(str) )
			return true;
		field.select();
		field.focus();		
		alert("Vous devez entrer une adresse de courriel valide.");
		return false;
	}
	else
	{
		if ((str.indexOf("@") >= 0) && (str.indexOf(" ")))
			return true;
		field.select();
		field.focus();		
		alert("Vous devez entrer une adresse de courriel valide.");
		return false;
	}
}		
function isEmailEn(field){var str = field.value;str = trim(str);field.value = str;if (window.RegExp){var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";var reg1 = new RegExp(reg1str);var reg2 = new RegExp(reg2str);if (!reg1.test(str) && reg2.test(str)) return true;field.focus();field.select();alert("Please enter a valid email adress.");return false;}else{if ((str.indexOf("@") >= 0) && (str.indexOf(" ")))return true;field.focus();field.select();alert("Please enter a valid email adress.");return false;};};
function genValidFrm(frm)
{	
	var inputs = frm.getElementsByTagName("INPUT")			
	
	for (iobj = 0; iobj < inputs.length; iobj++)
	{
		switch (inputs(iobj).type)
		{
			case "checkbox" :
			{			
				if (inputs(iobj).id.indexOf("O_") != -1)
				{				
					if (!isOptChecked(inputs(iobj).name))
					{
						alert(eval(inputs(iobj).name));
						inputs(iobj).focus();
						return false;
					}
				}
				break;
			}
			
			case "radio" :
			{
				if (inputs(iobj).id.indexOf("O_") != -1)
				{				
					if (!isOptChecked(inputs(iobj).name))
					{
						alert(eval(inputs(iobj).name));
						inputs(iobj).focus();
						return false;
					}
				}
				break;
			}						
			case "text" :
			{
				if (inputs(iobj).id.indexOf("O_") != -1)
				{
					if (inputs(iobj).id.indexOf("NUMTEL1") != -1 || inputs(iobj).id.indexOf("NUMTEL2") != -1)
					{
						if (!validString(inputs(iobj).value, "999"))
						{
							alert(eval(inputs(iobj).name))
							inputs(iobj).focus()
							inputs(iobj).select()
							return false
						}
							
					}
					
					if (inputs(iobj).id.indexOf("NUMTEL3") != -1)
					{
						if (!validString(inputs(iobj).value, "9999"))
						{
							alert(eval(inputs(iobj).name))
							inputs(iobj).focus()
							inputs(iobj).select()
							return false
						}								
					}
					
					if (inputs(iobj).id.indexOf("CODEPOSTAL1") != -1)
					{
						if (!validString(inputs(iobj).value, "A9A"))
						{
							alert(eval(inputs(iobj).name))
							inputs(iobj).focus()
							inputs(iobj).select()
							return false
						}	
						else
						{
							inputs(iobj).value = inputs(iobj).value.toUpperCase()
						}							
					}
					
					if (inputs(iobj).id.indexOf("CODEPOSTAL2") != -1)
					{
						if (!validString(inputs(iobj).value, "9A9"))
						{
							alert(eval(inputs(iobj).name))
							inputs(iobj).focus()
							inputs(iobj).select()
							return false
						}
						else
						{
							inputs(iobj).value = inputs(iobj).value.toUpperCase()
						}
					}
					
					if (inputs(iobj).id.indexOf("COURRIEL") != -1)
					{
						if (!isEmail(inputs(iobj)))
							return false
					}
					
					if (isEmpty(inputs(iobj).value))
					{
						alert(eval(inputs(iobj).name))
						inputs(iobj).focus()
						inputs(iobj).select()
						return false
						
					}
				}
				else
				{
					if (inputs(iobj).id.indexOf("COURRIEL") != -1 && !isEmpty(inputs(iobj).value))
					{
						if (!isEmail(inputs(iobj)))
							return false
					}
				}
				break;
			}				
		}
	}
	
	inputs = frm.getElementsByTagName("SELECT")
	
	for (i = 0; i < inputs.length; i++)
	{		
		if (inputs[i].id.indexOf("O_") != -1)			
			if (inputs[i].options[inputs[i].selectedIndex].value == "")
			{
				alert(eval(inputs(i).name))
				inputs(i).focus()
				return false;
			}
	}
	
	inputs = frm.getElementsByTagName("TEXTAREA")
	for (i = 0; i < inputs.length; i++)
	{		
		if (inputs[i].id.indexOf("O_") != -1)			
			if (isEmpty(inputs[i].value))
			{
				alert(eval(inputs(i).name))
				inputs(i).focus()
				return false;
			}
	}
	
	return true;
}

function isOptChecked(objName)
{
	var opt = document.getElementsByName(objName)
	
	for (i = 0; i < opt.length; i++)
	{
		if (opt(i).checked)			
			return true			
	}
	return false
}

function valueIsEmail(str)
{	
	if (window.RegExp)
	{
		var reg1str = "(@.*@)|(\\.\\.)|(@\\.)|(\\.@)|(^\\.)";		
		var reg2str = "^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$";		
		var reg1 = new RegExp(reg1str);		
		var reg2 = new RegExp(reg2str);
		if (!reg1.test(str) && reg2.test(str)) 
			return true;
		alert("Vous devez entrer une adresse de courriel valide.");
		return false;
	}
	else
	{
		if ((str.indexOf("@") >= 0) && (str.indexOf(" ")))
			return true;		
		alert("Vous devez entrer une adresse de courriel valide.");
		return false;
	}
}
