//::Pop-Up Window (complete settings)
//Ex.	onClick="PopWin('page.asp','WindowName','500','300','yes','yes','no','no','no','no');return false"
var win = null;
function PopWin(url,name,width,height,scroll,resize,toolbar,loc,status,menubar){
	intTop = (screen.height) ? (screen.height-height)/2 : 0;
	intLft = (screen.width) ? (screen.width-width)/2 : 0;
	strSet = "width="+width+",height="+height+",top="+intTop+",left="+intLft+",scrollbars="+scroll+",resizable="+resize+",toolbar="+toolbar+",location="+loc+",status="+status+",menubar="+menubar;
	objWin = window.open(url,name,strSet)
	if (objWin.window.focus) {
		objWin.window.focus();
	}
}


//::Attach onLoad Event (Crossbrowser)
//ex.	 onLoadEvent("alert('sample')");
function onLoadEvent(strFunc) {
	if (window.addEventListener)
		window.addEventListener("load", function(){eval(strFunc)}, false);
	else if (window.attachEvent)
		window.attachEvent("onload", function(){eval(strFunc)});
	else if (ie4||dom||document.layers)
		window.onload = function(){eval(strFunc)};
}


//::Checkbox Limit Function
//  Insert after Form or BODY onLoad...
//       CheckboxintLimit(document.FORM.CHECKBOXES,3,0);
function CheckboxintLimit(strGroup,intLimit,strMethod){
	var strGroup = strGroup
	var intLimit = intLimit
	for (var i = 0; i < strGroup.length; i++){
		if (strMethod == 0) {
			strGroup[i].onclick = function(){
				var intChecked = 0;
				for (var i = 0; i < strGroup.length; i++) {
					intChecked += (strGroup[i].checked) ? 1 : 0;
				}
				if (intChecked > intLimit){
					alert("You may only select a maximum of " + intLimit + " checkboxes.")
					this.checked = false;
				}
			}
		}
		else {
			var intChecked = 0;
			for (var i = 0; i < strGroup.length; i++) {
				intChecked += (strGroup[i].checked) ? 1 : 0;
			}
			if (intChecked > intLimit){
				return false;
			}
		}
	}
	return true;
}


//::Flash Plugin Version Detection
//example: var strFlashVer = DetectFlashVer(9,0,0,1);
//output:  0 = True | False		(Up-To-Date | Older)
//output:  1 = -1 | 0 | 9.0.124	(None | Up-To-Date | Older)
var isIE    = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin   = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

function GetSwfVer(){
	var flashVer = -1;
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			if ( descArray[3] != "" ) {
				tempArrayMinor = descArray[3].split("r");
			} else {
				tempArrayMinor = descArray[4].split("r");
			}
			var versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		var version;
		var axo;
		var e;
		try {
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
		if (!version)
		{
			try {
				axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
				version = "WIN 6,0,21,0";
				axo.AllowScriptAccess = "always";
				version = axo.GetVariable("$version");
			} catch (e) {
			}
		}
		if (!version)
		{
			try {
				axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
				version = axo.GetVariable("$version");
			} catch (e) {
			}
		}
		if (!version)
		{
			try {
				axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
				version = "WIN 3,0,18,0";
			} catch (e) {
			}
		}

		if (!version)
		{
			try {
				axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
				version = "WIN 2,0,0,11";
			} catch (e) {
				version = -1;
			}
		}
		flashVer = version;
	}
	return flashVer;
}

function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision, intOutput) {
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		if (intOutput == 0) {
			return false;
		} else {
			return versionStr;
		}
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			tempArray         = versionStr.split(" ");	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];
		var versionFull       = versionMajor + "." + versionMinor + "." + versionRevision;
		if (versionMajor > parseFloat(reqMajorVer)) {
			if (intOutput == 0) {
				return true;
			} else {
				return 0;
			}
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer)) {
				if (intOutput == 0) {
					return true;
				} else {
					return 0;
				}
			}
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision)) {
					if (intOutput == 0) {
						return true;
					} else {
						return 0;
					}
				}
			}
		}
		if (intOutput == 0) {
			return false;
		} else {
			return versionFull;
		}
	}
}


