
function del(msg){
    return confirm("Opravdu "+(msg || '')+" smazat?")
}

function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name,"",-1);
}

function $e(elem) {
    return document.getElementById(elem);
}
function DOMReady(f){
  if (/(?!.*?compatible|.*?webkit)^mozilla|opera/i.test(navigator.userAgent)){ // Feeling dirty yet?
    document.addEventListener("DOMContentLoaded", f, false);
  }  else {
    window.setTimeout(f,0);
  }
}
function usernameAt() {
    elems = document.getElementsByTagName('*')
    for (i in elems) {
        elem = elems[i]
        if (elem.className && (' '+elem.className+' ').search(' user ') > -1) {
            elem.innerHTML = elem.innerHTML.replace('☺','@')
        }
    }
}
/* string addon */
String.prototype.trim = function() { return (this.replace(/^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, "")) }
String.prototype.endswith = function(str) { return (this.match(str+"$")==str) }
String.prototype.startswith = function(str) { return (this.match("^"+str)==str) }

/* ticket */
/*
function crossLink() {
    var ticketserverList = []; // jeden ticket pro vice subdomen (session se sdili v teto globalni domene!)
    elems = document.getElementsByTagName('a');

    for (i in elems) {
        elem = elems[i]
        if (elem.className && (' '+elem.className+' ').search(' cross ') > -1) {
            if (elem.href.split(':')[0]=='http') {
                elem.onclick = function () {
                    hostname_port = this.href.split('/')[2]
                    hostname = hostname_port.split(':')[0]
                    //alert(hostname)
                    if (hostname.split('.')[0]=='ticket') { return }
                    var ticketserver = "ticket."+location.hostname
                    for (i in ticketserverList) {
                        var server = ticketserverList[i];
                        if (location.hostname.endswith(server)) {
                            ticketserver = "ticket."+server;
                            break;
                        }
                    }
                    this.href = "http://"+ticketserver+"/set?url="+escape(this.href)
                }
            }
        }
    }
}
*/
//DOMReady(crossLink)
DOMReady(usernameAt)

/* example: myJSON({url:'/ajax/queue', params:{fromId:LAST_ID}, name:'queue', callback:function(data) { alert(data) }} ) */
var MYJSON_REQ_MAP={}; // pro aborty
function myJSON(param) { //url,data,name,callback,errback) {
        if(param.name && MYJSON_REQ_MAP[param.name]) {
            MYJSON_REQ_MAP[param.name].abort()
        }
        if (!param.errback) {
            param.errback = function(XMLHttpRequest, textStatus, errorThrown){
                if (textStatus=='error') {
                    httpstatus = XMLHttpRequest.status
                }
                else {
                    httpstatus = '???'
                }
                $('#ajax-status').text('Chyba komunikace: status='+textStatus+' http status='+httpstatus)
            }
        }
        MYJSON_REQ_MAP[param.name] = $.ajax({
            name: param.name,
            type: "POST",
            url: param.url,
            dataType: "text",
            data: param.data,
            timeout: param.timeout || 4000,
            complete: function (XMLHttpRequest, textStatus) {
                MYJSON_REQ_MAP[this.name] = undefined;
            },
            dataFilter: function(text, type){
                var data = !(/[^,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]/.test( text.replace(/"(\\.|[^"\\])*"/g, ''))) && eval('(' + text + ')');       //"
                return data;
            },
            success: param.callback,
            error: param.errback
        });
}

