// Preload wait animation for displayeventinfo, etc...
	image1 = new Image();
	image1.src = imageWWWPath + '/waitani.gif';
	image2 = new Image();
	if(styleWWWPath != "")
		image2.src = styleWWWPath + '/style.css';
	else
		image2.src = '../stylesheets/style.css';

/* --------------------------------------------------
	Configuration Variables
-------------------------------------------------- */

// Browser Check
	var isNav = (navigator.appName.indexOf("Netscape") != -1) ? true : false;
	var isIE = (navigator.appName.indexOf("Microsoft") != -1) ? true : false;
	var isDOM = (document.getElementById) ? true : false;
	var agt = navigator.userAgent.toLowerCase();
	var isMac = (agt.indexOf("mac")!=-1);

// Size of input boxes for different browsers
	var inputSizeS;
	var inputSizeM;
	var inputSizeL;
	if(isNav) {
		inputSizeS = 5;
		inputSizeM = 15;
		inputSizeL = 20;
		inputTimer = 3;
	} else {
		inputSizeS = 10;
		inputSizeM = 20;
		inputSizeL = 25;
		inputTimer = 3;
	}

// there are generally two header types, images and text...
// set to images if your headers are images
// set to text if your headers are text
	var headType = "text";

// set to whatever you want the text for 00:00 to display, eg, midnight, 00:00 or time TBD
	var zerotimetext = "time TBD";

// set to 1 to turn on, 0 to off
	var showRenewalLinks = 1;
	var showStudentLinks = 1;
	var showDonationLinks = 1;
	var showPAHreissue = 1;
	
// parent group code
	var bypassGroup = "GS";

// hidden group codes 
	var hiddenGroups = new Array();
	var hgi = 0
	hiddenGroups[hgi++] = "HIDDEN";
	hiddenGroups[hgi++] = "PACMON";

	function isHiddenGroup(groupCode) {
		for(var i=0; i < hiddenGroups.length; i++) {
			if(hiddenGroups[i] == groupCode) {
				return true;
			}
		}
		return false;
	}

// set to 1 to include Canadian provinces
	var useCanadianProvince = 0;

// order of address lines
	function makeAddrOrder(number, type, req) {
		this.number = number;
		this.type = type;
		this.req = req;
	}
	var addrOrder = new Array();
	addrOrder[0] = new makeAddrOrder(2, "text", 1);
	addrOrder[1] = new makeAddrOrder(1, "text", 0);
	addrOrder[2] = new makeAddrOrder(3, "hidden", 0);

// array of days of the week (abbreviated & full)
	var dowa =  new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat");
	var dowf =  new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");

// array of months of the year (abbreviated & full)
	var moya = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");
	var moyf = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");

// array of credit cards used -- put the name of the cc in the array below to add it to the site.
// remove it from the array to remove it from the site
//	var ccUsed = new Array("Visa", "MasterCard", "Discover", "Amex");
	var ccUsed = new Array("Visa", "MasterCard", "Discover");

// ticket office phone number... used throughout the site in "helper" text... ie (for more information call the ticket office at XXXXXX)
	var phoneNumber = "XXXXXXXXXX";

// trim leading and trailing spaces;
	function trim(stringToTrim) {
		return stringToTrim.replace(/^\s+|\s+$/g,"");
	}

// changes all letters to uppercase
	function allCaps(field) {
		var theString = field.value.toUpperCase();
		field.value = theString;
	}

// strip non numerics
	function numbersOnly(field){
		var badName = field.value;
		var goodChars = "01234567890";
		var goodName = "";
		for(var a=0; a<badName.length; a++) {
			if(goodChars.indexOf(badName.charAt(a)) !== -1) {
				goodName += badName.charAt(a);
			}
		}
		field.value = goodName;
	}

// generic rollover function
	function flip(image, type) {
		document[image].src = imageWWWPath + "/" + image + type + ".gif";
	}

// generic pop up window function
	function pop(url, w, h) {
		window.open(url, '', 'scrollbars=yes,resizable=yes,width='+w+',height='+h+'');
	}

