// JavaScript Document



function sendEmail(emailR){



	var Name = document.getElementById('name').value;

	var Email = document.getElementById('fixedEmail').value;

	var eventType = document.getElementById('eventType').value;

	var eventDate = document.getElementById('eventDate').value;

	var Phone = document.getElementById('Phone').value;



	var emailURL = 'sendEmail.php?Name=' + Name + '&Email=' + Email + '&eventType=' + eventType+ '&eventDate=' + eventDate+ '&Phone=' + Phone+ '&RecEmail=' + emailR;



	GDownloadUrl(emailURL, function(data) {

		var xml = GXml.parse(data);

		var markers = xml.documentElement.getElementsByTagName('marker');

	});

}



function searchLocations() {

	var address = document.getElementById('addressInput').value;

	geocoder.getLatLng(address, function(latlng) {

	if (!latlng) {

	 alert(address + ' not found');

	} else {

	 searchLocationsNear(latlng);

	}

	});

}



function searchLocationsNear(center) {

	 var radius = document.getElementById('radiusSelect').value;

	 var searchUrl = 'search_getxml.php?lat=' + center.lat() + '&lng=' + center.lng() + '&radius=' + radius;

	GDownloadUrl(searchUrl, function(data) {

	var xml = GXml.parse(data);

	var markers = xml.documentElement.getElementsByTagName('marker');

	map.clearOverlays();

	

	var sidebar = document.getElementById('sidebar');

	sidebar.innerHTML = '';

	if (markers.length == 0) {

	 sidebar.innerHTML = 'No results found.';

	 map.setCenter(new GLatLng(40, -100), 4);

	 return;

	}

	

	var bounds = new GLatLngBounds();

	var numResults = document.getElementById('resultHeader'); 

	numResults.innerHTML = 'Found ' +markers.length +' listings'; 

	for (var i = 0; i < markers.length; i++) {

		var name = markers[i].getAttribute('name');

		

		var distance =   parseFloat(markers[i].getAttribute('distance'));

		

		var cid = markers[i].getAttribute('cid');

		var zipcode = markers[i].getAttribute('zipcode');

		var city = markers[i].getAttribute('city');

		var state = markers[i].getAttribute('state');

		var address1 = markers[i].getAttribute('address');

		var EndorsePro = markers[i].getAttribute('EndorsePro');

		if(address1 != ''){

			var address = address1 + '<br /> ' + city + ', ' + state ;

		}

		else {

			var address = city + ' ' + state ;	

		}

		var point = new GLatLng(parseFloat(markers[i].getAttribute('lat')),

							 parseFloat(markers[i].getAttribute('lng')));

		var idA = new Array(cid, name);

		var marker = createMarker(point, idA, address);

		 

		map.addOverlay(marker);

		var sidebarEntry = createSidebarEntry(marker, name, address,distance,EndorsePro);

		sidebar.appendChild(sidebarEntry);

		bounds.extend(point);

	}

	map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));

	});

}

var new_icon = new GIcon();

new_icon.image = 'zipmarker.png';

new_icon.size = new GSize(16,16);

new_icon.iconAnchor = new GPoint(8,9);

new_icon.infoWindowAnchor = new GPoint(7,7);

var opt = {};

opt.icon = new_icon;

opt.dragable = false;

opt.clickable = true;

opt.dragCrossMove = true;

function createMarker(point, idA, address) {

  var marker = new GMarker(point, opt);

//  var marker = new google.maps.Marker({

 //    position: point,

 //     icon: 'zipmarker.png'

 // });

  var html = '<b>' + idA[1] + '</b> <br/>' + address + '<br /><a href=\"#moreinfo\"  >More info</a> <br/> ';

  GEvent.addListener(marker, 'click', function() {

	marker.openInfoWindowHtml(html);

	updateMoreInfo(idA[0]);

	

  });

  return marker;

}

