// Homepage Hero Tabs
var tabs = new Array('worksmartTab','innerselfTab','connectionsTab','wellnessTab','networkTab','serviceTab','eventsTab');
var tabsStart = new Array(615,655,695,735,775,815,855);
var tabsEnd   = new Array(376,416,456,496,536,576,616);
function slide(d){
	//d = document.getElementById(d);
	for(i=0; i<tabs.length; i++){
		if(tabs[i]==d){x=i;}
	}
	for(i=0; i<tabs.length; i++){
		if(i<=x){
			moveElement(tabs[i],tabsEnd[i],0,10);
		} else {
			moveElement(tabs[i],tabsStart[i],0,10);
		}
	}
}
// Show Tabs onload
function revealTabs(){
	if(!document.getElementById) return;
	if(!document.getElementById('homeHeroTabs')) return;
	for(i=0; i<tabs.length; i++){
		document.getElementById(tabs[i]).style.display = "block";
	}
}
addLoadEvent(revealTabs);


// Join Form Popup Hints
function prepareInputsForHints() {
  var inputs = document.getElementsByTagName("input");
  for (var i=0; i<inputs.length; i++){
    if (inputs[i].parentNode.getElementsByTagName("span")[0]) {
		inputs[i].onfocus = function () {
	      this.parentNode.getElementsByTagName("span")[0].style.display = "inline";
	    }
		inputs[i].onblur = function () {
		  this.parentNode.getElementsByTagName("span")[0].style.display = "none";
	    }
	}
  }
  var selects = document.getElementsByTagName("select");
  for (var k=0; k<selects.length; k++){
    if (selects[k].parentNode.getElementsByTagName("span")[0]) {
		selects[k].onfocus = function () {
	      this.parentNode.getElementsByTagName("span")[0].style.display = "inline";
	    }
		selects[k].onblur = function () {
	      this.parentNode.getElementsByTagName("span")[0].style.display = "none";
	    }
	}
  }
}
addLoadEvent(prepareInputsForHints);


// Prepare video links
function prepareVideoLinks() {
  var links = document.getElementsByTagName("a");
  for (var i=0; i<links.length; i++){
	if(links[i].className == "videoLink"){
		links[i].onclick = function(){
			window.open(this.href,'video','width=300,height=287,toolbar=0,scrollbars=0,location=0,resizable=1');
			return false;
		}
	}
  }
}
addLoadEvent(prepareVideoLinks);





// Animating Elements
function moveElement(elementID,final_x,final_y,interval) {
  if (!document.getElementById) return false;
  if (!document.getElementById(elementID)) return false;
  var elem = document.getElementById(elementID);
  if (elem.movement) {
    clearTimeout(elem.movement);
  }
  if (!elem.style.left) {
    elem.style.left = "0px";
  }
  if (!elem.style.top) {
    elem.style.top = "0px";
  }
  var xpos = parseInt(elem.style.left);
  var ypos = parseInt(elem.style.top);
  if (xpos == final_x && ypos == final_y) {
    return true;
  }
  if (xpos < final_x) {
    var dist = Math.ceil((final_x - xpos)/10);
    xpos = xpos + dist;
  }
  if (xpos > final_x) {
    var dist = Math.ceil((xpos - final_x)/10);
    xpos = xpos - dist;
  }
  if (ypos < final_y) {
    var dist = Math.ceil((final_y - ypos)/10);
    ypos = ypos + dist;
  }
  if (ypos > final_y) {
    var dist = Math.ceil((ypos - final_y)/10);
    ypos = ypos - dist;
  }
  elem.style.left = xpos + "px";
  elem.style.top = ypos + "px";
  var repeat = "moveElement('"+elementID+"',"+final_x+","+final_y+","+interval+")";
  elem.movement = setTimeout(repeat,interval);
}



// For adding multiple onfocus's to an object
/*function addOnFocus(el,func) {
	var oldonfocus = el.onfocus;
	if (typeof el.onfocus != 'function') {
		el.onfocus = func;
	} else {
		el.onfocus = function() {
			oldonfocus();
			func();
		}
	}
}*/

// For adding multiple onblur's to an object
/*function addOnBlur(el,func) {
	var oldonblur = el.onblur;
	//alert("el="+el+" \nthis="+this +" \n" + typeof el.onblur + "\n" + el.onblur + "\n" + func)
	if (typeof el.onblur != 'function') {
		el.onblur = func;
	} else {
		el.onblur = function() {
			oldonblur();
			func();
		}
	}
}*/
/*function addEvent(oTarget, sType, fpDest) {
  var oOldEvent = oTarget[sType];
  if (typeof oOldEvent != "function") {
    oTarget[sType] = fpDest;
  } else {
    oTarget[sType] = function(e) {
      oOldEvent(e);
      fpDest(e);
    }
  }
}*/


// For adding multiple functions to onload event
function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

// Gets Next Element in DOM
function getNextElement(node) {
	if(node.nodeType == 1) {return node;}
	if (node.nextSibling) {return getNextElement(node.nextSibling);}
	return null;
}

// Use to make the height for two div to be the same
function setTall(colID1, colID2) {
    if (document.getElementById) {
        // the divs array contains references to each column's div element.  
        // Replace 'center' 'right' and 'left' with your own.  
        // Or remove the last one entirely if you've got 2 columns.  Or add another if you've got 4!
        var divs = new Array(document.getElementById(colID1), document.getElementById(colID2));

        // Let's determine the maximum height out of all columns specified
        var maxHeight = 0;
        for (var i = 0; i < divs.length; i++) {
            if (divs[i].offsetHeight > maxHeight) maxHeight = divs[i].offsetHeight;
        }

        // Let's set all columns to that maximum height
        for (var i = 0; i < divs.length; i++) {
            divs[i].style.height = maxHeight + 'px';
            // Now, if the browser's in standards-compliant mode, the height property
            // sets the height excluding padding, so we figure the padding out by subtracting the
            // old maxHeight from the new offsetHeight, and compensate!  So it works in Safari AND in IE 5.x
            if (divs[i].offsetHeight > maxHeight) {
                divs[i].style.height = (maxHeight - (divs[i].offsetHeight - maxHeight)) + 'px';
            }
        }
    }
}

// Append text to an html element (like div) - better than setting innerHtml...
function appendTextLine(elem, strText) {
    elem.appendChild(document.createElement("br"));
    elem.appendChild(document.createTextNode(strText));
}

