

/*---------------
	BELOW IS THE COMMUNICATION MODEL FOR THE PARK DETAIL.
	DEVELOPED BY: CODIN PANGELL, FL2 2009
---------------*/

//Global Variables
var parkObj; //store the parkObject for later use
var parksObj; //store the entire park list in the parksObject for later use
var galleryObj; //store the galleryObj for later use
var spotsObj; //store the galleryObj for later use
var _currentImage; //stores the image id of the main image. This will be used for submission of a new spot
var _stateId;
var _stateReq;
var _parkReq;
var _stateParkId;
var _currentImageGallery;
var _maxTop=new Array(); //store the max height to determine the amount of pages of tags.


$(document).ready(function(){
	//load footer 
	loadFooter();
	
	//parse out the state name and a sorting type from the URL
	var fullurl = window.location.toString();
	var _tempUrl=fullurl.indexOf('#');
	
	_tempUrl=fullurl.substring(fullurl.indexOf('#'));
	
	//verify that the url is valid. If not, take the user to the grid layout to select a detailed property.
	if (fullurl.indexOf("#/")>0){
		_tempUrl=_tempUrl.split("#/").join("");
		var _urlArr=_tempUrl.split("/"); // state/parkid/parkname
		
		//Set the Breadcrumb
		$('#bread-crumb').html('<li><a href="grid.aspx">all states</a></li>');
		$('#bread-crumb').append('<li class="divider"></li>');
		$('#bread-crumb').append('<li><a href="grid.aspx#/state/'+unknown(_urlArr[0])+'">'+urldecode(_urlArr[0])+'</a></li>');
		$('#bread-crumb').append('<li class="divider"></li>');
		if (urldecode(_urlArr[2]).length>30){
			$('#bread-crumb').append('<li><a href="detail.aspx#/'+unknown(_urlArr[0])+'/'+_urlArr[1]+'/'+urldecode(_urlArr[2])+'">'+urldecode(_urlArr[2]).substr(0,30)+'...'+'</a></li>');
		}else{
			$('#bread-crumb').append('<li><a href="detail.aspx#/'+unknown(_urlArr[0])+'/'+_urlArr[1]+'/'+urldecode(_urlArr[2])+'">'+urldecode(_urlArr[2])+'</a></li>');
		}
		//set some deep link variables
		_stateReq=_urlArr[0];
		_stateParkId=_urlArr[1];
		_parkReq=_urlArr[2];
		
		//Load the Particular Park Data
		$("#right-side-content-wrapper").html("<p>Please Wait...</p>");
		//alert("json_interface.aspx?action=park&parkName="+urlencode(_urlArr[2]))
		$.getJSON("json_interface.aspx?action=park&parkName="+urlencode(_urlArr[2]), function(json) {
			parkObj = json;
			//Load entire parks object.
			_stateId = parkObj.park[0].state;
			$.getJSON("json_interface.aspx?action=parkList&stateId="+_stateId, function(json2) {
				parksObj = json2;
				//load page with requested park
				initiate_page();
			});
		});
	}else{
		document.location="grid.aspx";
	}
	
	//set the spot paging controls.
	$('#spot-check').click(function()	{
		
		if ($('#tag-container').css('display')=="block"){
			$('#tag-container').css('display','none');
			$(this).html('show spots');
			//<span id='spots_check'><input type='checkbox' name='spot-check' id='spot-check' checked><span id='tag-check-title'>show tags</span></span>
			
		}else{
			$('#tag-container').css('display','block');
			$(this).html('hide spots');
		}
	});
});
function initiate_page(){

	var _html='';
	var pname;
	$.each(parkObj.park,function(i,item){
	
		// loop through all parks to determine next park link
		for (y=0; y<=parksObj.parks.length-1; y++){
			if (urldecode(parksObj.parks[y].parkName)==urldecode(_parkReq)){
				//set the link for the next item in the object
				if (y==parksObj.parks.length-1){
					//at this point we are at the end of theobject so offer a new link to the beginning of the state
					$('#detail-side-nav').append('<a href="javascript:pullNextPark(\''+0+'\');" class="detail-side-btn" id="next-park">next park</a>');
				}else{
					var _next=(y+1);
					$('#detail-side-nav').append('<a href="javascript:pullNextPark(\''+_next+'\');" class="detail-side-btn" id="next-park">next park</a>');
				}
				
			}
		}

		// load particular content for this park
		_html+='<div id="right-side-content-wrapper">'
			_html+='<h3>'+unknown(item.parkName)+'</h3>'
			_html+='<h4>'+unknown(item.stateName)+'</h4>'
			
			pname=item.parkName;
			_html+='<p>'+unknown(item.parkDescription).split('[lbr]').join('<br />')+'</p>'
			if (item.parkFact!=undefined && item.parkFact!=""){
				_html+='<h3>WHAT NOT TO MISS</h3><p>'+unknown(item.parkFact).split('[lbr]').join('<br />')+'</p>'
			}
		_html+='</div>'
		
		var _link;
		
		if (item.donate==undefined || item.donate==''){	_link="https://myaccount.nationalparks.org/SSLPage.aspx?pid=369";	}else{	_link=item.donate;	}
		$('#detail-side-nav').append('<a href="'+_link+'" class="detail-side-btn" style="top:-3px;" target="_blank">give</a>');
		$('#detail-side-nav').append('<a href="'+item.directions+'" class="detail-side-btn" style="top:-6px;" target="_blank">map it</a>');
		
		if (item.zip!="" && item.zip!=undefined){	loadWeather(item.zip);	}
		
		loadGoogle(unknown(item.zip));
		//set image gallery
		_currentImageGallery=item.imageGallery;
		pullGallery(item.imageGallery);
		
		//set the get involved information
		getinvolved();
	  
	});
	$("#right-side-content-wrapper").html(_html);
	
	
	
}

