﻿var errorText1 = "<p>Please select your title.</p>";
var errorText2 = "<p>郵便番号は必須です</p>";//postcode
var errorText3 = "<p>姓は必須です</p>";//first name
var errorText4 = "<p>お名前は必須です</p>";//last name
var errorText5 = "<p>メールアドレスは必須です</p>";//email
var errorText6 = "<p>電話番号は必須です</p>";//telephone
var errorText7 = "<p>住所1を入力してください。</p>";//address line 1
var errorText9 = "<p>区/市町村を入力してください。</p>";//city
var errorText10 = "<p>都道府県を入力してください。</p>";//county
var errorText11 = "<p>Please enter a country.</p>";
var errorText12 = "<p>会社名は必須です</p>";//company name
var errorText13 = "<p>Please press the Find button.</p>";
   
   
function RequestDemo()
{    
    var firstnameValid = ValidateFirstName();
    var lastnameValid = ValidateLastName();
    var telephoneValid = ValidateTelephone();
    var emailValid = ValidateEmail();
    var companyNameValid = ValidateCompanyName();
    var addr1Valid = ValidateAddressLine1();
    var cityValid = ValidateCity();
    var countyValid = ValidateCounty();
    var postcodeValid = ValidatePostcode();
    //var countryValid = ValidateCountry();
    
    if(firstnameValid == false || lastnameValid == false || telephoneValid == false || 
        emailValid == false || companyNameValid == false || addr1Valid == false || cityValid == false || 
        countyValid == false || postcodeValid == false)
    {
        return false;
    }  
        
    var noOfLocations;
    if(document.getElementById('loc1').status == true)
    {
        noOfLocations = document.getElementById('loc1').value;
    }
    else if(document.getElementById('loc2').status == true)
    {
        noOfLocations = document.getElementById('loc2').value;
    }
    else if(document.getElementById('loc3').status == true)
    {
        noOfLocations = document.getElementById('loc3').value;
    }
    else if(document.getElementById('loc4').status == true)
    {
        noOfLocations = document.getElementById('loc4').value;
    }
    else if(document.getElementById('loc5').status == true)
    {
        noOfLocations = document.getElementById('loc5').value;
    }
    else if(document.getElementById('loc6').status == true)
    {
        noOfLocations = document.getElementById('loc6').value;
    }
    else
    {
        noOfLocations = "";
    }
    
    
    //Process the form
    xmlhttpPost("/PageTemplates/FormProcessing.aspx?" + 
                "FormType=DemoRequest" +
                "&SendNotificationToConsumer=true" +

                "&Title=" + escape("") +
                "&FirstName=" + escape(document.getElementById('firstname').value) +
                "&LastName=" + escape(document.getElementById('secondname').value) +
                "&TelephoneNumber=" + escape(document.getElementById('telephone').value) +
                "&Email=" + escape(document.getElementById('email').value) +
                
                "&CompanyName=" + escape(document.getElementById('companyname').value) +
                "&NoOfPeople=" + escape(document.getElementById('noofpeople').value) +
                "&NoOfLocations=" + escape(noOfLocations) +
                
                "&BuildingName=" + escape(document.getElementById('building').value) +
                "&AddressLine1=" + escape(document.getElementById('address1').value) +
                "&AddressLine2=" + escape(document.getElementById('address2').value) +
                "&City=" + escape(document.getElementById('city').value) +
                "&County=" + escape(document.getElementById('county').value) +
                "&Postcode=" + escape(document.getElementById('postcode').value) +
                "&Enquiry=" + escape(document.getElementById('message').value));
      
    return false;
}

function xmlhttpPost(strURL) 
{
    var xmlHttpReq = false;
    var self = this;
    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('GET', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4) {
            updatepage(self.xmlHttpReq.responseText);
        }
    }
    self.xmlHttpReq.send("");
}


function updatepage(str)
{
    window.location = str;
}

function ValidatePostcode()
{
    if (document.getElementById('postcode').value != "")
    {
        document.getElementById('ErrPostcode').style.display = "none";
        document.getElementById('ErrPostcode').innerHTML = "";
        return true;
    }
    else
    {
        document.getElementById('ErrPostcode').style.display = "";
        document.getElementById('ErrPostcode').innerHTML = errorText2;
        return false;
    }
}

function ValidateFirstName()
{
    if (document.getElementById('firstname').value != "")
    {
        document.getElementById('ErrFirstName').style.display = "none";
        document.getElementById('ErrFirstName').innerHTML = "";
	    return true;
    }
    else
    {
        document.getElementById('ErrFirstName').style.display = "";
        document.getElementById('ErrFirstName').innerHTML = errorText3;
        return false;
    }
}

function ValidateLastName()
{
    if (document.getElementById('secondname').value != "")
    {
        document.getElementById('ErrLastName').style.display = "none";
        document.getElementById('ErrLastName').innerHTML = "";
	    return true;
    }
    else
    {
        document.getElementById('ErrLastName').style.display = "";
        document.getElementById('ErrLastName').innerHTML = errorText4;
        return false;
    }
}

