////////////////////////////////////////////////////////////////
// MAIL ME
// Creation: July 15, 2009 by Thanks for the postcard!                                    
////////////////////////////////////////////////////////////////

function fRetrieveValues(pForm)
{
 	var myValues = "";
 	var myArray = pForm.elements;
 	
 	var myName = "";
 	var myValue = "";
 	myCleanValue = "";
 	for	(var i in myArray)
 	{
 		// NAME OF FIELD
 		if (myArray[i]  != undefined)
 		{
			if (myArray[i].name != "")
			{
				myName = myArray[i].name;
				if (myArray[i].value != undefined)
				{
					myValue = myArray[i].value;
					myCleanValue = myValue.replace("***", "---");
					myCleanValue = myCleanValue.replace("###", "---");
				}
				myValues = myValues +"***"+ myName +"###"+ myCleanValue;
				
			}
		}
 	}
 	return myValues;
}

function fAjaxMail(pUrl, pContenant, pParametre)
{
    if (pContenant != "")
    {
		document.getElementById(pContenant).innerHTML = '<img src="../img/ajax-loader.gif" alt="" />';
	}
	var requete_http = false;
	// Safari, Firefox...
	if (window.XMLHttpRequest) 
	{
		requete_http = new XMLHttpRequest();
		if (requete_http.overrideMimeType) 
		{
			requete_http.overrideMimeType('text/xml');
		}
	} 
	//IE
	else if (window.ActiveXObject) 
	{
		try 
		{
			requete_http = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e) 
		{
			try 
			{
				requete_http = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (e) 
			{}
		}
	}

	if (!requete_http) 
	{
		alert('Http request is not valid.');
		return false;
	}
	requete_http.onreadystatechange = function() 
	{ 
        if (requete_http.readyState == 4) 
        {
            if (requete_http.status == 200) 
            {
               document.getElementById(pContenant).innerHTML = requete_http.responseText;
            } 
            else 
            {
                //alert('Http request is not valid.');
            }
        }

	};
	//Pour POST
	requete_http.open("POST", pUrl, true);
	requete_http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
 	strParametre = pParametre;
 	var vReplace = eval("/&amp;/ig");
 	requete_http.send(strParametre.replace(vReplace, "&"));
}



function fValidation_form(pForm, pMessage, pListValidation, pFocus, pErrorEmpty, pErrorEmail, pErrorUrl, pErrorPassword, pErrorMultipleSelection, pErrorUploadFile, pErrorInsertData)
{
	var colortext = "#000000";
	var colortexterror = "#000000";
	var color0 = "#ffffff";
	var color1 = "#808080"; // EMPTY
	var color2 = "#ff6b3e"; // ONE OF THESE NEEDED
	var color3 = "#dd8b63"; // EMAIL NOT VALID
	var color4 = "#99eb18"; // EMAIL CONFIRMATION
	var color5 = "#eb1818"; // ACCEPT THE TERMS
	var color6 = "#ffc1bb";
	var color7 = "#bbffc1";
	var error1 = "<div class='error_code' style='background: "+color1+";'></div><div class='error_message'>"+pErrorEmpty+"</div>";
	var error2 = "<div class='error_code' style='background: "+color2+";'></div><div class='error_message'>"+pErrorUrl+"</div>";
	var error3 = "<div class='error_code' style='background: "+color3+";'></div><div class='error_message'>"+pErrorEmail+"</div>";
	var error4 = "<div class='error_code' style='background: "+color4+";'></div><div class='error_message'>"+pErrorPassword+"</div>";
	var error5 = "<div class='error_code' style='background: "+color5+";'></div><div class='error_message'>"+pErrorMultipleSelection+"</div>";
	var error6 = "<div class='error_code' style='background: "+color6+";'></div><div class='error_message'>"+pErrorUploadFile+"</div>";
	var error7 = "<div class='error_code' style='background: "+color7+";'></div><div class='error_message'>"+pErrorInsertData+"</div>";
	var showError1 = "";
	var showError2 = "";
	var showError3 = "";
	var showError4 = "";
	var showError5 = "";
	var showError6 = "";
	var showError7 = "";
	var message = document.getElementById(pMessage);
	var expressionUrl = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;
	var expressionEmail = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	message.innerHTML = "";
	message.style.background = "transparent";
	message.style.border = "dashed 0px #aaaaaa";
	message.style.padding = "0px 0px 0px 0px";
	message.style.color = "#999999";
	var arrayValidation = pListValidation.split(",");
	
	for (i=0; i < eval("document."+pForm+".length"); i++)
	{
		var type = eval("document."+pForm+"["+i+"]").type;
		var value = eval("document."+pForm+"["+i+"]").value;
		var name = eval("document."+pForm+"["+i+"]").name;
		var parent = eval("document."+pForm+"["+i+"]").parentNode;
		var style = eval("document."+pForm+"["+i+"]").style;
		
		if (type == "checkbox")
		{
			var checked = eval("document."+pForm+"["+i+"]").checked;
			style = eval("document.getElementById('"+name+"_span')").style;
			style.background = "transparent";
			style.color = colortext;
			if (pListValidation.indexOf(name+"(unchecked)") >= 0)
			{
			 	if (checked == false)
			 	{
			 		showError5 = error5;
			 		style.background = "#eb1818";
			 		style.color = colortexterror;
				}
			}
		}
		if (type == "text" || type == "textarea" || type == "password" || type == "select" || type == "select-one")
		{
			style.background = color0;
			style.color = colortext;
			if (pListValidation.indexOf(name+"(empty)") >= 0)
			{
			 	if (value == "")
				{
					showError1 = error1;
					style.background = color1;
					style.color = colortexterror;
				}
			}
			if (pListValidation.indexOf(name+"(url)") >= 0 && value !="")
			{
				if (value.match(expressionUrl) == null)
				{
					showError2 = error2;
					style.background = color2;
					style.color = colortexterror;
				}
			}
			if (pListValidation.indexOf(name+"(email)") >= 0 && value !="")
			{
				array_email = value.split(";");
				for (a=0;  a< array_email.length; a++)
				{
					//alert(array_email[a]);
					var email = array_email[a].replace(/^\s+|\s+$/g,"");
					if (email.match(expressionEmail) == null && email != "")
					{
						//alert(email+" is not a valid email address.");
						showError3 = error3;
						style.background = color3;
						style.color = colortexterror;
					}
				}
				//if (value.match(expressionEmail) == null)
				//{
					//showError3 = error3;
					//style.background = color3;
				//}
			}
			if (pListValidation.indexOf(name+"(confirmation)") >= 0)
			{
				if (value != eval("document."+pForm+".email").value)
				{
					showError4 = error4;
					style.background = color4;
					style.color = colortexterror;
				}
			}
			if (pListValidation.indexOf(name+"(empty)") >= 0)
			{
			 	if (value == "")
				{
					showError1 = error1;
					style.background = color1;
					style.color = colortexterror;
				}
			}
		}
	}
	for (i=0; i < arrayValidation.length; i++)
	{
		if (arrayValidation[i].indexOf("(oneofthese)") >= 0)
		{
			var arrayVar = arrayValidation[i].split("(");
			var arrayField = arrayVar[0].split("-");
			var fieldValue = "";
			style.color = colortext;
			
			for	(var i in arrayField)
 			{
				fieldValue = fieldValue + eval("document."+pForm+"."+arrayField[i]+".value");
			}
			if (fieldValue == "")
			{
				for	(var i in arrayField)
 				{
					style = eval("document."+pForm+"."+arrayField[i]+".style");
					showError2 = error2;
					style.background = color2;
					style.color = colortexterror;
				}
				
			}
			break;
		}
	}
	if (showError1 != "" || showError2 != "" || showError3 != "" || showError4 != "" || showError5 != "" || showError6 != "" || showError7 != "")
		message.innerHTML = "<div class='alert'><div class='message_js'> " + showError1 + showError2 + showError3 + showError4 + showError5 + showError6+ showError7 +"</div></div>";
	if (message.innerHTML != "" )
	{
		eval("document."+pForm+"."+pFocus).focus();
	}
	else
		eval("document."+pForm).submit();
}
