﻿/// <reference path="jquery-1.4.1-vsdoc.js" />

// Constants
//
var CONST_3DD_COOKIE_NAME = "3ddGroupRememberMe";
//
// End of Constants

$(function () {
    $('input[id*=txtPlainPassword]').show();
    $('input[id*=txtPassword]').hide();
    $('input[id*=txtPlainCurrent]').show();
    $('input[id*=tbCurrent]').hide();
    $('input[id*=txtPlainNew]').show();
    $('input[id*=tbNew]').hide();

    $("li #item").bind('mouseover mouseout', function () { $(this).toggleClass('hidden') });

    $('.scrollpane').jScrollPane({
        showArrows: true
    });

    // If the user signs out then delete their cookie
    $('a[id*=btnSignOut]').click(
    function () {
        deleteCookie(CONST_3DD_COOKIE_NAME);
    });

    $('#btnSignIn').click(
            function () {
                if ($('div[id*=LoginControl]').hasClass('hidden')) {
                    $('div[id*=LoginControl]').removeClass("hidden");
                    $('div[id*=LoginControl]').show('slide', { direction: 'right' }, 1000);
                }
            });

    $('.changebutton').click(
    function () {
        if ($('.changepassword').hasClass('hidden')) {
            $('.changepassword').removeClass("hidden");
            $('.changepassword').show('slide', { direction: 'up' }, 1000);
        }
    });

    $('span[id=forgotpassword]').click(
    function () {
        $('div[id*=pnlLogin]').addClass("hidden");
        $('div[id=forgotpassword]').removeClass("hidden");
    });

    $('#createaccount').click(
    function () {
        loginclose(openaccountform);
    });

    $('#loginclose').click(
        function () {
            loginclose();
        });

    $('#fpclose').click(
    function () {
        loginclose();
    });

    $('#fpmsgclose').click(
    function () {
        loginclose();
    });

    $('#passwordclose').click(
    function () {
        $('.changepassword').addClass("hidden");
        $('.changepassword').hide('slide', { direction: 'up' }, 1000,
            function () {
                $('#changeform').removeClass("hidden");
                $('#message').addClass("hidden");
            });
    });

    $('#changeform').keypress(function (e) {
        if (e.keyCode == '13') {
            $('#btnUpdate').click();
            return false;
        }
    });

    $('div[id=forgotpassword]').keypress(function (e) {
        if (e.keyCode == '13') {
            $('#btnForgotPassword').click();
            return false;
        }
    });

    $('#newaccount').keypress(function (e) {
        if (e.keyCode == '13') {
            $('#btnSubmit').click();
            return false;
        }
    });

    $('#modalclose').click(
    function () {
        $('#newaccount').dialog("close");
    });

    $('#commentsclose').click(
    function () {
        $('#yourcomments').dialog("close");
    });

    $(".image img[id*=imgCheckBox]").toggle(
    function () {
        $(this).attr("src", "Graphics/check_box_ticked.png");
    },
    function () {
        $(this).attr("src", "Graphics/check_box_empty.png");
    });

    $('.itemsinput').toggle(
    function () {
        $('#items').removeClass("hidden");
    },
    function () {
        $('#items').addClass("hidden");
    });

    $('input[id*=txtPlainPassword]').focus(
    function () {
        $(this).hide();
        $('input[id*=txtPassword]').show();
        $('input[id*=txtPassword]').focus();
    });

    $('input[id*=txtPassword]').blur(
    function () {
        if ($(this).val().length == 0) {
            $(this).hide();
            $('input[id*=txtPlainPassword]').show();
        }
    });

    $('input[id*=txtPlainCurrent]').focus(
    function () {
        $(this).hide();
        $('input[id*=tbCurrent]').show();
        $('input[id*=tbCurrent]').focus();
    });

    $('input[id*=tbCurrent]').blur(
    function () {
        if ($(this).val().length == 0) {
            $(this).hide();
            $('input[id*=txtPlainCurrent]').show();
        }
    });

    $('input[id*=txtPlainNew]').focus(
    function () {
        $(this).hide();
        $('input[id*=tbNew]').show();
        $('input[id*=tbNew]').focus();
    });

    $('input[id*=tbNew]').blur(
    function () {
        if ($(this).val().length == 0) {
            $(this).hide();
            $('input[id*=txtPlainNew]').show();
        }
    });

    $('input[id*=txtEmail]').focus(
    function () {
        watermarkfocus($(this), "email address");
    });

    $('input[id*=txtEmail]').blur(
    function () {
        watermarkblur($(this), "email address")
    });

    $('input[id*=tbEmail]').focus(
    function () {
        watermarkfocus($(this), "email address");
    });

    $('input[id*=tbEmail]').blur(
    function () {
        watermarkblur($(this), "email address")
    });

    $('.menucomments').bind("click", function () {
        $('#yourcomments').removeClass("hidden");
        $('#yourcomments').dialog({
            position: 'center',
            width: 468,
            modal: true,
            open: function (event, ui) {
                $('body').css('overflow', 'hidden');
                $('.ui-widget-overlay').fadeTo('slow', 0.5);
            },
            show: { effect: "fade", duration: 1000 },
            hide: { effect: "fade", duration: 1000 },
            close: function (event, ui) {
                $('body').css('overflow', 'auto');
                resetcommentsform();
            }
        });
    });

    $('input[id*=btnSubmitComments]').click(
    function () {
        var name_com = $('#tbName_comments').val();
        var company_com = $('#tbCompanyName_comments').val();
        var email_com = $('#txtEmailComments').val();
        var comment_com = $('#tbComments').val();

        var params = JSON.stringify({ comment: comment_com, name: name_com, company: company_com, email: email_com });
        $.ajax({
            type: "POST",
            url: "Services/WS_3DD.asmx/SubmitComment",
            data: params,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg) {
                $('#commmsgtext').html(msg.d);
                $('div[id*=pnlCommentsForm]').addClass("hidden");
                $('#commentsmessage').removeClass("hidden");
            }
        });
    });

    $('#btnUpdate').click(
    function () {
        var oldpwd = $('input[id*=tbCurrent]').val();
        var newpwd = $('input[id*=tbNew]').val();
        var uid = $('input[id*=hdUserId]').val();

        if (oldpwd == "") {
            $('#valtbCurrent').removeClass("hidden");
            $('#valtbCurrent').text("Enter current password");
            return false;
        }
        else {
            $('#valtbCurrent').addClass("hidden");
        }
        if (newpwd == "") {
            $('#valtbNew').removeClass("hidden");
            $('#valtbNew').text("Enter new password");
            return false;
        }
        else {
            $('#valtbNew').addClass("hidden");
        }
        var params = JSON.stringify({ userId: uid, oldPassword: oldpwd, newPassword: newpwd });
        $.ajax({
            type: "POST",
            url: "Services/WS_3DD.asmx/ChangePassword",
            data: params,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg) {
                $('#msgtext').text(msg.d);
                $('#changeform').addClass("hidden");
                $('#message').removeClass("hidden");
            }
        });
    });

    $('#btnForgotPassword').click(
    function () {
        var txtbox = $('input[id*=tbEmail]').val();
        var email = $.trim(txtbox);
        if ((email == "") || (email == 'email address')) {
            $('#valtbEmail').removeClass("hidden");
            $('#valtbEmail').text("Enter email");
            return false;
        }
        else {
            $('#valtbEmail').addClass("hidden");
        }
        var params = JSON.stringify({ emailAddress: email });
        $.ajax({
            type: "POST",
            url: "Services/WS_3DD.asmx/ResetPassword",
            data: params,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg) {
                $('#fpmsgtext').text(msg.d);
                $('div[id=forgotpassword]').addClass("hidden");
                $('#fpmessage').removeClass("hidden");
            }
        });
    });

    $('input[id*=btnGo]').bind("mouseover", function () {
        $('input[id*=btnGo]').removeClass('goOut');
        $('input[id*=btnGo]').addClass('goOver');
    });
    $('input[id*=btnGo]').bind("mouseout", function () {
        $('input[id*=btnGo]').removeClass('goOver');
        $('input[id*=btnGo]').addClass('goOut');
    });

    $('#btnForgotPassword').bind("mouseover", function () {
        $('#btnForgotPassword').removeClass('goOut');
        $('#btnForgotPassword').addClass('goOver');
    });
    $('#btnForgotPassword').bind("mouseout", function () {
        $('#btnForgotPassword').removeClass('goOver');
        $('#btnForgotPassword').addClass('goOut');
    });

    $('#btnUpdate').bind("mouseover", function () {
        $('#btnUpdate').removeClass('goOut');
        $('#btnUpdate').addClass('goOver');
    });
    $('#btnUpdate').bind("mouseout", function () {
        $('#btnUpdate').removeClass('goOver');
        $('#btnUpdate').addClass('goOut');
    });

    // If the user has ticked the Remember me checkbox we store their log in credentials
    // in a cookie so that next time the user will be automatically logged into the site
    // The check is done in the DefaultMaster.Master Page_Load event.
    $('input[id*=btnGo]').click(
    function () {
        if ($(".image img[id*=imgCheckBox]").attr('src') == "Graphics/check_box_ticked.png") {
            var loginDetails = {}
            loginDetails.EmailAddr = $('input[id*=txtEmail]').val();
            loginDetails.Password = $('input[id*=txtPassword]').val();

            if (loginDetails.Password == '') return;

            var cookieValue = $.base64Encode(loginDetails.EmailAddr + ":" + loginDetails.Password);
            var exdate = new Date();
            var exdays = 14;

            exdate.setDate(exdate.getDate() + exdays);
            cookieValue = cookieValue + ((exdays == null) ? "" : "; expires=" + exdate.toUTCString())
            document.cookie = CONST_3DD_COOKIE_NAME + "=" + cookieValue;
        }
        else {
            deleteCookie(CONST_3DD_COOKIE_NAME);
        }
    });

    $('input[id*=btnSubmit]').click(
    function () {
        var fname = $('input[id*=tbFname]').val();
        var sname = $('input[id*=tbSname]').val();
        var company = $('input[id*=tbAccCompanyName]').val();
        var job = $('input[id*=tbJobTitle]').val();
        var add1 = $('input[id*=tbAdd1]').val();
        var city = $('input[id*=tbCity]').val();
        var pcode = $('input[id*=tbPcode]').val();
        var tel = $('input[id*=tbTel]').val();
        var email = $('input[id*=tbAccEmail1]').val();
        var email2 = $('input[id*=tbAccEmail2]').val();
        if (jQuery.trim(fname) == "") {
            $('#valFname').removeClass("hidden");
            $('#valFname').text("Enter first name");
            return false;
        }
        else {
            $('#valFname').addClass("hidden");
        }
        if (jQuery.trim(sname) == "") {
            $('#valSname').removeClass("hidden");
            $('#valSname').text("Enter surname");
            return false;
        }
        else {
            $('#valSname').addClass("hidden");
        }
        if (jQuery.trim(company) == "") {
            $('#valCompanyName').removeClass("hidden");
            $('#valCompanyName').text("Enter company name");
            return false;
        }
        else {
            $('#valCompanyName').addClass("hidden");
        }
        if (jQuery.trim(job) == "") {
            $('#valJobTitle').removeClass("hidden");
            $('#valJobTitle').text("Enter job title");
            return false;
        } else {
            $('#valJobTitle').addClass("hidden");
        }
        if (jQuery.trim(add1) == "") {
            $('#valAdd1').removeClass("hidden");
            $('#valAdd1').text("Enter address");
            return false;
        } else {
            $('#valAdd1').addClass("hidden");
        }
        if (jQuery.trim(city) == "") {
            $('#valCity').removeClass("hidden");
            $('#valCity').text("Enter city");
            return false;
        } else {
            $('#valCity').addClass("hidden");
        }
        if (jQuery.trim(pcode) == "") {
            $('#valPcode').removeClass("hidden");
            $('#valPcode').text("Enter post code");
            return false;
        } else {
            $('#valPcode').addClass("hidden");
        }
        if (jQuery.trim(email) == "") {
            $('#valEmail').removeClass("hidden");
            $('#valEmail').text("Enter email");
            return false;
        } else {
            $('#valEmail').addClass("hidden");
        }
        if (jQuery.trim(email2) == "") {
            $('#valEmail2').removeClass("hidden");
            $('#valEmail2').text("Enter email");
            return false;
        } else {
            $('#valEmail2').addClass("hidden");
        }
        if (((jQuery.trim(email)) != (jQuery.trim(email2)))) {
            $('#valEmail2').removeClass("hidden");
            $('#valEmail2').text("Emails do not match");
            return false;
        } else {
            $('#valEmail2').addClass("hidden");
        }

        // Build user object
        var user = {}
        user.FirstName = $('input[id*=tbFname]').val();
        user.Surname = $('input[id*=tbSname]').val();
        user.CompanyName = $('input[id*=tbAccCompanyName]').val();
        user.JobTitle = $('input[id*=tbJobTitle]').val();
        user.Address1 = $('input[id*=tbAdd1]').val();
        user.Address2 = $('input[id*=tbAdd2]').val();
        user.City = $('input[id*=tbCity]').val();
        user.PostCode = $('input[id*=tbPcode]').val();
        user.Country = $('select[id*=ddlCountry] :selected').val();
        user.Territory = $('select[id*=ddlTerritory] :selected').val();
        user.Tel = $('input[id*=tbTel]').val();
        user.Email = $('input[id*=tbAccEmail2]').val();
        user.UserType = 3;  // Buyer only

        var params = JSON.stringify({ newUser: user });
        $.ajax({
            type: "POST",
            url: "Services/WS_3DD.asmx/CreateAccount",
            data: params,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg) {
                $('#accmsgtext').html(msg.d);
                $('#accountform').addClass("hidden");
                $('#accountmessage').removeClass("hidden");
            }
        });
    });

    //Functions
    function loginclose(callbackfnc) {
        $('div[id*=LoginControl]').hide('slide', { direction: 'right' }, 1000,
        function () {
            $('div[id*=pnlLogin]').removeClass("hidden");
            $('#fpmessage').addClass("hidden");
            $('div[id=forgotpassword]').addClass("hidden");
            $('div[id*=LoginControl]').addClass("hidden");

            if (typeof callbackfnc == 'function') {
                callbackfnc.call(this);
            }
        });
    }

    function openaccountform() {
        $('#newaccount').dialog({
            position: 'center',
            width: 468,
            modal: true,
            open: function (event, ui) {
                $('body').css('overflow', 'hidden');
                $('.ui-widget-overlay').fadeTo('slow', 0.5);
            },
            show: { effect: "fade", duration: 1000 },
            hide: { effect: "fade", duration: 1000 },
            close: function (event, ui) {
                $('body').css('overflow', 'auto');
            }
        });
        return false
    }

    function watermarkfocus(sender, text) {
        $(sender).filter(function () {
            return $(sender).val() == "" || $(sender).val() == text
        }).removeClass("watermarkon lightgray").addClass("white").val("");
    }

    function watermarkblur(sender, text) {
        $(sender).filter(function () {
            return $(sender).val() == ""
        }).addClass("watermarkon lightgray").removeClass("white").val(text);
    }

    function resetcommentsform() {
        $('div[id*=pnlCommentsForm]').removeClass("hidden");
        $('#commentsmessage').addClass("hidden");

        $('#tbName_comments').val('');
        $('#tbCompanyName_comments').val('');
        $('#txtEmailComments').val('');
        $('#tbConfirmEmail_comments').val('');
        $('#tbComments').val('');
    }

    function deleteCookie(name) {
        var cookieDate = new Date();
        cookieDate.setTime(cookieDate.getTime() - 1);
        document.cookie = (name + '= ; expires=' + cookieDate.toGMTString());
    }
});
