var VenueSubTypes = "";

function showem(show,mnu){
	new Number(show);

	if (show==1){

		mnu.style.display = '';
		}
		else {
		mnu.style.display = 'none'
			}
}

function clearbar() {
	window.status="";
	return true;
}


function colorme(object,onoff){
	if (onoff=="on"){
		object.style.backgroundColor='#e0e0e0';
		object.style.color='black';
		}
		else{
			object.style.backgroundColor='';
			object.style.color='';
			}
}

function setSelected(dropdown,selectedValue) {

if (dropdown) {
if (dropdown.length) {

	for (i = 0; i < dropdown.length; i++) {
		if (dropdown.options[i].text) {
			if (dropdown.options[i].text == selectedValue) {
				dropdown.options[i].selected = true;
			}
		}

	}
}
}
}

function setChecked(fieldValue,selectedValue) {

var testvalue = document.getElementById('EventCustomAttrib91[]');

if (fieldValue) {
if (fieldValue.length) {
	for (i = 0; i < fieldValue.length; i++) {
		if (fieldValue[i].value) {
			if (fieldValue[i].value == selectedValue) {
				fieldValue[i].checked = true;
			}
		}

	}
}
}
}


function setFocus(fieldRef,windowTitle) {
    if (fieldRef) fieldRef.focus();
	if ((windowTitle != "") && (windowTitle)) top.document.title = windowTitle;
}

function selectAll(formName,fieldName) {
	var len = formName.elements.length;
	for (i = 0; i < len; i++) {
		if (formName.elements[i].name==(fieldName + '[]')) {
			formName.elements[i].checked = true;
		}
	}
}

function deselectAll(formName,fieldName) {
	var len = formName.elements.length;
	for (i = 0; i < len; i++) {
		if (formName.elements[i].name==(fieldName + '[]')) {
			formName.elements[i].checked = false;
		}
	}
}

function deleteSelected(formName, warningName) {
    var warning = "";
    if (warningName != "") {
        warning = "WARNING! Deleting a " + warningName + " can trigger the loss of any related event data. ";
    }
	if (confirm(warning + "Are you sure you want to delete the selected items?")) {
		formName.DelSelected.value = true;
		formName.submit();
	}
}	

function activateSelected(formName) {
	if (confirm('Are you sure you want to activate the selected items?')) {
		formName.ActSelected.value = true;
		formName.submit();
	}
}	

	
function deactivateSelected(formName) {
	if (confirm('Are you sure you want to deactivate the selected items?')) {
		formName.DeactSelected.value = true;
		formName.submit();
	}
}

function addSelectedToCluster(formName) {
	formName.AddToCluster.value = true;
	formName.submit();
}

function cancelEdit(formref) {
    if (formref.name == "eventform") {
        var dateID = document.getElementById("DateID").value;
        if (dateID != "") {
            window.location = document.getElementById("rootPath").value + "/admin/reloadlisting.php?EventID=0";
            return true;
        }
    }
    if (formref.name == "venueform") {
        var eventID = document.getElementById("EventID").value;
        if (eventID != "") {
            window.location = document.getElementById("rootPath").value + "/admin/reloadlisting.php?EventID=0";
            return true;
        }
    }
	formref.Cancel.value = "1";
	formref.submit();
}


function clearSearchVenue() {
	if (document.getElementById('VenueInfo')) {
		document.getElementById('VenueInfo').innerHTML = "";
	} else {
		if (document.all('VenueInfo')) document.all['VenueInfo'].innerHTML = "";
	}
	document.getElementById('SearchVenue').value = "";	
	document.getElementById('SearchVenueAlias').value = "";		
	
}

function clearReview(reviewType) {

	if (reviewType == 'web') {
		reviewPrefix = 'Web';
	} else reviewPrefix = '';
	
	if (document.getElementById(reviewPrefix + 'ReviewInfo')) {
		document.getElementById(reviewPrefix + 'ReviewInfo').innerHTML = "";
	} else {
		if (document.all(reviewPrefix + 'ReviewInfo')) document.all[reviewPrefix + 'ReviewInfo'].innerHTML = "";
	}
	document.getElementById(reviewPrefix+'ReviewID').value = "";	
	
}

function killEvent() {
	document.getElementById('action').value = "kill";
	document.eventform.submit();
}