//::Focus Flash Player
function FocusPlayer() {
	var objPlayer = document.getElementById("flashplayer");
	if (typeof(objPlayer) != "undefined") {
		//window.onError = ignore();
		//function ignore() {return true};
		objPlayer.focus();
	}
}


//::Confirm Delete
function del(url,msg){
	if (confirm(msg)) {
		document.location.href = url;
	}else{}
}


//::Check if form element exists
function CheckExistingElement(elementName){
	for(var i=0; i<document.forms[0].elements.length; i++){
		if(document.forms[0].elements[i].name== elementName){
			return true;
		}
	}
}


//::Favorite Quick Playlist
function FavoriteQuickPlaylist() {
	var strUrl = "material.asp?id=0&title=My%20Favorite%20Material&q=&c=&t=1,%202&st=&u=F"
	var strVal = document.getElementById("srt").value;

	switch (strVal) {
		case "1":	//Favorite Date Added (New First)
			strUrl = strUrl + "&sb=8&sd=1"
			break;

		case "2":	//Favorite Date Added (Old First)
			strUrl = strUrl + "&sb=8&sd=2"
			break;

		case "3":	//Material Type (Movies First)
			strUrl = strUrl + "&sb=5&sd=1"
			break;

		case "4":	//Material Type (Photos First)
			strUrl = strUrl + "&sb=5&sd=2"
			break;

		case "5":	//Title (A-Z)
			strUrl = strUrl + "&sb=6&sd=2"
			break;

		case "6":	//Title (Z-A)
			strUrl = strUrl + "&sb=6&sd=1"
			break;
	}

	document.location.href = strUrl;
}


//::Highlight Row
function HighlightRow(objChk,strID) {
	if (objChk.checked) {
		document.getElementById(strID).className='Outline3';
	}
	else {
		document.getElementById(strID).className='Outline1';
	}
}


//::Display Upload Form Sections
function DisplayUploadForm() {
	var objUserType1 = document.getElementById("usertype_0");
	var objUserType2 = document.getElementById("usertype_1");

	var strPName  = document.getElementById("p_name").value;
	var strPEmail = document.getElementById("p_email").value;
	var strPFile  = document.getElementById("p_file").value;

	var strWName  = document.getElementById("w_name").value;
	var strWEmail = document.getElementById("w_email").value;
	var strW2257  = document.getElementById("w_2257").value;

	var strTitle  = document.getElementById("title").value;
	var objCat    = document.getElementsByName("chkCat");
	var strFile   = document.getElementById("file").value;

	if (objUserType1.checked) {
		document.getElementById("tblLegal").style.display = "";
		document.getElementById("tblWebmaster").style.display = "none";

		if (strPName != "" &&
			strPEmail != "" &&
			strPFile != "") {
			document.getElementById("tblUpload").style.display = "";
		}
		else {
			document.getElementById("tblUpload").style.display = "none";
			document.getElementById("tblSubmit").style.display = "none";
		}
	}
	else if (objUserType2.checked){
		document.getElementById("tblLegal").style.display = "none";
		document.getElementById("tblWebmaster").style.display = "";

		if (strWName != "" &&
			strWEmail != "" &&
			strW2257 != "") {
			document.getElementById("tblUpload").style.display = "";
		}
		else {
			document.getElementById("tblUpload").style.display = "none";
			document.getElementById("tblSubmit").style.display = "none";
		}
	}

	if (strTitle != "" &&
		strFile != "" &&
		CheckSelected(objCat)) {
		document.getElementById("tblSubmit").style.display = "";
	}
	else {
		document.getElementById("tblSubmit").style.display = "none";
	}
}


//::Display Email Field
var intEmailFld = 1;
function DisplayEmailField() {
	intEmailFld ++;
	if (intEmailFld <= 25) {
		document.getElementById("rowEmail" + intEmailFld).style.display = "";
		if (intEmailFld == 25) {
			document.getElementById("rowEmail0").style.display = "none";
		}
	}
}


//::Display Contact Other
function DisplayContactOther(strVal) {
	if (strVal == "Other...") {
		document.getElementById("rowOther").style.display = "";
	}
	else {
		document.getElementById("rowOther").style.display = "none";
	}
}


