
function strip_tags (str, allowed_tags) {
    // Strips HTML and PHP tags from a string  
    // 
    // version: 909.322
    // discuss at: http://phpjs.org/functions/strip_tags    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Luke Godfrey
    // +      input by: Pul
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Onno Marsman    // +      input by: Alex
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: Marc Palau
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: Brett Zamir (http://brett-zamir.me)    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Eric Nagel
    // +      input by: Bobby Drake
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Tomasz Wesolowski    // *     example 1: strip_tags('<p>Kevin</p> <b>van</b> <i>Zonneveld</i>', '<i><b>');
    // *     returns 1: 'Kevin <b>van</b> <i>Zonneveld</i>'
    // *     example 2: strip_tags('<p>Kevin <img src="someimage.png" onmouseover="someFunction()">van <i>Zonneveld</i></p>', '<p>');
    // *     returns 2: '<p>Kevin van Zonneveld</p>'
    // *     example 3: strip_tags("<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>", "<a>");    // *     returns 3: '<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>'
    // *     example 4: strip_tags('1 < 5 5 > 1');
    // *     returns 4: '1 < 5 5 > 1'
    var key = '', allowed = false;
    var matches = [];    var allowed_array = [];
    var allowed_tag = '';
    var i = 0;
    var k = '';
    var html = ''; 
    var replacer = function (search, replace, str) {
        return str.split(search).join(replace);
    };
     // Build allowes tags associative array
    if (allowed_tags) {
        allowed_array = allowed_tags.match(/([a-zA-Z0-9]+)/gi);
    }
     str += '';
 
    // Match tags
    matches = str.match(/(<\/?[\S][^>]*>)/gi);
     // Go through all HTML tags
    for (key in matches) {
        if (isNaN(key)) {
            // IE7 Hack
            continue;        }
 
        // Save HTML tag
        html = matches[key].toString();
         // Is tag not in allowed list? Remove from str!
        allowed = false;
 
        // Go through all allowed tags
        for (k in allowed_array) {            // Init
            allowed_tag = allowed_array[k];
            i = -1;
 
            if (i != 0) { i = html.toLowerCase().indexOf('<'+allowed_tag+'>');}            if (i != 0) { i = html.toLowerCase().indexOf('<'+allowed_tag+' ');}
            if (i != 0) { i = html.toLowerCase().indexOf('</'+allowed_tag)   ;}
 
            // Determine
            if (i == 0) {                allowed = true;
                break;
            }
        }
         if (!allowed) {
            str = replacer(html, "", str); // Custom replace. No regexing
        }
    }

  
     return str;
}
function trim_th(str) {
    return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
}

function reloadAddress(status) {

    var address = "";
    var queryString = "";

    if (location.href.indexOf("?") == -1) {
        address = location.href;
        queryString = "";
    }
    else {
        address = location.href.substr(0, location.href.indexOf("?"));
        queryString = location.href.substr(location.href.indexOf("?") + 1, location.href.length);
    }
    var newAddress = address + "?";

    queryParams = queryString.split("&");
    for (var i = 0; i < queryParams.length; i++) {
        if (queryParams[i].indexOf("status") == -1)
            newAddress += queryParams[i] + "&";
    }

    newAddress += "status=" + status;

    document.location.href = newAddress;
}

function reloadAddress1(status, remove_all_params) {

    var address = "";
    var queryString = "";

    if (location.href.indexOf("?") == -1) {
        address = location.href;
        queryString = "";
    }
    else {
        address = location.href.substr(0, location.href.indexOf("?"));
        queryString = location.href.substr(location.href.indexOf("?") + 1, location.href.length);
    }
    var newAddress = address + "?";

    queryParams = queryString.split("&");
    var param = status.substr(0, status.indexOf("="));
    var value = status.substr(status.indexOf("=") + 1, status.length);

    if (remove_all_params == true) {

        document.location.href = newAddress + param + "=" + value;
    }

    for (var i = 0; i < queryParams.length; i++) {
        if (queryParams[i].indexOf(param) == -1)
            newAddress += queryParams[i] + "&";
    }

    newAddress += param + "=" + value;

    document.location.href = newAddress;
}

function reloadAddress2(address, query_param) {
    document.location.href = "<?=SITE_URL?>" + address + "?" + query_param;
}