function clearUserVenue() {
	if (document.getElementById('VenueInfo')) {
		document.getElementById('VenueInfo').innerHTML = "";
	} else {
		if (document.all('VenueInfo')) document.all['VenueInfo'].innerHTML = "";
	}
	document.getElementById('UserVenues').value = "";	
	document.getElementById('UserVenueNames').value = "";		
	
}


function clearSearchUser() {
	if (document.getElementById('UserInfo')) {
		document.getElementById('UserInfo').innerHTML = "";
	} else {
		if (document.all('UserInfo')) document.all['UserInfo'].innerHTML = "";
	}
	document.getElementById('SearchUser').value = "";	
	document.getElementById('SearchUserName').value = "";		
	
}

function openWindow(URL, name) {
  popupWin = window.open(URL, name, 'dependent,scrollbars=yes,toolbar=no,resizable=yes,menubar=no,width=900,height=600' );
  popupWin.focus();
}

function openWindowSmall(URL, name) {
  popupWin = window.open(URL, name, 'dependent,scrollbars=yes,toolbar=no,resizable=yes,menubar=no,width=900,height=600' );
  popupWin.focus();
}

function isanum( num )
{
	return( (num == 0) || ((num/num) == 1) );
}

function addVenueSubType() {
    var newVal = document.getElementById('selVenueSubTypes').options[document.getElementById('selVenueSubTypes').selectedIndex].value;
    if (newVal != "") {
        if (document.getElementById('VenueSubType').value == "") document.getElementById('VenueSubType').value = '#';
        if (document.getElementById('VenueSubType').value.indexOf("#"+newVal+"#") < 0) {
            document.getElementById('VenueSubType').value += newVal + "#";
            VenueSubTypes = document.getElementById('VenueSubType').value;
            parent.hidden.submitVenueForm();
        } else {
            alert('This venue is already assigned to the '+ document.getElementById('selVenueSubTypes').options[document.getElementById('selVenueSubTypes').selectedIndex].text + ' venue subtype.');
        }
    }
}

function removeVenueSubType() {
    venueSubTypeString = document.getElementById('VenueSubType').value;
    newVenueSubTypeString = venueSubTypeString.replace(document.getElementById('selVenueSubTypes').options[document.getElementById('selVenueSubTypes').selectedIndex].value + '#','');
    document.getElementById('VenueSubType').value = newVenueSubTypeString;
    VenueSubTypes = newVenueSubTypeString;	
    parent.hidden.submitVenueForm();
}


function defaultLevel(myform,me,levs,userlevel){
/* added eh 11/19/03 
myform: form name
me:		name of html checkbox this called from
levs:	values in a hidden field that this routine crunches. Values are in 4#34,8#32 format where
		first num is userleve, second num is id num of particular permission
userlevel:	The userlevel entered on the form

used in tpluser.php for checking default permissions based on value in userlevel field

routine first gets the levs values into one giant array, then two parallel arrays (sted of hashes)
	then loops thru the values in the parms field(s) (funky syntax below required because js doesn't like
	params named param[], while php insists on it. Go figure.) Each field's id is compared against the 
	array of ids, then the field's default permission is examined using the same index number and if we
	have a match, the box gets checked. JS doesn't do hashes easily or i woulda done it that way... 
*/
	if (me.checked==true){
		/* make an array of the levs value */
		arrLevs=levs.value.split(",");
		arrLevNum=new Array(arrLevs.length);
		arrPermNum=new Array(arrLevs.length);
		/* build some new arrays*/
		for (i=0;i<arrLevs.length;i++){
			arrTemp=arrLevs[i].split("#");
			arrLevNum[i]=arrTemp[0];
			arrPermNum[i]=arrTemp[1];
			}
		/* loop thru the array of permissions from the html page....*/	
		for (i=0;i<myform.elements["perms[]"].length;i++){
			/* ... for each one find its id in the permnum array and if it
				has a default userlevel that matches the one passed in, check the box*/
			for (j=0;j<arrPermNum.length;j++){
				if (arrPermNum[j]==myform.elements["perms[]"][i].value && arrLevNum[j]==userlevel.value){
					myform.elements["perms[]"][i].checked=true;
					}
				}
			}
		}
		else{
			for (i=0;i<myform.elements["perms[]"].length;i++){
				myform.elements["perms[]"][i].checked=false;
				}
			}
		
}

