// Known bugs:
/* common javsacript file */
// JavaScript Browser Sniffer
// Eric Krok, Andy King, Michel Plungjan Jan. 31, 2002
// see http://www.webreference.com/ for more information
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.

    var agt=navigator.userAgent.toLowerCase();
    var appVer = navigator.appVersion.toLowerCase();
    var is_minor = parseFloat(appVer);
    var is_major = parseInt(is_minor);

	var is_opera = (agt.indexOf("opera") != -1);

	var is_mac = (agt.indexOf("mac")!=-1);
    var iePos  = appVer.indexOf('msie');
    if (iePos !=-1) {
       if(is_mac) {
           var iePos = agt.indexOf('msie');
           is_minor = parseFloat(agt.substring(iePos+5,agt.indexOf(';',iePos)));
       }
       else is_minor = parseFloat(appVer.substring(iePos+5,appVer.indexOf(';',iePos)));
       is_major = parseInt(is_minor);
    }

    var is_konq = false;
    var kqPos   = agt.indexOf('konqueror');
    if (kqPos !=-1) {                 
       is_konq  = true;
       is_minor = parseFloat(agt.substring(kqPos+10,agt.indexOf(';',kqPos)));
       is_major = parseInt(is_minor);
    }                                 

    var is_getElementById   = (document.getElementById) ? "true" : "false";
    var is_getElementsByTagName = (document.getElementsByTagName) ? "true" : "false";
    var is_documentElement = (document.documentElement) ? "true" : "false";

    var is_safari = ((agt.indexOf('safari')!=-1)&&(agt.indexOf('mac')!=-1))?true:false;
    var is_khtml  = (is_safari || is_konq);

    var is_ie   = ((iePos!=-1) && (!is_opera) && (!is_khtml));
	var is_ie4   = (is_ie && is_major == 4);
    var is_ie5   = (is_ie && is_major == 5);
	var is_ie5up = (is_ie && is_minor >= 5);
	var is_ie5_5  = (is_ie && (agt.indexOf("msie 5.5") !=-1)); // 020128 new - abk
	var is_ie6   = (is_ie && is_major == 6);


if (!document.getElementsByClassName) {

	function getElementsByClassName(oElm, strTagName, strClassName){
		var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
		var arrReturnElements = new Array();
		strClassName = strClassName.replace(/\-/g, "\\-");
		var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
		var oElement;
		for(var i=0; i<arrElements.length; i++){
			oElement = arrElements[i];
			if(oRegExp.test(oElement.className)){
				arrReturnElements.push(oElement);
			}
		}
		return (arrReturnElements)
	}
	var who = getElementsByClassName(document, "a", "popupQuote"), i;
} else {
	var who = getElementsByClassName(document, "a", "popupQuote"), i;
}

if (who != null) {
	for (i = 0; i < who.length; i++) {
		var currentLink = who[i].href;
		var lastCharacter = currentLink.charAt(currentLink.length - 1);
		if (lastCharacter != "#") {
			who[i].href = 'javascript: showDiv("' +  currentLink + '");';
		}
		if ((who[i].target == '_parent') || (who[i].target == '')) {} else {
			who[i].target = "_self";
		}
	}
}

// Known bugs:

// 1.	If the width (and I assume height) are odd values, then the overlays will overlap by 1px in IE6 / 7.
// 2.	Fixed positioning is not setup for IE browsers yet, as such, leave var isFixed = false; do not change this value.

var ifrm;
var frameContainer;
var closeButton;
var positioning;
var shadowContainer;

var pageLocation = '';
var isVCenter = true;
var isHCenter = true;
var isFixed = true;			// DO NOT CHANGE THIS UNTILL PATCH IS APPLIED

var frameTop = 120;
var frameLeft = 350;
var frameWidth = 650;
var frameHeight = 452;

//var frameScroll = "auto";
var frameScroll = "auto";
var frameID = "quoteFrame";

var halfWidth = (frameWidth / 2);
var halfHeight = (frameHeight / 2);

var spacerImage = "i/spacer.gif";

if (is_ie6) {
	positioning = "absolute";
} else {
	if (isFixed) {
		positioning = "fixed";
	} else {
		positioning = "absolute";
	}
}

