
var cPage = 1;
var nTotalPages;
var cSorting = '';

var activeDealsFilters = new Array();
var inactiveDealsFilters = new Array();
var activeDealsGroup = new Array();


function waitToLoad()
{
	//scrollTo(0,0);
	//document.getElementById("listingLoadBox").style.backgroundColor = "#c1d6f6";
	document.getElementById("preloadingGraphic").style.display = "inline";
	document.getElementById("dealsResults").style.display = "none";
	loadedStatus = 1;
}

function isLoaded()
{
	document.getElementById("preloadingGraphic").style.display = "none";
	//document.getElementById("listingResults").style.overflowY = "scroll";
	document.getElementById("dealsResults").style.display = "block";
	document.getElementById("dealsLoadBox").style.backgroundColor = "";
	loadedStatus = 0;
}


function showFullSubFilters(filterName)
{
	if(document.getElementById(filterName+"_shown").style.display == "")
	{
		document.getElementById(filterName+"_shown").style.display = "none";
		document.getElementById(filterName+"_hidden").style.display = "";
	}
	else
	{
		document.getElementById(filterName+"_hidden").style.display = "none";
		document.getElementById(filterName+"_shown").style.display = "";
	}
}


function addToActiveDealsFilters(filterID,groupName,filterName)
{
	var activeDealsFiltersHTML = '';
	var inactiveDealsFiltersHTML = '';
	var inactiveDealsFiltersHiddenHTML = '';
	var inactiveDealsFilters = new Array();
	var activeDealsFilterName = new Array();
	
	if(in_array(activeDealsFilters,filterID) == 0)
	{
		activeDealsFilters.push(filterID);
		//activeEventFilters[filterID][groupName] = filterName;
	}
	
	/*set to status 1 to all those active deal filters*/
	for(i in dealsStatus)
	{
		if(i == filterID)
		{
			dealsStatus[i] = 1;
		}
	}
	
	/*add active filter groupname to activeDealsGroup array*/
	if(in_array(activeDealsGroup,groupName) == 0)
	{
		activeDealsGroup.push(groupName);
	}
	
	/*add active filter filtername to activeDealsFilterName array*/
	if(in_array(activeDealsFilterName,filterName) == 0)
	{
		activeDealsFilterName.push(filterName);
	}


	for(i=0;i<activeDealsFilters.length;i++)
	{
		for(z in dealsID)
		{
			if(z == activeDealsFilters[i])
			{
				activeDealsFiltersHTML += "<div style=\"cursor: pointer;padding-bottom: 7px;\"><a href='javascript:void(0)' class='fl_18_hole_data_selected' style='padding-right: 4px;' onclick=\"removeFromActiveDealsFilters('"+activeDealsFilters[i]+"','"+dealsIDGroup[activeDealsFilters[i]]+"');\"><img src='/images/shell/golfing/listing_closebtn.gif' border='0' valign='absmiddle'></a><a href='javascript:void(0)' class='fl_18_hole_data_selected'  onclick=\"removeFromActiveDealsFilters('"+activeDealsFilters[i]+"','"+dealsIDGroup[activeDealsFilters[i]]+"');\">"+dealsID[z]+"</a></div>";
			}
		}
	}


	for(z in aSubFilterID)
	{

		if(document.getElementById(z+"_shown").style.display == "")
		{
			inactiveDealsFiltersHTML += "<div id='"+z+"_shown'><span class=\"golf_listTypeHeading\">"+z+":</span><br>";
		}
		else
		{
			inactiveDealsFiltersHTML += "<div id='"+z+"_shown' style='display: none;'><span class=\"golf_listTypeHeading\">"+z+":</span><br>";
		}


		//inactiveEventFiltersHTML += "<div id='"+z+"_shown'>";
		//inactiveEventFiltersHiddenHTML += "<div id='"+z+"_hidden' style='display: none;'>";
		/*following code displays only 6 filters instead of all*/
		var cnt = 1;
		for(y in aSubFilterID[z])
		{
			if(cnt < 7)
			{
				if(dealsStatus[aSubFilterID[z][y]] != 1)
				{
					if(in_array(activeDealsGroup,z) == 1 && z == "City")
					{	/*modified code to add checkboxes, following code disables all others choices
						 if the type is city:04/11/08*/
						inactiveDealsFiltersHTML += "<input type=\"checkbox\" disabled> <span class='fl_18_hole_data_selected'>"+y+"</span><br>";
					}
					else
					{	/*modified code to add checkboxes, following code displays rest of the filters in the
						 group as checkboxes:04/11/08*/
						inactiveDealsFiltersHTML += "<input type=\"checkbox\" onclick=\"addToActiveDealsFilters('"+aSubFilterID[z][y]+"','"+z+"','"+y+"');\"> <span class=\"fl_18_hole_data_selected\">"+y+"</span><br>";
					}
				}else{	/*displays the selected filter as a checked checkbox in its respective group and removes
						from filters when unchecked:04/11/08*/
						inactiveDealsFiltersHTML += "<input type=\"checkbox\" onclick=\"removeFromActiveDealsFilters('"+aSubFilterID[z][y]+"','"+z+"');\" checked> <span class=\"fl_18_hole_data_selected\">"+y+"</span><br>";
				}

			}
			cnt++;
		}

		if(cnt > 6)
		{
			inactiveDealsFiltersHTML += "<a href=\"javascript:void(0);\" class=\"showMoreLess\" onclick=\"showFullSubFilters('"+z+"');\">[+] show more</a><div style='height: 5px;'></div><hr width=\"100%\" /></div>";
		}
		else
		{
			inactiveDealsFiltersHTML += "<hr width=\"100%\" />";
		}

		
		
		if(document.getElementById(z+"_hidden").style.display == "")
		{
			inactiveDealsFiltersHTML += "<div id='"+z+"_hidden'><span class=\"golf_listTypeHeading\">"+z+":</span><br>";
		}
		else
		{
			inactiveDealsFiltersHTML += "<div id='"+z+"_hidden' style='display: none;'><span class=\"golf_listTypeHeading\">"+z+":</span><br>";
		}
		
		/*following code displayed when show more is clicked, it will show up all filters in the group*/
		for(y in aSubFilterID[z])
		{
			if(dealsStatus[aSubFilterID[z][y]] != 1)
			{
				if(in_array(activeDealsGroup,z) == 1 && z == "City")
				{	
					inactiveDealsFiltersHTML += "<input type=\"checkbox\" disabled> <span class='fl_18_hole_data_selected'>"+y+"</span><br>";
				}
				else
				{	
					inactiveDealsFiltersHTML += "<input type=\"checkbox\" onclick=\"addToActiveDealsFilters('"+aSubFilterID[z][y]+"','"+z+"','"+y+"');\"> <span class=\"fl_18_hole_data_selected\">"+y+"</span><br>";
				}
			}else{	
					inactiveDealsFiltersHTML +="<input type=\"checkbox\" onclick=\"removeFromActiveDealsFilters('"+aSubFilterID[z][y]+"','"+z+"');\" checked> <span class=\"fl_18_hole_data_selected\">"+y+"</span><br>";
			}
		}

		inactiveDealsFiltersHTML += "<a href=\"javascript:void(0);\" class=\"showMoreLess\" onclick=\"showFullSubFilters('"+z+"');\">[-] show less</a><div style='height: 5px;'></div><hr width=\"100%\" /></div>";
	}

	document.getElementById("subFilterGroups").innerHTML = inactiveDealsFiltersHTML;
	document.getElementById("activeSuperFilters").innerHTML = activeDealsFiltersHTML;
	
	
	cPage = 0;
	reloadDeals(0);
}



