﻿function goToPage(page) {
    document.location = page;
}

var UTILS = (function () {
    var obj = {};

    obj.reloadPage = function () {
        location.reload();
    }

    obj.isChecked = function (checkbox) {
        if (checkbox.attr('checked')) {
            return true;
        }
        else {
            return false;
        }
    }

    obj.getDateTime = function (date) {
        //dd/mm/yyyy
        var m = date.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/);
        return (m) ? new Date(m[3], m[2] - 1, m[1]) : null;
    }

    obj.showModalDialog = function (title, text) {
        var mainDiv = $('#dialogHolder');
        mainDiv.empty();
        var messageDiv = $('<div/>').attr('id', 'dialog-message').attr('title', title);
        mainDiv.append(messageDiv);
        var p = $('<p/>').append(text);
        messageDiv.append(p);

        messageDiv.dialog({
            autoOpen: false,
            draggable: false,
            resizable: false,
            modal: true
        });

        messageDiv.dialog('open');

        return messageDiv;
    }

    obj.showModalWorkingDialog = function (title, text) {
        var mainDiv = $('#dialogHolder');
        mainDiv.empty();
        var messageDiv = $('<div/>').attr('id', 'dialog-message').attr('title', title);
        mainDiv.append(messageDiv);
        var p = $('<p/>').css('text-align', 'center');
        var loading = $('<div/>').addClass('loadingCircle');
        p.append(loading);
        p.append('<br/>');
        p.append(text);
        messageDiv.append(p);

        messageDiv.dialog({
            autoOpen: false,
            draggable: false,
            resizable: false,
            modal: true
        });

        messageDiv.dialog('open');

        return messageDiv;
    }

    obj.closeModalDialog = function (message) {
        if (message) {
            message.dialog('close');
        }
    }

    obj.showModalMessage = function (title, text, okAction) {
        var mainDiv = $('#dialogHolder');
        mainDiv.empty();
        var messageDiv = $('<div/>').attr('id', 'dialog-message').attr('title', title);
        mainDiv.append(messageDiv);
        var p = $('<p/>')
        $('<span/>').css('float', 'left').css('margin', '0px 7px 50px 0px').addClass('ui-icon ui-icon-circle-check').appendTo(p);
        p.append(text);
        messageDiv.append(p);

        messageDiv.dialog({
            autoOpen: false,
            draggable: false,
            resizable: false,
            modal: true,
            buttons: {
                Ok: function () {
                    $(this).dialog('close');
                    if (okAction) {
                        okAction();
                    }
                }
            }
        });

        messageDiv.dialog('open');
    }

    obj.showModalConfirm = function (title, text, okAction, cancelAction) {
        var mainDiv = $('#dialogHolder');
        mainDiv.empty();
        var messageDiv = $('<div/>').attr('id', 'dialog-message').attr('title', title);
        mainDiv.append(messageDiv);
        var p = $('<p/>')
        $('<span/>').css('float', 'left').css('margin', '0px 7px 20px 0px').addClass('ui-icon ui-icon-alert').appendTo(p);
        p.append(text);
        messageDiv.append(p);

        messageDiv.dialog({
            autoOpen: false,
            draggable: false,
            resizable: false,
            modal: true,
            buttons: {
                'Yes': function () {
                    $(this).dialog('close');

                    if (okAction) {
                        okAction();
                    }
                },
                Cancel: function () {
                    $(this).dialog('close');

                    if (cancelAction) {
                        cancelAction();
                    }
                }
            }
        });

        messageDiv.dialog('open');
    }


    return obj;
} ());

var AJAX = (function () {
    var obj = {};
    obj.rootPath = '';
    obj.url = '';
    // AJAX Request
    obj.request = function (url, opts) {
        var info = {
            data: null,
            success: function () { },
            failure: function () { },
            error: function (req, txt, err) {
                alert('AJAX.request - Error occurred.' + txt);
            }
        };
        if (!url || typeof url != 'string') {
            alert('AJAX.request - url missing/invalid');
        } else {
            obj.url = url;
        }
        if (opts) {
            if (opts.data) {
                info.data = opts.data;
            }
            if (opts.success) {
                info.success = opts.success;
            }
            if (opts.failure) {
                info.failure = opts.failure;
            }
            if (opts.error) {
                info.error = opts.error;
            }
        }

        $.ajax({
            url: obj.rootPath + obj.url,
            data: JSON.stringify(info.data),
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            type: 'POST',
            success: info.success,
            error: info.error
        });
    }
    return obj;
} ());





