function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

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 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 mask(end,middle,start,subject){
var one ='mai';
var two='lto:';
var three='?Subject=';
//start,middle,end,subject;
var putogether= one+two+start+middle+end+three+subject;
document.location.href=eval('"'+putogether+'"');
window.status=putogether;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
  } if (errors) alert('The following error(s) occurred:\n'+errors);
  document.MM_returnValue = (errors == '');
}

function P7_autoLayers() { //v1.4 by PVII
 var g,b,k,f,args=P7_autoLayers.arguments;a=parseInt(args[0]);if(isNaN(a))a=0;
 if(!document.p7setc){p7c=new Array();document.p7setc=true;for(var u=0;u<10;u++){
 p7c[u]=new Array();}}for(k=0;k<p7c[a].length;k++){if((g=MM_findObj(p7c[a][k]))!=null){
 b=(document.layers)?g:g.style;b.visibility="hidden";}}for(k=1;k<args.length;k++){
 if((g=MM_findObj(args[k]))!=null){b=(document.layers)?g:g.style;b.visibility="inherit";f=false;
 for(var j=0;j<p7c[a].length;j++){if(args[k]==p7c[a][j]) {f=true;}}
 if(!f){p7c[a][p7c[a].length++]=args[k];}}}
}

//Customized to delay before closing, also must include onmouseover="clearTimeout(TO);" in the div.
var menudiv;
var TO;
function P7_hideDiv(evt) { //v1.3 by PVII
 var relT,mT=false; 
 if(document.layers){menudiv=evt.target;if(menudiv.p7aHide){
  TO=setTimeout('menudiv.style.visibility=\'hidden\';',750)}else{routeEvent(evt);}
 }else if(document.all&&!window.opera){menudiv=event.srcElement;
  while(menudiv!=null){if(menudiv.tagName=="DIV" && menudiv.p7ahD){mT=true;break;}menudiv=menudiv.parentElement;}
  if(!menudiv.contains(event.toElement)){TO=setTimeout('menudiv.style.visibility=\'hidden\';',750)}
 }else if(document.getElementById){menudiv=evt.currentTarget;relT=evt.relatedTarget;
  while(relT!=null){if(menudiv==relT){mT=true;break;}
  relT=relT.parentNode;}if(!mT){TO=setTimeout('menudiv.style.visibility=\'hidden\';',750)}}
}

function P7_autoHide() { //v1.3 by PVII
 var i,g,args=P7_autoHide.arguments;
 for(i=0;i<args.length;i++){if((g=MM_findObj(args[i]))!=null){
  g.p7aHide=true;if(document.layers){
  g.captureEvents(Event.MOUSEOUT);}g.onmouseout=P7_hideDiv;g.p7ahD=true;}}
}

function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit)
field.value = field.value.substring(0, maxlimit);
else 
countfield.value = maxlimit - field.value.length;
}

function popitup(url) {
	newwindow=window.open(url,'name','height=700,width=650,scrollbars=1,resizable=1');
	if (window.focus) {newwindow.focus()}
	return false;
}

function sendreferral(){
	window.open('','referralpop','status=0,width=350,height=425,resizable=0,scollbars=auto,toolbar=0,location=0,menubar=0');
	document.referralform.submit();
}

function navover(navelem) {
	alert(navelem);
	this.className='menu-on';
}

function navout(navelem) {
	this.className='menu-off';
}

function SwapClass(){
	var obj,cN,args=SwapClass.arguments;document.MM_returnValue=(typeof(args[0].href)!='string')?true:false;
	for(var i=1;i<args.length-1;i+=2){obj=document.getElementById(args[i]);
		if(obj){cN = (typeof(obj.currentStyle)!='object')?'class':'className';
			if(!obj.dwfaq_OC){obj.dwfaq_OC=(obj.className=='')?true:obj.className;}
			if(obj.dwfaq_OC&&obj.className==args[i+1]){
				(obj.dwfaq_OC==true)?obj.className='':obj.className=obj.dwfaq_OC;}
			else{obj.className=args[i+1];}}}
}

function changestate_a(){
   document.register.state.value= document.register.selectstate.value

}

function changecountry_a(){
   document.register.country.value= document.register.selectcountry.value

}

function registerformFilter() {
	var filter = document.register.filter.value;
	var imgnum = document.register.imgnum.value;
	if(	(filter == "Judgement" && imgnum == 0) || (filter == "judgement" && imgnum == 0) || (filter == "Sir" && imgnum == 1) || (filter == "sir" && imgnum == 1) || (filter == "Roemer" && imgnum == 2) || (filter == "roemer" && imgnum == 2) || (filter == "Teade" && imgnum == 3) || (filter == "teade" && imgnum == 3) || (filter == "Goffert" && imgnum == 4) || (filter == "goffert" && imgnum == 4) ) {
		document.register.action = '/hfs/scripts/register_submit.php';
	}
	else {
		document.register.action = '/fail/';
	}
	return true;
}	