/*----------------------------------
	Deep Link Site
----------------------------------*/
function deepLink(){
	//Deep link (detail.aspx#/COLORADO/3/Dinasaur Monument/spot/362/0/)
	var fullurl = window.location.toString();
	if (fullurl.indexOf("/spot")>0){
		var _tempUrl=fullurl.substring(fullurl.indexOf('/spot/'));
		_tempUrl=_tempUrl.split("/spot/").join("");
		_tempUrl = _tempUrl.split("/")
		if (_tempUrl.length>=2){
			//expand dom and load info in it.
			expandSpot(_tempUrl[0],_tempUrl[1],_tempUrl[2],0)
			//load proper image by image index.
			LoadProperimage(_tempUrl[2],galleryObj.gallery.length);
		}else{
			//load the initial state of the gallery
			initGallery(galleryObj.gallery.length,1,1); //nps.js -- pass number of images for a normal Load
		}
	}else{
		//load the initial state of the gallery
		initGallery(galleryObj.gallery.length,1,1); //nps.js -- pass number of images for a normal Load
	}
}
function LoadProperimage(x,galleryLimit){
	if (parseInt(x)>galleryLimit){
		alert("The requested spot is invalid");
		document.location="grid.aspx";
	}
	var animationPosition = (parseInt(x)*-100);
	$('#transition-container').animate({'left':animationPosition + '%'}, 2000, 'easeOutExpo', function() {
		if(galleryLimit == x) $('#right-btn').hide();
	});
	$('#tag-container').animate({'left':animationPosition + '%'}, 3000, 'easeOutExpo');
	$('#left-btn').show();
	setNewCaption(parseInt(x));
	initGallery(galleryLimit,(parseInt(x)+1),1);
}

/*----------------------------------
	Next Park paging System
----------------------------------*/
function pullNextPark(_parksObjectIndex){
	ModalController.closeModal(); //ensure modal is closed
	$("#right-side-content-wrapper").html("<p>Please Wait...</p>");
	//alert("json_interface.aspx?action=park&parkName="+urldecode(parksObj.parks[_parksObjectIndex].parkName))
	$.getJSON("json_interface.aspx?action=park&parkName="+urldecode(parksObj.parks[_parksObjectIndex].parkName), function(json) {
		parkObj = json;
		
		//clear out old park data.
		$('#detail-side-nav').html('');
		$('#transition-container').html('');
		$("#image-footer-info").html('');
		
		//set some deep link variables
		_stateReq=parksObj.parks[_parksObjectIndex].stateName;
		_stateParkId=parksObj.parks[_parksObjectIndex].parkId;
		_parkReq=parksObj.parks[_parksObjectIndex].parkName;
		
		//Set the Breadcrumb
		$('#bread-crumb').html('<li><a href="grid.aspx">all states</a></li>');
		$('#bread-crumb').append('<li class="divider"></li>');
		$('#bread-crumb').append('<li><a href="grid.aspx#/state/'+unknown(_stateReq)+'">'+urldecode(_stateReq)+'</a></li>');
		$('#bread-crumb').append('<li class="divider"></li>');
		$('#bread-crumb').append('<li><a href="detail.aspx#/'+unknown(_stateReq)+'/'+_stateParkId+'/'+urldecode(_parkReq)+'">'+urldecode(_parkReq)+'</a></li>');
		
		//Set URL
		SetPageUrl(_stateReq+'/'+_stateParkId+'/'+_parkReq);	
		
		//reset image paging
		$('#left-btn').show();
		$('#right-btn').show();
		
		//load page
		initiate_page();
	});
}


