﻿		function ValidateInput(oInput)
		{
		    var bValid = (trim(oInput.value) != "");
			
			if( !bValid )
                MarkInputInvalid(oInput);
            else
                MarkInputValid(oInput);
                
            return bValid;
		}
				
		function ValidateEmail(oInput)
		{
            var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
            var bValid = reg.test(oInput.value);
            
            if(!bValid)
                MarkInputInvalid(oInput);
            else
                MarkInputValid(oInput);
                
            return bValid;
		}
		
		function MarkInputInvalid(oInput)
		{
			var oSibling = oInput.previousSibling;
			while( oSibling != null && (oSibling.tagName == null || oSibling.tagName.toUpperCase() != "LABEL") )
				oSibling = oSibling.previousSibling;

			if( oSibling != null )
			{
				var oTag = oSibling.getElementsByTagName("SPAN");
				
				if( oTag.length > 0 )
				{				
					oTag[0].style.color = "#FF0000";
				}
			}
		}
		
		function MarkInputValid(oInput)
		{
			var oSibling = oInput.previousSibling;
			while( oSibling != null && (oSibling.tagName == null || oSibling.tagName.toUpperCase() != "LABEL") )
				oSibling = oSibling.previousSibling;

			if( oSibling != null )
			{
				var oTag = oSibling.getElementsByTagName("SPAN");
				
				if( oTag.length > 0 )
				{				
					oTag[0].style.color = "#515151";
				}
			}
		}
		
		function ValidateForm(langue)		{		    var bValid = true;		    var divErrors = document.getElementById('divErrors');		    var ulErrors = document.getElementById('ulErrors');		    ulErrors.innerHTML = '';    
		    if( !ValidateInput(document.getElementById('firstname')) )		    {		        ulErrors.innerHTML += (langue == 'en' ? '<li>First Name</li>' : '<li>Prénom</li>');		        bValid &= false;		    }    
		    if( !ValidateInput(document.getElementById('name')) )		    {		        ulErrors.innerHTML += (langue == 'en' ? '<li>Name</li>' : '<li>Nom</li>');		        bValid &= false;		    }	    
		    if( !ValidateInput(document.getElementById('address')) )		    {		        ulErrors.innerHTML += (langue == 'en' ? '<li>Address</li>' : '<li>Adresse</li>');		        bValid &= false;		    }		    
		    if( !ValidateInput(document.getElementById('city')) )		    {		        ulErrors.innerHTML += (langue == 'en' ? '<li>City</li>' : '<li>Ville</li>');		        bValid &= false;		    }		    
		    if( !ValidateInput(document.getElementById('province')) )		    {		        ulErrors.innerHTML += (langue == 'en' ? '<li>Province</li>' : '<li>Province</li>');		        bValid &= false;		    }	    
		    if( !ValidateInput(document.getElementById('postalCode')) )		    {		        ulErrors.innerHTML += (langue == 'en' ? '<li>Postal Code</li>' : '<li>Code Postal</li>');		        bValid &= false;		    }

		    if( !ValidateInput(document.getElementById('telephone')) )		    {		        ulErrors.innerHTML += (langue == 'en' ? '<li>Telephone</li>' : '<li>T&eacute;l&eacute;phone</li>');		        bValid &= false;		    }		    
		    if( !ValidateEmail(document.getElementById('email')) )		    {		        ulErrors.innerHTML += (langue == 'en' ? '<li>Email is missing or has invalid format.</li>' : '<li>Courriel manquant ou invalide.</li>');		        bValid &= false;		    }		    
		    if( !bValid )		    {		        divErrors.style.display = 'block';		        window.location.href = '#divErrors';		    }		    else		    {		        divErrors.style.display = 'none';		    }
		    return bValid;
		}
		
		function trim(stringToTrim)
		{
			return stringToTrim.replace(/^\s+|\s+$/g,"");
		}
		function ltrim(stringToTrim)
		{
			return stringToTrim.replace(/^\s+/,"");
		}
		function rtrim(stringToTrim) 
		{
			return stringToTrim.replace(/\s+$/,"");
		}

