﻿function validateLogin()
{
    var errors = false;
    if(document.getElementById("login_email").value == "")
    {
        alert("Please provide your email address.");
        document.getElementById("login_email").focus();
        errors = true;
        return false;
    }
    var reEmailAddress = new RegExp("^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$");
    if(!reEmailAddress.test(document.getElementById("login_email").value))
    {
        alert("Please provide a valid email address");
        document.getElementById("login_email").focus();
        return false;
    }     
    if(document.getElementById("login_password").value == "")
    {
        alert("Please provide your password.");
        document.getElementById("login_password").focus();
        errors = true;
        return false;
    } 
    /*
    if(!errors)
    {
        //make ajax call to attempt login
        
        var o = Ajax.ValidateUser(document.getElementById("login_email").value , document.getElementById("login_password").value);
        if(o.value)
        {
            return true;
        }
        else
        {
            alert("Your login has failed.\nPlease check your email address and password.");
            return false;
        }
    }   
	*/
}

function validateRegister()
{
    //ajax call to see if email address is already registered.
    var formOK = false;
    var email = document.getElementById("register_email").value;    
    var o = Ajax.IsEmailRegistered(email);
    if(o.value)
    {
        alert("This email address has already been registered.");
        document.getElementById("register_email").focus();
        return false;
    }
    if(document.getElementById("register_email").value=="")
    {
        alert("Please provide your email address.");
        document.getElementById("register_email").focus();
        return false;
    }     
    var reEmailAddress = new RegExp("^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$");
    if(!reEmailAddress.test(document.getElementById("register_email").value))
    {
        alert("Please provide a valid email address.");
        document.getElementById("register_email").focus();
        return false;
    }    
    
    if(document.getElementById("register_firstname").value=="")
    {
        alert("Please provide your first name.");
        document.getElementById("register_firstname").focus();
        return false;
    }
    if(document.getElementById("register_surname").value=="")
    {
        alert("Please provide your surname.");
        document.getElementById("register_surname").focus();
        return false;
    }   
    if(document.getElementById("register_telephone").value=="")
    {
        alert("Please provide your telephone number.");
        document.getElementById("register_telephone").focus();
        return false;
    } 
    if(document.getElementById("register_terms").checked==false)
    {
        alert("Please confirm you have read the Terms & Conditions.");
        return false;
    }  
             
    document.frmRegister.submit();
}

function validateProfileUpdate()
{
    //ajax call to see if email address is already registered.
    var formOK = false;
    var email = document.getElementById("register_email").value;    
    //var o = Ajax.IsEmailRegistered(email);
    //if(o.value)
    //{
    //    alert("This email address has already been registered");
    //    document.getElementById("register_email").focus();
    //    return false;
    //}
    if(document.getElementById("register_email").value=="")
    {
        alert("Please provide your email address.");
        document.getElementById("register_email").focus();
        return false;
    }     
    var reEmailAddress = new RegExp("^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$");
    if(!reEmailAddress.test(document.getElementById("register_email").value))
    {
        alert("Please provide a valid email address");
        document.getElementById("register_email").focus();
        return false;
    }      
    if(document.getElementById("register_firstname").value=="")
    {
        alert("Please provide your first name.");
        document.getElementById("register_firstname").focus();
        return false;
    }
    if(document.getElementById("register_surname").value=="")
    {
        alert("Please provide your surname.");
        document.getElementById("register_surname").focus();
        return false;
    }   
    if(document.getElementById("register_telephone").value=="")
    {
        alert("Please provide your telephone number.");
        document.getElementById("register_telephone").focus();
        return false;
    } 
     
    if(document.getElementById("register_password").value!=document.getElementById("register_confirm_password").value)
    {
        alert("Your passwords do not match.");
        document.getElementById("register_password").focus();
        return false;
    }      
    document.frmProfile.submit();
}

function checkSearch()
{
    var o = document.getElementById("simpleSearch");
    if(o.value.length<1)
    {
      alert("Please provide a vaild search string.");  
      document.getElementById("simpleSearch").focus();
    }
    else
    {
        var encodedQuery = URLEncode(o.value);
        var sURL = "search.aspx?s=0&q=" + encodedQuery;  
        document.location = sURL;
    }  
    return false; 
}

function checkSearchWithinResults()
{
    var o = document.getElementById("simpleSearchInResults");
    if(o.value.length<1)
    {
      alert("Please provide a vaild search string.");
      document.getElementById("simpleSearchInResults").focus();  
    }
    else
    {
        var encodedQuery = URLEncode(o.value);
        var sURL = "search.aspx?s=0&qwr=" + encodedQuery;  
        document.location = sURL;
    }  
    return false; 
}

function validate_select(elem)
{
    alert("Do Select validation for element " + elem.id + ".");
}



function validateQuery()
{
    var errors = false;
    if(document.getElementById("email_address").value == "")
    {
        alert("Please provide your e-mail address.");
        document.getElementById("email_address").focus();
        errors = true;
        return false;
    }
    if(document.getElementById("query_details").value == "")
    {
        alert("Please provide the details of your query.");
        document.getElementById("query_details").focus();
        errors = true;
        return false;
    }   
    var reEmailAddress = new RegExp("^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$");
    if(!reEmailAddress.test(document.getElementById("email_address").value))
    {
        alert("Please provide a valid e-mail address.");
        document.getElementById("email_address").focus();
        return false;
    }    
    document.frmQuery.submit(); 
}

function validateCustomSearchForm()
{
    var userName = document.getElementById("Username").value;
    var emailAddress = document.getElementById("EmailAddress").value;
    var lookingFor = document.getElementById("LookingFor").value;
    var searchDetails = document.getElementById("SearchDetails").value;
    if(userName=="")
    {
        alert("Please provide your name.");
        document.getElementById("Username").focus();
        return false;
    }
    if(!isValidEmail(emailAddress))
    {
        alert("Please provide a valid email address.");
        document.getElementById("EmailAddress").focus();
        return false;
    }
    if(lookingFor=="-1")
    {
        alert("Please let us know what you are looking for.");
        document.getElementById("LookingFor").focus();
        return false;
    }
    document.frmQuery.submit();
}

function isValidEmail(emailAddress)
{
    var reEmailAddress = new RegExp("^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$");
    var isvalid = true;
    if(!reEmailAddress.test(emailAddress))
    {
        isvalid = false;
    } 
    return isvalid;
}

function URLEncode (clearString) {
  var output = '';
  var x = 0;
  clearString = clearString.toString();
  var regex = /(^[a-zA-Z0-9_.]*)/;
  while (x < clearString.length) {
    var match = regex.exec(clearString.substr(x));
    if (match != null && match.length > 1 && match[1] != '') {
    	output += match[1];
      x += match[1].length;
    } else {
      if (clearString[x] == ' ')
        output += '+';
      else {
        var charCode = clearString.charCodeAt(x);
        var hexVal = charCode.toString(16);
        output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
      }
      x++;
    }
  }
  return output;
}

