window.onload = initPage;

function initPage() {
if(document.getElementById('testimonial')) {
  InsertFlashObject("testimonial", "flash/testimonials.swf",178,209);
}
  if(document.getElementById('flash_map')) {
  InsertFlashObject("flash_map", "flash/ukmap.swf",370,630);
}
  if(document.getElementById('visit_other_sites')) {
    document.getElementById('visit_other_sites').onchange = view_other_websites;
  }
  
  if(document.getElementById('find_address')){
    document.getElementById('find_address').onclick = findAddressHandler;
  }
  
  externalLinks();
  
  if(document.getElementById('how_heard_category')){
    if(document.getElementById('how_heard').value == 49){
      document.getElementById('how_heard_category').style.display = "none";
    }else{                                                            
      howHeardValue = document.getElementById('how_heard').value;
      if(document.getElementById('how_heard_category').value != ''){
        selectHowHeardCategoriesSelected(howHeardValue);
      }
      document.getElementById('how_heard_category').onchange = selectHowHeardCategories;
      document.getElementById('how_heard').onchange = selectHowHeard;
      if((document.getElementById('how_heard').value == 772) || (document.getElementById('how_heard').value == 782) || (document.getElementById('how_heard').value == 792)){
        document.getElementById('recommendation').style.display = "inline";
      }
      if(document.getElementById('how_heard').value == 782){
        var divList = document.getElementsByTagName('div');
        for (var i = 0; i < divList.length; i++){
          if(divList[i].className == 'form_cont_desc'){
            divList[i].style.display = "block"; 
          }
        }
      }
    }
    document.getElementById('recommendation').onfocus = clearRecommendField; 
    document.getElementById('recommendation').onblur = resetRecommendField;
  }
  
  if(document.getElementById('nsemail')){
    document.getElementById('nsemail').onfocus = clearEmailField; 
    document.getElementById('nsemail').onblur = resetEmailField;
  }
  
  if(document.getElementById('how_heard')){
    if((document.getElementById('how_heard').value == 782) || (document.getElementById('how_heard').value == 792) || (document.getElementById('how_heard').value == 772)){
      document.getElementById('recommendation').style.display = "inline";
    }
  }
  
}

function view_other_websites() {
  
  var website;
  website = this.value;
  
  //window.location = website;
  window.open(website);
  return true;
      
}

function getAddress(phpFile) {
  // IE Check bool
  var xmlhttp = false;

  // Check for IE
  try {
    // Javascript > 5
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    // Older version of IE
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {
    // Not using IE
    xmlhttp = false;
    }
  }

  // Instantiate xmlhttp object if not IE
  if(!xmlhttp && typeof (XMLHttpRequest != 'undefined')) {
    xmlhttp = new XMLHttpRequest();
  }

  //var obj = document.getElementById(objID);  
  xmlhttp.open("GET", phpFile);
  xmlhttp.onreadystatechange = function() {
  if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
      
      breaker = xmlhttp.responseText.indexOf("ERROR",xmlhttp.responseText);
      errorStr = xmlhttp.responseText.substring(0,breaker);
      if(errorStr.length != 0){
        document.getElementById('message').innerHTML = errorStr;
      }else{
       // alert(xmlhttp.responseText);exit();
        //returning the address field
        $addressDelimiter = "ADDRESS";
        breakerAddress = xmlhttp.responseText.indexOf($addressDelimiter,xmlhttp.responseText);
        addressStr = xmlhttp.responseText.substring(0,breakerAddress);
        document.getElementById('address').value = '';
        document.getElementById('address').value = addressStr.replace(/^\s+|\s+$/, '');
        
        /*address = addressArr.split('|');
        for( var i in address ) {
          document.getElementById('address').value = address + "<br/>";          
        }*/
        //returning the town field
        $townDelimiter = "TOWN";
        breakerTown = xmlhttp.responseText.indexOf($townDelimiter,xmlhttp.responseText);
        townStr = xmlhttp.responseText.substring((breakerAddress + $addressDelimiter.length),breakerTown);
        document.getElementById('town').value = townStr;
        
        //returning the county field
        $countyDelimiter = "COUNTY";
        breakerCounty = xmlhttp.responseText.indexOf($countyDelimiter,xmlhttp.responseText);
        countyStr = xmlhttp.responseText.substring((breakerTown + $townDelimiter.length),breakerCounty);
        document.getElementById('county').value = countyStr;
        
        //returning the postcode field
        $postcodeDelimiter = "POSTCODE";
        breakerPostcode = xmlhttp.responseText.indexOf($postcodeDelimiter,xmlhttp.responseText);
        postcodeStr = xmlhttp.responseText.substring((breakerCounty + $countyDelimiter.length),breakerPostcode);
        document.getElementById('postcode').value = postcodeStr;
        
        document.getElementById('house_no').focus();
      }
      
    }
  }  
  xmlhttp.send(null);  
}