//::Search Mode Function
function SearchMode(strMode) {
	if (strMode == "Load") {
		strMode = ReadCookie("SearchMode");
	}
	else {
		WriteCookie("SearchMode",strMode);
	}

	var objForm = document.frmSearchCriteria;

	switch (strMode) {
		case "Advanced":
			objForm.q[1].value = objForm.q[0].value;

			objForm.q[0].disabled      = true;
			objForm.search[0].disabled = true;
			document.getElementById("tblBasic").style.display = "none";

			objForm.q[1].disabled      = false;
			objForm.search[1].disabled = false;
			objForm.c.disabled         = false;
			objForm.t.disabled         = false;
			objForm.d.disabled         = false;
			objForm.u.disabled         = false;
			objForm.sb.disabled        = false;
			objForm.sd.disabled        = false;
			objForm.wc.disabled        = false;
			document.getElementById("tblAdvanced").style.display = "";
			break;

		default: //Basic
			objForm.q[0].value = objForm.q[1].value;

			objForm.q[0].disabled      = false;
			objForm.search[0].disabled = false;
			document.getElementById("tblBasic").style.display = "";

			objForm.q[1].disabled      = true;
			objForm.search[1].disabled = true;
			objForm.c.disabled         = true;
			objForm.t.disabled         = true;
			objForm.d.disabled         = true;
			objForm.u.disabled         = true;
			objForm.sb.disabled        = true;
			objForm.sd.disabled        = true;
			objForm.wc.disabled        = true;
			document.getElementById("tblAdvanced").style.display = "none";
			break;
	}
}


//::Cookie Write Function
function WriteCookie(strName,strValue){
	var objDate = new Date();
	objDate.setDate(objDate.getDate() + 365);
	document.cookie = strName + "=" + strValue + ";expires=" + objDate;
}


//::Cookie Read Function
function ReadCookie(strName){
	var strTmp = document.cookie + ";";
	var strPos = strTmp.indexOf("=", strTmp.indexOf(strName + "="));
	if (strTmp.indexOf(strName + "=") == -1) return "";
	return strTmp.substring(strPos + 1, strTmp.indexOf(";",strPos));
}


//::Show/Hide Function
function ShowHide(id){
	if (document.getElementById(id).style.display == "none"){
		document.getElementById(id).style.display = "";
	}
	else{
		document.getElementById(id).style.display = "none";
	}
}


//::Open FAQ Item Function
function OpenFAQ() {
	var strURL = window.location.href;
	var intURL = strURL.indexOf("#");
	if (intURL > 0) {
		ShowHide("A" + strURL.substr(intURL+2));
	}
}

//::Open All FAQ Items Function
var booFaq = true;
function OpenAllFAQ() {
	var arrDiv,i;
	arrDiv = document.getElementsByTagName('div');
	for(i in arrDiv) {
		if(/Outline2/.test(arrDiv[i].className)) {
			if (booFaq) {
				arrDiv[i].style.display = "";
			}
			else {
				arrDiv[i].style.display = "none";
			}
		}
	}

	if (booFaq) {
		booFaq = false;
	}
	else {
		booFaq = true;
	}
}


//::Playlist Form Controller
function PlaylistController(strVal) {
	if (strVal == "") {
		document.getElementById("rowPlaylist1").className = "";
		document.getElementById("rowPlaylist2").className = "";
		document.getElementById("rowPlaylist3").className = "";
		document.getElementById("playlistname").className = "";
		document.getElementById("playlistdesc").className = "";
		document.getElementById("radPublic1").disabled = false;
		document.getElementById("radPublic0").disabled = false;
		document.getElementById("playlist").value = "";
		var arrCat = document.frm.chkCat;
		for(var i = 0; i < arrCat.length; i++){
			arrCat[i].disabled = false;
		}
	}
	else {
		document.getElementById("rowPlaylist1").className = "Highlight3";
		document.getElementById("rowPlaylist2").className = "Highlight3";
		document.getElementById("rowPlaylist3").className = "Highlight3";
		document.getElementById("playlistname").className = "InputDim";
		document.getElementById("playlistdesc").className = "InputDim";
		document.getElementById("radPublic1").disabled = true;
		document.getElementById("radPublic0").disabled = true;
		var arrCat = document.frm.chkCat;
		for(var i = 0; i < arrCat.length; i++){
			arrCat[i].disabled = true;
		}
	}
}