// function to print the header on each page
// if your headers are images, the image parameter is the filename and the text parameter is the alt text
// if your headers are text, the image parameter is ignored and the text parameter is the text printed
	function printHead(image, text) {
		if(headType == "image") {
			document.write(
				'<table cellpadding="0" cellspacing="0" border="0" width="100%">',
				'	<tr>',
				'		<td width="34"><img src="', imageWWWPath, '/head-l.gif" width="34" height="19"  border="0"></td>',
				'		<td width="100%"><img src="', imageWWWPath, '/head-',image,'.gif" height="19" alt="',text,'" border="0"></td>',
				'	</tr>',
				'</table>'
			);
		} else if(headType == "text") {
			document.write(
				'<h1>',text,'</h1>'
			);
		}
		return true;
	}

// supporting function to printBreadCrumbs
	function printParent(group) {
		var match = -1;
		for(var i=0; i < fullGroupList.length; i++) {
			if(group == fullGroupList[i].code) {
				match = i;
				if(fullGroupList[i].parent != "") {
					printParent(fullGroupList[i].parent);
				}
			}
		}
		if(match >= 0) {
			document.write('<span>', fullGroupList[match].description, ' &gt; </span>');
		}
	}

// function to print "Bread Crumb" type navigation
	function printBreadCrumbs(group) {
		document.write('<div id="breadcrumbs">');
		if(group.code != "") {
			for(var i=0; i < fullGroupList.length; i++) {
				if(group.code == fullGroupList[i].code && fullGroupList[i].parent != "") {
					printParent(fullGroupList[i].parent);
				}
			}
			document.write('<strong>', group.description, '</strong>');
		}
		document.write('</div>');
		return;
	}

	function twoForm(n) { return (n < 10 ? "0"+n : n); }

// function to format an amount eg xxx.xx
	function formatAmt(amount) {
		var fmt_amt = Math.round(amount * 100) / 100;
		fmt_amt = fmt_amt.toString();
		var ipos = fmt_amt.indexOf(".");
		if(ipos == -1)
			fmt_amt += ".00";
		else if(fmt_amt.substr(ipos + 1).length == 1)
			fmt_amt += "0";
		return fmt_amt;
	}

// helper function eg turns 3 into 03
	function twoForm(n) {
		return (n < 10 ? "0"+n : n);
	}

// function to make the date & time a nice format (with labels)
	function dateTimeFormat(time) {
		if(time == "") {
			var formatedTime = "date &amp; time n/a";
		} else {
			var m = time.getMinutes();
			var h24 = time.getHours();
			var h = h24 > 12 ? h24 - 12 : h24;
			/*
			if(h24 > 12)
				h = h24-12;
			else if(h24 == 0)
				h = 12;
			else
				h = h24;
			*/
			if(m == 0 && h == 0) {
				hm = zerotimetext;
			} else if(m == 0 && h == 12) {
				hm = "noon";
			} else {
				hm = h + ":" +  twoForm(m) + (h24 < 12 ? " am" : " pm");
			}

			var formatedTime = "Date:&nbsp;" + dowf[time.getDay()] + ",&nbsp;" + moyf[time.getMonth()] + "&nbsp;" + time.getDate() + ",&nbsp;" + time.getFullYear() + "&nbsp;&nbsp; Time:&nbsp;" + hm;
		}

		return formatedTime;
	}

// function to make the date & time a nice format (no labels)
	function dateTimeFormat2(time) {
		if(time == "") {
			var formatedTime = "date &amp; time n/a";
		} else {
			var m = time.getMinutes();
			var h24 = time.getHours();
			var h = h24 > 12 ? h24 - 12 : h24;
			/*
			if(h24 > 12)
				h = h24-12;
			else if(h24 == 0)
				h = 12;
			else
				h = h24;
			*/
			if(m == 0 && h == 0) {
				hm = zerotimetext;
			} else if(m == 0 && h == 12) {
				hm = "noon";
			} else {
				hm = h + ":" +  twoForm(m) + (h24 < 12 ? " am" : " pm");
			}

			var formatedTime = dowf[time.getDay()] + ",&nbsp;" + moyf[time.getMonth()] + "&nbsp;" + time.getDate() + ",&nbsp;" + time.getFullYear() + "&nbsp;" + hm;
		}

		return formatedTime;
	}