function addVenSubType() {
    var newVal = document.getElementById('selVenueSubTypes').options[document.getElementById('selVenueSubTypes').selectedIndex].value;
    if (newVal != "") {
        if (document.getElementById('VenueSubType').value == "") document.getElementById('VenueSubType').value = '#';
        if (document.getElementById('VenueSubType').value.indexOf("#"+newVal+"#") < 0) {
            document.getElementById('VenueSubType').value += newVal + "#";
            VenueSubTypes = document.getElementById('VenueSubType').value;
            fetchURL('./ajax/categories.php?VenueSubTypes='+escape(VenueSubTypes));
        } else {
            alert('This venue is already assigned to the '+ document.getElementById('selVenueSubTypes').options[document.getElementById('selVenueSubTypes').selectedIndex].text + ' venue subtype.');
        }
    }
}

function removeVenSubType() {
    venueSubTypeString = document.getElementById('VenueSubType').value;
    newVenueSubTypeString = venueSubTypeString.replace(document.getElementById('selVenueSubTypes').options[document.getElementById('selVenueSubTypes').selectedIndex].value + '#','');
    document.getElementById('VenueSubType').value = newVenueSubTypeString;
    VenueSubTypes = newVenueSubTypeString;
    fetchURL('./ajax/categories.php?VenueSubTypes='+escape(VenueSubTypes));
}

function retrieveVenueInfo(
		override
	)
{
	strOverride = override ? 'true' : 'false';
	ev = document.getElementById('EventVenue');
	VenueID = ev.options[ev.selectedIndex].value;

	ev = document.getElementById('ID');
	if ( ev )
	{
		// Supply the EventID so that in case no venue is
		// selected, we can use the original info from the
		// event record.
		EventID = ev.value;
	}
	evb = document.getElementById( 'venueButtonsEdit' );
	evp = document.getElementById( 'venueButtonsRePop' );
	if ( (VenueID <= 0) || !isanum( VenueID ) )
	{
		if ( evb )
		{
			evb.style.visibility = 'hidden';
		}
		if ( !isanum( EventID ) || (EventID <= 0) )
		{
			if ( evp )
			{
				evp.style.visibility = 'hidden';
			}
			// Don't bother if a venue is not selected
			// on a new event -- there's no venue info to
			// fetch.
			return;
		}
	} else {
		if ( evb )
		{
			evb.style.visibility = 'visible';
		}
		if ( evp )
		{
			evp.style.visibility = 'visible';
		}
	}
	// 12/22/2005 MVR, FS#275, Add 're-populate' venue info button.
	// Tell framehidden.php whether to override previously
	// entered VenueInfo data.
	if (VenueID == "None") {
			if (document.getElementById('eventsAtVenue')) {
					document.getElementById('eventsAtVenue').innerHTML = "";
			}
	}
	
	if (document.getElementById('VenueInfo')) {
		document.getElementById('VenueInfo').innerHTML = 'Retrieving...';
	}

	fetchURL('./ajax/getVenueInfo.php?VenueID=' +
	document.getElementById('EventVenue').options[document.getElementById('EventVenue').selectedIndex].value +
	'&EventID=' + document.getElementById('ID').value +
	'&EventDateString=' + escape(document.getElementById('EventDateString').value) +
	'&EventBaseDate=' + escape(document.getElementById('EventBaseDate').value) +	
	'&VenueID=' + document.getElementById('EventVenue').options[document.getElementById('EventVenue').selectedIndex].value +
	'&AllAttribs=' + escape(document.getElementById('AllAttribs').value) +
	'&VenueDefaultFill=' + strOverride);

}

function checkForDupes() {
	fetchURL('./ajax/displayCal.php?EventID=' +
	document.getElementById('ID').value +
	'&VenueID=' + document.getElementById('EventVenue').options[document.getElementById('EventVenue').selectedIndex].value +
	'&EventDateString=' + escape(document.getElementById('EventDateString').value) +
	'&EventBaseDate=' + escape(document.getElementById('EventBaseDate').value) +
	'&CheckForDupe=1');
}

