window.onload = init

function init()
{ setRollovers()
  setWindows()
  
  if (document.getElementById("home"))
  { homeAnimate()
  }
  
  if (document.getElementById("ad"))
  { document.getElementById("ad").oncontextmenu = function(){return false;};
  }  
}




/*

after the html page loads, setRollovers() scans the HTML page for any img tag 
that has the class "rollOver". When it finds one, it attaches the mouseover events.

*/

function setRollovers()
{ imgs = document.getElementsByTagName("img")
  for (i=0;i<imgs.length;i++)
  { if (/rollOver/.test(imgs[i].className))
    { imgs[i].parentNode.onmouseover=function(){roll(this,true);}
      imgs[i].parentNode.onmouseout=function(){roll(this,false);}
      imgs[i].parentNode.onfocus=function(){roll(this,true);}
      imgs[i].parentNode.onblur=function(){roll(this,false);}
    }
  }
}

function setWindows()
{ var anchors = document.getElementsByTagName("a")
  for (var i=0; i<anchors.length; i++)
  { var anchor = anchors[i]
    if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "newWindow")
    { anchor.target = "_blank";
    }
  }
} 




/*

roll() handles the image rollovers.

*/

function roll(node,status)
{ nodeImg = node.firstChild
  srcImg = nodeImg.getAttribute("src")
  fileName = srcImg.substring(0,srcImg.length - 7)
  navState = srcImg.substring(srcImg.length - 7,srcImg.length - 4)
  
  if (status)
  { if (navState == "off")
    { fileName = fileName + "ovr.gif"
      nodeImg.setAttribute("src",fileName)
    }
  }
  else
  { if ((navState != "sel") && (navState != "off"))
    { fileName = fileName + "off.gif"
      nodeImg.setAttribute("src",fileName)
    }
  }
}




/*

Home page animation.

*/

var increment = 0.25

opac0 = new Array(0,-0.5,-1.0,-1.5,-2.0,-2.5,-3.0,-3.5,-4.0)
opac1 = new Array(0,-0.5,-1.0,-1.5,-2.0,-2.5,-3.0,-3.5,-4.0)
opac2 = new Array(0,-0.5,-1.0,-1.5,-2.0,-2.5,-3.0,-3.5,-4.0)
opac3 = new Array(0,-0.5,-1.0,-1.5,-2.0,-2.5,-3.0,-3.5,-4.0)
opac4 = new Array(0,-0.5,-1.0,-1.5,-2.0,-2.5,-3.0,-3.5,-4.0)

function homeAnimate()
{ setTimeout("homeAnimate0()",1)
  setTimeout("homeAnimate1()",200)
  setTimeout("homeAnimate2()",400)
  setTimeout("homeAnimate3()",600)
  setTimeout("homeAnimate4()",800)
}



/* Row 0 */

function homeAnimate0()
{ increment0()
  brighten0()
  
  if (opac0[8] < 1)
  { setTimeout("homeAnimate0()",50)
  }
}

function increment0()
{ for(i=0; i<9; i++)
  { opac0[i] = opac0[i] + increment
  }
}

function brighten0()
{ for(i=0; i<9; i++)
  { obj = document.getElementById("row0").getElementsByTagName("LI")[i].firstChild
    val = opac0[i]
    
    if ((val >= 0) && (val <= 1))
    { setOpacity(obj,val)
    }
  }
}


/* Row 1 */

function homeAnimate1()
{ increment1()
  brighten1()
  
  if (opac1[8] < 1)
  { setTimeout("homeAnimate1()",50)
  }
}

function increment1()
{ for(i=0; i<9; i++)
  { opac1[i] = opac1[i] + increment
  }
}

function brighten1()
{ for(i=0; i<9; i++)
  { obj = document.getElementById("row1").getElementsByTagName("LI")[i].firstChild
    val = opac1[i]
    
    if ((val >= 0) && (val <= 1))
    { setOpacity(obj,val)
    }
  }
}