// function to make the date a nice format
	function dateFormat(time) {
		if(time == "") {
			var formatedTime = "n/a";
		} else {
			var formatedTime = dowf[time.getDay()] + ",&nbsp;" + moyf[time.getMonth()] + "&nbsp;" + time.getDate() + ",&nbsp;" + time.getFullYear();
		}

		return formatedTime;
	}

// function to make the date a nice format for pop up boxes (no &nbsp;)
	function popdateFormat(time) {
		if(time == "") {
			var formatedTime = "n/a";
		} else {
			var formatedTime = dowf[time.getDay()] + ", " + moyf[time.getMonth()] + " " + time.getDate() + ", " + time.getFullYear();
		}

		return formatedTime;
	}


// function to make the time a nice format
	function timeFormat(time) {
		if(time == "") {
			var hm = "n/a";
		} else {
			var m = time.getMinutes();
			var h24 = time.getHours();
			var h = h24 > 12 ? h24 - 12 : h24;
			/*
			if(h24 > 12)
				h = h24-12;
			else if(h24 == 0)
				h = 12;
			else
				h = h24;
			*/
			if(m == 0 && h == 0) {
				hm = zerotimetext;
			} else if(m == 0 && h == 12) {
				hm = "noon";
			} else {
				hm = h + ":" +  twoForm(m) + (h24 < 12 ? " am" : " pm");
			}
		}

		return hm;
	}

// formats a number to xxx.xx
	function amountFormat(amount) {
		var amtFmt = Math.round(amount * 100) / 100;
		amtFmt = amtFmt.toString();
		var ipos = amtFmt.indexOf(".");
		if(ipos == -1) {
			amtFmt += ".00";
		} else if(amtFmt.substr(ipos + 1).length == 1) {
			amtFmt += "0";
		}
		return amtFmt;
	}

// prints error message, centered and in error style
	function printError(errorMsg) {
		document.write(
			'<br><div align="center" class="error">', errorMsg ,'</div><br>'
		);
	}

// prints the event head in the cart & orderok pages
	function printCartTitle(text, colspan) {
		if(colspan == "") {
			colspan = 10;
		}
		document.write(
			'<tr><td colspan="',colspan,'" class="cartbox">',text,'</td></tr>'
		);
	}

// prints head lines in cart & orderok pages
	function printTypeHead(text, colspan) {
		if(colspan == "") {
			colspan = 10;
		}
		document.write(
			'<tr><td colspan="',colspan,'">&nbsp;</td></tr>',
			'<tr><td colspan="',colspan,'" class="sectionhead">',text,'</td></tr>'
		);
	}

// Opens search box on SE
	function launch() {
		remote = open(seWWWPath+"/datePicker.html", "child", "resizable,dependent=yes,width=400,height=400");
	}

// Works with launch function	for the datepicker
	function callBack(child, groupCode, timeDateFrom, timeDateTo) {
		document.dateForm.timeDateFrom.value = timeDateFrom;
		document.dateForm.timeDateTo.value = timeDateTo;
		document.dateForm.groupCode.value = groupCode;
		child.close();
		document.dateForm.submit();
	}
	
// Validates email address with the following rules:
// 1. One or more characters before the "@"
// 2. An optional "[", because user@[255.255.255.0] is a valid e-mail
// 3. A sequence of letters, numbers, and periods, which are all valid domain or IP address characters
// 4. A period followed by a 2-3 letter suffix
// 5. An optional "]"

	function emailValidate(email) {

		var str = email.value; // email string
  
		var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/; // not valid
		//og: var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/; // valid
		var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,4})(\]?)$/; // valid

		if (!reg1.test(str) && reg2.test(str)) { // if syntax is valid
			return true;
		}

		window.status = "Please enter a valid Internet e-mail address";

		email.focus();
		email.select();

		return false;
	}

