var geocoder;
var seed_map;
var	seed_array_lat = {};
var	seed_array_long = {};

var biz_name_array = {};
var biz_url_array = {};
var biz_address_array = {};

var markers = [];

//------------------------------------------------------------------------------
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

//------------------------------------------------------------------------------
function isUrl(s) {
	var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
	return regexp.test(s);
}

//------------------------------------------------------------------------------
function start_thumbnail() {
	var website_url = document.getElementById('website_url');
	if( isUrl(website_url.value))
		{
		document.images['holder_image'].src = 'http://verizon.websnapr.com/?size=S&url='+encodeURIComponent(website_url.value);
		}
	}

//------------------------------------------------------------------------------
function validate_form() {
  
	var business_address = document.getElementById('business_address');
	var business_name = document.getElementById('business_name');
	var website_url = document.getElementById('website_url');
	var num_employees = document.getElementById('num_employees');
	var years_in_business = document.getElementById('years_in_business');
	var entrants_name = document.getElementById('entrants_name');
	var business_title = document.getElementById('business_title');
	var entrants_email = document.getElementById('entrants_email');
	var entrants_phone = document.getElementById('entrants_phone');
	var description = document.getElementById('description');
    var address = "";

	success = 1;
	feedback_str = "";

	if( getCheckedValue(document.getElementById('using_intuit')) != 1)
		{
		feedback_str += "\nPlease confirm your website is powered by Intuit or an Intuit product.\n\n";
		success = 0;
		}

	feedback_str += "Please enter the following:\n";
	if( business_name.value.length < 4)
		{
		feedback_str += "Valid business name\n";
		success = 0;
		}

	if( website_url.value.length < 10)
		{
		feedback_str += "Valid website URL\n";
		success = 0;
		}

	if( num_employees.value.length < 1)
		{
		feedback_str += "Number of Employees\n";
		success = 0;
		}
	if( years_in_business.value.length < 1)
		{
		feedback_str += "Years in Business\n";
		success = 0;
		}
	if( entrants_name.value.length < 1)
		{
		feedback_str += "Entrant\'s Name\n";
		success = 0;
		}
	if( business_title.value.length < 1)
		{
		feedback_str += "Business Title\n";
		success = 0;
		}
	if( entrants_email.value.length < 1)
		{
		feedback_str += "Entrant\'s Email\n";
		success = 0;
		}
	if( entrants_phone.value.length < 1)
		{
		feedback_str += "Entrant\'s Phone\n";
		success = 0;
		}

	if( description.value.length < 10 || description.value.length > 300)
		{
		feedback_str += "Brief description of your business (up to 300 characters)\n";
		success = 0;
		}

	if( business_address.value.length < 4)
		{
		feedback_str += "Valid business address.\n";
		success = 0;
		}

	if( success == 0)
		{
		alert(feedback_str);
		return false;
		}
	else
		{
		address = business_address.value;
	
		geocoder.geocode( { 'address': address}, function(results, status) {
		  if (status == google.maps.GeocoderStatus.OK) {
				var lat_value = document.getElementById('lat_value');
				lat_value.value = results[0].geometry.location.lat();
				
				var lng_value = document.getElementById('lng_value');
				lng_value.value = results[0].geometry.location.lng();
				
				//alert(lng_value.value);
				document.forms["submit_address_form"].submit();
				
		  } else {
			alert("I could not find your address on the map. Please enter your street address and zip code in the 'Business Addess' field: " + status);
		  }
		});
		}
	}


