// standard for ref finding in old browsers (no longer applicable, but used in scaling/moving functions)
if (document.layers){
	//Netscape 4 specific code
	pre = 'document.';
	post = '';
	spost = '';
}
if (document.getElementById){
	//Netscape 6 specific code
	pre = 'document.getElementById("';
	post = '")';
	spost = '").style';
}
if (document.all){
	//IE4+ specific code
	pre = 'document.all.';
	post = '';
	spost = '.style';
}

//dropshadows

function setDropShadowElements(offset,color) {
	var alerted = 0;
	var eles = document.getElementsByTagName('*');
	for(var i=0;i<eles.length;i++) {
		var origEle = eles[i];
		if(origEle.className == "dropShadow" && !origEle.generated) {

			var firstEle = origEle.cloneNode(true);
			firstEle.generated = true;
			firstEle.id = firstEle.id+'_cloner1';

			firstEle.style.position='absolute';
			firstEle.style.top = offset+'px';			
			firstEle.style.left = offset+'px';
			firstEle.style.color=color;
			firstEle.style.zIndex = '999';

			var secEle = origEle.cloneNode(true);
			secEle.generated = true;

			secEle.id = secEle.id+'_cloner2';
			secEle.style.position='relative';
			secEle.style.zIndex = '1000';

			var parental = origEle.parentElement;
			parental.removeChild(origEle);
			var holder = parental.appendChild(document.createElement('span'));
			holder.style.padding='0';
			holder.style.margin='0';
			holder.style.border='0';
			holder.style.position='relative';
			holder.style.background='transparent';

			holder.appendChild(firstEle);
			holder.appendChild(secEle);
		}
	}
}
function thisPageDShadows() {
	setDropShadowElements(3,'#999999');
}


// general

function showHide(who) {
	var realwho = null;
	if(typeof who == 'string') {
		realwho = document.getElementById(who);
	} else {
		realwho = who;
	}
	if(!realwho.style.display||realwho.style.display=="none") {
		try {
			realwho.style.display = nodeDisplayLookups[realwho.nodeName];
		} catch(e) {
			realwho.style.display = "block";
		}
	} else {
		realwho.style.display = "none";
	}
	return false;
}

function enableShowHide() {
	var eles = document.getElementsByTagName('a');
	for(var i=0;i<eles.length;i++) {
		if(eles[i].id.substr(0,3)=='sh_') {
			eles[i].onclick = function() {
				showHide(this.id.substr(3,this.id.length-3));
			}
		}
	}
}

function enableCSSHover() {
	for(var i=0;i<document.styleSheets.length;i++) {
		var theRules = new Array();
		if(document.styleSheets[i].cssRules) {
			theRules = document.styleSheets[i].cssRules;
		} else {
			theRules = document.styleSheets[i].rules;
		}
		for(var rule in theRules) {
			if(rule != 'length' && theRules[rule] && theRules[rule].selectorText) {
				//alert(theRules[rule].selectorText);
				var hovPos = theRules[rule].selectorText.indexOf(':hover');
				if(hovPos!=-1) {
					var cn = theRules[rule].selectorText.substr(0,hovPos);
					//alert(cn);
					var workWith = cn.split(' ');
					var assignTo = getFinalEles(document,workWith);
					var bgc = theRules[rule].style.background;
					var bgc2 = theRules[rule-1].style.background;
					var txtc = theRules[rule].style.color;
					var txtc2 = theRules[rule-1].style.color;
					for(ele in assignTo) {
						addHover(assignTo[ele],bgc,bgc2);
						assignTo[ele].setnormal();

					}
				}
			}
		}
	}
}

function addHover(ele,bgc,bgc2) {
	ele.hoverBG = bgc;
	ele.normalBG = bgc2?bgc2:ele.style.background;
	ele.oldClassName = ele.className;
	ele.onmouseover = function() {
		this.style.background = this.hoverBG;
	}
	ele.setnormal = function() {
		this.style.background = this.normalBG;
		this.className = this.oldClassName;
	}
	ele.onmouseout = ele.setnormal;
}


function loadCSS(fname) {
	var hed = document.getElementsByTagName('head')[0];
	var ssheet = document.getElementById('preferenceSheet');
	if(ssheet) {
		hed.removeChild(ssheet);
	}
	ssheet = null;
	var ocss = hed.appendChild(document.createElement('link'));
	ocss.type = 'text/css';
	ocss.rel = 'stylesheet';
	ocss.href = fname;
	ocss.id = 'preferenceSheet';
	if(navigator.appName.indexOf('Explorer')!=-1) {
		enableCSSHover();
	}
}