function updateMoreInfo(id) {

	var searchUrl = 'moreinfo_genxml.php?cid='+ id;

	GDownloadUrl(searchUrl, function(data) {

	var xml = GXml.parse(data);

	var C = xml.documentElement.getElementsByTagName('marker');

	

	var moreinfo = document.getElementById('moreinfo');

	moreinfo.innerHTML = '';

	if (C.length == 0) {

	 moreinfo.innerHTML = 'No results found.';

	 return;

	}



	var div = document.createElement('div');

	var name = C[0].getAttribute('Name');

	var address = C[0].getAttribute('Address');

	var city = C[0].getAttribute('City');

	var state = C[0].getAttribute('State');

	var zipcode = ''; //C[0].getAttribute('Zipcode');

	var AreaCode = C[0].getAttribute('AreaCode');

	var phone = C[0].getAttribute('Phone');

	var email = C[0].getAttribute('Email');

	var description = C[0].getAttribute('Description');

	var website = C[0].getAttribute('Website');



	if( !include(sentEmails,email)){

		sendEmail(email);

		sentEmails.push(email);

//		alert(email);

	}





	var html =  '<b>' + 	name + '</b><br/>' + address + ' <br />' + city +', '+state ;

	html = html + '<p> Phone: ('+AreaCode+') ' + phone + '<br /> Email: <a href=\"mailto:'+email+'\">' +email+'</a>';

	html = html + '<br />Website: <a href=\"http://'+website + '\" target=\"_blank\">'+website+'</a> </p> <p>'+ description+'</p>';

	div.innerHTML = html;

	moreinfo.innerHTML = html;

	div.style.cursor = 'pointer';

	div.style.marginBottom = '0px'; 

	GEvent.addDomListener(div, 'click', function() {

	GEvent.trigger(marker, 'click');

	});

	GEvent.addDomListener(div, 'mouseover', function() {

	div.style.backgroundColor = '#eee';

	});

	GEvent.addDomListener(div, 'mouseout', function() {

	div.style.backgroundColor = '#fff';

	});

	});

	return email ; 

}

function createSidebarEntry(marker, name, address, distance,EndorsePro) {

  var div = document.createElement('div');

  var html = '<div style="float:left;"><b>' + name + '</b> (' + distance.toFixed(1) + ' miles)<br/>' + address+'</div>';

  if(EndorsePro==1){

	html = html + '<div style="float:right"><img src="EPE_Logo.png" width="40" height="40" alt="Endoresed Professional Entertainer" title="Endorsed Professional Entertainer Approved">  </div>';

  }

  div.innerHTML = html;

  div.style.cursor = 'pointer';

  div.style.height = '43px';

  div.style.borderBottom = '1px solid #C6C6C6';

  div.style.marginBottom = '0px'; 

  div.style.padding = '10px 5px 10px 5px'; 

  GEvent.addDomListener(div, 'click', function() {

	GEvent.trigger(marker, 'click');

	div.style.backgroundColor = '#E4E6F6';

  });

  GEvent.addDomListener(div, 'mouseover', function() {

	div.style.backgroundColor = '#E4ECF7';

  });

  GEvent.addDomListener(div, 'mouseout', function() {

	div.style.backgroundColor = '#fff';

  });

  return div;

}

function include(arr, obj) {

  for(var i=0; i<arr.length; i++) {

    if (arr[i] == obj) return true;

  }

}



function validate_form(){

	

	var Name = document.getElementById('name').value;

	var Email = document.getElementById('fixedEmail').value;

	var eventType = document.getElementById('eventType').value;

	var eventDate = document.getElementById('eventDate').value;

	var Phone = document.getElementById('Phone').value;

	

	if(Name ==''  || Email ==''  || eventType ==''  || eventDate ==''  || Phone =='' ){

		alert('Please fill in the form completely!');

	}

	else {

		popup('popUpDiv');	

	}

}



var map;

var geocoder;

var sentEmails = [];



function load() {

  if (GBrowserIsCompatible()) {

	geocoder = new GClientGeocoder();

	map = new GMap2(document.getElementById('map'));

	map.addControl(new GSmallMapControl());

	map.addControl(new GMapTypeControl());

	map.setCenter(new GLatLng(40, -100), 4);

  }

  

  var address = document.getElementById('addressInput');

  

//  alert(address.value);

  if(address.value !=''){

	geocoder.getLatLng(address.value, function(latlng) {

	if (!latlng) {

	 //alert(address.value + ' not found');

	} else {

	// searchLocationsNear(latlng);

	}

	});

//	popup('popUpDiv');

  }

}

 

window.onload = load;