function setSubCat() {
    var mainVal = document.getElementById('CategoryID').options[document.getElementById('CategoryID').selectedIndex].value;
    var myURL;
    
	
    if (mainVal != "") {
            fetchURL('./ajax/categories.php?EventCategory='+escape(mainVal)+'&CatChange=1');
    }
    		
}
function addCat() {
    var mainVal = document.getElementById('EventCategory').value;
    var newVal = document.getElementById('selEventOtherCategories').options[document.getElementById('selEventOtherCategories').selectedIndex].value;
    
    if (newVal != "" && newVal != mainVal) {
        if (document.getElementById('EventOtherCategories').value == "") document.getElementById('EventOtherCategories').value = '#';
        if (document.getElementById('EventOtherCategories').value.indexOf("#"+newVal+"#") < 0) {
            document.getElementById('EventOtherCategories').value += newVal + "#";
            AddlCategories = '#' + mainVal + document.getElementById('EventOtherCategories').value;
            fetchURL('./ajax/categories.php?EventOtherCategories='+escape(AddlCategories));
        } else {
            alert('This event is already assigned to the '+ document.getElementById('selEventOtherCategories').options[document.getElementById('selEventOtherCategories').selectedIndex].text + ' category.');
        }
    }
    		
}

function addWebCat() {
    var newVal = document.getElementById('selEventWebCategories').options[document.getElementById('selEventWebCategories').selectedIndex].value;
    if (newVal != "") {
        if (document.getElementById('EventWebCategories').value == "") document.getElementById('EventWebCategories').value = '#';
        if (document.getElementById('EventWebCategories').value.indexOf("#"+newVal+"#") < 0) {
            document.getElementById('EventWebCategories').value += newVal + "#";
            WebCategories = document.getElementById('EventWebCategories').value;
            fetchURL('./ajax/categories.php?EventWebCategories='+escape(WebCategories));
        } else {
            alert('This event is already assigned to the '+ document.getElementById('selEventWebCategories').options[document.getElementById('selEventWebCategories').selectedIndex].text + ' category.');
        }
    }
}

function removeCat() {
    var mainVal = document.getElementById('EventCategory').value;

	if (document.getElementById('EventSubCategory')) {
		SubCategories = document.getElementById('EventSubCategory').value;
	};
    categoryString = document.getElementById('EventOtherCategories').value;
    CategoryToRemove = document.getElementById('selEventOtherCategories').options[document.getElementById('selEventOtherCategories').selectedIndex].value;
    newCategoryString = categoryString.replace('#'+CategoryToRemove + '#','#');
    document.getElementById('EventOtherCategories').value = newCategoryString;
    AddlCategories = '#' + mainVal + newCategoryString;
    fetchURL('./ajax/categories.php?EventOtherCategories='+escape(AddlCategories)+'&EventSubCategories='+escape(SubCategories));
}

function removeWebCat() {
    categoryString = document.getElementById('EventWebCategories').value;
    newCategoryString = categoryString.replace(document.getElementById('selEventWebCategories').options[document.getElementById('selEventWebCategories').selectedIndex].value + '#','');
    document.getElementById('EventWebCategories').value = newCategoryString;
    WebCategories = newCategoryString;
    fetchURL('./ajax/categories.php?EventWebCategories='+escape(WebCategories));    
}

function removeWebSubCat() {
    subCategoryString = document.getElementById('EventWebSubCategories').value;
    newSubCategoryString = subCategoryString.replace(document.getElementById('selEventWebSubCategories').options[document.getElementById('selEventWebSubCategories').selectedIndex].value + '#','');
    document.getElementById('EventWebSubCategories').value = newSubCategoryString;
    WebSubCategories = newSubCategoryString;	
    fetchURL('./ajax/categories.php?EventWebSubCategories='+escape(WebSubCategories));    
}

function addSubCat() {
    var newVal = document.getElementById('selEventSubCategory').options[document.getElementById('selEventSubCategory').selectedIndex].value;
    if (newVal != "") {
        if (document.getElementById('EventSubCategory').value == "") document.getElementById('EventSubCategory').value = '#';
        if (document.getElementById('EventSubCategory').value.indexOf("#"+newVal+"#") < 0) {
            document.getElementById('EventSubCategory').value += "#" + newVal + "#";
            SubCategories = document.getElementById('EventSubCategory').value;
            fetchURL('./ajax/categories.php?EventSubCategories='+escape(SubCategories));
        } else {
            alert('This event is already assigned to the '+ document.getElementById('selEventSubCategory').options[document.getElementById('selEventSubCategory').selectedIndex].text + ' subcategory.');
        }
    }
}

