window.addEvent('domready', function()
	{
		SendToFriend.init($('SendToFriendForm'));
		Utility.turnOff("SendToFriendloadingIcon");
	}
);

var SendToFriend =
{
    myVal:null,
    curform:null,
    init:function(curform)
    {
    	this.curform = curform;
    },
	step1:function()
    {
        track('cmCreateConversionEventTag("Send to friend",1)');
        this.myVal = new Validate("SendToFriendValidationSummary");
        this.myVal.isEmpty("SendFriendName","SendFriendNameError","Enter your name");
        this.myVal.isEmail("SendFriendEmail","SendFriendEmailError","Enter your email address");
        this.myVal.isEmpty("SendFriendFriendsName","SendFriendFriendsNameError","Enter your friend&#8217;s name");
 		this.myVal.isEmail("SendFriendFriendsEmail","SendFriendFriendsEmailError","Enter your friend&#8217;s email address");
 		//this.myVal.isEmpty("SendFriendMessage","SendFriendMessageError","Please enter a message to your friend");
 		//this.myVal.isEmpty("SendFriendURL",null,null);

		// FINAL STEP
		if(this.myVal.isValid())
        {
            //this.curform.submit();
            Utility.turnOnInline("SendToFriendloadingIcon");
            var serializer = new Serializer();
            serializer.init(["SendFriendName", "SendFriendEmail", "SendFriendFriendsName", "SendFriendFriendsEmail", "SendFriendURL", "SendFriendTitle"]);
            var msg = encodeURIComponent($("SendFriendMessage").value);
            var URL = "/callback/SendToFriend/?i=i&msg="+msg+serializer.yield();


			var myAjax = new Ajax(URL,
			{
    			method: 'get',
    			onSuccess: function(responseText)
    			{
                    if(responseText == "sent")
			    	{
                        //$("SendToFriendresponseMessage").innerHTML = "Thank you, your Email has been sent.";
                        SendToFriend.myVal.generalError(null,["Thank you, your Email has been sent."]);
			    	    SendToFriend.myVal.peetsYieldSuccess("SendPageToFriend");
                        Utility.turnOff("SendToFriendloadingIcon");
                        track('cmCreateConversionEventTag("Send This Page","2","Site Events","1");');
                        $("SendFriendFriendsName").value = "";
                        $("SendFriendFriendsEmail").value = "";
                        $("SendFriendMessage").value = "";
			    	}
			    	else
			    	{
                        //$("responseMessage").innerHTML = "An error has occured.";
                        SendToFriend.myVal.generalError(null,["An error has occured."]);
			    	    SendToFriend.myVal.peetsYield(true);
                        Utility.turnOff("SendToFriendloadingIcon");
			    	}
			    	Utility.turnOn("SendToFriendresponseMessage");
    			},
    			onFailure: function(sender,responseText)
    			{
    				//alert('failed request');
    				//$("SendToFriendresponseMessage").innerHTML = "An error has occured.";
                    SendToFriend.myVal.generalError(null,["An error has occured."]);
		    	    SendToFriend.myVal.peetsYield(true);
    				Utility.turnOff("SendToFriendloadingIcon");
    			}
			}).request();
        }
        else
        {
            this.myVal.peetsYield(true);
            return false;
        }
    }
}
