////////////////////////////////////////////////
////////////////STRING FUNCTIONS////////////////
////////////////////////////////////////////////
function trim(str)
{
	// Immediately return if no trimming is needed
	if ((str.charAt(0)!==' ') && (str.charAt(str.length-1)!==' ')) 
	{
		return str;
	}

	// Trim leading spaces
	while (str.charAt(0)===' ')
	{
		str = '' + str.substring(1,str.length);
	}

	// Trim trailing spaces
	while (str.charAt(str.length-1)===' ')
	{
		str = ''+str.substring(0,str.length-1);
	}

	return str;
}

// Remove characters that might cause security problems from a string 
function removeBadCharacters(string)
{
	if (string.replace)
	{
		string.replace(/[<>\"\'%;\)\(&\+]/, '');
	}
	return string;
}

function isAlphabetic1(string, ignoreWhiteSpace)
{
	if (string.search)
	{
		if ((ignoreWhiteSpace && string.search(/[^a-zA-Z\s]/)!==-1) || (!ignoreWhiteSpace && string.search(/[^a-zA-Z]/) !== -1))
		{
			return false;
		}
	}

	return true;
}

// Check that a string contains only letters
function isAlphabetic(string)
{
	return isAlphabetic1(string,true);
}

function isNumeric1(string, ignoreWhiteSpace)
{
	if (string.search)
	{
		if ((ignoreWhiteSpace && string.search(/[^\d\s]/)!==-1) || (!ignoreWhiteSpace && string.search(/\D/)!==-1))
		{
			return false;
		}
	}

	return true;
}

// Check that a string contains only numbers
function isNumeric(string)
{
	return isNumeric1(string,false);
}

// Remove all spaces from a string
function trimAll(string)
{
	var newString = '';
	for (var i = 0; i < string.length; i++) {
		if (string.charAt(i)!== ' ')
		{
			newString += string.charAt(i);
		}
	}

	return newString;
}

function isAlphanumeric1(string, ignoreWhiteSpace)
{
	if (string.search)
	{
		if ((ignoreWhiteSpace && string.search(/[^\w\s]/)!==-1) || (!ignoreWhiteSpace && string.search(/\W/)!==-1))
		{
			return false;
		}
	}

	return true;
}

// Check that a string contains only letters and numbers
function isAlphanumeric(string)
{
	return isAlphanumeric1(string, false);
}

// Check that the number of characters in a string is between a max and a min
function isValidLength(string, min, max)
{
	if (string.length < min || string.length > max)
	{
		return false;
	}
	else
	{
		return true;
	}
}

// Check that an email address is valid based on RFC 821 (?)
function isValidEmail(address)
{
	if (address.indexOf('@') < 3)
	{
		return false;
	}

	var name = address.substring(0, address.indexOf('@'));
	var domain = address.substring(address.indexOf('@') + 1);

	if (name.indexOf('(')!==-1 || name.indexOf(')')!==-1 || name.indexOf('<')!==-1 || name.indexOf('>')!==-1 || name.indexOf(',')!==-1 || name.indexOf(';')!==-1 || name.indexOf(':')!==-1 || name.indexOf('\\')!==-1 || name.indexOf('"')!==-1 || name.indexOf('[')!==-1 || name.indexOf(']')!==-1 || name.indexOf(' ')!==-1)
	{
		return false;
	}

	if (domain.indexOf('(')!==-1 || domain.indexOf(')')!==-1 || domain.indexOf('<')!==-1 || domain.indexOf('>')!==-1 || domain.indexOf(',')!==-1 || domain.indexOf(';')!==-1 || domain.indexOf(':')!==-1 || domain.indexOf('\\')!==-1 || domain.indexOf('"')!==-1 || domain.indexOf('[')!==-1 || domain.indexOf(']')!==-1 || domain.indexOf(' ')!==-1)
	{
		return false;
	}

	return true;
}

// Check that an email address has the form something@something.something
// This is a stricter standard than RFC 821 (?) which allows addresses like postmaster@localhost
function isValidEmailStrict(address)
{
	if (isValidEmail(address)===false)
	{
		return false;
	}

	var domain = address.substring(address.indexOf('@')+1);
	if (domain.indexOf('.')=== -1)
	{
		return false;
	}

	if (domain.indexOf('.')===0 || domain.indexOf('.')===(domain.length - 1))
	{
		return false;
	}

	return true;
}

////////////////////////////////////////////////
////////////////DATE VALIDATION/////////////////
////////////////////////////////////////////////
function isInteger(s)
{
    for (var i = 0; i < s.length; i++)
    {
    	var c = s.charAt(i);
        if (((c < '0') || (c > '9')))
        {
        	return (false);
        }
    }
    // All characters are numbers.
    return (true);
}
function stripCharsInBag(s,bag)
{
    var returnString = '';
    for (var i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (bag.indexOf(c)===-1)
        {
        	returnString+=c;
        }
    }

    return (returnString);
}

function daysInFebruary (year)
{
    return (((year % 4===0) && ((!(year % 100===0)) || (year % 400===0)))?29:28);
}

function daysArray(n)
{
	for (var i = 1; i <= n; i++)
	{
		this[i]=31;
		if (i===4 || i===6 || i===9 || i===11) {
			this[i] = 30;
		}

		if (i===2) {
			this[i] = 29;
		}
   }

   return (this);
}

function isDate(dtStr){
	var dtCh= '/';
	var minYear=1900;
	var maxYear=2100;

	var daysInMonth = daysArray(12);
	var pos1 = dtStr.indexOf(dtCh);
	var pos2 = dtStr.indexOf(dtCh,pos1+1);
	var strMonth = dtStr.substring(0, pos1);
	var strDay = dtStr.substring(pos1+1,pos2);
	var strYear = dtStr.substring(pos2+1);
	var strYr = strYear;

	if (strDay.charAt(0)==='0' && strDay.length>1)
	{
		strDay = strDay.substring(1);
	}

	if (strMonth.charAt(0)==='0' && strMonth.length>1)
	{
		strMonth = strMonth.substring(1);
	}

	for (var i = 1; i <= 3; i++)
	{
		if (strYr.charAt(0)==='0' && strYr.length>1)
		{
			strYr = strYr.substring(1);
		}
	}

	var month = parseInt(strMonth,10);
	var day = parseInt(strDay,10);
	var year = parseInt(strYr,10);
	if (pos1===-1 || pos2===-1)
	{
		return (false);
	}

	if (strMonth.length<1 || month<1 || month>12)
	{
		return (false);
	}

	if (strDay.length<1 || day<1 || day>31 || (month===2 && day>daysInFebruary(year)) || day > daysInMonth[month])
	{
		return (false);
	}

	if (strYear.length!== 4 || year===0 || year<minYear || year>maxYear)
	{
		return (false);
	}

	if (dtStr.indexOf(dtCh,pos2+1)!==-1 || isInteger(stripCharsInBag(dtStr,dtCh))===false)
	{
		return (false);
	}
	
	return (true);
}

function showHide(id)
{
	/*global document */

	if (document.getElementById(id).style.display==='')
	{
		document.getElementById(id).style.display='none';
	}
	else
	{
		document.getElementById(id).style.display='';
	}
		
}

function showHide1(id1,id2)
{
	
		document.getElementById(id1).style.display='inline';
		document.getElementById(id2).style.display='none';
}


function drawTable(maxlength, tablewidth, tablename)
{
	/*global navigator */
	if ((navigator.appName.indexOf('Microsoft')!==-1) && (parseInt(navigator.appVersion,10)>= 4))
	{
		document.write(	'<table id="box" name="'+maxlength+'" cellpadding="0" '+
						'cellspacing="0" border="0" width="'+tablewidth+'"><tr><td '+
						'bgcolor="#003366" width="0"><img src="/images/dot.gif" name="'+
						tablename+'1" height="5" width="0"></td><td bgcolor="#8CAAE6" '+
						'width="'+tablewidth+'"><img src="/images/dot.gif" name="'+
						tablename+'2" height="5" width="'+tablewidth+'"></td></tr></table>');
	}
	else 
	{
	    document.write(' ');
	}
}

function funMycomment(a)
{
	/*global alert */
	var obj=document.getElementById('box');
	var tblwidth=obj.width;
	var maxlen=obj.name;
	var aa=document.getElementById(a.id);
	var x = maxlen - aa.value.length;

	if (x < 0)
	{
	    aa.value=aa.value.substring(0,maxlen);
	    x=0;
	    alert('Maximum '+maxlen+' character used');
	}
	
	eval('document.'+a.id+'1').width=tblwidth*(maxlen-x)/maxlen;
	eval('document.'+a.id+'1').alt=maxlen-x+' chars used';
	eval('document.'+a.id+'2').width=tblwidth*x/maxlen;
	eval('document.'+a.id+'2').alt=x+' chars available';
}

function validateForm(frm)
{
	/*global alert */
	for (var cnt=0; cnt < frm.elements.length; cnt++)
	{
		var ctl = frm.elements[cnt];
		if (!frm.elements[cnt].name)
		{
			continue;
		}

		var value = trim(frm.elements[cnt].value);
		var type = frm.elements[cnt].type.toUpperCase();
		var title = frm.elements[cnt].title;
		var req = frm.elements[cnt].accept;

		if (req!=='' && req!==null && req!=='0')
		{
			req = req.toUpperCase();

			if (type==='TEXT' || type ==='TEXTAREA')
			{
				if (req.indexOf('MUST')!== -1)
				{
					if (value==='' || value ===null) {
						alert('Please enter "' + title + '"');
						ctl.focus();
						return (false);
					}
					req = req.replace('MUST', '');
				}

				//Integer value check
				if (req.indexOf('INT')!==-1)
				{
					if (isNaN(value))
					{
						alert('Please enter numeric values for "'+title+'"');
						ctl.focus();
						return (false);
					}
					req = req.replace('INT', '');

					//Positive Integer Check
					if (req.indexOf('+')!==-1 && parseInt(value,10)<=0)
					{
						alert('Please enter positive numerics for "'+title+'"');
						ctl.focus();
						return (false);
					}
					req = req.replace('+', '');

					//Negative Integer Check
					if (req.indexOf('-')!==-1 && parseInt(value,10)>=0) {
						alert('Please enter negative numerics for "'+title+'"');
						ctl.focus();
						return (false);
					}
					req = req.replace('-', '');

					//Comparison Integer Check
					if (req.indexOf('<=')!==-1 && (parseInt(value,10) > parseInt(req.substr(req.indexOf('<=')+2,req.length - req.indexOf('<=')),10)))
					{
						alert('Please enter numerics <= "'+req.substr(req.indexOf('<=')+2, req.length - req.indexOf('<='))+'" for "'+title+'"');
						ctl.focus();
						return (false);
					}
					req = req.replace('<=','');
					
					if (req.indexOf('>=')!==-1 && (parseInt(value,10) < parseInt(req.substr(req.indexOf('>=')+2,req.length - req.indexOf('>=')),10)))
					{
						alert('Please enter numerics >= "'+req.substr(req.indexOf('>=')+2, req.length - req.indexOf('>=')) +'" for "'+title+'"');
						ctl.focus();
						return (false);
					}
					req = req.replace('>=', '');
					
					continue;
				}

				//Double value check
				if (req.indexOf('DBL')!==-1)
				{
					if (isNaN(value))
					{
						alert('Please enter numeric values for "'+title+'"');
						ctl.focus();
						return (false);
					}
					req = req.replace('DBL', '');

					//Positive Double Check
					if (req.indexOf('+')!==-1 && parseFloat(value)<=0)
					{
						alert('Please enter positive numerics for "'+title+'"');
						ctl.focus();
						return (false);
					}
					req = req.replace('+', '');
					
					//Negative Double Check
					if (req.indexOf('-')!==-1 && parseFloat(value)>=0)
					{
						alert('Please enter negative numerics for "'+title+'"');
						ctl.focus();
						return (false);
					}
					req = req.replace('-','');

					//Comparison Double Check
					if (req.indexOf('<=')!==-1 && (parseFloat(value) > parseFloat(req.substr(req.indexOf('<=')+2, req.length - req.indexOf('<=')))))
					{
						alert('Please enter numerics <= "'+req.substr(req.indexOf('<=')+2,req.length - req.indexOf('<='))+'" for "'+title+'"');
						ctl.focus();
						return (false);
					}
					req = req.replace('<=','');

					//																[(MUST)DBL>=X]
					if (req.indexOf('>=')!==-1 && (parseFloat(value) < parseFloat(req.substr(req.indexOf('>=')+2,req.length - req.indexOf('>=')))))
					{
						alert('Please enter numerics >= "'+req.substr(req.indexOf('>=')+2,req.length - req.indexOf('>='))+'" for "'+title+'"');
						ctl.focus();
						return (false);

					}
					req = req.replace('>=','');

					continue;
				}

				//Characters and string value check
				if (req.indexOf('LEN')!==-1)
				{
					if (req.indexOf('LEN=')!==-1 && value.length!==parseInt(req.substr(req.indexOf('LEN=')+4),10))
					{
						alert('Please enter "'+req.substr(req.indexOf('LEN=')+4)+'" characters for "'+title+'"');
						ctl.focus();
						return (false);
					}

					if ((req.indexOf('LEN<')!==-1) && !(value.length<=parseInt(req.substr(req.indexOf('LEN<')+4),10)))
					{
						alert('Please enter atmost "'+req.substr(req.indexOf('LEN<')+4)+'" characters for "'+title+'"');
						ctl.focus();
						return (false);
					}

					if ((req.indexOf('LEN>')!==-1) && !(value.length>=parseInt(req.substr(req.indexOf('LEN>')+4),10)))
					{
						var check=req.substr(0,req.indexOf('|')).length;
						if (check!== 0)
						{
							alert('Please enter atleast "'+req.substr(req.indexOf('LEN>')+4,check-4)+'" characters for "'+title+'"');
						}
						else
						{
							alert('Please enter atleast "'+req.substr(req.indexOf('LEN>')+4)+'" characters for "'+title+'"');
						}
						ctl.focus();
						return (false);
					}
				}

				//user name; min 4 characters no special characters
				if (req.indexOf('USERNAME')!==-1)
				{					
					var re = /^[A-Za-z_\.]\w{3,}$/; 
					if (!re.test(value))
					{
						alert('Not valid "'+title+'"');
						ctl.focus();
						return (false);
					}
				}

				if (req.indexOf('AGE18+')!==-1)
				{
					var string = value;
					var separator = '/';
					var stringArray = string.split(separator);
					var mm=stringArray[1];
					var dd=stringArray[0];
					var yy=stringArray[2];
					var thedate = new Date();
    				var mm2 = thedate.getMonth() + 1;
    				var dd2 = thedate.getDate();
    				var yy2 = thedate.getYear();

					if (yy2 < 100)
					{
						yy2 = (yy2 + 1900);
					}

					var yourage = (yy2 - yy);
					if (mm2 < mm)
					{
						yourage-=-1;
					}

					if (mm2===mm)
					{
						if (dd2 < dd)
						{
							yourage-=1;
						}
        			}

    				var agestring=yourage+' ';
					if (parseInt(agestring,10)<18)
					{
						alert('You must be at least 18+ to fill this form.');
						ctl.focus();
						return (false);
					}

				}

				//Character Checks
				//Date Checks
				if (req.indexOf('DATE')!==-1 && value!=='')
				{
					if (!isDate(value))
					{
						alert('Please enter valid date for "'+title+'." [Format :mm/dd/yyyy]');
						ctl.focus();
						return (false);
					}


					if (req.indexOf('FUTURE')!==-1)
					{	
						var dt = new Date();
						var dtVal = new Date(value);

						if (dt > dtVal) {
							alert('Please enter a future date for "'+title+'"');
							ctl.focus();
							return (false);
						}
						req = req.replace('FUTURE','');
					}
					
				}

				//EMAIL
				if (req.indexOf('EMAIL')!==-1 && value!=='')
				{
					if (!isValidEmailStrict(value))
					{
						alert('Please enter valid "'+title+'"');
						ctl.focus();
						return (false);
					}
					
				}

				//Email confirmation
				if (req.indexOf('COMP')!==-1&&value!=='') 
				{
					req = req.replace('MUST','');
					req = req.replace('COMP','');
					var valemailc = trim(eval('frm.'+req.toLowerCase()+'.value'));

					if (valemailc!==value)
					{
						alert('Email Address Mismatched');
						return (false);
					}
				}
			}

			//password; min of 4 characters but no special characters
			if (type==='PASSWORD')
			{
				if (value==='' || value=== null)
				{
					alert('Please enter "'+title+'"');
					ctl.focus();
					return (false);
				}
				else
				{	
					if (req.indexOf('COMP')===-1)
					{					
						if (value.length<=3)
						{
							alert('Please enter "'+title+'" more than 4 characters.');
							ctl.focus();
							return (false);
						}
					}

					re = /^[A-Za-z_\.]\w{3,}$/; 
					if (!re.test(value)) {
						alert('Not a valid password. Do not use special characters.');
						ctl.focus();
						return (false);
					}
				}

				//confirm password
				if (req.indexOf('COMP')!==-1 && value!=='') 
				{
					req = req.replace('MUST','');
					req = req.replace('COMP','');
					var valpwdc = trim(eval('frm.'+req.toLowerCase()+'.value'));
					if (valpwdc!==value)
					{
						alert('Password Mismatched');
						ctl.focus();
						return (false);
					}

					re = /^[A-Za-z_.]\w{3,}/; 
					if (!re.test(value))
					{
						alert('not a valid password');
						ctl.focus();
						return (false);
					}
				}
			}

			if (type==='CHECKBOX')
			{
				if (ctl.checked===false)
				{
					alert('Please check "'+title+'" to proceed.');
					ctl.focus();
					return (false);
				}
			}

			if (ctl.tagName==='SELECT')
			{
				if (req.indexOf('MUST')!==-1)
				{
					if (value==='' || value===null)
					{
							alert('Please select "'+title+'" to proceed.');
							ctl.focus();
							return (false);
					}
				}
			}

			//Simple blnak value check
			if (type==='FILE')
			{
				if (req.indexOf('MUST')!==-1)
				{
					if (value==='' || value===null)
					{
						alert('Please enter "'+title+'"');
						ctl.focus();
						return (false);
					}
					req = req.replace('MUST','');
				}
			}
		}
	}

	return (true);
}

//
function checkAllCB(cb, blnVal)
{
	for (var iCnt=0; iCnt < cb.length; iCnt++)
	{
		cb[iCnt].checked = blnVal;
	}
}

function checkAllFRM(frm, blnVal)
{
	for (var iCnt=0; iCnt < frm.elements.length; iCnt++) {
		if (frm.elements[iCnt].type.toLowerCase()==='checkbox')
		{
			frm.elements[iCnt].checked = blnVal;
		}
	}
}

function isAllChecked(cb, resCb)
{
	for (var iCnt=0; iCnt < cb.length; iCnt++)
	{
		if (!cb[iCnt].checked)
		{
			break;
		}
	}

	if (iCnt===cb.length)
	{
		resCb.checked = true;
	}
	else
	{
		resCb.checked = false;
	}
}

function isAnyCheckedFRM(frm, msg)
{
	/*global alert*/

	for (var iCnt = 0; iCnt < frm.elements.length; iCnt++)
	{
		if (frm.elements[iCnt].type.toLowerCase()==='checkbox')
		{
			if (frm.elements[iCnt].checked)
			{
				return (true);
			}
		}
	 }
	alert(msg);
	return (false);
}

//
function openFixedWindow(argURL, argSize)
{
	/*global window*/
	window.open(argURL, 'newWindow','resizable=no,'+argSize);
}

function openImageWindow(argURL, argSize)
{
	/*global window*/
	window.open(argURL,'newImageWindow','resizable=yes,scrollbars=yes,'+argSize);
}

function clearCombo(varCombo)
{
	for (var iCnt = varCombo.options.length; iCnt >= 0; --iCnt)
	{
		varCombo.options[iCnt]=null;
	}
}


function Highlight(e)
{
	/*global document*/
	var r=document.getElementById('tr_'+e.value).className;

	if (r==='trListValue')
	{
		r = 'trListValue1';
	}
	else
	{
		r = 'trListValue';
	}

	document.getElementById('tr_'+e.value).className=r;
}

function createIDs(e)
{
	/*global document*/
	var nm = e.name;
	var cb = eval('document.frmMain.'+e.name);

	var t = '';
	var f = '';

	if (cb.length)
	{
		for (var i = 0; i < cb.length; i++)
		{
			if (cb[i].checked)
			{
				t += '\''+cb[i].value+'\',';
			}
			else
			{
				f += '\''+cb[i].value+'\',';
			}
		}

		t = t.substr(0, t.length - 1);
		f = f.substr(0, f.length - 1);
	}
	else
	{
		if (cb.checked)
		{
			t = '\''+cb.value+'\'';
		}
		else
		{
			f = '\'' + cb.value + '\'';
		}
	}

	document.getElementById(nm.replace('cb_', 'h_')).value=t+'|'+f;
}

function doChangeWay(ctl, val)
{
	/*global document*/
	document.getElementById(ctl).value = val;
	document.frmMain.submit();
}

function doChangeSort(argSort)
{
	/*global document*/
	var sort=document.frmMain.sort.value;
	var order=document.frmMain.order.value.toLowerCase();

	if (sort===argSort)
	{
		if (order==='asc')
		{
			order = 'desc';
		}
		else
		{
			order = 'asc';
		}
	}
	else
	{
		order = 'asc';
	}

	document.location=document.frmMain.action+'?sort='+argSort+'&order='+order;
}

var popUpWin=0;
function popUpWindow(URLStr, wintitle,left, top, width, height,isscrollbars)
{
	/*global open, popUpWin*/
	if(popUpWin)
	{
		if(!popUpWin.closed)
		{
			popUpWin.close();
		}
	}
	popUpWin = open(URLStr, wintitle, 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars='+isscrollbars+',resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');
}

function confirmDelete()
{
	/*global confirm*/
	var agree=confirm('Are you wish to delete this entry?');
	if (agree)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function display(myimage)
{
	/*global window*/
	var html =	'<html><head><title>Photo<\/title>'+
  				'<\/head><body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0">'+
				'<center><img src="'+ myimage +'" border="0" name="image" onload="window.resizeTo(document.image.width+30,document.image.height+30)">'+
				'<\/center><\/body><\/html>';

	var popup=window.open('','image','toolbar=0,location=0,directories=0,menuBar=0,scrollbars=0,resizable=1');
	popup.document.open();
	popup.document.write(html);
	popup.document.focus();
	popup.document.close();
}

function isNumber(num)
{
	var numSet='0123456789.-';
	var dotCount=0,fhCount=0;
	var result=true;

	if (num===null || num==='')
	{
		result=false;
	}

	if (num==='-.')
	{
		return false;
	}

	if (num.indexOf('.')===0 || num.indexOf('.')===num.length-1)
	{
		return false;
	}

	if (num.indexOf('-')>0)
	{
		return false;
	}

	for (var i=0;i<num.length;i++)
	{
		if (num.slice(i,i+1)==='.')
		{
			dotCount++;
		}

		if (num.slice(i,i+1)==='-')
		{
			fhCount++;
		}

		if (numSet.indexOf(num.slice(i,i+1))===-1)
		{
			result=false;
			break;
		}

		if (dotCount>1)
		{
			result=false;
			break;
		}

		if (fhCount>1)
		{
			result=false;
			break;
		}
	}

	return result;
}

function checkSearchProduct()
{
	/*global alert*/
	if (document.getElementById('pri1').value!=='')
	{
		if (!isNumber(document.getElementById('pri1').value))
		{
			alert('Please input a number.');
			document.getElementById('pri1').focus();

			return false;
		}
	}

	if (document.getElementById('pri2').value!=='')
	{
		if (!isNumber(document.getElementById('pri2').value))
		{
			alert('Please input a numbet.');
			document.getElementById('pri2').focus();

			return false;
		}
	}

	return true;
}

function liveSupportButton()
{
	/*global document, location*/
	var selUVx=document.createElement('script');
	selUVx.type='text/javascript';
	selUVx.defer=true;
				
	if (location.protocol.indexOf('https')===0)
	{
		selUVx.src='https://secure.providesupport.com/image/js/orientalpearls/safe-standard.js?ps_h=lUVx&ps_t='+new Date().getTime();
	}
	else
	{
		selUVx.src='http://image.providesupport.com/js/orientalpearls/safe-standard.js?ps_h=lUVx&ps_t='+new Date().getTime();
	}

	document.getElementById('sdlUVx').appendChild(selUVx);

	return true;
}

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_showHideLayers() { //v6.0

	  var i,p,v,obj,args=MM_showHideLayers.arguments;

	  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];

	    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }

	    obj.visibility=v; }

	}