function addWebSubCat() {
    var newVal = document.getElementById('selEventWebSubCategories').options[document.getElementById('selEventWebSubCategories').selectedIndex].value;
    if (newVal != "") {
        if (document.getElementById('EventWebSubCategories').value == "") document.getElementById('EventWebSubCategories').value = '#';
        if (document.getElementById('EventWebSubCategories').value.indexOf("#"+newVal+"#") < 0) {
            document.getElementById('EventWebSubCategories').value += newVal + "#";
            WebSubCategories = document.getElementById('EventWebSubCategories').value;
            fetchURL('./ajax/categories.php?EventWebSubCategories='+escape(WebSubCategories));
        } else {
            alert('This event is already assigned to the '+ document.getElementById('selEventWebSubCategories').options[document.getElementById('selEventWebSubCategories').selectedIndex].text + ' subcategory.');
        }
    }
}

function removeSubCat() {
    subCategoryString = document.getElementById('EventSubCategory').value;
    newSubCategoryString = subCategoryString.replace(document.getElementById('selEventSubCategory').options[document.getElementById('selEventSubCategory').selectedIndex].value + '#','');
    document.getElementById('EventSubCategory').value = newSubCategoryString;
    SubCategories = newSubCategoryString;
    fetchURL('./ajax/categories.php?EventSubCategories='+escape(SubCategories));
}

function addGroupMulti() {
    var newVal = document.getElementById('selEventGroupMultiple').options[document.getElementById('selEventGroupMultiple').selectedIndex].value;
    if (newVal != "") {
        if (document.getElementById('EventGroupMultiple').value == "") document.getElementById('EventGroupMultiple').value = '#';
        if (document.getElementById('EventGroupMultiple').value.indexOf("#"+newVal+"#") < 0) {
            document.getElementById('EventGroupMultiple').value += newVal + "#";
            GroupIDs = document.getElementById('EventGroupMultiple').value;
		    fetchURL('./ajax/categories.php?GroupIDs='+escape(GroupIDs));
        } else {
            alert('This event is already assigned to the '+ document.getElementById('selEventGroupMultiple').options[document.getElementById('selEventGroupMultiple').selectedIndex].text + ' group.');
        }
    }
}

function removeGroupMulti() {
    groupString = document.getElementById('EventGroupMultiple').value;
    newGroupString = groupString.replace(document.getElementById('selEventGroupMultiple').options[document.getElementById('selEventGroupMultiple').selectedIndex].value + '#','');
    document.getElementById('EventGroupMultiple').value = newGroupString;
    GroupIDs = newGroupString;
	fetchURL('./ajax/categories.php?GroupIDs='+escape(GroupIDs));    
}

function showConfirmCal() {
	EventDateString = document.getElementById('EventDateString').value;
	EventBaseDate = document.getElementById('EventBaseDate').value;
	fetchURL('./ajax/displayCal.php?EventID=' +
	document.getElementById('ID').value +
	'&EventDateString=' + escape(EventDateString) +
	'&EventBaseDate=' + escape(EventBaseDate));
}

function processReqFailure(statusText, status) {
	//clearUserMsg();
	alert("Unable to retrieve data from server: " + statusText + " (" + status + ")");
	fetchingForBottom = false;
}

