// JavaScript Document
// Common functions

function startUp() {
  externalLinks();
  setCookie(); 
  preload(); 
}

// Preload Images
function preload() {  
	var images = (['images/banbgrnd.jpg',
		  		   'images/navbut.jpg',
				   'images/navfoot.jpg',
				   'images/newsletter.jpg'])
	var i,     
		img,    
		imageObj = new Image(),    
		n;  
	for (i = 0, n = images.length; i < n; i++) {    
		imageObj.src = images[i];    
		
		// img = document.createElement("img");    // for testing 
		// img.src = imageObj.src;    
		// document.body.appendChild(img);  			
	}
}

// Open External Link in New Window
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") == "_blank") 
		anchor.target = "_blank"; 
	} 
} 

// Pop Up Windows
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

// Set Cookie
function setCookie() {
  var cookiexists = getCookie("Referer");
  var referer 	  = escape(document.referrer);  
  var referer     = referer.replace("http%3A//","");
  var referer2    = referer.replace("www.","");
  var myDomain    = document.domain.replace("www.","");
  var adWords	  = getURLParam("PPC");
  if (referer2.indexOf(myDomain) == 0) { referer = ""; } 
  if (referer != "" && !cookiexists) {
  	  var exp = new Date()
  	  var expires = exp.getTime() + (275 * 24 * 60 * 60 * 1000)  // set cookie to expire in 9 months
  	  exp.setTime(expires);
  	  document.cookie = "Referer=" + referer + "; expires=" + exp.toGMTString() + "; path=/";
  	  var searchfor = /ppc%253dadwords/;
  	  var searchstring = referer.toLowerCase();
  	  var matchPos1 = searchstring.search(searchfor);
  	  if (matchPos1 != -1 || adWords.toLowerCase() == "adwords") {
  		  document.cookie = "Landed=AdWords" + "; expires=" + exp.toGMTString() + "; path=/";
  	  } 
  } 
}

function getURLParam(strParamName){
  var strReturn = "";
  var strHref = window.location.href;
  if ( strHref.indexOf("?") > -1 ){
    var strQueryString = strHref.substr(strHref.indexOf("?")).toLowerCase();
    var aQueryString = strQueryString.split("&");
    for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
      if ( 
		aQueryString[iParam].indexOf(strParamName.toLowerCase() + "=") > -1 ){
        var aParam = aQueryString[iParam].split("=");
        strReturn = aParam[1];
        break;
      }
    }
  }
  return unescape(strReturn);
}

function getCookie(c_name) {
  if (document.cookie.length>0) {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    { 
    c_start=c_start + c_name.length+1; 
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    } 
  }
  return "";
}

// Newsletter Subscription Form
function news1(x) {
	if (x.value=='Full Name') {x.value = '';x.className='blank1'};		
}

function news2(x) {
	if (x.value=='') {x.value = 'Full Name';x.className='blank2';}
}

// Email info@limetechnology.co.uk
function writeEmail() {
	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%69%6e%66%6f%40%6c%69%6d%65%74%65%63%68%6e%6f%6c%6f%67%79%2e%63%6f%2e%75%6b%3f%73%75%62%6a%65%63%74%3d%57%65%62%73%69%74%65%25%32%30%45%6e%71%75%69%72%79%22%3e%69%6e%66%6f%40%6c%69%6d%65%74%65%63%68%6e%6f%6c%6f%67%79%2e%63%6f%2e%75%6b%3c%2f%61%3e%27%29%3b'))
}

// Email hemcrete@limetechnology.co.uk
function writeEmail1() {
	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%68%65%6d%63%72%65%74%65%40%6c%69%6d%65%74%65%63%68%6e%6f%6c%6f%67%79%2e%63%6f%2e%75%6b%3f%73%75%62%6a%65%63%74%3d%57%65%62%73%69%74%65%25%32%30%45%6e%71%75%69%72%79%25%32%30%72%65%25%32%30%48%65%6d%63%72%65%74%65%22%3e%68%65%6d%63%72%65%74%65%40%6c%69%6d%65%74%65%63%68%6e%6f%6c%6f%67%79%2e%63%6f%2e%75%6b%3c%2f%61%3e%27%29%3b'))
}

// Email mortar@limetechnology.co.uk
function writeEmail2() {
	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%6d%6f%72%74%61%72%40%6c%69%6d%65%74%65%63%68%6e%6f%6c%6f%67%79%2e%63%6f%2e%75%6b%3f%73%75%62%6a%65%63%74%3d%57%65%62%73%74%69%74%65%25%32%30%45%6e%71%75%69%72%79%25%32%30%72%65%25%32%30%4c%69%6d%65%74%65%63%22%3e%6d%6f%72%74%61%72%40%6c%69%6d%65%74%65%63%68%6e%6f%6c%6f%67%79%2e%63%6f%2e%75%6b%3c%2f%61%3e%27%29%3b'))
}

// Email render@limetechnology.co.uk
function writeEmail3() {
	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%72%65%6e%64%65%72%40%6c%69%6d%65%74%65%63%68%6e%6f%6c%6f%67%79%2e%63%6f%2e%75%6b%3f%73%75%62%6a%65%63%74%3d%57%65%62%73%69%74%65%25%32%30%45%6e%71%75%69%72%79%25%32%30%72%65%25%32%30%4c%69%6d%65%74%65%63%25%32%30%22%3e%72%65%6e%64%65%72%40%6c%69%6d%65%74%65%63%68%6e%6f%6c%6f%67%79%2e%63%6f%2e%75%6b%3c%2f%61%3e%27%29%3b'))
}

