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_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_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 toggle(which) {
 document.getElementById('menuShows').className = 'hidden';
 document.getElementById('menuSpecs').className = 'hidden';
 document.getElementById(which).className = 'visible';
}
function doTooltip(e, ar) {
 if ( typeof Tooltip == "undefined" || !Tooltip.ready ) return;
 var cntnt = wrapTipContent(ar);
 var tip = document.getElementById( Tooltip.tipID );
 Tooltip.show(e, cntnt);
}
function hideTip() {
 if ( typeof Tooltip == "undefined" || !Tooltip.ready ) return;
 Tooltip.hide();
}
function wrapTipContent(ar) {
 return '<div style="height: 150px; overflow: hidden;"><img src="' + ar[0] + '" style="float: left; margin-right: 5px;"/><strong>' + ar[1] + '</strong><br /><span style="color: #666;">' + ar[2] + '</span><br /><br />' + ar[3] + '</div>';
}
var imageHandler = {
 path:"images/", // path to images
 imgs:[], preload:function() { for(var i=0;arguments[i];i++) {
 var img=new Image(); img.src=this.path+arguments[i]; this.imgs[this.imgs.length]=img;}}
}
imageHandler.preload("");
function confirm_form() {
  var x = document.getElementById('cemail').value;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!filter.test(x)) {
	  alert('Please enter a valid E-Mail address.');
	  return false;
	}
 for (var i=0; i < document.forms["contact_form"]["__bl:to"].length; i++) {
 if (document.forms["contact_form"]["__bl:to"][i].checked) return true;
 }
 alert("You need to select which department to contact.");
 return false;
}
function swapPhoto(nid) {
 for (var id in photos) {
 if (document.getElementById('photo'+id)) document.getElementById('photo'+id).style.display = 'none';
 }
 document.getElementById('photo'+nid).style.display = 'block';
}
function firstPhoto() {
 for (var id in photos) {
 if (document.getElementById('photo'+id)) {
 document.getElementById('photo'+id).style.display = 'block';
 break;
 }
 }
 if (photos.length > 1) {
 i = 1;
 nav = "";
 for (var id in photos) {
 if (document.getElementById('photo'+id)) {
 nav += "<a href='#' onclick='swapPhoto(\"" + id + "\");'>" + i + "</a> ";
 i++;
 }
 }
 if (i > 2) document.getElementById('morephotos').innerHTML = '<strong>More Photos:</strong> ' + nav;
 }
}

var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function ControlVersion()
{
	var version;
	var axo;
	var e;

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			version = "WIN 6,0,21,0";
			axo.AllowScriptAccess = "always";
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}
	if (!version)
	{
		try {
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}

	return version;
}

function GetSwfVer(){
	var flashVer = -1;

	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}
	return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString = tempArray[1];			// "2,0,0,11"
			versionArray = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray = versionStr.split(".");
		}
		var versionMajor = versionArray[0];
		var versionMinor = versionArray[1];
		var versionRevision = versionArray[2];

 	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}

function AC_AddExtension(src, ext)
{
 if (src.indexOf('?') != -1)
 return src.replace(/\?/, ext+'?');
 else
 return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs)
{
 var str = '';
 if (isIE && isWin && !isOpera)
 {
 str += '<object ';
 for (var i in objAttrs)
 {
 str += i + '="' + objAttrs[i] + '" ';
 }
 str += '>';
 for (var i in params)
 {
 str += '<param name="' + i + '" value="' + params[i] + '" /> ';
 }
 str += '</object>';
 }
 else
 {
 str += '<embed ';
 for (var i in embedAttrs)
 {
 str += i + '="' + embedAttrs[i] + '" ';
 }
 str += '> </embed>';
 }

 document.write(str);
}