function makeFrame(path) {
	frameContainer = document.createElement("div");
	frameContainer.setAttribute("id", "frameContainer");
	document.body.appendChild(frameContainer);
	
	createShadow();

	pageLocation = path;
	
	ifrm = document.createElement("iframe");
	ifrm.setAttribute("src", pageLocation);
	ifrm.setAttribute("id", frameID);
	ifrm.setAttribute("frameborder", "0");
	ifrm.setAttribute("scrolling", frameScroll);
	ifrm.setAttribute("allowtransparency", "false");
	ifrm.style.borderWidth = "0";
	document.getElementById('frameContainer').appendChild(ifrm);
	
	closeButton = document.createElement("a");
	closeButton.setAttribute("href","javascript: hideDiv();");
	closeButton.setAttribute("id","frameClose");
	document.getElementById('frameContainer').appendChild(closeButton);
	
	setFrame();
}

function setFrame() {
	ifrm.style.position = positioning;
	closeButton.style.position = positioning;
	
	// Vertical centering
	if (isVCenter) {
		ifrm.style.top = "50%";
		ifrm.style.marginTop = "-" + frameHeight / 2 + "px";
		
		closeButton.style.top = "50%";
		closeButton.style.marginTop = "-" + (halfHeight + 16) + "px";
	} else {
		ifrm.style.top = frameTop + "px";
		
		closeButton.style.top = frameTop - 16 + "px";
	}
	// Horizontal Centering
	if (isHCenter) {
		ifrm.style.left = "50%";
		ifrm.style.marginLeft = "-" + frameWidth / 2 + "px";
		
		closeButton.style.left = "50%";
		closeButton.style.marginLeft = "-" + (halfWidth + 16) + "px";
	} else {
		ifrm.style.left = frameLeft + "px";
		
		closeButton.style.left = frameLeft - 16 + "px";
	}
	ifrm.style.width = frameWidth + "px";
	ifrm.style.height = frameHeight + "px";
	ifrm.style.display = "block";
	frameContainer.style.display = "block";
}

function showDiv(path) {
	pageLocation = path;
	
	if (document.getElementById('frameContainer') != null) {
//		if (document.getElementById('quoteFrame').src != pageLocation) {
			document.getElementById('quoteFrame').src = "about:blank";
			document.getElementById('quoteFrame').src = pageLocation;
//		}	
		frameContainer.style.display = "block";
		/* Re-implement this call when variable passing is setup */
		// setFrame();
	} else {
		makeFrame(path);
	}
}

function hideDiv() {
	frameContainer.style.display = "none";
	ifrm.src = "about:blank";
}


