window.onload = initForm;   

function initForm() {
  addFieldVal('quickcontact_name', 'Name*');
  addFieldVal('quickcontact_telephone', 'Telephone*');
  addFieldVal('quickcontact_email', 'Email*');
  addFieldVal('quickcontact_enquiry', 'Enquiry*');
  
  addFieldVal('testimonial_company', 'About your company*');
  addFieldVal('testimonial_whationdid', 'What ION did for you*');
  addFieldVal('testimonial_whyrecommend', 'Why you\'d recommend ION to a friend*');
  
  addFieldVal('referrer_name', 'Referrers Name*');
  addFieldVal('referrer_telephone', 'Tel*');
  addFieldVal('referrer_email', 'Email*');
  addFieldVal('referrer_company', 'Company*');
  addFieldVal('referrer_relationship', 'Relationship to referee*');
  addFieldVal('referee_name', 'Referees Name*');
  addFieldVal('referee_telephone', 'Tel*');
  addFieldVal('referee_email', 'Email*');
  addFieldVal('referee_company', 'Company*');
  addFieldVal('referee_info', 'Further Information');
    
  if(document.getElementById('contact_map')){
    init_map();
  }
  
  externalLinks();
}

function addFieldVal(element, val) {
  if(document.getElementById(element)) {
    document.getElementById(element).onfocus = function () {clearfield(this, val);};
    document.getElementById(element).onblur = function () {reinstatefield(this, val);};
  }
}

function clearfield(element, val) {
  trimValue = trim(element.value);
  if(trimValue == val) {
    element.value = '';
  }
}

function reinstatefield(element, val) {
  trimValue = trim(element.value);
  if(trimValue == '') {
    element.value = val;
  }
}

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

function regenerateCaptcha(imageID, viewName) {
  xmlhttp.open("GET", "logicajax/generateCaptcha.php?imageid=" + imageID + "&viewname=" + viewName);
  xmlhttp.onreadystatechange = function() {
    if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {
      document.getElementById(imageID).src = xmlhttp.responseText;
    }
  }  
  xmlhttp.send(null);
}

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 init_map(){
  var latlng = new google.maps.LatLng(51.377065,-1.290867);
  var myOptions = {
    zoom: 13,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.HYBRID
  };
  map = new google.maps.Map(document.getElementById("contact_map"), myOptions);  

  var contentString = '<div>'+

      '<span class=\"b\">ION Systems</span><br/>\r\n'+
      'Venture West,<br/>\r\n'+
      'New Greenham Park,<br/>\r\n'+      
      'Newbury,<br/>\r\n'+
      'Berkshire,<br/>\r\n'+      
      'RG19 6HX<br/>\r\n'+
      'Phone +44 (0) 845 003 9470<br/>\r\n'+                           
 '</div>'; 

  var infowindow = new google.maps.InfoWindow({
      content: contentString
  });

  var marker = new google.maps.Marker({
      position: latlng,
      map: map,
      title:"ION Systems"
  }); 

  google.maps.event.addListener(marker, 'click', function() {
    infowindow.open(map,marker);
  });

}
