MediaWiki:Common.js: Difference between revisions

m
no edit summary
mNo edit summary
mNo edit summary
Line 1: Line 1:
var usesClass = (function () {
var usesClass = (function() {
    var reCache = {};
    var reCache = {};
    return function (element, className) {
    return function(element, className) {
        return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
        return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
    };
    };
})();
})();
/*
/*
addOnloadHook(function(){
addOnloadHook(function(){
Line 20: Line 20:


addOnloadHook(function($) {
addOnloadHook(function($) {
return function() {
    return function() {
$('.tabdiv > div').hide();
        $('.tabdiv > div').hide();
$('.tabdiv').each(function() {
        $('.tabdiv').each(function() {
$(this).find('> ul li').addClass('inactive');
            $(this).find('> ul li').addClass('inactive');
$(this).find('> ul li:first').removeClass('inactive');
            $(this).find('> ul li:first').removeClass('inactive');
$(this).find('> ul li:first').addClass('active');
            $(this).find('> ul li:first').addClass('active');
$(this).find('> div:first').show();
            $(this).find('> div:first').show();
});
        });
$('.tabdiv > ul li').each(function() {
        $('.tabdiv > ul li').each(function() {
var a = $(this).find('a:first');
            var a = $(this).find('a:first');
var target = a.attr('href');
            var target = a.attr('href');
$(a).attr('href', ''); // Opera hates real hrefs
            $(a).attr('href', ''); // Opera hates real hrefs
$(this).click(function() {
            $(this).click(function() {
$(this).parent().find('> li').removeClass('active');
                $(this).parent().find('> li').removeClass('active');
$(this).parent().find('> li').addClass('inactive');
                $(this).parent().find('> li').addClass('inactive');
$(this).addClass('active');
                $(this).addClass('active');
$(this).removeClass('inactive');
                $(this).removeClass('inactive');
$(this).parent().parent().find('> div').hide();
                $(this).parent().parent().find('> div').hide();
                                $(target).show();
                $(target).show();
return false;
                return false;
});
            });
});
        });
}
    }
}(jQuery));
}(jQuery));


Line 52: Line 52:


/* Add a hook to make buttons, where need be, on every pageload */
/* Add a hook to make buttons, where need be, on every pageload */
addOnloadHook( createTableButtons );
addOnloadHook(createTableButtons);


