/*
Global Javascript
Author:	Andrew Watson ~ andrewgordonwatson@gmail.com
*/

function preload(){
	var arr_images=new Array()
	for (i=0;i<preload.arguments.length;i++){
	arr_images[i]=new Image()
	arr_images[i].src=preload.arguments[i]
	}
}


var theImages = new Array() 

theImages[0] = 'case_study.asp"><img src="/pix/structure/case_study_01.jpg" alt="Click here for Norway Case Study"'
theImages[1] = 'case_study.asp"><img src="/pix/structure/case_study_02.jpg" alt="Click here for Norway Case Study"'
theImages[2] = 'case_study.asp"><img src="/pix/structure/case_study_03.jpg" alt="Click here for Norway Case Study"'

var j = 0
var p = theImages.length;
var preBuffer = new Array()
for (i = 0; i < p; i++){
   preBuffer[i] = new Image()
   preBuffer[i].src = theImages[i]
}

var whichImage = Math.round(Math.random()*(p-1));
function showImage(){
document.write('<a href="'+theImages[whichImage]+'"/></a>');
}

var the100Images = new Array() 

the100Images[0] = '#"><img src="pix/structure/100ways_pic_01.jpg" alt="100 ways picture" style="margin-bottom:8px;"'
the100Images[1] = '#"><img src="pix/structure/100ways_pic_02.jpg" alt="100 ways picture" style="margin-bottom:8px;"'
the100Images[2] = '#"><img src="pix/structure/100ways_pic_03.jpg" alt="100 ways picture" style="margin-bottom:8px;"'
the100Images[3] = '#"><img src="pix/structure/100ways_pic_04.jpg" alt="100 ways picture" style="margin-bottom:8px;"'
the100Images[4] = '#"><img src="pix/structure/100ways_pic_05.jpg" alt="100 ways picture" style="margin-bottom:8px;"'

var j = 0
var p = the100Images.length;
var preBuffer = new Array()
for (i = 0; i < p; i++){
   preBuffer[i] = new Image()
   preBuffer[i].src = the100Images[i]
}

var which100Image = Math.round(Math.random()*(p-1));
function show100Image(){
document.write('<a href="'+the100Images[which100Image]+'"/></a>');
}

var theQuotes = new Array() 

theQuotes[0] = '#"><img src="/pix/structure/100ways_quote_01.gif" alt="100 ways quote"'
theQuotes[1] = '#"><img src="pix/structure/100ways_quote_02.gif" alt="100 ways quote"'
theQuotes[2] = '#"><img src="pix/structure/100ways_quote_03.gif" alt="100 ways quote"'
theQuotes[3] = '#"><img src="pix/structure/100ways_quote_04.gif" alt="100 ways quote"'
theQuotes[4] = '#"><img src="pix/structure/100ways_quote_05.gif" alt="100 ways quote"'

var j = 0
var p = theQuotes.length;
var preBuffer = new Array()
for (i = 0; i < p; i++){
   preBuffer[i] = new Image()
   preBuffer[i].src = theQuotes[i]
}