function formmailformFilter() {
	var filter = document.formmailform.filter.value;
	var imgnum = document.formmailform.imgnum.value;
	if(	(filter == "Judgement" && imgnum == 0) || (filter == "judgement" && imgnum == 0) || (filter == "Sir" && imgnum == 1) || (filter == "sir" && imgnum == 1) || (filter == "Roemer" && imgnum == 2) || (filter == "roemer" && imgnum == 2) || (filter == "Teade" && imgnum == 3) || (filter == "teade" && imgnum == 3) || (filter == "Goffert" && imgnum == 4) || (filter == "goffert" && imgnum == 4) ) {
		document.formmailform.action = '/formmail/formmail.php';
	}
	else {
		document.formmailform.action = '/fail/';
	}
	return true;
}	

function highlightVideo(div,id) {
	var sel_element = document.getElementById(id);
	var element_array = document.getElementById(div).getElementsByTagName('a');
	
	__.addClass(sel_element.parentNode, "current");
	for (var i=0; i < element_array.length; i++) {
		if(element_array[i].name != sel_element.name) {
			__.removeClass(element_array[i].parentNode, "current");
		}
	}
	
	if(typeof __ != "undefined" && typeof __.mainnavigationHandler != "undefined"){
		__.mainnavigationHandler.boot.elmVideoPlayerYoutube.src = "/images/blank.gif";
	}
}

if(typeof __ === 'undefined') var __ = new tmlib;

__.cfg.idVideoBox = "videowrapper";
__.cfg.idVideoNav = "videonav";
__.cfg.idVideoNavGrid = "videonavgrid";
__.cfg.idVideoPlayerLocal = "FlowPlayer";
__.cfg.idVideoPlayerYoutube = "videoplayeryoutube";
__.cfg.offscreen = "-9001px";

__.scrOnload = function(){
/*
	if((typeof isTest != "undefined" && isTest) || document.getElementById("thisisatest")) __.isTest = true;
	else __.isTest = false;
//	__.isTest = document.getElementById("thisisatest");
	__.message("scrload");
	var videoNav = document.getElementById(__.cfg.idVideoNavGrid);
	var idVideoNav = __.cfg.idVideoNavGrid;
	if(!videoNav){
		videoNav = document.getElementById(__.cfg.idVideoNav);
		idVideoNav = __.cfg.idVideoNav;
	}
	if(videoNav){
		__.mainnavigationHandler = new __.classes.navigationHandler({
			elmsItems: videoNav.getElementsByTagName("a")
			,doPreventDefault: false
			,oninit: function(){
				this.boot.fncShowFlowplayer.call(this);
			}
			,onswitch: function(arguments){
				var fncThis = this;
__.message("onswitch");
__.message(arguments);
				var elmThis = arguments.elmThis;
__.message("set elmThis");
__.message(elmThis);
				var elmID = elmThis.getAttribute(fncThis.boot.attrID);
__.message("set elmID: "+elmID);
				if(elmThis.getAttribute(fncThis.boot.attrType) == "youtube"){
__.message("calling youtube");
					fncThis.boot.fncShowYoutube.call(fncThis);
__.message("youtube called");
				}else{
__.message("calling flowplayer");
					fncThis.boot.fncShowFlowplayer.call(fncThis);
__.message("flowplayer called");
 				}
__.message("highlighting");
				highlightVideo(fncThis.boot.idVideoNav,'video'+elmID);			
__.message("highlighted");
			}
			,boot: {
				elmVideoBox: document.getElementById(__.cfg.idVideoBox)
				,elmVideoPlayerLocal: document.getElementById(__.cfg.idVideoPlayerLocal)
				,elmVideoPlayerYoutube: document.getElementById(__.cfg.idVideoPlayerYoutube)
				,idVideoNav: idVideoNav
				,attrType: "data-type"
				,attrID: "data-id"
				,fncShowYoutube: function(){
__.message("showyoutube");
					this.boot.elmVideoPlayerLocal.style.left = __.cfg.offscreen;
					this.boot.elmVideoPlayerLocal.style.zIndex = -1;
					__.removeClass(this.boot.elmVideoPlayerLocal, "current");
					__.addClass(this.boot.elmVideoPlayerLocal, "hidden");
					this.boot.elmVideoPlayerYoutube.style.left = "0";
					this.boot.elmVideoPlayerYoutube.style.zIndex = 0;
					__.removeClass(this.boot.elmVideoPlayerYoutube, "hidden");
					__.addClass(this.boot.elmVideoPlayerYoutube, "current");
				}
				,fncShowFlowplayer: function(){
__.message("showflowplayer");
					this.boot.elmVideoPlayerLocal.style.left = "0";
					this.boot.elmVideoPlayerLocal.style.zIndex = 0;
					__.removeClass(this.boot.elmVideoPlayerLocal, "hidden");
					__.addClass(this.boot.elmVideoPlayerLocal, "current");
					this.boot.elmVideoPlayerYoutube.style.left = __.cfg.offscreen;
					this.boot.elmVideoPlayerYoutube.style.zIndex = -1;
					__.removeClass(this.boot.elmVideoPlayerYoutube, "current");
					__.addClass(this.boot.elmVideoPlayerYoutube, "hidden");
				}
			}
		});
	}
*/
}

