/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
var error_message = '';
var xmlHttp = createXmlHttpRequestObject();

// function to show security div
function SecurityDiv(){
    var Sex_Male = '';
    var Sex_Female = '';
    Sex_Male = document.join.Sex[0].checked;
    Sex_Female = document.join.Sex[1].checked;
    
    if((Sex_Male == false) && (Sex_Female == true))
    {
        document.getElementById('security_div').style.display = 'block';
    }
    else if((Sex_Male == true) && (Sex_Female == false)) {
        document.getElementById('security_div').style.display = 'none';
    }
    else
    {
        document.getElementById('security_div').style.display = 'none';
    }
}

// function to validate 
function Validate(){

    // validate male / female
    var Sex_Male = '';
    var Sex_Female = '';
    var DOB = '';
    var alias_n = '';
    var pass1 = '';
    var pass2 = '';
    var email1 = '';
    var email2 = '';
    var w = document.join.state_option.selectedIndex;
    var c = document.join.City_option.selectedIndex;
    var terms = '';
    var validate_security = '';
    var security = '';
    var cemail = '';
    error_message = document.getElementById('error_message');
    //alert(document.join.state_option.options[w].value);
    
    Sex_Male = document.join.Sex[0].checked;
    Sex_Female = document.join.Sex[1].checked;
    //DOB = document.getElementById('DOB').value;
    alias_n = document.getElementById('alias_name').value;
    pass1 = document.getElementById('pass1').value;
    pass2 = document.getElementById('pass2').value;
    email1 = document.getElementById('email1').value;
    email2 = document.getElementById('email2').value;
    terms = document.getElementById('Terms').checked;
    //validate_security = document.getElementById('validate_security').value;
    //security = document.getElementById('security').value;
   
    
    if((Sex_Male == false) && (Sex_Female == false)){
        error_message.innerHTML = 'Please choose if you are a man or a woman';
        return false;
    }
//    else if (DOB == '') {
//        error_message.innerHTML = 'Please Enter Your Age';
//        return false;
//    }
    else if (alias_n == '') {
        error_message.innerHTML = 'Please enter an Alias / Username';
		document.getElementById('alias_name').style.backgroundColor="RED";
		document.getElementById('alias_name').style.color="WHITE";
        return false;
    }else if (pass1 == '' || pass2 == '') {
        error_message.innerHTML = 'Please enter a password';
		document.getElementById('pass1').style.backgroundColor="RED";
		document.getElementById('pass1').style.color="WHITE";
        return false;
    }else if (pass1 != pass2){
        error_message.innerHTML = 'Your passwords do not match, please type them again';
		document.getElementById('pass2').style.backgroundColor="RED";
		document.getElementById('pass2').style.color="WHITE";
        return false;
    }else if (email1 == '') {
        error_message.innerHTML = 'Please enter an email address';
		document.getElementById('email1').style.backgroundColor="RED";
		document.getElementById('email1').style.color="WHITE";
        return false;
    }else if (email2 == '') {
        error_message.innerHTML = 'Please enter an email address';
		document.getElementById('email2').style.backgroundColor="RED";
		document.getElementById('email2').style.color="WHITE";
        return false;
    }else if (email1 != email2){
                error_message.innerHTML = 'Your email addresses do not match. Please type them again';
		document.getElementById('email2').style.backgroundColor="RED";
		document.getElementById('email2').style.color="WHITE";
        return false;
    }else if ( document.join.state_option.options[w].value == 'State' ) {
         error_message.innerHTML = 'Please select your State';
		 document.join.state_option.options[w].style.backgroundColor="RED";
		 document.join.state_option.options[w].style.color="WHITE";
         return false;
    }else if( document.join.City_option.options[c].value == 'City' ){
         error_message.innerHTML = 'Please select your City';
		 document.join.City_option.options[c].style.backgroundColor="RED";
		 document.join.City_option.options[c].style.color="WHITE";
         return false;
    }else if(terms == false){
         error_message.innerHTML = 'Please accept the Terms & Conditions';
		 document.getElementById('Terms').style.backgroundColor="RED";
		 document.getElementById('Terms').style.color="WHITE";
         return false;
    }else if (alias_n != ''){
        var checkalias = '';
        checkalias = ValidateSpecialCharcs(alias_n);

        if(checkalias == false){
                        error_message.innerHTML = 'Please Remove Special Characters from your alias / username.';
			document.getElementById('alias_name').style.backgroundColor="RED";
			document.getElementById('alias_name').style.color="WHITE";
            return false;
        }

        if(document.getElementById('pass_username').value == 'T'){
            error_message.innerHTML = 'Alias/Username. Already Exists';
			document.getElementById('alias_name').style.backgroundColor="RED";
			document.getElementById('alias_name').style.color="WHITE";
            return false;
        }

        if(document.getElementById('pass_email').value == 'T'){
            error_message.innerHTML = 'Email. Already Exists';
			document.getElementById('email1').style.backgroundColor="RED";
			document.getElementById('email1').style.color="WHITE";
            return false;
        }

        if(email1 != ''){
            cemail = echeck(email1);
            if(cemail == false){
                error_message.innerHTML = "Invalid E-mail ID. Please enter a Valid Email Address";
                document.getElementById('email1').style.backgroundColor="RED";
                return false
            }
    //        else
    //            return true
        }
        if(email2 != ''){
            var cemail2 = '';
            cemail2 = echeck(email2);
            if(cemail2 == false){
                error_message.innerHTML = "Invalid E-mail ID. Please enter a Valid Email Address";
                document.getElementById('email2').style.backgroundColor="RED";
                return false
            }
    //        else
    //            return true
        }
    }else{
        return true;
    }
    //return false;
}

