var listings = {
	
	listingCategoryId : null, 
	
	getAjaxObject : function()
	{
		if (window.XMLHttpRequest)
			return new XMLHttpRequest();
		else if (window.ActiveXObject)
			return new ActiveXObject("Microsoft.XMLHTTP");
		else
			alert("Your browser does not support XMLHTTP!");
	},
	
	getSubCategories : function(listing_category_id, listing_subcategory_id, listing_id, organization)
	{	
						
		var listingSubcategoriesSelect = document.getElementById("listing_subcategory_id");
		
		var listingSelect = document.createElement("option");
		listingSelect.appendChild(document.createTextNode("Select a listing"));
		listingSelect.selected = true;
		listingSubcategoriesSelect.appendChild(listingSelect);
		
		this.listingCategoryId = listing_category_id;
		var ajaxObject = this.getAjaxObject();
		ajaxObject.onreadystatechange=function()
		{
			if (this.readyState==4)
			{
				if (this.responseXML !== null)
				{
					var subCategories = this.responseXML.documentElement.getElementsByTagName("subCategory");

					if (subCategories.length > 0)
					{
						var formTable = document.getElementById('formTable');
						var formTableBody = formTable.getElementsByTagName('tbody')[0];
						var eventNameRow = document.getElementById('eventNameRow');
						
						for (var i=0; i<subCategories.length; i++)
						{
							var listingSubcategoryOption = document.createElement("option");
							listingSubcategoryOption.value = subCategories[i].getAttribute("id");
							if (typeof listing_subcategory_id == "number" && listing_subcategory_id !== null && 
									listing_subcategory_id==subCategories[i].getAttribute("id"))
								listingSubcategoryOption.selected = true;
							listingSubcategoryOption.appendChild(document.createTextNode(subCategories[i].firstChild.data));
							listingSubcategoriesSelect.appendChild(listingSubcategoryOption);
						}
						if (typeof listing_subcategory_id == "number" && listing_subcategory_id !== null)
						{
							if (typeof listing_id == "number" && listing_id !== null && typeof organization == "string" && organization !== null)
								listings.getListings(listing_subcategory_id, listing_id, organization);
							else if (typeof listing_id == "number" && listing_id !== null)
								listings.getListings(listing_subcategory_id, listing_id);
							else
								listings.getListings(listing_subcategory_id);
						}
					}
				}
				else  
				{
					listings.getListings(0);
				}
			}
		};
		
		var params = "listing_category_id=" + listing_category_id;
		ajaxObject.open("POST","/js/addEvent/getListings.php",true);
		ajaxObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		ajaxObject.send(params);

	},
	
	getListings : function(listing_subcategory_id, listing_id, organization)
	{
		var which = {
			removeListings : true,
		};
		listings.removeRows(which);
		
		var listingsSelect = document.getElementById("listing_id");
		
		var listingSelect = document.createElement("option");
		listingSelect.appendChild(document.createTextNode("Select a listing"));
		listingSelect.selected = true;
		listingsSelect.appendChild(listingSelect);
		
		var ajaxObject = this.getAjaxObject();
		ajaxObject.onreadystatechange=function()
		{
			if (this.readyState==4)
			{				
				if (this.responseXML != null && this.responseText!=0)
				{
					var listingsData = this.responseXML.documentElement.getElementsByTagName("listing");
					
					if (listingsData.length > 0)
					{
						
						
						
						for (var i=0; i<listingsData.length; i++)
						{
							var listingOption = document.createElement("option");
							listingOption.value = listingsData[i].getAttribute("id");
							if (typeof listing_id == "number" && listing_id !== null && listing_id == listingsData[i].getAttribute("id"))
								listingOption.selected = true;
							listingOption.appendChild(document.createTextNode(listingsData[i].firstChild.data));
							listingsSelect.appendChild(listingOption);
						}
						
						
					}
				}

			}
		};
		
		var params = "listing_category_id=" + this.listingCategoryId + "&listing_subcategory_id=" + listing_subcategory_id;
		ajaxObject.open("POST","/js/addEvent/getListings.php",true);
		ajaxObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		ajaxObject.send(params);
	},
	
	removeRows : function(which)
	{
		
		if (which == "removeSubcategories")
		{
			var listingSubcategories = document.getElementById('listing_subcategory_id');
			if (listingSubcategories != null){
				while ( listingSubcategories.childNodes.length >= 1 )
    			{
        			listingSubcategories.removeChild( listingSubcategories.firstChild );       
    			} 
			}

		}
		if (which.removeListings)
		{
			var listingsRow = document.getElementById("listing_id");
			if (listingsRow != null)
				while ( listingsRow.childNodes.length >= 1 )
    			{
        			listingsRow.removeChild( listingsRow.firstChild );       
    			} 
		}

	}
}