var pageGetVars;

(function($) {
	var interval;	
	var popup;
	var mask;
	var height;
	var originalLink;
	var defaults = {
		parentDiv:'body',
		cssPosition:false,
		border:null
	};
	
	function validEmail(str){
		var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
		return filter.test(str);
	};
	
	function updatePos(el) {
		if(defaults.cssPosition) return;
		interval = setInterval(function() { 
			$(el).css({ marginTop:-(parseInt($(el).height())) });
		},10);
	};
	
	function stopUpdate(el) {
		if(interval) clearInterval(interval);	
	};
	
	function sendEmail(from,to,message) {
		var mailBody;
		var mailSubject;
		
		var getVars = $(originalLink).attr('href');
		getVars = getVars.substr(getVars.indexOf('?')+1).split('&');
		var t;
		for(var i = 0; i<getVars.length; i++) {
			t = getVars[i].split('=');
			if(t[0]=='subject') mailSubject = encodeURI(t[1]);
			if(t[0]=='body') mailBody = encodeURI(t[1]);
		}
		$.get('/ajax-data.php', { action:'shareLink', mailFrom:from, mailTo:to, mailBody:(message ? message+'\n\n- - - - - - - - - - - - - - - - - - - - - -\n\n' : '')+mailBody, mailSubject:mailSubject, mailLink:String(window.location).replace('#/','') }, messageSent);
	};
	
	function messageSent(res) {
		updatePos(popup);
		pageTracker._trackPageview('/email'+SWFAddress.getPath());
		//$(popup).find('form').slideUp(300, function() {
			$(popup).find('form').slideUp(200);
			var n = $('<p>Your message has been sent.<br /><a href="#">Send To Someone Else</a></p>').appendTo(popup);
			$(n).parent().find('a').not('#add-message').eq(0).click(function() { resetPopup(n); return false; }).hide().fadeIn(200, function() { stopUpdate(); });
		//});
	};
	
	function resetPopup(n) {
		$(popup).find('input').css({ border:defaults.border }).eq(0).val('');
		updatePos(popup);
		$(popup).find('input[type=submit]').attr('disabled',false).val('Send E-mail');
		$(n).remove(); 
		$(popup).find('form').slideDown(300, function() {
			$(popup).find('input').eq(0).focus();
			stopUpdate();											  
		});	
	};
	
	function closePopup() {
		$(mask).stop().fadeTo(200, 0, function() { $(mask).css({ display:'none' }); });
		$(popup).slideUp(300); 
		return false;
	};

	$.fn.mailPopup = function(options) {
		return this.each(function() {
			$.extend(defaults,options);
			try {
				popup = $('<div class="emailPopup"><h4>Share This With a Friend</h4><form id="emailPopup"><fieldset><label><input type="text" name="to" />To:</label><br /><label><input type="text" name="from" />From:</label><a id="add-message" class="right" href="">+ Add Message</a><br /><input class="submit" type="submit" value="Send E-mail" /></fieldset></form><div id="closePopup"></div></div>').appendTo($(options.parentDiv)).hide();
			} catch(err) { $('.emailPopup').remove(); return; };
			mask = $('<div></div>').css({ position:'absolute', top:0, left:0, background:'#000', display:'none', width:'100%', height:'100%', zIndex:parseInt($(popup).css('z-index'))-1, opacity:0 }).appendTo($(options.parentDiv));
			
			// LAKE CITY SPECIFIC
			var ha = parseInt($('.side').height())-117;
			var hb = parseInt($('.menu').height());
			$('div.text').css({ minHeight:(ha>hb ? ha : hb) });
			
			$(popup).css({ width:$(popup).width() });
			height = $(popup).height();
			$('#closePopup').click(closePopup);
			defaults.border = $(popup).find('input').eq(0).css('border');
			
			$('#add-message').click(function(e) {
				try { 
					e.preventDefault();
					updatePos(popup); 
					$(this).slideUp(300, function() {
						$('<br />').insertBefore(this);
						$('<label><textarea cols="4" rows="4" name="message" />Message:</label>').insertBefore(this).hide().slideDown(300, function() { stopUpdate(); });
						$(this).remove();
					});
				} catch(err) { alert(err); };
				return false;
			});
			$(popup).find('form').submit(function() {
				var to = $(popup).find('input').eq(0).css({ border:defaults.border });
				var from = $(popup).find('input').eq(1).css({ border:defaults.border });
				var message = $(popup).find('textarea').eq(0).css({ border:defaults.border });
				
				if(!validEmail(from.val())) $(from).css({ border:'solid 1px #ff0000' }).focus();
				if(!validEmail(to.val())) $(to).css({ border:'solid 1px #ff0000' }).focus();
				if(!validEmail(from.val()) || !validEmail(to.val())) return false;
				
				$(popup).find('input[type=submit]').val('Sending...').attr('disabled',true);
				sendEmail(from.val(), to.val(), message.val());
				
				return false;						 
			});
			$(this).click(function(e) {	
				$(mask).stop().css({ display:'block' }).fadeTo(300, .8);
				originalLink = this;
				if(!defaults.cssPosition) {
					var pos = $(this).position();
					var left = pos.left+(parseInt($(this).width())/2)-(parseInt($(popup).width())/2)-15;
					$(popup).css({ marginTop:-(parseInt($(popup).height())), left:(left<0 ? 20 : left) }).fadeIn(200);					   
				};
				$(popup).slideDown(300, function() { $(popup).find('input').eq(0).focus(); });
				return false;
			});						  
		});
	};
})(jQuery);
