// Function for adding events to window onload.
function addEvent(obj, evType, fn){ 
	if (obj.addEventListener){ 
		obj.addEventListener(evType, fn, false); 
		return true; 
	} else if (obj.attachEvent){ 
		var r = obj.attachEvent("on"+evType, fn); 
		return r; 
	} else { 
		return false; 
	} 
}
addEvent(window, 'load', findClearFields);
addEvent(window, 'load', startMouseMove);
addEvent(window, 'load', startSignup);


/* -------------------------------------------------------------------------------------------------------- */


// CLEAR INPUT FIELDS SECTION
// Look through all input fields for any that have "clearField" as a class name.
// If found assign the onfocus and onblur events to them.
function findClearFields() {
	var fields = document.getElementsByTagName("input");
	for (i=0; i<fields.length; i++) {
		if (fields[i].className == "clearField") {
			fields[i].onfocus = function(){clearField(this)};
			fields[i].onblur = function(){showDefault(this)};
		}
	}
}
// Save the current text and empty the text field when it gets focus.
function clearField(what) {
	defaultValue = what.value;
	what.value = "";
}
// Put back text when field loses focus.
function showDefault(what) {
	if (!what.value) {
		what.value = defaultValue;
	}
}


/* -------------------------------------------------------------------------------------------------------- */

// EMAIL SIGNUP THANKS SECTION
function startSignup() {
	//SIDEBAR
	var sidebarName = document.getElementById("sidebarName");
	var sidebarEmail = document.getElementById("sidebarEmail");
	var sidebarButton = document.getElementById("sidebarButton");
	if (sidebarName) {
		sidebarName.onclick = function() {
			sidebarName.style.color = "black";
			sidebarName.style.borderColor = "black";
		}
		sidebarEmail.onclick = function() {
			sidebarEmail.style.color = "black";
			sidebarEmail.style.borderColor = "black";
		}
		sidebarButton.onclick = function() {
			if (sidebarName.value == "First Name" || sidebarName.value == "") {
				sidebarName.style.color = "red";
				sidebarName.style.borderColor = "red";
				return false;
			}
			if (sidebarEmail.value == "Email Address" || sidebarEmail.value == "") {
				sidebarEmail.style.color = "red";
				sidebarEmail.style.borderColor = "red";
				return false;
			}
			sidebarThanks();
		}		
	}
	//LIGHTBOX
	var lightboxName = document.getElementById("lightboxName");
	var lightboxEmail = document.getElementById("lightboxEmail");
	var lightboxButton = document.getElementById("lightboxButton");
	if (lightboxName) {
		lightboxName.onclick = function() {
			lightboxName.style.color = "black";
			lightboxName.style.borderColor = "black";
		}
		lightboxEmail.onclick = function() {
			lightboxEmail.style.color = "black";
			lightboxEmail.style.borderColor = "black";
		}
		lightboxButton.onclick = function() {
			if (lightboxName.value == "First Name" || lightboxName.value == "") {
				lightboxName.style.color = "red";
				lightboxName.style.borderColor = "red";
				return false;
			}
			if (lightboxEmail.value == "Email Address" || lightboxEmail.value == "") {
				lightboxEmail.style.color = "red";
				lightboxEmail.style.borderColor = "red";
				return false;
			}
			lightboxThanks();
		}
	}
}
function sidebarThanks() {
	var signup = document.getElementById("sidebarSignup");
	var thanks = document.getElementById("sidebarThanks");
	signup.style.display = "none";
	thanks.style.display = "block";	
}
function lightboxThanks() {
	var signup = document.getElementById("lightboxSignup");
	var thanks = document.getElementById("lightboxThanks");
	signup.style.display = "none";
	thanks.style.display = "block";	
}

/* -------------------------------------------------------------------------------------------------------- */


