function com_stewartspeak_replacement() {
/*
	Dynamic Heading Generator
    By Stewart Rosenberger
    http://www.stewartspeak.com/headings/

	This script searches through a web page for specific or general elements
	and replaces them with dynamically generated images, in conjunction with
	a server-side script.
*/


// replaceSelector(selector, phpfile, wordwrap, fontfile, size, background, foreground, store)
//replaceSelector("h4","/services/heading.php",false,"font.ttf","12","FFFFFF","999999","build200501");


var testURL = "/images/test.png" ;
var doNotPrintImages = false;
var printerCSS = "/replacement-print.css";
var hideFlicker = false;
var hideFlickerCSS = "/replacement-screen.css";
var hideFlickerTimeout = 1000;




/* ---------------------------------------------------------------------------
    For basic usage, you should not need to edit anything below this comment.
    If you need to further customize this script's abilities, make sure
	you're familiar with Javascript. And grab a soda or something.
*/

var items;
var imageLoaded = false;
var documentLoaded = false;

function replaceSelector(selector,url,wordwrap,font,size,foreground,background,store)
{
	if(typeof items == "undefined")
		items = new Array();

	items[items.length] = {selector: selector, url: url, wordwrap: wordwrap, font: font, size: size, foreground: foreground, background: background, store: store};
}

if(hideFlicker)
{		
	document.write('<link id="hide-flicker" rel="stylesheet" media="screen" href="' + hideFlickerCSS + '" />');		
	window.flickerCheck = function()
	{
		if(!imageLoaded)
			setStyleSheetState('hide-flicker',false);
	};
	setTimeout('window.flickerCheck();',hideFlickerTimeout)
}

if(doNotPrintImages)
	document.write('<link id="print-text" rel="stylesheet" media="print" href="' + printerCSS + '" />');

var test = new Image();
test.onload = function() { imageLoaded = true; if(documentLoaded) replacement(); };
test.src = testURL + "?date=" + (new Date()).getTime();

addLoadHandler(function(){ documentLoaded = true; if(imageLoaded) replacement(); });


function documentLoad()
{
	documentLoaded = true;
	if(imageLoaded)
		replacement();
}

function replacement()
{
     if (items) {
	for(var i=0;i<items.length;i++)
	{
		var elements = getElementsBySelector(items[i].selector);
		if(elements.length > 0) for(var j=0;j<elements.length;j++)
		{
			if(!elements[j])
				continue ;
		
			var text = extractText(elements[j]);
    		while(elements[j].hasChildNodes())
				elements[j].removeChild(elements[j].firstChild);

			var tokens = items[i].wordwrap ? text.split(' ') : [text] ;
			for(var k=0;k<tokens.length;k++)
			{
				var url = items[i].url + "?text="+ escape(tokens[k]+' ')+ "&selector="+ escape(items[i].selector)+ "&font="+ escape(items[i].font)+ "&size="+ escape(items[i].size)+ "&foreground="+ escape(items[i].foreground)+"&background="+ escape(items[i].background)+ "&store="+escape(items[i].store);
				var image = document.createElement("img");
				image.className = "replacement";
				image.alt = tokens[k] ;
				image.src = url;
				elements[j].appendChild(image);
			}

			if(doNotPrintImages)
			{
				var span = document.createElement("span");
				span.style.display = 'none';
				span.className = "print-text";
				span.appendChild(document.createTextNode(text));
				elements[j].appendChild(span);
			}
		}
	}

	if(hideFlicker)
		setStyleSheetState('hide-flicker',false);
}
}

function addLoadHandler(handler)
{
	if(window.addEventListener)
	{
		window.addEventListener("load",handler,false);
	}
	else if(window.attachEvent)
	{
		window.attachEvent("onload",handler);
	}
	else if(window.onload)
	{
		var oldHandler = window.onload;
		window.onload = function piggyback()
		{
			oldHandler();
			handler();
		};
	}
	else
	{
		window.onload = handler;
	}
}

function setStyleSheetState(id,enabled) 
{
	var sheet = document.getElementById(id);
	if(sheet)
		sheet.disabled = (!enabled);
}

function extractText(element)
{
	if(typeof element == "string")
		return element;
	else if(typeof element == "undefined")
		return element;
	else if(element.innerText)
		return element.innerText;

	var text = "";
	var kids = element.childNodes;
	for(var i=0;i<kids.length;i++)
	{
		if(kids[i].nodeType == 1)
		text += extractText(kids[i]);
		else if(kids[i].nodeType == 3)
		text += kids[i].nodeValue;
	}

	return text;
}

/*
	Finds elements on page that match a given CSS selector rule. Some
	complicated rules are not compatible.
	Based on Simon Willison's excellent "getElementsBySelector" function.
	Original code (with comments and description):
		http://simon.incutio.com/archive/2003/03/25/getElementsBySelector
*/
function getElementsBySelector(selector)
{
	var tokens = selector.split(' ');
	var currentContext = new Array(document);
	for(var i=0;i<tokens.length;i++)
	{
		token = tokens[i].replace(/^\s+/,'').replace(/\s+$/,'');
		if(token.indexOf('#') > -1)
		{
			var bits = token.split('#');
			var tagName = bits[0];
			var id = bits[1];
			var element = document.getElementById(id);
			if(tagName && element.nodeName.toLowerCase() != tagName)
				return new Array();
			currentContext = new Array(element);
			continue;
		}

		if(token.indexOf('.') > -1)
		{
			var bits = token.split('.');
			var tagName = bits[0];
			var className = bits[1];
			if(!tagName)
				tagName = '*';

			var found = new Array;
			var foundCount = 0;
			for(var h=0;h<currentContext.length;h++)
			{
				var elements;
				if(tagName == '*')
					elements = currentContext[h].all ? currentContext[h].all : currentContext[h].getElementsByTagName('*');
				else
					elements = currentContext[h].getElementsByTagName(tagName);

				for(var j=0;j<elements.length;j++)
					found[foundCount++] = elements[j];
			}

			currentContext = new Array;
			var currentContextIndex = 0;
			for(var k=0;k<found.length;k++)
			{
				if(found[k].className && found[k].className.match(new RegExp('\\b'+className+'\\b')))
					currentContext[currentContextIndex++] = found[k];
			}

			continue;
	    }

		if(token.match(/^(\w*)\[(\w+)([=~\|\^\$\*]?)=?"?([^\]"]*)"?\]$/))
		{
			var tagName = RegExp.$1;
			var attrName = RegExp.$2;
			var attrOperator = RegExp.$3;
			var attrValue = RegExp.$4;
			if(!tagName)
				tagName = '*';

			var found = new Array;
			var foundCount = 0;
			for(var h=0;h<currentContext.length;h++)
			{
				var elements;
	        	if(tagName == '*')
					elements = currentContext[h].all ? currentContext[h].all : currentContext[h].getElementsByTagName('*');
				else
					elements = currentContext[h].getElementsByTagName(tagName);

				for(var j=0;j<elements.length;j++)
					found[foundCount++] = elements[j];
			}

			currentContext = new Array;
			var currentContextIndex = 0;
			var checkFunction;
			switch(attrOperator)
			{
				case '=':
					checkFunction = function(e) { return (e.getAttribute(attrName) == attrValue); };
					break;
				case '~':
					checkFunction = function(e) { return (e.getAttribute(attrName).match(new RegExp('\\b'+attrValue+'\\b'))); };
					break;
				case '|':
					checkFunction = function(e) { return (e.getAttribute(attrName).match(new RegExp('^'+attrValue+'-?'))); };
					break;
				case '^':
					checkFunction = function(e) { return (e.getAttribute(attrName).indexOf(attrValue) == 0); };
					break;
				case '$':
					checkFunction = function(e) { return (e.getAttribute(attrName).lastIndexOf(attrValue) == e.getAttribute(attrName).length - attrValue.length); };
					break;
				case '*':
					checkFunction = function(e) { return (e.getAttribute(attrName).indexOf(attrValue) > -1); };
					break;
				default :
					checkFunction = function(e) { return e.getAttribute(attrName); };
			}

			currentContext = new Array;
			var currentContextIndex = 0;
			for(var k=0;k<found.length;k++)
			{
				if(checkFunction(found[k]))
					currentContext[currentContextIndex++] = found[k];
			}

			continue;
		}

		tagName = token;
		var found = new Array;
		var foundCount = 0;
		for(var h=0;h<currentContext.length;h++)
		{
			var elements = currentContext[h].getElementsByTagName(tagName);
			for(var j=0;j<elements.length; j++)
				found[foundCount++] = elements[j];
		}

		currentContext = found;
	}

	return currentContext;
}


}// end of scope, execute code

/*
if(document.createElement && document.getElementsByTagName && !navigator.userAgent.match(/opera\/?6/i))
	com_stewartspeak_replacement();
*/

function go(form) {
   window.location = form.range.options[form.range.selectedIndex].value;

}
   
function preload_images () {
   var d = document;
	 if (!d.imgs) { d.imgs = new Array(); }
	 var j = d.imgs.length, args = preload_images.arguments, i;
	 for (i = 0; i < args.length; i++) {
		  d.imgs[j] = new Image;
			d.imgs[j].src = args[i];
			j++;
	 }
}


 function bookmark(title)
 {

   var urlAddress = location.href;
   var pageName = title;
   var browser = navigator.appName;

  if (browser == 'Microsoft Internet Explorer')
  {
     window.external.AddFavorite(urlAddress,pageName)
  }
  else if (browser == 'Netscape')
  { 
     alert("Your browser does not support this feature.  Use CTRL-D to bookmark this page");
  }
  else
  { 
   alert("Your browser does not support this feature.");
  }
 }

function MM_findObj(n, d) { //v4.01
  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=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_nbGroup(event, grpName) { //v6.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function validateFields() {

 var formlen = document.ship_form.length;
 for(var i = 0;i < formlen;i++) {
   if(document.ship_form.elements[i].name.substr(0,5)=='store' &&
       document.ship_form.elements[i].value=='') {
       alert('Please enter your National Store #');
       return false;
   } else if (document.ship_form.elements[i].name.substr(0,7)=='s_title' && 
       document.ship_form.elements[i].value=='') {
       alert('Please enter your Title');
       return false;
   }
 }

 if(document.ship_form.s_phone1.value == '') {
  alert('You must enter a business phone number to continue.');
  return false;
 }

 if(!document.ship_form.cust_signature[0].checked && !document.ship_form.cust_signature[1].checked) {
  alert('You must choose if a delivery signature is required to continue.');
  return false;
 }

 if(!document.ship_form.cust_addresstype_db1[0].checked && !document.ship_form.cust_addresstype_db1[1].checked) {
  alert('You must choose if the delivery address is residential or commercial to continue.');
  return false;
 }

if(!document.ship_form.cust_deadline[0].checked && !document.ship_form.cust_deadline[1].checked) {
  alert('You must specify whether or not you have a deadline to continue.');
  return false;
}

if (document.ship_form.cust_deadline[0].checked && document.ship_form.deadline_date1.value == '') {
  alert('Please enter a deadline date, or specify that you do not have one.');
  return false;
}

if (document.getElementById('account').value.substring(0,9) != "Account: ") {
   document.getElementById('account').value='Account: '+document.getElementById('account').value;
}

if (document.getElementById('store').value.substring(0,7) != "Store: ") {
   document.getElementById('store').value='Store: '+document.getElementById('store').value;
}

if ((document.getElementById('deadline_date1').value != '') && (document.getElementById('deadline_date1').value.substring(0,10) != "Deadline: ")) {
  document.getElementById('deadline_date1').value = 'Deadline: ' + document.getElementById('deadline_date1').value;
}

if (document.ship_form.cust_signature[0].checked) {
  var sigOpt = 'Signature Options: ' + 'Keep Signature Required';
  }else{
  var sigOpt = 'Signature Options: ' + 'Waive Signature Required';
}

  document.getElementById('sComments').value += '\n' + document.getElementById('account').value + '\n' + document.getElementById('store').value + '\n' + document.getElementById('deadline_date1').value + '\n' + sigOpt;


 setTimeout('return true',250);
}

/* Dynamic Quantities JavaScript Below */

function priceChange(id,oper,num) {
 // Price Change v1.2:
 // id = the id of the product (so we know what qty box and price to update).
 // oper = what operation to use: dynamic:add:sub:dropdown
 // num = the original price of the product
 //
 // --[ Revisions ]--
 // 20050603 - v1 - Original Script Creation ~Michael@ColorMaria
 // 20050620 - v1.1 - Modified Script to Support Drop-Down Quantity Boxes ~Michael@ColorMaria
 // 20051215 - v1.2 - Added a fix for commas.
 /////////////////////////////////////////////////////////////////////////////////////////////
  if (num == '') {
    num = document.getElementById('hidden_price_' + id).value;
  } 
  if(oper == 'dynamic') {
    // Get the qty value:
    var num2 = 0;
    var qty = document.getElementById('qty_' + id).value;
    // Make sure they didn't go below 1:
    if(qty < 1 || qty == '') {
      document.getElementById('price_' + id).value = '$' + num;
    } else {
      // If they're above one or at 1, do the math for the price:
      num2 = num.replace(',','') * document.getElementById('qty_' + id).value;
      document.getElementById('price_' + id).value = '$' + num2.toFixed(2);
    }
  }
  if(oper == 'add') {
    // Increment the qty box:
    ++document.getElementById('qty_' + id).value;
    // Set qty equal to the new value:
    var qty = document.getElementById('qty_' + id).value;
    if(qty < 1) {
      // Probably not gonna happen, but just in case:
      document.getElementById('qty_' + id).value = '1';
      document.getElementById('price_' + id).value = '$' + num;
    } else {
      // Do the math for the new price:
      num2 = num.replace(',','') * document.getElementById('qty_' + id).value;
      document.getElementById('price_' + id).value = '$' + num2.toFixed(2);
    }
  }
  if(oper == 'sub') {
    // Decrement the value of the qty box:
    --document.getElementById('qty_' + id).value;
    // Set qty = to the new value:
    var qty = document.getElementById('qty_' + id).value;
    if(qty < 1) {
      // Set qty back to 1 if they try to go below 1:
      document.getElementById('qty_' + id).value = '1';
      document.getElementById('price_' + id).value = '$' + num;
    } else {
      // If they're above one or at 1 then do the math for the price:
      num2 = num.replace(',','') * document.getElementById('qty_' + id).value;
    }
  }
  if(oper == 'dropdown') {
    // Set qty = to the new value:
    var qty = document.getElementById('qty_' + id).value;
    if(qty < 1) {
      // Not sure how this will happen, but you never know:
      document.getElementById('qty_' + id).value = '1';
      document.getElementById('price_' + id).value = '$' + num;
    } else {
      // If they're above one or at 1 then do the math for the price:
      num2 = num.replace(',','') * document.getElementById('qty_' + id).value;
    }
  }
  // Some people like to do weird things, like enter letters for a quantity amount, let's not let them:
  if(num2 != '') {
    if(!isNaN(num2)) {
      // if num wasn't NaN then a letter wasn't entered
      document.getElementById('price_' + id).value = '$' + num2.toFixed(2);
    } else {
      // if num was NaN, fix it.
      document.getElementById('price_' + id).value = '$' + num;
      document.getElementById('qty_' + id).value = '';
    }
  }
}

function cartChange(id,num,qty,total) {
 // Cart Change v1.4:
 // id = an id to represent the price and qty (so we know what qty box and price to update).
 // num = the original cost of the item(s) (if there were 3x a 10-dollar item, num would = 30.00).
 // qty = the original quantity that existed in the cart before modification
 // total = the original total of the cart items before modification.
 // 
 // --[ Revisions ]--
 // 20050620 - Original Script Creation ~Michael@ColorMaria
 // 20050629 - Added a line to change the color of the update cart message ~Michael@ColorMaria
 // 20050705 - Added code (accompanied by cookies) to check the quantities of items in the cart
 //          - to see whether they match what the user entered for better checking to see if 
 //          - the update cart button needs to be pressed.
 //          - 
 //          - Please note: This update requires the cookie functions above the priceChange
 //          - function. ~Michael@ColorMaria
 // 20050722 - Added error handling for NaN errors.
 // 20051215 - Fixed a bug with commas
 ///////////////////////////////////////////////////////////////////////////////////////////////
 // Setup our Variables:
  var num2 = 0;
  var qty2 = document.getElementById('qty_' + id).value;
  if(isNaN(qty2)) { // If qty2 isNaN that means someone's made a typo and hit a letter or other non-number key
    document.getElementById('qty_' + id).value = '';
    qty2 = '';
  }
  var num3 = document.getElementById('price_' + id).value.split("$");
  var num3 = num3[1].replace(',','');
  // Check to see if we're dividing by 0:
  if(qty != '0' || !qty) {
    // If not, get the real price (rPrice):
    var rPrice = num.replace(',','') / qty;
  } else {
    // If we are, set the total price for that item to 0:
    document.getElementById('price_' + id).value = '$0.00';
  }
  // Setup our new prices:
  num2 = (rPrice * qty2);
  document.getElementById('price_' + id).value = '$' + num2.toFixed(2);
  // We gotta do this differently depending on if the total we're modifying 
  // is the REAL total or if it's one that was previously modified.
  if(total == document.getElementById('total').value) {
    // If we are modifying the current REAL total, do it this way:
    // Figure out what total would be if the item we're modifying didn't exist.
    total = total - num3;
    // Add the new value to the total:
    total = total + num2;
    document.getElementById('total').value = '$' + total.toFixed(2);
  } else {
    // Setup our fake_total variable so we can essentially do the same 
    // thing we did with the real total
    var fake_total = document.getElementById('total').value.split("$");
    fake_total = fake_total[1].replace(',','');
    // Figure out what the total would be without this product.
    total = fake_total - num3;
    // Readd the new value to the total.
    total = total + num2;
    document.getElementById('total').value = '$' + total.toFixed(2);
  }
  // Just in case they think this will automagically update the real prices for them,
  // setup a fail safe the function below will read and evaluate:
  var nQty = getCookie('quantities');
  arQty = nQty.split('|');
  // Note: the last element of the array will be empty, so ignore it.
  cntQty = arQty.length - 1;
  for(i=0;i<cntQty;i++) {
    arID = arQty[i].split(','); // Hoo Hoo (owl)
    if(document.getElementById('qty_'+arID[0]).value == arID[1]) {
      // It equals the default quantity, yay! No need to update cart.
      document.getElementById('hasUpdated').value = '1';
      // Change the color of the update cart message.
      document.getElementById('update_msg').style.color = '#000';
      continue;
    } else {
      // It doesn't, they need to update.  No need to check further since if one hasn't been updated
      // the whole cart needs to be updated.
      document.getElementById('hasUpdated').value = '0';
      // Change the color of the update cart message so it stands out after a change to the qty is made.
      document.getElementById('update_msg').style.color = '#F00';
      // Break the loop.
      break;
    }
  }
}

function hasUpdated() {
 // Small function to verify that the cart has been updated
 // before checking out or using the continue shopping button.
 //
 // 20060403 - Added fix for when 'hasUpdated' doesn't exist. ~Michael
 ///////////////////////////////////////////////////////////////
  if(typeof document.getElementById('hasUpdated') != 'undefined') {
    var hUpdated = document.getElementById('hasUpdated').value;
    if(hUpdated != '1') {
      alert('You have not updated your cart since last changing your quantities.\nPlease press the \'Update Cart\' button before continuing.');
      return false;
    }
  }
}

/* ** END Dynamic Quantities JS ** */

/* Clear out information for the billing input screen */
function clearBillingInfo() {
   document.ship_form.first_name.value = '';
   document.ship_form.last_name.value = '';
   document.ship_form.title.value = '';
   document.ship_form.company.value = '';
   document.ship_form.billing_address1.value = '';
   document.ship_form.billing_address2.value = '';
   document.ship_form.billing_city.value = '';
   document.ship_form.billing_state.selectedIndex = "AL";
   document.ship_form.billing_zip.value = '';
   document.ship_form.phone.value = '';
   document.ship_form.cust_homephonenum_db2.value = '';
   document.ship_form.cust_mobilephonenum_db3.value = '';
   document.ship_form.fax.value = '';
   document.ship_form.gift_message.selectedIndex = "McOpCo";
}

/* Mouseover JS */
//\//////////////////////////////////////////////////////////////////////////////////

//\  overLIB 3.50  --  This notice must remain untouched at all times.

//\  Copyright Erik Bosrup 1998-2001. All rights reserved.

//\

//\  By Erik Bosrup (erik@bosrup.com).  Last modified 2001-08-28.

//\  Portions by Dan Steinman (dansteinman.com). Additions by other people are

//\  listed on the overLIB homepage.

//\

//\  Get the latest version at http://www.bosrup.com/web/overlib/

//\

//\  This script is published under an open source license. Please read the license

//\  agreement online at: http://www.bosrup.com/web/overlib/license.html

//\  If you have questions regarding the license please contact erik@bosrup.com.

//\

//\  This script library was originally created for personal use. By request it has

//\  later been made public. This is free software. Do not sell this as your own

//\  work, or remove this copyright notice. For full details on copying or changing

//\  this script please read the license agreement at the link above.

//\

//\  Please give credit on sites that use overLIB and submit changes of the script

//\  so other people can use them as well. This script is free to use, don't abuse.

//\//////////////////////////////////////////////////////////////////////////////////

//\mini





////////////////////////////////////////////////////////////////////////////////////

// CONSTANTS

// Don't touch these. :)

////////////////////////////////////////////////////////////////////////////////////

var INARRAY		=	1;

var CAPARRAY		=	2;

var STICKY		=	3;

var BACKGROUND		=	4;

var NOCLOSE		=	5;

var CAPTION		=	6;

var LEFT		=	7;

var RIGHT		=	8;

var CENTER		=	9;

var OFFSETX		=	10;

var OFFSETY		=	11;

var FGCOLOR		=	12;

var BGCOLOR		=	13;

var TEXTCOLOR		=	14;

var CAPCOLOR		=	15;

var CLOSECOLOR		=	16;

var WIDTH		=	17;

var BORDER		=	18;

var STATUS		=	19;

var AUTOSTATUS		=	20;

var AUTOSTATUSCAP	=	21;

var HEIGHT		=	22;

var CLOSETEXT		=	23;

var SNAPX		=	24;

var SNAPY		=	25;

var FIXX		=	26;

var FIXY		=	27;

var FGBACKGROUND	=	28;

var BGBACKGROUND	=	29;

var PADX		=	30; // PADX2 out

var PADY		=	31; // PADY2 out

var FULLHTML		=	34;

var ABOVE		=	35;

var BELOW		=	36;

var CAPICON		=	37;

var TEXTFONT		=	38;

var CAPTIONFONT		=	39;

var CLOSEFONT		=	40;

var TEXTSIZE		=	41;

var CAPTIONSIZE		=	42;

var CLOSESIZE		=	43;

var FRAME		=	44;

var TIMEOUT		=	45;

var FUNCTION		=	46;

var DELAY		=	47;

var HAUTO		=	48;

var VAUTO		=	49;

var CLOSECLICK		=	50;

var CSSOFF		=	51;

var CSSSTYLE		=	52;

var CSSCLASS		=	53;

var FGCLASS		=	54;

var BGCLASS		=	55;

var TEXTFONTCLASS	=	56;

var CAPTIONFONTCLASS	=	57;

var CLOSEFONTCLASS	=	58;

var PADUNIT		=	59;

var HEIGHTUNIT		=	60;

var WIDTHUNIT		=	61;

var TEXTSIZEUNIT	=	62;

var TEXTDECORATION	=	63;

var TEXTSTYLE		=	64;

var TEXTWEIGHT		=	65;

var CAPTIONSIZEUNIT	=	66;

var CAPTIONDECORATION	=	67;

var CAPTIONSTYLE	=	68;

var CAPTIONWEIGHT	=	69;

var CLOSESIZEUNIT	=	70;

var CLOSEDECORATION	=	71;

var CLOSESTYLE		=	72;

var CLOSEWEIGHT		=	73;





////////////////////////////////////////////////////////////////////////////////////

// DEFAULT CONFIGURATION

// You don't have to change anything here if you don't want to. All of this can be

// changed on your html page or through an overLIB call.

////////////////////////////////////////////////////////////////////////////////////



// Main background color (the large area)

// Usually a bright color (white, yellow etc)

if (typeof ol_fgcolor == 'undefined') { var ol_fgcolor = "#CCCCFF";}

	

// Border color and color of caption

// Usually a dark color (black, brown etc)

if (typeof ol_bgcolor == 'undefined') { var ol_bgcolor = "#333399";}

	

// Text color

// Usually a dark color

if (typeof ol_textcolor == 'undefined') { var ol_textcolor = "#000000";}

	

// Color of the caption text

// Usually a bright color

if (typeof ol_capcolor == 'undefined') { var ol_capcolor = "#FFFFFF";}

	

// Color of "Close" when using Sticky

// Usually a semi-bright color

if (typeof ol_closecolor == 'undefined') { var ol_closecolor = "#9999FF";}



// Font face for the main text

if (typeof ol_textfont == 'undefined') { var ol_textfont = "Verdana,Arial,Helvetica";}



// Font face for the caption

if (typeof ol_captionfont == 'undefined') { var ol_captionfont = "Verdana,Arial,Helvetica";}



// Font face for the close text

if (typeof ol_closefont == 'undefined') { var ol_closefont = "Verdana,Arial,Helvetica";}



// Font size for the main text

// When using CSS this will be very small.

if (typeof ol_textsize == 'undefined') { var ol_textsize = "1";}



// Font size for the caption

// When using CSS this will be very small.

if (typeof ol_captionsize == 'undefined') { var ol_captionsize = "1";}



// Font size for the close text

// When using CSS this will be very small.

if (typeof ol_closesize == 'undefined') { var ol_closesize = "1";}



// Width of the popups in pixels

// 100-300 pixels is typical

if (typeof ol_width == 'undefined') { var ol_width = "200";}



// How thick the ol_border should be in pixels

// 1-3 pixels is typical

if (typeof ol_border == 'undefined') { var ol_border = "1";}



// How many pixels to the right/left of the cursor to show the popup

// Values between 3 and 12 are best

if (typeof ol_offsetx == 'undefined') { var ol_offsetx = 10;}

	

// How many pixels to the below the cursor to show the popup

// Values between 3 and 12 are best

if (typeof ol_offsety == 'undefined') { var ol_offsety = 10;}



// Default text for popups

// Should you forget to pass something to overLIB this will be displayed.

if (typeof ol_text == 'undefined') { var ol_text = "Default Text"; }



// Default caption

// You should leave this blank or you will have problems making non caps popups.

if (typeof ol_cap == 'undefined') { var ol_cap = ""; }



// Decides if sticky popups are default.

// 0 for non, 1 for stickies.

if (typeof ol_sticky == 'undefined') { var ol_sticky = 0; }



// Default background image. Better left empty unless you always want one.

if (typeof ol_background == 'undefined') { var ol_background = ""; }



// Text for the closing sticky popups.

// Normal is "Close".

if (typeof ol_close == 'undefined') { var ol_close = "Close"; }



// Default vertical alignment for popups.

// It's best to leave RIGHT here. Other options are LEFT and CENTER.

if (typeof ol_hpos == 'undefined') { var ol_hpos = RIGHT; }



// Default status bar text when a popup is invoked.

if (typeof ol_status == 'undefined') { var ol_status = ""; }



// If the status bar automatically should load either text or caption.

// 0=nothing, 1=text, 2=caption

if (typeof ol_autostatus == 'undefined') { var ol_autostatus = 0; }



// Default height for popup. Often best left alone.

if (typeof ol_height == 'undefined') { var ol_height = -1; }



// Horizontal grid spacing that popups will snap to.

// 0 makes no grid, anything else will cause a snap to that grid spacing.

if (typeof ol_snapx == 'undefined') { var ol_snapx = 0; }



// Vertical grid spacing that popups will snap to.

// 0 makes no grid, andthing else will cause a snap to that grid spacing.

if (typeof ol_snapy == 'undefined') { var ol_snapy = 0; }



// Sets the popups horizontal position to a fixed column.

// Anything above -1 will cause fixed position.

if (typeof ol_fixx == 'undefined') { var ol_fixx = -1; }



// Sets the popups vertical position to a fixed row.

// Anything above -1 will cause fixed position.

if (typeof ol_fixy == 'undefined') { var ol_fixy = -1; }



// Background image for the popups inside.

if (typeof ol_fgbackground == 'undefined') { var ol_fgbackground = ""; }



// Background image for the popups frame.

if (typeof ol_bgbackground == 'undefined') { var ol_bgbackground = ""; }



// How much horizontal left padding text should get by default when BACKGROUND is used.

if (typeof ol_padxl == 'undefined') { var ol_padxl = 1; }



// How much horizontal right padding text should get by default when BACKGROUND is used.

if (typeof ol_padxr == 'undefined') { var ol_padxr = 1; }



// How much vertical top padding text should get by default when BACKGROUND is used.

if (typeof ol_padyt == 'undefined') { var ol_padyt = 1; }



// How much vertical bottom padding text should get by default when BACKGROUND is used.

if (typeof ol_padyb == 'undefined') { var ol_padyb = 1; }



// If the user by default must supply all html for complete popup control.

// Set to 1 to activate, 0 otherwise.

if (typeof ol_fullhtml == 'undefined') { var ol_fullhtml = 0; }



// Default vertical position of the popup. Default should normally be BELOW.

// ABOVE only works when HEIGHT is defined.

if (typeof ol_vpos == 'undefined') { var ol_vpos = BELOW; }



// Default height of popup to use when placing the popup above the cursor.

if (typeof ol_aboveheight == 'undefined') { var ol_aboveheight = 0; }



// Default icon to place next to the popups caption.

if (typeof ol_caption == 'undefined') { var ol_capicon = ""; }



// Default frame. We default to current frame if there is no frame defined.

if (typeof ol_frame == 'undefined') { var ol_frame = self; }



// Default timeout. By default there is no timeout.

if (typeof ol_timeout == 'undefined') { var ol_timeout = 0; }



// Default javascript funktion. By default there is none.

if (typeof ol_function == 'undefined') { var ol_function = Function(); }



// Default timeout. By default there is no timeout.

if (typeof ol_delay == 'undefined') { var ol_delay = 0; }



// If overLIB should decide the horizontal placement.

if (typeof ol_hauto == 'undefined') { var ol_hauto = 0; }



// If overLIB should decide the vertical placement.

if (typeof ol_vauto == 'undefined') { var ol_vauto = 0; }







// If the user has to click to close stickies.

if (typeof ol_closeclick == 'undefined') { var ol_closeclick = 0; }



// This variable determines if you want to use CSS or inline definitions.

// CSSOFF=no CSS    CSSSTYLE=use CSS inline styles    CSSCLASS=use classes

if (typeof ol_css == 'undefined') { var ol_css = CSSOFF; }



// Main background class (eqv of fgcolor)

// This is only used if CSS is set to use classes (ol_css = CSSCLASS)

if (typeof ol_fgclass == 'undefined') { var ol_fgclass = ""; }



// Frame background class (eqv of bgcolor)

// This is only used if CSS is set to use classes (ol_css = CSSCLASS)

if (typeof ol_bgclass == 'undefined') { var ol_bgclass = ""; }



// Main font class

// This is only used if CSS is set to use classes (ol_css = CSSCLASS)

if (typeof ol_textfontclass == 'undefined') { var ol_textfontclass = ""; }



// Caption font class

// This is only used if CSS is set to use classes (ol_css = CSSCLASS)

if (typeof ol_captionfontclass == 'undefined') { var ol_captionfontclass = ""; }



// Close font class

// This is only used if CSS is set to use classes (ol_css = CSSCLASS)

if (typeof ol_closefontclass == 'undefined') { var ol_closefontclass = ""; }



// Unit to be used for the text padding above

// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)

// Options include "px", "%", "in", "cm" and more

if (typeof ol_padunit == 'undefined') { var ol_padunit = "px";}



// Unit to be used for height of popup

// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)

// Options include "px", "%", "in", "cm" and more

if (typeof ol_heightunit == 'undefined') { var ol_heightunit = "px";}



// Unit to be used for width of popup

// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)

// Options include "px", "%", "in", "cm" and more

if (typeof ol_widthunit == 'undefined') { var ol_widthunit = "px";}



// Font size unit for the main text

// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)

if (typeof ol_textsizeunit == 'undefined') { var ol_textsizeunit = "px";}



// Decoration of the main text ("none", "underline", "line-through" or "blink")

// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)

if (typeof ol_textdecoration == 'undefined') { var ol_textdecoration = "none";}



// Font style of the main text ("normal" or "italic")

// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)

if (typeof ol_textstyle == 'undefined') { var ol_textstyle = "normal";}



// Font weight of the main text ("normal", "bold", "bolder", "lighter", ect.)

// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)

if (typeof ol_textweight == 'undefined') { var ol_textweight = "normal";}



// Font size unit for the caption

// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)

if (typeof ol_captionsizeunit == 'undefined') { var ol_captionsizeunit = "px";}



// Decoration of the caption ("none", "underline", "line-through" or "blink")

// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)

if (typeof ol_captiondecoration == 'undefined') { var ol_captiondecoration = "none";}



// Font style of the caption ("normal" or "italic")

// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)

if (typeof ol_captionstyle == 'undefined') { var ol_captionstyle = "normal";}



// Font weight of the caption ("normal", "bold", "bolder", "lighter", ect.)

// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)

if (typeof ol_captionweight == 'undefined') { var ol_captionweight = "bold";}



// Font size unit for the close text

// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)

if (typeof ol_closesizeunit == 'undefined') { var ol_closesizeunit = "px";}



// Decoration of the close text ("none", "underline", "line-through" or "blink")

// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)

if (typeof ol_closedecoration == 'undefined') { var ol_closedecoration = "none";}



// Font style of the close text ("normal" or "italic")

// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)

if (typeof ol_closestyle == 'undefined') { var ol_closestyle = "normal";}



// Font weight of the close text ("normal", "bold", "bolder", "lighter", ect.)

// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)

if (typeof ol_closeweight == 'undefined') { var ol_closeweight = "normal";}







////////////////////////////////////////////////////////////////////////////////////

// ARRAY CONFIGURATION

// You don't have to change anything here if you don't want to. The following

// arrays can be filled with text and html if you don't wish to pass it from

// your html page.

////////////////////////////////////////////////////////////////////////////////////



// Array with texts.

if (typeof ol_texts == 'undefined') { var ol_texts = new Array("Text 0", "Text 1"); }








// Array with captions.

if (typeof ol_caps == 'undefined') { var ol_caps = new Array("Caption 0", "Caption 1"); }





////////////////////////////////////////////////////////////////////////////////////

// END CONFIGURATION

// Don't change anything below this line, all configuration is above.

////////////////////////////////////////////////////////////////////////////////////















////////////////////////////////////////////////////////////////////////////////////

// INIT

////////////////////////////////////////////////////////////////////////////////////



// Runtime variables init. Used for runtime only, don't change, not for config!

var o3_text = "";

var o3_cap = "";

var o3_sticky = 0;

var o3_background = "";

var o3_close = "Close";

var o3_hpos = RIGHT;

var o3_offsetx = 2;

var o3_offsety = 2;

var o3_fgcolor = "";

var o3_bgcolor = "";

var o3_textcolor = "";

var o3_capcolor = "";

var o3_closecolor = "";

var o3_width = 100;

var o3_border = 1;

var o3_status = "";

var o3_autostatus = 0;

var o3_height = -1;

var o3_snapx = 0;

var o3_snapy = 0;

var o3_fixx = -1;

var o3_fixy = -1;

var o3_fgbackground = "";

var o3_bgbackground = "";

var o3_padxl = 0;

var o3_padxr = 0;

var o3_padyt = 0;

var o3_padyb = 0;

var o3_fullhtml = 0;

var o3_vpos = BELOW;

var o3_aboveheight = 0;

var o3_capicon = "";

var o3_textfont = "Verdana,Arial,Helvetica";

var o3_captionfont = "Verdana,Arial,Helvetica";

var o3_closefont = "Verdana,Arial,Helvetica";

var o3_textsize = "1";

var o3_captionsize = "1";

var o3_closesize = "1";

var o3_frame = self;

var o3_timeout = 0;

var o3_timerid = 0;

var o3_allowmove = 0;

var o3_function = Function();

var o3_delay = 0;

var o3_delayid = 0;

var o3_hauto = 0;

var o3_vauto = 0;

var o3_closeclick = 0;



var o3_css = CSSOFF;

var o3_fgclass = "";

var o3_bgclass = "";

var o3_textfontclass = "";

var o3_captionfontclass = "";

var o3_closefontclass = "";

var o3_padunit = "px";

var o3_heightunit = "px";

var o3_widthunit = "px";

var o3_textsizeunit = "px";

var o3_textdecoration = "";

var o3_textstyle = "";

var o3_textweight = "";

var o3_captionsizeunit = "px";

var o3_captiondecoration = "";

var o3_captionstyle = "";

var o3_captionweight = "";

var o3_closesizeunit = "px";

var o3_closedecoration = "";

var o3_closestyle = "";

var o3_closeweight = "";







// Display state variables

var o3_x = 0;

var o3_y = 0;

var o3_allow = 0;

var o3_showingsticky = 0;

var o3_removecounter = 0;



// Our layer

var over = null;





// Decide browser version

var ns4 = (document.layers)? true:false;

var ns6 = (document.getElementById)? true:false;

var ie4 = (document.all)? true:false;

var ie5 = false;



// Microsoft Stupidity Check(tm).

if (ie4) {

	if ((navigator.userAgent.indexOf('MSIE 5') > 0) || (navigator.userAgent.indexOf('MSIE 6') > 0)) {

		ie5 = true;

	}

	if (ns6) {

		ns6 = false;

	}

}





// Capture events, alt. diffuses the overlib function.

if ( (ns4) || (ie4) || (ns6)) {

	document.onmousemove = mouseMove

	if (ns4) document.captureEvents(Event.MOUSEMOVE)

} else {

	overlib = no_overlib;

	nd = no_overlib;

	ver3fix = true;

}





// Fake function for 3.0 users.

function no_overlib() {

	return ver3fix;

}







////////////////////////////////////////////////////////////////////////////////////

// PUBLIC FUNCTIONS

////////////////////////////////////////////////////////////////////////////////////





// overlib(arg0, ..., argN)

// Loads parameters into global runtime variables.

function overlib() {

	

	// Load defaults to runtime.

	o3_text = ol_text;

	o3_cap = ol_cap;

	o3_sticky = ol_sticky;

	o3_background = ol_background;

	o3_close = ol_close;

	o3_hpos = ol_hpos;

	o3_offsetx = ol_offsetx;

	o3_offsety = ol_offsety;

	o3_fgcolor = ol_fgcolor;

	o3_bgcolor = ol_bgcolor;

	o3_textcolor = ol_textcolor;

	o3_capcolor = ol_capcolor;

	o3_closecolor = ol_closecolor;

	o3_width = ol_width;

	o3_border = ol_border;

	o3_status = ol_status;

	o3_autostatus = ol_autostatus;

	o3_height = ol_height;

	o3_snapx = ol_snapx;


	o3_snapy = ol_snapy;

	o3_fixx = ol_fixx;

	o3_fixy = ol_fixy;

	o3_fgbackground = ol_fgbackground;

	o3_bgbackground = ol_bgbackground;

	o3_padxl = ol_padxl;

	o3_padxr = ol_padxr;

	o3_padyt = ol_padyt;

	o3_padyb = ol_padyb;

	o3_fullhtml = ol_fullhtml;

	o3_vpos = ol_vpos;

	o3_aboveheight = ol_aboveheight;

	o3_capicon = ol_capicon;

	o3_textfont = ol_textfont;

	o3_captionfont = ol_captionfont;

	o3_closefont = ol_closefont;

	o3_textsize = ol_textsize;

	o3_captionsize = ol_captionsize;

	o3_closesize = ol_closesize;

	o3_timeout = ol_timeout;

	o3_function = ol_function;

	o3_delay = ol_delay;

	o3_hauto = ol_hauto;

	o3_vauto = ol_vauto;

	o3_closeclick = ol_closeclick;

	

	o3_css = ol_css;

	o3_fgclass = ol_fgclass;

	o3_bgclass = ol_bgclass;

	o3_textfontclass = ol_textfontclass;

	o3_captionfontclass = ol_captionfontclass;

	o3_closefontclass = ol_closefontclass;

	o3_padunit = ol_padunit;

	o3_heightunit = ol_heightunit;

	o3_widthunit = ol_widthunit;

	o3_textsizeunit = ol_textsizeunit;

	o3_textdecoration = ol_textdecoration;

	o3_textstyle = ol_textstyle;

	o3_textweight = ol_textweight;

	o3_captionsizeunit = ol_captionsizeunit;

	o3_captiondecoration = ol_captiondecoration;

	o3_captionstyle = ol_captionstyle;

	o3_captionweight = ol_captionweight;

	o3_closesizeunit = ol_closesizeunit;

	o3_closedecoration = ol_closedecoration;

	o3_closestyle = ol_closestyle;

	o3_closeweight = ol_closeweight;

	



	// Special for frame support, over must be reset...

	if ( (ns4) || (ie4) || (ns6) ) {

		o3_frame = ol_frame;

		if (ns4) over = o3_frame.document.overDiv

		if (ie4) over = o3_frame.overDiv.style

		if (ns6) over = o3_frame.document.getElementById("overDiv");

	}

	

	

	// What the next argument is expected to be.

	var parsemode = -1;

	

	var ar = arguments;



	for (i = 0; i < ar.length; i++) {



		if (parsemode < 0) {

			// Arg is maintext, unless INARRAY

			if (ar[i] == INARRAY) {

				o3_text = ol_texts[ar[++i]];

			} else {

				o3_text = ar[i];

			}



			parsemode = 0;

		} else {

			// Note: NS4 doesn't like switch cases with vars.

			if (ar[i] == INARRAY) { o3_text = ol_texts[ar[++i]]; continue; }

			if (ar[i] == CAPARRAY) { o3_cap = ol_caps[ar[++i]]; continue; }

			if (ar[i] == STICKY) { o3_sticky = 1; continue; }

			if (ar[i] == BACKGROUND) { o3_background = ar[++i]; continue; }

			if (ar[i] == NOCLOSE) { o3_close = ""; continue; }

			if (ar[i] == CAPTION) { o3_cap = ar[++i]; continue; }

			if (ar[i] == CENTER || ar[i] == LEFT || ar[i] == RIGHT) { o3_hpos = ar[i]; continue; }

			if (ar[i] == OFFSETX) { o3_offsetx = ar[++i]; continue; }

			if (ar[i] == OFFSETY) { o3_offsety = ar[++i]; continue; }

			if (ar[i] == FGCOLOR) { o3_fgcolor = ar[++i]; continue; }

			if (ar[i] == BGCOLOR) { o3_bgcolor = ar[++i]; continue; }

			if (ar[i] == TEXTCOLOR) { o3_textcolor = ar[++i]; continue; }

			if (ar[i] == CAPCOLOR) { o3_capcolor = ar[++i]; continue; }

			if (ar[i] == CLOSECOLOR) { o3_closecolor = ar[++i]; continue; }

			if (ar[i] == WIDTH) { o3_width = ar[++i]; continue; }

			if (ar[i] == BORDER) { o3_border = ar[++i]; continue; }

			if (ar[i] == STATUS) { o3_status = ar[++i]; continue; }

			if (ar[i] == AUTOSTATUS) { o3_autostatus = 1; continue; }

			if (ar[i] == AUTOSTATUSCAP) { o3_autostatus = 2; continue; }

			if (ar[i] == HEIGHT) { o3_height = ar[++i]; o3_aboveheight = ar[i]; continue; } // Same param again.

			if (ar[i] == CLOSETEXT) { o3_close = ar[++i]; continue; }

			if (ar[i] == SNAPX) { o3_snapx = ar[++i]; continue; }

			if (ar[i] == SNAPY) { o3_snapy = ar[++i]; continue; }

			if (ar[i] == FIXX) { o3_fixx = ar[++i]; continue; }

			if (ar[i] == FIXY) { o3_fixy = ar[++i]; continue; }

			if (ar[i] == FGBACKGROUND) { o3_fgbackground = ar[++i]; continue; }

			if (ar[i] == BGBACKGROUND) { o3_bgbackground = ar[++i]; continue; }

			if (ar[i] == PADX) { o3_padxl = ar[++i]; o3_padxr = ar[++i]; continue; }

			if (ar[i] == PADY) { o3_padyt = ar[++i]; o3_padyb = ar[++i]; continue; }

			if (ar[i] == FULLHTML) { o3_fullhtml = 1; continue; }

			if (ar[i] == BELOW || ar[i] == ABOVE) { o3_vpos = ar[i]; continue; }

			if (ar[i] == CAPICON) { o3_capicon = ar[++i]; continue; }

			if (ar[i] == TEXTFONT) { o3_textfont = ar[++i]; continue; }

			if (ar[i] == CAPTIONFONT) { o3_captionfont = ar[++i]; continue; }

			if (ar[i] == CLOSEFONT) { o3_closefont = ar[++i]; continue; }

			if (ar[i] == TEXTSIZE) { o3_textsize = ar[++i]; continue; }

			if (ar[i] == CAPTIONSIZE) { o3_captionsize = ar[++i]; continue; }

			if (ar[i] == CLOSESIZE) { o3_closesize = ar[++i]; continue; }

			if (ar[i] == FRAME) { opt_FRAME(ar[++i]); continue; }

			if (ar[i] == TIMEOUT) { o3_timeout = ar[++i]; continue; }

			if (ar[i] == FUNCTION) { opt_FUNCTION(ar[++i]); continue; }

			if (ar[i] == DELAY) { o3_delay = ar[++i]; continue; }

			if (ar[i] == HAUTO) { o3_hauto = (o3_hauto == 0) ? 1 : 0; continue; }

			if (ar[i] == VAUTO) { o3_vauto = (o3_vauto == 0) ? 1 : 0; continue; }

			if (ar[i] == CLOSECLICK) { o3_closeclick = (o3_closeclick == 0) ? 1 : 0; continue; }

			if (ar[i] == CSSOFF) { o3_css = ar[i]; continue; }

			if (ar[i] == CSSSTYLE) { o3_css = ar[i]; continue; }

			if (ar[i] == CSSCLASS) { o3_css = ar[i]; continue; }

			if (ar[i] == FGCLASS) { o3_fgclass = ar[++i]; continue; }

			if (ar[i] == BGCLASS) { o3_bgclass = ar[++i]; continue; }

			if (ar[i] == TEXTFONTCLASS) { o3_textfontclass = ar[++i]; continue; }

			if (ar[i] == CAPTIONFONTCLASS) { o3_captionfontclass = ar[++i]; continue; }

			if (ar[i] == CLOSEFONTCLASS) { o3_closefontclass = ar[++i]; continue; }

			if (ar[i] == PADUNIT) { o3_padunit = ar[++i]; continue; }

			if (ar[i] == HEIGHTUNIT) { o3_heightunit = ar[++i]; continue; }

			if (ar[i] == WIDTHUNIT) { o3_widthunit = ar[++i]; continue; }

			if (ar[i] == TEXTSIZEUNIT) { o3_textsizeunit = ar[++i]; continue; }

			if (ar[i] == TEXTDECORATION) { o3_textdecoration = ar[++i]; continue; }

			if (ar[i] == TEXTSTYLE) { o3_textstyle = ar[++i]; continue; }

			if (ar[i] == TEXTWEIGHT) { o3_textweight = ar[++i]; continue; }

			if (ar[i] == CAPTIONSIZEUNIT) { o3_captionsizeunit = ar[++i]; continue; }

			if (ar[i] == CAPTIONDECORATION) { o3_captiondecoration = ar[++i]; continue; }

			if (ar[i] == CAPTIONSTYLE) { o3_captionstyle = ar[++i]; continue; }

			if (ar[i] == CAPTIONWEIGHT) { o3_captionweight = ar[++i]; continue; }

			if (ar[i] == CLOSESIZEUNIT) { o3_closesizeunit = ar[++i]; continue; }

			if (ar[i] == CLOSEDECORATION) { o3_closedecoration = ar[++i]; continue; }

			if (ar[i] == CLOSESTYLE) { o3_closestyle = ar[++i]; continue; }

			if (ar[i] == CLOSEWEIGHT) { o3_closeweight = ar[++i]; continue; }

		}

	}



	if (o3_delay == 0) {

		return overlib350();

	} else {

		o3_delayid = setTimeout("overlib350()", o3_delay);



		if (o3_sticky) {

			return false;

		} else {

			return true;

		}

	}

}







// Clears popups if appropriate

function nd() {

	if ( o3_removecounter >= 1 ) { o3_showingsticky = 0 };

	if ( (ns4) || (ie4) || (ns6) ) {

		if ( o3_showingsticky == 0 ) {

			o3_allowmove = 0;

			if (over != null) hideObject(over);

		} else {

			o3_removecounter++;

		}

	}

	

	return true;

}















////////////////////////////////////////////////////////////////////////////////////

// OVERLIB 3.50 FUNCTION

////////////////////////////////////////////////////////////////////////////////////





// This function decides what it is we want to display and how we want it done.

function overlib350() {



	// Make layer content

	var layerhtml;



	if (o3_background != "" || o3_fullhtml) {

		// Use background instead of box.

		layerhtml = ol_content_background(o3_text, o3_background, o3_fullhtml);

	} else {

		// They want a popup box.



		// Prepare popup background

		if (o3_fgbackground != "" && o3_css == CSSOFF) {

			o3_fgbackground = "BACKGROUND=\""+o3_fgbackground+"\"";

		}

		if (o3_bgbackground != "" && o3_css == CSSOFF) {

			o3_bgbackground = "BACKGROUND=\""+o3_bgbackground+"\"";

		}



		// Prepare popup colors

		if (o3_fgcolor != "" && o3_css == CSSOFF) {

			o3_fgcolor = "BGCOLOR=\""+o3_fgcolor+"\"";

		}

		if (o3_bgcolor != "" && o3_css == CSSOFF) {

			o3_bgcolor = "BGCOLOR=\""+o3_bgcolor+"\"";

		}



		// Prepare popup height

		if (o3_height > 0 && o3_css == CSSOFF) {

			o3_height = "HEIGHT=" + o3_height;

		} else {

			o3_height = "";

		}



		// Decide which kinda box.

		if (o3_cap == "") {

			// Plain

			layerhtml = ol_content_simple(o3_text);

		} else {

			// With caption

			if (o3_sticky) {

				// Show close text

				layerhtml = ol_content_caption(o3_text, o3_cap, o3_close);

			} else {

				// No close text

				layerhtml = ol_content_caption(o3_text, o3_cap, "");

			}

		}

	}

	

	// We want it to stick!

	if (o3_sticky) {

		o3_showingsticky = 1;

		o3_removecounter = 0;

	}

	

	// Write layer

	layerWrite(layerhtml);

	

	// Prepare status bar

	if (o3_autostatus > 0) {

		o3_status = o3_text;

		if (o3_autostatus > 1) {

			o3_status = o3_cap;

		}

	}



	// When placing the layer the first time, even stickies may be moved.

	o3_allowmove = 0;



	// Initiate a timer for timeout

	if (o3_timeout > 0) {          

		if (o3_timerid > 0) clearTimeout(o3_timerid);

		o3_timerid = setTimeout("cClick()", o3_timeout);

	}



	// Show layer

	disp(o3_status);



	// Stickies should stay where they are.	

	if (o3_sticky) {

		o3_allowmove = 0;

		return false;

	} else {

		return true;

	}

}







////////////////////////////////////////////////////////////////////////////////////

// LAYER GENERATION FUNCTIONS

////////////////////////////////////////////////////////////////////////////////////



// Makes simple table without caption

function ol_content_simple(text) {

	if (o3_css == CSSCLASS) txt = "<TABLE WIDTH="+o3_width+" BORDER=0 CELLPADDING="+o3_border+" CELLSPACING=0 class=\""+o3_bgclass+"\"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 class=\""+o3_fgclass+"\"><TR><TD VALIGN=TOP><FONT class=\""+o3_textfontclass+"\">"+text+"</FONT></TD></TR></TABLE></TD></TR></TABLE>";

	if (o3_css == CSSSTYLE) txt = "<TABLE WIDTH="+o3_width+" BORDER=0 CELLPADDING="+o3_border+" CELLSPACING=0 style=\"background-color: "+o3_bgcolor+"; height: "+o3_height+o3_heightunit+";\"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 style=\"color: "+o3_fgcolor+"; background-color: "+o3_fgcolor+"; height: "+o3_height+o3_heightunit+";\"><TR><TD VALIGN=TOP><FONT style=\"font-family: "+o3_textfont+"; color: "+o3_textcolor+"; font-size: "+o3_textsize+o3_textsizeunit+"; text-decoration: "+o3_textdecoration+"; font-weight: "+o3_textweight+"; font-style:"+o3_textstyle+"\">"+text+"</FONT></TD></TR></TABLE></TD></TR></TABLE>";

	if (o3_css == CSSOFF) txt = "<TABLE WIDTH="+o3_width+" BORDER=0 CELLPADDING="+o3_border+" CELLSPACING=0 "+o3_bgcolor+" "+o3_height+"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 "+o3_fgcolor+" "+o3_fgbackground+" "+o3_height+"><TR><TD VALIGN=TOP><FONT FACE=\""+o3_textfont+"\" COLOR=\""+o3_textcolor+"\" SIZE=\""+o3_textsize+"\">"+text+"</FONT></TD></TR></TABLE></TD></TR></TABLE>";



	set_background("");

	return txt;

}









// Makes table with caption and optional close link

function ol_content_caption(text, title, close) {

	closing = "";

	closeevent = "onMouseOver";



	if (o3_closeclick == 1) closeevent = "onClick";

	if (o3_capicon != "") o3_capicon = "<IMG SRC=\""+o3_capicon+"\"> ";



	if (close != "") {

		if (o3_css == CSSCLASS) closing = "<TD ALIGN=RIGHT><A HREF=\"/\" "+closeevent+"=\"return cClick();\" class=\""+o3_closefontclass+"\">"+close+"</A></TD>";

		if (o3_css == CSSSTYLE) closing = "<TD ALIGN=RIGHT><A HREF=\"/\" "+closeevent+"=\"return cClick();\" style=\"color: "+o3_closecolor+"; font-family: "+o3_closefont+"; font-size: "+o3_closesize+o3_closesizeunit+"; text-decoration: "+o3_closedecoration+"; font-weight: "+o3_closeweight+"; font-style:"+o3_closestyle+";\">"+close+"</A></TD>";

		if (o3_css == CSSOFF) closing = "<TD ALIGN=RIGHT><A HREF=\"/\" "+closeevent+"=\"return cClick();\"><FONT COLOR=\""+o3_closecolor+"\" FACE=\""+o3_closefont+"\" SIZE=\""+o3_closesize+"\">"+close+"</FONT></A></TD>";

	}



	if (o3_css == CSSCLASS) txt = "<TABLE WIDTH="+o3_width+" BORDER=0 CELLPADDING="+o3_border+" CELLSPACING=0 class=\""+o3_bgclass+"\"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD><FONT class=\""+o3_captionfontclass+"\">"+o3_capicon+title+"</FONT></TD>"+closing+"</TR></TABLE><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 class=\""+o3_fgclass+"\"><TR><TD VALIGN=TOP><FONT class=\""+o3_textfontclass+"\">"+text+"</FONT></TD></TR></TABLE></TD></TR></TABLE>";

	if (o3_css == CSSSTYLE) txt = "<TABLE WIDTH="+o3_width+" BORDER=0 CELLPADDING="+o3_border+" CELLSPACING=0 style=\"background-color: "+o3_bgcolor+"; background-image: url("+o3_bgbackground+"); height: "+o3_height+o3_heightunit+";\"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD><FONT style=\"font-family: "+o3_captionfont+"; color: "+o3_capcolor+"; font-size: "+o3_captionsize+o3_captionsizeunit+"; font-weight: "+o3_captionweight+"; font-style: "+o3_captionstyle+";\">"+o3_capicon+title+"</FONT></TD>"+closing+"</TR></TABLE><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 style=\"color: "+o3_fgcolor+"; background-color: "+o3_fgcolor+"; height: "+o3_height+o3_heightunit+";\"><TR><TD VALIGN=TOP><FONT style=\"font-family: "+o3_textfont+"; color: "+o3_textcolor+"; font-size: "+o3_textsize+o3_textsizeunit+"; text-decoration: "+o3_textdecoration+"; font-weight: "+o3_textweight+"; font-style:"+o3_textstyle+"\">"+text+"</FONT></TD></TR></TABLE></TD></TR></TABLE>";

	if (o3_css == CSSOFF) txt = "<TABLE WIDTH="+o3_width+" BORDER=0 CELLPADDING="+o3_border+" CELLSPACING=0 "+o3_bgcolor+" "+o3_bgbackground+" "+o3_height+"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD><B><FONT COLOR=\""+o3_capcolor+"\" FACE=\""+o3_captionfont+"\" SIZE=\""+o3_captionsize+"\">"+o3_capicon+title+"</FONT></B></TD>"+closing+"</TR></TABLE><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 "+o3_fgcolor+" "+o3_fgbackground+" "+o3_height+"><TR><TD VALIGN=TOP><FONT COLOR=\""+o3_textcolor+"\" FACE=\""+o3_textfont+"\" SIZE=\""+o3_textsize+"\">"+text+"</FONT></TD></TR></TABLE></TD></TR></TABLE>";



	set_background("");

	return txt;

}



// Sets the background picture, padding and lots more. :)

function ol_content_background(text, picture, hasfullhtml) {

	if (hasfullhtml) {

		txt = text;

	} else {

		if (o3_css == CSSCLASS) txt = "<TABLE WIDTH="+o3_width+o3_widthunit+" BORDER=0 CELLPADDING=0 CELLSPACING=0 HEIGHT="+o3_height+o3_heightunit+"><TR><TD COLSPAN=3 HEIGHT="+o3_padyt+o3_padunit+"></TD></TR><TR><TD WIDTH="+o3_padxl+o3_padunit+"></TD><TD VALIGN=TOP WIDTH="+(o3_width-o3_padxl-o3_padxr)+o3_padunit+"><FONT class=\""+o3_textfontclass+"\">"+text+"</FONT></TD><TD WIDTH="+o3_padxr+o3_padunit+"></TD></TR><TR><TD COLSPAN=3 HEIGHT="+o3_padyb+o3_padunit+"></TD></TR></TABLE>";

		if (o3_css == CSSSTYLE) txt = "<TABLE WIDTH="+o3_width+o3_widthunit+" BORDER=0 CELLPADDING=0 CELLSPACING=0 HEIGHT="+o3_height+o3_heightunit+"><TR><TD COLSPAN=3 HEIGHT="+o3_padyt+o3_padunit+"></TD></TR><TR><TD WIDTH="+o3_padxl+o3_padunit+"></TD><TD VALIGN=TOP WIDTH="+(o3_width-o3_padxl-o3_padxr)+o3_padunit+"><FONT style=\"font-family: "+o3_textfont+"; color: "+o3_textcolor+"; font-size: "+o3_textsize+o3_textsizeunit+";\">"+text+"</FONT></TD><TD WIDTH="+o3_padxr+o3_padunit+"></TD></TR><TR><TD COLSPAN=3 HEIGHT="+o3_padyb+o3_padunit+"></TD></TR></TABLE>";

		if (o3_css == CSSOFF) txt = "<TABLE WIDTH="+o3_width+" BORDER=0 CELLPADDING=0 CELLSPACING=0 HEIGHT="+o3_height+"><TR><TD COLSPAN=3 HEIGHT="+o3_padyt+"></TD></TR><TR><TD WIDTH="+o3_padxl+"></TD><TD VALIGN=TOP WIDTH="+(o3_width-o3_padxl-o3_padxr)+"><FONT FACE=\""+o3_textfont+"\" COLOR=\""+o3_textcolor+"\" SIZE=\""+o3_textsize+"\">"+text+"</FONT></TD><TD WIDTH="+o3_padxr+"></TD></TR><TR><TD COLSPAN=3 HEIGHT="+o3_padyb+"></TD></TR></TABLE>";

	}

	set_background(picture);

	return txt;

}



// Loads a picture into the div.

function set_background(pic) {

	if (pic == "") {

		if (ie4) over.backgroundImage = "none";

		if (ns6) over.style.backgroundImage = "none";

	} else {

		if (ns4) {

			over.background.src = pic;

		} else if (ie4) {

			over.backgroundImage = "url("+pic+")";

		} else if (ns6) {

			over.style.backgroundImage = "url("+pic+")";

		}

	}

}







////////////////////////////////////////////////////////////////////////////////////

// HANDLING FUNCTIONS

////////////////////////////////////////////////////////////////////////////////////





// Displays the popup

function disp(statustext) {

	if ( (ns4) || (ie4) || (ns6) ) {

		if (o3_allowmove == 0) 	{

			placeLayer();

			showObject(over);

			o3_allowmove = 1;

		}

	}



	if (statustext != "") {

		self.status = statustext;

	}

}



// Decides where we want the popup.

function placeLayer() {

	var placeX, placeY;

	

	// HORIZONTAL PLACEMENT

	if (o3_fixx > -1) {

		// Fixed position

		placeX = o3_fixx;

	} else {

		winoffset = (ie4) ? o3_frame.document.body.scrollLeft : o3_frame.pageXOffset;

		if (ie4) iwidth = o3_frame.document.body.clientWidth;

		if (ns4) iwidth = o3_frame.innerWidth; // was screwed in mozilla, fixed now?

		if (ns6) iwidth = o3_frame.outerWidth;

		

		// If HAUTO, decide what to use.

		if (o3_hauto == 1) {

			if ( (o3_x - winoffset) > ((eval(iwidth)) / 2)) {

				o3_hpos = LEFT;

			} else {

				o3_hpos = RIGHT;

			}

		}

		

		// From mouse

		if (o3_hpos == CENTER) { // Center

			placeX = o3_x+o3_offsetx-(o3_width/2);

		}

		if (o3_hpos == RIGHT) { // Right

			placeX = o3_x+o3_offsetx;

			if ( (eval(placeX) + eval(o3_width)) > (winoffset + iwidth) ) {

				placeX = iwidth + winoffset - o3_width;

				if (placeX < 0) placeX = 0;

			}

		}

		if (o3_hpos == LEFT) { // Left

			placeX = o3_x-o3_offsetx-o3_width;

			if (placeX < winoffset) placeX = winoffset;

		}

	

		// Snapping!

		if (o3_snapx > 1) {

			var snapping = placeX % o3_snapx;

			if (o3_hpos == LEFT) {

				placeX = placeX - (o3_snapx + snapping);

			} else {

				// CENTER and RIGHT

				placeX = placeX + (o3_snapx - snapping);

			}

			if (placeX < winoffset) placeX = winoffset;

		}

	}



	

	

	// VERTICAL PLACEMENT

	if (o3_fixy > -1) {

		// Fixed position

		placeY = o3_fixy;

	} else {

		scrolloffset = (ie4) ? o3_frame.document.body.scrollTop : o3_frame.pageYOffset;



		// If VAUTO, decide what to use.

		if (o3_vauto == 1) {

			if (ie4) iheight = o3_frame.document.body.clientHeight;

			if (ns4) iheight = o3_frame.innerHeight;

			if (ns6) iheight = o3_frame.outerHeight;



			iheight = (eval(iheight)) / 2;

			if ( (o3_y - scrolloffset) > iheight) {

				o3_vpos = ABOVE;

			} else {

				o3_vpos = BELOW;

			}

		}





		// From mouse

		if (o3_vpos == ABOVE) {

			if (o3_aboveheight == 0) {

				var divref = (ie4) ? o3_frame.document.all['overDiv'] : over;

				o3_aboveheight = (ns4) ? divref.clip.height : divref.offsetHeight;

			}



			placeY = o3_y - (o3_aboveheight + o3_offsety);

			if (placeY < scrolloffset) placeY = scrolloffset;

		} else {

			// BELOW

			placeY = o3_y + o3_offsety;

		}



		// Snapping!

		if (o3_snapy > 1) {

			var snapping = placeY % o3_snapy;

			

			if (o3_aboveheight > 0 && o3_vpos == ABOVE) {

				placeY = placeY - (o3_snapy + snapping);

			} else {

				placeY = placeY + (o3_snapy - snapping);

			}

			

			if (placeY < scrolloffset) placeY = scrolloffset;

		}

	}





	// Actually move the object.	

	repositionTo(over, placeX, placeY);

}





// Moves the layer

function mouseMove(e) {

	if ( (ns4) || (ns6) ) {o3_x=e.pageX; o3_y=e.pageY;}

	if (ie4) {o3_x=event.x; o3_y=event.y;}

	if (ie5) {o3_x=event.x+o3_frame.document.body.scrollLeft; o3_y=event.y+o3_frame.document.body.scrollTop;}

	

	if (o3_allowmove == 1) {

		placeLayer();

	}

}



// The Close onMouseOver function for stickies

function cClick() {

	hideObject(over);

	o3_showingsticky = 0;

	

	return false;

}





// Makes sure target frame has overLIB

function compatibleframe(frameid) {        

	if (ns4) {

		if (typeof frameid.document.overDiv =='undefined') return false;

	} else if (ie4) {

		if (typeof frameid.document.all["overDiv"] =='undefined') return false;

	} else if (ns6) {

		if (frameid.document.getElementById('overDiv') == null) return false;

	}



	return true;

}











////////////////////////////////////////////////////////////////////////////////////

// LAYER FUNCTIONS

////////////////////////////////////////////////////////////////////////////////////





// Writes to a layer

function layerWrite(txt) {

	txt += "\n";

	

        if (ns4) {

                var lyr = o3_frame.document.overDiv.document



                lyr.write(txt)

                lyr.close()

        } else if (ie4) {

		o3_frame.document.all["overDiv"].innerHTML = txt

	} else if (ns6) {

		range = o3_frame.document.createRange();

		range.setStartBefore(over);

		domfrag = range.createContextualFragment(txt);

		while (over.hasChildNodes()) {

			over.removeChild(over.lastChild);

		}

		over.appendChild(domfrag);

	}

}



// Make an object visible

function showObject(obj) {

        if (ns4) obj.visibility = "show";

        else if (ie4) obj.visibility = "visible";

	else if (ns6) obj.style.visibility = "visible";

}



// Hides an object

function hideObject(obj) {

        if (ns4) obj.visibility = "hide";

        else if (ie4) obj.visibility = "hidden";

	else if (ns6) obj.style.visibility = "hidden";

        

	if (o3_timerid > 0) clearTimeout(o3_timerid);

	if (o3_delayid > 0) clearTimeout(o3_delayid);

	o3_timerid = 0;

	o3_delayid = 0;

        self.status = "";

}



// Move a layer

function repositionTo(obj,xL,yL) {

	if ( (ns4) || (ie4) ) {

	        obj.left = xL;

	        obj.top = yL;

	} else if (ns6) {

		obj.style.left = xL + "px";

		obj.style.top = yL+ "px";

	}

}











////////////////////////////////////////////////////////////////////////////////////

// PARSER FUNCTIONS

////////////////////////////////////////////////////////////////////////////////////





// Defines which frame we should point to.

function opt_FRAME(frm) {

        o3_frame = compatibleframe(frm) ? frm : ol_frame;



	if ( (ns4) || (ie4 || (ns6)) ) {

		if (ns4) over = o3_frame.document.overDiv;

		if (ie4) over = o3_frame.overDiv.style;

		if (ns6) over = o3_frame.document.getElementById("overDiv");

	}



	return 0;

}



// Calls an external function

function opt_FUNCTION(callme) {

	o3_text = callme()

	return 0;

}









//end (For internal purposes.)

////////////////////////////////////////////////////////////////////////////////////

// OVERLIB 2 COMPATABILITY FUNCTIONS

// If you aren't upgrading you can remove the below section.

////////////////////////////////////////////////////////////////////////////////////



// Converts old 0=left, 1=right and 2=center into constants.

function vpos_convert(d) {

	if (d == 0) {

		d = LEFT;

	} else {

		if (d == 1) {

			d = RIGHT;

		} else {

			d = CENTER;

		}

	}

	

	return d;

}



// Simple popup

function dts(d,text) {

	o3_hpos = vpos_convert(d);

	overlib(text, o3_hpos, CAPTION, "");

}



// Caption popup

function dtc(d,text, title) {

	o3_hpos = vpos_convert(d);

	overlib(text, CAPTION, title, o3_hpos);

}



// Sticky

function stc(d,text, title) {

	o3_hpos = vpos_convert(d);

	overlib(text, CAPTION, title, o3_hpos, STICKY);

}



// Simple popup right

function drs(text) {

	dts(1,text);

}



// Caption popup right

function drc(text, title) {

	dtc(1,text,title);

}



// Sticky caption right

function src(text,title) {

	stc(1,text,title);

}



// Simple popup left

function dls(text) {

	dts(0,text);

}



// Caption popup left

function dlc(text, title) {

	dtc(0,text,title);

}



// Sticky caption left

function slc(text,title) {

	stc(0,text,title);

}



// Simple popup center

function dcs(text) {

	dts(2,text);

}



// Caption popup center

function dcc(text, title) {

	dtc(2,text,title);

}



// Sticky caption center

function scc(text,title) {

	stc(2,text,title);

}

function submitForm(id) {
  if (document.getElementById(id) != null && typeof document.getElementById(id) != 'undefined') {
    document.getElementById(id).submit();
  }
}

// Display div if the included ID doesn't match the included Value
function displayDiv(id, value, div) {
  if (document.getElementById(id).value == value) {
    document.getElementById(div).style.display = 'none';
  } else {
    document.getElementById(div).style.display = 'block';
  }
}
/* The functions below are cookie functions which can be used for anything site-wide but are intended (at the moment) to be used for the dynamic cart quantities */

function getCookie(Name) {
  var search = Name + "=";
  var returnvalue = "";
  if(document.cookie.length > 0) {
    offset = document.cookie.indexOf(search)
    // if cookie exists
    if(offset != -1) { 
      offset += search.length
    }
    // set index of beginning of value
    end = document.cookie.indexOf(";", offset);
    // set index of end of cookie value
    if(end == -1) {
      end = document.cookie.length;
    }
    returnvalue=unescape(document.cookie.substring(offset, end))
  }
  return returnvalue;
}
function getArgs() {
  var args = new Object();
  var query = location.search.substring(1);
  var pairs = query.split("&");
  for (var i = 0; i < pairs.length; i++) {
    var pos = pairs[i].indexOf('=');
    if (pos == -1) continue;
    var argname = pairs[i].substring(0,pos);
    var value = pairs[i].substring(pos+1);
    args[argname] = unescape(value);
  }
  return args;
}
function goBack(loc) {
  var args = getArgs();
  if (args.rd != 'n') { 
    locs = loc.split('/');
    window.location = "/prod_detail_list/"+locs[2];
  }
}
function setCookie(name,num) {
 //set document cookie
 document.cookie=name+"="+num;
}

function isCookied(name,num) {
 if (getCookie(name)!=num) {
  return true;
 } else {
  return false;
 }
}

/* End Cookie Functions */

function CCType(cc_type) {
  if(cc_type == 'creditcard') {
   document.getElementById('ccgiftmess').style.visibility='visible';
  }
}

// Updated to fix display CSS issue with IE7 - MS::NHS::20091229
function deadlineFlip(stat) {
  if (stat == 'yes') {
    document.getElementById('deadline_row').style.display = '';
  } else {
    document.getElementById('deadline_row').style.display = 'none';
  }
}

// Added to warn if signature is required - MS::NHS::20091218
/*function warnSignature(status) {
  if (status == 'required') {
    document.getElementById('signatureDisclaimer').style.display = 'block';
  } else if (status == 'waived') {
    document.getElementById('signatureDisclaimer').style.display = 'none';
  }
}*/