// jsb: comments stripped. see ifr-BIG.js
hasFlash = hasFlashInstalled(); // jsb

// jsb: added HTTPS test
if (hasFlash && document.getElementsByTagName && document.getElementsByTagName('html')[0] && location.protocol != "https:") {
	document.getElementsByTagName('html')[0].className += (document.getElementsByTagName('html')[0].className=='')?'hasFlash':' hasFlash';
	}

function SI_normalizeWhiteSpace(txt) {
	var rE = /\s+/gi;
	return txt.replace(rE,' ');
	}
function SI_forceRedraw() {
	// Corrects a margin-bottom sum bug in Mozilla
	var d = document;
	if (d.body && d.body.style) {
		d.body.style.height = "1px";
		d.body.style.height = "auto";
		}
	}

function SI_replaceElement(elem,swf,w,h,afv) {
	var d = document;

	if (!hasFlash || !d.getElementsByTagName) return;

	var r = new Object();
	r.p = new Object();
	r.e = new Object();

	if (elem.indexOf('>')!=-1) {
		elemArray = elem.split('>');
		elem = elemArray[1];
		if (elemArray[0].indexOf('#')!=-1) {
			parentArray = elemArray[0].split('#');
			r.p.id 		  = parentArray[1];
			r.p.tagName	  = parentArray[0];
			r.p.className = false;
			}
		else if (elemArray[0].indexOf('.')!=-1) {
			// alert('Reference to parent's className found...');
			parentArray = elemArray[0].split('.');
			r.p.id 		  = false;
			r.p.tagName	  = parentArray[0];
			r.p.className = parentArray[1];
			}
		else {
			r.p.id		  = false;
			r.p.tagName	  = elemArray[0];
			r.p.className = false;
			}
		}
	else {
		r.p.id		  = false;
		r.p.tagName	  = false;
		r.p.className = false;
		}
	
	if (elem.indexOf('#')!=-1) {
		elemArray = elem.split('#');
		r.e.id 		  = elemArray[1];
		r.e.tagName	  = elemArray[0];
		r.e.className = false;
		}
	else if (elem.indexOf('.')!=-1) {
		elemArray = elem.split('.');
		r.e.id		  = false;
		r.e.tagName	  = elemArray[0];
		r.e.className = elemArray[1];
		}
	else {
		r.e.id		  = false;
		r.e.tagName	  = elem;
		r.e.className = false;
		}

	if (afv!='') {
		afv = SI_normalizeWhiteSpace(afv);
		afv = '&'+afv;
		}

	var elems = d.getElementsByTagName(r.e.tagName);
	var count = elems.length;
	for (var i=0; i<count; i++) {
		e = elems[i];

		// jsb: added "e" test
		if (e && !r.p.tagName || (((r.p.tagName && !r.p.id && !r.p.className && e.parentNode.nodeName==r.p.tagName.toUpperCase()) || ((r.p.id && e.parentNode.id==r.p.id) || (r.p.className && e.parentNode.className==r.p.className))))) {
			if ((r.e.tagName && !r.e.id && !r.e.className) || (r.e.id && e.id==r.e.id) || (r.e.className && e.className==r.e.className)) {
				
				var txt;
				txt = SI_normalizeWhiteSpace(e.innerHTML);
				var c = d.createElement('div');
				c.className = 'replaced-'+r.e.tagName;
				e.parentNode.replaceChild(c,e);
				count--;
				i--;
				
				// from comments on IFR page
				txt = txt.replace(/&amp;/g, '%26');
				txt = txt.replace(/"/g, '%22');
				var fv = 'txt='+txt+afv;
				//var fv	= 'txt='+escape(txt)+afv;
				
				var swfHTML;
				swfHTML  = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="'+w+'" height="'+h+'">';
				swfHTML += '	<param name="movie" value="'+swf+'" />';
				swfHTML += '	<param name="wmode" value="transparent" />';
				swfHTML += '	<param name="flashvars" value="'+fv+'" />';
				swfHTML += '	<embed src="'+swf+'" flashvars="'+fv+'" wmode="transparent" width="'+w+'" height="'+h+'" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer" />';
				swfHTML += '<'+'/object>';
				c.innerHTML = swfHTML;
				txt='';
				}
			}
		}
	}

// jsb added
function isDefined(ckVar) {
	var isDef=true;
	
	function handleError() {
		isDef=false;
		return true;
	}
	
	var oldOnError=window.onerror;
	window.onerror=handleError;
	try {
		eval(ckVar);
	} catch (e) {
		isDef=false;
	}
	window.onerror=oldOnError;
	return isDef;
}
function ifrIsIE() {
	var ua = navigator.userAgent.toLowerCase();
	return !(/opera|webtv/i.test(ua)) && /msie (\d)/.test(ua);
}

function SI_flashReplacement() {
	// orange cholla H2
	SI_replaceElement('h2.ifrOC','../_flash/h2-oc.swf',450, 44,'');
	// directory/topic pages (only on request)
	if ( isDefined("ifr_directory"))
		SI_replaceElement('h1.ifrDIR','../_flash/h1-dir.swf',500,30,'');
	if ( isDefined("ifr_ubdir"))
		SI_replaceElement('h1.ifrUBDIR','../_flash/h1-ubdir.swf',360,36,'');

	SI_forceRedraw();
	}

function SI_onload() {
	if (location.protocol != "https:")
		SI_flashReplacement();
	} addLoadEvent( SI_onload);