/* Row 2 */

function homeAnimate2()
{ increment2()
  brighten2()
  
  if (opac2[8] < 1)
  { setTimeout("homeAnimate2()",50)
  }
}

function increment2()
{ for(i=0; i<9; i++)
  { opac2[i] = opac2[i] + increment
  }
}

function brighten2()
{ for(i=0; i<9; i++)
  { obj = document.getElementById("row2").getElementsByTagName("LI")[i].firstChild
    val = opac2[i]
    
    if ((val >= 0) && (val <= 1))
    { setOpacity(obj,val)
    }
  }
}



/* Row 3 */

function homeAnimate3()
{ increment3()
  brighten3()
  
  if (opac3[8] < 1)
  { setTimeout("homeAnimate3()",50)
  }
}

function increment3()
{ for(i=0; i<9; i++)
  { opac3[i] = opac3[i] + increment
  }
}

function brighten3()
{ for(i=0; i<9; i++)
  { obj = document.getElementById("row3").getElementsByTagName("LI")[i].firstChild
    val = opac3[i]
    
    if ((val >= 0) && (val <= 1))
    { setOpacity(obj,val)
    }
  }
}



/* Row 4 */

function homeAnimate4()
{ increment4()
  brighten4()
  
  if (opac4[8] < 1)
  { setTimeout("homeAnimate4()",50)
  }
  else
  { document.getElementById("subtext").style.display = "block"
  }
}

function increment4()
{ for(i=0; i<9; i++)
  { opac4[i] = opac4[i] + increment
  }
}

function brighten4()
{ for(i=0; i<9; i++)
  { obj = document.getElementById("row4").getElementsByTagName("LI")[i].firstChild
    val = opac4[i]
    
    if ((val >= 0) && (val <= 1))
    { setOpacity(obj,val)
    }
  }
}






function setOpacity(obj,num)
{ obj.style.MozOpacity = num
  obj.style.opacity = num
  obj.style.filter = "alpha(opacity=" + (num * 100) + ")"
}






/*

dim page when needed.

*/

function dimPage()
{ wdth = 900
  hght = document.getElementById("content").clientHeight
  document.getElementById("mask").style.width = wdth + "px"
  document.getElementById("mask").style.height = hght + "px"
  document.getElementById("mask").style.display = "block"
}

function dimArea()
{ wdth = 900
  hght = document.getElementById("content").clientHeight
  document.getElementById("mask").style.width = wdth + "px"
  document.getElementById("mask").style.height = hght + "px"
  document.getElementById("mask").style.display = "block"
}

function resetPage()
{ document.getElementById("mask").style.display = "none"
}

function showAd()
{ document.getElementById("ad").style.display = "block";
}

function hideAd()
{ document.getElementById("ad").style.display = "none"
}

function showMovie()
{ document.getElementById("movie").style.display = "block"
}

function hideMovie()
{ document.getElementById("movie").style.display = "none"
}

function showGAAP()
{ document.getElementById("gaap").style.display = "block"
  scroll(0,0)
}

function hideGAAP()
{ document.getElementById("gaap").style.display = "none"
}

function showBlock()
{ document.getElementById("theftBlock").style.display = "block"
}

function hideBlock()
{ document.getElementById("theftBlock").style.display = "none"
}






/*

slideshow actions.

*/

var current = 1

function previousSlide()
{ if (current != 1)
  { current--
    src = document.getElementById("slideImg").getAttribute("src")
    src = src.substring(0,src.length - 5)
    src = src + current + ".jpg"
    document.getElementById("slideImg").setAttribute("src",src)
  }
}

function nextSlide()
{ if (current != total)
  { current++
    src = document.getElementById("slideImg").getAttribute("src")
    src = src.substring(0,src.length - 5)
    src = src + current + ".jpg"
    document.getElementById("slideImg").setAttribute("src",src)
  }
}