function findAddressHandler(){
  var postcode = document.getElementById('postcode');
  if(postcode.value != null){
     getAddress("logicajax/service_addressFinder.php?postcode=" + postcode.value);
  }
}

function trim(str, chars) {
  return ltrim(rtrim(str, chars), chars);
}
 
function ltrim(str, chars) {
  chars = chars || "\\s";
  return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) {
  chars = chars || "\\s";
  return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function clearform(){
  document.getElementById('address').value="";
  document.getElementById('town').value="";
  document.getElementById('county').value="";
  document.getElementById('postcode').value="";
}

function image_popup(image, galleryID) {
  var image = image;
  var newLink = image.replace("main", "large");
  var galleryID = galleryID;
  window.open('image-popup.html?image=' + newLink + '&gallery=' + galleryID, "", "width=800, height=650, location=0, menubar=0, scrollbars=1");
}

function externalLinks() { 
  if (!document.getElementsByTagName) return; 
  var anchors = document.getElementsByTagName("a"); 
  for (var i=0; i<anchors.length; i++) { 
    var anchor = anchors[i]; 
    if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external" || anchor.getAttribute("rel") == "external nofollow" ) 
      anchor.target = "_blank"; 
  } 
}

function javascript_link(link) {
  window.location = link;
  return true; 
}

function selectHowHeardCategories(){
  howheard = document.getElementById('how_heard_category').value;
  if(howheard.length > 0){
    //alert("logicajax/getHowHeard.php?category=" + howheard);                                           
    getHowHeardOptions("logicajax/getHowHeard.php?category=" + howheard);
    /*if(howheard == 31){
      document.getElementById('recommendation').style.display = "inline";
      document.getElementById('recommendation').value = "ENTER NAME AND POSTCODE OF YOUR FRIEND";
      var divList = document.getElementsByTagName('div');
      for (var i = 0; i < divList.length; i++){
        if(divList[i].className == 'form_cont_desc'){
          divList[i].style.display = "block"; 
        }
      }                                                                    
    }else if(howheard == 101){
      //document.getElementById('recommendation').style.display = "inline";
      //document.getElementById('recommendation').value = "ENTER NAME OF CONSERVATORY COMPANY";
      var divList = document.getElementsByTagName('div');
      for (var i = 0; i < divList.length; i++){
        if(divList[i].className == 'form_cont_desc'){
          divList[i].style.display = "none"; 
        }
      }
    }else*/ if(howheard == 61){
      document.getElementById('recommendation').style.display = "inline";
      document.getElementById('recommendation').value = "ENTER HOW HEARD HERE";
      var divList = document.getElementsByTagName('div');
      for (var i = 0; i < divList.length; i++){
        if(divList[i].className == 'form_cont_desc'){
          divList[i].style.display = "none"; 
        }
      }
    }else{
      document.getElementById('recommendation').style.display = "none";
      var divList = document.getElementsByTagName('div');
      for (var i = 0; i < divList.length; i++){
        if(divList[i].className == 'form_cont_desc'){
          divList[i].style.display = "none"; 
        }
      }
    }
  }
}

function selectHowHeardCategoriesSelected(selected){
  howheard = document.getElementById('how_heard_category').value;
  if(howheard.length > 0){                                                            
    //alert("logicajax/getHowHeard.php?category=" + howheard + "&selected=" + selected);
    getHowHeardOptions("logicajax/getHowHeard.php?category=" + howheard + "&selected=" + selected);
  }
}

function getHowHeardOptions(phpFile) {     
  xmlhttp.open("GET", phpFile);
  xmlhttp.onreadystatechange = function() {
    if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
      //alert(xmlhttp.responseText);
      howHeardValue = document.getElementById('how_heard').value
      //document.getElementById('how_heard').innerHTML = xmlhttp.responseText;
      var howHeardSelect = document.getElementById('how_heard'); 
      breaker = xmlhttp.responseText.indexOf("DELIMITER", xmlhttp.responseText);    
      responseLength = xmlhttp.responseText.length;                          
      valueS = xmlhttp.responseText.substring(0, breaker);
      value = valueS.split('|');
      titleS = xmlhttp.responseText.substring(breaker+9,responseLength);
      title = titleS.split('|');
      howHeardSelect.options.length = 0;
      for(i=0;i<(title.length);i++) {
        if(value[i] == howHeardValue){
          howHeardSelect.options[i] = new Option(title[i],trim(value[i]), true);
        }else{
          howHeardSelect.options[i] = new Option(title[i],trim(value[i]));
        }
      } 
    }
  }  
  xmlhttp.send(null); 
}