// HIDDEN SIGNUP FORM SECTION
// When mouse moves, determine position relative to page and scroll.
// If mouse y position is less than 'border' pixels from the top of the page then trigger signup form.
var shown = false;
var border = 20;
var scrollBar = 30;
var oldPos = 0;
var newPos = 0;
function mouseMove(e) {
	var scroll = getPageScroll();
	var size = getPageSize();
	var posx = 0;
	var posy = 0;
	if (!e) var e = window.event;
	if (e.pageX || e.pageY) 	{
		posx = e.pageX;
		posy = e.pageY - scroll[1];
	}
	else if (e.clientX || e.clientY) 	{
		posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
		posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop - scroll[1];
	}
	if (posy < border && posx < size[0] - scrollBar) {
		newPos = posy;
		if (newPos < oldPos) {
			// Has signup been shown? If not, show it and prevent reappearance. If the hidden signup isn't there then do nothing.
			if (!shown) {
				/*
				var formBack = document.getElementById("signupBack");
				var signupBar = document.getElementById("signupBar");
				if (formBack) {
					if (srcCode != "TEZ" && srcCode != "TIZ" && srcCode != "HEZ" && srcCode != "HIZ") {
						signup();
					}					
				}
				*/
				signup();
				shown = "true";
			}
		}
		oldPos = posy;
	}
}

// Show the signup form.
function signup() {
	var size = getPageSize();
	var scroll = getPageScroll();
	
	var formBack = document.getElementById("signupBack");
	formBack.style.visibility = "visible";
	formBack.style.height = size[1] + "px";
	formBack.style.filter = "alpha(opacity=75)";
	formBackFade = setInterval("fadeBack()", 10);
	
	var form = document.getElementById("signup");
	form.style.top = scroll[1] + "px";
	form.style.left = size[0] / 2 - 350 + "px";
	form.style.visibility = "visible";
	
	// Hide the signup form if darkened area is clicked.
	formBack.onclick = function() {
		hideSignup();
	}
	
	// Make close button work by hiding signup.
	var closeButton = document.getElementById("closeButton");
	closeButton.onclick = function() {
		hideSignup();
	}
	
	// Make thank you close link work by hiding signup.
	var thanksClose = document.getElementById("thanksClose");
	thanksClose.onclick = function() {
		hideSignup();
		return false;
	}
}
// Fade in the signup back. Non-IE only.
var fadeIn = 0;
function fadeBack() {
	fadeIn += 5;
	var formBack = document.getElementById("signupBack");
	
	formBack.style.opacity = fadeIn / 100;
	if (fadeIn >= 75) {
		clearInterval(formBackFade);
	}
}
// Hide the signup form.
function hideSignup() {
	var formBack = document.getElementById("signupBack");
	formBack.style.visibility = "hidden";
	var form = document.getElementById("signup");
	form.style.visibility = "hidden";
}

// First detect whether the source code matches an inhouse list. If it does not then detect whether the lightbox signup exists and if it does start the mouse move detection. If the soure code is inhouse the lightbox does not function and the signup sidebar is hidden.
function startMouseMove() {
	var formBack = document.getElementById("signupBack");
	var signupBar = document.getElementById("signupBar");
	if (srcCode != "TEZ" && srcCode != "TIZ" && srcCode != "HEZ" && srcCode != "HIZ") {
		if (formBack) {
			if (document.addEventListener != null) {
				document.addEventListener("mousemove", mouseMove, true);
			} else {
				document.attachEvent("onmousemove", mouseMove);
			}
		}
	} else {
		if (signupBar) {
			signupBar.style.display = "none";
		}
	}
}


/* -------------------------------------------------------------------------------------------------------- */


// DATE STAMP SECTION
var dateToday = new Date();

var shortYear = dateToday.getYear() - 100;
if (shortYear < 10) {
	shortYear = "0" + shortYear;
 }

var longYear = dateToday.getYear();
if (longYear < 1000) {
	longYear += 1900;
 }

