﻿var ShareThisSite={
	init:function () {
		$$(".site-share").addReplacingEvent("click",function (e) {
			ShareThisSite.showForm(0,this);
		});
	},
	
	showForm:function (relative) {
		Mantis.EyeBlaster.Services.ShareThisSiteService.GetShareThisSiteFormSource(function (source) {
			var el=new Element("div").adopt(Element.fromMarkup(source,true));
			ShareThisSite.initForm(el);
			(function () {
				var lb=new SiteLightbox(el).show();
			}).delay(50); // delay so js/css could load

		});
	},
	
	mailRx:/^[\w-\.]+@([a-z0-9\-]+\.)+[a-z]{2,5}$/i,
	
	initForm:function (element) {		
		Site.trackStats("/ShareThisSiteOpen");
		var form=element.getElement("form");
		
		form.addReplacingEvent("submit",function (e) {
			//check fields
			
			var emailToValue=form["share-this-site-EmailTo"].value.trim();
			if(!ShareThisSite.mailRx.test(emailToValue)){alert("Please enter a valid email"); return;}

			var yourNameValue=form["share-this-site-YourName"].value.trim();
			if(!yourNameValue) {alert("Please enter your name"); return;}
			
			var yourEmailValue=form["share-this-site-YourEmail"].value.trim();
			if(!ShareThisSite.mailRx.test(yourEmailValue)){alert("Please enter a valid email"); return;}
			
			var yourNotesValue=form["share-this-site-YourEmail"].value.trim();

			ShareThisSite.ShareThisSiteSend(emailToValue,yourNameValue,yourEmailValue,yourNotesValue,ShareThisSite.FormSent);			
		});
//		form.getElement(".cancel").addEvent("click",function () {
//			Lightbox.hide();
//		});
	},
	
	ShareThisSiteSend:function (emailTo,yourName,yourEmail,yourNotes,callback) {
		Mantis.EyeBlaster.Services.ShareThisSiteService.ShareThisSiteSend(emailTo,yourName,yourEmail,yourNotes,function (success) {
			if (callback) callback(success);
		});
	},

	FormSent:function () {		
		Site.trackStats("/ShareThisSiteSubmit");
		$("share-this-site-form-form").hide();
		$("share-this-site-after").show();
		(function () {
			Lightbox._container.effect("opacity").start(0).chain(function () {
				Lightbox.hide();
				Lightbox._container.setStyle("opacity",1);
			});
		}).delay(2000);
		
	}

};
$DL(ShareThisSite.init);

