﻿        //xmlhttp cross browser (new IE / new Mozilla)

var xmlhttp
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
  try {
  xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")
 } catch (e) {
  try {
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
  } catch (E) {
   xmlhttp=false
  }
 }
@else
 xmlhttp=false
@end @*/

if (!xmlhttp && typeof XMLHttpRequest!='undefined') 
{
    try
    {
        xmlhttp = new XMLHttpRequest();
    } 
    catch (e) 
    {             
        xmlhttp=false;
    }
}
     
var ErrorMessage; 
var datareturned;

var Email;
var ConfirmEmail;
var FriendEmail;
var Password;
var ConfirmPassword  
var OldPassword
var ScreenName; 
var Comment;
var Terms;
var CaptchaInput;
var CaptchaValue;
var OSTAbout_0;
var OSTAbout_1;
var OSTAbout_2;
var OSTText;
var Reason;
var Name;
var FriendName;
var SpreadMessage;
var FirstName;
var LastName;
var Postal;
var HHL;
var chkPasswordChange;

var divError;
var divPassword;  
var divTerms;
var divPostal;
var divPassword;
/***********************************************************************************************/
/*Modal Validate Functions*/
/***********************************************************************************************/
function ValidateCommentOnWebisode()
{
    ErrorMessage = "";
    Email = document.getElementById('txtEmailAddress'); 
    Password = document.getElementById("txtPassword");
    ScreenName = document.getElementById("txtScreenName");
    Comment = document.getElementById("txtComment");
    Terms = document.getElementById("chkTerms");
    CaptchaInput = document.getElementById("txtCaptcha");
    CaptchaValue = document.getElementById("hdnCaptcha");
    
    divError = document.getElementById("divErrorMessage") ;
    divPassword = document.getElementById("divPassword"); 
    divTerms= document.getElementById("divTerms"); 
    
    if(IsUserLoggedIn() != true)
    {
        ValidateEmail();
        ValidatePassword();
        ValidateScreenName();        
    }
    ValidateComment();
    ValidateTerms();
    ValidateCaptcha();
    
    if(ErrorMessage == "")
    {
        ScreenName.disabled = false;
        return true;
    }
    else
    {
        divError.innerHTML=ErrorMessage;
        return false;
    }
}

function ValidateOSTSubmission()
{
    ErrorMessage = "";
    Email = document.getElementById('txtEmailAddress'); 
    Password = document.getElementById("txtPassword");
    ScreenName = document.getElementById("txtScreenName");
    OSTAbout_0 = document.getElementById("radCategoryType_0");
    OSTAbout_1 = document.getElementById("radCategoryType_1");
    OSTAbout_2 = document.getElementById("radCategoryType_2");
    OSTText = document.getElementById("txtOST");
    Terms = document.getElementById("chkTerms");
    CaptchaInput = document.getElementById("txtCaptcha");
    CaptchaValue = document.getElementById("hdnCaptcha");

    
    divError = document.getElementById("divErrorMessage"); 
    divPassword = document.getElementById("divPassword"); 
    divTerms= document.getElementById("divTerms"); 
    
    if(IsUserLoggedIn() != true)
    {
        ValidateEmail();
        ValidatePassword();
        ValidateScreenName();        
    }
    ValidateOSTAbout();
    ValidateOSTText();
    ValidateTerms();
    ValidateCaptcha();
    
    if(ErrorMessage == "")
    {
        ScreenName.disabled = false;
        return true;
    }
    else
    {
        divError.innerHTML=ErrorMessage;
        return false;
    }

}