/*----------------------------------
	Load Gallery
----------------------------------*/
function pullGallery(galleryId){

	$('#tag-container').html(''); //clear spots if any exist for previous park.
	
	//reset the position of the container for the images and the spots.
	$('#transition-container').css('left','0px');
	$('#tag-container').css('left','0px');
	
	
	//ensure there is a gallery associated with the park
	if (galleryId==''){
		$('#transition-container').append('<img src="data/uploads/noimageavailable_LARGE.jpg" width="20%" height="100%" alt="park" />')
	}
	
	$("#image-footer-paging-controls").css('display','none');

	$.getJSON("json_interface.aspx?action=imagegallery&id="+galleryId, function(json) {
		galleryObj = json;
		var set = 0;
		$.each(galleryObj.gallery,function(i,item){
			$('#transition-container').append('<img src="data/uploads/'+item.imagelarge+'" width="20%" height="100%" alt="park" />')
		
			if (galleryObj.gallery.length==1){
				$('#right-btn').css('display','none');
			}
			if (i==0){ //set the first item
				var _title;
				if (item.title=='add title'){ //this is the default in DB
					_title='';
				}else{
					_title=item.title;
				}
				
				if (item.caption!=undefined && item.caption!=""){
					//$("#image-footer-info").html("<h3>"+urldecode(_title)+"</h3><span id='photo-details'>Flickr Image Provided By: <a href='http://www.flickr.com/photos/"+urldecode(item.caption)+"' target='_blank'>"+urldecode(item.caption)+"</a></span>");
					
					$("#image-footer-info").html("<h3>"+urldecode(_title)+"</h3><span id='photo-details'>Flickr Image Provided By: <a href='peoplelookup.aspx?username="+item.caption+"' target='_blank'>"+urldecode(item.caption)+"</a></span>");
				}else{
					$("#image-footer-info").html("<h3>"+urldecode(_title)+"</h3><span id='photo-details'></span>");
				}
				
				_currentImage=item.imageId;
			}
			
			//set the spots
			
				var top = 0;
				$.getJSON("json_interface.aspx?action=spots&id="+item.imageId, function(json) {
					set=(i*20);
					//alert("set id:"+i+" json.spots.length:"+json.spots.length)
					$.each(json.spots,function(y,spotItem){	
						//figure out the total amount possible to display
							var html = '';
							top += 17; //was 20. needed to get 5 per page
							var left = Math.floor(Math.random() * 13) + (2 + set); // 2 - 15%, 22 - 35%, 42 - 55%, 62 - 75%, 82 - 95%
							if (y<=2){
								html += '<div class="tag" id="tag-' + i+'_'+y + '" style="top:' + top + '%; left:' + left + '%;" onclick="expandSpot('+item.imageId+','+y+','+i+',0)">';
							}else{
								html += '<div class="tag" id="tag-' + i+'_'+y + '" style="top:' + top + '%; left:' + left + '%;" onclick="expandSpot('+item.imageId+','+y+','+i+',0)">';
							}
							var _cutPhrase1='';
							if (spotItem.personName.length>15){
								_cutPhrase1 = spotItem.personName.substr(0,15)+'...';
							}else{
								_cutPhrase1 = spotItem.personName;
							}
							
							html += '<span class="tag-user-name">'+_cutPhrase1+' '+urldecode(spotItem.personLastName).substr(0,1)+', '+spotItem.personState+'</span>';
							var _cutPhrase='';
							if (spotItem.quote.length>18){
								_cutPhrase = spotItem.quote.substr(0,18)+'...';
							}else{
								_cutPhrase = spotItem.quote;
							}
							html += '<span class="tag-short-quote">&quot;'+urldecode(_cutPhrase)+'&quot;</span>';
							html += '</div>';
							$(html).appendTo($('#tag-container'));
							
							//show paging if a sopt is available
							if (json.spots.length>5){
								$("#image-footer-paging-controls").css('display','block');
							}
					});
					
					_maxTop[i]=top;
					setSpotPaging(0);
				});
		});
		
		deepLink(); // check to see if page is being deep linked into for a spot
	});
		
}
function notop(){}
function setSpotPaging(selectedIndex){

	if (selectedIndex>0){ //user has paged and image
		$('#tag-container').animate({'top':'0%'}, 1000, 'easeOutExpo');
	}
	
	$("#image-footer-paging-controls").html("<div id='spots_paging'><div id='prevSpot' style='float:left;'><a href='javascript:notop();'><img src='data/images/less_tagsarrow.png' alt='less spots' style='border:none;' /></a></div><div id='nextSpot' style='float:right;'><a href='javascript:notop();'><img src='data/images/more_tagsarrow.png' alt='more spots' style='border:none;' /></a></div></div>")
	//$("#image-footer-paging-controls").append("<p id='spots-paging-title'>Showing page 1 of "+(Math.floor(_maxTop[selectedIndex]/100)+1)+"</p>")
	
	//unbind click events
	$('#nextSpot').unbind('click');
	$('#prevSpot').unbind('click');
	
	$('#nextSpot').click(function() {	
		var _curr=parseInt($('#tag-container').css('top'));
		_curr-=100;
		var _page=(_curr/-100);
		$('#tag-container').animate({'top':_curr+'%'}, 1000, 'easeOutExpo');
		//$("#spots-paging-title").html("<p id='spots-paging-title'>Showing page "+(Math.floor(_page)+1)+" of "+(Math.floor(_maxTop[selectedIndex]/100)+1)+"</p>");
		if (_page>0){
			$('#prevSpot').css('display','block');
		}
		
		//manage the next button
		if(_page==(Math.floor(_maxTop[selectedIndex]/100))){
			$('#nextSpot').css('display','none');
		}
	});
	
	$('#prevSpot').click(function() {	
		var _curr=parseInt($('#tag-container').css('top'));
		_curr+=100;
		var _page=(_curr/-100);
		$('#tag-container').animate({'top':_curr+'%'}, 1000, 'easeOutExpo');
		//$("#spots-paging-title").html("<p id='spots-paging-title'>Showing page "+(Math.floor(_page)+1)+" of "+(Math.floor(_maxTop[selectedIndex]/100)+1)+"</p>")
		
		//alert(selectedIndex)
		if (_page==0){
			$('#prevSpot').css('display','none');
		}
		
		//manage the next button
		if(_page>=0 && Math.floor(_maxTop[selectedIndex]/100)>=1){
			$('#nextSpot').css('display','block');
		}
	});
	
	$('#prevSpot').css('display','none');
	
	if ((Math.floor(_maxTop[selectedIndex]/100)+1)==1){
		$('#nextSpot').css('display','none');
	}
	
}
/*----------------------------------
	Manage Spots
----------------------------------*/
function expandSpot(imageId,spotIndex,imageIndex,expandSpotBool){

	$("#social-container").fadeOut(500);
	$("#spot-user-info").fadeOut(500, function(){
		//set deep link
		SetPageUrl(_stateReq+'/'+_stateParkId+'/'+_parkReq+'/spot/'+imageId+'/'+spotIndex+'/'+imageIndex);	
		
		var _socialURL=window.location.toString();
		_socialURL = _socialURL.split("#").join("%23");
		_socialURL = _socialURL.split("&").join("%26");
		$('#mailLink').attr('href','mailto:?subject=My National Park Spot&body=Here is a direct link to view my spot: '+_socialURL);
		$('#report-link').attr('href','mailto:rharms@modernista.com?subject=Inappropriate Content Found&body=Please describe below. Direct link to view the tag: '+_socialURL);
		
		$.getJSON("json_interface.aspx?action=spots&id="+imageId, function(json) {
			$('#spot-user-info').html('<h1>'+urldecode(json.spots[spotIndex].personName)+' '+urldecode(json.spots[spotIndex].personLastName).substr(0,1)+', '+json.spots[spotIndex].personState+'</h1>');
			if (json.spots[spotIndex].personImage!=undefined && json.spots[spotIndex].personImage!=''){
				$('#spot-user-info').append('<div id="avatar" style="max-height:100px;width:100px;overflow:hidden;"><img src="'+json.spots[spotIndex].personImage+'" width="100" /></div>');
			}
			$('#spot-user-info').append('<p id="person-quote">&quot;'+urldecode(json.spots[spotIndex].quote)+'&quot;</p>');
			
			//set the previous button if needed
			if (spotIndex!=0){
				$('#prev-tag-btn').unbind('click');
				$('#prev-tag-btn').click(function() {	expandSpot(imageId,parseInt(spotIndex)-1,imageIndex,0)	});
				$('#prev-tag-btn').css('display','block');
				
				//set the deep link URL
				$('#prev-tag-btn').attr('href','#/'+_stateReq+'/'+_stateParkId+'/'+_parkReq+'/spot/'+imageId+'/'+(spotIndex-1)+'/');
				
			}else{
				$('#prev-tag-btn').css('display','none');
				
			}
			
			//set the next button if needed
			if (json.spots.length-1>spotIndex){
				$('#next-tag-btn').unbind('click');
				$('#next-tag-btn').click(function() {	expandSpot(imageId,parseInt(spotIndex)+1,imageIndex,0)	});
				$('#next-tag-btn').css('display','block');
				
				//set the deep link URL
				$('#next-tag-btn').attr('href','#/'+_stateReq+'/'+_stateParkId+'/'+_parkReq+'/spot/'+imageId+'/'+(spotIndex+1)+'/');
				
			}else{
				$('#next-tag-btn').css('display','none');
			}
		$("#spot-user-info").fadeIn(500);
		$("#social-container").fadeIn(500);
		});
		
		//set social icons
		$('#delicious').attr('href','http://del.icio.us/post?url='+_socialURL+'&title=National Park Foundation');
		$('#digg').attr('href','http://digg.com/submit?phase=2&url='+_socialURL+'&title=National Park Foundation');
		$('#facebook').attr('href','http://www.facebook.com/sharer.php?u='+_socialURL+'&t=National Park Foundation');
		$('#twitter').attr('href','http://www.twitthis.com/twit?url='+_socialURL+'&title=National Park Foundation');
		$('#stumbleupon').attr('href','http://stumbleupon.com/submit?url='+_socialURL+'&title=National Park Foundation');
		
		//open modal
		if (expandSpotBool==0){
			ModalController.openModal(document.getElementById('tag-detail-modal'))
		}
	});
}
function setNewCaption(index){
	$("#image-footer-info").fadeOut(1000, function(){
		var _title;
		if (galleryObj.gallery[index].title=='add title'){ //this is the default in DB
			_title='';
		}else{
			_title=galleryObj.gallery[index].title;
		}
		
		if (galleryObj.gallery[index].caption!=undefined && galleryObj.gallery[index].caption!=""){
			//$("#image-footer-info").html("<h3>"+urldecode(_title)+"</h3><span id='photo-details'>Flickr Image Provided By: <a href='http://www.flickr.com/photos/"+urldecode(galleryObj.gallery[index].caption)+"' target='_blank'>"+urldecode(galleryObj.gallery[index].caption)+"</a></span>");
			
			$("#image-footer-info").html("<h3>"+urldecode(_title)+"</h3><span id='photo-details'>Flickr Image Provided By: <a href='peoplelookup.aspx?username="+galleryObj.gallery[index].caption+"' target='_blank'>"+urldecode(galleryObj.gallery[index].caption)+"</a></span>");
		}else{
			$("#image-footer-info").html("<h3>"+urldecode(_title)+"</h3><span id='photo-details'></span>");
		}
		
		
		$("#image-footer-info").fadeIn(1000);
		
		_currentImage=galleryObj.gallery[index].imageId;

	});
}
function permaLink(){
	$('#perma').html('<p><input type="text" value="'+window.location.toString()+'" style="width:200px;"/>&nbsp;&nbsp;&nbsp;<a href="javascript:closePerma();">close [x]</a></p>');
	$('#perma').css('display','block');
}
function noJump(){}
function closePerma(){
	$('#perma').css('display','none');
}