/*-------
©navigationHandler
-------- */
__.classes.navigationHandler = function(arguments){
		//--optional attributes
		this.elmsItems = arguments.elmsItems || null;
		this.attrData = arguments.attrData || "href";
		this.boot = arguments.boot || null;
		this.classCurrent = arguments.classCurrent || "current";
		this.doPreventDefault = (typeof arguments.doPreventDefault != "undefined")? arguments.doPreventDefault: true;
		this.oninit = arguments.oninit || null;
		this.onpreswitch = arguments.onpreswitch || null;
		this.onpreswitchtest = arguments.onpreswitchtest || null;
		this.onpostswitch = arguments.onpostswitch || null;
		this.onswitch = arguments.onswitch || null;

		//--derived attributes
		this.inprogress = false;

		//--attach events
		this.attachEvents(this.elmsItems);
		
		//--init
		if(this.oninit)
			this.oninit.call(this);
	}
	__.classes.navigationHandler.prototype.attachEvents = function(arguments){
		var fncThis = this;
		
		var fncCallback = function(event){
//->return
			if(fncThis.inprogress == true)
				return false;

			var fncEvent = event;
			var localVariables = {elmThis: this, event: event};
			if(typeof localVariables.elmThis.id == "undefined"){
				localVariables.elmThis = event.srcElement;
				while(typeof localVariables.elmThis.id == "undefined" && !localVariables.elmThis.id){
					localVariables.elmThis = localVariables.elmThis.parent;
				}
			}
//-*add in stuff to find old and new elements
//->return
//			if(localVariables.oldItem[0] == localVariables.newItem[0]) return false;
//->return
			if(fncThis.onpreswitchtest && !fncThis.onpreswitchtest.call(fncThis, localVariables)){
				if(fncThis.doPreventDefault){
					if(typeof event.preventDefault != "undefined")
						event.preventDefault();
					return false;
				}else{
					return true;
				}
			}
			fncThis.inprogress = true;	
			
			if(fncThis.doPreventDefault && typeof event.preventDefault != "undefined")
				event.preventDefault();
			
			if(fncThis.onpreswitch)
				fncThis.onpreswitch.call(fncThis, localVariables);

//-*add set class stuff
//			localVariables.oldItem.removeClass(fncThis.classCurrent);
//			localVariables.newItem.addClass(fncThis.classCurrent);

			if(fncThis.onswitch)
				fncThis.onswitch.call(fncThis, localVariables);

			if(fncThis.onpostswitch)
				fncThis.onpostswitch.call(fncThis, localVariables);

			fncThis.inprogress = false;
			
			return (fncThis.doPreventDefault)? false: true;
		}		

		__.addListeners(fncThis.elmsItems, "mouseup", fncCallback);
		__.addListeners(fncThis.elmsItems, "touch", fncCallback);
	}

/*---------- 
©tmlib
---------*/
function tmlib(){
		this.classes = {};
		this.lib = {};
		this.cfg = {};
	}
	tmlib.prototype.addListeners = function(argElements, argEvent, argFunction, argBubble){
		var fncBubble = (argBubble)?argBubble : false;
		if(!__.lib.isArray(argElements))
			argElements = new Array(argElements);
		for(var i = 0; i < argElements.length; ++i){
			var forElement = argElements[i];
			if(forElement.attachEvent)
				forElement.attachEvent("on"+argEvent, argFunction);
			else if(forElement.addEventListener)
				forElement.addEventListener(argEvent, argFunction, fncBubble);
		}
	}
	tmlib.prototype.addClass = function(argElement, argClass){
		if(new RegExp('\\b'+argClass+'\\b').test(argElement.className))
			return 0;
		else{
			argElement.className+=argElement.className?' '+argClass:argClass;
			return 1;
		}
	}
	tmlib.prototype.removeClass = function(argElement, argClass){
		  var fncReplace = argElement.className.match(' '+argClass)?' '+argClass:argClass;
		  argElement.className=argElement.className.replace(fncReplace,'');
	}
	tmlib.prototype.hasClass = function(argElement, argClass){
		if(new RegExp('\\b'+argClass+'\\b').test(argElement.className))
			return 1;
		else
			return 0;
	}
	__.lib.isArray = function(argObject){
//_.message(argObject);
		if(
			(typeof argObject == 'object' && argObject instanceof Array) //-normal array
			|| ((typeof argObject == "function" || typeof argObject == "object") && typeof argObject.length == 'number' && (typeof argObject.item == "function" || typeof argObject.item == "object")) //-nodelist
		){
//__.message("true");
			return true;
		}else{
//__.message("false");
			return false;
		}
	}
	tmlib.prototype.message = function(argument){
		if(window.console) 
			console.log(argument);
		else if(__.isTest) alert(argument);
	}

__.addListeners(window, "load", __.scrOnload, false);
