/// <reference path="jquery.js" />
/// <reference path="http://www.google.com/jsapi?key=ABQIAAAA0Kmueb3wVLHqnaNBSwQ-NRQkSsWcx1b4Sk3o6TxC_TgE-u3iTxQQ4BHiBqhSAvLKLHHL9OTXZ30OJQ" />

var geoXml;
var Icon;
var slider;
var sliderRange = 245;
var search_string = '';
var pest_type = '';
var region = '';
var country = '';
var pub_date = '2';


function resetParameters()
{
//	search_string = '';
//	pest_type = '';
//	region = '';
//	country = '';
}	

function resetUIParameters()
{
	document.getElementById("search_param").value = '';
	document.getElementById("typeOfPestSelected").value = '';
	document.getElementById("regionSelect").value = '';
	document.getElementById("countrySelect").value = '';
}	


function buildSearchResults()
{
	DWREngine._execute(_cfscriptLocation, null, 'searchFeedDatabaseForAdmin', search_string, pest_type, region, country, pub_date, updateSearchResults);
	document.getElementById("searchResults").style.background = "#ffffff";
	document.getElementById("searchResults").innerHTML = "";
	document.getElementById("searchResultsHeader").innerHTML = "<div style='height:15px;'><table height='15px'><tr><td width='15px'> <img src='../images/mozilla_blu.gif' style='width: 12px;'/></td><td><span class=custom_message style='vertical-aign:middle'>Search in progress...</span></td></table></div>";
}


function openEditPage(index)
{
	link = document.getElementById(index).href;
	title = document.getElementById(index).innerHTML;
	document.getElementById("enable_edit_page").value = "1";
	document.getElementById("sel_title").value = title;
	document.getElementById("sel_link").value = link;
	document.getElementById("frm").submit();
}	

function markForDelete(index)
{
	link = document.getElementById(index).href;
	title = document.getElementById(index).innerHTML;
	DWREngine._execute(_cfscriptLocation, null, 'markForDelete', link, title, buildSearchResults);
}	

function markForVisibility(index)
{
	link = document.getElementById(index).href;
	title = document.getElementById(index).innerHTML;
	DWREngine._execute(_cfscriptLocation, null, 'markForVisibility', link, title, buildSearchResults);
}	


function search()
{
	pub_date = '1';
	search_string = document.getElementById("search_param").value;
	buildSearchResults();
	resetUIParameters();
	document.getElementById("search_param").value = search_string;
	resetParameters();
}	

function search_pest()
{
	pest_type = document.getElementById("typeOfPestSelected").value;
	buildSearchResults();
	resetUIParameters();
	document.getElementById("typeOfPestSelected").value = pest_type;
	resetParameters();
}	

function search_pub_date()
{
	pub_date = document.getElementById("dateRange").value;
	buildSearchResults();
	resetUIParameters();
	document.getElementById("dateRange").value = pub_date;
	resetParameters();
}	


function processGeo(inpString)
{
	if(inpString.length > 5)
	{
		return inpString.substring(0, 5);
	}
	
	return inpString;
}		



function search_region()
{
	region = document.getElementById("regionSelect").value;
	buildSearchResults();
	resetUIParameters();
	document.getElementById("regionSelect").value = region;
	resetParameters();
}		

function search_country()
{
	country = document.getElementById("countrySelect").value;
	buildSearchResults();
	resetUIParameters();
	document.getElementById("countrySelect").value = country;
	resetParameters();
}	