function processReq(responseXML) {
	var items = responseXML.getElementsByTagName("item");
	var itemid = 0;
	var itemdata = "";
	var itemflag = 0;

	newitemlist = new Array();
	ctrlmsgs = new Array();


	itemCounter = 0;
	ctrlMsgCounter = 0;
	for (var i = 0; i < items.length; i++) {
		itemid = getElementTextNS("", "itemid", items[i], 0);

		itemdata = getElementTextNS("", "itemdata", items[i], 0);
		itemflag = getElementTextNS("", "itemflag", items[i], 0);
		itemexpire = getElementTextNS("", "itemexpire", items[i], 0);
		if (itemid < 0) {
			// item is a control message
			ctrlmsgs[ctrlMsgCounter] = new Array();
			ctrlmsgs[ctrlMsgCounter][0] = itemid;
			ctrlmsgs[ctrlMsgCounter][1] = itemdata;
			ctrlmsgs[ctrlMsgCounter][2] = itemflag;
			ctrlmsgs[ctrlMsgCounter][3] = itemexpire;
			ctrlMsgCounter++;
		} else {
			newitemlist[itemCounter] = new Array();
			newitemlist[itemCounter][0] = itemid;
			newitemlist[itemCounter][1] = itemdata;
			newitemlist[itemCounter][2] = itemflag;
			newitemlist[itemCounter][3] = itemexpire;
			itemCounter++;
		}
	}

	if (itemCounter > 0) {
		for (var i = 0; i < newitemlist.length; i++) {
			itemID = newitemlist[i][0];

			itemData = newitemlist[i][1];
			if (itemID == 10) { // confirm cal
				document.getElementById('ConfirmCalendar').innerHTML = itemData;				
			} else if (itemID == 20) { // dupe check msg
				document.getElementById('DupeWarning').innerHTML = itemData;
				if (itemData == "") {
					document.getElementById('DupeWarning').style.display="none";
				} else {
					document.getElementById('DupeWarning').style.display="";		
				}			
			} else if (itemID == 30)  { // venue info
				document.getElementById('VenueInfo').innerHTML = itemData;
			}else if (itemID == 34)  { // venue info
				document.getElementById('GroupInfo').innerHTML = itemData;
			}else if (itemID == 31)  { // attribute ids
				allAttribs = itemData;
			} else if (itemID == 32)  {
				inheritFields = itemData;
				setInheritFields(allAttribs,inheritFields);
			} else if (itemID == 33)  { // venue right bar
				document.getElementById('rightBar').innerHTML = itemData;
			} else if (itemID == 60)  { // show addl categories
				addlCats = itemData;
				setAddlCats(addlCats,itemID);
			} else if (itemID == 70)  { // add subcategories
				if (document.getElementById('SubCategoryNames')) {
					document.getElementById('SubCategoryNames').innerHTML = itemData;
				}
			} else if (itemID == 80)  { // add webcategories
				webCats = itemData;
				setAddlCats(webCats,itemID);
			} else if (itemID == 90)  { // add websubcategories
				if (document.getElementById('WebSubCategoryNames')) {
					document.getElementById('WebSubCategoryNames').innerHTML = itemData;
				}
			} else if (itemID == 100) { // groups
				if (document.getElementById('GroupNames')) {
					document.getElementById('GroupNames').innerHTML = itemData;				
				}
			} else if (itemID == 110) { // venue subtypes
				if (document.getElementById('VenueSubTypeNames')) {
					document.getElementById('VenueSubTypeNames').innerHTML = itemData;				
				}
			} else if (itemID == 111) { // venue subtypes
				if (document.getElementById('ArtistSubTypeNames')) {
					document.getElementById('ArtistSubTypeNames').innerHTML = itemData;				
				}
			} else if (itemID == 120) { // funky date submission
				if (itemData == "Success") {
					showFunkyDate();
				}
			}else if (itemID == 130) { // funky date submission
				var strEventID = itemData;
			}else if (itemID == 140) { // display event dates
				var fldname = "TDEvent" + strEventID;		
				document.getElementById(fldname).innerHTML = itemData;

			} else if (itemID == 160) { // reset subcats after event category change
				if (document.getElementById('EventSubCategory')) {

					//subCats = itemData;
					document.getElementById('EventSubCategory').value = itemData;
					//setAddlCats(subCats,itemID);
				}
			} else if (itemID == 161) { // reset subcat names after event category change
				if (document.getElementById('SubCategoryNames')) {
					document.getElementById('SubCategoryNames').innerHTML = itemData;
				}
			} else if (itemID == 170) { // get tag matches
				if (document.getElementById('TagMatches')) {
					document.getElementById('TagMatches').innerHTML = itemData;
				}
			} else if (itemID == 171) { // get venue matches
				if (document.getElementById('VenueNameMatches')) {
					document.getElementById('VenueNameMatches').innerHTML = itemData;
				}
			} else if (itemID == 172) { // get venue matches
				if (document.getElementById('ArtistNameMatches')) {
					document.getElementById('ArtistNameMatches').innerHTML = itemData;
				}
			}else if (itemID == 300) { // returned latitude
				lastSetLatitude = itemData;
				if (document.getElementById('VenueLatitude')) {
					document.getElementById('VenueLatitude').value = itemData;
				}
			}else if (itemID == 310) { // returned longitude
				lastSetLongitude = itemData;
				if (document.getElementById('VenueLongitude')) {
					document.getElementById('VenueLongitude').value = itemData;
				}
			}else if (itemID == 320) { // display popup map using lat and lon
				var vname = document.getElementById("VenueName").value;
				var vaddress = document.getElementById("VenueAddress").value;
				var vzip = document.getElementById("VenueZip").value;
				var tmpURL = "/geomap.php?lat=" + lastSetLatitude + "&lon=" + lastSetLongitude;
				tmpURL += "&label=" + escape("<b>" + vname + "</b><br>" + vaddress + ", " + vzip);
				tmpURL += "&title=" + escape(vname);
				openWindowSmaller(document.getElementById("rootPath").value + tmpURL, "popupMap");
				openWindowSmaller(document.getElementById("rootPath").value + tmpURL, "popupMap");
			}else if (itemID == 420) { // returned the lists to use for the event
				availableLists = itemData;
			}else if (itemID == 430) { // returned the lists to use for the event
				availableListNames = itemData;
			}else if (itemID == 440) { // returned the lists to use for the event
				assignedLists = itemData;
			}else if (itemID == 450) { // returned the lists to use for the event
				assignedListNames = itemData;
				setAssignedLists(availableLists,availableListNames,assignedLists,assignedListNames);
			}else if (itemID == 500) { // display message
				alert(itemData);
			}else if (itemID == 550) { // returned the contents of a form from the file system
				document.getElementById('FormTemplateTemplate').value = itemData;
 
			}
		}
	}
}

