// JavaScript Document

function $$(searchClass, node, tag){
   //shorthand getelementsbyclass
   return getElementsByClass(searchClass, node, tag);
}
  
function $(element) {
   //shorthand getelementbyid, works with multiple ids, returns obj, or array of obj
   if (arguments.length > 1) {
   for (var i = 0, elements = [], length = arguments.length; i < length; i++) elements.push($(arguments[i]));
   return elements;
   }
  
   if (typeof element == 'string') element = document.getElementById(element);
   return element;
}

function getElementsByClass(searchClass, node, tag){
   var classElements = new Array();
   if(node == null) node = document;
   if(tag == null) tag = '*';
   var els = node.getElementsByTagName(tag);
   var elsLen = els.length;
   var pattern = new RegExp("(^|\s)"+searchClass+"(\s|$)");
   for (i = 0, j = 0; i < elsLen; i++){
   if(pattern.test(els[i].className)){
   classElements[j] = els[i];
   j++;
   }
   }
  
   return classElements;
}

function createRollover(element) {
  elesrc = element.src;
  element.onmouseout = function() {
    this.src = elesrc;
  }
  element.onmouseover = function() {
    this.src = elesrc.replace(/.gif/, "_over.gif");
  }
}

function addLoadEvent(func) {
    if (typeof window.onload != "function") {
        window.onload = func;
    } else {
        var olold = window.onload;
        window.onload = function () {
          if (olold) olold(); 
          func();
        };
    }
}

function fixPNGs() {
    if (!needPNGFix) {
        return;
    }
    elms = document.getElementsByTagName("img");
    var x = 0;
    for (var x = 0, len = elms.length; x < len; x++) {
        if (!elms[x].onload &&
            elms[x].src &&
            elms[x].src.toUpperCase().indexOf("SPACER.PNG") == -1 &&
            elms[x].src.toUpperCase().indexOf(".PNG") != -1 &&
            !elms[x].getAttribute("nopngfix")) {
            fixPNG(elms[x]);
        }
    }
    return;
}

function fixPNG(imgobj) {
    if (!needPNGFix && !imgobj.getAttribute("forcepngfix")) {
        return;
    }
    if (imgobj.src.toUpperCase().indexOf("SPACER.PNG") == -1 &&
        imgobj.src.toUpperCase().indexOf(".PNG") != -1 &&
        !imgobj.getAttribute("nopngfix")) {
        src = String(imgobj.src);
        var simg = new Image;
        simg.src = src;
        imgobj.src = "images/spacer.png";
        if (imgobj.getAttribute("sizingmethod")) {
            imgobj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + src + ", sizingMethod=" + imgobj.getAttribute("sizingmethod") + ")";
        } else {
            imgobj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=" + src + ")";
        }
        if (!imgobj.style.pixelWidth) {
            imgobj.style.pixelWidth = simg.width;
            imgobj.style.pixelHeight = simg.height;
        }
    }
}
	
var isIE=navigator.appVersion.toUpperCase().indexOf("MSIE")!=-1;
var isIE7=isIE ? (parseFloat(navigator.appVersion.split("MSIE")[1])==7): false;
var needPNGFix=(isIE && !isIE7);

addLoadEvent(prepare);