var whatDay = dateToday.getDay();
var whatMonth = dateToday.getMonth() + 1;
var day = dateToday.getDate();
if (day < 10) {
	day = "0" + day;
 }
 
var dayFancy = dateToday.getDate();
switch (dayFancy) {
	case 1:
	case 21:
	case 31:
		dayFancy = dayFancy + "<sup style='font-size: 75%;'>st</sup>";
		break;
	case 2:
	case 22:
		dayFancy = dayFancy + "<sup style='font-size: 75%;'>nd</sup>";
		break;
	case 3:
	case 23:
		dayFancy = dayFancy + "<sup style='font-size: 75%;'>rd</sup>";
		break;
	default:
		dayFancy = dayFancy + "<sup style='font-size: 75%;'>th</sup>";
 }
 
var dayArray = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");

// leave first entry blank so that whatMonth is easier to use on the HTML scripting side
var monthArray = new Array("", "January","February","March","April","May","June","July","August","September","October","November","December");


/* -------------------------------------------------------------------------------------------------------- */


// PAGE AND DOCUMENT STATS SECTION
// Determine page width/height and window width/height. Lightbox code.
function getPageSize(){
	var xScroll, yScroll;
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}
	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}
	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}
// Determine amount of x and y scroll. Lightbox code.
function getPageScroll(){
	var yScroll;
	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
	}
	var xScroll;
	if (self.pageXOffset) {
		xScroll = self.pageXOffset;
	} else if (document.documentElment && document.documentElement.scrollLeft) {
		xScroll = document.documentElment.scrollLeft;
	} else if (document.body) {
		xScroll = document.body.scrollLeft;
	}
	arrayPageScroll = new Array(xScroll, yScroll) 
	return arrayPageScroll;
}


/* -------------------------------------------------------------------------------------------------------- */


// SWFOBJECT CODE

