var url = null;
var domainName = "";
var request = null;
var currentPage = 0;
var nextPage = 0;

function setDomainName(temp)	{	domainName = temp;	}

function getURL()
{	url = "http://" + domainName + "/lib/members.php?stuff=" + new Date().getTime() + "&site_id=" + site_id + "&client_id=" + client_id;	}

function createRequest()
{
	try
	{	request = new XMLHttpRequest();	}
	catch(trymicrosoft)
	{
		try
		{	request = new ActiveXObject("Msxm12.XMLHTTP");	}
		catch(othermicrosoft)
		{
			try
			{	request = new ActiveXObject("Microsoft.XMLHTTP");	}
			catch(fail)
			{	request = null;	}
		}
	}

	if(request == null)
	{	alert("Error creating XMLHttpRequest!");	}
}

function getSubCategory()
{
	var selectedCategories = useCategory();
	
	createRequest();
	getURL();
		
	var subCategoryUrl = url + "&function=subCategoryLookup&category=" + selectedCategories;
		
	request.open("GET", subCategoryUrl, true);
	request.onreadystatechange = updateSubCategory;
	request.send(null);
}

function updateSubCategory()
{
	if(request.readyState == 4)
	{
		var subCategory = request.responseText;
		subCategory = subCategory.split("|");
		
		if(subCategory[0] == 1)
		{	document.getElementById("subCategoriesOptions").innerHTML = subCategory[1];	}
	}
}

function useCategory()
{	return getSelected(document.getElementById("categories").options).join("|");  	}

function useSubCategory()
{	return getSelected(document.getElementById("subCategories").options).join("|");	}


function getSelected(opt) 
{
  	var selected = new Array();
  	var index = 0;
  	for (var intLoop=0; intLoop < opt.length; intLoop++) 
  	{
  		if (opt[intLoop].selected) 
  		{
  			index = selected.length;
        	selected[index] = opt[intLoop].value;
  		}
  	}
  	
  	return selected;
}

function applyLinkArea()
{
	createRequest();
	getURL();
	
	var directoryUrl = url + "&function=membersDirectory&category=" + category + "&sub_category=" + subCategory + "&map_area_id=" + area_id;	
	
	request.open("GET", directoryUrl, true);
	request.onreadystatechange = updateDirectory;
	request.send(null);
}

function applyPage(tempNP, tempCP)
{
    //Current Page Number
    currentPage = tempCP;
    //Going to Page Number
    nextPage = tempNP; 
    applyArea();   
}

function applyArea()
{
	createRequest();
	getURL();

	var newSelectedArea = document.getElementById("mapArea").selectedIndex;
	var newAreaData = document.getElementById("mapArea").options[newSelectedArea].value;
	newAreaData = newAreaData.split("|");
	
	if(specailOffers == 1)
	{	var directoryUrl = "&function=specialOffers";	}
	else
	{	var directoryUrl = "&function=membersDirectory";	}
	
	//Get Selected Categories
	var selectedCategories = useCategory();
	if(selectedCategories == '') 
	{ 
		document.getElementById("member_message").innerHTML = "<h2>Please choose a Category.</h2><br/>"; 
		return false;
	}
	else if(selectedCategories != '') {	directoryUrl += "&category=" + selectedCategories;		}
	
	//Get Selected Sub-Categories
	var selectedSubCategories = useSubCategory();
	if(selectedSubCategories != '') {	directoryUrl += "&sub_category=" + selectedSubCategories;		}

	directoryUrl = url + directoryUrl + "&map_area_id=" + newAreaData[4] + "&next=" + nextPage + "&current=" + currentPage;
	
	if(debug == 1)
	{	document.getElementById("debug").innerHTML = directoryUrl;	}
		
	request.open("GET", directoryUrl, true);
	request.onreadystatechange = updateDirectory;
	request.send(null);
}

function updateDirectory()
{
    if(request.readyState == 4)
	{
		var directoryData = request.responseText;
		directoryData = directoryData.split("|");
		
		if(specailOffers == 1)
		{	document.getElementById("specialoffers").innerHTML = directoryData[2];	}
		else
		{	
            document.getElementById("directory").innerHTML = directoryData[2];
            document.getElementById("directoryTopPaging").innerHTML = directoryData[3];
            document.getElementById("directoryBottomPaging").innerHTML = directoryData[3];	
        }
	}
}

function addToTrip(member_id, my_trip_id)
{
    getURL();
	createRequest();

    var tripUrl = url + "&function=addToTrip&member_id=" + member_id + "&trip_id=" + my_trip_id;
	request.open("GET", tripUrl, true);
	request.onreadystatechange = updateAdd2Trip;
	request.send(null);
}

function updateAdd2Trip()
{
	if(request.readyState == 4)
    	{
    		var data = request.responseText;
        		data = data.split("|");

		if(data[0] != 0)
		{ document.getElementById(data[1]).innerHTML = data[2];   }
    	}
}

function processAdvertisingTypes()
{
	if(document.getElementById("ad_type1").checked == true)
	{	
		var member_id = document.getElementById("selectedMemberId").value;	
		if(member_id == "")
		{
			alert("Please select a Member for this Advertisement.");
			document.getElementById("search_term").focus();
			return false;
		}
	}
	else if(document.getElementById("ad_type2").checked == true)
	{
		var advertiser_name = document.getElementById("advertiser_name").value;
		if(advertiser_name == "")
		{
			alert("Please enter a name for this Advertiser.");
			document.getElementById("advertiser_name").focus();
			return false;
		}
	}
	else
	{
		alert("Please select either a Member or Advertiser for this ad.");
		return false;
	}
	
	return true;
}

function processAdvertisingForm(formType)
{
	if(formType == "add")
	{	if(processAdvertisingTypes() === false) { return false; }	}
	
	if(document.getElementById("pageMyTours").checked == true)
	{
		var tourOption = document.getElementById("myTourPlacement").selectedIndex;			
		if(tourOption == 0)
		{
			alert("Please select a Placement Type for the Advertisement on 'My Tours Main Page'.");
			return false;
		}
	}
	else if(document.getElementById("pageTourDetail").checked == true)	{	/*Do not need to do anything right here.*/	}
	else if(document.getElementById("pageSuggestedTour").checked == true)
	{
		var tourOption = document.getElementById("suggestedTourPlacement").selectedIndex;
		if(tourOption == 0)
		{
			alert("Please select a Placement Type for the Advertisement on 'Suggested Tours Main Page'.");
			return false;
		}
	}
	else if(document.getElementById("pageSuggestedDetail").checked == true)
	{
		var tourOption = "";
		var suggestCount = document.getElementById("suggestedTourCount").value;
		for(var i = 0; i < suggestCount; i++)
		{
			if(document.getElementById("suggestedTour" + i).checked == true)
			{	tourOption += document.getElementById("suggestedTour" + i).value + "|";	}
		}
		
		if(tourOption == "")
		{
			alert("Please select 1 or more Suggested Tours for the this Advertisement.");
			return false;
		}
	}
	else
	{
		alert("Please select an Available Page for the Advertisement to be placed.");
		return false;	
	}
	
	return true;
}