<!--
var CatLevel = 1;

function getCatArray(arCats, sID)
{
	//** Looks recursively through the entire arCats array structure to find and return 
	//           the whole array of fields for the given Category ID
	var Found = false;
	var arSubCats = false;
	
	if(arCats.length > 0)
	{
		for(i=0;i<arCats.length;i++)
		{
			if(arCats[i][0] == sID)
			{
				return arCats[i];
			}
			else
			{
				arSubCats = getCatArray(arCats[i][6], sID);
				if(arSubCats)
				{
					return arSubCats;
				}
			}
		}
	}
	return false;	
}

function getSubMenu(sID, arCats, nCatLevel)
{
	//** Looks recursively through the entire arCats array structure to find and return 
	//           the array of Sub Categories for the given ID
	var arSubCats = false;
	var i;
	
	if(arCats.length > 0)
	{
		for(i=0;i<arCats.length;i++)
		{			
			if(arCats[i][0] == sID)
			{
				CatLevel = nCatLevel;
				return arCats[i][6];				
			}
			else
			{
				if(arCats[i][6].length > 0)
				{					
					arSubCats = getSubMenu(sID, arCats[i][6], nCatLevel + 1);
					if(arSubCats)
					{
						return arSubCats;
					}
				}
			}			
		}
	}
	
	return false;	
}

function getCheckedVal(oFld)
{
	if(oFld.checked)
	{
		return oFld.value;
	}
	else
	{
		return "";
	}
}

function setSelectVal(oFld, sVal)
{
	var i;
	if(oFld.length != undefined)
	{
		for(i=0;i<oFld.length;i++)
		{
			if(oFld.options[i].value == sVal)
			{
				oFld.options[i].selected = true;
				return;
			}
		}
	}else if(oFld.value != undefined && oFld.value != null)
	{
		oFld.value = sVal;
	}
}

function getSelectVal(oFld)
{
	var i;
	if(oFld.length != undefined)
	{
		for(i=0;i<oFld.length;i++)
		{
			if(oFld.options[i].selected)
			{
				return oFld.options[i].value;
			}
		}
	}else if(oFld.value != undefined && oFld.value != null)
	{
		return oFld.value;
	}
}

function fixXMLFld(sVal)
{
	sVal = sVal.replace("&", "&amp;");
	sVal = sVal.replace("'", "&apos;");
	sVal = sVal.replace("\"", "&quot;");
	sVal = sVal.replace("<", "&lt;");
	sVal = sVal.replace(">", "&gt;");
	return sVal;
}

function cleanXMLFld(sVal)
{
	sVal = sVal.replace("&amp;","&");
	sVal = sVal.replace("&apos;","'");
	sVal = sVal.replace("&quot;","\"");
	sVal = sVal.replace("&lt;","<");
	sVal = sVal.replace("&gt;",">");
	return sVal;
}

function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function getScrollX()
{
  var offset;
  if (is.nav4up || is.opera) {
    offset = window.pageXOffset;
  }
  else if (is.ie4up) {
    offset = document.body.scrollLeft;
  }
  return offset;
}

function getScrollY()
{
  var offset;
  if (is.nav4up || is.opera) {
    offset = window.pageYOffset;
  }
  else if (is.ie4up) {
    offset = document.body.scrollTop;
  }
  return offset;
}

//**************** VALIDATION FUNCTIONS ************************
function ValidateZip(sZip)
{
	
	if(sZip.length != 5 && sZip.length != 10)
	{
		return false;
	}
	else
	{		
		
		if(sZip.length == 10)
		{
			
			var sVar = sZip.substring(0, 5)			
			if(isNaN(sVar))
			{
				return false;
			}
			var sVar = sZip.substring(6, 11)			
			if(isNaN(sVar))
			{
				return false;
			}
			var sVar = sZip.substring(5, 6)			
			if(sVar != "-")
			{
				return false;
			}
		}
		
		return true;
	}	
}