function ValidateEmail()
{
     var email = document.getElementById('email').value;
     if ( (email.indexOf("@") > 1) && //  must contain @, and it must not be the first character
          (email.lastIndexOf(".") > email.indexOf("@")) &&  // last dot must be after the @
          (email.indexOf("@") != email.length) &&  // @ must not be the last character
          (email.indexOf("..") < 0) && // two periods in a row is not valid
          (email.indexOf(".") != email.length) &&  // . must not be the last character
          (AllValidEmailChars(email)) ) // all characters must be valid
     {
        document.getElementById('ErrEmail').style.display = "none";
        document.getElementById('ErrEmail').innerHTML = "";
	    return true;
     }
     else
     {
        document.getElementById('ErrEmail').style.display = "";
        document.getElementById('ErrEmail').innerHTML = errorText5;
        return false;
     }
}

function ValidateTelephone()
{
    if (document.getElementById('telephone').value != "" )
    {
        document.getElementById('ErrTel').style.display = "none";
        document.getElementById('ErrTel').innerHTML = "";
	    return true;
    }
    else
    {
        document.getElementById('ErrTel').style.display = "";
        document.getElementById('ErrTel').innerHTML = errorText6;
        return false;
    }
}

function ValidateCompanyName()
{
    if (document.getElementById('companyname').value != "" )
    {
        document.getElementById('ErrCompanyName').style.display = "none";
        document.getElementById('ErrCompanyName').innerHTML = "";
	    return true;
    }
    else
    {
        document.getElementById('ErrCompanyName').style.display = "";
        document.getElementById('ErrCompanyName').innerHTML = errorText12;
        return false;
    }
}

function ValidateAddressLine1()
{
    if (document.getElementById('address1').value != "")
    {
        document.getElementById('ErrAddress1').style.display = "none";
        document.getElementById('ErrAddress1').innerHTML = "";
	    return true;
    }
    else
    {
        document.getElementById('ErrAddress1').style.display = "";
        document.getElementById('ErrAddress1').innerHTML = errorText7;
        return false;
    }
}

function ValidateCity()
{
    if (document.getElementById('city').value != "")
    {
        document.getElementById('ErrCity').style.display = "none";
        document.getElementById('ErrCity').innerHTML = "";
	    return true;
    }
    else
    {
        document.getElementById('ErrCity').style.display = "";
        document.getElementById('ErrCity').innerHTML = errorText9;
        return false;
    }
}

function ValidateCounty()
{
    if (document.getElementById('county').value != "")
    {
        document.getElementById('ErrCounty').style.display = "none";
        document.getElementById('ErrCounty').innerHTML = "";
	    return true;
    }
    else
    {
        document.getElementById('ErrCounty').style.display = "";
        document.getElementById('ErrCounty').innerHTML = errorText10;
        return false;
    }
}

function ValidateCountry()
{
    if (document.getElementById('country').value != "")
    {
        document.getElementById('ErrCountry').style.display = "none";
        document.getElementById('ErrCountry').innerHTML = "";
	    return true;
    }
    else
    {
        document.getElementById('ErrCountry').style.display = "";
        document.getElementById('ErrCountry').innerHTML = errorText11;
        return false;
    }
}

function AllValidEmailChars(email)
{
    var isValid = true;
    var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
    for (var i=0; i < email.length; i++) 
    {
        var letter = email.charAt(i).toLowerCase();
        if (validchars.indexOf(letter) != -1)
        {
          continue;
        }
        else
        {
            isValid = false;
            break;
        }
    }
    return isValid;
}

function IsValidPostcode(postcode)
{
    var test = postcode; 
    var size = test.length;
    test = test.toUpperCase(); //Change to uppercase
    
    while (test.slice(0,1) == " ") //Strip leading spaces
    {
        test = test.substr(1,size-1);
        size = test.length;
    }
    while(test.slice(size-1,size)== " ") //Strip trailing spaces
    {
        test = test.substr(0,size-1);
        size = test.length;
    }
    if (size < 6 || size > 8){ //Code length rule-->
        return false;
    }
    if (!(isNaN(test.charAt(0)))){ //leftmost character must be alpha character rule
        return false;
    }
    if (isNaN(test.charAt(size-3))){ //first character of inward code must be numeric rule
        return false;
    }
    if (!(isNaN(test.charAt(size-2)))){ //second character of inward code must be alpha rule
        return false;
    }
    if (!(isNaN(test.charAt(size-1)))){ //third character of inward code must be alpha rule
        return false;
    }
    //if (!(test.charAt(size-4) == " ")){ //space in position length-3 rule
    //    return false;
    //}
    //count1 = test.indexOf(" ");count2 = test.lastIndexOf(" ");
    //if (count1 != count2){//only one space rule
    //    return false;
    //}
    return true;
}