/*----------------------------------
	Get Involved
----------------------------------*/
var _hold_volunteerInfo='';
function getinvolved(){
	
	$.getJSON("json_interface.aspx?action=getinvolved", function(json) {
		var _html='';
		
		_html+='<div class="get-involved-col">';
				_html+='<h1>'+urldecode(json.involved[0].mainTitle)+'</h1>'
				_html+='<p>'+urldecode(json.involved[0].mainBody)+'<br /><br /><a href="'+urldecode(json.involved[0].volunteerLink)+'" target="_blank"><img src="data/images/adopt-btn.gif" style="border:none;" /></a></p>';
        _html+='</div>';
		_html+='<div class="get-involved-col" id="completed-form">';
        	_html+='<h1>'+urldecode(json.involved[0].stayInformedTitle)+'</h1>';
            _html+='<p>'+urldecode(json.involved[0].stayInformedBody).split('[lbr]').join('<br />')+'</p>';
            _html+='<form name="newsletter-form" id="newsletter-form">';
            _html+='<fieldset>';
            	_html+='<input type="text" id="newsletter-name" name="newsletter-name" value="First Name"  onfocus="if(this.value == \'First Name\') this.value = \'\';" onblur="if(this.value == \'\') this.value = \'First Name\';" style="width:95px;" class="get-involved-text" />&nbsp;';
				_html+='<input type="text" id="last-name" name="last-name" value="Last Name"  onfocus="if(this.value == \'Last Name\') this.value = \'\';" onblur="if(this.value == \'\') this.value = \'Last Name\';" style="width:95px;" class="get-involved-text" />';
                _html+='<input type="text" id="newsletter-email" name="newsletter-email" value="Email" class="get-involved-text" onfocus="if(this.value == \'Email\') this.value = \'\';" onblur="if(this.value == \'\') this.value = \'Email\';" style="width:205px;" />';
				_html+='<input type="text" id="newsletter-zip" name="newsletter-zip" value="Zip Code" class="get-involved-text" onfocus="if(this.value == \'Zip Code\') this.value = \'\';" onblur="if(this.value == \'\') this.value = \'Zip Code\';" style="width:205px;margin-bottom:15px;" /><br />';
				_html+='<input type="button" id="get-involved-submit" value="SUBMIT" onclick="javascript:checkInformed();"/>';
				
            _html+='</fieldset>';
            _html+='</form>';
			_html+='<br /><p>'+urldecode(json.involved[0].donateBody).split('[lbr]').join('<br />')+'</p>';
        _html+='</div>';
    	_html+='<div class="get-involved-col" id="share-with-friends" style="display:none;">';
        	_html+='<h1>'+json.involved[0].volunterTitle+'</h1>';
			//_hold_volunteerInfo+='<h1>'+json.involved[0].volunterTitle+'</h1>';
            _html+='<p>'+urldecode(json.involved[0].volunteerBody).split('[lbr]').join('<br />')+'<br /><br /><img src="data/uploads/'+json.involved[0].shareThumbnail+'" class="download-thumb" /><a href="data/uploads/'+json.involved[0].shareDownload+'" target="_blank"><img src="data/images/download.gif" style="border:none;" /></a></p>';
			_hold_volunteerInfo+='<p>'+urldecode(json.involved[0].volunteerBody).split('[lbr]').join('<br />')+'<br /><br /><img src="data/uploads/'+json.involved[0].shareThumbnail+'" class="download-thumb" style="border:none;" /><a href="data/uploads/'+json.involved[0].shareDownload+'" target="_blank"><img src="data/images/download.gif" /></a>';
			_html+='<p>Share with your friends</p>';
			//_hold_volunteerInfo+='<p>Share with your friends</p>';
            _html+='<p><a href="http://www.facebook.com/sharer.php?u='+window.location.toString()+'&title='+json.involved[0].shareFaceBookTitle+'" target="_blank"><img src="data/images/facebook-share.gif" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.twitthis.com/twit?url='+window.location.toString()+'&title='+json.involved[0].shareTwitterTitle+'" target="_blank"><img src="data/images/twitter-share.gif" /></a></p>';
			//_hold_volunteerInfo+='<p><a href="http://www.facebook.com/sharer.php?u='+window.location.toString()+'&title='+json.involved[0].shareFaceBookTitle+'" target="_blank"><img src="data/images/facebook-share.gif" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.twitthis.com/twit?url='+window.location.toString()+'&title='+json.involved[0].shareTwitterTitle+'" target="_blank"><img src="data/images/twitter-share.gif" /></a></p>';

		_html+='</div>';

		$('#get-involved').html(_html);
	});
	
}
function checkInformed(){
	if ($('#newsletter-name').val()=='First Name'){
		alert("Enter your first name");
		return;
	}
	
	if ($('#last-name').val()=='Last Name'){
		alert("Enter your last name");
		return;
	}
	
	if ($('#newsletter-email').val()=='Email'){
		alert("Enter your email address");
		return;
	}
	if (is_valid_email($('#newsletter-email').val())!=false){
		$.ajax({ type: "POST",
			url: "json_interface.aspx?action=form&username="+$('#newsletter-name').val()+"&last="+$('#last-name').val()+"&email="+$('#newsletter-email').val()+"&="+$('#newsletter-zip').val(),
			dataType: "json"
		})
		//alert("json_interface.aspx?action=form&username="+$('#newsletter-name').val()+"&last="+$('#last-name').val()+"&email="+$('#newsletter-email').val()+"&image="+$('#user-image').val())
		$('#newsletter-form').css('display','none');
		$('#completed-form').append('<h1 style="color:#8EAEDA">Thank you for your commitment to the National Parks.</h1>');
		$('#share-with-friends').css('display','block');
		
		
		return;
	}else{
		alert("Please enter a valid email address");
	}
	
}

