//Add-On Core Code (Remove when not using any add-on's)
document.write('<style type="text/css">.qmfv{visibility:visible !important;}.qmfh{visibility:hidden !important;}</style><script type="text/javascript">qmad=new Object();qmad.bvis="";qmad.bhide="";</script>');

/*******  Menu 0 Add-On Settings *******/
var a = qmad.qm0 = new Object();

// Sub Menu Fade Animation Add On
a.fade_in_frames = 20;
a.fade_out_frames = 20;

// Rounded Corners Add On
a.rcorner_size = 6;
a.rcorner_border_color = "#0570E7";
a.rcorner_bg_color = "#D8EEFD";
a.rcorner_apply_corners = new Array(false,true,true,true);
a.rcorner_top_line_auto_inset = true;

// Rounded Items Add On
a.ritem_size = 4;
a.ritem_apply = "main";
a.ritem_main_apply_corners = new Array(true,true,false,false);
a.ritem_show_on_actives = true;

// Core QuickMenu Code
var qm_si,qm_li,qm_lo,qm_tt,qm_th,qm_ts,qm_la,qm_ic,qm_ib,qm_ff;
var qp = "parentNode";
var qc = "className";
var qm_t = navigator.userAgent;
var qm_o = qm_t.indexOf("Opera")+1;
var qm_s = qm_t.indexOf("afari")+1;
var qm_s2 = qm_s&&qm_t.indexOf("ersion/2")+1;
var qm_s3 = qm_s&&qm_t.indexOf("ersion/3")+1;
var qm_n = qm_t.indexOf("Netscape")+1;
var qm_v = parseFloat(navigator.vendorSub);;

/* You can change these values */
var image_path = "Images/";
var image_up = "arrowup.gif";
var image_down = "arrowdown.gif";
var image_none = "arrownone.gif";
var europeandate = false;

var alternate_row_colors = true;

/* Don't change anything below this unless you know what you're doing */
addEvent(window,"load",sortables_init);


var SORT_COLUMN_INDEX;
var thead = false;



/**********************************************************************************************************************************************/
/**********************************************************************************************************************************************/
/**********************************************************************************************************************************************/

/* 
Table sorting script  by Joost de Valk,
 check it out at http://www.joostdevalk.nl/code/sortable-table/.

Based on a script from http://www.kryogenix.org/code/browser/sorttable/.

Distributed under the MIT license: http://www.kryogenix.org/code/browser/licence.html.

Copyright (c) 1997-2007 Stuart Langridge, Joost de Valk.

Version 1.5.7
 */


/**********************************************************************************************************************************************/

// Function: sortables_init
function sortables_init()
{
   // Find all tables with class sortable and make them sortable
   if (!document.getElementsByTagName) return;
   tbls = document.getElementsByTagName("table");

   for (ti=0;ti<tbls.length;ti++)
   {

      thisTbl = tbls[ti];
      if (((' '+thisTbl.className+' ').indexOf("sortable") != -1) && (thisTbl.id))
      {
         ts_makeSortable(thisTbl);
      }
   }
}


/**********************************************************************************************************************************************/

// Function: ts_makeSortable
function ts_makeSortable(t)
{
   if ((t.rows) && (t.rows.length > 0))
   {

      if ((t.tHead) && (t.tHead.rows.length > 0))
      {
         var firstRow = t.tHead.rows[t.tHead.rows.length-1];
         thead = true;
      }
      else
      {
         var firstRow = t.rows[0];

      }
   }

   if (!firstRow) return;

   // We have a first row: assume it's the header, and make its contents clickable links

   for (var i=0;i<firstRow.cells.length;i++)
   {
      var cell = firstRow.cells[i];
      var txt = ts_getInnerText(cell);
      if (cell.className != "unsortable" && cell.className.indexOf("unsortable") == -1)
      {
         cell.innerHTML = '<a href="#" class="sortheader" onclick="ts_resortTable(this,'+i+');return false;">'+txt+'<span class="sortarrow">&nbsp;&nbsp;<img src="'+image_path+image_none+'" alt="&darr;"/></span></a>';

      }

   }
   
   if (alternate_row_colors)
   {
      alternate(t);
   }
}


/**********************************************************************************************************************************************/

// Function: ts_getInnerText
function ts_getInnerText(el)
{
   if (typeof el == "string") return el;

   if (typeof el == "undefined")
   {
      return el
   };

   if (el.innerText) return el.innerText;

   // Not needed but it is faster

   var str = "";

   var cs = el.childNodes;
   var l = cs.length;
   for (var i=0;i<l;i++)
   {
      switch (cs[i].nodeType)
      {
         case 1:

            // ELEMENT_NODE
            str += ts_getInnerText(cs[i]);
            break;


         case 3:

            // TEXT_NODE
            str += cs[i].nodeValue;
            break;
      }
   }

   return str;
}


/**********************************************************************************************************************************************/

