﻿// JScript File
var arrElementId = new Array();
var arrElementType = new Array();
var arrElementMust = new Array();
var arrElementMsgId = new Array();
var arrElementMsg = new Array();    
var iIndexArr = 0;

function AddToValidate(ElementId,ElementType,Must)
{ 

    arrElementId[iIndexArr] = ElementId;
    arrElementType[iIndexArr] = ElementType;
    arrElementMust[iIndexArr] = Must;
    iIndexArr ++;
}



function checkForm()
{
    iIndex  = 0;
    bValidation = true;
    bNumeric = true;
    bDate = true;
    for (iIndex = 0 ; iIndex < arrElementId.length; iIndex ++)
    {
        document.getElementById(arrElementId[iIndex]).style.borderColor = "#FFFFFF";
        
         
       if (arrElementId[iIndex] == "iam")
       {
            
            if (document.frm_registerA.iam[0].checked == false && document.frm_registerA.iam[1].checked == false)
            {
                document.getElementById("tr_iam").style.display = "inline"; 
                bValidation = false;     
            }          
       }
       
       if (arrElementId[iIndex] == "email")
       
       {
              expression = new RegExp("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,6}$"); 
              if (!expression.test(document.getElementById(arrElementId[iIndex]).value))
              {
                  document.getElementById(arrElementId[iIndex]).style.borderColor = "#F75D59";
                  document.getElementById("tr_" + arrElementId[iIndex]).style.display = "inline"; 
                  document.getElementById("tr_ex_" + arrElementId[iIndex]).style.display = "block"; 
                  bValidation = false;     
              }
           
       }
       
       if (arrElementId[iIndex] == "etudes")
       {
           if(document.getElementById(arrElementId[iIndex]).options[0].selected)
           {
             document.getElementById(arrElementId[iIndex]).style.borderColor = "#F75D59";
                document.getElementById("tr_" + arrElementId[iIndex]).style.display = "inline";  
                bValidation = false;     
           }
           
       }
    
         
       if (arrElementMust[iIndex] == true)
       {
    
           if (document.getElementById(arrElementId[iIndex]).value == "")
           {       

                document.getElementById(arrElementId[iIndex]).style.borderColor = "#F75D59";
                document.getElementById("tr_" + arrElementId[iIndex]).style.display = "inline"; 
                
                bValidation = false;
           }
           else
           {
                if (arrElementType[iIndex] == "numeric")
                {
                    if(!IsNumeric(document.getElementById(arrElementId[iIndex]).value))
                    {
                        document.getElementById(arrElementId[iIndex]).style.borderColor = "#F75D59";
                        bValidation = false;
                        bNumeric = false;
                    }
                
                }else
                
                {
                    if(arrElementType[iIndex] == "date")
                    {
                         if(!IsDate(document.getElementById(arrElementId[iIndex]).value))
                         {
                                document.getElementById(arrElementId[iIndex]).style.borderColor = "#F75D59";
                                bValidation = false;
                                bDate = false;
                       }
                    }
                }
           } 
       }
       else
       {
            
            if (arrElementType[iIndex] == "numeric" && document.getElementById(arrElementId[iIndex]).value != "")
                {
                    if(!IsNumeric(document.getElementById(arrElementId[iIndex]).value))
                    {
                        document.getElementById(arrElementId[iIndex]).style.borderColor = "#F75D59";
                        bValidation = false;
                        bNumeric = false;
                    }
                
                }else
                
                {
                    if(arrElementType[iIndex] == "date" && document.getElementById(arrElementId[iIndex]).value != "")
                    {
                         if(!IsDate(document.getElementById(arrElementId[iIndex]).value))
                         {
                                document.getElementById(arrElementId[iIndex]).style.borderColor = "#F75D59";
                                bValidation = false;
                                bDate = false;
                       }
                    }
                }
       
       }
        
    }
    if (bValidation == false)
    {      
        
        alert("Certaines informations sont manquantes, veuillez remplir les champs encadrés en rouge"); 
        if( document.getElementById('msgError') )
        {
          //  document.getElementById('msgError').innerText = '* Les champs en rouges sont obligatoires';
            document.getElementById('msgError').style.color = '#F75D59';
        }
       if(bNumeric == false)
       {
            document.getElementById('msgError').innerText += '\r * Un champ numéric doit contenir que des nombres';
       }
       if (bDate == false)
       {
            document.getElementById('msgError').innerText += '\r * Un champ date doit contenir une date valide sous le format JJ/MM/AAAA';
       }
    
    }
   
    var f = document.frm_registerA;
    populateHiddenFields(f);
   
    return bValidation;
}


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 IsDate(sText)
 {

    var bIsDate = true;
    var arrDate = sText.split('/');
    if (arrDate.length != 3)
    {
        bIsDate = false;
        
    }else
    {
        if (!IsNumeric(arrDate[0]) || !IsNumeric(arrDate[1]) || !IsNumeric(arrDate[2]))
        {
            bIsDate = false;
        }else
        {
             if (arrDate[0] > 31 || arrDate[0] < 0)
             {
                bIsDate =false;
             }
             else
             {
                if(arrDate[1] > 12 || arrDate[1] < 0)
                {
                    bIsDate =false;
                }
             }
        }
    }
    return bIsDate;
 }
 
function populateHiddenFields(f)
{ 
    //return true;
    
    // Get the __utmz cookie value. This is the cookies that 
    // stores all campaign information. 
    // 
    var z = _uGC(document.cookie, '__utmz=', ';'); 
    
    /*alert(z);
    return true;*/
    
    // The cookie has a number of name-value pairs. 
    // Each identifies an aspect of the campaign. 
    // 
    // utmcsr  = campaign source 
    // utmcmd  = campaign medium 
    // utmctr  = campaign term (keyword) 
    // utmcct  = campaign content (used for A/B testing) 
    // utmccn  = campaign name 
    // utmgclid = unique identifier used when AdWords auto tagging is enabled 
    // 
    // This is very basic code. It separates the campaign-tracking cookie 
    // and populates a variable with each piece of campaign info. 
    // 
    var source  = _uGC(z, 'utmcsr=', '|'); 
    var medium  = _uGC(z, 'utmcmd=', '|'); 
    var term    = _uGC(z, 'utmctr=', '|'); 
    var content = _uGC(z, 'utmcct=', '|'); 
    var campaign = _uGC(z, 'utmccn=', '|'); 
    var gclid   = _uGC(z, 'utmgclid=', '|'); 

    
    // 
    // The gclid is ONLY present when auto tagging has been enabled. 
    // All other variables, except the term variable, will be '(not set)'. 
    // Because the gclid is only present for Google AdWords we can 
    // populate some other variables that would normally 
    // be left blank. 
    // 
    if (gclid !="-") { 
          source = 'google'; 
          medium = 'cpc'; 
    } 
    // Data from the custom segmentation cookie can also be passed 
    // back to your server via a hidden form field 
    var csegment = _uGC(document.cookie, '__utmv=', ';'); 
    
    if (csegment != '-') { 
          var csegmentex = /[1-9]*?\.(.*)/;
          csegment    = csegment.match(csegmentex); 
          csegment    = csegment[1]; 
    } else { 
          csegment = ''; 
    } 

  f.source.value  = source; 
  f.medium.value  = medium; 
  f.term.value    = term; 
  f.content.value = content; 
  f.campaign.value = campaign; 
  f.segment.value = csegment;
   
  return true; 
}
 