var whichQuote = Math.round(Math.random()*(p-1));
function showQuote(){
document.write('<a href="'+theQuotes[whichQuote]+'"/></a>');
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function confirm_action(str) {
	if(confirm(str)) {
		return true;
	} else {
		return false;
	}
}

function set_date(str_fieldname) {
 str_target_field = document.getElementById(str_fieldname)
 ele_day = document.getElementById(str_fieldname + "_d")
 ele_month = document.getElementById(str_fieldname + "_m")
 ele_year = document.getElementById(str_fieldname + "_y")
 str_day = ele_day.value
 str_month = ele_month.value
 str_year = ele_year.value
 
 //Clear List
 ele_day.length = 0
 //Build base 28
 ele_day.options[0] = new Option("-", "", false, false)
 ele_day.options[1] = new Option("01", 1, false, false)
 ele_day.options[2] = new Option("02", 2, false, false)
 ele_day.options[3] = new Option("03", 3, false, false)
 ele_day.options[4] = new Option("04", 4, false, false)
 ele_day.options[5] = new Option("05", 5, false, false)
 ele_day.options[6] = new Option("06", 6, false, false)
 ele_day.options[7] = new Option("07", 7, false, false)
 ele_day.options[8] = new Option("08", 8, false, false)
 ele_day.options[9] = new Option("09", 9, false, false)
 ele_day.options[10] = new Option("10", 10, false, false)
 ele_day.options[11] = new Option("11", 11, false, false)
 ele_day.options[12] = new Option("12", 12, false, false)
 ele_day.options[13] = new Option("13", 13, false, false)
 ele_day.options[14] = new Option("14", 14, false, false)
 ele_day.options[15] = new Option("15", 15, false, false)
 ele_day.options[16] = new Option("16", 16, false, false)
 ele_day.options[17] = new Option("17", 17, false, false)
 ele_day.options[18] = new Option("18", 18, false, false)
 ele_day.options[19] = new Option("19", 19, false, false)
 ele_day.options[20] = new Option("20", 20, false, false)
 ele_day.options[21] = new Option("21", 21, false, false)
 ele_day.options[22] = new Option("22", 22, false, false)
 ele_day.options[23] = new Option("23", 23, false, false)
 ele_day.options[24] = new Option("24", 24, false, false)
 ele_day.options[25] = new Option("25", 25, false, false)
 ele_day.options[26] = new Option("26", 26, false, false)
 ele_day.options[27] = new Option("27", 27, false, false)
 ele_day.options[28] = new Option("28", 28, false, false)
 //Which Selected Month?
 switch (str_month) {
   case "09" : case "04" : case "06" : case "11" :
	  ele_day.options[29] = new Option("29", 29, false, false)
	  ele_day.options[30] = new Option("30", 30, false, false)
    break; 
   case "02" : 
	 	if (str_year/4 == parseInt(str_year/4)) {
	  	ele_day.options[29] = new Option("29", 29, false, false)
		}
    break; 
   default : 
	  ele_day.options[29] = new Option("29", 29, false, false)
	  ele_day.options[30] = new Option("30", 30, false, false) 
	  ele_day.options[31] = new Option("31", 31, false, false) 
	} 
//Reset day
		if (ele_day.options.length<str_day) { 
	  ele_day.options.selectedIndex = ele_day.options.length-1
		} else {
	  ele_day.options.selectedIndex = str_day
		}

 str_day = ele_day.value
 str_month = ele_month.value
 str_year = ele_year.value
 
 str_new_date = str_day + "/" + str_month + "/" + str_year
 str_target_field.value = str_new_date
}

function show_clock() {
	op_element = document.getElementById("str_date")
	var str_date = "<%= output_long_date(now()) %>"
	var var_time = new Date();
	var str_hours = new String(var_time.getHours());
	var str_minutes = var_time.getMinutes();
	var str_seconds = var_time.getSeconds();
	if(str_hours.length<2){str_hours = "0"+str_hours}
	if(str_minutes.length<2){str_minutes = "0"+str_minutes}
	if(str_seconds.length<2){str_seconds = "0"+str_seconds}
	str_time = str_hours + ":" + str_minutes + ":" + str_seconds;
 var str_op = str_date+" "+str_time;
	op_element.value = str_op
	clock = setTimeout("show_clock()", 1000);
}

/**
 * SWFObject v2.0: Flash Player detection and embed
*/
var swfobject=function(){var Z="undefined",P="object",B="Shockwave Flash",h="ShockwaveFlash.ShockwaveFlash",W="application/x-shockwave-flash",K="SWFObjectExprInst",G=window,g=document,N=navigator,f=[],H=[],Q=null,L=null,T=null,S=false,C=false;var a=function(){var l=typeof g.getElementById!=Z&&typeof g.getElementsByTagName!=Z&&typeof g.createElement!=Z&&typeof g.appendChild!=Z&&typeof g.replaceChild!=Z&&typeof g.removeChild!=Z&&typeof g.cloneNode!=Z,t=[0,0,0],n=null;if(typeof N.plugins!=Z&&typeof N.plugins[B]==P){n=N.plugins[B].description;if(n){n=n.replace(/^.*\s+(\S+\s+\S+$)/,"$1");t[0]=parseInt(n.replace(/^(.*)\..*$/,"$1"),10);t[1]=parseInt(n.replace(/^.*\.(.*)\s.*$/,"$1"),10);t[2]=/r/.test(n)?parseInt(n.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof G.ActiveXObject!=Z){var o=null,s=false;try{o=new ActiveXObject(h+".7")}catch(k){try{o=new ActiveXObject(h+".6");t=[6,0,21];o.AllowScriptAccess="always"}catch(k){if(t[0]==6){s=true}}if(!s){try{o=new ActiveXObject(h)}catch(k){}}}if(!s&&o){try{n=o.GetVariable("$version");if(n){n=n.split(" ")[1].split(",");t=[parseInt(n[0],10),parseInt(n[1],10),parseInt(n[2],10)]}}catch(k){}}}}var v=N.userAgent.toLowerCase(),j=N.platform.toLowerCase(),r=/webkit/.test(v)?parseFloat(v.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,i=false,q=j?/win/.test(j):/win/.test(v),m=j?/mac/.test(j):/mac/.test(v);/*@cc_on i=true;@if(@_win32)q=true;@elif(@_mac)m=true;@end@*/return{w3cdom:l,pv:t,webkit:r,ie:i,win:q,mac:m}}();var e=function(){if(!a.w3cdom){return }J(I);if(a.ie&&a.win){try{g.write("<script id=__ie_ondomload defer=true src=//:><\/script>");var i=c("__ie_ondomload");if(i){i.onreadystatechange=function(){if(this.readyState=="complete"){this.parentNode.removeChild(this);V()}}}}catch(j){}}if(a.webkit&&typeof g.readyState!=Z){Q=setInterval(function(){if(/loaded|complete/.test(g.readyState)){V()}},10)}if(typeof g.addEventListener!=Z){g.addEventListener("DOMContentLoaded",V,null)}M(V)}();function V(){if(S){return }if(a.ie&&a.win){var m=Y("span");try{var l=g.getElementsByTagName("body")[0].appendChild(m);l.parentNode.removeChild(l)}catch(n){return }}S=true;if(Q){clearInterval(Q);Q=null}var j=f.length;for(var k=0;k<j;k++){f[k]()}}function J(i){if(S){i()}else{f[f.length]=i}}function M(j){if(typeof G.addEventListener!=Z){G.addEventListener("load",j,false)}else{if(typeof g.addEventListener!=Z){g.addEventListener("load",j,false)}else{if(typeof G.attachEvent!=Z){G.attachEvent("onload",j)}else{if(typeof G.onload=="function"){var i=G.onload;G.onload=function(){i();j()}}else{G.onload=j}}}}}function I(){var l=H.length;for(var j=0;j<l;j++){var m=H[j].id;if(a.pv[0]>0){var k=c(m);if(k){H[j].width=k.getAttribute("width")?k.getAttribute("width"):"0";H[j].height=k.getAttribute("height")?k.getAttribute("height"):"0";if(O(H[j].swfVersion)){if(a.webkit&&a.webkit<312){U(k)}X(m,true)}else{if(H[j].expressInstall&&!C&&O("6.0.65")&&(a.win||a.mac)){D(H[j])}else{d(k)}}}}else{X(m,true)}}}function U(m){var k=m.getElementsByTagName(P)[0];if(k){var p=Y("embed"),r=k.attributes;if(r){var o=r.length;for(var n=0;n<o;n++){if(r[n].nodeName.toLowerCase()=="data"){p.setAttribute("src",r[n].nodeValue)}else{p.setAttribute(r[n].nodeName,r[n].nodeValue)}}}var q=k.childNodes;if(q){var s=q.length;for(var l=0;l<s;l++){if(q[l].nodeType==1&&q[l].nodeName.toLowerCase()=="param"){p.setAttribute(q[l].getAttribute("name"),q[l].getAttribute("value"))}}}m.parentNode.replaceChild(p,m)}}function F(i){if(a.ie&&a.win&&O("8.0.0")){G.attachEvent("onunload",function(){var k=c(i);if(k){for(var j in k){if(typeof k[j]=="function"){k[j]=function(){}}}k.parentNode.removeChild(k)}})}}function D(j){C=true;var o=c(j.id);if(o){if(j.altContentId){var l=c(j.altContentId);if(l){L=l;T=j.altContentId}}else{L=b(o)}if(!(/%$/.test(j.width))&&parseInt(j.width,10)<310){j.width="310"}if(!(/%$/.test(j.height))&&parseInt(j.height,10)<137){j.height="137"}g.title=g.title.slice(0,47)+" - Flash Player Installation";var n=a.ie&&a.win?"ActiveX":"PlugIn",k=g.title,m="MMredirectURL="+G.location+"&MMplayerType="+n+"&MMdoctitle="+k,p=j.id;if(a.ie&&a.win&&o.readyState!=4){var i=Y("div");p+="SWFObjectNew";i.setAttribute("id",p);o.parentNode.insertBefore(i,o);o.style.display="none";G.attachEvent("onload",function(){o.parentNode.removeChild(o)})}R({data:j.expressInstall,id:K,width:j.width,height:j.height},{flashvars:m},p)}}function d(j){if(a.ie&&a.win&&j.readyState!=4){var i=Y("div");j.parentNode.insertBefore(i,j);i.parentNode.replaceChild(b(j),i);j.style.display="none";G.attachEvent("onload",function(){j.parentNode.removeChild(j)})}else{j.parentNode.replaceChild(b(j),j)}}function b(n){var m=Y("div");if(a.win&&a.ie){m.innerHTML=n.innerHTML}else{var k=n.getElementsByTagName(P)[0];if(k){var o=k.childNodes;if(o){var j=o.length;for(var l=0;l<j;l++){if(!(o[l].nodeType==1&&o[l].nodeName.toLowerCase()=="param")&&!(o[l].nodeType==8)){m.appendChild(o[l].cloneNode(true))}}}}}return m}function R(AE,AC,q){var p,t=c(q);if(typeof AE.id==Z){AE.id=q}if(a.ie&&a.win){var AD="";for(var z in AE){if(AE[z]!=Object.prototype[z]){if(z=="data"){AC.movie=AE[z]}else{if(z.toLowerCase()=="styleclass"){AD+=' class="'+AE[z]+'"'}else{if(z!="classid"){AD+=" "+z+'="'+AE[z]+'"'}}}}}var AB="";for(var y in AC){if(AC[y]!=Object.prototype[y]){AB+='<param name="'+y+'" value="'+AC[y]+'" />'}}t.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AD+">"+AB+"</object>";F(AE.id);p=c(AE.id)}else{if(a.webkit&&a.webkit<312){var AA=Y("embed");AA.setAttribute("type",W);for(var x in AE){if(AE[x]!=Object.prototype[x]){if(x=="data"){AA.setAttribute("src",AE[x])}else{if(x.toLowerCase()=="styleclass"){AA.setAttribute("class",AE[x])}else{if(x!="classid"){AA.setAttribute(x,AE[x])}}}}}for(var w in AC){if(AC[w]!=Object.prototype[w]){if(w!="movie"){AA.setAttribute(w,AC[w])}}}t.parentNode.replaceChild(AA,t);p=AA}else{var s=Y(P);s.setAttribute("type",W);for(var v in AE){if(AE[v]!=Object.prototype[v]){if(v.toLowerCase()=="styleclass"){s.setAttribute("class",AE[v])}else{if(v!="classid"){s.setAttribute(v,AE[v])}}}}for(var u in AC){if(AC[u]!=Object.prototype[u]&&u!="movie"){E(s,u,AC[u])}}t.parentNode.replaceChild(s,t);p=s}}return p}function E(k,i,j){var l=Y("param");l.setAttribute("name",i);l.setAttribute("value",j);k.appendChild(l)}function c(i){return g.getElementById(i)}function Y(i){return g.createElement(i)}function O(k){var j=a.pv,i=k.split(".");i[0]=parseInt(i[0],10);i[1]=parseInt(i[1],10);i[2]=parseInt(i[2],10);return(j[0]>i[0]||(j[0]==i[0]&&j[1]>i[1])||(j[0]==i[0]&&j[1]==i[1]&&j[2]>=i[2]))?true:false}function A(m,j){if(a.ie&&a.mac){return }var l=g.getElementsByTagName("head")[0],k=Y("style");k.setAttribute("type","text/css");k.setAttribute("media","screen");if(!(a.ie&&a.win)&&typeof g.createTextNode!=Z){k.appendChild(g.createTextNode(m+" {"+j+"}"))}l.appendChild(k);if(a.ie&&a.win&&typeof g.styleSheets!=Z&&g.styleSheets.length>0){var i=g.styleSheets[g.styleSheets.length-1];if(typeof i.addRule==P){i.addRule(m,j)}}}function X(k,i){var j=i?"visible":"hidden";if(S){c(k).style.visibility=j}else{A("#"+k,"visibility:"+j)}}return{registerObject:function(l,i,k){if(!a.w3cdom||!l||!i){return }var j={};j.id=l;j.swfVersion=i;j.expressInstall=k?k:false;H[H.length]=j;X(l,false)},getObjectById:function(l){var i=null;if(a.w3cdom&&S){var j=c(l);if(j){var k=j.getElementsByTagName(P)[0];if(!k||(k&&typeof j.SetVariable!=Z)){i=j}else{if(typeof k.SetVariable!=Z){i=k}}}}return i},embedSWF:function(n,u,r,t,j,m,k,p,s){if(!a.w3cdom||!n||!u||!r||!t||!j){return }r+="";t+="";if(O(j)){X(u,false);var q=(typeof s==P)?s:{};q.data=n;q.width=r;q.height=t;var o=(typeof p==P)?p:{};if(typeof k==P){for(var l in k){if(k[l]!=Object.prototype[l]){if(typeof o.flashvars!=Z){o.flashvars+="&"+l+"="+k[l]}else{o.flashvars=l+"="+k[l]}}}}J(function(){R(q,o,u);if(q.id==u){X(u,true)}})}else{if(m&&!C&&O("6.0.65")&&(a.win||a.mac)){X(u,false);J(function(){var i={};i.id=i.altContentId=u;i.width=r;i.height=t;i.expressInstall=m;D(i)})}}},getFlashPlayerVersion:function(){return{major:a.pv[0],minor:a.pv[1],release:a.pv[2]}},hasFlashPlayerVersion:O,createSWF:function(k,j,i){if(a.w3cdom&&S){return R(k,j,i)}else{return undefined}},createCSS:function(j,i){if(a.w3cdom){A(j,i)}},addDomLoadEvent:J,addLoadEvent:M,getQueryParamValue:function(m){var l=g.location.search||g.location.hash;if(m==null){return l}if(l){var k=l.substring(1).split("&");for(var j=0;j<k.length;j++){if(k[j].substring(0,k[j].indexOf("="))==m){return k[j].substring((k[j].indexOf("=")+1))}}}return""},expressInstallCallback:function(){if(C&&L){var i=c(K);if(i){i.parentNode.replaceChild(L,i);if(T){X(T,true);if(a.ie&&a.win){L.style.display="block"}}L=null;T=null;C=false}}}}}();


// FORM CHECKER
function check_form(str_form,arr_cf) {
	var str_alert = new String;
	var arr_higlight = new Array();
	str_form = 'document.forms.'+str_form;
	check_form_return = true;
	for(i=0;i<arr_cf.length;i++){
	str_ele = str_form+'.'+arr_cf[i][0];
	obj_ele = eval(str_ele);
		if(arr_cf[i][1]=="pw"){
			
			if(!check_password(obj_ele.value)){str_alert = str_alert + 'The PASSWORD is invalid \n';arr_higlight.push(obj_ele);check_form_return = false;}
			if(arr_cf[i][4]!=''){obj_compare = eval(str_form+'.'+arr_cf[i][4]);if(!check_equals(obj_ele.value,arr_cf[i][2],obj_compare)){str_alert = str_alert + arr_cf[i][3] + ' do not match. \n';arr_higlight.push(obj_ele);arr_higlight.push(obj_compare);check_form_return = false;}}
		} else if(arr_cf[i][1]=="em") {
			if(!check_email(obj_ele.value,arr_cf[i][2])){str_alert = str_alert + 'Invalid EMAIL ADDRESS\n';arr_higlight.push(obj_ele);check_form_return = false;}
		} else if(arr_cf[i][1]=="tx") {
			if(!check_text(obj_ele.value,arr_cf[i][2])){str_alert = str_alert + arr_cf[i][3] + ' is invalid \n';arr_higlight.push(obj_ele);check_form_return = false;}
		} else if(arr_cf[i][1]=="nu") {
			if(!check_numeric(obj_ele.value,arr_cf[i][2])){str_alert = str_alert + 'Numeric value expected for ' + arr_cf[i][3] + ' \n';arr_higlight.push(obj_ele);check_form_return = false;}
		} else if(arr_cf[i][1]=="eq") {
			obj_compare = eval(str_form+'.'+arr_cf[i][4])
			if(!check_equals(obj_ele.value,arr_cf[i][2],obj_compare)){str_alert = str_alert + arr_cf[i][3] + ' do not match ' + arr_cf[i][3] + ' \n';arr_higlight.push(obj_ele);arr_higlight.push(obj_compare);check_form_return = false;}
		} else {
			check_form_return = true;
		}
	}
	
	if(!check_form_return){alert(str_alert);}
	
	for(i=0;i<arr_higlight.length;i++) {
		arr_higlight[i].onclick = arr_higlight[i].onfocus = set_back;
		arr_higlight[i].style.color='#ffffff';
		arr_higlight[i].style.backgroundColor='#ff0000';
	}

	return check_form_return
}

function set_back() {
		this.onclick = null;
		this.style.color='#000000';
		this.style.backgroundColor='#ffffff';
}

function check_password(str_input,bln_req) {
	check_return = true;
	var re = /^[A-Za-z0-9]+$/;
	check_return = re.test(str_input);
	if(bln_req){if(str_input==''){return false}};
	if(str_input.length<6||str_input.length>13){check_return = false};
	return check_return;
}
function check_text(str_input,bln_req) {
	check_return = true;
	if(str_input==''){return false};
	return check_return;
}
function check_numeric(str_input,bln_req) {
	check_return = true;
	var re = /^[0-9]+$/;
	check_return = re.test(str_input);
	if(bln_req){if(str_input==''){return false}};
	return check_return;
}
function check_equals(str_input,bln_req,obj_compare) {
	check_return = true;
	if(obj_compare.value!=str_input){return false};
	return check_return;
}
function check_email(str_input,bln_req) {
		if(bln_req){if(str_input==''){return false}};
		var at="@"
		var dot="."
		var lat=str_input.indexOf(at)
		var lstr=str_input.length
		var ldot=str_input.indexOf(dot)
		if (str_input.indexOf(at)==-1){
		   return false
		}
		if (str_input.indexOf(at)==-1 || str_input.indexOf(at)==0 || str_input.indexOf(at)==lstr){
		   return false
		}
		if (str_input.indexOf(dot)==-1 || str_input.indexOf(dot)==0 || str_input.indexOf(dot)==lstr){
		    return false
		}
		 if (str_input.indexOf(at,(lat+1))!=-1){
		    return false
		 }
		 if (str_input.substring(lat-1,lat)==dot || str_input.substring(lat+1,lat+2)==dot){
		    return false
		 }
		 if (str_input.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		 if (str_input.indexOf(" ")!=-1){
		    return false
		 }
 		 return true					
	}