<!-- The inner HTML is modified to display the new date range. --> 	
function updateSearchResults(result)
{
	var searchResultsContent = "";
	var searchResultsHeader = "";
	var itemCount = 0;
	var display = 	document.getElementById("display").value;

 	searchResultsContent = "<table width='835px'>";
	searchResultsHeader = "<table width='853px' class=custom_header_cell id ='details_header'>";
	searchResultsHeader = searchResultsHeader + "<tr><td class=custom_header_cell width='50px'>&nbsp;Type</td>";
	searchResultsHeader = searchResultsHeader + "<td class=custom_header_cell width='74px'>&nbsp;Pub. Date</td>";
	searchResultsHeader = searchResultsHeader + "<td class=custom_header_cell width='200px'>&nbsp;Title</td>";
	searchResultsHeader = searchResultsHeader + "<td class=custom_header_cell width='375px'>&nbsp;Description</td>";
	searchResultsHeader = searchResultsHeader + "<td class=custom_header_cell>&nbsp;Geography</td></tr></table>";

	for(i=0; i<result.length; i++)
	{
		var description = result[i].DESCRIPTION;
		if(description.length > 100)
		{
			for(j=300; j>=0;j--)
			{
				if(description.charAt(j)==' ') break;
			}

			description = description.substr(0, j) + "... ";
		}
		
		if(result[i].MARK_FOR_DELETE == 1 && display=='all')
		{
			searchResultsContent = searchResultsContent + "<tr>";
			searchResultsContent = searchResultsContent + "<td class=custom_cell_deleted width='47px'>";
			searchResultsContent = searchResultsContent + result[i].TYPE.toUpperCase();
			searchResultsContent = searchResultsContent + "</td>";
			searchResultsContent = searchResultsContent + "<td class=custom_cell_deleted width='70px'>";
			searchResultsContent = searchResultsContent + result[i].PUB_DATE.substr(0,10);
			searchResultsContent = searchResultsContent + "</td>";
			searchResultsContent = searchResultsContent + "<td class=custom_cell_deleted width='200px'>";
			searchResultsContent = searchResultsContent + "<a class=custom_cell_deleted_font  id ='"+ i +"' target='_blank' style='font-size: 7pt;' href=" + result[i].LINK + ">"  + result[i].TITLE + "</a>";
			searchResultsContent = searchResultsContent + "</td>";
			searchResultsContent = searchResultsContent + "<td class=custom_cell_deleted width='400px'>";
			searchResultsContent = searchResultsContent + description;
			searchResultsContent = searchResultsContent + "</td>";
			searchResultsContent = searchResultsContent + "<td class=custom_cell_deleted width='50px'>";

			result[i].LAT, result[i].LONG
			if(result[i].GEO_PRESENT_FLAG == 1)
			{
				searchResultsContent = searchResultsContent + processGeo(result[i].LAT) + '<br>'; 
				searchResultsContent = searchResultsContent + processGeo(result[i].LONG); 
			}
			else
			{
				searchResultsContent = searchResultsContent + '-'; 
			}
			searchResultsContent = searchResultsContent + "</td>";

			searchResultsContent = searchResultsContent + "<td class=custom_cell_deleted>&nbsp;";
			searchResultsContent = searchResultsContent + "</td>";

			searchResultsContent = searchResultsContent + "</tr>";
		}
		else if((result[i].MARK_FOR_DELETE == 0 && result[i].VISIBLE_FLAG == 0)  && (display=='all' || display=='review'))
		{
			searchResultsContent = searchResultsContent + "<tr>";
			searchResultsContent = searchResultsContent + "<td class=custom_cell_visible width='47px'>";
			searchResultsContent = searchResultsContent + result[i].TYPE.toUpperCase();
			searchResultsContent = searchResultsContent + "</td>";
			searchResultsContent = searchResultsContent + "<td class=custom_cell_visible width='70px'>";
			searchResultsContent = searchResultsContent + result[i].PUB_DATE.substr(0,10);
			searchResultsContent = searchResultsContent + "</td>";
			searchResultsContent = searchResultsContent + "<td class=custom_cell_visible width='200px'>";
			searchResultsContent = searchResultsContent + "<a class=custom_cell_font id ='"+ i +"' target='_blank' style='font-size: 7pt;' href=" + result[i].LINK + ">"  + result[i].TITLE + "</a>";
			searchResultsContent = searchResultsContent + "</td>";
			searchResultsContent = searchResultsContent + "<td class=custom_cell_visible width='380px'>";
			searchResultsContent = searchResultsContent + description;
			searchResultsContent = searchResultsContent + "</td>";
			searchResultsContent = searchResultsContent + "<td class=custom_cell_visible width='50px'>";

			result[i].LAT, result[i].LONG
			if(result[i].GEO_PRESENT_FLAG == 1)
			{
				searchResultsContent = searchResultsContent + processGeo(result[i].LAT) + '<br>'; 
				searchResultsContent = searchResultsContent + processGeo(result[i].LONG); 
			}
			else
			{
				searchResultsContent = searchResultsContent + '-'; 
			}
			searchResultsContent = searchResultsContent + "</td>";

			searchResultsContent = searchResultsContent + "<td class=custom_cell_visible>";
			searchResultsContent = searchResultsContent + "<img src='../images/edit_icon.gif' class='search_button' onclick='javascript:openEditPage("+ i+");'/>";
			searchResultsContent = searchResultsContent + "<img src='../images/review_icon.gif' class='search_button' onclick='javascript:markForVisibility("+ i+");'/>";
			searchResultsContent = searchResultsContent + "<img src='../images/trash_icon.gif' class='search_button' onclick='javascript:markForDelete("+ i+");'/>";
			searchResultsContent = searchResultsContent + "</td>";

			searchResultsContent = searchResultsContent + "</tr>";
		}
		else if((result[i].MARK_FOR_DELETE == 0 && result[i].VISIBLE_FLAG == 1) && (display=='all'  || display=='reviewed'))
		{
			searchResultsContent = searchResultsContent + "<tr>";
			searchResultsContent = searchResultsContent + "<td class=custom_cell width='47px'>";
			searchResultsContent = searchResultsContent + result[i].TYPE.toUpperCase();
			searchResultsContent = searchResultsContent + "</td>";
			searchResultsContent = searchResultsContent + "<td class=custom_cell width='70px'>";
			searchResultsContent = searchResultsContent + result[i].PUB_DATE.substr(0,10);
			searchResultsContent = searchResultsContent + "</td>";
			searchResultsContent = searchResultsContent + "<td class=custom_cell width='200px'>";
			searchResultsContent = searchResultsContent + "<a class=custom_cell_font id ='"+ i +"' target='_blank' style='font-size: 7pt;' href=" + result[i].LINK + ">"  + result[i].TITLE + "</a>";
			searchResultsContent = searchResultsContent + "</td>";
			searchResultsContent = searchResultsContent + "<td class=custom_cell width='380px'>";
			searchResultsContent = searchResultsContent + description;
			searchResultsContent = searchResultsContent + "</td>";
			searchResultsContent = searchResultsContent + "<td class=custom_cell width='50px'>";

			result[i].LAT, result[i].LONG
			if(result[i].GEO_PRESENT_FLAG == 1)
			{
				searchResultsContent = searchResultsContent + processGeo(result[i].LAT) + '<br>'; 
				searchResultsContent = searchResultsContent + processGeo(result[i].LONG); 
			}
			else
			{
				searchResultsContent = searchResultsContent + '-'; 
			}
			searchResultsContent = searchResultsContent + "</td>";

			searchResultsContent = searchResultsContent + "<td class=custom_cell>";
			searchResultsContent = searchResultsContent + "<img src='../images/edit_icon.gif' class='search_button' onclick='javascript:openEditPage("+ i+");'/>";
			searchResultsContent = searchResultsContent + "<img src='../images/trash_icon.gif' class='search_button' onclick='javascript:markForDelete("+ i+");'/>";
			searchResultsContent = searchResultsContent + "</td>";

			searchResultsContent = searchResultsContent + "</tr>";
		}
		
		
		itemCount++;
	}
	
	if(itemCount!=0)
	{
		searchResultsContent = searchResultsContent + "</table>";
	}
	else
	{
		searchResultsContent = "";
		searchResultsHeader = "<div class=custom_tip>Search Results: No results found for the given criteria.</div>";
	}
	
	document.getElementById("searchResults").innerHTML = searchResultsContent;
	document.getElementById("searchResultsHeader").innerHTML = searchResultsHeader;
	result = null;
}


