/**
 * @author mmoloksher
 */


$(document).ready(function(){
		
	
	$("#siteLocator_addRemColumns").hide(); //Hides the table column options
	
	//Toggles between view/hide of the table column options
	$("#btn_sl_addRemColumns").toggle(
		function()
		{	
			$("#btn_sl_addRemColumns").addClass("active");			
			$("#siteLocator_addRemColumns").slideDown();
		}, 
		function () 
		{	
			$("#btn_sl_addRemColumns").removeClass("active");	
			$("#siteLocator_addRemColumns").slideUp();			
		}
	);
	
	//Toggles the Show Me All checkboxes
	$("#sl_show_me_all").toggle(
		function()
		{	
			$("#sl_view_options > input").attr('checked', true);
		}, 
		function () 
		{	
			$("#sl_view_options > input").attr('checked', false);	
		}
	);
	
	//Creates a modal for the Site Number column link in the table
	$(".siteLocator_gridView_table .modalLink").nyroModal({width: '820', height: '620'});
	
	/*Initiates Data Table for the list view table
	oTable = $('.siteLocator_gridView_table').dataTable(
		{
			"bPaginate": false,
			"bSortClasses": false,
			"bInfo": false,
			"bFilter": false,			
			"aoColumns": [ 
				null,
				null,
				null,
				null,
				null,
				null,
				null,
				null,
				{ "bVisible": false },
				{ "bVisible": false },
				{ "bVisible": false },
				{ "bVisible": false },
				{ "bVisible": false },
				{ "bVisible": false }				
			] 
		}
	);*/
	
	
	
	$("#siteLocator_converter").hide(); //Hides the converter div
	
	//Toggles between showing and hiding the Lat/Long Converter
	$("#toggle_converter").toggle(
		function()
		{	
			$("#toggle_converter").removeClass("converter_closed").addClass("converter_open");			
			$("#siteLocator_converter").slideDown();
		}, 
		function () 
		{	
			$("#toggle_converter").addClass("converter_closed").removeClass("converter_open");	
			$("#siteLocator_converter").slideUp();			
		});



	//Action for pressing the List View Button
	$("#siteLocator_listView_switch").click(
		function()
		{
			DisplayList();			
			return false;
		}
	);
	
	//Action for pressing the Map View Button
	$("#siteLocator_mapView_switch").click(
		function()
		{
			DisplayMap();
			return false;
		}
	);
}); //End of document.ready

function DisplayMap()
{
	$("#siteLocator_listView").hide();
	$("#siteLocator_listView_switch").removeClass("switch_on");
			
	$("#siteLocator_mapView").show();
	$("#siteLocator_mapView_switch").addClass("switch_on");
	positionMap();
}


function DisplayList()
{
	$("#siteLocator_mapView").hide();
	$("#siteLocator_mapView_switch").removeClass("switch_on");
			
	$("#siteLocator_listView").show();
	$("#siteLocator_listView_switch").addClass("switch_on");
}

//This function makes table columns appear and disappear
function fnShowHide( iCol, curObj )
{	
	//Checks how many checkboxes are currently checked.
	checkedColumnCount = $("#siteLocator_addRemColumns input:checked").length;		
	
	
	//If there is more than 11 columns already showing, will throw an error.
	if (checkedColumnCount < 12) 
	{
		var bVis = oTable.fnSettings().aoColumns[iCol].bVisible;
		oTable.fnSetColumnVis(iCol, bVis ? false : true);
	}
	else 
	{
		showErrorMessage("Only 11 columns can be shown at a time", "#error_holder");					
		$(curObj).attr('checked', false);				
	}
}

//Shows an error message that fades in and fades out in 5 seconds
function showErrorMessage(msg, parentNode)
{
	$(parentNode).append("<div class='error'>"+msg+"</div>");
	$(".error").fadeIn();
	
	setTimeout(function(){ 
	   $(".error").fadeOut().remove();	  
	  }, 5000 );	
}

