var errorHighlighColour = '#FFAAAA';
var fieldColour = 'white';
var closeLink = '<span style="cursor:pointer; width:100%; text-align:center; text-decoration:underline; color:blue;" onClick="javascript:clearError();">Click here to hide errors and continue<BR></span>';
var submitButton = '<div class="signupButton" onclick="javascript:validateSignup(document.getElementById(\'signupWarnings\'));"><div class="signupButtonText">Activate Now !</div></div>';
var errorPrefix = '<span style="font-weight:bold; text-decoration:underline; text-align:center;">Please correct the below errors before continuing</span><hr>';

/*function validateSignup(errorBox){
    
    document.getElementById('signupButton').innerHTML = '<img alt="" src="images/loader.gif" /><BR>Setting up account...';
    
    var error = '';

    if(!(jcap())){
        document.getElementById('uword').style.background = errorHighlighColour;
        error = error + '- Security word is incorrect<BR><HR>';
    }
    else{
        document.getElementById('uword').style.background = fieldColour;
    }

    if(document.getElementById('fname').value==''){
        document.getElementById('fname').style.background = errorHighlighColour;
        error = error + '- First name is required<BR><HR>';
    }
    else{
        document.getElementById('fname').style.background = fieldColour;
    }
    
    
    if(document.getElementById('sname').value==''){
        document.getElementById('sname').style.background = errorHighlighColour;
        error = error + '- Surname name is required<BR><HR>';
    }  
    else{
        document.getElementById('sname').style.background = fieldColour;
    }
    
    
    if(document.getElementById('email1').value==''){
        document.getElementById('email1').style.background = errorHighlighColour;
        error = error + '- Email address is required<BR><HR>';
    }  
    else{
        document.getElementById('email1').style.background =fieldColour;
    }
    
    
    if(document.getElementById('email2').value==''){
        document.getElementById('email2').style.background = errorHighlighColour;
        error = error + '- Confirmation of email address is required<BR><HR>';
    }  
    else{
        document.getElementById('email2').style.background =fieldColour;
    }
    
    
    if(!(document.getElementById('email1').value=='') && !(document.getElementById('email2').value=='')){
        if(!(document.getElementById('email1').value==document.getElementById('email2').value)){
            document.getElementById('email1').style.background = errorHighlighColour;
            document.getElementById('email2').style.background = errorHighlighColour;
            error = error + '- Email addresses do not match<BR><HR>';
        }
        else{
            document.getElementById('email1').style.background =fieldColour;
            document.getElementById('email2').style.background =fieldColour;
        }
    }
    
    if(document.getElementById('crafty_in_out_postcode').value==''){
        document.getElementById('crafty_in_out_postcode').style.background = errorHighlighColour;
        error = error + '- Postcode is required<BR><HR>';
    }  
    else{
        document.getElementById('crafty_in_out_postcode').style.background =fieldColour;
    }
    if(document.getElementById('crafty_out_street1').value==''){
        document.getElementById('crafty_out_street1').style.background = errorHighlighColour;
        error = error + '- Line 1 of address is required<BR><HR>';
    }  
    else{
        document.getElementById('crafty_out_street1').style.background =fieldColour;
    }
    if(validateLandline(document.getElementById('landline').value) == false){
        document.getElementById('landline').style.background = errorHighlighColour;
        error = error + '- Landline is invalid, please make sure this is at least 10 digits long, starts with 01 or 02 and only contains numbers<BR><HR>';
    }  
    else{
        document.getElementById('landline').style.background =fieldColour;
    }

    
    if(document.getElementById('pass1').value==''){
        document.getElementById('pass1').style.background = errorHighlighColour;
        error = error + '- Password is required<BR><HR>';
    }  
    else{
        document.getElementById('pass1').style.background =fieldColour;
    }
    
    
    if(document.getElementById('pass2').value==''){
        document.getElementById('pass2').style.background = errorHighlighColour;
        error = error + '- Confirmation of password is required<BR><HR>';
    }  
    else{
        document.getElementById('pass2').style.background =fieldColour;
    }
    
    
    if(!(document.getElementById('pass1').value=='') && !(document.getElementById('pass2').value=='')){
        if(!(document.getElementById('pass1').value==document.getElementById('pass2').value)){
            document.getElementById('pass1').style.background = errorHighlighColour;
            document.getElementById('pass2').style.background = errorHighlighColour;
            error = error + '- Passwords do not match<BR><HR>';
        }
        else{
            document.getElementById('pass1').style.background =fieldColour;
            document.getElementById('pass2').style.background =fieldColour;
        }
    }
    
    if(document.getElementById('terms').checked == false){
        document.getElementById('terms').style.background = errorHighlighColour;
        error = error + '- Tick to accept terms and conditions<BR><HR>';
    }
    else{
        document.getElementById('terms').style.background = fieldColour;
    }
    if(document.getElementById('number').selectedIndex < 0){
        document.getElementById('number').style.background = errorHighlighColour;
        error = error + '- Select your free 0844 number<BR><HR>';
    }
    else{
        document.getElementById('number').style.background = fieldColour;
        
    }
        
    if(error == ''){
        processSignup(errorBox);
    }
    else{
        errorBox.innerHTML = errorPrefix + error + closeLink;
        document.getElementById('signupButton').innerHTML = submitButton;
    }
    
    showErrors();
    
}*/