// Function to initialize the map if browser is compatible.
function initMap()
{
	if(GBrowserIsCompatible() && map == null) 
	{
		map = new GMap(document.getElementById("maps"));
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng(10.200000, 8.100000), 2, G_NORMAL_MAP);
		buildMap();
		google.setOnLoadCallback(buildMap);
	}

}

function createInfoMarker(point) 
{
	Icon = new GIcon(G_DEFAULT_ICON);
   
	Icon.iconSize = new GSize(11, 20);
	Icon.shadowSize = new GSize(34, 22);
	Icon.iconAnchor = new GPoint(11, 11);
	Icon.infoWindowAnchor = new GPoint(5, 2);
					
	var marker = new GMarker(point , Icon);
	return marker;
}


function init_mapper_page()
{
	// DOM method for binding an event.
	if (window.addEventListener) 
	{
		window.addEventListener("load", initEditMap, false);
	}	
	
   	// IE exclusive method for binding an event.
   	else if (window.attachEvent)
   	{ 
		window.attachEvent("onload", initEditMap);
  	}


	// Enable use of google maps API.
   	google.load("maps", "2");
	google.setOnLoadCallback(initEditMap); 
}

// Function to initialize the map if browser is compatible.
function initEditMap()
{
	edit_map = new GMap(document.getElementById("maps"));
	edit_map.addControl(new GLargeMapControl());
	edit_map.addControl(new GMapTypeControl());
	edit_map.setCenter(new GLatLng(10.200000, 8.100000), 2, G_NORMAL_MAP);
	if(lat != 0)
	{
		var point = new GLatLng(lat, long);
		var marker = createInfoMarker(point);
		edit_map.addOverlay(marker);
		edit_map.setCenter(point);
	}
	google.setOnLoadCallback(initEditMap);
	GEvent.addListener(edit_map, 'click', handleRightClickOnMap);
}

function handleRightClickOnMap(overlay, point) 
{
	if (overlay) {

	} 
	else if (point) 
	{
	    lat = point.y;
	    long = point.x;
	    lat = Math.round(lat*100)/100;
	    long = Math.round(long*100)/100;
	    var point1 = new GLatLng(lat, long);
	    edit_map.clearOverlays();
	    var marker = new GMarker(point1);
	    edit_map.addOverlay(marker);
	    edit_map.setCenter(point1);
	    document.getElementById("lat_content").innerHTML = "" + lat;
	    document.getElementById("long_content").innerHTML = "" + long;
	}
}

function handleBack()
{
	document.getElementById("go_back").value = "1";
	document.getElementById("frm").submit();
}	

function handleSave()
{
	document.getElementById("save_page").value = "1";

	document.getElementById("new_lat").value = lat;
	document.getElementById("new_long").value = long;
	document.getElementById("new_type").value = document.getElementById("typeOfPestSelected").value;

	document.getElementById("frm").submit();
}	
