<!-- 
window.name = "main";
function MM_findObj(n, d) 
{ 
  	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); return x;
}
function MM_swapImage() 
{ 
  	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() 
{ 
  	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() 
{ 
 	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];}}
}
		
if( window.open && window.focus )
{
	//optional arguments can be passed for height and width (second and third respectivly)
    	function genPopup(pageSource)
   	{
        	theWidth = (arguments[1]) ? arguments[1] : 400;
        	theHeight = (arguments[2]) ? arguments[2] : 300;
        	leWindow = window.open(pageSource, 'genPopup', 'toolbar=no,width='+theWidth+',height='+theHeight+',status=0,scrollbars=1,resizable=0,menubar=1');
        	leWindow.focus();
 		window.onerror = null;
	}
}

// another pop up, for the flash search thing
var pop_up = null;
function popup(url,wide,high) 
{
 	if (pop_up != null && !pop_up.closed)		{pop_up.close();}
 	options = "status,height="+high+",width="+wide;
 	pop_up = window.open(url, 'pop_up', options);
	pop_up.focus();
}
// called from the flash popup search page, closes popup and sends url back to parent window
function supressError() 	{return true;}
function load(url) 
{
    	window.onerror = supressError;
    	opener.location.href = url;
    	setTimeout('self.close()',1000);
}

// flash detection
if(typeof com == "undefined") var com = new Object();
if(typeof com.deconcept == "undefined") com.deconcept = new Object();
if(typeof com.deconcept.util == "undefined") com.deconcept.util = new Object();
if(typeof com.deconcept.FlashObjectUtil == "undefined") com.deconcept.FlashObjectUtil = new Object();

com.deconcept.FlashObject = function(swf, id, w, h, ver, xiRedirectUrl, redirectUrl, detectKey)
{
	if (!document.createElement || !document.getElementById) return;
  	this.DETECT_KEY = detectKey ? detectKey : 'detectflash';
  	this.skipDetect = com.deconcept.util.getRequestParameter(this.DETECT_KEY);
  	this.params = new Object();
  	this.variables = new Object();
  	this.attributes = new Array();
  	if(swf) this.setAttribute('swf', swf);
  	if(id) this.setAttribute('id', id);
  	if(w) this.setAttribute('width', w);
  	if(h) this.setAttribute('height', h);
  	if(ver) this.setAttribute('version', new com.deconcept.PlayerVersion(ver.toString().split(".")));
  	this.installedVer = com.deconcept.FlashObjectUtil.getPlayerVersion(this.getAttribute('version'));
  	var xir = (xiRedirectUrl) ? xiRedirectUrl : window.location;
  	this.setAttribute('xiRedirectUrl', xir);
  	this.setAttribute('redirectUrl', '');
  	if(redirectUrl) this.setAttribute('redirectUrl', redirectUrl);
}