function showErrors(){
    document.getElementById('errorContainer').style.display ='block';
}


function validateLandline(value){
    if(IsNumeric(value) && value.length > 10 && (value.substring(0,2) == '01' || value.substring(0,2) == '02')){
        return true;
    }
    else{
        return false;
    }  
}

function validateMobile(value){
    if (IsNumeric(value) && value.length > 10 && value.substring(0, 2) == '07' && !(value.substring(0, 3) == '070')) {
        return true;
    }
    else{
        return false;
    }  
}

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 processSignup(errorBox){
 
    var url;
    var pageRequest = false;
    var variables = '';

    url = 'http://' + document.location.host + '/includes/tools/process_Signup.asp';  
    
    if (window.XMLHttpRequest) {
        pageRequest = new XMLHttpRequest();
    }
    else if (window.ActiveXObject){
        pageRequest = new ActiveXObject('Msxml2.XMLHTTP');
        if (pageRequest==null)
	        pageRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
    }
    else return false;
    pageRequest.onreadystatechange = function() {
        processSignup_callback(pageRequest,errorBox);
    }

    pageRequest.open('POST',url,true);

    pageRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    
    variables = 'number=' + document.getElementById('number').value + '&title=' + escape(document.getElementById('title').value) + '&fname=' + escape(document.getElementById('fname').value) + '&sname=' + escape(document.getElementById('sname').value) + '&email=' + escape(document.getElementById('email1').value);
    variables = variables + '&landline=' + escape(document.getElementById('landline').value) + '&mobile=' + escape(document.getElementById('mobile').value) + '&company=' + escape(document.getElementById('companyName').value) + '&website=' + escape(document.getElementById('website').value);
    variables = variables + '&postcode=' + escape(document.getElementById('crafty_in_out_postcode').value) + '&password=' + escape(document.getElementById('pass1').value) + '&terms=' + document.getElementById('terms').checked + '&rid=' + document.getElementById('rid').value ;
    variables = variables + '&add1=' + escape(document.getElementById('crafty_out_street1').value) + '&add2=' + escape(document.getElementById('crafty_out_street2').value) + '&add3=' + escape(document.getElementById('crafty_out_street3').value) + '&add4=' + escape(document.getElementById('crafty_out_town').value) ;
      
    pageRequest.send(variables); 

}

function processSignup_callback(pageRequest,errorBox){


     if (pageRequest.readyState == 4)  {
        
        if (pageRequest.status==200) {

             var errorCode = pageRequest.responseText.split('|')[0];
             var errorMsg = pageRequest.responseText.split('|')[1];

             switch(errorCode){
             
             case '1':
                //succesfull signup
                var username = errorMsg.split('~')[0];
                var password = errorMsg.split('~')[1];
                //login(username,password);
                errorMsg = 'signup succesfull - logging you in now...';
             break;
             
            // case '-1':
                //system error
            // break;
             
            // case '-2':
                //system error
            // break;
             
            // case '-3':
                //system error
            // break;
             
            // case '-4':
                //system error
            // break;

             case '-5':
                //invalid email address
                document.getElementById('email1').style.background = errorHighlighColour;
                document.getElementById('email2').style.background = errorHighlighColour;
             break;
             
             case '-6':
                //invalid email address
                document.getElementById('email1').style.background = errorHighlighColour;
                document.getElementById('email2').style.background = errorHighlighColour;
             break;
             
            // case '-7':
                //system error
            // break;
             
             case '-8':
                //error allocating number
                document.getElementById('number').style.background = errorHighlighColour;
             break; 
             
             case '-9':
                //error allocating number
                document.getElementById('number').style.background = errorHighlighColour;
             break;
             
             case '-10':
                //landline in use
                document.getElementById('landline').style.background = errorHighlighColour;
             break;
             
             //case '-11':
                //system error
             //break;  
             
              case '-12':
                //invalid landline
                document.getElementById('landline').style.background = errorHighlighColour;
             break;
             
             }

             errorBox.innerHTML = errorPrefix + errorMsg  + closeLink;
             
             document.getElementById('signupButton').innerHTML = submitButton;
           	            
        }
        else 
            if (pageRequest.status == 404) alert('Sorry, that information is not currently available.');
            else alert('Sorry, there seems to be a problem. Page Status Code: ' + pageRequest.status) ;
    }    

}

