function goBack() {history.go(-1);}

function goTo(url) {window.location.href = url;}

function waitThenGoTo(url,time) {
    if(time < 100) time = time * 1000;
    setTimeout("goTo('"+url+"')",time);
}

function waitThenGoBack(time) {
	if(time < 1000) time = time * 1000;
	setTimeout('goBack()',time);
}

function reloadSite() {window.reload();}

function isInt(sText) {
    var ValidChars = "0123456789";
    var isInt=true;
    var Char;

    for (i = 0; i < sText.length && isInt == true; i++) {
        Char = sText.charAt(i);
        if (ValidChars.indexOf(Char) == -1) isInt = false;
    }
    return isInt;
}

function isHex(sText) {
    var ValidChars = "0123456789ABCDEF";
    var isHex=true;
    var Char;
    sText = sText.toUpperCase();

    for (i = 0; i < sText.length && isHex == true; i++) {
        Char = sText.charAt(i);
        if (ValidChars.indexOf(Char) == -1) isHex = false;
    }
    return isHex;
}

function noLeadingZero(input) {
    if((input.length > 1) && (input.substr(0,1) == "0")) return input.substr(1);
    else return input;
}

function datetounixtime(hour, minute, second, month, day, year) {
    var humDate = new Date(Date.UTC(year, (noLeadingZero(month)-1),
     noLeadingZero(day), noLeadingZero(hour), noLeadingZero(minute), noLeadingZero(second)));
    return (humDate.getTime()/1000.0);
}

function ucfirst(str) {
    str += '';
    var f = str.charAt(0).toUpperCase();
    return f + str.substr(1);
}

/**
 * Function : dump()
 * Arguments: The data - array,hash(associative array),object
 *    The level - OPTIONAL
 * Returns  : The textual representation of the array.
 * This function was inspired by the print_r function of PHP.
 * This will accept some data as the argument and return a
 * text that will be a more readable version of the
 * array/hash/object that is given.
 * Docs: http://www.openjs.com/scripts/others/dump_function_php_print_r.php
 */
function dump(arr,level) {
    var dumped_text = "";
    if(!level) level = 0;

    //The padding given at the beginning of the line.
    var level_padding = "";
    for(var j=0;j<level+1;j++) level_padding += "    ";

    if(typeof(arr) == 'object') { //Array/Hashes/Objects
        for(var item in arr) {
            var value = arr[item];

            if(typeof(value) == 'object') { //If it is an array,
                dumped_text += level_padding + "'" + item + "' ...\n";
                dumped_text += dump(value,level+1);
            } else {
                dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
            }
        }
    } else { //Stings/Chars/Numbers etc.
        dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
    }
    return dumped_text;
}

var system = new function() {
    this.basepath = "/";

    this.setBasepath = function(basepath) {
        this.basepath = basepath;
    }
}

$(function() {
    //TinyMCE
    /*$("textarea").tinymce({
        script_url : "/js/tiny_mce/tiny_mce.js",
        theme : "simple"
    });*/
    $.ajaxSetup({
       type: "POST",
       timeout: 10000,
       traditional: true
    });
});