function ValidateFlagInappropriate()
{
    ErrorMessage = "";
    Email = document.getElementById('txtEmailAddress'); 
    Password = document.getElementById("txtPassword");
    ScreenName = document.getElementById("txtScreenName");
    Reason = document.getElementById("ddlReason");
    CaptchaInput = document.getElementById("txtCaptcha");
    CaptchaValue = document.getElementById("hdnCaptcha");
    
    divError = document.getElementById("divErrorMessage");
    divPassword = document.getElementById("divPassword"); 
    
    if(IsUserLoggedIn() != true)
    {
        ValidateEmail();
        ValidatePassword();
        ValidateScreenName();        
    }
    ValidateFlagInappropriateReason();
    ValidateCaptcha();
    
    if(ErrorMessage == "")
    {
        ScreenName.disabled = false;
        return true;
    }
    else
    {
        divError.innerHTML=ErrorMessage;
        return false;
    }
    
}

function ValidateSpreadTheWord()
{
    ErrorMessage = "";
    Email = document.getElementById('txtEmailAddress'); 
    FriendEmail = document.getElementById('txtFriendEmailAddress'); 
    Name = document.getElementById('txtName'); 
    FriendName = document.getElementById('txtFriendName'); 
    SpreadMessage = document.getElementById('txtMessage'); 
    
    divError = document.getElementById("divErrorMessage");
    
    ValidateEmail();
    ValidateFriendEmail();
    ValidateName(Name.value, "nom ");
    ValidateName(FriendName.value, "nom de votre ami(e) ");
    ValidateSpreadMessage();

    if(ErrorMessage == "")
    {
        return true;
    }
    else
    {
        divError.innerHTML=ErrorMessage;
        return false;
    }
}

function ValidateSignUp()
{
    ErrorMessage = "";
    
    FirstName = document.getElementById('txtFirstName'); 
    LastName = document.getElementById('txtLastName'); 
    ScreenName = document.getElementById("txtScreenName");
    Email = document.getElementById('txtEmailAddress'); 
    ConfirmEmail = document.getElementById('txtEmailAddress2'); 
    Password = document.getElementById('txtPassword'); 
    ConfirmPassword = document.getElementById('txtPassword2'); 
    Terms = document.getElementById("chkTerms");
    CaptchaInput = document.getElementById("txtCaptcha");
    CaptchaValue = document.getElementById("hdnCaptcha");
    
    divPostal = document.getElementById("divPostal"); 
    divError = document.getElementById("divErrorMessage");
    
    ValidateName(FirstName.value, "prénom ");
    ValidateName(FirstName.value, "nom de famille ");
    ValidateScreenName(); 
    ValidateEmail();
    ValidateConfirmEmail(); 
    PasswordCheck();
    ValidatePostal();
    ValidateSignUpTerms();
    AlreadySignedUp();    
    ValidateCaptcha();
    
        
    if(ErrorMessage == "")
    {
        return true;
    }
    else
    {
        divError.innerHTML=ErrorMessage;
        return false;
    }
}

function ValidateUpdateSignUp()
{
   ErrorMessage = "";
    
    FirstName = document.getElementById('txtFirstName'); 
    LastName = document.getElementById('txtLastName'); 
    ScreenName = document.getElementById("txtScreenName");
    Email = document.getElementById('txtEmailAddress'); 
    ConfirmEmail = document.getElementById('txtEmailAddress2'); 
    OldPassword = document.getElementById('txtOldPassword'); 
    Password = document.getElementById('txtPassword'); 
    ConfirmPassword = document.getElementById('txtPassword2'); 
    CaptchaInput = document.getElementById("txtCaptcha");
    CaptchaValue = document.getElementById("hdnCaptcha");
    chkPasswordChange = document.getElementById("chkPasswordChange"); 
    Terms = document.getElementById("chkTerms");
    
    divError = document.getElementById("divErrorMessage");
    
    
    ValidateName(FirstName.value, "prénom ");
    ValidateName(FirstName.value, "nom de famille ");
    ValidateScreenName(); 
    ValidateEmail();
    ValidateConfirmEmail(); 
    ValidateSignUpTerms(); 
    
    if(chkPasswordChange.checked == true)
    {   
        VerifyOldPassword();
        PasswordCheck(); 
    }
    ValidateCaptcha();
    
    
        
    if(ErrorMessage == "")
    {
        return true;
    }
    else
    {
        divError.innerHTML=ErrorMessage;
        return false;
    }  
}