//::Material Back Function
function MaterialBack() {
	var intHistory;
	if (location.href.indexOf("#") > 0) {
		intHistory = -2;
	}
	else {
		intHistory = -1;
	}
	history.go(intHistory);
}


//::Playlist Form Controller Lite
function PlaylistControllerLite(strVal) {
	if (strVal == "0") {
		document.getElementById("playlistname").style.display = "";
		document.getElementById("playlistname").focus();
	}
	else {
		document.getElementById("playlistname").style.display = "none";
	}
}


//::Remove All Selected List Items
function RemoveAll(arrCheck,intID) {
	if (typeof arrCheck != "undefined") {
		if (CheckSelected(arrCheck)) {
			if (confirm("Are you sure you want to remove the selected material?")) {
				var strID = "";
				for(var i = 0; i < arrCheck.length; i++){
					if(arrCheck[i].checked){
						strID += arrCheck[i].value + ",";
					}
				}
				if (strID != "") {
					strID = strID.substr(0,strID.length-1);
				}
				else {
					strID = arrCheck.value;
				}
				if (intID != null) {
					strID += "&id=" + intID;
				}
				document.location.href = "?mids=" + strID;
			}
		}
		else {
			alert("Please select at least one material.");
		}
	}
}


//::check if radio or checkbox items are selected
function CheckSelected(arr){
	if(arr.length > 0){
		for(var index = 0; index < arr.length; index++){
			if(arr[index].checked){
				return true;
				break;
			}
		}
	}
	else{
		if(arr.checked){
			return true;
		}
		else{
			return false;
		}
	}
	return false;
}


//::Check All Function
//ex.	onClick="CheckAll(document.forms[0].chkFields);"
var checkflag = "false";
function CheckAll(field){
	if (typeof field != "undefined") {
		if(field.length == null){
			if (checkflag == "false") {
				field.checked = true;
				checkflag = "true";
			}
			else{
				field.checked = false;
				checkflag = "false";
			}
		}
		else{
			if (checkflag == "false") {
				for (i = 0; i < field.length; i++){
				field[i].checked = true;}
				checkflag = "true";
			}
			else{
				for (i = 0; i < field.length; i++){
				field[i].checked = false; }
				checkflag = "false";
			}
		}
	}
}


//::Check All w/ Master CheckBox Function
//ex.	onClick="CheckAllCheckbox(this,document.forms[0].chkFields);"
function SelectAllCheckbox(chk,field){
	if (typeof field != "undefined") {
		if(field.length == null){
			if (chk.checked) {
				field.checked = true;
			}
			else{
				field.checked = false;
			}
		}
		else{
			if (chk.checked) {
				for (i = 0; i < field.length; i++){
					field[i].checked = true;
				}
			}
			else{
				for (i = 0; i < field.length; i++){
					field[i].checked = false;
				}
			}
		}
	}
}


//::Check All w/ Master CheckBox Function
//ex.	onClick="CheckAllCheckbox(this,document.forms[0].chkFields);"
function CheckAllCheckbox(objCheck,objField){
	if (typeof objField != "undefined") {
		if(objField.length == null){
			if (objCheck.checked) {
				objField.click();
				objField.checked = true;
			}
			else{
				objField.click();
				objField.checked = false;
			}
		}
		else{
			if (objCheck.checked) {
				for (i = 0; i < objField.length; i++){
					objField[i].checked = true;
					HighlightRow(objField[i],'ID_'+objField[i].value);
				}
			}
			else{
				for (i = 0; i < objField.length; i++){
					objField[i].checked = false;
					HighlightRow(objField[i],'ID_'+objField[i].value);
				}
			}
		}
	}
}


//::Build E-Mail Link
//ex. [script]document.write(BuildEmail('Click Here','email','isp.com','Subject','class="Link"'));[/script]
function BuildEmail(lnkName,lnkEmail,lnkHost,lnkSubject,lnkStyle){
	if(lnkName == ""){
		lnkName = lnkEmail + "&#64;" + lnkHost;
	}
	if(lnkSubject != ""){
		lnkSubject = "?subject=" + lnkSubject;
	}
	return "<a href='" + "mail" + "to:" + lnkEmail + "@" + lnkHost + lnkSubject + "' " + lnkStyle + ">" + lnkName + "</a>";
}