function ValidatePhone(sPh)
{
		if(sPh != undefined && sPh != null)
		{
			if(sPh.length != 12)
			{			
				return false;
			}			
			
			
			var pre = sPh.substring(0, 3);
			if(isNaN(pre))
			{
				return false;
			}
			var sChr = sPh.charAt(3)
			if(sChr != "-")
			{
				return false;
			}
			var mid = sPh.substring(4, 7);
			if(isNaN(mid))
			{
				return false;
			}
			sChr = sPh.charAt(7)
			if(sChr != "-")
			{
				return false;
			}
			var post = sPh.substring(8, 13);
			if(isNaN(post))
			{
				return false;
			}			
		}		
		return true;
}

function ValidateNumber(sVal)
{
	if(isNaN(sVal))
	{
		sPCost = sVal;				
		sPCost = sPCost.replace("$", "");
		while(sPCost.indexOf(",") >= 0)
		{
			sPCost = sPCost.replace(",", "");
		}				
		if(isNaN(sPCost))
		{
			return false;	
		}else{
			return sPCost;
		}
	}
	else
	{
		return sVal;
	}
}

function fixJavaStr(sVal)
{
	sVal = sVal.replace("vbCrLf", "\r");
}


//********************* Date Validation *************************
function isProperDate(argDate) {
	var tmpDay = getDay(argDate)
	var tmpMon = getMonth(argDate)
	var tmpYear = getYear(argDate)

	return isProperDay(tmpDay, tmpMon, tmpYear) && isProperMonth(tmpMon) && isProperYear(tmpYear)
}
function isWhiteSpace(argWhiteSpace) {
	argWs = argWhiteSpace.toString()
	
	for (var intI=0; intI < argWs.length; intI++)
		if (argWs.charAt(intI) != ' ' && argWs.charAt(intI) != '\t')
			return false
	
	return true
}
function isLeapYear(argYear) {
	return ((argYear % 4 == 0) && (argYear % 100 != 0)) || (argYear % 400 == 0) 
}
function daysInMonth(argMonth, argYear) {
	switch (Number(argMonth)) {
		case 1:		// Jan
		case 3:		// Mar
		case 5:		// May
		case 7:		// Jul
		case 8:		// Aug
		case 10:		// Oct
		case 12:		// Dec
			return 31;
			break;
		
		case 4:		// Apr
		case 6:		// Jun
		case 9:		// Sep
		case 11:		// Nov
			return 30;
			break;
		
		case 2:		// Feb
			if (isLeapYear(argYear))
				return 29
			else
				return 28
			break;
		
		default:
			return 0;
	}
}
function getDateSeparator(argDate) {
	// Are there invalid separators?
	if ((argDate.indexOf('-') > 0) && (argDate.indexOf('/') > 0))
		return ' '

	if (argDate.indexOf('-') > 0)
		return '-'
	else
		if (argDate.indexOf('/') > 0)
			return '/'
		else
			return ' '
}
function getYear(argDate) {
	var dateSep = getDateSeparator(argDate)
	
	if (dateSep == ' ')
		return 0

	if(argDate.split(dateSep).length == 3)
		return argDate.split(dateSep)[2]
	else
		return 0
}
function getMonth(argDate) {
	var dateSep = getDateSeparator(argDate)
	
	if (dateSep == ' ')
		return 0

	if(argDate.split(dateSep).length == 3)
		return argDate.split(dateSep)[0]
	else
		return 0
}
function getDay(argDate) {
	var dateSep = getDateSeparator(argDate)
	
	if (dateSep == ' ')
		return 0

	if(argDate.split(dateSep).length == 3)
		return argDate.split(dateSep)[1]
	else
		return 0
}
function isProperDay(argDay, argMonth, argYear) {
	if ((isWhiteSpace(argDay)) || (argDay == 0))
		return false

	if ((argDay > 0) && (argDay < daysInMonth(argMonth, argYear) + 1))
		return true
	else 
		return false
}
function isProperMonth(argMonth) {
	if ((isWhiteSpace(argMonth)) || (argMonth == 0))
		return false
	
	if ((argMonth > 0) && (argMonth < 13))
		return true
	else
		return false
}
function isProperYear(argYear) {
	if ((isWhiteSpace(argYear)) || (argYear.toString().length > 4) || (argYear.toString().length == 3))
		return false
	
	switch (argYear.toString().length) {
		case 1:
			if (argYear >=0 && argYear < 10)
				return true
			else
				return false
			
		case 2:
			if (argYear >=0 && argYear < 100)
				return true
			else
				return false
			
		case 4:
			if (((argYear >=1900) || (argYear >=2000)) && ((argYear < 3000) || (argYear < 2000)))
				return true
			else
				return false
		
		default:
			return false
	}
}