// function to check for alias name
function CheckAliasName(){
    var alias_name = '';
    alias_name = document.getElementById('alias_name').value;
    error_message = document.getElementById('error_message');
    var checkalias = '';
    checkalias = ValidateSpecialCharcs(alias_name);
    if(checkalias == false){
        error_message.innerHTML = 'Please remove any special characters e.g / � $ * { ]';
		document.getElementById('alias_name').style.backgroundColor="RED";
		document.getElementById('alias_name').style.color="WHITE";
		
        return false;
    }else{
        var url = '';
        var params = '';
        url = "../includes/xml/check_alias.php"
        params = "aliasname="+alias_name;
        //alert(params);
        if (xmlHttp){
            // try to connect to the server
            try{
              if ((xmlHttp.readyState == 4 || xmlHttp.readyState == 0)){
                // execute the quickstart.php page from the server
                xmlHttp.open("POST", url, true);
                //document.getElementById('error_mess').innerHTML = '<img src="../images/ajax-loading.gif">';
                xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
                xmlHttp.setRequestHeader("Content-length", params.length);
                xmlHttp.setRequestHeader("Connection", "close");
                xmlHttp.onreadystatechange =  handleResponseCAN;
                xmlHttp.send(params);
              }
            }
            // display the error in case of failure
            catch (e){
                alert("Can't connect to server:\n" + e.toString());
            }
        }
    }
}

// function to read alias xml file
function handleResponseCAN()
{
  // when readyState is 4, we are ready to read the server response
  if (xmlHttp.readyState == 4)
  {
    // continue only if HTTP status is "OK"
    if (xmlHttp.status == 200)
    {
      try
      {
        // do something with the response from the server
        handleResponseCANR();
      }
      catch(e)
      {
        // display error message
        alert("Error reading the response: " + e.toString());
      }
    }
    else
    {
      // display status message
      //alert("There was a problem retrieving the data:\n" + xmlHttp.statusText);
    }
  }
}

// function to check for alias name
function handleResponseCANR()
{
  // read the message from the server
  var xmlResponse = xmlHttp.responseXML;
  // catching potential errors with IE and Opera
  if (!xmlResponse || !xmlResponse.documentElement)
    throw("Invalid XML structure:\n" + xmlHttp.responseText);
  // catching potential errors with Firefox
  var rootNodeName = xmlResponse.documentElement.nodeName;
  if (rootNodeName == "parsererror")
    throw("Invalid XML structure:\n" + xmlHttp.responseText);
  // obtain the XML's document element
  xmlRoot = xmlResponse.documentElement;

  var sucess = '';
  sucess = xmlRoot.getElementsByTagName("operation-success")[0].firstChild.data;
  if(sucess == '0'){
//    document.getElementById('error_message').innerHTML = 'Alias / Username is available.';
//    document.getElementById('valid_username').innerHTML = '<input type="hidden" name="valid_username" id="pass_username" value="F" class="Form-Text-Field"  />';
  }
  else{
    document.getElementById('error_message').innerHTML          = 'Sorry, that username has already been taken... please try another username';
    document.getElementById('valid_username').innerHTML         = '<input type="hidden" name="valid_username" id="pass_username" value="T" class="Form-Text-Field"  />';
    document.getElementById('alias_name').style.backgroundColor = "RED";
    document.getElementById('alias_name').style.color           = "WHITE";
  }
}

