//declare vars
var temp1, temp2


//----------------------------------+ os/browser/version/offset testing +----------------------------------
var pos, searchString;
var ua = navigator.userAgent.toLowerCase();
var brOS, brName, brVersion, brHOffset, brVOffset;

if (BrTest('konqueror')) 		{brName = "Konqueror"; brOS = "Linux";	brHOffset = 0; 		brVOffset = 0;}
else if (BrTest('safari')) 		{brName = "Safari";						brHOffset = 8; 		brVOffset = 4;}
else if (BrTest('omniweb')) 	{brName = "OmniWeb";					brHOffset = 0; 		brVOffset = 0;}
else if (BrTest('opera')) 		{brName = "Opera";						brHOffset = 0; 		brVOffset = 0;}
else if (BrTest('webtv')) 		{brName = "WebTV";						brHOffset = 0; 		brVOffset = 0;}
else if (BrTest('icab')) 		{brName = "iCab";						brHOffset = 0; 		brVOffset = 0;}
else if (BrTest('msie')) 		{brName = "Internet Explorer";			brHOffset = 0; 		brVOffset = 0;}
else if (!BrTest('compatible'))	{brName = "Netscape Navigator";			brHOffset = 0; 		brVOffset = 0;}
else 							{brName = "An unknown brName";			brHOffset = 0; 		brVOffset = 0;}

if (!brVersion) {brVersion = ua.charAt(pos + searchString.length);}

if (!brOS)	
{
	if (BrTest('linux')) 		{brOS = "Linux";}
	else if (BrTest('x11')) 	{brOS = "Unix";}
	else if (BrTest('brOS x')) 	{brOS = "Mac OSX";}
	else if (BrTest('mac')) 	{brOS = "Mac";}
	else if (BrTest('win')) 	{brOS = "Windows";}
	else 						{brOS = "an unknown operating system";}
	if((brOS == 'Mac' || brOS == 'Mac OSX') && brName == "Internet Explorer") {brHOffset = 10; 		brVOffset = 15;}
}

function BrTest(str)
{
	pos = ua.indexOf(str) + 1;
	searchString = str;
	return pos;
}
//----------------------------------+ os/browser/version/offset testing +----------------------------------


//returns obj by id
function ById(el)
{
	if(typeof(el) != 'object') {el = document.getElementById(el);}
	return el;
}


//general pop-up
//NW('relative path', 'name', width, height)
function NW(mypage, myname, w, h) {
	var offset = 0;
	if ((screen.width / screen.height) > 1.5) 
	{
		offset = screen.width / 4;//for duals
	}
	var winl = ((screen.width - w) / 2) - offset;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars=no,resizable=yes'
	win = window.open(mypage, myname, winprops)
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}


//general pop-up with scrollbars
//NW('relative path', 'name', width, height)
function NWS(mypage, myname, w, h) {
	var offset = 0;
	if ((screen.width / screen.height) > 1.5) 
	{
		offset = screen.width / 4;//for duals
	}
	var winl = ((screen.width - w) / 2) - offset;
	var wint = (screen.height - h) / 2;
	winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars=yes,resizable=yes'
	win = window.open(mypage, myname, winprops)
	if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
}


//verify onclick
function Verify(msg){
    return confirm(msg);
}
//depreciated (lower case v)
function verify(msg){
    file://return value of the confirm() method
    return confirm(msg);
}


//only allow numbers, delete, backspace tab
function OnlyNumbers()
{
	var k;
	k = event.keyCode;
	//alert(k);
	if ((k < 48 || k > 57) && k != 96 && k != 97 && k != 98 && k != 99 && k != 100 && k != 101 && k != 102 && k != 103 && k != 104 && k != 105 && k != 8 && k != 9 && k != 46 && k != 37 && k != 38 && k != 39 && k != 40)
	{
		event.returnValue = false;
	}
}

//only allow numbers, delete, backspace tab
function OnlyMoney()
{
	var k;
	k = event.keyCode;
	//alert(k);
	if ((k < 48 || k > 57) && k != 96 && k != 97 && k != 98 && k != 99 && k != 100 && k != 101 && k != 102 && k != 103 && k != 104 && k != 105 && k != 8 && k != 9 && k != 46 && k != 37 && k != 38 && k != 39 && k != 40 && k != 110 && k != 189 && k != 190)
	{
		event.returnValue = false;
	}
}

//serve a popup on bad email entered
function ValidEmail(email)
{
	var badCombos = /^@|^\.|@\.|@.*@|@$|\.$/;
	var badChars = /\s|\?|\(|\)|\[|\]|\{|\}|\<|\>|\||\\|\/|\:|\;|\,|\"|\'|\`|\=|\!|\#|\$|\%|\^|\&|\*/;
	var goodChars = /@.*\./;
	if (badCombos.test(email)||badChars.test(email)||!goodChars.test(email))
	{
		alert('You have entered an invalid email address');
	}
}


//retrieve the absolute overall page position of an element
function Pos(el)
{
	if(typeof(el) != 'object') {el = document.getElementById(el);}
	var ww = el.offsetWidth, hh = el.offsetHeight;
	for (var xx = 0,yy = 0; el != null; xx += el.offsetLeft,yy += el.offsetTop,el = el.offsetParent);
	return {Left:xx, Top:yy, Right:xx + ww, Bottom:yy + hh}
}


//overlays passed text next to passed element
function Overlay(atElement, text, w)
{
	if(typeof(atElement) != 'object') {atElement = document.getElementById(atElement);}
	//create new div to insert
	var objOverlay = document.createElement('div');
	objOverlay.id = 'overlay' + Pos(atElement).Left + Pos(atElement).Top;
	objOverlay.innerHTML = '<div align="right"><a href="#" onclick="RemoveOverlay(\'' + objOverlay.id + '\'); return false;" onmouseover="document.close' + objOverlay.id + '.src=\'/images/overlayClose_on.gif\'" onmouseout="document.close' + objOverlay.id + '.src=\'/images/overlayClose.gif\'" class=small><img src="/images/overlayClose.gif" border="0" name="close' + objOverlay.id + '"></a></div>' + text;
	objOverlay.className = 'overlay';
	objOverlay.align = 'left';
	objOverlay.style.width = w;
	//objOverlay.style.filter = "dropshadow(color=#9BAD71, offx=5, offy=5)";
	//insert div
	atElement.parentNode.appendChild(objOverlay);
	
	//set location point for overlay text
	var posY = Pos(atElement).Top;
	if((posY - objOverlay.clientHeight) > 0) {posY = posY - objOverlay.clientHeight;}//not above the top of the page
	else {posY = Pos(atElement).Bottom;}
	var posX = Pos(atElement).Left;
	if((posX + objOverlay.clientWidth) > 770) {posX = Pos(atElement).Right - objOverlay.clientWidth;}//not longer than 770
	objOverlay.style.top = posY;
	objOverlay.style.left = posX;
}



//clears overlay
function RemoveOverlay(overlayElement)
{
	if(typeof(overlayElement) != 'object') {overlayElement = document.getElementById(overlayElement);}
	if(overlayElement != null)
	{
		overlayElement.parentNode.removeChild(overlayElement);
	}
}



//change visibility of element
function DisplayStyle(el, styleValue)
{
	if(typeof(el) != 'object') {el = document.getElementById(el);}
	el.style.display = styleValue;
}



function ToggleDisplayStyle(el)
{
	if(typeof(el) != 'object') {el = document.getElementById(el);}
	if(el.style.display == "block") {el.style.display = "none";}
	else {el.style.display = "block";}
}