/***********************************************************************************************/
/*End Modal Validate Functions*/
/***********************************************************************************************/




/***********************************************************************************************/
/*Helper Validate Functions*/
/***********************************************************************************************/
function IsUserLoggedIn()
{
    xmlhttp.open("POST","../../AJAX/IsUserLoggedIn.aspx",false);
    xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    var datatosend = "";
    xmlhttp.send(datatosend);    
    
    datareturned = xmlhttp.responseText;                           
    
    if (datareturned != "TRUE")
    {
        return false;
    }
    else
    {
        return true;
    }    

}

function ValidateEmail() 
{    
    if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(Email.value))          
    {
       // return true;    
    }
    else
    {
        ErrorMessage = ErrorMessage + "* Veuillez entrer une adresse électronique valide.<br />";
    }
}

function ValidateConfirmEmail() 
{    
    if(Email.value != ConfirmEmail.value)          
    {
        ErrorMessage = ErrorMessage + "* Les adresses électroniques fournies ne correspondent pas<br />";
    }
}

function ValidateFriendEmail() 
{        
    if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(Email.value))          
    {
       // return true;    
    }
    else
    {
        ErrorMessage = ErrorMessage + "* Veuillez vérifier l'adresse électronique de votre ami(e).<br />";
    }
}

function ValidatePostal()
{
    if(divPostal.style.display=="block")
    {   
        if(/^([a-z]\d){3}$/i.test(Postal.value))          
        {
           // return true;    
        }
        else
        {
           ErrorMessage = ErrorMessage + "* Veuillez enter un code postal valide (utiliser le format a9a9a9)<br />"; 
        }
    }    
}

function PasswordCheck()
{
    //if(Password.value.length < 6 || ConfirmPassword.value.length > 10)
    //{
    //    ErrorMessage = ErrorMessage + "* Le mot de passe doit contenir 6 à 10 caractères<br />";
   // }
    //else
    //{
    if(Password.value != ConfirmPassword.value)
    {
        ErrorMessage = ErrorMessage + "* Vos mots de passe ne correspondent pas.<br />";
    }
    //}
    xmlhttp.open("POST","../../AJAX/CheckPasswordStrengthFR.aspx",false);
    xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    var datatosend = "FirstName="+FirstName.value+"&Password="+escape(Password.value)+"&LastName=" +LastName.value;
    xmlhttp.send(datatosend);    
    
    datareturned = xmlhttp.responseText;                            
    
    if (datareturned != "")
    {
        //alert(datareturned);
        ErrorMessage = ErrorMessage + datareturned +"<br/>";
    }           
}

function ValidatePassword()
{                
    if(divPassword.style.display=="block")
    {               
        if(Password.value == "")
        {
            ErrorMessage = ErrorMessage + "* Veuillez vérifier votre mot de passe.<br />";
        } 
        else
        {
            xmlhttp.open("POST","../../AJAX/ValidatePassword.aspx",false);
            xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
            var datatosend = "EmailAddress="+Email.value+"&Password="+escape(Password.value);
            xmlhttp.send(datatosend);    
            
            datareturned = xmlhttp.responseText;                            
            
            if (datareturned != "TRUE")
            {
                ErrorMessage = ErrorMessage + "* Veuillez vérifier votre mot de passe.<br />";
            }           
        }
    }        
}

function ValidateScreenName()
{
    if(ScreenName.value.length < 1)
    {
        ErrorMessage = ErrorMessage + "* Veuillez enter un nom d'utilisateur.<br />";
    }
    else if(ScreenName.value.length > 20)
    {
        ErrorMessage = ErrorMessage + "* Votre nom d'utilisateur excède 20 caractères. <br />";
    }
    else
    {
        xmlhttp.open("POST","../../AJAX/ScreenNameInUse.aspx",false);
        xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
        var datatosend = "EmailAddress="+Email.value+"&ScreenName="+ScreenName.value;
        xmlhttp.send(datatosend);    
        
        datareturned = xmlhttp.responseText;
        
        if (datareturned != "FALSE")
        {		
               ErrorMessage = ErrorMessage + "* Désolé! Ce nom d’utilisateur est déjà utilisé par un autre membre. Veuillez entrer un autre nom.<br />";
        }
        else
        {
            ProfanityCheck(ScreenName.value, "nom d’utilisateur")
        } 
    }  
}