function removeFromActiveDealsFilters(filterID,groupName)
{
	var tempArray = new Array();
	var activeDealsFiltersHTML = '';
	var inactiveDealsFiltersHTML = '';

     //just get rid of this group
     
	for(i=0;i<activeDealsGroup.length;i++)
	{
		if(activeDealsGroup[i] != groupName)
		{
			tempArray.push(activeDealsGroup[i]);
		}
	}

	activeDealsGroup = tempArray;
	tempArray = new Array();

	//get rid of the active filter

	for(i=0;i<activeDealsFilters.length;i++)
	{
		if(activeDealsFilters[i] != filterID)
		{
			tempArray.push(activeDealsFilters[i]);
		}
	}

	activeDealsFilters = tempArray;


	if(activeDealsFilters.length > 0)
	{

		for(i=0;i<activeDealsFilters.length;i++)
		{
			for(z in dealsID)
			{
				if(z == activeDealsFilters[i])
				{
					activeDealsFiltersHTML += "<div style=\"cursor: pointer;padding-bottom: 7px;\"><a href='javascript:void(0)' class='fl_18_hole_data_selected' style='padding-right: 4px;' onclick=\"removeFromActiveDealsFilters('"+activeDealsFilters[i]+"','"+dealsIDGroup[activeDealsFilters[i]]+"')\"><img src='/images/shell/golfing/listing_closebtn.gif' border='0' valign='absmiddle'></a><a href='javascript:void(0)' class='fl_18_hole_data_selected'  onclick=\"removeFromActiveDealsFilters('"+activeDealsFilters[i]+"','"+dealsIDGroup[activeDealsFilters[i]]+"');\">"+dealsID[z]+"</a></div>";
				}
			}
		}

		document.getElementById("activeSuperFilters").innerHTML = activeDealsFiltersHTML;
	}
	else
	{
		document.getElementById("activeSuperFilters").innerHTML = "<div style='font-family: Tahoma,Arial,Verdana;font-size: 11px;margin-top: 10px;margin-bottom: 10px;'>Click selections below to<br /> add them to your search</div>";
	}



	for(z in aSubFilterID)
	{
		for(y in aSubFilterID[z])
		{
			if(aSubFilterID[z][y] == filterID)
			{
				dealsStatus[aSubFilterID[z][y]] = 0;
			}
		}
	}


	for(z in aSubFilterID)
	{

		if(document.getElementById(z+"_shown").style.display == "")
		{
			inactiveDealsFiltersHTML += "<div id='"+z+"_shown'><span class=\"golf_listTypeHeading\">"+z+":</span><br>";
		}
		else
		{
			inactiveDealsFiltersHTML += "<div id='"+z+"_shown' style='display: none;'><span class=\"golf_listTypeHeading\">"+z+":</span><br>";
		}


		//inactiveEventFiltersHTML += "<div id='"+z+"_shown'>";
		//inactiveEventFiltersHiddenHTML += "<div id='"+z+"_hidden' style='display: none;'>";

		var cnt = 1;
		for(y in aSubFilterID[z])
		{
			if(cnt < 7)
			{
				if(dealsStatus[aSubFilterID[z][y]] == 0)
				{
					if(in_array(activeDealsGroup,z) == 1 && z == "City" || in_array(activeDealsGroup,z) == 1 && z == "Upcoming")
					{	/*modified code to add checkboxes, following code disables all others choices in the
						group if the type is city:04/11/08*/
						inactiveDealsFiltersHTML += "<input type=\"checkbox\" disabled> <span class='fl_18_hole_data_selected'>"+y+"</span><br>";
					}
					else
					{	/*modified code to add checkboxes, following code displays rest of the filters in the
						 group as checkboxes:04/11/08*/
						inactiveDealsFiltersHTML += "<input type=\"checkbox\" onclick=\"addToActiveDealsFilters('"+aSubFilterID[z][y]+"','"+z+"','"+y+"');\"> <span class=\"fl_18_hole_data_selected\">"+y+"</span><br>";
					}
				}else{	/*displays the selected filter as a checked checkbox in its respective group and removes
						from filters when unchecked:04/11/08*/
						inactiveDealsFiltersHTML += "<input type='checkbox' checked onclick=\"removeFromActiveDealsFilters('"+aSubFilterID[z][y]+"','"+z+"');\"> <span class=\"fl_18_hole_data_selected\">"+y+"</span><br>";
				}

			}
			cnt++;
		}
		
		if(cnt > 6)
		{
			inactiveDealsFiltersHTML += "<a href=\"javascript:void(0);\" class=\"showMoreLess\" onclick=\"showFullSubFilters('"+z+"');\">[+] show more</a><div style='height: 5px;'></div><hr width=\"100%\" /></div>";
		}
		else
		{
			inactiveDealsFiltersHTML += "<hr width=\"100%\" />";
		}
		

		if(document.getElementById(z+"_hidden").style.display == "")
		{
			inactiveDealsFiltersHTML += "<div id='"+z+"_hidden'><span class=\"golf_listTypeHeading\">"+z+":</span><br>";
		}
		else
		{
			inactiveDealsFiltersHTML += "<div id='"+z+"_hidden' style='display: none;'><span class=\"golf_listTypeHeading\">"+z+":</span><br>";
		}

		for(y in aSubFilterID[z])
		{
			if(dealsStatus[aSubFilterID[z][y]] == 0)
			{
				if(in_array(activeDealsGroup,z) == 1 && z == "City" || in_array(activeDealsGroup,z) == 1 && z == "Upcoming")
				{	/*modified code to add checkboxes, following code disables all others choices in the
					same group if the type is city:04/11/08*/
					inactiveDealsFiltersHTML += "<input type=\"checkbox\" disabled> <span class='fl_18_hole_data_selected'>"+y+"</span><br>";
				}
				else
				{	/*modified code to add checkboxes, following code displays others choices in the
					same group:04/11/08*/
					inactiveDealsFiltersHTML += "<input type=\"checkbox\" onclick=\"addToActiveDealsFilters('"+aSubFilterID[z][y]+"','"+z+"','"+y+"');\"> <span class=\"fl_18_hole_data_selected\">"+y+"</span><br>";
				}
			}else{	/*displays the selected filter as a checked checkbox in its respective group and removed
					 from filters when unchecked:04/11/08*/
					inactiveDealsFiltersHTML += "<input type='checkbox' checked onclick=\"removeFromActiveDealsFilters('"+aSubFilterID[z][y]+"','"+z+"');\"> <span class=\"fl_18_hole_data_selected\">"+y+"</span><br>";
				}
		}

		inactiveDealsFiltersHTML += "<a href=\"javascript:void(0);\" class=\"showMoreLess\" onclick=\"showFullSubFilters('"+z+"');\">[-] show less</a><div style='height: 5px;'></div><hr width=\"100%\" /></div>";
	}


	document.getElementById("subFilterGroups").innerHTML = inactiveDealsFiltersHTML;
	
	cPage = 0;
	reloadDeals(0);
}