function is_valid_email(email){
	return /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(email);
}

/*----------------------------------
	Spot Form
----------------------------------*/
var old_spotForm;
function spotForm(){
	//check form for needed information
	if ($('#spot-name').val()=='Your first name' || $('#spot-last-name').val()=='Your last name' || $('#spot-email').val()=='Your email' || $('#spot-comment').val()=='Your comment (550 characters max)' || $('#state').val()=='') {
		alert("All information is required to post a new spot on the image.");
		//alert($('#spot-name').val() + " " + $('#spot-last-name').val() + " " + $('#spot-email').val() + " " + $('#spot-comment').val() + " " + $('#state').val());
		//Your first name Your last name cpangell@lf-2.com test AR
		return;
	}
	
	if (is_valid_email($('#spot-email').val())!=false){
		$.ajax({ type: "GET",
			url: "json_interface.aspx?action=submitSpot&username="+$('#spot-name').val()+"&lastname="+$('#spot-last-name').val()+"&email="+$('#spot-email').val()+"&comment="+$('#spot-comment').val()+"&state="+$('#state').val()+'&imageId='+_currentImage+"&image="+$('#user-image').val(),
			dataType: "json"
		})
		
		
		//Redisplay spots so user gets instant gratification
		reDisplaySpots(_currentImage)
		setSpotPaging(0);
		
		//Prepare the Thank You Message
		old_spotForm=$('#add-your-spot-modal').html(); //store old modal info so we can refresh the form on close.
		var _html='<img src="data/images/modal-close-btn.gif" width="15" height="15" alt="close" class="modal-close-btn" onclick="newSpot();" />';
		_html+='<h1>Thank You!</h1>';
		_html+='<p>Your spot has been added to this photo. Now, help us preserve it! Please check out the information below and consider getting involved with the National Park Foundation.</p>';
		
		//set social icon HTML - populate with URl later. Need to add a delay.
		var _socialURL=window.location.toString();
		_socialURL = _socialURL.split("#").join("%23");
		_socialURL = _socialURL.split("&").join("%26");
		_html+='<h1>Share with Friends</h1><div id="social-container_thanks"><ul id="social-links_thanks" style="display:block;"><li><p>Share this:</p></li><li><a href="http://del.icio.us/post?url='+_socialURL+'&title=National Park Foundation" id="delicious_thanks" target="_blank"><img src="data/images/delicious.png" width="24" height="24" class="no-border" /></a></li><li><a href="http://digg.com/submit?phase=2&url='+_socialURL+'&title=National Park Foundation" id="digg_thanks" target="_blank"><img src="data/images/digg.png" width="24" height="24" class="no-border" /></a></li><li><a href="http://www.facebook.com/sharer.php?u='+_socialURL+'&t=National Park Foundation" id="facebook_thanks" target="_blank"><img src="data/images/facebook.png" width="24" height="24" class="no-border" /></a></li><li><a href="http://www.twitthis.com/twit?url='+_socialURL+'&title=National Park Foundation" id="twitter_thanks" target="_blank"><img src="data/images/twitter.png" width="24" height="24" class="no-border" /></a></li><li><a href="http://stumbleupon.com/submit?url='+_socialURL+'&title=National Park Foundation" id="stumbleupon_thanks" target="_blank"><img src="data/images/stumbleupon.png" width="24" height="24" class="no-border" /></a></li><li style="padding:0 0 0 20px;"><a href="mailto:?subject=My National Park Spot&body=Here is a direct link to view my spot: '+_socialURL+'" id="mailLink_thanks">Email to a friend</a></li></ul></div>'
		
		//set donate link
		_html+=_hold_volunteerInfo; //use the volunteer info we have already pulled to place on thank you message
		//_html+='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="javascript:spotCancel();" style="border:none;"><img src="data/images/cancel-spot.gif"  style="border:none;" /></a></p>';
		$('#add-your-spot-modal').html(_html)	//add thank you message		

		setTimeout('finishSocialThanks()',2000);
		
	}else{
		alert("Please enter a valid email address");
	}
	
	
}
function finishSocialThanks(){
	//set social icons for the thank you message. Needed a bit of time to populate the URL based on reloadSpots.
	var _socialURL=window.location.toString();
	_socialURL = _socialURL.split("#").join("%23");
	_socialURL = _socialURL.split("&").join("%26");
	$('#delicious_thanks').attr('href','http://del.icio.us/post?url='+_socialURL+'&title=National Park Foundation');
	$('#digg_thanks').attr('href','http://digg.com/submit?phase=2&url='+_socialURL+'&title=National Park Foundation');
	$('#facebook_thanks').attr('href','http://www.facebook.com/sharer.php?u='+_socialURL+'&t=National Park Foundation');
	$('#twitter_thanks').attr('href','http://www.twitthis.com/twit?url='+_socialURL+'&title=National Park Foundation');
	$('#stumbleupon_thanks').attr('href','http://stumbleupon.com/submit?url='+_socialURL+'&title=National Park Foundation');
	$('#mailLink_thanks').attr('href','mailto:?subject=My National Park Spot&body=Here is a direct link to view my spot: '+_socialURL);
}
function spotCancel(){
	newSpot();
}
function newSpot(){ //allows a person to create multiple points
	ModalController.closeModal();
	$('#add-your-spot-modal').html(old_spotForm);
	$('.modal-close-btn').unbind('click');
	$('.modal-close-btn').click(function() {
		ModalController.closeModal();
	});
	
}


