// globals



ajax_loader = '<img src="'+baseurl+'/images/ajax-loader-f6.gif" class="loader" />';



jQuery.fn.fadeToggle = function(speed, easing, callback) {

return this.animate({opacity: 'toggle'}, speed, easing, callback);  

};

	

function reset_form() {

	

	$('#tellfriend').fadeToggle('slow', '', function() {

		$("#email_msg").remove();

		$("#tellafriend_form").show();

	});

	

}



$(document).ready(function() {

    

	$('#tellfriend').hide();

	

    $('a.email_share_link, #tellfriend a.close').click(function() {

																

		$("#tellfriend").fadeToggle('fast');
		
		return false;

		

    });

	

	function submit_form() {

		

		show_loader();

		

		var scriptData = $("#tellafriend_form").serialize();

		

		url = baseurl+"/content/ajax/ajax_email_friend.php";

											

		$.ajax({

				url: url,

				cache: false,

				data: scriptData,

				dataType: 'json',

				success: function(response){

					//alert (response.result);

					hide_loader();

					show_message(response.message, response.result);

				},

				error: function(error){

					hide_loader();

					show_message('We encountered an error, please try again', 'fail');

				}

		});

		

	}

	

	function show_loader() {

		

		$("#tellafriend_form").hide().after(ajax_loader);

		

	}

	

	function hide_loader() {

		

		$("img.loader").remove();

		

	}

		

	

	function show_message(msg, type) {

		

		var msg_class="success";

		

		if (type == 'fail') {

			$("#tellafriend_form").show();

			msg_class = "error";

		}

		

		$("#tellafriend_form").before('<label id="email_msg" generated="true" class="'+msg_class+'" style="display: block;">'+msg+'</label>');

		

		if (type == 'success') {

			var t=setTimeout("reset_form()",2000);

		}

		

	}

	

	    var validator = $("#tellafriend_form").validate({ 

        onfocusout: false,

        rules: { 

            tellafriend_name: { 

                required: true, 

                minlength: 2 

            },  

            tellafriend_subject: { 

                required: true 

            }, 

            tellafriend_message: { 

                required: true

            }, 

            tellafriend_from: { 

                required: true, 

                email: true 

            }, 

            tellafriend_to: { 

                required: true, 

                email: true 

            }

        }, 

        messages: { 

            tellafriend_name: { 

                required: "You do know your name, right?", 

                minlength: jQuery.format("We really need at least {0} characters")

            },

            tellafriend_subject: { 

                required: "Enter a subject for the email" 

            }, 

            tellafriend_message: { 

                required: "Yep, we checked, you didn't enter a message" 

            }, 

            tellafriend_from: { 

                required: "Please enter your email address", 

                minlength: "Please enter a valid email address" 

            }, 

            tellafriend_to: { 

                required: "Please enter your friend's email address", 

                minlength: "Please enter a valid email address" 

            }

        }, 

        // the errorPlacement has to take the table layout into account 

        errorPlacement: function(error, element) { 

            //element.next("small").html(error);

			$('#tellafriend_message').after(error);

        }, 

        errorLabelContainer: "div.formfield clearfix",

        wrapper: "div.description",

        submitHandler: function() { 

            submit_form(); 

        },

        // set this class to error-labels to indicate valid fields 

        success: function(label) { 

            // set   as text for IE 

            label.html(" ").addClass("checked"); 

        } 

    }); 

	

	

}); 