function reloadDeals(nPage)
{
    waitToLoad();	
    
    var commaGroup ='';

    var z =1;
    var sComma = '';
    
    for(i=0;i<activeDealsFilters.length;i++)
    {
    	if(z < activeDealsFilters.length)
    	{
    		sComma = "|";
    	}
    	else
    	{
    	    sComma = "";	
    	}
    	
      // commaGroup += "('"+activeDealsFilters[i]+"')"+sComma;
       commaGroup += activeDealsFilters[i]+sComma;
       z++;
    }

	 x_reloadDeals(tagGroup,dealID,commaGroup,nPage,cSorting,showNewDeals);
}

function showNewDeals(results)
{
	isLoaded();
	
	spResults = results.split("//rows//");
	
	document.getElementById("dealsResults").innerHTML = spResults[0];
	
	if(spResults[1] != 0)
	{
	    nTotalPages = parseInt(spResults[1]);
		var nPages = Math.ceil(nTotalPages/40);
		var sLinks = '';

		if(nPages > 1 )
		{

			if( (cPage+1) < nPages && cPage > 0)
			{
				sLinks = "<a href='javascript:void(0);' onclick='gridPage("+(cPage-1)+");'><img src=\"/images/shell/golfing/cal_left.gif\" border='0'  align='absmiddle' /></a>&nbsp;";
				sLinks += "Page "+(cPage+1)+" of "+nPages+"";
				sLinks += "&nbsp;<a href='javascript:void(0);' onclick='gridPage("+(cPage+1)+");'><img src=\"/images/shell/golfing/cal_right.gif\" border='0' align='absmiddle' /></a>";
			}

			else if((cPage+1) >= 1)
			{
				if((cPage+1) == nPages && cPage == 0)
				{
					sLinks += "Page "+(cPage+1)+" of "+nPages+"";
				}
				else if( (cPage+1) == nPages)
				{
					sLinks = "<a href='javascript:void(0);' onclick='gridPage("+(cPage-1)+");'><img src=\"/images/shell/golfing/cal_left.gif\" border='0'  align='absmiddle'/></a>&nbsp;";
					sLinks += "Page "+(cPage+1)+" of "+nPages+"";
				}
				else
				{
					sLinks = "Page "+(cPage+1)+" of "+nPages+"";
					sLinks += "&nbsp;<a href='javascript:void(0);' onclick='gridPage("+(cPage+1)+");'><img src=\"/images/shell/golfing/cal_right.gif\" border='0' align='absmiddle' /></a>";
				}
			}
		}
		else
		{
			sLinks = "";
		}


		document.getElementById("total").innerHTML = sLinks;
		document.getElementById("total_bottom").innerHTML = sLinks;	
		document.getElementById("current_deals_label").innerHTML = tagGroupLabel+" Deals ("+spResults[1]+")";
	}
	else
	{
	   document.getElementById("dealsResults").innerHTML = "<span class='regularNonBold'>No results found.</span>";
	   document.getElementById("total").innerHTML = "";
	   document.getElementById("total_bottom").innerHTML = "";	
	   document.getElementById("current_deals_label").innerHTML = tagGroupLabel+" Deals (0)";
		
	}
	
}