function setInheritFields(allAttribs,inheritFields) {
		var attribArray = new Array('Price','PriceRange','SmokingPolicy','Parking','HandicappedAccess','AgeRestrictions','ContactName','EmailAddress','PhoneNumber','Reservations','URL');
		
		for (i = 0; i < attribArray.length; i++) {
			attrib = getTagData('<Event'+attribArray[i]+'>','</Event'+attribArray[i]+'>',inheritFields);
			if (attrib != "") setFormField('Event'+attribArray[i],attrib);
		}
		
		var arrAttrib = new Array();

		if (allAttribs.indexOf('#') != -1) {
			arrAttrib = explodeArray(allAttribs,'#');
		} else arrAttrib[0] = allAttribs;
		
		for (var i = 0; i < arrAttrib.length; i++) { 
			val = arrAttrib[i];
			attrib = getTagData('<EventCustomAttrib' + val + '>','</EventCustomAttrib' + val + '>',inheritFields);
			if (attrib != "") {
				if (document.getElementById('EventCustomAttrib' + val)) {
					if (document.getElementById('EventCustomAttrib' + val).options) {
						document.getElementById('EventCustomAttrib' + val).options[attrib].selected = true;				
					} else {
						document.getElementById('EventCustomAttrib' + val).value = attrib;
					}
				}
			}
		}
}

function setIPText(IPEditText) {

		var newDateID = getTagData('<NEWDATEID>','</NEWDATEID>',IPEditText);
		var blockID = getTagData('<BLOCKID>','</BLOCKID>',IPEditText);		
		var errorMsg = getTagData('<ERRORMSG>','</ERRORMSG>',IPEditText);		
		var replacementBlock = getTagData('<REPLACEMENTBLOCK>','</REPLACEMENTBLOCK>',IPEditText);
		var sibDateIDs = getTagData('<SIBDATEIDS>','</SIBDATEIDS>',IPEditText);
		
		var arrSibDateIDs = new Array();
		replacementBlock = replacementBlock.replace(/<!LF!>/g,"\n");
		replacementBlock = replacementBlock.replace(/<!CR!>/g,"\r");

		if (sibDateIDs.indexOf('#') != -1) {
			arrSibDateIDs = explodeArray(sibDateIDs,'#');
		} else arrSibDateIDs[0] = sibDateIDs;

		for (var i = 0; i < arrSibDateIDs.length; i++) { 
			val = arrSibDateIDs[i];
	        if (val != blockID) {
	        	if (document.getElementById('all' + val)) {document.getElementById('all' + val).style.display='none';}
       	 	}			
		}
	
		if (document.getElementById('all' + blockID)) {
			document.getElementById('all' + blockID).innerHTML = replacementBlock;
			var tmpLoc = document.location.href.toString();
			var lbPos = tmpLoc.indexOf('#');
		    if (lbPos > 0) {
		        tmpLoc = tmpLoc.substring(0, lbPos);
		    }
		    document.location = tmpLoc + '#id' + newDateID;
		}

	    if (errorMsg != "") {
	        alert(errorMsg);
	    }	
}