function AC_FL_RunContent(){
 var ret =
 AC_GetArgs
 ( arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
 , "application/x-shockwave-flash"
 );
 AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
 var ret =
 AC_GetArgs
 ( arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
 , null
 );
 AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
 var ret = new Object();
 ret.embedAttrs = new Object();
 ret.params = new Object();
 ret.objAttrs = new Object();
 for (var i=0; i < args.length; i=i+2){
 var currArg = args[i].toLowerCase();

 switch (currArg){
 case "classid":
 break;
 case "pluginspage":
 ret.embedAttrs[args[i]] = args[i+1];
 break;
 case "src":
 case "movie":
 args[i+1] = AC_AddExtension(args[i+1], ext);
 ret.embedAttrs["src"] = args[i+1];
 ret.params[srcParamName] = args[i+1];
 break;
 case "onafterupdate":
 case "onbeforeupdate":
 case "onblur":
 case "oncellchange":
 case "onclick":
 case "ondblClick":
 case "ondrag":
 case "ondragend":
 case "ondragenter":
 case "ondragleave":
 case "ondragover":
 case "ondrop":
 case "onfinish":
 case "onfocus":
 case "onhelp":
 case "onmousedown":
 case "onmouseup":
 case "onmouseover":
 case "onmousemove":
 case "onmouseout":
 case "onkeypress":
 case "onkeydown":
 case "onkeyup":
 case "onload":
 case "onlosecapture":
 case "onpropertychange":
 case "onreadystatechange":
 case "onrowsdelete":
 case "onrowenter":
 case "onrowexit":
 case "onrowsinserted":
 case "onstart":
 case "onscroll":
 case "onbeforeeditfocus":
 case "onactivate":
 case "onbeforedeactivate":
 case "ondeactivate":
 case "type":
 case "codebase":
 case "id":
 ret.objAttrs[args[i]] = args[i+1];
 break;
 case "width":
 case "height":
 case "align":
 case "vspace":
 case "hspace":
 case "class":
 case "title":
 case "accesskey":
 case "name":
 case "tabindex":
 ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
 break;
 default:
 ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
 }
 }
 ret.objAttrs["classid"] = classid;
 if (mimeType) ret.embedAttrs["type"] = mimeType;
 return ret;
}

var dw_event = {

 add: function(obj, etype, fp, cap) {
 cap = cap || false;
 if (obj.addEventListener) obj.addEventListener(etype, fp, cap);
 else if (obj.attachEvent) obj.attachEvent("on" + etype, fp);
 },

 remove: function(obj, etype, fp, cap) {
 cap = cap || false;
 if (obj.removeEventListener) obj.removeEventListener(etype, fp, cap);
 else if (obj.detachEvent) obj.detachEvent("on" + etype, fp);
 },

 DOMit: function(e) {
 e = e? e: window.event;
 e.tgt = e.srcElement? e.srcElement: e.target;

 if (!e.preventDefault) e.preventDefault = function () { return false; }
 if (!e.stopPropagation) e.stopPropagation = function () { if (window.event) window.event.cancelBubble = true; }

 return e;
 }

}
var Tooltip = {
 followMouse: true,
 offX: 8,
 offY: 12,
 tipID: "tipDiv",
 showDelay: 100,
 hideDelay: 200,

 ready:false, timer:null, tip:null,

 init: function() {
 if ( document.createElement && document.body && typeof document.body.appendChild != "undefined" ) {
 if ( !document.getElementById(this.tipID) ) {
 var el = document.createElement("DIV");
 el.id = this.tipID; document.body.appendChild(el);
 }
 this.ready = true;
 }
 },

 show: function(e, msg) {
 if (this.timer) { clearTimeout(this.timer);	this.timer = 0; }
 this.tip = document.getElementById( this.tipID );
 if (this.followMouse) // set up mousemove
 dw_event.add( document, "mousemove", this.trackMouse, true );
 this.writeTip(""); // for mac ie
 this.writeTip(msg);
 viewport.getAll();
 this.positionTip(e);
 this.timer = setTimeout("Tooltip.toggleVis('" + this.tipID + "', 'visible')", this.showDelay);
 },

 writeTip: function(msg) {
 if ( this.tip && typeof this.tip.innerHTML != "undefined" ) this.tip.innerHTML = msg;
 },

 positionTip: function(e) {
 if ( this.tip && this.tip.style ) {
 // put e.pageX/Y first! (for Safari)
 var x = e.pageX? e.pageX: e.clientX + viewport.scrollX;
 var y = e.pageY? e.pageY: e.clientY + viewport.scrollY;

 if ( x + this.tip.offsetWidth + this.offX > viewport.width + viewport.scrollX ) {
 x = x - this.tip.offsetWidth - this.offX;
 if ( x < 0 ) x = 0;
 } else x = x + this.offX;

 if ( y + this.tip.offsetHeight + this.offY > viewport.height + viewport.scrollY ) {
 y = y - this.tip.offsetHeight - this.offY;
 if ( y < viewport.scrollY ) y = viewport.height + viewport.scrollY - this.tip.offsetHeight;
 } else y = y + this.offY;

 this.tip.style.left = x + "px"; this.tip.style.top = y + "px";
 }
 },

 hide: function() {
 if (this.timer) { clearTimeout(this.timer);	this.timer = 0; }
 this.timer = setTimeout("Tooltip.toggleVis('" + this.tipID + "', 'hidden')", this.hideDelay);
 if (this.followMouse) // release mousemove
 dw_event.remove( document, "mousemove", this.trackMouse, true );
 this.tip = null;
 },

 toggleVis: function(id, vis) { // to check for el, prevent (rare) errors
 var el = document.getElementById(id);
 if (el) el.style.visibility = vis;
 },

 trackMouse: function(e) {
 	e = dw_event.DOMit(e);
 	Tooltip.positionTip(e);
 }

}