function reDisplaySpots(imageId){

	$('#tag-container').animate({'top':'0%'}, 1000, 'easeOutExpo');
	
	
	$.getJSON("json_interface.aspx?action=imagegallery&id="+_currentImageGallery, function(json) {
		galleryObj = json;
		var set = 0;
		$('#tag-container').html('');
		$.each(galleryObj.gallery,function(i,item){
		
			//re-set the spots
			
				var top = 0;
				
				$.getJSON("json_interface.aspx?action=spots&id="+item.imageId, function(json) {
					set=(i*20);
					$.each(json.spots,function(y,spotItem){	
						//figure out the total amount possible to display
						
							var html = '';
							top += 17; //was 20. needed to get 5 per page
							var left = Math.floor(Math.random() * 13) + (2 + set); // 2 - 15%, 22 - 35%, 42 - 55%, 62 - 75%, 82 - 95%
							if (y<=2){
								html += '<div class="tag" id="tag-' + i+'_'+y + '" style="top:' + top + '%; left:' + left + '%;" onclick="expandSpot('+item.imageId+','+y+','+i+',0)">';
							}else{
								html += '<div class="tag" id="tag-' + i+'_'+y + '" style="top:' + top + '%; left:' + left + '%;" onclick="expandSpot('+item.imageId+','+y+','+i+',0)">';
							}
							
							if (y==0){ //This will display the spot in the background so we can display the social icons on the thank you page.
								expandSpot(item.imageId,y,i,1)
							}
							
							
							var _cutPhrase1='';
							if (spotItem.personName.length>15){
								_cutPhrase1 = spotItem.personName.substr(0,15)+'...';
							}else{
								_cutPhrase1 = spotItem.personName;
							}
							
							html += '<span class="tag-user-name">'+urldecode(_cutPhrase1)+' '+urldecode(spotItem.personLastName).substr(0,1)+', '+spotItem.personState+'</span>';
							var _cutPhrase='';
							if (spotItem.quote.length>30){
								_cutPhrase = spotItem.quote.substr(0,29)+'...';
							}else{
								_cutPhrase = spotItem.quote;
							}
							html += '<span class="tag-short-quote">&quot;'+urldecode(_cutPhrase)+'&quot;</span>';
							html += '</div>';
							$(html).appendTo($('#tag-container'));
						
					});
				});
		});
	});
}