function ProfanityCheck(StringToCheck, Source)
{
    xmlhttp.open("POST","../../AJAX/ProfanityFilter.aspx",false);
    xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    var datatosend = "StringToCheck="+StringToCheck;
    xmlhttp.send(datatosend);                
    
    datareturned = xmlhttp.responseText;
    
    if (datareturned != "FALSE")
    {		
           ErrorMessage = ErrorMessage + "* Votre " + Source + " renferme des grossièretés et ne sera pas affiché. Veuillez modifier votre " + Source + " avant de le soumettre à nouveau.<br />";
    }   
}

function ValidateComment()
{
    if(Comment.value.length < 1)
    {
        ErrorMessage = ErrorMessage + "* Veuillez vérifier votre commentaire.<br />";
    }
    else
    {
        if(Comment.value.length > 500)
        {
            ErrorMessage = ErrorMessage + "* Votre commentaire excède 500 caractères.<br />";
        }
        else
        {
            ProfanityCheck(Comment.value, "commentaire");
        }
        
    }
}

function ValidateTerms()
{
    if(divTerms.style.display=="block")
    {
        if(Terms.checked == false)
        {
            ErrorMessage = ErrorMessage + "* Afin de soumettre votre commentaire, vous devez accepter les conditions définies dans Lignes directrices de la collectivité. Veuillez cocher la case avant de poursuivre.<br />"
        }
    }

}

function ValidateSignUpTerms()
{
    if(Terms.checked == false)
    {
        ErrorMessage = ErrorMessage + "* Afin de soumettre votre commentaire, vous devez accepter les conditions définies dans Lignes directrices de la collectivité. Veuillez cocher la case avant de poursuivre<br />"
    }
}

function ValidateCaptcha()
{
    if(CaptchaInput.value.length < 1)
    {
        ErrorMessage = ErrorMessage + "* Le code soumis ne correspond pas à celui qui est affiché. Veuillez essayer à nouveau.<br />";
    }
    else
    {
        xmlhttp.open("POST","../../AJAX/ValidateCaptcha.aspx",false);
        xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
        var datatosend = "CaptchaInput="+CaptchaInput.value+"&CaptchaValue="+CaptchaValue.value;
        xmlhttp.send(datatosend);    
        
        datareturned = xmlhttp.responseText;                           
        
        if (datareturned != "TRUE")
        {
            ErrorMessage = ErrorMessage + "* Le code soumis ne correspond pas à celui qui est affiché. Veuillez essayer à nouveau.<br />"    
        }
    }
}

function ValidateOSTAbout()
{
    //alert(OSTAbout.selectedIndex);
    if(OSTAbout_0.checked == false && OSTAbout_1.checked == false && OSTAbout_2.checked == false)
    {
        ErrorMessage = ErrorMessage + "* Veuillez choisir une catégorie.<br />";
    }
}

function ValidateOSTText()
{
    if(OSTText.value.length < 1)
    {
        ErrorMessage = ErrorMessage + "* Veuillez vérifier votre commentaire.<br />";
    }
    else
    {
        if(OSTText.value.length > 100)
        {
            ErrorMessage = ErrorMessage + "* Votre commentaire excède 100 caractères.<br />";
        }
        else
        {
            ProfanityCheck(OSTText.value, "commentaire");
        }
        
    }
}

function ValidateFlagInappropriateReason()
{
    if(Reason.selectedIndex == 0)
    {
        ErrorMessage = ErrorMessage + "* Veuillez indiquer la raison.<br />"
    }
}

