// util.js

var isNS4 = (document.layers) ? true : false;
var isIE4 = (document.all && !document.getElementById) ? true : false;
var isIE5 = (document.all && document.getElementById) ? true : false;
var isNS6 = (!document.all && document.getElementById) ? true : false;
var iedom = document.all||document.getElementById ? true: false;
var dom = document.getElementById ? true : false;

	function getElement(elementId) {
		//identify the element based on browser type
		if (isNS4){
			objElement = document.layers[elementId];
		}else if (isIE4) {
			objElement = document.all[elementId];
		}else if (isIE5 || isNS6) {
			objElement = document.getElementById(elementId);
		}
		return objElement;
	}
	


	
	
	var fadeTime = 1000;
	var curcanvas="canvas0";
	var lastcanvas;
	var curimageindex=0;
	var preloadedimages=new Array();
 
	function faderPreLoadImages() { 
		for (p=0;p<fadeimages.length;p++){ 
			preloadedimages[p]=new Image(); preloadedimages[p].src=fadeimages[p];
		}
	}
  
	function rotateimage() {

		var newObj = getElement(curcanvas);
		if (lastcanvas != null) {
			var lastObj = getElement(lastcanvas);
			if (lastObj.style.zIndex < 100) {
				lastObj.style.zIndex = 900;
			}
			newObj.style.zIndex = lastObj.style.zIndex - 1;
		}
		newObj.innerHTML='<img src="'+fadeimages[curimageindex]+'">';
		Show(curcanvas);
		if (lastcanvas != null) {
			Hide(lastcanvas, fadeTime);
		}
		
		lastcanvas = curcanvas;
		curcanvas=(curcanvas=="canvas0")? "canvas1" : "canvas0";
		if (pause > 0)
		{
			curimageindex=(curimageindex + 1) % fadeimages.length;
			setTimeout("rotateimage()", fadeTime + pause);
		}
	}
 
	function startFader() {

		// check that images are loaded
		for (p=0;p<fadeimages.length;p++){ 
			if (!preloadedimages[p].complete)
			{
				setTimeout("startFader()", 300);
				return;
			}
		}

		rotateimage();
		var houseOuterObj = getElement('houseOuter');
		if (houseOuterObj != null)
		{
			houseOuterObj.style.backgroundColor = 'white';
		}
	}
  
	function showPic(i)
	{
		curimageindex = i;
		if (lastcanvas != null)
		{
			Hide(lastcanvas);
			lastcanvas = null;
		}
		rotateimage();
	}
  

	function writeCanvasDivs()
	{
		document.write('<div id="canvas0" style="z-index:900;text-align:center;vertical-align:middle;position:absolute;width:'+slideshow_width+';height:'+slideshow_height+';filter:alpha(opacity=10);-moz-opacity:10"></div>');
		document.write('<div id="canvas1" style="z-index:901;text-align:center;vertical-align:middle;position:absolute;width:'+slideshow_width+';height:'+slideshow_height+';filter:alpha(opacity=10);-moz-opacity:10"></div>');
	}

 
  
	function Hide(id)
	{
		var d = document.getElementById(id);
		if (d)
			d.style.display = 'none';
	}
	function Show(id)
	{
		var d = document.getElementById(id);
		d.style.display = 'block';
	}
	function ToggleWin(id)
	{
		var d = document.getElementById(id);
		if(d.style.display == 'block')
		{
			
			Hide(id);
		}
		else
		{
			Show(id);
		}
	}
  
	function opacity(id, opacStart, opacEnd, millisec) {
      //speed for each frame
      var speed = Math.round(millisec / 100);
      var timer = 0;
  
      //determine the direction for the blending, if start and end are the same nothing happens
      if(opacStart > opacEnd) {
          for(i = opacStart; i >= opacEnd; i--) {
              setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
              timer++;
          }
      } else if(opacStart < opacEnd) {
          for(i = opacStart; i <= opacEnd; i++)
              {
              setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
              timer++;
          }
      }
      if (opacEnd == 0) {
          setTimeout("Hide('" + id + "', 0)",(timer * speed));
      }
	}
  
	//change the opacity for different browsers
	function changeOpac(opacity, id) {
		var object = document.getElementById(id).style;
		object.opacity = (opacity / 100);
		object.MozOpacity = (opacity / 100);
		object.KhtmlOpacity = (opacity / 100);
		object.filter = "alpha(opacity=" + opacity + ")";
	}

	function popup(url) { 
		window.open(url, "", "fullscreen=no,toolbar=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,directories=yes,location=yes,width=" + (screen.width - 100) + ",height=" + (screen.height - 100) + ",left=50,top=50"); 
	}
	function popup2(url,width,height) { 
		window.open(url, "", "fullscreen=no,toolbar=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,directories=yes,location=yes,width=" + width + ",height=" + height + ",left=50,top=50"); 
	}
	function popupMin(url,width,height) { 
		window.open(url, "", "fullscreen=no,toolbar=no,status=no,menubar=no,scrollbars=no,resizable=no,directories=no,location=no,width=" + width + ",height=" + height + ",left=50,top=50"); 
	}
	function popupWithScroll(url,width,height) { 
		window.open(url, "", "fullscreen=no,toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=no,directories=no,location=no,width=" + width + ",height=" + height + ",left=50,top=50"); 
	}

	function toggle(strDivName) {
		var objElement = getElement(strDivName);
	
		if (objElement.style.display == 'block') {
			objElement.style.display = 'none';
		} else {
			objElement.style.display = 'block';
		}
	}
	
	
  	function getElementsByClassName(ClassName,tagName,parentElement){
		var elements=new Array();
		var d=parentElement ? parentElement : document;
		var allElements;
		
		if(tagName)	
			allElements = d.all && d.all.tags(tagName) 
				|| d.getElementsByTagName && d.getElementsByTagName(tagName);
		else 
			allElements=d.all || d.getElementsByTagName("*");
		
		for(var i=0,len=allElements.length; i<len; i++)
			if(allElements[i].className==ClassName)
				elements[elements.length]=allElements[i];
				
		return elements;
	}
	
	function tblAltRows(table, firstcolor, secondcolor, start, inc) {
  		if (!start) {
  			start = 1;
  		}
  		if (!inc) {
  			inc = 1;
  		}
		var color = 0;
		var i;
		for(i = start; i < table.rows.length; i = i+inc) {
			if (table.rows[i].style.display = 'block') {
				if (color == 0) {
					table.rows[i].style.backgroundColor = firstcolor;
					color = 1;
				} else {
					table.rows[i].style.backgroundColor = secondcolor;
					color = 0;
				}
			}
		}
	}
	
  	function altRowsByClass(classname, firstcolor, secondcolor, start, inc) {
		var elements = getElementsByClassName(classname, 'table') ;
		for (t = 0; t < elements.length; t++) {
			tblAltRows(elements[t], firstcolor, secondcolor, start, inc);
		}
	}
	
	
	function eraseCombo(cmb) {
		for (var i = cmb.options.length; i >=0; i--) 
			cmb.options[i] = null;
	}
	function getSelectedVal(htmlSelectName) {
		var htmlSelect = getElement(htmlSelectName);
		return htmlSelect.options[htmlSelect.selectedIndex].value;
	}
	
	function setIndexByVal(htmlSelectName, val) {
		var htmlSelect = getElement(htmlSelectName);
		for (var i = 0; i < htmlSelect.options.length; i++) {
			if (htmlSelect.options[i].value == val) {
				htmlSelect.selectedIndex = i;
				return i;
			}
		}
		// set to 0
		htmlSelect.selectedIndex = 0;
		return 0;
	}
	
	function addImageToElement (element, url) {
		var element = getElement(element);
		var img = document.createElement("IMG");
		img.src = url;
		element.appendChild(img);
	}
	
	function enlargeImg(imgId)
	{
		var i = getElement(imgId);
		i.width = i.width + 10;
		i.style.margin = "0px";
	}
	
	function normalSizeImg(imgId)
	{
		var i = getElement(imgId);
		i.width = i.width - 10;
		i.style.margin = "5px";
	}
	
	var ie=document.all