var viewport = {
 getWinWidth: function () {
 this.width = 0;
 if (window.innerWidth) this.width = window.innerWidth - 18;
 else if (document.documentElement && document.documentElement.clientWidth)
 		this.width = document.documentElement.clientWidth;
 else if (document.body && document.body.clientWidth)
 		this.width = document.body.clientWidth;
 },

 getWinHeight: function () {
 this.height = 0;
 if (window.innerHeight) this.height = window.innerHeight - 18;
 	else if (document.documentElement && document.documentElement.clientHeight)
 		this.height = document.documentElement.clientHeight;
 	else if (document.body && document.body.clientHeight)
 		this.height = document.body.clientHeight;
 },

 getScrollX: function () {
 this.scrollX = 0;
 	if (typeof window.pageXOffset == "number") this.scrollX = window.pageXOffset;
 	else if (document.documentElement && document.documentElement.scrollLeft)
 		this.scrollX = document.documentElement.scrollLeft;
 	else if (document.body && document.body.scrollLeft)
 		this.scrollX = document.body.scrollLeft;
 	else if (window.scrollX) this.scrollX = window.scrollX;
 },

 getScrollY: function () {
 this.scrollY = 0;
 if (typeof window.pageYOffset == "number") this.scrollY = window.pageYOffset;
 else if (document.documentElement && document.documentElement.scrollTop)
 		this.scrollY = document.documentElement.scrollTop;
 	else if (document.body && document.body.scrollTop)
 		this.scrollY = document.body.scrollTop;
 	else if (window.scrollY) this.scrollY = window.scrollY;
 },

 getAll: function () {
 this.getWinWidth(); this.getWinHeight();
 this.getScrollX(); this.getScrollY();
 }

}
var lines = new Array;
function hline(id) {
  for (var oid in lines) {
    document.getElementById('line'+oid).className = '';
  }
  document.getElementById('line'+id).className = 'highlight';
}
function validatenewsletter() {
  var x = document.getElementById('nlemail').value;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(x)) {
	  // submit
	  document.getElementById('newsletterlink').innerHTML = '<iframe style="width: 1px; visibility: hidden; height: 1px;" src="http://clubstudiob.com/subscribe.php?email=' + x + '&send=subscribe"></iframe>';
	  document.getElementById('emailGood').style.display = 'block';
	  document.getElementById('emailBad').style.display = 'none';
	  document.getElementById('nlemail').value = '';
	} else {
	  document.getElementById('emailGood').style.display = 'none';
	  document.getElementById('emailBad').style.display = 'block';
	}
}