// Email tradicalhemcrete@limetechnology.co.uk
function writeEmail4() {
	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%74%72%61%64%69%63%61%6c%68%65%6d%63%72%65%74%65%40%6c%69%6d%65%74%65%63%68%6e%6f%6c%6f%67%79%2e%63%6f%2e%75%6b%3f%73%75%62%6a%65%63%74%3d%57%65%62%73%69%74%65%25%32%30%45%6e%71%75%69%72%79%25%32%30%72%65%25%32%30%54%72%61%64%69%63%61%6c%25%32%30%48%65%6d%63%72%65%74%65%22%3e%74%72%61%64%69%63%61%6c%68%65%6d%63%72%65%74%65%40%6c%69%6d%65%74%65%63%68%6e%6f%6c%6f%67%79%2e%63%6f%2e%75%6b%3c%2f%61%3e%27%29%3b'))
}

// Email ewisystems@limetechnology.co.uk
function writeEmail5() {
	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%65%77%69%73%79%73%74%65%6d%73%40%6c%69%6d%65%74%65%63%68%6e%6f%6c%6f%67%79%2e%63%6f%2e%75%6b%3f%73%75%62%6a%65%63%74%3d%57%65%62%73%69%74%65%25%32%30%45%6e%71%75%69%72%79%25%32%30%72%65%25%32%30%45%78%74%65%72%6e%61%6c%25%32%30%57%61%6c%6c%25%32%30%53%79%73%74%65%6d%73%22%3e%65%77%69%73%79%73%74%65%6d%73%40%6c%69%6d%65%74%65%63%68%6e%6f%6c%6f%67%79%2e%63%6f%2e%75%6b%3c%2f%61%3e%27%29%3b'))
}

// Email Tony.Saunders@limetechnology.co.uk
function writeEmail6() {
	eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%77%72%69%74%65%28%27%3c%61%20%68%72%65%66%3d%22%6d%61%69%6c%74%6f%3a%54%6f%6e%79%2e%53%61%75%6e%64%65%72%73%40%6c%69%6d%65%74%65%63%68%6e%6f%6c%6f%67%79%2e%63%6f%2e%75%6b%3f%73%75%62%6a%65%63%74%3d%57%65%62%73%69%74%65%25%32%30%45%6e%71%75%69%72%79%22%3e%54%6f%6e%79%2e%53%61%75%6e%64%65%72%73%40%6c%69%6d%65%74%65%63%68%6e%6f%6c%6f%67%79%2e%63%6f%2e%75%6b%3c%2f%61%3e%27%29%3b'))
}

function news3(x) {
	if (x.value=='Email Address') {x.value = '';x.className='blank1'};
}

function news4(x) {
	if (x.value=='') {x.value = 'Email Address';x.className='blank2';};
}


// Projects thumbnail gallery
var lastID = 0;
function LoadGallery(pictureName,imageFile,titleCaption,captionText,id)
{
  var picture = document.getElementById(pictureName);
  if (lastID > 0) {
	document.getElementById('Pic' + lastID).className = "thumbNormal";
  }
  document.getElementById('Pic' + id).className = "thumbSelected";
  lastID = id;
  if (picture.filters)
  {
    picture.style.filter="blendTrans(duration=1)";
    picture.filters.blendTrans.Apply();
  }
  picture.src = imageFile;
  if (picture.filters)
  {
    picture.filters.blendTrans.Play();
  }
  // document.getElementById(titleCaption).innerHTML=captionText;
}


function newsValidate(Form)
{
  if (Form.F1.value == "" || Form.F1.value == "Full Name")
  {
    alert("Please enter your Full Name");
    Form.F1.focus();
    return (false);
  }
  var mySearch = /@/;
  var string1  = Form.F1.value;
  var matchPos = string1.search(mySearch);
  if (matchPos != -1)
  {
    alert("You may have entered an email address rather than your name");
    Form.F1.focus();
    return (false);
  }
  
  if (Form.F2.value == "" || Form.F2.value == "Email Address")
  {
    alert("Please enter your Email Address");
    Form.F2.focus();
    return (false);
  }
  
  if (!isValidEmail(Form.F2.value)) 
  {
    alert("You appear to have entered an invalid email address");
    Form.F2.focus();
    return (false);
  }
  
  	alert("Thank you! A copy of our latest newsletter has been emailed to you and your address added to our circulation list"); 
	return (true);  
}


function isValidEmail(str) {
  // function ex http://en.wikibooks.org/wiki/JavaScript/Best_Practices#Email_validation
  var atSym = str.lastIndexOf("@");
  if (atSym < 1) { return false; } // no local-part
  if (atSym == str.length - 1) { return false; } // no domain
  if (atSym > 64) { return false; } // there may only be 64 octets in the local-part
  if (str.length - atSym > 255) { return false; } // there may only be 255 octets in the domain

  // Is the domain plausible?
  var lastDot = str.lastIndexOf(".");
  // Check if it is a dot-atom such as example.com
  if (lastDot > atSym + 1 && lastDot < str.length - 1) { return true; }
  //  Check if could be a domain-literal.
  if (str.charAt(atSym + 1) == '[' &&  str.charAt(str.length - 1) == ']') { return true; }
  return false;
}