/*----------------------------------
	Load Weather Feed
----------------------------------*/

function loadWeather(zip){
	$.ajax({ type: "GET",
			url: "proxy.aspx?url=http://weather.yahooapis.com/forecastrss[ques]p[eql]"+zip,
			dataType: "xml",
			success: function(xml) {
			
				$(xml).find('item').each(function(){
					var item_text = $(this).find('description').text();
					item_text=item_text.split("<BR />") .join("<br />");
					var _tmp=item_text.split("<br />") 
					var _img=_tmp[0].split(",")[0];
					var _condition=_tmp[2].split(",")[0];
					var _temp=_tmp[2].split(",")[1].split(" F").join("");
					_img = _img.split(">").join(" width='52' height='52' id='weather-img' alt='Weather' >")
					$('#weather').html(_img)
					$('#weather').append('<div id="weather-data">')
						$('#weather').append('<span id="currently">Currently</span>')
						$('#weather').append('<span id="temperature">'+_temp+'&deg;F</span>')
						$('#weather').append('<span id="condition">'+_condition+'</span>')
					$('#weather').append('</div>')
				});
			}
		});
}

/*----------------------------------
	Load Google Map
----------------------------------*/
var map;
function loadGoogle(parkName) {
	map = new GMap2(document.getElementById("map-container")); 
	map.setCenter(new GLatLng(40.75404,-73.96684),13);

	map.addControl(new GMapTypeControl());
	geocoder = new GClientGeocoder();
	map.setMapType(G_NORMAL_MAP);
	map.removeMapType(G_SATELLITE_MAP);
	map.removeMapType(G_HYBRID_MAP);

	if (window.attachEvent) window.attachEvent("onresize", function() { map.checkResize()} );
	else if (window.addEventListener) window.addEventListener("resize", function() { map.checkResize()}, false);
	showLocation(parkName)
   
}