//::Preview Thumbnails
//onMouseOver="PreviewThumbs(this,'70|2,141|2','3',1);"
// onMouseOut="PreviewThumbs(this,'70|2,141|2','3',2);"
//onMouseOver="PreviewThumbs(this,'15','1',1);"
// onMouseOut="PreviewThumbs(this,'15','1',2);"
function PreviewThumbs(objImg,strID,strType,intEvent) {
	var gsVideoThumb = "6";
	var gsPhotoThumb = "1";
	if (strID != "") {
		switch (strType) {
			case "1":	//Movies
				var intImgID = strID;
				var strThumb = "";
				var strDir	 = "material/video/";
				var intItems = 9;

				var strItems = "";
				for (i=1; i<intItems; i++) {
					strItems += strDir + strID + "_" + i + strThumb + ".jpg,";
				}

				if (strItems != "") {
					strItems = strItems.substr(0,strItems.length-1);
				}

				var arrList = strItems.split(",");
				var intMSec = 550;

				break;


			case "2":	//Photos
				var intImgID = strID;
				var strThumb = "_th";
				var strDir	 = "material/image/";
				var intItems = 9;

				var strItems = "";
				for (i=1; i<intItems; i++) {
					strItems += strDir + strID + "_" + i + strThumb + ".jpg,";
				}

				if (strItems != "") {
					strItems = strItems.substr(0,strItems.length-1);
				}

				var arrList = strItems.split(",");
				var intMSec = 550;

				break;


			case "3":	//Playlists
				var intMaterialID = strID.substr(0,strID.indexOf("|"));
				if (strID.indexOf(",") > 0) {
					var intMaterialTypeID = strID.substr(strID.indexOf("|")+1,1);
				}
				else {
					var intMaterialTypeID = strID.substr(strID.indexOf("|")+1);
				}

				var intImgID = intMaterialID;

				if (intMaterialTypeID == 1) {
					var strThumb = "";
					var strDir	 = "material/video/";
				}
				else {
					var strThumb = "_th";
					var strDir	 = "material/image/";
				}

				var strItems = "";
				var arrItems = strID.split(",");
				for (i=0; i<arrItems.length; i++) {
					var strIDs = arrItems[i];
					var intMID = strIDs.substr(0,strIDs.indexOf("|"));
					if (strIDs.indexOf(",") > 0) {
						var intMTID = strIDs.substr(strIDs.indexOf("|")+1,1);
					}
					else {
						var intMTID = strIDs.substr(strIDs.indexOf("|")+1);
					}

					if (intMTID == 1) {
						var strTh = "";
						var strDr = "material/video/";
						var strIm = gsVideoThumb;
					}
					else {
						var strTh = "_th";
						var strDr = "material/image/";
						var strIm = gsPhotoThumb;
					}

					strItems += strDr + intMID + "_" + strIm + strTh + ".jpg,";
				}

				if (strItems != "") {
					strItems = strItems.substr(0,strItems.length-1);
				}

				var arrList = strItems.split(",");
				var intMSec = 850;

				break;
		}
		if (intEvent == 1) {
			RotateThumbs(objImg,arrList,0,intMSec);
		}
		else {
			if (typeof tmrThumb != "undefined") {
				clearTimeout(tmrThumb);
			}
			switch (strType) {
				case "1":
					objImg.src = strDir + intImgID + "_" + gsVideoThumb + strThumb + ".jpg";
					break;
				case "2":
					objImg.src = strDir + intImgID + "_" + gsPhotoThumb + strThumb + ".jpg";
					break;
				case "3":
					objImg.src = arrList[0];
					break;
			}
		}
	}
}

function RotateThumbs(objImg,arrThumb,intThumb,intSpeed) {
	if (intThumb < arrThumb.length-1) {
		intThumb ++;
	}
	else {
		intThumb = 0;
	}
	objImg.src = arrThumb[intThumb];
	tmrThumb   = setTimeout(function(){RotateThumbs(objImg,arrThumb,intThumb,intSpeed);}, intSpeed);
}

