// Scantech website javascript features

// show facebook links
function showfacebook(vis){
  var dis = (vis==1)? "block" : "none";
  var ldis = (vis==1)? "none" : "block";
  document.getElementById("facebookshow").style.display=ldis;
  document.getElementById("facebookcontent").style.display=dis;  
  document.getElementById("facebookhide").style.display=dis;    
}


// substitute #eml links with real mailto (encrypted to avoid spidering)
function subEmails(){  
  var eml=qcode("ianQsFfF7n@CNIhBUoBuk", "*", true);
  var hrf = 'mailto:' + eml +'?subject=enquiry%20from%20website';
  var links = document.getElementsByTagName("A");
  for (var i=0; i<links.length; i++){
    var lnk = links[i];
	if (lnk.href.match(/^.*\#eml$/)){
	  lnk.href=hrf;
	  lnk.innerHTML = eml;	  
	} 
  }  
}

// quick & dirty encode/decode
function qcode(word, wkey, decode){
  // build keymap
  var key = "";
  for (var i=0; i<100; i++){
    key += "|";
    if (i<10) key += "0";
	key += i;
  }
  var map = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@_-.";  
  var smap = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@_-.";    
  // build random key  
  if (wkey==""){
    for (var n=0; n<map.length/2; n++){
	  var i1 = Math.floor(Math.random()*map.length);
	  var i2 = Math.floor(Math.random()*map.length);
	  if (i1<10) wkey+="0";
	  wkey += i1;
	  if (i2<10) wkey+="0";
	  wkey += i2;
	}
	alert(wkey);
  }
  // default
  if (wkey=="*") wkey="180834283942101216410133436528645824323056390315005920451113632802"+
                      "631541314605246264365324081225374251286527513119623704506152410656";
  // encode/decode
  var outp = "";
  for (var j=0; j<word.length; j++){
    // scramble map
    for (var i=0; i<wkey.length; i+=4){
      var op = wkey.substr(i, 4);
	  var po1 = op.substr(0, 2);
	  var po2 = op.substr(2);
	  var in1 = key.indexOf("|"+po1)/3;
	  var in2 = key.indexOf("|"+po2)/3;
	  var e1 = smap.substr(in1, 1);
	  var e2 = smap.substr(in2, 1);
	  var nword = smap.substr(0, in1)+e2+smap.substr(in1+1);
	  var nword = nword.substr(0, in2)+e1+nword.substr(in2+1);			
	  smap = nword;
	}	
	// sub letter
	var let = word.substr(j, 1);
	if (decode) outp += map.substr(smap.indexOf(let), 1);
	else outp += smap.substr(map.indexOf(let), 1);
  }    
  return outp;  
}
