/*********************************/
/*******  Add events  ************/
function addEvent(obj, type, fn) {

    try {
        if (obj.attachEvent) {
            obj['e' + type + fn] = fn;
            obj[type + fn] = function() { obj['e' + type + fn](window.event); }
            obj.attachEvent('on' + type, obj[type + fn]);
        }
        else {
            obj.addEventListener(type, fn, false);
        }
    }
    catch (err) {
        alert(err.description)
    }
}
function removeEvent(obj, type, fn) {
    if (obj.detachEvent) {
        alert(type + fn)
        // obj.detachEvent( 'on'+type, obj[type+fn] ); 
        obj.detachEvent('on' + type, fn);
        obj[type + fn] = null;
    } else
        obj.removeEventListener(type, fn, false);
}
/*******  Add events  ************/
/*********************************/

function escapeHTML(text) {
    text = replace(text, '&', '&amp;');
    text = replace(text, '<', '&lt;');
    text = replace(text, '>', '&gt;');
    return text;
}

function parseQuery(qwFormat, type) {
    var string = (type) ? qwFormat : replace(qwFormat, '+', ' ');
    var map = new Array();
    var hashVal = new Array();
    var mpc = 0;
    var strt = 0;
    while (strt < string.length) {
        var left = string.substring(strt + 1, string.length);
        var chunk = left.substring(0, (left.indexOf('&') > -1) ? left.indexOf('&') : left.length);
        var nam = unescape(chunk.substring(0, chunk.indexOf('=')));
        var val = unescape(chunk.substring(chunk.indexOf('=') + 1, chunk.length));
        if (type != true) val = escapeHTML(val);
        if (hashVal[nam] == null) {
            map[mpc] = nam;
            hashVal[nam] = val;
            mpc++;
        } else hashVal[nam] += ' & ' + val;
        strt += chunk.length + 1;
    } return new Array(map, hashVal);
}


function getRandom() {
    var ranNum = Math.floor(Math.random() * 500000);
    return ranNum;
}

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);
}


/*********************************/

String.prototype.trim = function() {
    return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

/************************************/


/* Client-side access to querystring name=value pairs
Version 1.2.3
22 Jun 2005
Adam Vandenberg
*/
function Querystring(qs) { // optionally pass a querystring to parse
    this.params = new Object()
    this.get = Querystring_get

    if (qs == null)
        qs = location.search.substring(1, location.search.length)

    if (qs.length == 0) return

    // Turn <plus> back to <space>
    // See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1
    qs = qs.replace(/\+/g, ' ')
    var args = qs.split('&') // parse out name/value pairs separated via &

    // split out each name=value pair
    for (var i = 0; i < args.length; i++) {
        var value;
        var pair = args[i].split('=')
        var name = unescape(pair[0])

        if (pair.length == 2)
            value = unescape(pair[1])
        else
            value = name

        this.params[name] = value
    }
}

function Querystring_get(key, default_) {
    // This silly looking line changes UNDEFINED to NULL
    if (default_ == null) default_ = null;

    var value = this.params[key]
    if (value == null) value = default_;

    return value
}



function getRatingTypeTranlated(strType) {
    //ECOM, RECIPE, PAGE, NEWS, PARAGRAPH
    switch (strType.trim()) {
        case 'ECOM':
            return 'Produkter';
            break;
        case 'RECIPE':
            return 'Opskrift';
            break;
        case 'PAGE':
            return 'Side';
            break;
        case 'NEWS':
            return 'Nyhed';
            break;
        case 'PARAGRAPH':
            return 'Side';
            break;
        default:
            return 'Jeg ved det ikke';

    }
}



function isDigit(num) {
    if (num.length > 1) { return false; }
    var string = "1234567890";
    if (string.indexOf(num) != -1) { return true; }
    return false;
}



function IsNumeric(sText) {
    var ValidChars = "0123456789.";
    var IsNumber = true;
    var Char;
    for (i = 0; i < sText.length && IsNumber == true; i++) {
        Char = sText.charAt(i);
        if (ValidChars.indexOf(Char) == -1) {
            IsNumber = false;
        }
    }
    return IsNumber;

}