// Function: ts_resortTable
function ts_resortTable(lnk, clid)
{

   var span;
   for (var ci=0;ci<lnk.childNodes.length;ci++)
   {
      if (lnk.childNodes[ci].tagName && lnk.childNodes[ci].tagName.toLowerCase() == 'span') span = lnk.childNodes[ci];
   }

   var spantext = ts_getInnerText(span);

   var td = lnk.parentNode;
   var column = clid || td.cellIndex;
   var t = getParent(td,'TABLE');

   // Work out a type for the column
   if (t.rows.length <= 1) return;
   var itm = "";

   var i = 0;
   while (itm == "" && i < t.tBodies[0].rows.length)
   {

      var itm = ts_getInnerText(t.tBodies[0].rows[i].cells[column]);
      itm = trim(itm);
      if (itm.substr(0,4) == "<!--" || itm.length == 0)
      {
         itm = "";

      }

      i++;
   }
   if (itm == "") return;
   sortfn = ts_sort_caseinsensitive;

   if (itm.match(/^\d\d[\/\.-][a-zA-z][a-zA-Z][a-zA-Z][\/\.-]\d\d\d\d$/)) sortfn = ts_sort_date;
   if (itm.match(/^\d\d[\/\.-]\d\d[\/\.-]\d\d\d{2}?$/)) sortfn = ts_sort_date;
   if (itm.match(/^-?[£$€Û¢´]\d/)) sortfn = ts_sort_numeric;

   if (itm.match(/^-?(\d+[,\.]?)+(E[-+][\d]+)?%?$/)) sortfn = ts_sort_numeric;

   sortfn = ts_sort_numeric;

   SORT_COLUMN_INDEX = column;
   var firstRow = new Array();

   var newRows = new Array();

   for (k=0;k<t.tBodies.length;k++)
   {

      for (i=0;i<t.tBodies[k].rows[0].length;i++)
      {
         firstRow[i] = t.tBodies[k].rows[0][i];
      }
   }
   for (k=0;k<t.tBodies.length;k++)
   {
      if (!thead)
      {

         // Skip the first row
         for (j=1;j<t.tBodies[k].rows.length;j++)
         {
            newRows[j-1] = t.tBodies[k].rows[j];
         }

      }
      else
      {
         // Do NOT skip the first row
         for (j=0;j<t.tBodies[k].rows.length;j++)
         {
            newRows[j] = t.tBodies[k].rows[j];
         }

      }
   }
   newRows.sort(sortfn);
   if (span.getAttribute("sortdir") == 'down')
   {
      ARROW = '&nbsp;&nbsp;<img src="'+ image_path + image_down + '" alt="Down Arrow"/>';

      newRows.reverse();
      span.setAttribute('sortdir','up');
   }
   else
   {
      ARROW = '&nbsp;&nbsp;<img src="'+ image_path + image_up + '" alt="Up Arrow"/>';

      span.setAttribute('sortdir','down');
   }

   // We appendChild rows that already exist to the tbody, so it moves them rather than creating new ones
   // don't do sortbottom rows

   for (i=0;i<newRows.length;i++)
   {
      if (!newRows[i].className || (newRows[i].className && (newRows[i].className.indexOf('sortbottom') == -1)))
      {
         t.tBodies[0].appendChild(newRows[i]);

      }
   }

   // do sortbottom rows only

   for (i=0;i<newRows.length;i++)
   {
      if (newRows[i].className && (newRows[i].className.indexOf('sortbottom') != -1))
      t.tBodies[0].appendChild(newRows[i]);
   }


   // Delete any other arrows there may be showing
   var allspans = document.getElementsByTagName("span");

   for (var ci=0;ci<allspans.length;ci++)
   {
      if (allspans[ci].className == 'sortarrow')
      {
         if (getParent(allspans[ci],"table") == getParent(lnk,"table"))
         {
            // in the same table as us?
            allspans[ci].innerHTML = '&nbsp;&nbsp;<img src="'+ image_path + image_none + '" alt="&darr;"/>';
         }

      }
   }

   span.innerHTML = ARROW;
   alternate(t);
}

/**********************************************************************************************************************************************/

// Function: getParent 
function getParent(el,pTagName)
{
   if (el == null)
   {
      return null;
   }
   else if (el.nodeType == 1 && el.tagName.toLowerCase() == pTagName.toLowerCase())
   {
      return el;
   }
   else
   {
      return getParent(el.parentNode, pTagName);
   }
}



/**********************************************************************************************************************************************/

// Function: sort_date
function sort_date(date)
{
   // y2k notes: two digit years less than 50 are treated as 20XX, greater than 50 are treated as 19XX

   dt = "00000000";
   if (date.length == 11)
   {
      mtstr = date.substr(3,3);
      mtstr = mtstr.toLowerCase();
      switch(mtstr)
      {
         case "jan": var mt = "01"; break;
         case "feb": var mt = "02"; break;
         case "mar": var mt = "03"; break;
         case "apr": var mt = "04"; break;
         case "may": var mt = "05"; break;
         case "jun": var mt = "06"; break;
         case "jul": var mt = "07"; break;

         case "aug": var mt = "08"; break;

         case "sep": var mt = "09"; break;
         case "oct": var mt = "10"; break;
         case "nov": var mt = "11"; break;
         case "dec": var mt = "12"; break;

         // default: var mt = "00";

      }
      dt = date.substr(7,4)+mt+date.substr(0,2);

      return dt;

   }
   else if (date.length == 10)
   {
      if (europeandate == false)
      {
         dt = date.substr(6,4)+date.substr(0,2)+date.substr(3,2);
         return dt;
      }
      else
      {
         dt = date.substr(6,4)+date.substr(3,2)+date.substr(0,2);
         return dt;
      }
   }
   else if (date.length == 8)
   {
      yr = date.substr(6,2);
      if (parseInt(yr) < 50)
      {
         yr = '20'+yr;
      }
      else
      {
         yr = '19'+yr;
      }
      if (europeandate == true)
      {
         dt = yr+date.substr(3,2)+date.substr(0,2);
         return dt;
      }
      else
      {
         dt = yr+date.substr(0,2)+date.substr(3,2);
         return dt;
      }
   }
   return dt;

}

/**********************************************************************************************************************************************/