// validates account number
	function accntValidate(account) {
		var pe = /[0-9]/;
		var val = account.value;

		if(!(val.match(pe)) ) {
			window.status = "Please enter a valid e-mail address or account number";
			account.select();
			account.focus();
			return false;
		}
		return true;
	}

// Validates password is not empty and between 4 and 12 characters
	function passwordValidate(password) {
		if(password.value == "") {
			window.status = "Please enter a password";
			password.focus();
			return false;
		}
		if(password.value.length < 4 || password.value.length > 12) {
			window.status = "Your Password must be between 4 and 12 characters in length.";
			password.focus();
			return false;
		}
	}

// Disables enter button in input boxes
	function disableEnter(fld) {
		var key = (window.event) ? event.keyCode : (key == 0);
		if(key == 13) {
			return false;
		}
		return true;
	}

// Validates that a 7 or 10 digit phone number has been entered
	function phoneValidate(phone) {
		re  = /[^0-9]/g;
		val = phone.value.replace(re, ""); // take out ' ', '()', '/', '-'
		if((!val.match(/^[2-9]\d{9}$/)) && (!val.match(/^[2-9]\d{6}$/))) {
			alert("Please enter a valid 7 or 10 digit phone number");
			phone.focus();
			phone.select();
			return false;
		}
		if(val.length == 10)
		 phone.value = "(" + val.substr(0, 3) + ") " + val.substr(3, 3) + "-" + val.substr(6, 4) ;
		else
		 phone.value = val.substr(0, 3) + "-" + val.substr(3, 4);		 
		return true ;
	}

// formats the phone number into the following format: (XXX)XXX-XXXX
	function phoneFormat(field) {
		re  = /[^0-9]/g;
		val = field.value.replace(re, ""); // take out non integers

		if(!val.match(/^[2-9]\d{9}$/)) {
			window.status = "Please enter a valid 10 digit phone number";
			return false;
		}

		field.value = "(" + val.substr(0, 3) + ")" + val.substr(3, 3) + "-" + val.substr(6, 4);

		return true;
	}

// Changes first letter of all strings in an input field to Uppercase
	function changeCase(field) {
		var fstring;
		var tmpChar;
		var preString;
		var postString;
		var flength;
		fstring = field.value.toLowerCase();
		flength = fstring.length;
		if (flength > 0) {
			for (s = 0; s < flength; s++) {
				if (s == 0)  {
					tmpChar = fstring.substring(0,1).toUpperCase();
					postString = fstring.substring(1,flength);
					fstring = tmpChar + postString;
				} else {
					tmpChar = fstring.substring(s, s+1);
					if (tmpChar == " " && s < (flength-1)) {
						tmpChar = fstring.substring(s+1, s+2).toUpperCase();
						preString = fstring.substring(0, s+1);
						postString = fstring.substring(s+2,flength);
						fstring = preString + tmpChar + postString;
					}
				}
			}
		}
		field.value = fstring;
	}

// address labels & states
//Default state code.
	var defaultStCode = "";
//Default country code.
	var defaultCnCode = "";

// Array for State code and state name
	var stCodes = new Array(
		"AL", "AK", "AZ", "AR", "CA", "CO", "CT", "DE", "DC", "FL",
		"GA", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME",
		"MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH",
		"NJ", "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "PR",
		"RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "WA", "WV",
		"WI", "WY",
		"-",
		"AB", "BC", "LB", "MB", "NB", 
		"NF", "NS", "NT", "ON", "PE",
		"QC", "SK", "YT",
		"-", "N/A"
	);

	var stNames = new Array(
		"Alabama", "Alaska", "Arizona", "Arkansas", "California",
		"Colorado", "Connecticut", "Delaware", "District of Columbia", "Florida",
		"Georgia", "Hawaii", "Idaho", "Illinois", "Indiana",
		"Iowa", "Kansas", "Kentucky", "Louisiana", "Maine",
		"Maryland", "Massachusetts", "Michigan", "Minnesota", "Mississippi",
		"Missouri", "Montana", "Nebraska", "Nevada", "New Hampshire",
		"New Jersey", "New Mexico", "New York", "North Carolina", "North Dakota",
		"Ohio", "Oklahoma", "Oregon", "Pennsylvania", "Puerto Rico",
		"Rhode Island", "South Carolina", "South Dakota", "Tennessee", "Texas",
		"Utah", "Vermont", "Virginia", "Washington", "West Virginia",
		"Wisconsin", "Wyoming",
		"-------------",
		"Alberta", "British Columbia", "Labrador", "Manitoba", "New Brunswick",
		"Newfoundland", "Nova Scotia", "Northwest Territories", "Ontario", "Prince Edward Island",
		"Quebec", "Saskatchewan", "Yukon Territory",
		"-------------", "NOT APPLICABLE"
	);