function RotateThumbs_Old(objImg,strPath1,strPath2,intThumb) {
	objImg.src = strPath1 + intThumb + strPath2;
	if (intThumb < 9) {
		intThumb ++;
	}
	else {
		intThumb = 1;
	}
	tmrThumb = setTimeout(function(){RotateThumbs_Old(objImg,strPath1,strPath2,intThumb);}, 450);
}


//::Quick Search Text
//ex. onFocus="QuickSearchText(this,'focus');"
//ex. onBlur="QuickSearchText(this,'blur');"
function QuickSearchText(obj,evt) {
	if (evt == "focus")	{
		if (obj.value == "Search...") {
			obj.value = "";
			//obj.style.color = "#FFFFFF";
		}
		else {
			obj.select();
		}
	}
	else {
		if (obj.value == "") {
			obj.value = "Search...";
			//obj.style.color = "#6D6D6D";
		}
	}
}


//::Enter Function
function Enter() {
	var objDate = new Date();
	objDate.setDate(objDate.getDate() + 1);
	document.cookie = "bouncer=1;expires=" + objDate;
	document.getElementById("bouncer").style.display = "none";
}


//::Ajax: Get XML Http Object
function GetXmlHttpObject(objHandler) {
	var objXmlHttp = null;
	if (navigator.userAgent.indexOf("MSIE") >= 0) {
		var strName = "Msxml2.XMLHTTP";
		if (navigator.appVersion.indexOf("MSIE 5.5") >= 0) {
			strName = "Microsoft.XMLHTTP";
		}
		try	{
			objXmlHttp = new ActiveXObject(strName);
			objXmlHttp.onreadystatechange = objHandler;
			return objXmlHttp;
		}
		catch(e) {
			alert("Error:\t" + e.name +
				  "\n\t" + e.message +
				  "\n\t" + e.number +
				  "\n\t" + e.description);
			return;
		}
	}
	if (navigator.userAgent.indexOf("Mozilla") >= 0) {
		objXmlHttp = new XMLHttpRequest();
		objXmlHttp.onload = objHandler;
		objXmlHttp.onerror = objHandler;
		return objXmlHttp;
	}
}

//::Ajax: Set XML Data Function
var xmlElementID = "";
function SetXmlState(strURL,strElementID) {
	if (strElementID != "") {
		xmlElementID = strElementID;
		if (xmlElementID.toLowerCase() != "alert") {
			document.getElementById(xmlElementID).style.cursor = "wait";
		}
	}
	xmlHttp = GetXmlHttpObject(GetXmlState);
	xmlHttp.open("GET", strURL, true);
	xmlHttp.send(null);
}

//::Ajax: State Changed Function
function GetXmlState() {
	if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
		if (xmlElementID != "") {
			if (xmlElementID.toLowerCase() != "alert") {
				document.getElementById(xmlElementID).innerHTML = xmlHttp.responseText;
				document.getElementById(xmlElementID).style.cursor = "default";
			}
			else {
				if (xmlHttp.responseText != "") {
					alert(xmlHttp.responseText);
				}
			}
		}
	}
}

/*
Usage:
------
SetXmlState('inc_ajax.asp?id=1','alert');	//Opens Alert Window
SetXmlState('inc_ajax.asp?id=1','DIV');		//Writes Results to Div
SetXmlState('inc_ajax.asp?id=1','');		//Nothing
*/


//::Disable Submit Button
/*
onSubmit="DisableSubmit('frmName','btnName','Please Wait...');"
<input name="hidden" value="" type="hidden">
*/
function DisableSubmit(frmName,btnName,btnValue) {
	objFrm = document.getElementsByName(frmName)[0];
	objBtn = document.getElementsByName(btnName)[0];

	objBtn.disabled = true;
	if (btnValue != "") {
		objBtn.value = btnValue;
	}
	objBtn.style.cursor = "wait";

	objFrm.hidden.value = objBtn.value;
	objFrm.hidden.name = btnName;
}


//::Right Substring
function Right(str, n){
	if (n <= 0)
		return "";
	else if (n > String(str).length)
		return str;
	else {
		var iLen = String(str).length;
		return String(str).substring(iLen, iLen - n);
	}
}