// function to check for specials characters
function ValidateSpecialCharcs(data){
    //var data = '';
    //data = document.getElementById(id).value;
    var iChars = "!#$%^&*()+=[]\\\';,/{}|\":<>?~";
    for (var i = 0; i < data.length; i++){
        if (iChars.indexOf(data.charAt(i)) != -1){
          return false;
        }
    }
}

function echeck(str) {

    var at   = "@"
    var dot  = "."
    var www  = "www."
    var lat  = str.indexOf(at)
    var lstr = str.length
    var ldot = str.indexOf(dot)
    
    if (str.indexOf(at)==-1){
        alert("Invalid E-mail ID. Please enter a Valid Email Address");
        return false
    }else if (str.indexOf(www)!=-1){
        alert("Invalid E-mail ID. Please enter a Valid Email Address");
        return false
    }else if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
        alert("Invalid E-mail ID. Please enter a Valid Email Address");
        return false
    }else if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
        alert("Invalid E-mail ID. Please enter a Valid Email Address");
        return false
    }else if (str.indexOf(at,(lat+1))!=-1){
        alert("Invalid E-mail ID. Please enter a Valid Email Address");
        return false
    }else if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
        alert("Invalid E-mail ID. Please enter a Valid Email Address");
        return false
    }else if (str.indexOf(dot,(lat+2))==-1){
        alert("Invalid E-mail ID. Please enter a Valid Email Address");
        return false
    }else if (str.indexOf(" ")!=-1){
        alert("Invalid E-mail ID. Please enter a Valid Email Address");
        return false
    }else if( (str.length - (str.lastIndexOf(dot) + 1)) < 2 )  {
        alert("Invalid E-mail ID. Please enter a Valid Email Address");
        return false
    }else if(str.length > 1){

        var data = '';
        var spcemail = '';

        data = str.split('@');
        spcemail = ValidateSpecialCharcs(data[0]);
        
        if(spcemail == false){
            alert("Special Invalid E-mail ID. Please enter a Valid Email Address");
            return false;
        }
    }
    else{
        return true
    }
}

// function to check for email address
function CheckEmail(){
    var email = '';
    email = document.getElementById('email1').value;
    error_message = document.getElementById('error_message');
    var url = '';
    var params = '';
    url = "../includes/xml/check_email.php";
    params = "email="+email;
    //alert(params);
    if (xmlHttp){
        // try to connect to the server
        try{
          if ((xmlHttp.readyState == 4 || xmlHttp.readyState == 0)){
            // execute the quickstart.php page from the server
            xmlHttp.open("POST", url, true);
            //document.getElementById('error_mess').innerHTML = '<img src="../images/ajax-loading.gif">';
            xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            xmlHttp.setRequestHeader("Content-length", params.length);
            xmlHttp.setRequestHeader("Connection", "close");
            xmlHttp.onreadystatechange =  handleResponseCEM;
            xmlHttp.send(params);
          }
        }
        // display the error in case of failure
        catch (e){
            alert("Can't connect to server:\n" + e.toString());
        }
    }
}

// function to load the xml file
function handleResponseCEM()
{
  // when readyState is 4, we are ready to read the server response
  if (xmlHttp.readyState == 4)
  {
    // continue only if HTTP status is "OK"
    if (xmlHttp.status == 200)
    {
      try
      {
        // do something with the response from the server
        handleResponseCEMR();
      }
      catch(e)
      {
        // display error message
        alert("Error reading the response: " + e.toString());
      }
    }
    else
    {
      // display status message
      //alert("There was a problem retrieving the data:\n" + xmlHttp.statusText);
    }
  }
}

