﻿/*!
* Common functions
* http://www.filesdiret.com/
*
* Copyright 2010, Kevin
*
* Date: 2010-06-11
*
* Attention:
* This script need jquery.
*/

//This function work on fancybox
function ShowMessage(mesType, title, message, closeParent) {
    if(closeParent)
        $.fancybox.close();
    //$("." + mesType + "Inner > P").html(message);
    $.fancybox("<div class='" + mesType + "'><div class='close' onclick=\"$.fancybox.close()\"></div><div class=\"" + mesType + "Inner\"><span>" + title + "</span><p>" + message + "</p></div></div>", {
        'width': 700,
        'height': 100,
        'scrolling': 'no',
        'titleShow': false,
        'showCloseButton': true,
        'titlePosition': 'inside',
        'autoDimensions': false,
        'transitionIn': 'none',
        'transitionOut': 'none',
        'autoScale': true
    });
    //setTimeout("$.fancybox.close()", 3000);
}

//This function work on fancybox too.
function CloseAndLogin() {
    $.fancybox.close();
    if ($.browser.mozilla) {
        var loc = window.location;
        var url = "" + loc.protocol + "//" + loc.host + "/info/login.aspx";
        window.location = url;
    }
    else
        window.location.href = "login.aspx";
}

String.Format = function () {
    if (arguments.length == 0)
        return '';

    if (arguments.length == 1)
        return arguments[0];

    var reg = /{(\d+)?}/g;
    var args = arguments;
    var result = arguments[0].replace(reg,
        function ($0, $1) {
            return args[parseInt($1) + 1];
        }
    );
    return result;
}

function jsonToString(obj) {
    var THIS = this;
    switch (typeof (obj)) {
        case 'string':
            return '"' + obj.replace(/(["\\])/g, '\\$1') + '"';
        case 'array':
            return '[' + obj.map(THIS.jsonToString).join(',') + ']';
        case 'object':
            if (obj instanceof Array) {
                var strArr = [];
                var len = obj.length;
                for (var i = 0; i < len; i++) {
                    strArr.push(THIS.jsonToString(obj[i]));
                }
                return '[' + strArr.join(',') + ']';
            } else if (obj == null || obj == undefined) {
                return 'null';
            } else {
                var string = [];
                for (var property in obj) string.push(THIS.jsonToString(property) + ':' + THIS.jsonToString(obj[property]));
                return '{' + string.join(',') + '}';
            }
        case 'boolean':
            if (obj) {
                return 'true';
            }
            else {
                return 'false';
            }

        case 'number':
            return obj;
        case false:
            return obj;
    }
}

//Remove Array Element by index
function remove(array, dx) {
    if (isNaN(dx) || dx > array.length || typeof (array) == "undefined") { return false; }
    for (var i = 0, n = 0; i < array.length; i++) {
        if (array[i] != array[dx]) {
            array[n++] = array[i]
        }
    }
    array.length -= 1
}


function isEmail(str) {
    var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/;
    return reg.test(str);
}

function closePopupAndFreshParentWindow() {
    parent.location.href = parent.location.href;
    parent.$.fancybox.close();
}