function showLocation(loc) {
	if (geocoder) {geocoder.getLatLng(loc, function(point) {
		if (!point) {//not found
		} else {
			map.clearOverlays()
			map.setCenter(point, 5);
			var center = map.getCenter();
			var marker = new GMarker(center, {draggable: false});
			map.addOverlay(marker);
		}
	});}
}

	
	



/*----------------------------------
	Globally Reused Functions
----------------------------------*/
//Set url
function SetPageUrl(str) {
	$.address.value(str);
	googleTracker(str);
return false;
}


//ensure values are present
function unknown(str){	
	var ret = (str==undefined) ? "" : str;
	if (ret.indexOf("%27")>-1)	{	ret=ret.split("%27").join("'")	}
	if (ret.indexOf("%20")>-1)	{	ret=ret.split("%20").join("-")	}
	return ret
}

//limit char count in text area
var count = "550";   //Example: var count = "175";
function limiter(){

	var tex = $('#spot-comment').val();
	var len = tex.length;
	if(len > count){
			tex = tex.substring(0,count);
			$('#spot-comment').val(tex);
			return false;
	}
}


/*----------------------------------
	Google Page Tracking
----------------------------------*/

function googleTracker(url)
{
	//alert("PageTracker: "+url);
	//pageTracker._trackPageview(url);
}