﻿var TimeToFade = 1000.0;
var pageHeight = 0;
var ie5 = (document.all && document.getElementById);
var ns6 = (!document.all && document.getElementById);
var opac = 0; //FADE VARIABBLES
var opac2 = 100; //FADE VARIABLES
var ytplayer = "";


//INIT FUNCTION
//-----------------------------------------------
function initPage(){
    pageHeight = document.getElementById('pagebody').offsetHeight;
    document.getElementById('youtubeCover').style.height = pageHeight + 200 + "px";
    window.onscroll = function(){positionAfterScroll()};

}
function positionAfterScroll(){
    placePlayer();
}

//MISC IMAGE SWAP FUNCTIONS
//-----------------------------------------------
function imageOver(o,i){
    document.getElementById(o).src = 'images/' + i + '.png';
}
function imageOut(o,i){
    document.getElementById(o).src = 'images/' + i + '.png';
}


//SHOW AND HIDE THE INFO BOX THAT COVERS THE SITE
//-----------------------------------------------
function showInfo(){
    document.getElementById('info').style.visibility = 'visible';
    document.getElementById('pagebody').style.overflow = 'hidden';
    document.getElementById('canvas').style.offsetheight = '100%';
}
function hideInfo(){
    document.getElementById('info').style.visibility = 'hidden';
    document.getElementById('pagebody').style.overflow = 'auto';
    
}

//CONTROL THE YOUTUBE BOX
//-----------------------------------------------
function launchMovie(){
    placePlayer();
    document.getElementById('youtubeplayer').style.visibility = 'visible';
    youtubePlay();
}
function closeMovie(){
    document.getElementById('youtubeplayer').style.visibility = 'hidden';
    youtubeStop();   
}
function placePlayer() {
  scrollOffset = getScrollXY()[1];
  document.getElementById("youtubeHolder").style.top = scrollOffset + 100 + "px";
}

//YOUTUBE PLAYER FUNCTIONS
//-----------------------------------------------
function onYouTubePlayerReady(playerId) {
          ytplayer = document.getElementById("myplayer");
          setInterval(updateytplayerInfo, 250);
          updateytplayerInfo();
          ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
          ytplayer.addEventListener("onError", "onPlayerError");
        }
function onytplayerStateChange(newState) {
          setytplayerState(newState);
        }

        function onPlayerError(errorCode) {
          alert("An error occurred: "+ errorCode);
        }
function youtubePlay() {
          if (ytplayer) {
            ytplayer.playVideo();
          }
        }
function youtubeStop() {
          if (ytplayer) {
            ytplayer.stopVideo();
          }
        }



//TIPTOOL

function showTipTool(focusObject,tiptextID){
    var posArray = findPos(focusObject);
    xpos = posArray[0]; //focusObject.offsetLeft;
    ypos = posArray[1]; //focusObject.offsetTop;
    width = focusObject.offsetWidth;
    height = focusObject.offsetHeight;
    
    //alert(findPos(focusObject)[0]);
    
    var tiptoolObj = document.getElementById('tiptool');
    tiptoolObj.style.visibility = 'visible';
    tiptoolObj.style.top = ypos + (height / 3) + "px";
    tiptoolObj.style.left = xpos +((width-264)/2) + "px";
    
    
    document.getElementById('tiptoolText').innerHTML = getTiptext(tiptextID);
    fadeTipToolIn();
}
function hideTipTool(){
    fadeTipToolOut();
    
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
	    do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	return [curleft,curtop];
    }
}

function getTiptext(tiptextID){
    switch(tiptextID){
        case 'PHP':
            return 'PHP is a script language that runs on a server to create dynamic web pages, often together with data sources.<br/><a href="http://en.wikipedia.org/wiki/Php" target="_blank">Read more at Wikipedia.com</a>';
            break;
        case 'ASP':
            return 'ASP is a script language that runs on a server to create dynamic web pages, often together with data sources.';
    }
}
//fades layer in

function checkIfOver(obj){


}
function fadeTipToolIn() {
    opac2 = 100;
    if(opac != 100){
        opac+=2;
        if(ie5) document.getElementById('tiptool').filters.alpha.opacity = opac;
        if(ns6) document.getElementById('tiptool').style.MozOpacity = opac/100;
        setTimeout('fadeTipToolIn()', 0);
    }
}


function fadeTipToolOut() {
    opac = 0;
    if(opac2 > 0){
        opac2-=2;
        if(ie5) document.getElementById('tiptool').filters.alpha.opacity = opac2;
        if(ns6) document.getElementById('tiptool').style.MozOpacity = opac2/100;
        setTimeout('fadeTipToolOut()', 0);
    }
}          

//-----GENERIC FUNCTIONS-------------
//-----------------------------------

function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}