function selectHowHeard(){
  recommend = document.getElementById('recommendation');
  if(document.getElementById('how_heard').value == 772){
    recommend.style.display = "inline";
    recommend.value = "ENTER NAME OF CONSERVATORY COMPANY";
    var divList = document.getElementsByTagName('div');
    for (var i = 0; i < divList.length; i++){
      if(divList[i].className == 'form_cont_desc'){
        divList[i].style.display = "none"; 
      }
    }
  }else if(document.getElementById('how_heard').value == 782){
    recommend.style.display = "inline";
    recommend.value = "ENTER NAME AND POSTCODE OF YOUR FRIEND";
    var divList = document.getElementsByTagName('div');
    for (var i = 0; i < divList.length; i++){
      if(divList[i].className == 'form_cont_desc'){
        divList[i].style.display = "block"; 
      }
    }
  }else if(document.getElementById('how_heard').value == 792){
    recommend.style.display = "inline";
    recommend.value = "ENTER HOW HEARD HERE";
    var divList = document.getElementsByTagName('div');
    for (var i = 0; i < divList.length; i++){
      if(divList[i].className == 'form_cont_desc'){
        divList[i].style.display = "none"; 
      }
    }
  }else{
    recommend.style.display = "none";
    recommend.value = "";
    var divList = document.getElementsByTagName('div');
    for (var i = 0; i < divList.length; i++){
      if(divList[i].className == 'form_cont_desc'){
        divList[i].style.display = "none"; 
      }
    }
  }
}

function clearRecommendField(){
  recommend = document.getElementById('recommendation');
  var formValue = recommend.value.replace(/^\s+|\s+$/g, '');
  formValue = formValue.toLowerCase();
  if((formValue == 'enter name of conservatory company') || (formValue == 'enter name and postcode of your friend') || (formValue == 'enter how heard here')) {
    recommend.value = ""; 
  }
};
 
function resetRecommendField(){
  recommend = document.getElementById('recommendation');
  var formValue = recommend.value.replace(/^\s+|\s+$/g, '');
  formValue = formValue.toLowerCase();
  if(formValue == '') {
    if(document.getElementById('how_heard').value == 772){
      recommend.value = "ENTER NAME OF CONSERVATORY COMPANY";
    }else if(document.getElementById('how_heard').value == 782){
      recommend.value = "ENTER NAME AND POSTCODE OF YOUR FRIEND";
    }else if(document.getElementById('how_heard').value == 792){
      recommend.value = "ENTER HOW HEARD HERE";
    } 
  }
};

function clearEmailField(){
  email = document.getElementById('nsemail');
  var formValue = email.value.replace(/^\s+|\s+$/g, '');
  formValue = formValue.toLowerCase();
  if(formValue == 'email address...') {
    email.value = ""; 
  }
};
 
function resetEmailField(){
  email = document.getElementById('nsemail');
  var formValue = email.value.replace(/^\s+|\s+$/g, '');
  formValue = formValue.toLowerCase();
  if(formValue == '') {
    email.value = "Email address..."; 
  }
};






function InsertFlashObject(objID,flashLocation,width,height) {
  var flashObject;
  flashObject = "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0' width='"+width+"' height='"+height+"'>";
  flashObject = flashObject + "<param name='wmode' value='transparent'>";
  flashObject = flashObject + "<param name='movie' value='"+flashLocation+"' />";
  flashObject = flashObject + "<param name='quality' value='high' />";
  flashObject = flashObject + "<embed src='"+flashLocation+"' quality='high' pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' width='"+width+"' height='"+height+"' wmode='transparent'";
  flashObject = flashObject + "></embed></object>";
  if(document.getElementById(objID)) {
    document.getElementById(objID).innerHTML = flashObject;
  }
}


