﻿

function addTellAFriendJS() {
    $j(function() {

        $j("#friendMsg").keypress(
	        function(e) {
	            if ($j(this).val().length > 200)
	                return false;
	        });

        var senderName = $j("#senderName"),
	senderEmail = $j("#senderEmail"),
	friendName = $j("#friendName"),
	friendEmail = $j("#friendEmail"),
	friendMsg = $j("#friendMsg"),
	allFields = $j([]).add(senderName).add(senderEmail).add(friendName).add(friendEmail).add(friendMsg),
	tips = $j(".validateTipsFriend");

        function updateTips(t) {
            tips
				.text(t)
				.addClass('ui-state-highlight');
            setTimeout(function() {
                tips.removeClass('ui-state-highlight', 1500);
            }, 1000);
        }

        function checkLength(o, n, min, max) {

            if (o.val().length > max || o.val().length < min) {
                o.addClass('ui-state-error');
                updateTips(n);
                return false;
            } else {
                return true;
            }
        }

        function checkRegexp(o, regexp, n) {

            if (!(regexp.test(o.val()))) {
                o.addClass('ui-state-error');
                updateTips(n);
                return false;
            } else {
                return true;
            }
        }

        $j('#close').click(function() {
            allFields.val('').removeClass('ui-state-error');
            $j(".validateTipsFriend").text("Todos os campos são de preenchimento obrigatório.");
        });

        $j('#sbSendFriend').click(function() {

        var msg_pt = ['Por favor, preenche o teu nome'
                , 'O teu e-mail não é válido.'
                , 'Por favor, preenche o nome do teu amigo.'
                , 'O e-mail do teu amigo não é válido.'
                , 'Por favor, escreve uma mensagem para o teu amigo.'
                , 'Envio efectuado com sucesso.'
                , 'Ocorreu um erro ao efectuar o registo.'];

        var msg_en = ['Please fill out your name'
                , 'Your e-mail is not valid.'
                , 'Please fill out your friend\'s name.'
                , 'The e-mail of your friend is not valid.'
                , 'Please write a message to your friend.'
                , 'Message successfully sent.'
                , 'There was an error processing your request.'];
                
        var currentMsg = lang == 'pt' ? msg_pt : msg_en;

            var url = "tellafriend.ashx";
            var bValid = true;
            allFields.removeClass('ui-state-error');


            var data = 'accao=tf' + '&SenderN=' + senderName.val() + '&SenderE=' + senderEmail.val() + '&FriendN=' + friendName.val() + '&FriendE=' + friendEmail.val() + '&msg=' + friendMsg.val();

            bValid = bValid && checkLength(senderName, currentMsg[0], 1, 50);
            bValid = bValid && checkRegexp(senderEmail, /^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/, currentMsg[1]);
            bValid = bValid && checkLength(friendName, currentMsg[2], 1, 50);
            bValid = bValid && checkRegexp(friendEmail, /^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/, currentMsg[3]);
            bValid = bValid && checkLength(friendMsg, currentMsg[4], 1, 200);

            if (bValid) {
                $j.ajax({
                    url: url,
                    type: "POST",
                    data: data,
                    cache: false,
                    success: function(data) {
                        $j("#tellafriend").hide();
                        if (data == "ok") {
                            $j("#tellresult").html(currentMsg[5]);
                        }
                        else {
                            $j("#tellresult").html(currentMsg[6]);
                        }
                    }
                });
            }

            return false;
        });
    });
}