//------------------------------------------------------------------------------
function codeAddress2()
	{
	var business_address = document.getElementById('business_address');
	var planted_city = document.getElementById('planted_city');
	var planted_state = document.getElementById('planted_state');
	var planted_zip = document.getElementById('planted_zip');

	address = business_address.value;
	if( planted_zip.value.length == 5)
		{
		if( planted_city.value.length > 1)
			{
			address = address + ' ' + planted_city.value;
			}
		if( planted_state.value.length > 1)
			{
			address = address + ',' + planted_state.value;
			}
		address = address + ' ' + planted_zip.value;
		}
	else
		{
		alert("Please enter a 5-digit ZIP Code");
		return false;
		}

	geocoder.geocode( { 'address': address}, function(results, status) {
		if (status == google.maps.GeocoderStatus.OK) {
			var lat_value = document.getElementById('lat_value');
			lat_value.value = results[0].geometry.location.lat();
			
			var lng_value = document.getElementById('lng_value');
			lng_value.value = results[0].geometry.location.lng();
			
			alert(results[0].geometry.location);
			document.forms["enter_contest_form"].submit();
			} else 
		{ alert('Geocode was not successful for the following reason: ' + status); }});
	
	//setTimeout("return false",1250);
	return false;
	}

//------------------------------------------------------------------------------
function initialize_map(latitude,longitude, zoom_level, submitted_lat, submitted_long)
	{
	geocoder = new google.maps.Geocoder();

    var latlng = new google.maps.LatLng( latitude,longitude);
    
    var myOptions = {
		zoom: zoom_level,
		center: latlng,
		mapTypeControl: false,
		panControl: false,
		streetViewControl: false,
		scaleControl: true,
		mapTypeId: google.maps.MapTypeId.TERRAIN

		};

	var seed_map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
	var star_icon = new google.maps.MarkerImage('images/dot.png',new google.maps.Size(22,22),new google.maps.Point(0,0),new google.maps.Point(11, 11));
	
	i = 0;
		
	if( submitted_lat != 0 && submitted_long != 0 && submitted_lat != 37.00 && submitted_long != -95.00)
		{
		var star_icon_red = new google.maps.MarkerImage('images/dot.png',new google.maps.Size(22,22),new google.maps.Point(0,0),new google.maps.Point(11, 11));



		markers.push(new google.maps.Marker({
			position: new google.maps.LatLng( seed_array_lat[i], seed_array_long[i]),
			icon: star_icon_red,
			map: seed_map
			}));
	
      	var contentString = '<div style="height: 50px; width: 90px; margin: 12px; padding: 0;color: #222222;font-size: 12px;font-weight: bold;line-height: 1.4em;">'+biz_name_array[i]+'<br /><a href="http://maps.google.com/maps?f=d&hl=en&daddr='+biz_address_array[i]+'" rel="external" target="_new">Get Directions</a></div>';
		markers[markers.length - 1]['infowin'] = new google.maps.InfoWindow({
            content: contentString
        	});
	 

		google.maps.event.addListener(markers[markers.length - 1], 'click', function() {
			this['infowin'].open(seed_map, this);
		});
    
/*
		var marker = new google.maps.Marker({
			position: new google.maps.LatLng( seed_array_lat[i], seed_array_long[i]),
			icon: star_icon_red,
			map: seed_map
			});  

      	var contentString = '<div style="height: 50px; width: 90px; margin: 0; padding: 0;color: #222222;font-size: 12px;font-weight: bold;line-height: 1.4em;">'+biz_name_array[i]+'<br /><a href="http://maps.google.com/maps?f=d&hl=en&daddr='+biz_address_array[i]+'" rel="external" target="_new">Get Directions</a></div>';
      
        var infowindow = new google.maps.InfoWindow({
            content: contentString
        	});
        google.maps.event.addListener( marker, 'click', function() {
			infowindow.open(seed_map,marker);
        	});
*/       
        
        
        i++;
		}

	while( seed_array_lat[i] > 0 || seed_array_lat[i] < 0 || seed_array_long[i] > 0 || seed_array_long[i] < 0)
		{
		var star_icon_red = new google.maps.MarkerImage('images/dot.png',new google.maps.Size(22,22),new google.maps.Point(0,0),new google.maps.Point(11, 11));

		markers.push(new google.maps.Marker({
			position: new google.maps.LatLng( seed_array_lat[i], seed_array_long[i]),
			icon: star_icon_red,
			map: seed_map
			}));
	
      	var contentString = '<div style="height: 50px; width: 90px; margin: 12px; padding: 0;color: #222222;font-size: 12px;font-weight: bold;line-height: 1.4em;">'+biz_name_array[i]+'<br /><a href="http://maps.google.com/maps?f=d&hl=en&daddr='+biz_address_array[i]+'" rel="external" target="_new">Get Directions</a></div>';
		markers[markers.length - 1]['infowin'] = new google.maps.InfoWindow({
            content: contentString
        	});
	 

		google.maps.event.addListener(markers[markers.length - 1], 'click', function() {
			this['infowin'].open(seed_map, this);
		});
    
/*
		var marker = new google.maps.Marker({
			position: new google.maps.LatLng( seed_array_lat[i], seed_array_long[i]),
			icon: star_icon_red,
			map: seed_map
			});  

      	var contentString = '<div style="height: 50px; width: 90px; margin: 0; padding: 0;color: #222222;font-size: 12px;font-weight: bold;line-height: 1.4em;">'+biz_name_array[i]+'<br /><a href="http://maps.google.com/maps?f=d&hl=en&daddr='+biz_address_array[i]+'" rel="external" target="_new">Get Directions</a></div>';
      
        var infowindow = new google.maps.InfoWindow({
            content: contentString
        	});
        google.maps.event.addListener( marker, 'click', function() {
			infowindow.open(seed_map,marker);
        	});
*/       

		i++;
		}

	if( submitted_lat != 0 && submitted_long != 0 && submitted_lat != 37.00 && submitted_long != -95.00)
		{
		var star_icon_red = new google.maps.MarkerImage('images/dot.png',new google.maps.Size(22,22),new google.maps.Point(0,0),new google.maps.Point(11, 11));

		markers.push(new google.maps.Marker({
			position: new google.maps.LatLng( seed_array_lat[i], seed_array_long[i]),
			icon: star_icon_red,
			map: seed_map
			}));
	
      	var contentString = '<div style="height: 50px; width: 90px; margin: 12px; padding: 0;color: #222222;font-size: 12px;font-weight: bold;line-height: 1.4em;">'+biz_name_array[i]+'<br /><a href="http://maps.google.com/maps?f=d&hl=en&daddr='+biz_address_array[i]+'" rel="external" target="_new">Get Directions</a></div>';
		markers[markers.length - 1]['infowin'] = new google.maps.InfoWindow({
            content: contentString
        	});
	 

		google.maps.event.addListener(markers[markers.length - 1], 'click', function() {
			this['infowin'].open(seed_map, this);
		});
    
/*
		var marker = new google.maps.Marker({
			position: new google.maps.LatLng( seed_array_lat[i], seed_array_long[i]),
			icon: star_icon_red,
			map: seed_map
			});  

      	var contentString = '<div style="height: 50px; width: 90px; margin: 0; padding: 0;color: #222222;font-size: 12px;font-weight: bold;line-height: 1.4em;">'+biz_name_array[i]+'<br /><a href="http://maps.google.com/maps?f=d&hl=en&daddr='+biz_address_array[i]+'" rel="external" target="_new">Get Directions</a></div>';
      
        var infowindow = new google.maps.InfoWindow({
            content: contentString
        	});
        google.maps.event.addListener( marker, 'click', function() {
			infowindow.open(seed_map,marker);
        	});
*/       
		}
	}

//------------------------------------------------------------------------------
function showDiv(theDivID)
	{
	var el = document.getElementById(theDivID);
	if( el)
		{
		el.style.visibility = 'visible';
		el.style.display = 'block';
		}
	}

//------------------------------------------------------------------------------
function hideDiv(theDivID)
	{
	var el = document.getElementById(theDivID);
	if( el)
		{
		el.style.visibility = 'hidden';
		el.style.display = 'none';
		}
	}