/*

Strategy 3 Maps.

*/

function showMap(which)
{ for (i=1;i<=3;i++)
  { if (i == which)
    { document.getElementById("introMap" + i).style.display = "block"
    }
    else
    { document.getElementById("introMap" + i).style.display = "none"
    }
  }
}






/*

Strategy 7 Show/Hide Notes.

*/

var curentNote = 1 

function showNote7(which)
{ document.getElementById("csrNote").style.display = "block"
  document.getElementById("copy" + which).style.display = "block"
  currentNote = which
}

function closeNote7()
{ document.getElementById("csrNote").style.display = "none"
  for (i=1; i<=4; i++)
  { document.getElementById("copy" + i).style.display = "none"
  }
}

function prevNote7()
{ if (currentNote == 1)
  { return
  }
  else
  { currentNote--
    for (i=1; i<=4; i++)
    { if (currentNote == i)
      { document.getElementById("copy" + i).style.display = "block"
      }
      else
      { document.getElementById("copy" + i).style.display = "none"
      }
    }
  }
}

function nextNote7()
{ if (currentNote == 4)
  { return
  }
  else
  { currentNote++
    for (i=1; i<=4; i++)
    { if (currentNote == i)
      { document.getElementById("copy" + i).style.display = "block"
      }
      else
      { document.getElementById("copy" + i).style.display = "none"
      }
    }
  }
}






/*

Flash routines

*/

function mgStopMov()
{ document.getElementById("moviePlayer").mgStopMovie();
}

function mgPlayMov()
{ document.getElementById("moviePlayer").mgPlayMovie();
}





/*

controls the show/hide of pop-up notes.

*/


function showNote(obj,which)
{ hideAllNotes()
  container = obj.parentNode
  notes = getElementsByClassName("popNote","SPAN",container)
  notes[which].style.display = "inline"
}

function hideNote(obj)
{ hideAllNotes()
}

function hideAllNotes()
{ notes = getElementsByClassName("popNote")
  lngth = notes.length
  if (lngth == 0)
  { return
  }
  for (i=0; i<lngth; i++)
  { notes[i].style.display = "none"
  }
}






/*
	Developed by Robert Nyman, http://www.robertnyman.com
	Code/licensing: http://code.google.com/p/getelementsbyclassname/
*/
var getElementsByClassName = function (className, tag, elm){
	if (document.getElementsByClassName) {
		getElementsByClassName = function (className, tag, elm) {
			elm = elm || document;
			var elements = elm.getElementsByClassName(className),
				nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
				returnElements = [],
				current;
			for(var i=0, il=elements.length; i<il; i+=1){
				current = elements[i];
				if(!nodeName || nodeName.test(current.nodeName)) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	else if (document.evaluate) {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = "",
				xhtmlNamespace = "http://www.w3.org/1999/xhtml",
				namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
				returnElements = [],
				elements,
				node;
			for(var j=0, jl=classes.length; j<jl; j+=1){
				classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
			}
			try	{
				elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
			}
			catch (e) {
				elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
			}
			while ((node = elements.iterateNext())) {
				returnElements.push(node);
			}
			return returnElements;
		};
	}
	else {
		getElementsByClassName = function (className, tag, elm) {
			tag = tag || "*";
			elm = elm || document;
			var classes = className.split(" "),
				classesToCheck = [],
				elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
				current,
				returnElements = [],
				match;
			for(var k=0, kl=classes.length; k<kl; k+=1){
				classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
			}
			for(var l=0, ll=elements.length; l<ll; l+=1){
				current = elements[l];
				match = false;
				for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
					match = classesToCheck[m].test(current.className);
					if (!match) {
						break;
					}
				}
				if (match) {
					returnElements.push(current);
				}
			}
			return returnElements;
		};
	}
	return getElementsByClassName(className, tag, elm);
};