function ValidateName(TheName, TheType)
{
    if(TheName.length < 1)
    {
        ErrorMessage = ErrorMessage + "* Veuillez indiquer le " + TheType + ".<br />";
    }
}

function ValidateSpreadMessage()
{
    if(SpreadMessage.value.length < 1)
    {
        ErrorMessage = ErrorMessage + "* Veuillez entrer un message.<br />";
    }
    else
    {
        if(SpreadMessage.value.length > 1000)
        {
            ErrorMessage = ErrorMessage + "* Votre message excède 1000 caractères.<br />";
        }      
        
    }
}

function AlreadySignedUp()
{
    xmlhttp.open("POST","../../AJAX/EmailAddressInUse.aspx",false);
    xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    var datatosend = "EmailAddress="+Email.value;
    xmlhttp.send(datatosend);    
    
    datareturned = xmlhttp.responseText;
    if(datareturned != "")
    {
        ErrorMessage = ErrorMessage + "* Désolé! Vous êtes déjà membre. Veuillez plutôt <a href=\"login.aspx\">ouvrir une session</a> <br />";
    
    }
}

function VerifyOldPassword()
{
    xmlhttp.open("POST","../../AJAX/VerifyOldPassword.aspx",false);
    xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    var datatosend = "OldPassword="+escape(OldPassword.value);
    xmlhttp.send(datatosend);    
    
    datareturned = xmlhttp.responseText;
    if(datareturned != "TRUE")
    {
        ErrorMessage = ErrorMessage + "* Votre ancien mot de passe n'est pas valide <a href=\"ForgotPassword.aspx\"><strong>Avez-vous oublié votre mot de passe?</strong></a><br />";
        //ErrorMessage = ErrorMessage + datareturned //"* Old password is incorrect <br />";
    
    }
}

/*End Helper Validate Functions*/


/*Miscellaneous Functions*/
function GenerateNewCaptcha()
{
    xmlhttp.open("POST","../../AJAX/GenerateNewCaptcha.aspx",false);
    xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    var datatosend = "";
    xmlhttp.send(datatosend);
    
    
    datareturned = xmlhttp.responseText;
    document.getElementById("hdnCaptcha").value = datareturned;
    document.getElementById("imgCaptcha").src="../../Captcha.aspx?SecurityCode="+datareturned;

    return false;
}

function EmailAddressInUse()
{
    xmlhttp.open("POST","../../AJAX/EmailAddressInUse.aspx",false);
    xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    var datatosend = "EmailAddress="+document.getElementById("txtEmailAddress").value;
    xmlhttp.send(datatosend);
    
    
    datareturned = xmlhttp.responseText;
    
    var divPassword = document.getElementById("divPassword");                               
    
    if (datareturned != "")
    {		
           divPassword.style.display="block";
           document.getElementById("txtScreenName").value=datareturned
           document.getElementById("txtScreenName").disabled = true;
    }
    else
    {
        divPassword.style.display="none"; 
        document.getElementById("txtPassword").value="";  
        document.getElementById("txtScreenName").disabled = false;
    }            
}


function ShowHideHHLPostal()
{
    divPostal = document.getElementById("divPostal");  
    HHL = document.getElementById("chkHHL"); 
    Postal = document.getElementById("txtPostal"); 
    if(HHL.checked == false)
    {
        divPostal.style.display="none";
        Postal.value = "";
    }
    else
    {
        divPostal.style.display="block";
    }
}

function ShowHideEditPassword()
{

    divPassword = document.getElementById("divPassword"); 
    chkPasswordChange = document.getElementById("chkPasswordChange"); 
    Password = document.getElementById("txtPassword"); 
    ConfirmPassword = document.getElementById("txtPassword2");  
    OldPassword = document.getElementById("txtOldPassword"); 
    
    if(chkPasswordChange.checked == false)
    {
        divPassword.style.display="none";
        Password.value = "";
        ConfirmPassword.value = "";
        OldPassword.value = "";
    }
    else
    {
       
        divPassword.style.display="block";
    }
    
}
/*End Miscellaneous Functions*/