// Array for Country code and country name
	var cnCodes = new Array(
		"US", "AL",
		"DZ", "AD", "AO", "AR", "AM", "AW",
		"AU", "AT", "AZ", "PT", "BS", "BH",
		"BD", "BB", "BY", "BE", "BZ", "BJ",
		"BM", "BT", "BO", "BA", "BW", "BR",
		"BN", "BG", "BF", "BI", "KH", "CM",
		"CA", "CV", "KY", "CF", "TS", "CL",
		"CN", "CO", "ZR", "CG", "FR", "CR",
		"CI", "HR", "CY", "CZ", "DK", "DJ",
		"DO", "EC", "EG", "SV", "GQ", "ER",
		"EE", "ET", "DK", "FJ", "FI", "FR",
		"GF", "PF", "GA", "GE", "DE", "GH",
		"GB", "GR", "GD", "GP", "GT",
		"GN", "GW", "GY", "HT", "HN", "HK",
		"HU", "IS", "IN", "ID", "IQ", "IE",
		"IL", "IT", "JM", "JP", "JO", "KG",
		"KE", "KR", "KW", "KG", "LA", "LV",
		"LS", "LR", "LI", "LT", "LU", "MO",
		"MK", "MG", "PT", "MW", "MY", "MV",
		"ML", "MT", "MQ", "MR", "MU", "MX",
		"MD", "MN", "MA", "MZ", "NA", "NR",
		"NP", "NL", "AN", "NC", "NZ", "NI",
		"NE", "NG", "NO", "OM", "PK", "PA",
		"PG", "PY", "PE", "PH", "PL", "PT",
		"QA", "RO", "RU", "RW", "KN", "LC",
		"VC", "SA", "SN", "YU", "SC", "SL",
		"SG", "SK", "SI", "SB", "SO", "ZA",
		"ES", "LK", "SD", "SZ", "SE", "SZ",
		"SY", "TW", "TJ", "TZ", "TH", "TG",
		"TT", "TN", "TR", "TM", "UG",
		"UA", "AE", "UY", "VU", "VE",
		"VN", "WS", "YE"
	);

	var cnNames = new Array(
		"United States of America", "Albania", 
		"Algeria", "Andorra", "Angola", "Argentina", "Armenia", "Aruba", 
		"Australia", "Austria", "Azerbaijan", "Azores", "Bahamas", "Bahrain", 
		"Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", 
		"Bermuda", "Bhutan", "Bolivia", "Bosna-Herzegovina", "Botswana", "Brazil", 
		"Brunei Darussalam", "Bulgaria", "Burkina FASO", "Burundi", "Cambodia", "Cameroon", 
		"Canada", "Cape Verde", "Cayman Islands", "Cntl African Republic", "Chad", "Chile", 
		"China", "Columbia", "Democratic Republic of Congo", "Republic of the Congo (Brazaville)", "Corsica", "Costa Rica", 
		"Cote d&#39;Ivoire (Ivory Coast)", "Croatia", "Cyprus", "Czech Republic", "Denmark", "Djibouti", 
		"Dominican Republic", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea", 
		"Estonia", "Ethiopia", "Faroe Islands", "Fiji", "Finland", "France", 
		"French Guiana", "French Polynesia (Tahitti)", "Gabon", "Georgia, Republic of", "Germany", "Ghana", 
		"Great Britain & Northern Ireland", "Greece", "Grenada", "Guadeloupe", "Guatemala", 
		"Guinea", "Guinea-Bissau", "Guyana", "Haiti", "Honduras", "Hong Kong", 
		"Hungary", "Iceland", "India", "Indonesia", "Iraq", "Ireland (Eire)", 
		"Israel", "Italy", "Jamaica", "Japan", "Jordan", "Kazakhstan", 
		"Kenya", "South Korea, Republic of", "Kuwait", "Kyrgyzstan", "Laos", "Latvia", 
		"Lesotho", "Liberia", "Liechtenstein", "Lithuania", "Luxembourg", "Macao", 
		"Macedonia, Republic of", "Madagascar", "Madeira Islands", "Malawi", "Malaysia", "Maldives ", 
		"Mali", "Malta", "Martinique", "Mauritania", "Mauritius", "Mexico", 
		"Moldova", "Mongolia", "Morocco", "Mozambique", "Namibia", "Nauru", 
		"Nepal", "Netherlands (Holland)", "Netherlands Antilles", "New Caledonia", "New Zealand", "Nicaragua", 
		"Niger", "Nigeria", "Norway", "Oman", "Pakistan", "Panama", 
		"Papua New Guinea", "Paraguay", "Peru", "Phillipines", "Poland", "Portugal", 
		"Qatar", "Romania", "Russia (Russia Federation)", "Rwanda", "St. Christopher (St. Kitts) and Nevis", "St. Lucia", 
		"St. Vincent and the Grenadines", "Saudi Arabia", "Senegal", "Serbia Montenegro (Yugoslavia)", "Seychelles", "Sierra Leone", 
		"Singapore", "Slovak Republic (Slovakia)", "Slovenia", "Solomon Islands", "Somalia", "South Africa", 
		"Spain", "Sri Lanka ", "Sudan", "Swaziland", "Sweden", "Switzerland", 
		"Syrian Arab Republic", "Taiwan", "Tajikistan", "Tanzania", "Thailand", "Togo", 
		"Trinidad & Tobago", "Tunisia", "Turkey", "Turkmenistan", "Uganda", 
		"Ukraine", "United Arab Emirates", "Uruguay", "Vanuatu", "Venezuela", 
		"Vietnam", "Western Samoa", "Yemen"
	);

	if(useCanadianProvince) {
		var stateAddrLabel = "Province/State";
		var zipAddrLabel = "PostalZip/ Code";
	} else {
		var stateAddrLabel = "State";
		var zipAddrLabel = "Zip Code";
	}

	function getStateLabel() {
		return stateAddrLabel;
	}

	function getZipCodeLabel() {
		return zipAddrLabel;
	}

//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//
// all site specific functions go here
//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//
	function imgOn(img) {
		document[img].src = imageWWWPath+"/menu-on.gif";
	}
	function imgOff(img) {
		document[img].src = imageWWWPath+"/menu-off.gif";
	}
	

// hidden dates
	var hiddenDates = new Array(
	//	"New Jersey Symphony - Marvin Hamlisch At The Movies"
	);

	function isHiddenDate(event, date) {
		if(date.getFullYear() == "2099")
			return true;
		
		for(var hdi=0; hdi < hiddenDates.length; hdi++) {
			if(hiddenDates[hdi].toUpperCase() == event.toUpperCase()) {
				return true;
			}
		}
		return false;
	}

// Centered Pop Up Box
	function popBox(href, name, w, h) {
		if(name=="undefined") 	name ="evenue";
		if(w=="undefined") 		w=640;
		if(h=="undefined") 		h=480;
		
		var winl = (screen.width - w) / 2;
		var wint = (screen.height - h) / 2;
		winprops = 'width='+w+',height='+h+',top='+wint+',left='+winl+',scrollbars=yes,resizable=yes';
		win = window.open(href, name, winprops);
		if (parseInt(navigator.appVersion) >= 4) {
			win.window.focus();
		}
	}