function getFinalEles(where,cssArr) {
	var nextArr = new Array();
	nextArr.length=0;
	var returnArr = new Array();
	returnArr.length=0;
	for(var i=1;i<cssArr.length;i++) {
		nextArr[nextArr.length]=cssArr[i];
	}
	var workWith = cssArr[0];
	try {
		if(workWith.substr(0,1) == '.') {
			// get class eles
			var nextEles = where.getElementsByTagName('*');
			for(var j=0;j<nextEles.length;j++) {
				if(nextEles[j].className == workWith.substr(1,workWith.length-1)) {
					if(nextArr.length) {
						var gotArr = getFinalEles(nextEles[j],nextArr);
						for(var k=0;k<gotArr.length;k++) {
							returnArr[returnArr.length] = gotArr[k];
						}
					} else {
						returnArr[returnArr.length]=nextEles[j];
					}
				}
			}
		} else if(workWith.substr(0,1) == '#') {
			var gotEle = where.getElementById(workWith.substr(1,workWith.length-1));
			if(gotEle) {
				if(nextArr.length) {
					var gotArr = getFinalEles(gotEle,nextArr);
					for(var k=0;k<gotArr.length;k++) {
						returnArr[returnArr.length] = gotArr[k];
					}
				} else {
					returnArr[returnArr.length]=gotEle;
				}
			}
		} else {
			var nextEles = where.getElementsByTagName(workWith);
			for(var j=0;j<nextEles.length;j++) {
				if(nextArr.length) {
					var gotArr = getFinalEles(nextEles[j],nextArr);
					for(var k=0;k<gotArr.length;k++) {
						returnArr[returnArr.length] = gotArr[k];
					}
				} else {
					returnArr[returnArr.length]=nextEles[j];
				}
			}
		}
	} catch(e) {
		alert(e.name+"\n"+e.message+"\n\n"+cssArr[0]+"\n"+where+" | "+where.id);
		// do nothing... but keep trying!
	}
	return returnArr;
}


function resizeCenterCol() {  //use this function to set the width of the centerCol if there's no left- or rightCol and set the minimum height of the content.
	
	//set width...
	if(!document.getElementById('rightCol')) { 
		if(!document.getElementById('leftCol')) { 
			document.getElementById('centerCol').style.width='*'; 
		} else {
			if(navigator.appName.indexOf('Microsoft')!=-1) { 
				document.getElementById('centerCol').style.width='700px'; 
			} else { 
				document.getElementById('centerCol').style.width='700px'; 
			} 
		} 
	}	
	//set height...
	if(document.getElementById('content')) {
		if(navigator.appName.indexOf('Microsoft')!=-1) { 
			document.getElementById('content').style.height ='420px';		
			document.getElementById('content').style.overflow ='visible';		
		} else { 
			document.getElementById('content').style.height ='auto';		
			document.getElementById('content').style.minHeight ='420px';		
			//if(document.getElementById('content') && document.getElementById('content').style.height < 420){ document.getElementById('content').style.height = '420px'; } 
			//if(document.getElementById('content') && document.getElementById('content').style.height < 420){ document.getElementById('content').style.height = '420px'; } 	
		} 	
	} else {
		if(navigator.appName.indexOf('Microsoft')!=-1) { 
			document.getElementById('contentIncourse').style.height ='420px';		
			document.getElementById('contentIncourse').style.overflow ='visible';		
		} else { 
			document.getElementById('contentIncourse').style.height ='auto';		
			document.getElementById('contentIncourse').style.minHeight ='420px';		
			//if(document.getElementById('contentIncourse') && document.getElementById('contentIncourse').style.height < 420){ document.getElementById('contentIncourse').style.height = '420px'; } 
			//if(document.getElementById('contentIncourse') && document.getElementById('contentIncourse').style.height < 420){ document.getElementById('contentIncourse').style.height = '420px'; } 	
		} 	
	}
} 


// onload processing
var onloadFuncs = new Array();

function addToOnload(func) {
	onloadFuncs[onloadFuncs.length]=func;
}

function doAllOnloads() {
	for(func in onloadFuncs) {
		onloadFuncs[func]();
	}
}


// okay, this one's for disabling the secure seal on insecure / non-home pages.
function removeSeal() {
	//alert(location.href);
	if(location.href.indexOf('https://')!=-1) {
		document.getElementById('secureSeal').style.display = 'block';
	}
}



// javascript to display images