function processSignupNew(){
 
    var url;
    var pageRequest = false;
    var variables = '';

    url = 'http://' + document.location.host + '/includes/tools/process_Signup.asp';  
    
    if (window.XMLHttpRequest) {
        pageRequest = new XMLHttpRequest();
    }
    else if (window.ActiveXObject){
        pageRequest = new ActiveXObject('Msxml2.XMLHTTP');
        if (pageRequest==null)
	        pageRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
    }
    else return false;
    pageRequest.onreadystatechange = function() {
        processSignupNew_callback(pageRequest);
    }

    pageRequest.open('POST',url,true);

    pageRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    
    variables = 'number=' + document.getElementById('number').value + '&title=' + escape(document.getElementById('title').value) + '&fname=' + escape(document.getElementById('fname').value) + '&sname=' + escape(document.getElementById('sname').value) + '&email=' + escape(document.getElementById('email1').value);
    variables = variables + '&landline=' + escape(document.getElementById('landline').value) + '&company=' + escape(document.getElementById('companyName').value);
    variables = variables + '&postcode=' + escape(document.getElementById('crafty_in_out_postcode').value) + '&password=' + escape(document.getElementById('pass1').value) + '&terms=' + document.getElementById('terms').checked + '&rid=' + document.getElementById('rid').value ;
    variables = variables + '&add1=' + escape(document.getElementById('crafty_out_street1').value) + '&add2=' + escape(document.getElementById('crafty_out_street2').value) + '&add3=' + escape(document.getElementById('crafty_out_street3').value) + '&add4=' + escape(document.getElementById('crafty_out_town').value) ;
     
    pageRequest.send(variables);  
     
}

function processSignupNew_callback(pageRequest){


     if (pageRequest.readyState == 4)  {
        
        if (pageRequest.status==200) {

             var errorCode = pageRequest.responseText.split('|')[0];
             var errorMsg = pageRequest.responseText.split('|')[1];


             switch(errorCode){
             
             case '1':
                //succesfull signup
                var username = errorMsg.split('~')[0];
                var password = errorMsg.split('~')[1];
               
                document.getElementById('errorMsg').innerHTML = 'Congratulations! now logging you into your new account...';
                
                login(username,password);
             break;
             
            // case '-1':
                //system error
            // break;
             
            // case '-2':
                //system error
            // break;
             
            // case '-3':
                //system error
            // break;
             
            // case '-4':
                //system error
            // break;

             case '-5':
                //invalid email address
                document.getElementById('errorMsg').innerHTML = 'The email address you have entered is already in use<br />Please login to your existing or use an alternative email address.';
                showError('email1','Email address already in use');
                showError('email2','Email address already in use');
             break;
             
             case '-6':
                //invalid email address
                document.getElementById('errorMsg').innerHTML = 'The email address you have entered is invalid<br />All email address must have an "@" and end .co.uk/.com/.biz etc.';
                showError('email1','Email address invalid');
                showError('email2','Email address invalid');
             break;
             
            // case '-7':
                //system error
            // break;
             
             case '-8':
                //error allocating number
                showError('number','')
                ddocument.getElementById('errorMsg').innerHTML = 'Sorry, there was an error allocation your chosen 084 number, please select a different one and try again.';
             break; 
             
             case '-9':
                //error allocating number
                showError('number','')
                ddocument.getElementById('errorMsg').innerHTML = 'Sorry, there was an error allocation your chosen 084 number, please select a different one and try again.';
             break;
             
             case '-10':
                //landline in use
                document.getElementById('errorMsg').innerHTML = 'The landline you entered is already in use on this system.<br />If you already have an account then please log in and purchase additional queues.';
             break;
             
             //case '-11':
                //system error
             //break;  
             
              case '-12':
                //invalid landline
                document.getElementById('landline').style.background = errorHighlighColour;
             break;
             
             }
             
           	            
        }
        else 
            if (pageRequest.status == 404) alert('Sorry, that information is not currently available.');
            else alert('Sorry, there seems to be a problem. Page Status Code: ' + pageRequest.status) ;
            
        document.getElementById('signupError').style.display = 'block';
        document.getElementById('signupButton').style.display = 'block';
        document.getElementById('signupWaiting').style.display = 'none';
            
    }    

}




function login(username,password){

    //welcome = 1 to indicate first login

    window.location = 'http://' + document.location.host + '/p_login.asp?username=' + username + '&password=' + password + '&welcome=1&firstLogon=1';

}