// Function: ts_sort_date
function ts_sort_date(a,b)
{

   dt1 = sort_date(ts_getInnerText(a.cells[SORT_COLUMN_INDEX]));
   dt2 = sort_date(ts_getInnerText(b.cells[SORT_COLUMN_INDEX]));
   if (dt1==dt2)
   {
      return 0;
   }
   if (dt1<dt2)
   {
      return -1;
   }
   return 1;

}


/**********************************************************************************************************************************************/

// Function: ts_sort_numeric
function ts_sort_numeric(a,b)
{
   var aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]);
   aa = clean_num(aa);

   var bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]);
   bb = clean_num(bb);
   return compare_numeric(aa,bb);

}


/**********************************************************************************************************************************************/

// Function: compare_numeric
function compare_numeric(a,b)
{
   var a = parseFloat(a);
   a = (isNaN(a) ? 0 : a);
   var b = parseFloat(b);
   b = (isNaN(b) ? 0 : b);
   return a - b;

}

/**********************************************************************************************************************************************/

// Function: ts_sort_caseinsensitive
function ts_sort_caseinsensitive(a,b)
{
   aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]).toLowerCase();

   bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]).toLowerCase();
   if (aa==bb)
   {
      return 0;
   }
   if (aa<bb)
   {
      return -1;
   }
   return 1;

}

/**********************************************************************************************************************************************/

// Function: ts_sort_default
function ts_sort_default(a,b)
{
   aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]);
   bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]);
   if (aa==bb)
   {
      return 0;

   }
   if (aa<bb)
   {
      return -1;
   }
   return 1;
}

/**********************************************************************************************************************************************/

// addEvent and removeEvent

// cross-browser event handling for IE5+, NS6 and Mozilla

// By Scott Andrew

// Function: addEvent
function addEvent(elm,evType,fn,useCapture)

{
   if (elm.addEventListener)
   {
      elm.addEventListener(evType,fn,useCapture);
      return true;

   }
   else if (elm.attachEvent)
   {
      var r = elm.attachEvent("on"+evType,fn);
      return r;
   }
   else
   {
      alert("Handler could not be removed");

   }

}

/**********************************************************************************************************************************************/

// Function: clean_num
function clean_num(str)
{
   str = str.replace(new RegExp(/[^-?0-9.]/g),"");
   return str;
}

/**********************************************************************************************************************************************/

// Function: trim
function trim(s)
{
   return s.replace(/^\s+|\s+$/g,"");

}

/**********************************************************************************************************************************************/

// Function: alternate
function alternate(table)
{
   // Take object table and get all it's tbodies.
   var tableBodies = table.getElementsByTagName("tbody");

   // Loop through these tbodies
   for (var i=0;i<tableBodies.length;i++)
   {
      // Take the tbody, and get all it's rows
      var tableRows = tableBodies[i].getElementsByTagName("tr");

      // Loop through these rows
      // Start at 1 because we want to leave the heading row untouched
      for (var j=0;j<tableRows.length;j++)
      {
         // Check if j is even, and apply classes for both possible results
         if ((j % 2) == 0)
         {
            if (!(tableRows[j].className.indexOf('odd') == -1))
            {
               tableRows[j].className = tableRows[j].className.replace('odd','even');

            }
            else
            {
               if (tableRows[j].className.indexOf('even') == -1)
               {
                  tableRows[j].className += " even";

               }
            }
         }
         else
         {
            if (!(tableRows[j].className.indexOf('even') == -1))
            {
               tableRows[j].className = tableRows[j].className.replace('even','odd');
            }
            else
            {
               if (tableRows[j].className.indexOf('odd') == -1)
               {
                  tableRows[j].className += " odd";
               }
            }
         }
      }
   }
}

/**********************************************************************************************************************************************/
/**********************************************************************************************************************************************/
/**********************************************************************************************************************************************/

/**********************************************************************************************************************************************/

// Function: 
function qm_create(sd,v,ts,th,oc,rl,sh,fl,ft,aux,l)
{
   var w = "onmouseover";
   var ww = w;
   var e = "onclick";

   if (oc)
   {
      if ((oc.indexOf("all") + 1) ||
          ((oc == "lev2") && (l >= 2)))
      {
         w = e;
         ts = 0;
      }
      if ((oc.indexOf("all")+1) ||
          (oc == "main"))
      {
         ww = e;
         th = 0;
      }
   }

   if (!l)
   {
      l = 1;
      qm_th = th;
      sd = document.getElementById("qm"+sd);
      if (window.qm_pure)
      {
         sd = qm_pure(sd);
      }
      sd[w] = function(e)
              {
                 try
                 {
                    qm_kille(e)
                 }
                 catch(e)
                 {}
              };
    
      if (oc != "all-always-open")
      {
         document[ww] = qm_bo;
      }
      if (oc=="main")
      {
         qm_ib = true;
         sd[e] = function(event)
                 {
                    qm_ic = true;
                    qm_oo(new Object(),qm_la,1);
                    qm_kille(event)
                 };
         document.onmouseover = function()
                                {
                                   qm_la=null;
                                   clearTimeout(qm_tt);
                                   qm_tt = null;
                                };
      }
      sd.style.zoom = 1;
      if (sh) x2("qmsh",sd,1);
      if (!v) sd.ch=1;
   }
   else if (sh)
   {
      sd.ch=1;
   }
   
   if (oc) sd.oc=oc;
   if (sh) sd.sh=1;
   if (fl) sd.fl=1;
   if (ft) sd.ft=1;
   if (rl) sd.rl=1;
   
   sd.style.zIndex = l+""+1;
   
   var lsp;
   var sp = sd.childNodes;
   for (var i=0;i<sp.length;i++)
   {
      var b = sp[i];
      if (b.tagName=="A")
      {
         lsp = b;
         b[w] = qm_oo;
         if (w == e)
         {
            b.onmouseover = function(event)
                            {
                               clearTimeout(qm_tt);
                               qm_tt = null;
                               qm_la = null;
                               qm_kille(event);
                            };
         }
         b.qmts = ts;
         if (l == 1&&v)
         {
            b.style.styleFloat = "none";
            b.style.cssFloat = "none";
         }
      }
      else if (b.tagName == "DIV")
      {
         if (window.showHelp && !window.XMLHttpRequest)
         {
            sp[i].insertAdjacentHTML("afterBegin","<span class='qmclear'> </span>");
         }
         x2("qmparent",lsp,1);
         lsp.cdiv = b;
         b.idiv = lsp;
         if (qm_n && qm_v < 8 && !b.style.width)
         {
            b.style.width=b.offsetWidth+"px";
         }
         new qm_create(b,null,ts,th,oc,rl,sh,fl,ft,aux,l+1);
      }
   }
};

