function encodeRE(s) { return s.replace(/([.*+?^${}()|[\]\/\\])/g, '\\$1') }
TRIM_BOTH = 0;
TRIM_LEFT = 1;
TRIM_RIGHT = 2;
function trim(v, c, t) {
    if (!t) var t = TRIM_BOTH;
    if (!c) var c = '\\s';
    else c = encodeRE(c);
    var re;
    if (t == TRIM_BOTH) re = new RegExp('^' + c + '+|' + c + '+$', 'g');
    else if (t == TRIM_LEFT) re = new RegExp('^' + c + '+');
    else if (t == TRIM_RIGHT) re = new RegExp(c + '+$');
    return v.replace(re, '');
}
String.prototype.trim = function(c) { return trim(this, c, TRIM_BOTH); };
String.prototype.ltrim = function(c) { return trim(this, c, TRIM_LEFT); };
String.prototype.rtrim = function(c) { return trim(this, c, TRIM_RIGHT); };
function switchTab(e, ajaxUrl) {
    if (!e) var e = window.event;
    var base = e.target ? e.target : e.srcElement;
    // this should back out from a < li < ul < node
    while (base)
    {
        if (base.tagName == 'LI') break;
        base = base.parentNode;
    }
    $('li', base.parentNode).each(function(){
        var c = this.getAttribute('container');
        if (base.getAttribute('container') == c)
        {
            $(this).addClass('selected');
            var t = $('#tab_' + c);
            t.show();
            if (ajaxUrl && trim(t.html()) == '')
            {
                t.html('<p style="text-align:center;"><img src="' + STATIC_URL + '/images/loading.gif" alt="Loading..." /></p>');
                t.load(ajaxUrl);
            }
        }
        else
        {            
            $(this).removeClass('selected');
            $('#tab_' + c).hide();
        }
    });
    e.stopPropagation();
}
function SmartAdServer_iframe(sas_pageid,sas_formatid,sas_target,sas_w,sas_h) {
    if (sas_masterflag==1) {sas_masterflag=0;sas_master='M';} else {sas_master='S';};
    document.write('<IFRAME SRC="http://cocotiers.warhammeralliance.com/call/pubif/' + sas_pageid + '/' + sas_formatid + '/'+sas_master + '/' + sas_tmstp + '/' + escape(sas_target) + '?" width=' + sas_w + ' height=' + sas_h + ' marginwidth=0 marginheight=0 hspace=0 vspace=0 frameborder=0 scrolling=no>');
    document.write('<scr'+'ipt language=Javascr'+'ipt>\ndocument.write\(\'<SCR\'+\'IPT SRC="http://cocotiers.warhammeralliance.com/call/pubj/' + sas_pageid + '/' + sas_formatid + '/'+sas_master + '/' + sas_tmstp + '/' + escape(sas_target) + '?"></SCR\'+\'IPT>\'\)\;\n</scr'+'ipt>');
    document.write('</IFRAME>');
}
function SmartAdServer(sas_pageid,sas_formatid,sas_target) {
 if (sas_masterflag==1) {sas_masterflag=0;sas_master='M';} else {sas_master='S';};
 document.write('<SCR'+'IPT SRC="http://cocotiers.warhammeralliance.com/call/pubj/' + sas_pageid + '/' + sas_formatid + '/'+sas_master + '/' + sas_tmstp + '/' + escape(sas_target) + '?"></SCR'+'IPT>');
}
function ourLocation() {
    if (onPage != "" && onPage != null) {
        $('#nav-main-' + onPage).addClass('selected');
    }
    return true;
}
function bodyClick(url) {
    // Extends clickable area of BODY-tag not only to initial viewport render
    // However, #page-cover gets needs to inherit min-height and height of BODY-tag
    $('body').css({ 'min-height':'100%', 'height':'auto', 'cursor':'pointer' });
    $('#page-cover').css({ 'min-height':'100%', 'height':'auto', 'cursor':'default' });
    $('#header').css('cursor','pointer');
    $('#header div.hdbox').css('cursor','default');
    $('#page-cover').click(function(e) {
        var obj = (e.target ? e.target : e.srcElement);
        if (obj.id != 'page-cover') return true;
        window.open(url);
        return false;
    });
    $('#header').click(function(e) {
        var obj = (e.target ? e.target : e.srcElement);
        if (obj.id != 'header') return true;
        window.open(url);
        return false;
    });
}
