﻿jQuery(document).ready(function() {

    //Get entered data
    var ui = jQuery('#uxui'), domain = jQuery('#uxdomain'),
                    kepantasan = jQuery('#uxkepantasan'), cadangan = jQuery('#uxcadangan'), emel = jQuery('#uxemel');

    jQuery("#btnHantar").click(function(e) {
        e.preventDefault();

        var bValid = false;
        var oButton = jQuery(this);
        var oButtonTutup = jQuery('#btnTutup');

        //Validate atleast 1 feedback entered by validating min characters entered
        bValid = validMsg('#feedback');

        if (bValid) {
            //Collect all entered data for submission
            //Validate emel or tel no.
            var bValidEmelOrTel = validEmelOrTel(emel);
            if (bValidEmelOrTel) {
                //Submit data, show reponse and close dialog
                hideSummary();
                changeButtonStatus(oButton, true);
                changeButtonStatus(oButtonTutup, true);

                //serialize data
                var oDoc = 'uxui=' + ui.val() + '&uxdomain=' + domain.val() + '&uxkepantasan=' + kepantasan.val() + '&uxcadangan=' + cadangan.val() + '&uxemel=' + emel.val();

                jQuery.ajax({
                    type: 'GET',
                    url: 'BorangMaklumbalas.aspx',
                    beforeSend: showProgress(),
                    data: oDoc,
                    success: function(data) {
                        //hideProgress();
                        hideFeedback();
                        //Boxy.alert('Terima kasih atas pandangan dan komen yang diberikan. Semoga saudara dapat terus memberikan pandangan kepada kami untuk membolehkan kami meningkatkan lagi perkhidmatan.', null, null, '1');
                        alert('Terima kasih atas pandangan dan komen yang diberikan. Semoga saudara dapat terus memberikan pandangan kepada kami untuk membolehkan kami meningkatkan lagi perkhidmatan.');
                    },
                    error: function(status, statusText) {
                        //Boxy.alert('Sistem menghadapi masalah. Sila cuba kemudian.Terima kasih.', null, null, '2');
                        alert('Sistem menghadapi masalah. Sila cuba kemudian.Terima kasih.');
                    },
                    timeout: 20000,
                    complete: function() {
                        changeButtonStatus(oButton, false);
                        changeButtonStatus(oButtonTutup, false);
                        //hideProgress();
                        hideFeedback();
                    }
                });

            } else { showSummary('Sila nyatakan alamat e-mel atau nombor telefon untuk dihubungi. Terima kasih'); }

        } else {
            //show validation summary
            showSummary('Sila nyatakan sekurang - kurangnya satu maklum balas yang melebihi 10 perkataan. Terima kasih');
        }
    })

    //The paramater accepting an object to validate
    function validMsg(o) {
        var bValid = false;
        jQuery(o + ' textarea').each(function(index, key) {
            if (jQuery.trim(jQuery(this).val()).length > 10) bValid = true;
        })
        return bValid;
    }
    //Check for valid emel or tel no.
    function validEmelOrTel(o) {
        var emelRegex = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\jQuery%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i;
        var telRegex = /^([0-9])+$/;
        //Check emel first
        if (!(emelRegex.test(o.val()))) {
            //invalid emel, check for tel no.
            if (!(telRegex.test(o.val()))) {
                //invalid tel
                return false;
            } else {
                return true;
            }
        } else {
            return true
        }
    }
    //Validation summary
    function showSummary(s) {
        vSum = jQuery('#validationsummary');
        vSum.html(s).effect("highlight", [], 1500);
    }
    function hideSummary(s) {
        vSum = jQuery('#validationsummary');
        vSum.hide();
    }
    function changeButtonStatus(o, status) {
        if (status == false) {
            o.removeAttr("disabled");
        } else { o.attr('disabled', 'disabled'); }
    }
    var dlg;
    //    function preInitProgress() {
    //        dlg = new Boxy('<img src="Images/progress.gif" border=0/>Sila tunggu sebentar...', { modal: true, center:true });
    //        showProgress();
    //    }
    function showProgress() {
        //hideFeedback();
        //        dlg.show();
        jQuery('#prog').css('visibility', 'visible');
    }
    function hideProgress() {
        //dlg.unload();
        jQuery('#prog').css('visibility', 'hidden');
    }
    jQuery('#btnTutup').click(function() {
        hideFeedback();
    })

    var maklumBalasDialog = { title: "Borang maklum balas",
        width: 700,
        modal: true,
        height: 500,
        draggable: true,
        autoOpen: false,
        zIndex: 9999,
        show: "blind",
        hide: "clip"
    };

    //var bExist = false;
    jQuery("#lnkfeedback").click(function(e) {
    e.preventDefault();
        
        //load external script at runtime
//        if (!bExist) {
//            bExist = true;
//            
//            
//            jQuery('body').addClass('bg-disabled');
////            StyleUtil('boxy|jquery-ui-1.7.2.custom');
//            //            ScriptUtil('ui.core|ui.draggable|ui.resizable|ui.dialog|effects.core|effects.highlight|jquery.boxy');
//            
//            //Commented on 15 Dec 2010
////            StyleUtil('jquery-ui-1.7.2.custom');
////            ScriptUtil('ui.core|ui.draggable|ui.resizable|ui.dialog|effects.core|effects.highlight');
//            jQuery('body').removeClass('bg-disabled');
//            
//        }
        jQuery("#feedback").dialog(maklumBalasDialog);
        showFeedback();
        
    })

    jQuery("#btnClose").click(function() {
        hideFeedback();
    })

    function showFeedback() {
        jQuery("#feedback").dialog('open').fadeIn('slow');
    }
    function hideFeedback() {
        //reset the form
        jQuery('#feedback textarea').each(function(index, key) {
            jQuery(this).val('');
        })
        //hide progress
        hideProgress();
        jQuery("#feedback").dialog('close').fadeOut('slow');
    }
});
        