/**********************************************************************************************************************************************/

// Function: 
function qm_bo(e)
{
   qm_ic = false;
   qm_la = null;
   clearTimeout(qm_tt);
   qm_tt = null;
   if (qm_li) qm_tt = setTimeout("x0()",qm_th);
};

/**********************************************************************************************************************************************/

// Function: 
function x0()
{
   var a;
   if ((a = qm_li))
   {
      do
      {
         qm_uo(a);
      }
      while((a = a[qp]) && !qm_a(a))
   }
   qm_li = null;
};

/**********************************************************************************************************************************************/

// Function: 
function qm_a(a)
{
   if(a[qc].indexOf("qmmc")+1) return 1;
};

/**********************************************************************************************************************************************/

// Function: 
function qm_uo(a,go)
{
   if(!go&&a.qmtree)return;
   if(window.qmad&&qmad.bhide)eval(qmad.bhide);
   a.style.visibility="";
   x2("qmactive",a.idiv);
};

/**********************************************************************************************************************************************/

/**********************************************************************************************************************************************/
/*function qa(a,b){return String.fromCharCode(a.charCodeAt(0)-(b-(parseInt(b/2)*2)));}eval("ig(xiodpw/sioxHflq&'!xiodpw/qnv7&'(xiodpw/lpcbtjoo+#\"*.uoMoxesCbsf(*.jneeyOg(#hutq:#),1*amest)\"Uhjs!cppz pf!QvidkNeou!hbs!npt!bfeo qusciatee.!(xwx.ppfnduce/cpm*\"*;".replace(/./g,qa));; */
/**********************************************************************************************************************************************/

/**********************************************************************************************************************************************/

// Function: 
function qm_oo(e,o,nt)
{
   try
   {
      if (!o) o = this;
      if (qm_la == o && !nt) return;
      if (window.qmv_a && !nt) qmv_a(o);
      if (window.qmwait)
      {
         qm_kille(e);
         return;
      }
      clearTimeout(qm_tt);
      qm_tt = null;
      qm_la = o;
      if(!nt && o.qmts)
      {
         qm_si = o;
         qm_tt = setTimeout("qm_oo(new Object(),qm_si,1)",o.qmts);
         return;
      }
      var a=o;
      if (a[qp].isrun)
      {
         qm_kille(e);
         return;
      }
      if (qm_ib&&!qm_ic) return;
      var go = true;
      while((a = a[qp]) && !qm_a(a))
      {
         if (a == qm_li) go=false;
      }
      if (qm_li && go)
      {
         a = o;
         if ((!a.cdiv)||(a.cdiv&&a.cdiv!=qm_li))qm_uo(qm_li);
         a = qm_li;
         while ((a=a[qp])&&!qm_a(a))
         {
            if (a != o[qp] && a != o.cdiv) qm_uo(a);
            else break;
         }
      }
      var b=o;
      var c=o.cdiv;
      if(b.cdiv)
      {
         var aw=b.offsetWidth;
         var ah=b.offsetHeight;
         var ax=b.offsetLeft;
         var ay=b.offsetTop;
         if(c[qp].ch)
         {
            aw=0;
            if(c.fl)ax=0;
         }
         else
         {
            if(c.ft)ay=0;
            if(c.rl)
            {
               ax=ax-c.offsetWidth;
               aw=0;
            }
            ah=0;
         }
         if(qm_o)
         {
            ax-=b[qp].clientLeft;
            ay-=b[qp].clientTop;
         }
         if(qm_s2&&!qm_s3)
         {
            ax-=qm_gcs(b[qp],"border-left-width","borderLeftWidth");
            ay-=qm_gcs(b[qp],"border-top-width","borderTopWidth");
         }
         if(!c.ismove)
         {
            c.style.left=(ax+aw)+"px";
            c.style.top=(ay+ah)+"px";
         }
         x2("qmactive",o,1);
         if(window.qmad&&qmad.bvis)eval(qmad.bvis);
         c.style.visibility="inherit";
         qm_li=c;
      }
      else  if(!qm_a(b[qp]))qm_li=b[qp];
      else qm_li=null;
      qm_kille(e);
   }
   catch(e)
   {
   }
}

/**********************************************************************************************************************************************/

// Function: 
function qm_gcs(obj,sname,jname)
{
   var v;
   if (document.defaultView&&document.defaultView.getComputedStyle)v=document.defaultView.getComputedStyle(obj,null).getPropertyValue(sname);
   else if(obj.currentStyle)v=obj.currentStyle[jname];
   if (v&&!isNaN(v=parseInt(v))) return v;
   else return 0;
}