function prepare() {
  if($("nav") && isIE) sfHover();
  var co = $$("rollover", document, "*");
  for(i=0; i<co.length; i++) {
    co[i].out = co[i].src;
    co[i].over = new Image();
    co[i].over.src = co[i].src.replace(/.jpg/, "_over.jpg");
    co[i].onmouseover = function() {
      this.src = this.over.src;
    }
    co[i].onmouseout = function() {
      this.src = this.out;
    }
  }
  var co = $("contentblock").getElementsByTagName("H1");
  for(i=0; i<co.length; i++) {
    var lf = document.createElement("div");
    var rt = document.createElement("div");
    lf.appendChild(rt);
    var clo = co[i].cloneNode(true);
    rt.appendChild(clo);
    co[i].parentNode.replaceChild(lf, co[i]);
    lf.style.marginRight = co[i].style.marginRight;
    lf.style.marginLeft = co[i].style.marginLeft;
    clo.style.marginRight = "";
    clo.style.marginLeft = "";
    lf.style.paddingLeft = "12px";
    rt.style.paddingRight = "14px";
    if(co[i].className == "red") {
      lf.style.background = "url(images/fmg_hrleft_red.gif) left no-repeat";
      rt.style.background = "url(images/fmg_hrright_red.gif) right no-repeat";
    } else {
      lf.style.background = "url(images/fmg_hrleft.gif) left no-repeat";
      rt.style.background = "url(images/fmg_hrright.gif) right no-repeat";
    }
  }
  var co = $$("bigbox", document, "*");
  for(i=0; i<co.length; i++) {
    var clo = co[i].cloneNode(true);
    var otr = document.createElement("div");
    var img = document.createElement("img");
    img.src = "images/fmg_bigbox3.gif";
    clo.className = "";
    clo.style.margin = "0 2px 0 2px";
    clo.style.padding = "10px";
    clo.style.background = "url(images/fmg_bigbox1.gif) repeat-x top left #f9fafa";
    clo.style.width = "552px";
    otr.className = "bigbox";
    otr.style.padding = "0";
    otr.appendChild(clo);
    otr.appendChild(img);
    co[i].parentNode.replaceChild(otr, co[i]);
  }
  var co = $$("smallbox", document, "*");
  for(i=0; i<co.length; i++) {
    var clo = co[i].cloneNode(true);
    var con = document.createElement("div"); //container
    var h1 = document.createElement("div"); //header
    var h2 = document.createElement("div");
    var h3 = document.createElement("div");
    var f1 = document.createElement("div"); //footer
    var f2 = document.createElement("div");
    var f3 = document.createElement("div");
    var b1 = document.createElement("div"); //body
    var b2 = document.createElement("div");
    var txt = document.createTextNode(co[i].getAttribute("title"));
    h1.appendChild(h2); //assemble
    h2.appendChild(h3);
    h3.appendChild(txt);
    b1.appendChild(b2);
    b2.appendChild(clo);
    f1.appendChild(f2);
    f2.appendChild(f3);  
    con.appendChild(h1);
    con.appendChild(b1);
    con.appendChild(f1);
    h1.style.background = "url(images/fmg_sb_hl.gif) top left no-repeat"; //style
    h2.style.background = "url(images/fmg_sb_hr.gif) top right no-repeat";
    h3.style.background = "url(images/fmg_sb_hbg.gif) top repeat-x";
    h3.style.paddingTop = "6px";
    h3.style.fontWeight = "bold";
    h3.style.textAlign = "center";
    h3.style.color = "#414ca0";
    h1.style.paddingLeft = "44px";
    h2.style.paddingRight = "45px";
    h1.style.height = "28px";
    h2.style.height = "28px";
    h3.style.height = "28px";
    b1.style.background = "url(images/fmg_sb_border.gif) top left repeat-y";
    b2.style.background = "url(images/fmg_sb_border.gif) top right repeat-y";
    f1.style.background = "url(images/fmg_sb_bl.gif) bottom left no-repeat";
    f2.style.background = "url(images/fmg_sb_br.gif) bottom right no-repeat";
    f3.style.background = "url(images/fmg_sb_border.gif) bottom repeat-x";
    f1.style.paddingLeft = "7px";
    f2.style.paddingRight = "7px";
    f1.style.height = "7px";
    f2.style.height = "7px";
    f3.style.height = "7px";
    if(needPNGFix) {
      b1.style.marginTop = "-6px";
      f1.style.marginTop = "-8px";
    }
    co[i].parentNode.replaceChild(con, co[i]);
  }
  var co = $$("graybox", document, "*");
  for(i=0; i<co.length; i++) {    
    var clo = co[i].cloneNode(true);
    var con = document.createElement("div"); //container
    var ttl = document.createElement("div");
    var h1 = document.createElement("div"); //header
    var h2 = document.createElement("div");
    var h3 = document.createElement("div");
    var f1 = document.createElement("div"); //footer
    var f2 = document.createElement("div");
    var f3 = document.createElement("div");
    var b1 = document.createElement("div"); //body
    var b2 = document.createElement("div");
    var txt = document.createTextNode(co[i].getAttribute("title"));
    h1.appendChild(h2); //assemble
    h2.appendChild(h3);
    ttl.className = "red";
    ttl.style.fontWeight = "bold";
    ttl.style.background = "#fff";
    ttl.style.padding = "5px";
    ttl.style.display = "inline";
    ttl.style.position = "relative";
    ttl.style.top = "-12px";
    ttl.style.left = "14px";
    ttl.appendChild(txt);
    b1.appendChild(b2);
    b2.appendChild(ttl);
    b2.appendChild(clo);
    f1.appendChild(f2);
    f2.appendChild(f3);   
    con.appendChild(h1);
    con.appendChild(b1);
    con.appendChild(f1);
    h1.style.background = "url(images/fmg_sb_tl.gif) top left no-repeat"; //style
    h2.style.background = "url(images/fmg_sb_tr.gif) top right no-repeat";
    h3.style.background = "url(images/fmg_sb_border.gif) top repeat-x";
    //h3.style.paddingTop = "6px";
    //h3.style.fontWeight = "bold";
    h3.style.color = "#414ca0";
    h1.style.paddingLeft = "7px";
    h2.style.paddingRight = "7px";
    h1.style.height = "7px";
    h2.style.height = "7px";
    h3.style.height = "7px";
    b1.style.background = "url(images/fmg_sb_border.gif) top left repeat-y";
    b2.style.background = "url(images/fmg_sb_border.gif) top right repeat-y";
    f1.style.background = "url(images/fmg_sb_bl.gif) bottom left no-repeat";
    f2.style.background = "url(images/fmg_sb_br.gif) bottom right no-repeat";
    f3.style.background = "url(images/fmg_sb_border.gif) bottom repeat-x";
    f1.style.paddingLeft = "7px";
    f2.style.paddingRight = "7px";
    f1.style.height = "7px";
    f2.style.height = "7px";
    f3.style.height = "7px";
    if(needPNGFix) {
      b1.style.marginTop = "-8px";
      f1.style.marginTop = "-8px";
    }
    f1.style.marginBottom = "15px";
    co[i].parentNode.replaceChild(con, co[i]);
  }
  fixPNGs();
}

function sfHover() {
	var sfEls = $("nav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}