/* SWFObject v2.1 <http://code.google.com/p/swfobject/>
	Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
	This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
*/
var swfobject=function(){var b="undefined",Q="object",n="Shockwave Flash",p="ShockwaveFlash.ShockwaveFlash",P="application/x-shockwave-flash",m="SWFObjectExprInst",j=window,K=document,T=navigator,o=[],N=[],i=[],d=[],J,Z=null,M=null,l=null,e=false,A=false;var h=function(){var v=typeof K.getElementById!=b&&typeof K.getElementsByTagName!=b&&typeof K.createElement!=b,AC=[0,0,0],x=null;if(typeof T.plugins!=b&&typeof T.plugins[n]==Q){x=T.plugins[n].description;if(x&&!(typeof T.mimeTypes!=b&&T.mimeTypes[P]&&!T.mimeTypes[P].enabledPlugin)){x=x.replace(/^.*\s+(\S+\s+\S+$)/,"$1");AC[0]=parseInt(x.replace(/^(.*)\..*$/,"$1"),10);AC[1]=parseInt(x.replace(/^.*\.(.*)\s.*$/,"$1"),10);AC[2]=/r/.test(x)?parseInt(x.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof j.ActiveXObject!=b){var y=null,AB=false;try{y=new ActiveXObject(p+".7")}catch(t){try{y=new ActiveXObject(p+".6");AC=[6,0,21];y.AllowScriptAccess="always"}catch(t){if(AC[0]==6){AB=true}}if(!AB){try{y=new ActiveXObject(p)}catch(t){}}}if(!AB&&y){try{x=y.GetVariable("$version");if(x){x=x.split(" ")[1].split(",");AC=[parseInt(x[0],10),parseInt(x[1],10),parseInt(x[2],10)]}}catch(t){}}}}var AD=T.userAgent.toLowerCase(),r=T.platform.toLowerCase(),AA=/webkit/.test(AD)?parseFloat(AD.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,q=false,z=r?/win/.test(r):/win/.test(AD),w=r?/mac/.test(r):/mac/.test(AD);/*@cc_on q=true;@if(@_win32)z=true;@elif(@_mac)w=true;@end@*/return{w3cdom:v,pv:AC,webkit:AA,ie:q,win:z,mac:w}}();var L=function(){if(!h.w3cdom){return }f(H);if(h.ie&&h.win){try{K.write("<script id=__ie_ondomload defer=true src=//:><\/script>");J=C("__ie_ondomload");if(J){I(J,"onreadystatechange",S)}}catch(q){}}if(h.webkit&&typeof K.readyState!=b){Z=setInterval(function(){if(/loaded|complete/.test(K.readyState)){E()}},10)}if(typeof K.addEventListener!=b){K.addEventListener("DOMContentLoaded",E,null)}R(E)}();function S(){if(J.readyState=="complete"){J.parentNode.removeChild(J);E()}}function E(){if(e){return }if(h.ie&&h.win){var v=a("span");try{var u=K.getElementsByTagName("body")[0].appendChild(v);u.parentNode.removeChild(u)}catch(w){return }}e=true;if(Z){clearInterval(Z);Z=null}var q=o.length;for(var r=0;r<q;r++){o[r]()}}function f(q){if(e){q()}else{o[o.length]=q}}function R(r){if(typeof j.addEventListener!=b){j.addEventListener("load",r,false)}else{if(typeof K.addEventListener!=b){K.addEventListener("load",r,false)}else{if(typeof j.attachEvent!=b){I(j,"onload",r)}else{if(typeof j.onload=="function"){var q=j.onload;j.onload=function(){q();r()}}else{j.onload=r}}}}}function H(){var t=N.length;for(var q=0;q<t;q++){var u=N[q].id;if(h.pv[0]>0){var r=C(u);if(r){N[q].width=r.getAttribute("width")?r.getAttribute("width"):"0";N[q].height=r.getAttribute("height")?r.getAttribute("height"):"0";if(c(N[q].swfVersion)){if(h.webkit&&h.webkit<312){Y(r)}W(u,true)}else{if(N[q].expressInstall&&!A&&c("6.0.65")&&(h.win||h.mac)){k(N[q])}else{O(r)}}}}else{W(u,true)}}}function Y(t){var q=t.getElementsByTagName(Q)[0];if(q){var w=a("embed"),y=q.attributes;if(y){var v=y.length;for(var u=0;u<v;u++){if(y[u].nodeName=="DATA"){w.setAttribute("src",y[u].nodeValue)}else{w.setAttribute(y[u].nodeName,y[u].nodeValue)}}}var x=q.childNodes;if(x){var z=x.length;for(var r=0;r<z;r++){if(x[r].nodeType==1&&x[r].nodeName=="PARAM"){w.setAttribute(x[r].getAttribute("name"),x[r].getAttribute("value"))}}}t.parentNode.replaceChild(w,t)}}function k(w){A=true;var u=C(w.id);if(u){if(w.altContentId){var y=C(w.altContentId);if(y){M=y;l=w.altContentId}}else{M=G(u)}if(!(/%$/.test(w.width))&&parseInt(w.width,10)<310){w.width="310"}if(!(/%$/.test(w.height))&&parseInt(w.height,10)<137){w.height="137"}K.title=K.title.slice(0,47)+" - Flash Player Installation";var z=h.ie&&h.win?"ActiveX":"PlugIn",q=K.title,r="MMredirectURL="+j.location+"&MMplayerType="+z+"&MMdoctitle="+q,x=w.id;if(h.ie&&h.win&&u.readyState!=4){var t=a("div");x+="SWFObjectNew";t.setAttribute("id",x);u.parentNode.insertBefore(t,u);u.style.display="none";var v=function(){u.parentNode.removeChild(u)};I(j,"onload",v)}U({data:w.expressInstall,id:m,width:w.width,height:w.height},{flashvars:r},x)}}function O(t){if(h.ie&&h.win&&t.readyState!=4){var r=a("div");t.parentNode.insertBefore(r,t);r.parentNode.replaceChild(G(t),r);t.style.display="none";var q=function(){t.parentNode.removeChild(t)};I(j,"onload",q)}else{t.parentNode.replaceChild(G(t),t)}}function G(v){var u=a("div");if(h.win&&h.ie){u.innerHTML=v.innerHTML}else{var r=v.getElementsByTagName(Q)[0];if(r){var w=r.childNodes;if(w){var q=w.length;for(var t=0;t<q;t++){if(!(w[t].nodeType==1&&w[t].nodeName=="PARAM")&&!(w[t].nodeType==8)){u.appendChild(w[t].cloneNode(true))}}}}}return u}function U(AG,AE,t){var q,v=C(t);if(v){if(typeof AG.id==b){AG.id=t}if(h.ie&&h.win){var AF="";for(var AB in AG){if(AG[AB]!=Object.prototype[AB]){if(AB.toLowerCase()=="data"){AE.movie=AG[AB]}else{if(AB.toLowerCase()=="styleclass"){AF+=' class="'+AG[AB]+'"'}else{if(AB.toLowerCase()!="classid"){AF+=" "+AB+'="'+AG[AB]+'"'}}}}}var AD="";for(var AA in AE){if(AE[AA]!=Object.prototype[AA]){AD+='<param name="'+AA+'" value="'+AE[AA]+'" />'}}v.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AF+">"+AD+"</object>";i[i.length]=AG.id;q=C(AG.id)}else{if(h.webkit&&h.webkit<312){var AC=a("embed");AC.setAttribute("type",P);for(var z in AG){if(AG[z]!=Object.prototype[z]){if(z.toLowerCase()=="data"){AC.setAttribute("src",AG[z])}else{if(z.toLowerCase()=="styleclass"){AC.setAttribute("class",AG[z])}else{if(z.toLowerCase()!="classid"){AC.setAttribute(z,AG[z])}}}}}for(var y in AE){if(AE[y]!=Object.prototype[y]){if(y.toLowerCase()!="movie"){AC.setAttribute(y,AE[y])}}}v.parentNode.replaceChild(AC,v);q=AC}else{var u=a(Q);u.setAttribute("type",P);for(var x in AG){if(AG[x]!=Object.prototype[x]){if(x.toLowerCase()=="styleclass"){u.setAttribute("class",AG[x])}else{if(x.toLowerCase()!="classid"){u.setAttribute(x,AG[x])}}}}for(var w in AE){if(AE[w]!=Object.prototype[w]&&w.toLowerCase()!="movie"){F(u,w,AE[w])}}v.parentNode.replaceChild(u,v);q=u}}}return q}function F(t,q,r){var u=a("param");u.setAttribute("name",q);u.setAttribute("value",r);t.appendChild(u)}function X(r){var q=C(r);if(q&&(q.nodeName=="OBJECT"||q.nodeName=="EMBED")){if(h.ie&&h.win){if(q.readyState==4){B(r)}else{j.attachEvent("onload",function(){B(r)})}}else{q.parentNode.removeChild(q)}}}function B(t){var r=C(t);if(r){for(var q in r){if(typeof r[q]=="function"){r[q]=null}}r.parentNode.removeChild(r)}}function C(t){var q=null;try{q=K.getElementById(t)}catch(r){}return q}function a(q){return K.createElement(q)}function I(t,q,r){t.attachEvent(q,r);d[d.length]=[t,q,r]}function c(t){var r=h.pv,q=t.split(".");q[0]=parseInt(q[0],10);q[1]=parseInt(q[1],10)||0;q[2]=parseInt(q[2],10)||0;return(r[0]>q[0]||(r[0]==q[0]&&r[1]>q[1])||(r[0]==q[0]&&r[1]==q[1]&&r[2]>=q[2]))?true:false}function V(v,r){if(h.ie&&h.mac){return }var u=K.getElementsByTagName("head")[0],t=a("style");t.setAttribute("type","text/css");t.setAttribute("media","screen");if(!(h.ie&&h.win)&&typeof K.createTextNode!=b){t.appendChild(K.createTextNode(v+" {"+r+"}"))}u.appendChild(t);if(h.ie&&h.win&&typeof K.styleSheets!=b&&K.styleSheets.length>0){var q=K.styleSheets[K.styleSheets.length-1];if(typeof q.addRule==Q){q.addRule(v,r)}}}function W(t,q){var r=q?"visible":"hidden";if(e&&C(t)){C(t).style.visibility=r}else{V("#"+t,"visibility:"+r)}}function g(s){var r=/[\\\"<>\.;]/;var q=r.exec(s)!=null;return q?encodeURIComponent(s):s}var D=function(){if(h.ie&&h.win){window.attachEvent("onunload",function(){var w=d.length;for(var v=0;v<w;v++){d[v][0].detachEvent(d[v][1],d[v][2])}var t=i.length;for(var u=0;u<t;u++){X(i[u])}for(var r in h){h[r]=null}h=null;for(var q in swfobject){swfobject[q]=null}swfobject=null})}}();return{registerObject:function(u,q,t){if(!h.w3cdom||!u||!q){return }var r={};r.id=u;r.swfVersion=q;r.expressInstall=t?t:false;N[N.length]=r;W(u,false)},getObjectById:function(v){var q=null;if(h.w3cdom){var t=C(v);if(t){var u=t.getElementsByTagName(Q)[0];if(!u||(u&&typeof t.SetVariable!=b)){q=t}else{if(typeof u.SetVariable!=b){q=u}}}}return q},embedSWF:function(x,AE,AB,AD,q,w,r,z,AC){if(!h.w3cdom||!x||!AE||!AB||!AD||!q){return }AB+="";AD+="";if(c(q)){W(AE,false);var AA={};if(AC&&typeof AC===Q){for(var v in AC){if(AC[v]!=Object.prototype[v]){AA[v]=AC[v]}}}AA.data=x;AA.width=AB;AA.height=AD;var y={};if(z&&typeof z===Q){for(var u in z){if(z[u]!=Object.prototype[u]){y[u]=z[u]}}}if(r&&typeof r===Q){for(var t in r){if(r[t]!=Object.prototype[t]){if(typeof y.flashvars!=b){y.flashvars+="&"+t+"="+r[t]}else{y.flashvars=t+"="+r[t]}}}}f(function(){U(AA,y,AE);if(AA.id==AE){W(AE,true)}})}else{if(w&&!A&&c("6.0.65")&&(h.win||h.mac)){A=true;W(AE,false);f(function(){var AF={};AF.id=AF.altContentId=AE;AF.width=AB;AF.height=AD;AF.expressInstall=w;k(AF)})}}},getFlashPlayerVersion:function(){return{major:h.pv[0],minor:h.pv[1],release:h.pv[2]}},hasFlashPlayerVersion:c,createSWF:function(t,r,q){if(h.w3cdom){return U(t,r,q)}else{return undefined}},removeSWF:function(q){if(h.w3cdom){X(q)}},createCSS:function(r,q){if(h.w3cdom){V(r,q)}},addDomLoadEvent:f,addLoadEvent:R,getQueryParamValue:function(v){var u=K.location.search||K.location.hash;if(v==null){return g(u)}if(u){var t=u.substring(1).split("&");for(var r=0;r<t.length;r++){if(t[r].substring(0,t[r].indexOf("="))==v){return g(t[r].substring((t[r].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(A&&M){var q=C(m);if(q){q.parentNode.replaceChild(M,q);if(l){W(l,true);if(h.ie&&h.win){M.style.display="block"}}M=null;l=null;A=false}}}}}();


/* -------------------------------------------------------------------------------------------------------- */


