var forumID;

function setForumID(fid){
    forumID = fid;
}

$(function() {

    var email = $("#email"),
    password = $("#password"),
    allFields = $([]).add(email).add(password),
    tips = $("#validateTips");

    function updateTips(t) {
        tips.text(t).effect("highlight",{},1500);
    }

    function checkLength(o,n,min,max) {

        if ( o.val().length > max || o.val().length < min ) {
            o.addClass('ui-state-error');
            updateTips("Length of " + n + " must be between "+min+" and "+max+".");
            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;
        }

    }

    $("#dialog").dialog({
        bgiframe: true,
        autoOpen: false,        
        width: '330',
        height: 'auto',
        modal: true,
        resizable: false,
        buttons: {
            'Login': function() {
                var bValid = true;
                allFields.removeClass('ui-state-error');

                bValid = bValid && checkLength(email,"email",6,80);
                bValid = bValid && checkLength(password,"password",4,20);

                bValid = bValid && checkRegexp(email,/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\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,"eg. john@corpscan.org");
                //bValid = bValid && checkRegexp(email,/^([0-9a-zA-Z])+$/,"CIN field only allow : a-z 0-9");
                bValid = bValid && checkRegexp(password,/^([0-9a-zA-Z@_.])+$/,"Password field only allow : a-z 0-9");

                if (bValid) {
                    //alert(maincat);
                    $.post("frm_login.php", {
                        'email':email.val(),
                        'password':password.val()
                    }, function(data) {
                        data = data.split("|");
                        if(data[1] == 'login'){
                            window.location.reload();
                        }else{
                            alert(data);
                        }
                    });
                    $(this).dialog('close');
                }
            }
        },
        close: function() {
            allFields.val('').removeClass('ui-state-error');
        }
    });

    var ccode = $('#ccode'), cicode = $('#cicode'), phone = $('#phone'), reason = $('#reason'),
    allFields1 = $([]).add(ccode).add(cicode).add(phone).add(reason),
    tips1 = $("#validateTips1");   

    function updateTips1(t) {
        tips1.text(t).effect("highlight",{},1500);
    }

    function checkLength1(o,n,min,max) {

        if ( o.val().length > max || o.val().length < min ) {
            o.addClass('ui-state-error');
            updateTips1("Length of " + n + " must be between "+min+" and "+max+".");
            return false;
        } else {
            return true;
        }

    }

    function checkRegexp1(o,regexp,n) {

        if ( !( regexp.test( o.val() ) ) ) {
            o.addClass('ui-state-error');
            updateTips1(n);
            return false;
        } else {
            return true;
        }

    }    

    $("#dialogMID").dialog({
        bgiframe: true,
        autoOpen: false,
        width: '330',
        height: 'auto',
        modal: true,
        resizable: false,
        buttons: {
            'Submit Request': function() {
                var bValid1 = true;
                allFields1.removeClass('ui-state-error');

                bValid1 = bValid1 && checkLength1(ccode,"country code",2,6);
                bValid1 = bValid1 && checkLength1(cicode,"city code",2,6);
                bValid1 = bValid1 && checkLength1(phone,"phone",5,12);
                bValid1 = bValid1 && checkLength1(reason,"reason for joining",10,50);

                bValid1 = bValid1 && checkRegexp1(ccode,/^([0-9])+$/,"Country code field only allow : 0-9");
                bValid1 = bValid1 && checkRegexp1(cicode,/^([0-9])+$/,"City code field only allow : 0-9");
                bValid1 = bValid1 && checkRegexp1(phone,/^([0-9])+$/,"Phone number field only allow : 0-9");

                if (bValid1) {
                    //alert(maincat);
                    $.post("frm_joining_reason.php", {
                        'ccode':ccode.val(),
                        'cicode':cicode.val(),
                        'phone':phone.val(),
                        'reason':reason.val(),
                        'fid':forumID
                    }, function(data) {
                        if(data == 'saved'){
                            $("#dialogMID").dialog('close');
                            ccode.val('').removeClass('ui-state-error');
                            cicode.val('').removeClass('ui-state-error');
                            phone.val('').removeClass('ui-state-error');
                            reason.val('').removeClass('ui-state-error');
                            alert("Request sent successfully for moderator approval!");
                        }else{
                            //updateTips1(data);
                            updateTips1("An error occurred, Please try again!");
                        }
                    });
                }
            }
        },
        close: function() {
            allFields.val('').removeClass('ui-state-error');
        }
    });

    $("#messageDialog").dialog({
        bgiframe: true,
        autoOpen: false,
        width: '330',
        height: 'auto',
        modal: true,
        resizable: false,
        buttons: {
            close: function() {
                $(this).dialog('close');
            }
        }
    });
});