// Kaosweaver Calendar Settings - do not remove
// by Paul Davis - http://www.kaosweaver.com
// KW_lang[English]
// KW_order[0,1,2]
// KW_del1[/]
// KW_del2[/]

var sDate = new Array();
sDate[sDate.length]="9,27,*"
sDate[sDate.length]="12,25,*"
sDate[sDate.length]="1,1,*"
sDate[sDate.length]="7,4,*"
var mName = new Array("January","February","March","April","May","June","July","August","September","October","November","December")
var wName = new Array("Su","Mo","Tu","We","Th","Fr","Sa")
var cFontName = "Arial, Helvetica, sans-serif;"
var KW_color = new Array("#ffffff","#ffcccc","#999999","#ffffff","#ccffcc","#cccccc","#000000","#000000")
function m_class(m,d,y) { 
	this.month=m;this.day=d;this.year=y;this.output=this.month+"/"+this.day+"/"+this.year;
	var kd=new Date();this.special=checkDates(this.month,this.day,this.year)
	this.today=((kd.getMonth()+1)==this.month && kd.getDate()==this.day && kd.getFullYear()==this.year)
}

// Kaosweaver End of Calendar Settings - do not remove

function checkDates(m1,d1,y1) {
	var rStr=false;for(var i=0;i<sDate.length;i++) {var tDate=sDate[i].split(",");
		if (tDate[2]=="*" || tDate[2]==y1) {if (tDate[1]==d1 && tDate[0]==m1)	rStr=true;
		}}return rStr;
}

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 KW_doCalendar(obj,m,y) {	
	var d=new Date();	if (!m && m!=0) m=d.getMonth();	d.setMonth(m);	if (!y) y=d.getFullYear();
	d.setFullYear(y);	d.setDate(1);	dy=d.getDay();dP=new Date();dP.setMonth(m);	dP.setDate(0);
	pStart=dP.getDate()-dy+1;	dStr=new Array();	for (i=pStart;i<dP.getDate()+1;i++) {
		tMonth=(m==0)?"12":m;tYear=(m==0)?y-1:y;dStr[dStr.length]=new m_class(tMonth,i,tYear);
	}EOM=false;for (i=1;!EOM;i++){d.setDate(i);if (m!=d.getMonth())	EOM=true; else { 
	dStr[dStr.length]=new m_class((Number(m)+1),i,y);}}cnt=1;for (i=d.getDay();i<7;i++) {
	tMonth=(m==11)?"1":Number(m)+2;tYear=(m==11)?Number(y)+1:y;dStr[dStr.length]=new m_class(tMonth,cnt,tYear); 
		cnt++;}pM=(m==0)?11:m-1;pY=(m==0)?y-1:y;nM=(m==11)?0:Number(m)+1;nY=(m==11)?Number(y)+1:y;
	wStr="<html><head><style type=\"text/css\"><!--td {  font-family: "+cFontName+" font-size: 12px; }\n.tblHdr { font-weight: bold; color: "+KW_color[0]+"; background-color: "+KW_color[6]+" }\n.subTbl{ color: "+KW_color[0]+"; background-color: #666666;  text-align: center}-->\n</style>\n<title></title>\n</head>\n<body  topmargin=\"0\" marginwidth=\"0\" marginheight=\"0\" leftmargin=\"0\" onLoad=\"window.focus()\">\n<table width=\"100%\" border=\"0\" cellspacing=\"0\">\n<tr>\n<td bgcolor=\""+KW_color[6]+"\">\n<table width=\"100%\" border=0>\n"
	wStr+="<tr>\n<td align=center bgcolor=\""+KW_color[6]+"\" class=\"tblHdr\"><a href=\"javascript:window.opener.KW_doCalendar('"+obj+"','"+pM+"','"+pY+"');\" class=\"tblHdr\">&laquo</a></td>\n<td colspan=5 align=center class=\"tblHdr\">"+mName[m]+", "+y+"</td>\n<td align=center class=\"tblHdr\"><a href=\"javascript:window.opener.KW_doCalendar('"+obj+"','"+nM+"','"+nY+"');\"  class=\"tblHdr\">&raquo</a></td>\n</tr>\n"
	wStr+="<tr>\n<td class=\"subTbl\">"+wName[0]+"</td><td class=\"subTbl\">"+wName[1]+"</td><td class=\"subTbl\">"+wName[2]+"</td><td class=\"subTbl\">"+wName[3]+"</td><td class=\"subTbl\">"+wName[4]+"</td><td class=\"subTbl\">"+wName[5]+"</td><td class=\"subTbl\">"+wName[6]+"</td>\n</tr>\n"
	for (x=0;x<parseInt(dStr.length/7);x++) {	wStr+="<tr>\n";	for (y=0;y<7;y++) {
	bC=(y==0||y==6)?KW_color[2]:KW_color[3];if ((Number(m)+1)!=dStr[x*7+y].month) bC=KW_color[5];
	if (dStr[x*7+y].special) bC=KW_color[4];if (dStr[x*7+y].today) bC=KW_color[1];
	wStr+="<td align=\"center\" bgcolor="+bC+"><a href=\"javascript:window.opener.MM_findObj('"+obj+"',window.opener.document).value='"+dStr[x*7+y].output+"'; window.close();\" >"+dStr[x*7+y].day+"</a></td>\n";
	//wStr+="<td align=\"center\" bgcolor="+bC+"><a href=\"javascript:window.opener.getArchive('"+dStr[x*7+y].output+"'); window.close();\" >"+dStr[x*7+y].day+"</a></td>\n";
		}	wStr+="</tr>\n";}	wStr+="<tr><td colspan=7></td></tr></table></td></tr></table></body></html>";
	var w = parseInt(screen.width/2-75); var h=parseInt(screen.height/2-75);
	var look='width=170,height=155,left='+w+',top='+h;	popwin=window.open('','calendar',look);
	popwin.document.open();	popwin.document.write(wStr);	popwin.document.close();
}