var ns6=document.getElementById&&!document.all

var dragapproved=false
var z,x,y
var Draggable = false;

function move(e){
	if (dragapproved){
		z.style.left=ns6? temp1+e.clientX-x: temp1+event.clientX-x
		z.style.top=ns6? temp2+e.clientY-y : temp2+event.clientY-y
		return false
	}
}

function drags(e)
{
	
	if (Draggable)
	{
		if (!ie&&!ns6)
		return
		var firedobj=ns6? e.target : event.srcElement
		var topelement=ns6? "HTML" : "BODY"

		while (firedobj.tagName!=topelement&&firedobj.className!="popup")
		{
			firedobj=ns6? firedobj.parentNode : firedobj.parentElement
		}

		if (firedobj.className=="popup")
		{
			dragapproved=true
			z=firedobj
			temp1=parseInt(z.style.left+0)
			temp2=parseInt(z.style.top+0)
			x=ns6? e.clientX: event.clientX
			y=ns6? e.clientY: event.clientY
			document.onmousemove=move
			return false
		}
	}
}

document.onmousedown=drags;
document.onmouseup=new Function("dragapproved=false");

function EndGetClasses(response)
			{
				var classdetails = response.value;
				var classinfo = document.getElementById('classDetailDiv');
				classinfo.innerHTML = classdetails;
			}
			
function GetClassDetails(classid)
{	
	Training.GetClassDetails(classid,EndGetClasses);
}
			