function showLongDesc(deal_id)
{
  document.getElementById("desc_"+deal_id).innerHTML = document.getElementById("desc_long_"+deal_id).innerHTML;
  document.getElementById("desc_link_"+deal_id).onclick = new Function("showShortDesc('"+deal_id+"')");
  document.getElementById("desc_link_"+deal_id).innerHTML = "Read Less";
}

function showShortDesc(deal_id)
{
   document.getElementById("desc_"+deal_id).innerHTML = document.getElementById("desc_short_"+deal_id).innerHTML;	
   document.getElementById("desc_link_"+deal_id).onclick = new Function("showLongDesc('"+deal_id+"')");
   document.getElementById("desc_link_"+deal_id).innerHTML = "Read More";
}

function showLongDisclaimer(deal_id)
{
 document.getElementById("disc_"+deal_id).innerHTML = document.getElementById("disc_long_"+deal_id).innerHTML;
}

function showShortDisclaimer(deal_id)
{
 document.getElementById("disc_"+deal_id).innerHTML = document.getElementById("disc_short_"+deal_id).innerHTML;
}


function gridPage(nPageNum)
{
	cPage = nPageNum;
	reloadDeals(nPageNum);
}


function orderByDate()
{
	cPage = 0;
	cSorting = "end_date_asc";
	document.getElementById("orderbydate_link").style.fontWeight = "bold";
	document.getElementById("orderbyname_link").style.fontWeight = "normal";

	reloadDeals(0);
}

function orderByName()
{
	//#5f5c5c
	cPage = 0;
	cSorting = "name_asc";
	document.getElementById("orderbydate_link").style.fontWeight = "normal";
	document.getElementById("orderbydate_link").style.color = "#ffffff";
	document.getElementById("orderbyname_link").style.fontWeight = "bold";
	document.getElementById("orderbyname_link").style.color = "#ffffff";

	reloadDeals(0);
}