function showtip(current,e,tip) {
	if (document.layers) { // Netscape 4.0+
		theString="<DIV CLASS='ttip' align=center>"+tip+"</DIV>"
		document.tooltip.document.write(theString)
		document.tooltip.document.close()
		document.tooltip.left=e.pageX+20;
		document.tooltip.top=e.pageY-60;
		document.tooltip.visibility="show"
	} else {
		if(document.getElementById) { // Netscape 6.0+ and Internet Explorer 4.0+
			elm=document.getElementById("tooltip")
			elml=current
			elm.innerHTML=tip
			elm.style.height=elml.style.height
			if(document.all) {
				elm.style.top=event.clientY+document.body.scrollTop-60;
				elm.style.left=event.clientX+document.body.scrollLeft+20;
			} else {
				elm.style.top=e.pageY-60;
				elm.style.left=e.pageX+20;
			}
			elm.style.visibility = "visible"
		}
	}
}
function hidetip(){
	if (document.layers) { // Netscape 4.0+
		document.tooltip.visibility="hidden"
	} else {
		if(document.getElementById || document.all) { // Netscape 6.0+ and Internet Explorer 4.0+
			elm=document.getElementById("tooltip")
			elm.style.visibility="hidden"
		}
	} 
}








// usage:
//  onMouseover="showtip(this,event,'<IMG SRC="$imgSrc$">');" onMouseout="hidetip();"

// insert this div in page body (not inside another element):
// <div id="tooltip" style="position:absolute; top:100px; left:200px; visibility:hidden;border:1px solid black;font-size:12px;font-weight:bold;font-family:arial,helvetica;color:#000000;layer-background-color:#CCCCCC;background-color:#CCCCCC;padding:1px;z-index: 100" align=center>






var arVersion = navigator.appVersion.split("MSIE")
var version = parseFloat(arVersion[1])

function fixAllPngs() {
	var imgs = document.getElementsByTagName('img');
	for(var i=0; i<imgs.length; i++) {
		var timg = imgs[i]; //local var for speed
		if(timg.src.indexOf('.png') != -1) {
			//alert(timg.width+' | '+timg.height);
			fixPNG(timg);
		}
	}
}


// thinking is for smart people
// I just copy code

function fixPNG(myImage) {
    if ((version >= 5.5) && (version < 7) && (document.body.filters)) {
       var imgID = (myImage.id) ? "id='" + myImage.id + "' " : ""
	   var imgClass = (myImage.className) ? "class='" + myImage.className + "' " : "";
	   var imgTitle = (myImage.title) ? "title='" + myImage.title  + "' " : "title='" + myImage.alt + "' ";
	   var imgStyle = "display:inline-block;" + myImage.style.cssText;
	   var strNewHTML = "<span " + imgID + imgClass + imgTitle + " style=\"" + "width:" + myImage.width 
	   	+ "px; height:" + myImage.height + "px;" + imgStyle + ";" 
           	+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
           	+ "(src=\'" + myImage.src + "\', sizingMethod='none');\"></span>"
	   myImage.outerHTML = strNewHTML	  
    }
}


// disable right click, copy/paste
// runs automatically.

var popup="Sorry, right-click is disabled.\n\nSite Content is ©Copyright 2006 by The Institute of Fraud Risk Management, Inc.\nAll Rights Reserved"; 
function noway(go) { 
	if(document.all) { 
		if(event.button == 2) { 
			alert(popup); 
			return false; 
		} 
	} 
	if(document.layers) { 
		if(go.which == 3) { 
			alert(popup); 
			return false; 
		} 
	} 
} 
if(document.layers) { 
	document.captureEvents(Event.MOUSEDOWN); 
} 
//document.onmousedown=noway; 

// sneaky no-select
//document.body.ondragstart=function() { return false; }
//document.body.onselectstart=function() { return false; }

//document.body.onkeypress = function(evt) {
//	alert('trying!');
//	var c = document.layers ? evt.which : document.all ? event.keyCode : evt.keyCode;
//	var pressedKey = String.fromCharCode(c).toLowerCase();
//	if (event.ctrlKey && (pressedKey == "c" || pressedKey == "v" || pressedKey == "a")) {
//		alert(popup); 
//		return false;
//	} else {
//		return true;
//	}
//}


// clear image screenshot cache (NASTY!!!)
//function clearImage()
//{
//    r = window.clipboardData.clearData("Image")
//}

//ci = setInterval("clearImage()", 10)


// set up onloads
if(navigator.appName.indexOf('Explorer')!=-1) {
	addToOnload(fixAllPngs);
	//addToOnload(enableCSSHover);
}
addToOnload(enableShowHide);
//addToOnload(thisPageDShadows);
//addToOnload(resizeCenterCol);
//addToOnload(removeSeal);

// do the onloads
onload = doAllOnloads;