function setAddlCats(addlCats,itemID) {

	var categoryNames = getTagData('<CATEGORYNAMES>','</CATEGORYNAMES>',addlCats);
	var subCatOptions = getTagData('<SUBCATEGORYOPTIONS>','</SUBCATEGORYOPTIONS>',addlCats);
	var subCatValues = getTagData('<SUBCATEGORYVALUES>','</SUBCATEGORYVALUES>',addlCats);
	
	if (itemID == 60) {
		namesFieldName = 'CategoryNames';
		selectFieldName = 'selEventSubCategory';
	} else {
		namesFieldName = 'WebCategoryNames';
		selectFieldName = 'selEventWebSubCategories';
	}

	if (document.getElementById(namesFieldName)) {
		document.getElementById(namesFieldName).innerHTML = categoryNames;
	}
	
	if (document.getElementById(selectFieldName))	{

        var subCategoryDropDown = document.getElementById(selectFieldName);
        subCategoryDropDown.options.length = 0;
		subCategoryDropDown.options.length++;
		newOpt = new Option ('Select subcategory','');
		subCategoryDropDown.options[subCategoryDropDown.length-1].text  = newOpt.text;
		subCategoryDropDown.options[subCategoryDropDown.length-1].value = newOpt.value;
		subCategoryDropDown.options[subCategoryDropDown.length-1].selected = true;

		var arrSubCatOptions = new Array();
		var arrSubCatValues = new Array();
		
		if (subCatOptions.indexOf("#") != -1) {
			arrSubCatOptions = explodeArray(subCatOptions,"#");
		} else arrSubCatOptions[0] = subCatOptions;
		
		if (subCatValues.indexOf("#") != -1) {
			arrSubCatValues = explodeArray(subCatValues,"#");
		} else arrSubCatValues[0] = subCatValues;		

		for (var i = 0; i < arrSubCatOptions.length; i++) { 
			newOpt = new Option(arrSubCatOptions[i], arrSubCatValues[i]);
			subCategoryDropDown.options.length++;
			subCategoryDropDown.options[subCategoryDropDown.length-1].text  = newOpt.text;
			subCategoryDropDown.options[subCategoryDropDown.length-1].value = newOpt.value;
			subCategoryDropDown.options[subCategoryDropDown.length-1].selected = false;
			
		}
	
	}
	
	
}

function getTagData(beginTag,endTag,strToScan) {
	var tagBegin = strToScan.indexOf(beginTag);
	if (tagBegin == -1) return "";
	var tagEnd = strToScan.indexOf(endTag);
	var tagLength = beginTag.length;
	var endBeginTag = tagBegin + tagLength;
	tagData = strToScan.substring(endBeginTag,tagEnd);
	return tagData;
}

function explodeArray(item,delimiter) {
  tempArray=new Array(1);
  var Count=0;
  var tempString=new String(item);

  while (tempString.indexOf(delimiter)>0) {
    tempArray[Count]=tempString.substr(0,tempString.indexOf(delimiter));
    tempString=tempString.substr(tempString.indexOf(delimiter)+1,tempString.length-tempString.indexOf(delimiter)+1); 
    Count=Count+1
  }

  tempArray[Count]=tempString;
  return tempArray;
}

function getForm() {
	/* This is from the admin form */
	fetchURL('./ajax/getForm.php?FormFileName=' +
	document.getElementById('FormTemplateTemplate').value );
}

function validateCategory() {
	if (document.getElementById('CategoryID').value > 0) {
		document.loginForm.submit();
	} else {
		alert('Please select a category for your event.');
	}
			

}
