var pathToDir = '/widgets/shareThisPage/1.0/';
var __preRequisites = '<script type="text/javascript" src="'+pathToDir+'assets/jquery.form.js"></script>'+
'<script type="text/javascript" src="'+pathToDir+'assets/jquery.validate.min.js"></script>';
//Check for jQuery library. Load included if not present.
if (typeof jQuery == 'undefined') {
alert('Share This Page requires the jQuery JavaScript Library.\nhttp://jquery.com');
}
else if (typeof jQuery != 'undefined') {
document.write(__preRequisites);
}
//var sharePHPpage = String('http://'+window.location.hostname+pathToDir+"shareThisPage.php");
var sharePHPpage = String(pathToDir+"shareThisPage.php");
var rowNo;
function newFormRow() {
	if (!rowNo) {
		rowNo = Number(1);
	}
	var fieldname = 'referree'+rowNo;
	var fieldNumeral = (rowNo+1);
	var emailFieldRow = '<div class="inputRow new"><strong class="numeral">'+fieldNumeral+'</strong><input name="'+fieldname+'" id="'+fieldname+'" type="text" size="40" class="emailField" /></div>';
	$('.addAnother').before(emailFieldRow);
	$('.new').slideDown(250).removeClass('new');
	$(".emailField").each(function(){
	    $(this).rules("add", {
	            email: true
	    } );                    
	});
	$('#referrees').validate({});
	rowNo++;		
	if (rowNo == 5) {
		$('.addAnother').html('<p>Max: 5 recipients</p>');
	}
}

function hideShareForm() {
	$('#shareThisPageZone, #modalCover').hide();
	$('#shareThisPageZone, #shareThisPageZone *, #modalCover').remove();
	$('body,html').css('overflow','auto');
	rowNo = null;
	//force scrollbar to show in safari/chrome
	var scrollH = $(window).scrollTop();
	if (scrollH > 0) {
		$(window).scrollTop((scrollH)-1);
	}
	else {
		$(window).scrollTop((scrollH)+1);
	}
}

function initFormActions() {
	$('#shareThisPageZone').show();
	$('.btn-closer, #shareThisPageArea h1').click(function() {
		hideShareForm();
	});
	var addAnother = '<div class="addAnother"><span id="addOne" title="Add another email address&hellip;"></span><span class="addNote">Add another email address</span> <em class="note">(the first address is required)</em></div>';
	$('.referree').append(addAnother);
	var options = {
		target: '#captureArea',
		url: sharePHPpage,
		success: function() {
			$('#captureArea .returnVal').fadeIn(300); 
			var goAway = setTimeout('hideShareForm()', 1700);
		}
   	};
	var v = $('#referrees').validate({
				rules: {
					_theReferrer: {
					required: true,
					email: true
					},
					_addressee: {
					required: true
					},
					referree0: {
					required: true,
					email: true
					}
				},
			    submitHandler: function(form) {
					$('#referrees').ajaxSubmit(options);
				   	return false;
		 		}
			});
	$('#addOne').click(function() {
		newFormRow();
	});
}

function showShareForm() {
	if ($('.shareThisPage').is('.send-page-option')) {
		var _option = "send-page-option";
	}
	else if ($('.shareThisPage').is('.send-page-only')) {
		var _option = "send-page";
	}
	else {
		var _option = "";
	}
	var pageTitle = document.title;
	var thePageURL = sharePHPpage;
	var referModal = '<div id="modalCover" style="display: none; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: #036; filter:alpha(opacity=70); -moz-opacity: 0.70; opacity: 0.70; z-index: 100000;"></div><div id="shareThisPageZone"><div id="shareThisPageArea"></div></div>';
	$.get(thePageURL, { "_showForm":"true","_pageTitle":pageTitle, "_option":_option }, function(data){
		$('body').append(referModal);
		$('body,html').css('overflow','hidden');
		var coverWin = $(window).height();
		var coverDoc = $(document).height();
		var scrollH = $(window).scrollTop();
		var coverH = Math.max(coverWin,coverDoc);
		$('#modalCover').css('height',coverH).show();
		var ModWinHVal = $('#shareThisPageArea').css('height');
		if (ModWinHVal == "auto") {
			var ModWinH = 0;
		}
		else {
			var ModWinH = Number(ModWinHVal.slice(0,-2));
		}
		
		var ModWinPT = Number($('#shareThisPageZone').css('paddingTop').slice(0,-2));
		var ModWinPB = Number($('#shareThisPageZone').css('paddingBottom').slice(0,-2));
		if (ModWinH > 0) {
			var ModTop = Math.floor(((coverH-(ModWinH+ModWinPT+ModWinPB))*.5));
		}
		else {
			var ModTop = Math.floor(coverWin*.1);
		}
		if (scrollH > 0) {
			var ModTop = (ModTop+scrollH)+"px";
		}
		else {
			var ModTop = ModTop+"px";
		}
		$('#shareThisPageZone').css('top',ModTop);
		$('#shareThisPageArea').html(data); 
		initFormActions();
	});
}


// ///////////////////// JQUERY READY///////////////////////
$(function() {

$('.shareThisPage').css('cursor','pointer').click(function() {
	showShareForm();
	return (false);
});

});