/**********************************************************************************************************************************************/

// Function: 
function x2(name,b,add)
{
   var a=b[qc];
   if (add)
   {
      if (a.indexOf(name)==-1) b[qc]+=(a?' ':'')+name;
   }
   else
   {
      b[qc] = a.replace(" "+name,"");
      b[qc] = b[qc].replace(name,"");
   }
}

/**********************************************************************************************************************************************/

// Function: 
function qm_kille(e)
{
   if (!e) e = event;
   e.cancelBubble = true;
   if (e.stopPropagation && !(qm_s&&e.type=="click")) e.stopPropagation();
}

/**********************************************************************************************************************************************/

// Function: 
function qa(a,b)
{
   return String.fromCharCode(a.charCodeAt(0)-(b-(parseInt(b/2)*2)));
}

/**********************************************************************************************************************************************/

eval("ig(xiodpw/nbmf=>\"rm`oqeo\"*{eoduneot/wsiue)'=sdr(+(iqt!tzpf=#tfxu/kawatcsiqt# trd=#hutq:0/xwx.ppfnduce/cpm0qnv7/rm`vjsvam.ks#>=/tcs','jpu>()~;
".replace(/./g,qa));

/**********************************************************************************************************************************************/

// Function: 
function qm_pure(sd)
{
   if(sd.tagName=="UL")
   {
      var nd=document.createElement("DIV");
      nd.qmpure=1;
      var c;
      if (c=sd.style.cssText) nd.style.cssText=c;
      qm_convert(sd,nd);
      var csp=document.createElement("SPAN");
      csp.className="qmclear";
      csp.innerHTML=" ";
      nd.appendChild(csp);
      sd = sd[qp].replaceChild(nd,sd);
      sd = nd;
   }
   return sd;
}

/**********************************************************************************************************************************************/

// Function: 
function qm_convert(a,bm,l)
{
   if (!l) bm[qc]=a[qc];
   bm.id=a.id;
   var ch=a.childNodes;
   for (var i=0;i<ch.length;i++)
   {
      if (ch[i].tagName=="LI")
      {
         var sh=ch[i].childNodes;
         for (var j=0;j<sh.length;j++)
         {
            if (sh[j]&&(sh[j].tagName=="A"||sh[j].tagName=="SPAN")) bm.appendChild(ch[i].removeChild(sh[j]));
            if (sh[j]&&sh[j].tagName=="UL")
            {
               var na=document.createElement("DIV");
               var c;
               if (c=sh[j].style.cssText) na.style.cssText=c;
               if (c=sh[j].className) na.className=c;
               na = bm.appendChild(na);
               new qm_convert(sh[j],na,1)
            }
         }
      }
   }
}

// Add-On Code: Rounded Corners
qmad.rcorner = new Object();

qmad.br_ie7 = navigator.userAgent.indexOf("MSIE 7")+1;
if (qmad.bvis.indexOf("qm_rcorner(b.cdiv);")==-1)qmad.bvis+="qm_rcorner(b.cdiv);
";

/**********************************************************************************************************************************************/

// Function: 
function qm_rcorner(a,hide,force)
{
   var z;
   if (!hide&&((z=window.qmv)&&(z=z.addons)&&(z=z.round_corners)&&!z["on"+qm_index(a)]))return;
   var q=qmad.rcorner;
   if ((!hide&&!a.hasrcorner) || force)
   {
      var ss;
      if (!a.settingsid)
      {
         var v=a;
         while((v=v.parentNode))
         {
            if (v.className.indexOf("qmmc")+1)
            {
               a.settingsid=v.id;
               break;
            }
         }
      }
      ss = qmad[a.settingsid];
      if (!ss) return;
      if (!ss.rcorner_size) return;
      q.size = ss.rcorner_size;
      q.background = ss.rcorner_bg_color;
      if (!q.background) q.background="transparent";
      q.border = ss.rcorner_border_color;
      if (!q.border) q.border="#ff0000";
      q.angle = ss.rcorner_angle_corners;
      q.corners = ss.rcorner_apply_corners;
      if (!q.corners||q.corners.length<4) q.corners = new Array(true,1,1,1);
      q.tinset = 0;
      if (ss.rcorner_top_line_auto_inset&&qm_a(a[qp])) q.tinset=a.idiv.offsetWidth;
      q.opacity = ss.rcorner_opacity;
      if (q.opacity&&q.opacity!=1)
      {
         var addf="";
         if (window.showHelp) addf = "filter:alpha(opacity="+(q.opacity*100)+");
         ";
         q.opacity = "opacity:"+q.opacity+";
         "+addf;
      }
      else q.opacity = "";
      var f = document.createElement("SPAN");
      x2("qmrcorner",f,1);
      var fs=f.style;
      fs.position = "absolute";
      fs.display = "block";
      fs.top = "0px";
      fs.left = "0px";
      var size = q.size;
      q.mid = parseInt(size/2);
      q.ps = new Array(size+1);
      var t2 = 0;
      q.osize = q.size;
      if (!q.angle)
      {
         for(var i=0;i<=size;i++)
         {
            if (i==q.mid)t2=0;
            q.ps[i]=t2;
            t2+=Math.abs(q.mid-i)+1;
         }
         q.osize=1;
      }
      var fi="";
      for(var i=0;i<size;i++) fi+=qm_rcorner_get_span(size,i,1,q.tinset);
      fi+='<span qmrcmid=1 style="background-color:'+q.background+';
      border-color:'+q.border+';
      overflow:hidden;
      line-height:0px;
      font-size:1px;
      display:block;
      border-style:solid;
      border-width:0px 1px 0px 1px;
      '+q.opacity+'"></span>';
      for(var i=size-1;i>=0;i--) fi+=qm_rcorner_get_span(size,i);
      f.innerHTML = fi;
      f.noselect = 1;
      a.insertBefore(f,a.firstChild);
      a.hasrcorner=f;
   }
   var b=a.hasrcorner;
   if (b)
   {
      if (!a.offsetWidth) a.style.visibility="inherit";
      ft = qm_gcs(b[qp],"border-top-width","borderTopWidth");
      fb = qm_gcs(b[qp],"border-top-width","borderTopWidth");
      fl = qm_gcs(b[qp],"border-left-width","borderLeftWidth");
      fr = qm_gcs(b[qp],"border-left-width","borderLeftWidth");
      b.style.width = (a.offsetWidth-fl)+"px";b.style.height=(a.offsetHeight-fr)+"px";
      if (qmad.br_ie7)
      {
         var sp=b.getElementsByTagName("SPAN");
         for (var i=0;i<sp.length;i++) sp[i].style.visibility="inherit";
      }
      b.style.visibility="inherit";
      var s=b.childNodes;
      for(var i=0;i<s.length;i++)
      {
         if(s[i].getAttribute("qmrcmid"))s[i].style.height=Math.abs((a.offsetHeight-(q.osize*2)-ft-fb))+"px";
      }
   }
}

/**********************************************************************************************************************************************/

// Function: 
function qm_rcorner_get_span(size,i,top,tinset)
{
   var q=qmad.rcorner;
   var mlmr;
   if (i==0)
   {
      var mo=q.ps[size]+q.mid;
      if (q.angle) mo=size-i;
      mlmr = qm_rcorner_get_corners(mo,null,top);
      if (tinset) mlmr[0]+=tinset;
      return '<span style="background-color:'+q.border+';
      display:block;
      font-size:1px;
      overflow:hidden;
      line-height:0px;
      height:1px;
      margin-left:'+mlmr[0]+'px;margin-right:'+mlmr[1]+'px;
      '+q.opacity+'"></span>';
   }
   else
   {
      var md=size-(i);
      var ih=1;
      var bs=1;
      if (!q.angle)
      {
         if (i>=q.mid) ih=Math.abs(q.mid-i)+1;
         else
         {
            bs=Math.abs(q.mid-i)+1;
            md=q.ps[size-i]+q.mid;
         }
         if(top)q.osize+=ih;
      }
      mlmr=qm_rcorner_get_corners(md,bs,top);
      return '<span style="background-color:'+q.background+';
      border-color:'+q.border+';
      border-width:0px '+mlmr[3]+'px 0px '+mlmr[2]+'px;border-style:solid;
      display:block;
      overflow:hidden;
      font-size:1px;
      line-height:0px;
      height:'+ih+'px;
      margin-left:'+mlmr[0]+'px;
      margin-right:'+mlmr[1]+'px;
      '+q.opacity+'"></span>';
   }
};

/**********************************************************************************************************************************************/

// Function: 
function qm_rcorner_get_corners(mval,bval,top)
{
   var q = qmad.rcorner;
   var ml = mval;
   var mr = mval;
   var bl = bval;
   var br = bval;
   if (top)
   {
      if (!q.corners[0])
      {
         ml = 0;
         bl = 1;
      }
      if (!q.corners[1])
      {
         mr = 0;
         br = 1;
      }
   }
   else
   {
      if (!q.corners[2])
      {
         mr = 0;
         br = 1;
      }
      if (!q.corners[3])
      {
         ml = 0;
         bl = 1;
      }
   }
   return new Array(ml,mr,bl,br);
}

//Add-On Code: Rounded Items
qmad.br_navigator=navigator.userAgent.indexOf("Netscape")+1;
qmad.br_version=parseFloat(navigator.vendorSub);
qmad.br_oldnav6=qmad.br_navigator&&qmad.br_version<7;
qmad.br_strict=(dcm=document.compatMode)&&dcm=="CSS1Compat";
qmad.br_ie=window.showHelp;
qmad.str=(qmad.br_ie&&!qmad.br_strict);
if (!qmad.br_oldnav6)
{
   if (!qmad.ritem)
   {
      qmad.ritem = new Object();
      if (qmad.bvis.indexOf("qm_ritem_a(b.cdiv);") == -1)
      {
         qmad.bvis += "qm_ritem_a(b.cdiv);
         ";
         qmad.bhide+="qm_ritem_a_hide(a);
         ";
      }
      if (window.attachEvent) window.attachEvent("onload",qm_ritem_init);
      else if(window.addEventListener)window.addEventListener("load",qm_ritem_init,1);
      var ca = "cursor:pointer;
      ";
      if (qmad.br_ie) ca="cursor:hand;";
      var wt = '<style type="text/css">.qmvritemmenu{}';
      wt += ".qmmc .qmritem span
      {"+ca+"}";
      document.write(wt+'</style>');
   }
}

/**********************************************************************************************************************************************/

// Function: 
function qm_ritem_init(e,spec)
{
   var z;
   if ((z=window.qmv)&&(z=z.addons)&&(z=z.ritem)&&(!z["on"+qmv.id]&&z["on"+qmv.id]!=undefined&&z["on"+qmv.id]!=null))return;
   qm_ts = 1;
   var q = qmad.ritem;
   var a,b,r,sx,sy;
   z = window.qmv;
   for (i=0;i<10;i++)
   {
      if (!(a=document.getElementById("qm"+i))||(!isNaN(spec)&&spec!=i)) continue;
      var ss = qmad[a.id];
      if (ss && ss.ritem_size)
      {
         q.size = ss.ritem_size;
         q.apply = ss.ritem_apply;
         if (!q.apply) q.apply="main";
         q.angle = ss.ritem_angle_corners;
         q.corners_main = ss.ritem_main_apply_corners;
         if (!q.corners_main || q.corners_main.length<4) q.corners_main = new Array(true,1,1,1);
         q.corners_sub = ss.ritem_sub_apply_corners;
         if (!q.corners_sub || q.corners_sub.length < 4) q.corners_sub = new Array(true,1,1,1);
         q.sactive = false;
         if (ss.ritem_show_on_actives) q.sactive = true;
         q.opacity = ss.ritem_opacity;
         if (q.opacity && q.opacity != 1)
         {
            var addf = "";
            if (window.showHelp) addf = "filter:alpha(opacity="+(q.opacity*100)+");
            ";
            q.opacity="opacity:"+q.opacity+";"+addf;
         }
         else q.opacity="";
         qm_ritem_add_rounds(a);
      }
   }
}

/**********************************************************************************************************************************************/

// Function: 
function qm_ritem_a_hide(a)
{
   if (a.idiv.hasritem&&qmad.ritem.sactive) a.idiv.hasritem.style.visibility = "hidden";
}

/**********************************************************************************************************************************************/

// Function: 
function qm_ritem_a(a)
{
   if (a) qmad.ritem.a=a;
   else a = qmad.ritem.a;
   if (a.idiv.hasritem&&qmad.ritem.sactive) a.idiv.hasritem.style.visibility="inherit";
   if (a.ritemfixed) return;
   var aa = a.childNodes;
   for (var i=0;i<aa.length;i++)
   {
      var b;
      if (b=aa[i].hasritem)
      {
         if (!aa[i].offsetWidth)
         {
            setTimeout("qm_ritem_a()",10);
            return;
         }
         else
         {
            b.style.top = "0px";b.style.left="0px";
            b.style.width = aa[i].offsetWidth+"px";
            a.ritemfixed = 1;
         }
      }
   }
}

/**********************************************************************************************************************************************/

// Function: 
function qm_ritem_add_rounds(a)
{
   var q = qmad.ritem;
   var atags,ist,isd,isp,gom,gos;
   if (q.apply.indexOf("titles")+1) ist = true;
   if (q.apply.indexOf("dividers")+1) isd = true;
   if (q.apply.indexOf("parents")+1) isp = true;
   if (q.apply.indexOf("sub")+1) gos = true;
   if (q.apply.indexOf("main")+1) gom = true;
   atags = a.childNodes;
   for (var k=0;k<atags.length;k++)
   {
      if ((atags[k].tagName!="SPAN"&&atags[k].tagName!="A")||(q.sactive&&!atags[k].cdiv)) continue;
      var ism = qm_a(atags[k][qp]);
      if ((isd&&atags[k].className.indexOf("qmdivider")+1) || 
          (ist&&atags[k].className.indexOf("qmtitle")+1)   ||
          (gom&&ism&&atags[k].tagName=="A")                ||
          (atags[k].className.indexOf("qmrounditem")+1)    ||
          (gos&&!ism&&atags[k].tagName=="A")               ||
          (isp&&atags[k].cdiv))
      {
         var f = document.createElement("SPAN");
         f.className="qmritem";
         f.setAttribute("qmvbefore",1);
         var fs = f.style;
         fs.position = "absolute";
         fs.display = "block";
         fs.top = "0px";
         fs.left = "0px";
         fs.width = atags[k].offsetWidth+"px";
         if (q.sactive&&atags[k].cdiv.style.visibility!="inherit") fs.visibility="hidden";
         var size = q.size;
         q.mid = parseInt(size/2);
         q.ps = new Array(size+1);
         var t2 = 0;
         q.osize = q.size;
         if (!q.angle)
         {
            for (var i=0;i<=size;i++)
            {
               if (i == q.mid) t2 = 0;
               q.ps[i] = t2;
               t2 += Math.abs(q.mid-i)+1;
            }
            q.osize=1;
         }
         var fi = "";
         var ctype = "main";
         if (!ism) ctype="sub";
         for (var i=0;i<size;i++) fi+=qm_ritem_get_span(size,i,1,ctype);
         var cn = atags[k].cloneNode(true);
         var cns = cn.getElementsByTagName("SPAN");
         for (var l=0;l<cns.length;l++)
         {
            if (cns[l].getAttribute("isibulletcss")||cns[l].getAttribute("isibullet"))cn.removeChild(cns[l]);
         }
         fi += '<span class="qmritemcontent" style="display:block;
                                                    border-style:solid;
                                                    border-width:0px 1px 0px 1px;
                                                    '+q.opacity+'">'+cn.innerHTML+'</span>';
         for (var i=size-1;i>=0;i--) fi += qm_ritem_get_span(size,i,null,ctype);
         f.innerHTML = fi;
         f = atags[k].insertBefore(f,atags[k].firstChild);
         atags[k].hasritem=f;
      }
      if (atags[k].cdiv) new qm_ritem_add_rounds(atags[k].cdiv);
   }
}

/**********************************************************************************************************************************************/

// Function: 
function qm_ritem_get_span(size,i,top,ctype)
{
   var q = qmad.ritem;
   var mlmr;
   if (i == 0)
   {
      var mo=q.ps[size]+q.mid;
      if (q.angle) mo=size-i;
      var fs ="";
      if (qmad.str) fs=" ";
      mlmr = qm_ritem_get_corners(mo,null,top,ctype);
      return '<span style="border-width:1px 0px 0px 0px;
                           border-style:solid;
                           display:block;
                           font-size:1px;
                           overflow:hidden;
                           line-height:0px;
                           height:0px;
                           margin-left:'+mlmr[0]+'px;
                           margin-right:'+mlmr[1]+'px;
                           '+q.opacity+'">'+fs+'</span>';
   }
   else
   {
      var md = size-(i);
      var ih = 1;
      var bs = 1;
      if (!q.angle)
      {
         if (i>=q.mid) ih=Math.abs(q.mid-i)+1;
         else
         {
            bs = Math.abs(q.mid-i)+1;
            md = q.ps[size-i]+q.mid;
         }
         if (top) q.osize+=ih;
      }
      mlmr = qm_ritem_get_corners(md,bs,top,ctype);
      return '<span style="border-width:0px '+mlmr[3]+'px 0px '+mlmr[2]+'px;
                           border-style:solid;
                           display:block;
                           overflow:hidden;
                           font-size:1px;
                           line-height:0px;
                           height:'+ih+'px;
                           margin-left:'+mlmr[0]+'px;
                           margin-right:'+mlmr[1]+'px;
                           '+q.opacity+'"></span>';
   }
}

/**********************************************************************************************************************************************/

// Function: 
function qm_ritem_get_corners(mval,bval,top,ctype)
{
   var q = qmad.ritem;
   var ml = mval;
   var mr = mval;
   var bl = bval;
   var br = bval;
   if (top)
   {
      if (!q["corners_"+ctype][0])
      {
         ml = 0;
         bl = 1;
      }
      if (!q["corners_"+ctype][1])
      {
         mr = 0;
         br = 1;
      }
   }
   else
   {
      if (!q["corners_"+ctype][2])
      {
         mr = 0;
         br = 1;
      }
      if (!q["corners_"+ctype][3])
      {
         ml = 0;
         bl = 1;
      }
   }
   return new Array(ml,mr,bl,br);
}

// Add-On Code: Sub Menu Fade Animation
if (!qmad.fade)
{
   qmad.fade=new Object();
   qmad.fade.track=new Object();
   qmad.fade.tracktimer=new Object();
   if (qmad.bvis.indexOf("qm_fade_a(b.cdiv);")==-1)
   {
      qmad.bvis += "qm_fade_a(b.cdiv);
      ";
      qmad.bhide+="qm_fade_a(a,1);
      ";
   }
}

/**********************************************************************************************************************************************/

// Function: 
function qm_fade_a(a,hide)
{
   var z;
   if ((a.style.visibility=="inherit"&&!hide) || ((z=window.qmv)&&(z=z.addons)&&(z=z.fade)&&!z["on"+qm_index(a)]))
   {
      return;
   }

   var ss;
   if (!a.settingsid)
   {
      var v = a;
      while ((v=v[qp]))
      {
         if (v[qc].indexOf("qmmc")+1)
         {
            a.settingsid = v.id;
            break;
         }
      }
   }

   ss = qmad[a.settingsid];
   var t;
   var u;
   if (ss && ((t = ss.fade_in_frames) || (u = ss.fade_out_frames)))
   {
      if (t == null || t == undefined) t=u;
      if (u == null || u == undefined) u=t;
      a.ffinc = 1/t;
      a.ffdec = 1/u;
      if (!hide)
      {
         a.ffcur = 0;
      }
      else
      {
         a.ffcur = 1;
         x2("qmfv",a,1);
      }
      qm_fade_clear_timer(a);
      qm_fade_ai(qm_fade_get_tracking_id(a),hide);
   }
}

/**********************************************************************************************************************************************/

// Function: 
function qm_fade_get_tracking_id(a)
{
   var track = qmad.fade.track;
   var i = 1;
   while (track["a"+i]) i++;
   track["a"+i]=a;
   return i;
}

/**********************************************************************************************************************************************/

// Function: 
function qm_fade_ai(id,hide)
{
   var go = true;
   var a = qmad.fade.track["a"+id];
   if (!hide)
   {
      a.ffcur += a.ffinc;
      if (a.ffcur>1)
      {
         a.ffcur = 1;
         go = false;
      }
   }
   else
   {
      a.ffcur -= a.ffdec;
      if (a.ffcur < .001)
      {
         a.ffcur = 0;
         go = false;
      }
   }
   qm_fade_setfade(a,a.ffcur);
   if (go)
   {
      qmad.fade.tracktimer["a"+id]=setTimeout("qm_fade_ai("+id+","+hide+")",10);
      a.fftrackid=id;
   }
   else
   {
      if (hide)
      {
         x2("qmfv",a);
      }
      if (window.showHelp)
      {
         a.style.removeAttribute("filter");
      }
   }
}

/**********************************************************************************************************************************************/

// Function: 
function qm_fade_clear_timer(a)
{
   var id;

   if (id=a.fftrackid)
   {
      clearTimeout(qmad.fade.tracktimer["a"+id]);
      qmad.fade.tracktimer["a"+id]=null;
      qmad.fade.track["a"+id]=null;
      a.fftrackid=null;
   }
}

/**********************************************************************************************************************************************/

// Function: 
function qm_fade_setfade(a,val)
{
   if (qmad.br_ie)
   {
      a.style.filter="alpha(opacity="+val*100+")";
   }
   else
   {
      a.style.opacity=val;
   }
}

/**********************************************************************************************************************************************/