com.deconcept.FlashObject.prototype = 
{
	setAttribute: function(name, value)		{this.attributes[name] = value;},
  	getAttribute: function(name)			{return this.attributes[name];},
	addParam: function(name, value)		{this.params[name] = value;},
	getParams: function()				{return this.params;},
  	addVariable: function(name, value)	{this.variables[name] = value;},
  	getVariable: function(name)			{return this.variables[name];},
  	getVariables: function()			{return this.variables;},
  	
	createParamTag: function(n, v)	
	{
    		var p = document.createElement('param');
    		p.setAttribute('name', n);
    		p.setAttribute('value', v);
    		return p;
  	},
  	
	getVariablePairs: function()
	{
    		var variablePairs = new Array();
    		var key;
    		var variables = this.getVariables();
    		for(key in variables)			{variablePairs.push(key +"="+ variables[key]);}
    		return variablePairs;
  	},
  	
	getFlashHTML: function() 
	{
    		var flashNode = "";
    		if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) 
		{ 
      			flashNode = '<embed type="application/x-shockwave-flash" src="'+ this.getAttribute('swf') +'" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'"';
      			flashNode += ' id="'+ this.getAttribute('id') +'" name="'+ this.getAttribute('id') +'" ';
      			var params = this.getParams();
       			for(var key in params)		{flashNode += [key] +'="'+ params[key] +'" '; }
      			var pairs = this.getVariablePairs().join("&");
       			if (pairs.length > 0){ flashNode += 'flashvars="'+ pairs +'"'; }
      			flashNode += '/>';
    		} 
		else 
		{ 
      			flashNode = '<object id="'+ this.getAttribute('id') +'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+ this.getAttribute('width') +'" height="'+ this.getAttribute('height') +'">';
      			flashNode += '<param name="movie" value="'+ this.getAttribute('swf') +'" />"';
      			var params = this.getParams();
       			for(var key in params) 		{flashNode += '<param name="'+ key +'" value="'+ params[key] +'">';}
      			var pairs = this.getVariablePairs().join("&");
       			if(pairs.length > 0) flashNode += '<param name="flashvars" value="'+ pairs +'">';
      			flashNode += "</object>";
		}
    		return flashNode;
	},

	write: function(elementId)
	{
    		if(this.skipDetect  || this.installedVer.versionIsValid(this.getAttribute('version')))
		{
      			var n = (typeof elementId == 'string') ? document.getElementById(elementId) : elementId;
      			n.innerHTML = this.getFlashHTML();
    		}
		else
		{
      			if(this.getAttribute('redirectUrl') != "") {document.location.replace(this.getAttribute('redirectUrl'));}
    		}
	}
}

com.deconcept.FlashObjectUtil.getPlayerVersion = function(reqVer, xiInstall)
{
  	var PlayerVersion = new com.deconcept.PlayerVersion(0,0,0);
  	if(navigator.plugins && navigator.mimeTypes.length)
	{
    		var x = navigator.plugins["Shockwave Flash"];
    		if(x && x.description) 				{PlayerVersion = new com.deconcept.PlayerVersion(x.description.replace(/([a-z]|[A-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split("."));}
  	}
	else
	{
    		try
		{
      			var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
      			for (var i=3; axo!=null; i++) 
			{
        			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);
        			PlayerVersion = new com.deconcept.PlayerVersion([i,0,0]);
      			}
    		}
		catch(e){}
    		if (reqVer && PlayerVersion.major > reqVer.major) return PlayerVersion; 
    		if (!reqVer || ((reqVer.minor != 0 || reqVer.rev != 0) && PlayerVersion.major == reqVer.major) || PlayerVersion.major != 6 || xiInstall) 
		{
			try
			{
				PlayerVersion = new com.deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));
			}
			catch(e){}
		}
	}
	return PlayerVersion;
}

com.deconcept.PlayerVersion = function(arrVersion)
{
	  this.major = parseInt(arrVersion[0]) || 0;
	  this.minor = parseInt(arrVersion[1]) || 0;
	  this.rev = parseInt(arrVersion[2]) || 0;
}

com.deconcept.PlayerVersion.prototype.versionIsValid = function(fv)
{
	  if(this.major < fv.major) return false;
	  if(this.major > fv.major) return true;
	  if(this.minor < fv.minor) return false;
	  if(this.minor > fv.minor) return true;
	  if(this.rev < fv.rev) return false;
	  return true;
}

com.deconcept.util = 
{
	getRequestParameter: function(param)
	{
		var q = document.location.search || document.location.href.hash;
	    	if(q)
	    	{
			var startIndex = q.indexOf(param +"=");
			var endIndex = (q.indexOf("&", startIndex) > -1) ? q.indexOf("&", startIndex) : q.length;
			
			if (q.length > 1 && startIndex > -1) 		{return q.substring(q.indexOf("=", startIndex)+1, endIndex);}
	    	}
	    	return "";
	},
	removeChildren: function(n)					{while (n.hasChildNodes()) n.removeChild(n.firstChild);}
}

if (Array.prototype.push == null) 					{Array.prototype.push = function(item) { this[this.length] = item; return this.length; }}
var getQueryParamValue = com.deconcept.util.getRequestParameter;
var FlashObject = com.deconcept.FlashObject;
// slightly modified from (and many thanks to) Geoff Stearns, @ http://blog.deconcept.com/flashobject/
-->