// function to handle check email response
function handleResponseCEMR()
{
  // read the message from the server
  var xmlResponse = xmlHttp.responseXML;
  // catching potential errors with IE and Opera
  if (!xmlResponse || !xmlResponse.documentElement)
    throw("Invalid XML structure:\n" + xmlHttp.responseText);
  // catching potential errors with Firefox
  var rootNodeName = xmlResponse.documentElement.nodeName;
  if (rootNodeName == "parsererror")
    throw("Invalid XML structure:\n" + xmlHttp.responseText);
  // obtain the XML's document element
  xmlRoot = xmlResponse.documentElement;

  var sucess = '';
  sucess = xmlRoot.getElementsByTagName("operation-success")[0].firstChild.data;
  if(sucess == '0'){
//    document.getElementById('error_message').innerHTML      = 'Email Address available.';
//    document.getElementById('valid_email').innerHTML        = '<input type="hidden" name="valid_email" id="pass_email" value="F" class="Form-Text-Field"  />';
//    document.getElementById('email1').style.backgroundColor = "RED";
//    document.getElementById('email1').style.color           = "WHITE";
  }
  else{
    document.getElementById('error_message').innerHTML          = 'Email already used. Please Enter a new Email Address.';
    document.getElementById('valid_email').innerHTML            = '<input type="hidden" name="valid_email" id="pass_email" value="T" class="Form-Text-Field"  />';
	document.getElementById('email1').style.backgroundColor = "RED";
	document.getElementById('email1').style.color           = "WHITE";
  }
}

// function to validate webmaster login
function WebmasterValidate(){

    var first_name = '';
    var last_name = '';
    var add1 = '';
    var zipcode = '';
    var country = '';
    var tel = '';
    var affemail = '';
    var raffemail = '';
    var pass1 = '';
    var pass2 = '';
    var terms = '';

    first_name = document.getElementById('FirstName');
    last_name = document.getElementById('LastName');
    add1 = document.getElementById('Address01');
    zipcode = document.getElementById('Zipcode');
    country = document.getElementById('County');
    tel = document.getElementById('Telephone');
    affemail = document.getElementById('AffEmail');
    raffemail = document.getElementById('ReAffEmail');
    pass1 = document.getElementById('pass1');
    pass2 = document.getElementById('pass2');
    terms = document.getElementById('Terms');
    
    //Address01
    if(first_name.value == ''){
        first_name.style.backgroundColor = "#fcc";
        first_name.focus();
        return false;
    }else if(last_name.value == ''){
        last_name.style.backgroundColor = "#fcc";
        last_name.focus();
        return false;
    }else if(add1.value == ''){
        add1.style.backgroundColor = "#fcc";
        add1.focus();
        return false;
    }else if(zipcode.value == ''){
        zipcode.style.backgroundColor = "#fcc";
        zipcode.focus();
        return false;
    }else if(country.value == ''){
        country.style.backgroundColor = "#fcc";
        country.focus();
        return false;
    }else if(tel.value == ''){
        tel.style.backgroundColor = "#fcc";
        tel.focus();
        return false;
    }else if(affemail.value == ''){
        affemail.style.backgroundColor = "#fcc";
        affemail.focus();
        return false;
    }else if(raffemail.value == ''){
        raffemail.style.backgroundColor = "#fcc";
        raffemail.focus();
        return false;
    }else if(pass1.value == ''){
        pass1.style.backgroundColor = "#fcc";
        pass1.focus();
        return false;
    }else if(pass2.value == ''){
        pass2.style.backgroundColor = "#fcc";
        pass2.focus();
        return false;
    }else{
        return true;
    }
}

function Captcha(form)
{
    var cap = '';
    var cap_value = '';
    var username = '';
    var email = '';

    username = document.getElementById('username').value;
    email = document.getElementById('email').value;
    cap = document.getElementById('txtCaptcha').value;
    cap_value = document.getElementById('cap_value').value;

    if(username == ''){
        document.getElementById('result').style.backgroundColor = "#fcc";
        document.getElementById('result').innerHTML = 'Username required';
        return false;
    }else if(email == ''){
        document.getElementById('result').style.backgroundColor = "#fcc";
        document.getElementById('result').innerHTML = 'Email required';
        return false;
    }
    else if((cap != cap_value) || (cap == ''))
    {
        //alert(cap +" , "+cap_value);
        //Get a reference to CAPTCHA image
        //document.getElementById('imgC').innerHTML = "<input type=\"text\" value=\""+m[1]+"\" id=\"cap_value\" />";
        document.getElementById('result').style.backgroundColor = "#fcc";
        document.getElementById('result').innerHTML = 'Wrong Code. Re-Type again';
        return false;
        //img = document.getElementById('imgCaptcha');
        //var m = Math.random();
        //m = m.split('.', 4);
        //img.innerHTML = m[1];
    }
    else
    {
        return true;
    }
}