//::Trim String Function
function Trim(str){
	str = str.replace(/\s+/,'');
	str = str.replace(/\s+$/,'');
	return str;
}

//::IsNumeric Function
function IsNumeric(val){
	for (i=0; i<val.length; i++){
		if (isNaN(val.charAt(i))){
			return false;
		}
	}
	return true;
}

//::Valid E-Mail
function ValidEmail(str){
	SpcPos = str.indexOf(' ');
	AccPos = str.indexOf('@');
	AccStr = str.substr(0,AccPos);
	AccLen = AccStr.length;
	DomPos = str.lastIndexOf('.');
	DomStr = str.substr(AccPos+1,(DomPos-AccPos)-1);
	DomLen = DomStr.length;
	ExtPos = DomPos + 1;
	ExtLen = str.length - ExtPos;
	ExtStr = str.substr(ExtPos,ExtLen);
	if(	   (SpcPos == -1)
		&& (AccPos != -1)
		&& (DomPos != -1)
		&& (AccLen >= 2)
		&& (DomLen >= 2)
		&& (ExtLen >= 2)
		&& (ExtLen <= 4)){
		return true;
	}
	else{return false}
}

//::Valid Phone
function ValidPhone(PhoneArea,PhonePre,PhoneSuf){
	if ((Trim(PhoneArea) == "") ||
		(Trim(PhonePre) == "") ||
		(Trim(PhoneSuf) == "") ||
		(PhoneArea.length != 3) ||
		(PhonePre.length != 3) ||
		(PhoneSuf.length != 4)){
		return false;
	}else{
		if (IsNumeric(PhoneArea) &&
			IsNumeric(PhonePre) &&
			IsNumeric(PhoneSuf) &&
			(PhoneArea.length == 3) &&
			(PhonePre.length == 3) &&
			(PhoneSuf.length == 4)){
			return true;
		}
	}
}

//::Valid Telephone
function ValidTelephone(str){
	str = Trim(str);
	str = str.replace("(","");
	str = str.replace(")","");
	str = str.replace(".","");
	str = str.replace(".","");
	str = str.replace("-","");
	str = str.replace("-","");
	str = str.replace(" ","");
	strLen = str.length;
	if((strLen == 10 || strLen == 7) && IsNumeric(str)){
		return true;
	}
	else{
		return false;
	}
}

//::Valid Extensions
//ex.	 ValidExtension("c:\sample.txt","txt,pdf,doc")
function ValidExtension(str,lst){
	str = str.toLowerCase();
	lst = lst.toLowerCase();
	booValid = false;
	arrExt = lst.split(",")
	for (i=0; i<arrExt.length; i++) {
		lstExt = arrExt[i];
		strExt = str.substring(str.length,str.length-lstExt.length);
		if (lstExt == strExt) {
			booValid = true;
			break;
		}
	}
	return booValid;
}

//::Validate Search Criteria
function ValidateSearchCriteria() {
	strInfo = "";
	var objForm = document.frmSearchCriteria;
	/*
	if (objForm.q.value == "" && objForm.c.value == "") {
		strInfo += "Please enter Keyword(s) or select a Category to search.";
	}
	else if (objForm.q.value != "" && objForm.q.value.length < 3) {
		strInfo += "Please enter a longer Keyword to search.";
	}
	*/
	if (strInfo != "") {
		//strInfo = "The following information was entered incorrectly:\n" +
		//strInfo + "\n\nPlease re-enter the information and try again...";
		alert(strInfo);
		return false;
	}
	else {
		return true;
	}
}

//::Validate Search
function ValidateSearch() {
	strInfo = "";
	var objForm = document.frmSearch;

	if (objForm.q.value == "" || objForm.q.value == "Search...") {
		strInfo += "Please enter Keyword(s) to search.";
	}/*
	else if (objForm.q.value.length < 3) {
		strInfo += "Please enter a longer Keyword to search.";
	}
	*/
	if (strInfo != "") {
		//strInfo = "The following information was entered incorrectly:\n" +
		//strInfo + "\n\nPlease re-enter the information and try again...";
		alert(strInfo);
		return false;
	}
	else {
		return true;
	}
}