function ClientSnifferJr()
{
  this.ua = navigator.userAgent.toLowerCase();
  this.major = parseInt(navigator.appVersion);
  this.minor = parseFloat(navigator.appVersion);
  this.nav   = (
    (this.ua.indexOf('mozilla')!=-1)
    && ((this.ua.indexOf('spoofer')==-1)
    && (this.ua.indexOf('compatible') == -1))
  );
  this.nav4  = (this.nav && (this.major == 4));
  this.nav4up= (this.nav && (this.major >= 4));
  this.nav5up= (this.nav && (this.major >= 5));
  this.gecko = (this.ua.indexOf('gecko') != -1); 
  this.ie    = (this.ua.indexOf("msie") != -1);
  this.ie3   = (this.ie && (this.major == 2));
  this.ie4   = (
    this.ie && (this.major == 4)
    && (this.ua.indexOf("msie 5.0")==-1)
  );
  this.ie4up = (this.ie  && (this.major >= 4));
  this.ie5up = (this.ie && !this.ie3 && !this.ie4);
  this.opera = (this.ua.indexOf("opera") != -1);
  this.hotjava = (this.ua.indexOf("hotjava") != -1); 
  this.webtv = (this.ua.indexOf("webtv") != -1);
  this.aol   = (this.ua.indexOf("aol") != -1); 
}

var is = new ClientSnifferJr();
//-->