/* Define global variables:
/* Define global variables:
Line 64: Line 64:


/* Define functions that do-the-work */
/* Define functions that do-the-work */
/* Function toggleTableView() toggles a specified table's view from minimized to maximized, or vice versa */  
/* Function toggleTableView() toggles a specified table's view from minimized to maximized, or vice versa */
function toggleTableView( tableIndex, tableShrink )
function toggleTableView(tableIndex, tableShrink) {
{
     var Table = document.getElementById("collapsibleTable" + tableIndex);
     var Table = document.getElementById( "collapsibleTable" + tableIndex );
     /* If there is no collapsible tables on the page, no need to do any shrinking */
     /* If there is no collapsible tables on the page, no need to do any shrinking */
     if (!Table) {
     if (!Table) {
      return false;
        return false;
     }
     }


     var Button = document.getElementById( "collapseButton" + tableIndex );
     var Button = document.getElementById("collapseButton" + tableIndex);
     /* If no collapsible buttons, no need to do any shrinking */
     /* If no collapsible buttons, no need to do any shrinking */
     if (!Button ) {
     if (!Button) {
         return false;
         return false;
     }
     }


     /* Grab the rows of the specified table */
     /* Grab the rows of the specified table */
     var Rows = Table.getElementsByTagName( "tr" );  
     var Rows = Table.getElementsByTagName("tr");


     /* Do the hiding/unhiding */
     /* Do the hiding/unhiding */
     if ( Button.firstChild.data == minimizeSymbol || tableShrink == 1 ) {
     if (Button.firstChild.data == minimizeSymbol || tableShrink == 1) {
         /* if the button is set to minimize its contents,  
         /* if the button is set to minimize its contents,  
         * then loop through the rows and mark them hidden */
         * then loop through the rows and mark them hidden */
         var count = 1;
         var count = 1;
         while (Rows.length > count) {
         while (Rows.length > count) {
          if (Rows[count].parentNode.parentNode.id == ("collapsibleTable" + tableIndex))
            if (Rows[count].parentNode.parentNode.id == ("collapsibleTable" + tableIndex)) {
          {
                Rows[count].style.display = "none";
            Rows[count].style.display = "none";
            }
          }
            count++;
          count++;
         }
         }
         /* After marking, change the table to show the maximize symbol */
         /* After marking, change the table to show the maximize symbol */
Line 98: Line 96:
     } else {
     } else {
         /* if the button is set to maximize its contents,  
         /* if the button is set to maximize its contents,  
         * then loop through the rows and mark them visible */    
         * then loop through the rows and mark them visible */
         var count = 1;
         var count = 1;
         while (Rows.length > count) {
         while (Rows.length > count) {
          if(Rows[count].parentNode.parentNode.id == ("collapsibleTable" + tableIndex))
            if (Rows[count].parentNode.parentNode.id == ("collapsibleTable" + tableIndex)) {
          {
                Rows[count].style.display = Rows[0].style.display;
              Rows[count].style.display = Rows[0].style.display;
            }
          }
            count++;
          count++;
         }
         }
         /* After marking, change the table to show the minimize symbol */
         /* After marking, change the table to show the minimize symbol */
Line 114: Line 111:
/* Funtion createTableButtons() creates the plus or minus symbol and alignment text
/* Funtion createTableButtons() creates the plus or minus symbol and alignment text
  * to be applied on collapsible tables */
  * to be applied on collapsible tables */
function createTableButtons()
function createTableButtons() {
{
     /* Define local variables */
     /* Define local variables */
     var tableIndex = 0;
     var tableIndex = 0;
     var NavBoxes = new Object();
     var NavBoxes = new Object();
     var Tables = document.getElementsByTagName( "table" );
     var Tables = document.getElementsByTagName("table");


     /* Use two count variables to handle cases where continue is used */
     /* Use two count variables to handle cases where continue is used */
     var loopcount = 0;
     var loopcount = 0;
     var count = 0;  
     var count = 0;
     while (Tables.length > loopcount) {
     while (Tables.length > loopcount) {
         /* For all collapsible table on the page, this code goes through
         /* For all collapsible table on the page, this code goes through
Line 129: Line 125:
         count = loopcount;
         count = loopcount;
         loopcount++;
         loopcount++;
         if ( usesClass( Tables[count], "collapsible" ) ) {
         if (usesClass(Tables[count], "collapsible")) {


             /* Proceed only if a header row and header exist */
             /* Proceed only if a header row and header exist */
             var HeaderRow = Tables[count].getElementsByTagName( "tr" )[0];
             var HeaderRow = Tables[count].getElementsByTagName("tr")[0];
             if (!HeaderRow) continue;
             if (!HeaderRow) continue;
             var Header = HeaderRow.getElementsByTagName( "th" )[0];
             var Header = HeaderRow.getElementsByTagName("th")[0];
             if (!Header) continue;
             if (!Header) continue;


             /* Log where you are in the looping */
             /* Log where you are in the looping */
             NavBoxes[ tableIndex ] = Tables[count];
             NavBoxes[tableIndex] = Tables[count];


             /* Set the identifier of the table being edited in this iteration */
             /* Set the identifier of the table being edited in this iteration */
             Tables[count].setAttribute( "id", "collapsibleTable" + tableIndex );
             Tables[count].setAttribute("id", "collapsibleTable" + tableIndex);


             /* Create the button assuming it is a minimized table
             /* Create the button assuming it is a minimized table
             * to do the initial creation. */
             * to do the initial creation. */
             var Button = document.createElement( "span" );
             var Button = document.createElement("span");
             var ButtonLink = document.createElement( "a" );
             var ButtonLink = document.createElement("a");
             var ButtonText = document.createTextNode( maximizeSymbol );
             var ButtonText = document.createTextNode(maximizeSymbol);


             /* Define where the button floats and its font and size.
             /* Define where the button floats and its font and size.
Line 158: Line 154:
             Button.style.textAlign = "right";
             Button.style.textAlign = "right";
             Button.style.width = "5em";
             Button.style.width = "5em";
Button.style.color = "white";
            Button.style.color = "white";




             /* Set the link color and identifier */
             /* Set the link color and identifier */
             ButtonLink.style.color = Header.style.color;
             ButtonLink.style.color = Header.style.color;
ButtonLink.style.color = "white";
            ButtonLink.style.color = "white";
             ButtonLink.setAttribute( "id", "collapseButton" + tableIndex );
             ButtonLink.setAttribute("id", "collapseButton" + tableIndex);


             /* Set the destination of the button */
             /* Set the destination of the button */
             ButtonLink.setAttribute( "href", "javascript:toggleTableView(" + tableIndex + ");" );
             ButtonLink.setAttribute("href", "javascript:toggleTableView(" + tableIndex + ");");
             ButtonLink.appendChild( ButtonText );
             ButtonLink.appendChild(ButtonText);
             Button.appendChild( document.createTextNode( "[" ) );
             Button.appendChild(document.createTextNode("["));
             Button.appendChild( ButtonLink );
             Button.appendChild(ButtonLink);
             Button.appendChild( document.createTextNode( "]" ) );
             Button.appendChild(document.createTextNode("]"));




             /* Load the next header and table for the next iteration */
             /* Load the next header and table for the next iteration */
             Header.insertBefore( Button, Header.childNodes[0] );
             Header.insertBefore(Button, Header.childNodes[0]);
             tableIndex++;
             tableIndex++;
         }
         }
Line 186: Line 182:
     while (tableIndex > loopcount) {
     while (tableIndex > loopcount) {
         /* If autocollapse or collapse is not invalid, maximize; otherwise, minimize */
         /* If autocollapse or collapse is not invalid, maximize; otherwise, minimize */
         if (((autoShrink > tableIndex) && usesClass( NavBoxes[loopcount], "autocollapse" )) || !usesClass( NavBoxes[loopcount], "collapsed" ) ) {
         if (((autoShrink > tableIndex) && usesClass(NavBoxes[loopcount], "autocollapse")) || !usesClass(NavBoxes[loopcount], "collapsed")) {
          toggleTableView( loopcount, 0 );
            toggleTableView(loopcount, 0);
         }
         } else {
        else {
            toggleTableView(loopcount, 1);
          toggleTableView( loopcount, 1 );
         }
         }
         loopcount++;
         loopcount++;
Line 199: Line 194:
   Source: http://webdesign.html.it/articoli/leggi/528/more-nifty-corners */
   Source: http://webdesign.html.it/articoli/leggi/528/more-nifty-corners */


function NiftyCheck(){
function NiftyCheck() {
if(!document.getElementById || !document.createElement)
    if (!document.getElementById || !document.createElement)
    return(false);
        return (false);
isXHTML=/html\:/.test(document.getElementsByTagName('body')[0].nodeName);
    isXHTML = /html\:/.test(document.getElementsByTagName('body')[0].nodeName);
if(Array.prototype.push==null){Array.prototype.push=function(){
    if (Array.prototype.push == null) {
      this[this.length]=arguments[0]; return(this.length);}}
        Array.prototype.push = function() {
return(true);
            this[this.length] = arguments[0];
            return (this.length);
        }
    }
    return (true);
}
}


function Rounded(selector,wich,bk,color,opt){
function Rounded(selector, wich, bk, color, opt) {
var i,prefixt,prefixb,cn="r",ecolor="",edges=false,eclass="",b=false,t=false;
    var i, prefixt, prefixb, cn = "r",
        ecolor = "",
        edges = false,
        eclass = "",
        b = false,
        t = false;


if(color=="transparent"){
    if (color == "transparent") {
    cn=cn+"x";
        cn = cn + "x";
    ecolor=bk;
        ecolor = bk;
    bk="transparent";
        bk = "transparent";
     }
     } else if (opt && opt.indexOf("border") >= 0) {
else if(opt && opt.indexOf("border")>=0){
        var optar = opt.split(" ");
    var optar=opt.split(" ");
        for (i = 0; i < optar.length; i++)
    for(i=0;i<optar.length;i++)
            if (optar[i].indexOf("#") >= 0) ecolor = optar[i];
        if(optar[i].indexOf("#")>=0) ecolor=optar[i];
        if (ecolor == "") ecolor = "#666";
    if(ecolor=="") ecolor="#666";
        cn += "e";
    cn+="e";
        edges = true;
    edges=true;
     } else if (opt && opt.indexOf("smooth") >= 0) {
     }
        cn += "a";
else if(opt && opt.indexOf("smooth")>=0){
        ecolor = Mix(bk, color);
    cn+="a";
    ecolor=Mix(bk,color);
    }
if(opt && opt.indexOf("small")>=0) cn+="s";
prefixt=cn;
prefixb=cn;
if(wich.indexOf("all")>=0){t=true;b=true}
else if(wich.indexOf("top")>=0) t="true";
else if(wich.indexOf("tl")>=0){
    t="true";
    if(wich.indexOf("tr")<0) prefixt+="l";
     }
     }
else if(wich.indexOf("tr")>=0){
    if (opt && opt.indexOf("small") >= 0) cn += "s";
    t="true";
    prefixt = cn;
    prefixt+="r";
    prefixb = cn;
    if (wich.indexOf("all") >= 0) {
        t = true;
        b = true
    } else if (wich.indexOf("top") >= 0) t = "true";
    else if (wich.indexOf("tl") >= 0) {
        t = "true";
        if (wich.indexOf("tr") < 0) prefixt += "l";
    } else if (wich.indexOf("tr") >= 0) {
        t = "true";
        prefixt += "r";
     }
     }
if(wich.indexOf("bottom")>=0) b=true;
    if (wich.indexOf("bottom") >= 0) b = true;
else if(wich.indexOf("bl")>=0){
    else if (wich.indexOf("bl") >= 0) {
    b="true";
        b = "true";
    if(wich.indexOf("br")<0) prefixb+="l";
        if (wich.indexOf("br") < 0) prefixb += "l";
    } else if (wich.indexOf("br") >= 0) {
        b = "true";
        prefixb += "r";
     }
     }
else if(wich.indexOf("br")>=0){
     var v = getElementsBySelector(selector);
     b="true";
    var l = v.length;
    prefixb+="r";
    for (i = 0; i < l; i++) {
    }
        if (edges) AddBorder(v[i], ecolor);
var v=getElementsBySelector(selector);
        if (t) AddTop(v[i], bk, color, ecolor, prefixt);
var l=v.length;
        if (b) AddBottom(v[i], bk, color, ecolor, prefixb);
for(i=0;i<l;i++){
    if(edges) AddBorder(v[i],ecolor);
    if(t) AddTop(v[i],bk,color,ecolor,prefixt);
    if(b) AddBottom(v[i],bk,color,ecolor,prefixb);
     }
     }
}
}


function AddBorder(el,bc){
function AddBorder(el, bc) {
var i;
    var i;
if(!el.passed){
    if (!el.passed) {
    if(el.childNodes.length==1 && el.childNodes[0].nodeType==3){
        if (el.childNodes.length == 1 && el.childNodes[0].nodeType == 3) {
        var t=el.firstChild.nodeValue;
            var t = el.firstChild.nodeValue;
        el.removeChild(el.lastChild);
            el.removeChild(el.lastChild);
        var d=CreateEl("span");
            var d = CreateEl("span");
        d.style.display="block";
            d.style.display = "block";
        d.appendChild(document.createTextNode(t));
            d.appendChild(document.createTextNode(t));
        el.appendChild(d);
            el.appendChild(d);
         }
         }
    for(i=0;i<el.childNodes.length;i++){
        for (i = 0; i < el.childNodes.length; i++) {
        if(el.childNodes[i].nodeType==1){
            if (el.childNodes[i].nodeType == 1) {
            el.childNodes[i].style.borderLeft="1px solid "+bc;
                el.childNodes[i].style.borderLeft = "1px solid " + bc;
            el.childNodes[i].style.borderRight="1px solid "+bc;
                el.childNodes[i].style.borderRight = "1px solid " + bc;
             }
             }
         }
         }
     }
     }
el.passed=true;
    el.passed = true;
}
}
   
function AddTop(el,bk,color,bc,cn){
var i,lim=4,d=CreateEl("b");


if(cn.indexOf("s")>=0) lim=2;
function AddTop(el, bk, color, bc, cn) {
if(bc) d.className="artop";
    var i, lim = 4,
else d.className="rtop";
        d = CreateEl("b");
d.style.backgroundColor=bk;
 
for(i=1;i<=lim;i++){
    if (cn.indexOf("s") >= 0) lim = 2;
    var x=CreateEl("b");
    if (bc) d.className = "artop";
    x.className=cn + i;
    else d.className = "rtop";
    x.style.backgroundColor=color;
    d.style.backgroundColor = bk;
    if(bc) x.style.borderColor=bc;
    for (i = 1; i <= lim; i++) {
    d.appendChild(x);
        var x = CreateEl("b");
        x.className = cn + i;
        x.style.backgroundColor = color;
        if (bc) x.style.borderColor = bc;
        d.appendChild(x);
     }
     }
el.style.paddingTop=0;
    el.style.paddingTop = 0;
el.insertBefore(d,el.firstChild);
    el.insertBefore(d, el.firstChild);
}
}


function AddBottom(el,bk,color,bc,cn){
function AddBottom(el, bk, color, bc, cn) {
var i,lim=4,d=CreateEl("b");
    var i, lim = 4,
        d = CreateEl("b");


if(cn.indexOf("s")>=0) lim=2;
    if (cn.indexOf("s") >= 0) lim = 2;
if(bc) d.className="artop";
    if (bc) d.className = "artop";
else d.className="rtop";
    else d.className = "rtop";
d.style.backgroundColor=bk;
    d.style.backgroundColor = bk;
for(i=lim;i>0;i--){
    for (i = lim; i > 0; i--) {
    var x=CreateEl("b");
        var x = CreateEl("b");
    x.className=cn + i;
        x.className = cn + i;
    x.style.backgroundColor=color;
        x.style.backgroundColor = color;
    if(bc) x.style.borderColor=bc;
        if (bc) x.style.borderColor = bc;
    d.appendChild(x);
        d.appendChild(x);
     }
     }
el.style.paddingBottom=0;
    el.style.paddingBottom = 0;
el.appendChild(d);
    el.appendChild(d);
}
}


function CreateEl(x){
function CreateEl(x) {
if(isXHTML) return(document.createElementNS('http://www.w3.org/1999/xhtml',x));
    if (isXHTML) return (document.createElementNS('http://www.w3.org/1999/xhtml', x));
else return(document.createElement(x));
    else return (document.createElement(x));
}
}


function getElementsBySelector(selector){
function getElementsBySelector(selector) {
var i,selid="",selclass="",tag=selector,f,s=[],objlist=[];
    var i, selid = "",
        selclass = "",
        tag = selector,
        f, s = [],
        objlist = [];


if(selector.indexOf(" ")>0){ //descendant selector like "tag#id tag"
    if (selector.indexOf(" ") > 0) { //descendant selector like "tag#id tag"
    s=selector.split(" ");
        s = selector.split(" ");
    var fs=s[0].split("#");
        var fs = s[0].split("#");
    if(fs.length==1) return(objlist);
        if (fs.length == 1) return (objlist);
    f=document.getElementById(fs[1]);
        f = document.getElementById(fs[1]);
    if(f) return(f.getElementsByTagName(s[1]));
        if (f) return (f.getElementsByTagName(s[1]));
    return(objlist);
        return (objlist);
     }
     }
if(selector.indexOf("#")>0){ //id selector like "tag#id"
    if (selector.indexOf("#") > 0) { //id selector like "tag#id"
    s=selector.split("#");
        s = selector.split("#");
    tag=s[0];
        tag = s[0];
    selid=s[1];
        selid = s[1];
     }
     }
if(selid!=""){
    if (selid != "") {
    f=document.getElementById(selid);
        f = document.getElementById(selid);
    if(f) objlist.push(f);
        if (f) objlist.push(f);
    return(objlist);
        return (objlist);
     }
     }
if(selector.indexOf(".")>0){ //class selector like "tag.class"
    if (selector.indexOf(".") > 0) { //class selector like "tag.class"
    s=selector.split(".");
        s = selector.split(".");
    tag=s[0];
        tag = s[0];
    selclass=s[1];
        selclass = s[1];
     }
     }
var v=document.getElementsByTagName(tag); // tag selector like "tag"
    var v = document.getElementsByTagName(tag); // tag selector like "tag"
if(selclass=="")
    if (selclass == "")
    return(v);
        return (v);
for(i=0;i<v.length;i++){
    for (i = 0; i < v.length; i++) {
    if(v[i].className.indexOf(selclass)>=0){
        if (v[i].className.indexOf(selclass) >= 0) {
        objlist.push(v[i]);
            objlist.push(v[i]);
         }
         }
     }
     }
return(objlist);
    return (objlist);
}
}


function Mix(c1,c2){
function Mix(c1, c2) {
var i,step1,step2,x,y,r=new Array(3);
    var i, step1, step2, x, y, r = new Array(3);
if(c1.length==4)step1=1;
    if (c1.length == 4) step1 = 1;
else step1=2;
    else step1 = 2;
if(c2.length==4) step2=1;
    if (c2.length == 4) step2 = 1;
else step2=2;
    else step2 = 2;
for(i=0;i<3;i++){
    for (i = 0; i < 3; i++) {
    x=parseInt(c1.substr(1+step1*i,step1),16);
        x = parseInt(c1.substr(1 + step1 * i, step1), 16);
    if(step1==1) x=16*x+x;
        if (step1 == 1) x = 16 * x + x;
    y=parseInt(c2.substr(1+step2*i,step2),16);
        y = parseInt(c2.substr(1 + step2 * i, step2), 16);
    if(step2==1) y=16*y+y;
        if (step2 == 1) y = 16 * y + y;
    r[i]=Math.floor((x*50+y*50)/100);
        r[i] = Math.floor((x * 50 + y * 50) / 100);
     }
     }
return("#"+r[0].toString(16)+r[1].toString(16)+r[2].toString(16));
    return ("#" + r[0].toString(16) + r[1].toString(16) + r[2].toString(16));
}
}


function doRoundEdges(){
function doRoundEdges() {
  if(!NiftyCheck())
    if (!NiftyCheck())
    return;
        return;
  Rounded("div#nifty","all","#FFF","#D4DDFF","smooth");
    Rounded("div#nifty", "all", "#FFF", "#D4DDFF", "smooth");
}
}


addOnloadHook( doRoundEdges );
addOnloadHook(doRoundEdges);




Line 408: Line 416:
//
//
function setStyleById(i, p, v) {
function setStyleById(i, p, v) {
var n = document.getElementById(i);
    var n = document.getElementById(i);
n.style[p] = v;
    n.style[p] = v;
}
}


/* Add a hook to perform code on every pageload */
/* Add a hook to perform code on every pageload */
addOnloadHook( performIE );
addOnloadHook(performIE);
function performIE()
 
{  
function performIE() {
     if ( -1 != navigator.userAgent.indexOf ("MSIE") ) {
     if (-1 != navigator.userAgent.indexOf("MSIE")) {
         /* perform Microsoft Internet Explorer-specific subs */
         /* perform Microsoft Internet Explorer-specific subs */
         var Divs = document.getElementsByTagName( "div" );
         var Divs = document.getElementsByTagName("div");
         var divCnt = 0;
         var divCnt = 0;
         var divID = "";
         var divID = "";
Line 424: Line 432:
             var CurrDiv = Divs[0];
             var CurrDiv = Divs[0];
             var s = "";
             var s = "";
             while (Divs.length > divCnt) {  
             while (Divs.length > divCnt) {
                 s = eval("CurrDiv.style.ietop");
                 s = eval("CurrDiv.style.ietop");
                 if ((s != "") && (s != null)) {
                 if ((s != "") && (s != null)) {
                     divID = "mapDiv" + divCnt;
                     divID = "mapDiv" + divCnt;
                     CurrDiv.setAttribute( "id", divID );
                     CurrDiv.setAttribute("id", divID);
                     setStyleById(divID, "top", CurrDiv.style.ietop);
                     setStyleById(divID, "top", CurrDiv.style.ietop);
                 }
                 }
Line 436: Line 444:
         }
         }
     }
     }
}  
}


//Get Ad Dart Number
//Get Ad Dart Number
var randDARTNumber=0;
var randDARTNumber = 0;
function genSetRandDARTNumber()
 
{
function genSetRandDARTNumber() {
randDARTNumber = Math.round(Math.random()*1000000000000);
    randDARTNumber = Math.round(Math.random() * 1000000000000);
}
}
genSetRandDARTNumber();
genSetRandDARTNumber();
Line 460: Line 468:


/****************************** Common Gradient ******************************/
/****************************** Common Gradient ******************************/
$(function(){
$(function() {
     var rainbowList = $('table > tbody > tr[style*=rainbow]');
     var rainbowList = $('table > tbody > tr[style*=rainbow]');
     var headerList = $('table > tbody > tr').has('> th').filter(function(){
     var headerList = $('table > tbody > tr').has('> th').filter(function() {
         return $(this).children('td').length == 0;
         return $(this).children('td').length == 0;
     }).filter(function(){
     }).filter(function() {
         return $.inArray(this, rainbowList) == -1;
         return $.inArray(this, rainbowList) == -1;
     }).children('th');
     }).children('th');
     headerList.each(function(){
     headerList.each(function() {
         var bgc = $(this).css('background-color');
         var bgc = $(this).css('background-color');
         if(bgc != 'rgba(0, 0, 0, 0)' && bgc != 'transparent'){ /* Chrome & FF transparent hack */
         if (bgc != 'rgba(0, 0, 0, 0)' && bgc != 'transparent') { /* Chrome & FF transparent hack */
             $(this).css('background-image', 'linear-gradient(to bottom, #eee, ' + bgc + ')');
             $(this).css('background-image', 'linear-gradient(to bottom, #eee, ' + bgc + ')');
         }
         }
Line 476: Line 484:
         'backgroundColor': 'orange'
         'backgroundColor': 'orange'
     });
     });
/*
    /*
    $('table.odd-stripe > tbody > tr:has(td):').css('background-color', function(){
        $('table.odd-stripe > tbody > tr:has(td):').css('background-color', function(){
        return $(this).parent().parent().css('background-color');
            return $(this).parent().parent().css('background-color');
    });
        });
    $('table.odd-strip').css('background-color', 'transparent');
        $('table.odd-strip').css('background-color', 'transparent');
*/
    */
});
});


/**** Persist Header H2 ****/
/**** Persist Header H2 ****/