$(document).ready( function() {
	$(".link-rollover").mouseover(rollOver);
	$(".img-tooltip").mouseover(imgTooltipOver);
	$(".img-tooltip").mouseout(removeTooltip);


	$("#historic-map-overlay").css('opacity', '0').mouseover( mouseOverMap ).mouseout( mouseOutMap ).click( clickMap );
	$("#historic-map-overlay-text").css('opacity', '0').mouseover( mouseOverMap ).mouseout( mouseOutMap ).click( clickMap );
	
	//$("#link-historicsites").click( function() { return false; } );
	$("#link-historicsites img").mouseover( mouseOverMap ).mouseout( mouseOutMap );
	
	
	if($("#twitter_div").size() > 0)
	{
		requestTwitter();
	}
	
	 
	if( getParameterByName( 'success' ) )
	{
		showSuccessPopup( getParameterByName( 'success' ) );
	} 
});

function showSuccessPopup( type )
{
	if( $("#success-dialog").size() > 0)
		$("#success-dialog").dialog({
			resizable: false,
			dialogClass: 'heritagePopup'
		});
}

function getParameterByName( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return decodeURIComponent(results[1].replace(/\+/g, " "));
}

function rollOver()
{
	$(this).unbind('mouseover').mouseout(rollOut);
	var img = $(this).find("img");
	var fileName = $(img).attr('src');
	if (fileName) {
		var idxLastSlash = fileName.lastIndexOf("/");
		var idxDot = fileName.lastIndexOf(".");
		var extension = fileName.substring(idxDot);
		var path = fileName.substring(0, idxLastSlash+1);
		fileName = fileName.substring(idxLastSlash+1, idxDot) + "_over";
		$(img).attr('src', path + fileName + extension);
	}
}

function rollOut()
{
	$(this).unbind('mouseout').mouseover(rollOver);
	var img = $(this).find("img");
	var fileName = $(img).attr('src');
	if (fileName) {	
		var idxLastSlash = fileName.lastIndexOf("/");
		var idxDot = fileName.lastIndexOf(".");
		var extension = fileName.substring(idxDot);
		var path = fileName.substring(0, idxLastSlash+1);
		fileName = fileName.substring(idxLastSlash+1, idxDot).replace("_over", "");
		$(img).attr('src', path + fileName + extension);
	}
}

function imgTooltipOver()
{
	var div = document.createElement("div");
	var text = $(this).attr('alt');
	var hoverOffset = $(this).offset();
	var x, y = 0;
	
	$(div).html(text).attr('id', 'tooltip-box');

	$("body").append(div);
	
	y = hoverOffset.top - $(div).height();
	x = hoverOffset.left + $(this).width();
	$(div).css('top', y).css('left', x);
}

function removeTooltip()
{
	$("#tooltip-box").remove();
}

function mouseOverMap()
{
	$("#historic-map-overlay").animate({opacity: .75}, {duration: 500, queue: false});
	$("#historic-map-overlay-text").animate({opacity: 1}, {duration: 500, queue: false});
	$("#link-historicsites").mouseover();
}

function mouseOutMap()
{
	$("#historic-map-overlay").animate({opacity: 0}, {duration: 500, queue: false});
	$("#historic-map-overlay-text").animate({opacity: 0}, {duration: 500, queue: false});
	$("#link-historicsites").mouseout();
}

function clickMap()
{
	window.location = "/historicsites/";
}

function requestTwitter()
{
	$.ajax({
		url: "/flickrapi/twitter_php.php",
		type: "GET",
		dataType: "json",
		data: {screen_name: "HeritageWPG", count: "10"},
		success: twitterResults
	});
}


// manlab - ok, so IE can't properly parse out the date when its formatted like Fri Apr 09 18:29:24 +0000 2010
// so strip out the garbage.
function parseFeedDate(dt) {

return new Date(
    dt.replace(/^\w+ (\w+) (\d+) ([\d:]+) \+0000 (\d+)$/,
        "$1 $2 $4 $3 UTC"));

}


function twitterResults( data )
{
	for( var i = 0 ; i < data.length ; i++ )
	{
		var li = document.createElement("li");
		var dte = parseFeedDate(data[i].created_at);
		
		// 
		
		
		$(li).html(data[i].text + '<br /><span class="twitter-post-date">' + dte.toDateString() + '</span>');
		
		$("#twitter_update_list").append(li);
	}
}



function submitContact()
{
	var frm = $("#contactform")[0];
	var params = {
			subject: frm.subject.value, 
			name: frm.name.value, 
			email: frm.email.value, 
			phone: frm.phone.value, 
			business_phone: frm.business_phone.value, 
			fax: frm.fax.value, 
			address: frm.address.value, 
			city: frm.city.value, 
			postal_code: frm.postal_code.value, 
			message: frm.message.value
			};

	$.ajax({
		type: "POST",
		url:"/contactemail.php",
		data: params,
		async: true,
		success: submitReturn
	});
}

function submitReturn(data, status)
{
	if(data == 1)
	{
		$("#contactform")[0].reset();

		var div = document.createElement("div");
		$(div).css('top', $("#contactform").offset().top + 'px').css('left', $("#contactform").offset().left + 'px').css('background-color', '#ffffff').css('text-align', 'left').css('padding', '10px').css('position', 'absolute').height( $("#contactform").height() ).width( $("#contactform").width() ).attr('id', 'contactPopup').css('opacity', '0').css('font-size', '14px').css('z-index', '1500').html("Your message has been sent. We will respond within the next few business days. Thank you.");

		$("body").append(div);

		$(div).animate({opacity: 1}, 500).animate({opacity:1},2800).animate({opacity: 0}, {duration: 500, complete: function() {
			$("#contactPopup").remove();
		}});
	} else {
	
		$("#contactform")[0].reset();

		var div = document.createElement("div");
		$(div).css('top', $("#contactform").offset().top + 'px').css('left', $("#contactform").offset().left + 'px').css('background-color', '#ffffff').css('text-align', 'left').css('padding', '10px').css('position', 'absolute').height( $("#contactform").height() ).width( $("#contactform").width() ).attr('id', 'contactPopup').css('opacity', '0').css('font-size', '14px').css('z-index', '1500').html(status);

		$("body").append(div);

		$(div).animate({opacity: 1}, 500).animate({opacity:1},2800).animate({opacity: 0}, {duration: 500, complete: function() {
			$("#contactPopup").remove();
		}});
		
	}
}