/* -- Shadow Table Creation -- */
function createShadow() {
	
	var shadowContainer = document.createElement("div");
	shadowContainer.setAttribute("id", "shadowDiv");
	
	frameContainer.appendChild(shadowContainer);
	
	var i;
	
	for (i = 0; i < 8; i++) {
		var shadowImage = document.createElement("img");
		shadowImage.setAttribute("alt","");
		shadowImage.setAttribute("src",spacerImage);
		shadowImage.style.position = positioning;
	
		// Set ID
		if (i == 0) {
			shadowImage.setAttribute("id","s-topLeft");
		}
		if (i == 1) {
			shadowImage.setAttribute("id","s-topCenter");
		}
		if (i == 2) {
			shadowImage.setAttribute("id","s-topRight");
		}
		if (i == 3) {
			shadowImage.setAttribute("id","s-centerLeft");
		}
		if (i == 4) {
			shadowImage.setAttribute("id","s-centerRight");
		}
		if (i == 5) {
			shadowImage.setAttribute("id","s-bottomLeft");
		}
		if (i == 6) {
			shadowImage.setAttribute("id","s-bottomCenter");
		}
		if (i == 7) {
			shadowImage.setAttribute("id","s-bottomRight");
		}
		
		// Set Width
		if ((i == 1) || (i == 6)) {
			shadowImage.style.width = frameWidth - 25 + "px";
		} else {
			shadowImage.style.width = 30 + "px";
		}
		
		// Set Height
		if ((i == 3) || (i == 4)) {
			shadowImage.style.height = frameHeight - 28 + "px";
		} else {
			shadowImage.style.height = 30 + "px";
		}
		
		// Top Positioning
		if (isVCenter) {
			shadowImage.style.top = "50%";
			
			if ((i == 0) || (i == 1) || (i == 2)) {
				shadowImage.style.marginTop = "-" + (halfHeight + 12) + "px";
			}
			
			if ((i == 3) || (i == 4)) {
				shadowImage.style.marginTop = "-" + (halfHeight - 18) + "px";
			}
			
			if ((i == 5) || (i == 6) || (i == 7)) {
				shadowImage.style.marginTop = (halfHeight - 10) + "px";
			}
		} else {
			
			if ((i == 0) || (i == 1) || (i == 2)) {
				shadowImage.style.top = (frameTop - 12) + "px";
			}
			
			if ((i == 3) || (i == 4)) {
				shadowImage.style.top = (frameTop + 18) + "px";
			}
			
			if ((i == 5) || (i == 6) || (i == 7)) {
				shadowImage.style.top = ((frameTop + frameHeight)  - 10) + "px";
			}
		}
		
		// Left
		if (isHCenter) {
			shadowImage.style.left = "50%";
			
			if ((i == 0) || (i == 3) || (i == 5)) {
				shadowImage.style.marginLeft = "-" + (halfWidth + 15) + "px";
			}
			
			if ((i == 1) || (i == 6)) {
				shadowImage.style.marginLeft = "-" + (halfWidth - 15) + "px";
			}
			
			if ((i == 2 ) || (i == 4) || (i == 7)) {
				shadowImage.style.marginLeft = (halfWidth - 10) + "px";
			}
		} else {
			
			if ((i == 0) || (i == 3) || (i == 5)) {
				shadowImage.style.left = (frameLeft - 15) + "px";
			}
			
			if ((i == 1) || (i == 6)) {
				shadowImage.style.left = (frameLeft + 15) + "px";
			}
			
			if ((i == 2 ) || (i == 4) || (i == 7)) {
				shadowImage.style.left = ((frameLeft + frameWidth) - 10) + "px";
			}
		}
	
		shadowContainer.appendChild(shadowImage);	
	}
	
}
/* --- sIFR --- */
  //<[CDATA[

  var towerSIFR = {
    src: '../flash/tower.swf'
    ,ratios: [6,0.24,7,0.21,8,0.18,10,0.16,11,0.13,12,0.12,13,0.11,15,0.1,17,0.09,19,0.08,22,0.07,26,0.06,32,0.05,41,0.04,58,0.03,97,0.02,0.01]
  };
  
   var towerAltSIFR = {
    src: 'flash/tower.swf'
    ,ratios: [6,0.24,7,0.21,8,0.18,10,0.16,11,0.13,12,0.12,13,0.11,15,0.1,17,0.09,19,0.08,22,0.07,26,0.06,32,0.05,41,0.04,58,0.03,97,0.02,0.01]
  };

  // sIFR.domains = ['novemberborn.net'] // Don't check for domains in this demo
  sIFR.useStyleCheck = true;
  sIFR.fromLocal = true;
  sIFR.activate(towerSIFR);

  sIFR.replace(towerAltSIFR, {
    selector: 'h1'
	,wmode: "transparent"
    ,css: {
      '.sIFR-root, a, a:hover': { 'color': '#000066' }
	}
  });

  sIFR.replace(towerSIFR, {
    selector: 'h2'
	,wmode: "transparent"
    ,css: {
      '.sIFR-root, a, a:hover': { 'color': '#000066' }
	}
    ,selectable: false
  });
  
  sIFR.replace(towerAltSIFR, {
    selector: 'p.intro'
	,wmode: "transparent"
    ,css: {
      '.sIFR-root, a, a:hover': { 'color': '#000066' }
	}
    ,selectable: false
  });
  //]]>
  

if ((top.location == self.location)) {
//if ((top.location == self.location) &&!(window.opener)) {
	document.getElementById('closeLink').innerHTML = 'Main Page';
}
