<!--

	window.name="main";
	ns4 = (document.layers)? true:false;
	ie4 = (document.all)? true:false;
	
	//This script detects the following:
	//Flash
	//Windows Media Player
	//Java
	//Shockwave
	//RealPlayer
	//QuickTime
	//Acrobat Reader
	//SVG Viewer
	
	//SAMPLE USAGE- detect "Flash"
	//if (pluginlist.indexOf("Flash")!=-1)
	//document.write("You have flash installed")

	var agt = navigator.userAgent.toLowerCase();
	var ie  = (agt.indexOf("msie") != -1);
	var ns  = (navigator.appName.indexOf("Netscape") != -1);
	var win = ((agt.indexOf("win")!=-1) || (agt.indexOf("32bit")!=-1));
	var mac = (agt.indexOf("mac")!=-1);
	var pluginlist;
	
	if (ie && win) {
		pluginlist = detectIE("Adobe.SVGCtl","SVG Viewer") + detectIE("SWCtl.SWCtl.1","Shockwave Director") + detectIE("ShockwaveFlash.ShockwaveFlash.1","Shockwave Flash") + detectIE("rmocx.RealPlayer G2 Control.1","RealPlayer") + detectIE("QuickTimeCheckObject.QuickTimeCheck.1","QuickTime") + detectIE("MediaPlayer.MediaPlayer.1","Windows Media Player") + detectIE("PDF.PdfCtrl.5","Acrobat Reader");
	}
	if (ns || !win) {
		nse = ""; for (var i=0;i<navigator.mimeTypes.length;i++) nse += navigator.mimeTypes[i].type.toLowerCase();
		pluginlist = detectNS("image/svg-xml","SVG Viewer") + detectNS("application/x-director","Shockwave Director") + detectNS("application/x-shockwave-flash","Shockwave Flash") + detectNS("audio/x-pn-realaudio-plugin","RealPlayer") + detectNS("video/quicktime","QuickTime") + detectNS("application/x-mplayer2","Windows Media Player") + detectNS("application/pdf","Acrobat Reader");
	}
	
	pluginlist += navigator.javaEnabled() ? "Java," : "";
	if (pluginlist.length > 0) pluginlist = pluginlist.substring(0,pluginlist.length-1);
	
	function detectIE(ClassID,name) { 
		result = false; document.write('<SCRIPT LANGUAGE=VBScript>\n on error resume next \n result = IsObject(CreateObject("' + ClassID + '"))</SCRIPT>\n'); if (result) return name+','; else return ''; 
	}
	function detectNS(ClassID,name) { 
		n = ""; if (nse.indexOf(ClassID) != -1) if (navigator.mimeTypes[ClassID].enabledPlugin != null) n = name+","; return n; 
	}
	
	////////////////////////////////////////////////////////
	// windowing and show/hide functions
	////////////////////////////////////////////////////////
	
	function openPop(url,n,w,h,f) {
		viewerWin = window.open(url, n,'width='+ w + ',height=' + h + ','+ f);
		viewerWin.focus();
		return url;
	}
	
	function closePop() {
		viewerWin.close();
	}
	
	function show(id) {
		if (ns4) document.layers[id].visibility = "show";
		else if (ie4) document.all[id].style.visibility = "visible";
	}
	
	function hide(id) {
		if (ns4) document.layers[id].visibility = "hide";
		else if (ie4) document.all[id].style.visibility = "hidden";
	}
	
	////////////////////////////////////////////////////////
	// menubar rollover functionality generated by
	// MacroMedia DreamWeaver 3.0
	////////////////////////////////////////////////////////
	
	function swapImgRestore() {
		var i,x,a=document.sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
	}
	
	function preloadImages() {
		var d=document; if(d.images){ if(!d.p) d.p=new Array();
		var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)
		if (a[i].indexOf("#")!=0){ d.p[j]=new Image; d.p[j++].src=a[i];}}
	}
	
	function 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=findObj(n,d.layers[i].document); return x;
	}
	
	function swapImage() {
		var i,j=0,x,a=swapImage.arguments; document.sr=new Array; for(i=0;i<(a.length-2);i+=3)
		if ((x=findObj(a[i]))!=null){document.sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
	}
	
	////////////////////////////////////////////////////////
	// Low-resolution window initializer
	// (A routine to address a 'above-the-fold' problem on the
	//   homepage where the Landor logo gets cut-off; place in
	//   the <body> onload handler in homepage templates.)
	// Lawrence Green, 4/21/2004
	////////////////////////////////////////////////////////
	
	function lo_res_window_init() {
		var thisWin;
		thisWin=window.scrollTo(0,64);
	}
	
	// This code taken directly from RANDOMWALKS
	// ... which is a very cool weblog
	// Lots of other have stolen this code from RW, but few give credit
	// for writing such a great piece of user-centered Javascript.
	// Thank you SBomb and RANDOMWALKS - www.randomwalks.com
	
	function targetLinks(boNew) {
	     if (boNew) where = "_blank";
	     else where = "_self";
	     for (var i=0; i<=(document.links.length-1); i++) {
	         document.links[i].target = where; 
	     }
	}

	function openViewer(url) {
		viewerWin = window.open(url,"theViewer","height=520,width=520,scrollbars=yes");
		viewerWin.focus();
		return url;
	}
	function openSmallViewer(url) {
		viewerWin = window.open(url,"theViewer","height=200,width=200,scrollbars=yes");
		viewerWin.focus();
		return url;
		onblur=closeViewer();
	}
	function openWideViewer(url) {
		viewerWin = window.open(url,"theViewer","height=640,width=640,scrollbars=yes");
		viewerWin.focus();
		return url;
	}
	function openSurveyViewer(url) {
		viewerWin = window.open(url,"theViewer","height=640,width=740,scrollbars=yes,status=no");
		viewerWin.focus();
		return url;
	}
	function closeViewer() {
		viewerWin.close();
	}

	function toggleAll(itemname, state) {
	    tmp = document.getElementsByTagName('div');
	    for (i=0;i<tmp.length;i++) {
	        if (tmp[i].className == itemname) tmp[i].style.display=state;
	    }
	}
	
	function toggle(idname) {
	    document.getElementById(idname).style.display=(document.getElementById(idname).style.display=='none')?'block':'none';
	}
	
	// Simple DOM-based text-swapper
	function swapspot(e, blurb) {
		var spot = document.getElementById(e);
		spot.innerHTML = blurb;
	}
	
	/*
	 * JavaScript library for embedding Laszlo applications
	 *
	 * Copyright Laszlo Systems, Inc. 2003
	 * All Rights Reserved.
	 *
	 * Usage:
	 * In the <html><head> of an HTML document that embeds a Laszlo application,
	 * add this line:
	 *   <script src="{$lps}/embed.js" language="JavaScript" type="text/javascript"/>
	 * At the location within the <html><body> where the application is to be
	 * embeded, add this line:
	 *   <script language="JavaScript" type="text/javascript">
	 *     lzEmbed({url: 'myapp.lzx?lzt=swf', bgcolor: '#000000', width: '800', height: '600'});
	 *   </script>
	 * where the url matches the URI that the application is served from, and
	 * the other properties match the attributes of the application's canvas.
	 */
	
	/* Write a tag start.  This code assumes that the attribute values don't
	 * require inner quotes; for instance, {x: '100'} works, but
	 * {url: 'a>b'} or {url: 'a"b'} won't. */
	function lzWriteElement(name, attrs, closep, escapeme) {
	    var lt = escapeme ? '&lt;' : '<';
	    var o = lt + name;
	    for (var p in attrs)
	        o += ' ' + p + '="' + attrs[p] + '"';
	    if (closep)
	        o += '/';
	    o += '>';
	    return o;
	}
	
	function containskey (arr, key) {
	    return (arr[key] != null);
	}
	
	/* Update each property of a with the value of the same-named property
	 * on b. For example, lzUpdate({a:1, b:2}, {b:3, c:4}) mutates the
	 * first argument into {a:1, b:3}. */
	function lzUpdate(a, b) {
	    for (var p in a)
	        if (containskey(b,p)) {
	            a[p] = b[p];
	        }
	}
	
	
	/* Write an <object> and <embed> tag into the document at the location
	 * where this function is called.  Properties is an Object whose properties
	 * override the attributes and <param> children of the <object> tag, and
	 * the attributes of the <embed> tag.
	 */
	function lzEmbed(properties, escapeme) {
	    var url = properties.url;
	    var width = properties.width;
	    var height = properties.height;
	    var o = '';
	    var lt = escapeme ? '&lt;' : '<';
	    
	    objectAttributes = {
	        classid: 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000',
	        type: 'application/x-shockwave-flash',
	        width: 0, height: 0
	    };
	
	    lzUpdate(objectAttributes, properties);
	    objectParams = {
	        movie: url,
	        scale: 'exactfit',
	        salign: 'lt',
	        // The properties parameter should override these.
	        width: 0, height: 0, bgcolor: 0};
	    lzUpdate(objectParams, properties);
	    embedAttributes = {
	        type: 'application/x-shockwave-flash',
	        pluginspage: "http://www.macromedia.com/go/getflashplayer",
	        scale: 'exactfit',
	        src: url,
	        quality: 'high',
	        salign: 'lt',
	        // The properties parameter should override these.
	        width: 0, height: 0, bgcolor: 0};
	    lzUpdate(embedAttributes, properties);
	    
	    var ns = (document.layers)? true:false;
	    var ie = (document.all)? true:false;
	
	    // add codebase object to upgrade windows ie players
	    // supposedly breaks some mac ie?
	    var win = navigator.appVersion.indexOf('Win') != -1;
	    if (win)
	        objectAttributes.codebase =  "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0";
	
	    if (navigator.appVersion.indexOf("Macintosh")!=-1) {
	        objectAttributes['data'] = url;
	    }
	
	    if  (ns) {
	        o = lzWriteElement('embed', embedAttributes, true, escapeme);
	    } else {
	        o = lzWriteElement('object', objectAttributes, false, escapeme);
	        for (var p in objectParams)
	        o += lt + 'param name="' +
	                 p + '" value="' +
	                 objectParams[p] + '" />\n';
	        o += lzWriteElement('embed', embedAttributes, true, escapeme);
	        o += lt + '/object>\n';
	    } 
	    //alert(o);
	    document.write(o);
	    return o;
	}

//-->
