/////////////////////////////////
// SITE FUNCTIONALITY
// by Richard Quigley
// 2006
// quichwrigley@hotmail.com
/////////////////////////////////

var loader = document.getElementById('loader');
var services = document.getElementById('services');
var contact = document.getElementById('contact');
var galleries = document.getElementById('galleries');
var galleryButtons = document.getElementById('galleryButtons');

var theImage = document.getElementById('theImage');
var onTop = document.getElementById('onTop');
var onTop_serv = document.getElementById('onTop_serv');
var onTop_cont = document.getElementById('onTop_cont');

var leftX = document.getElementById('content');
var menuWait = document.getElementById('menuWait');

panelIn = true;
var t, u, xpos = 0;

var slideLength = 684;
var negSlideLength = slideLength * -1;


var mynames = new Array('services','galleries','contact');
//INITIALIZE SERVICES TO CURRENT1 AFTER PAGELOAD
services.id = 'current1';

//CONTACT PAGE INVISIBLE ON START
onTop_cont.style.visibility = 'hidden';

function killLoadScreen(){
	loader.style.visibility = 'hidden';
}

//SET ALL ANCHORS TO theNames, then the clicked anchor to 'current1'
function setIdToCurrent(theId){
	if(theId.id == 'current1'){
		//DO NOTHING
	}
	else {
		for (var a=0;a<aCount;a++){
			myAnch = document.anchors[a];
			myAnch.id = mynames[a];
		}
		theId.id = 'current1';
	}
}

//////////////////////
//ONCLICK EVENTS
//////////////////////
services.onclick = function (evt) {
	theRight.style.visibility = 'hidden';
	galleryButtons.style.visibility = 'hidden';
	if (onTop_serv.style.visibility != 'visible'){
		onTop_cont.style.visibility = 'hidden';
		onTop_serv.style.visibility = 'visible';
	}
	
	if (continuous){
		btn_continuous.innerHTML = 'PLAY';
		clearInterval(imageInterval);
		continuous = false;
	}
	
	setIdToCurrent(this);
	if (panelIn == true){
		//DO NOTHING AND FADE IN
		fadeIn('onTop', 0);
	}else{
		setTimeout('fadeOut("imageframe",100)',100);
		slideIn();
		panelIn = true;
	}
}

contact.onclick = function (evt) {
	theRight.style.visibility = 'hidden';
	galleryButtons.style.visibility = 'hidden';
	if (onTop_cont.style.visibility != 'visible'){
		onTop_serv.style.visibility = 'hidden';
		onTop_cont.style.visibility = 'visible';
	}
	
	if (continuous){
		btn_continuous.innerHTML = 'PLAY';
		clearInterval(imageInterval);
		continuous = false;
	}
	
	setIdToCurrent(this);
	if (panelIn == true){
		//DO NOTHING AND FADE IN
		fadeIn('onTop', 0);
	}else{
		setTimeout('fadeOut("imageframe",100)',100);
		slideIn();
		panelIn = true;
	}
}

galleries.onclick = function (evt) {
	setIdToCurrent(this);
	
	if (panelIn == true){
		centerPicture();
		fadeOut('onTop', 100);
		slideOut();
		setTimeout('fadeIn("imageframe",0)',1000);
		theRight.style.visibility = 'visible';
		galleryButtons.style.visibility = 'visible';
		panelIn = false;
	}	
}

//SLIDES OUT OF SCREEN
function slideOut(){
	xpos=xpos-12;
	t = easeInOut(0,negSlideLength,negSlideLength,xpos,.1);

	leftX.style.left = t+"px";
	menuWait.style.visibility = 'visible';
		
	if (xpos <= negSlideLength){
		window.clearTimeout();
		xpos = 0;
		menuWait.style.visibility = 'hidden';
	}else{
		window.setTimeout("slideOut()",1);
	}
}

//SLIDES ON TO SCREEN
function slideIn(){
	xpos=xpos+12;
	u = easeInOut(negSlideLength,0,slideLength,xpos,.1);
	
	leftX.style.left = u+"px";
	menuWait.style.visibility = 'visible';
	
	if (xpos >= slideLength){
		window.clearTimeout();
		xpos = 0;
		menuWait.style.visibility = 'hidden';
		fadeIn('onTop', 0);
	}else{
		window.setTimeout("slideIn()",1);
	}
}


function easeInOut(minValue,maxValue,totalSteps,actualStep,powr) { 
//Generic Animation Step Value Generator By www.hesido.com 
    var delta = maxValue - minValue; 
    var stepp = minValue+(Math.pow(((1 / totalSteps) * actualStep), powr) * delta); 
    return Math.ceil(stepp);
} 


//////////////////////////////////////////////////////////////////
// FADEOUT/FADEIN
//////////////////////////////////////////////////////////////////
	function fadeOut(objId,opacity) {
    	if (opacity >= 0) {
			if(browser == 'IE'){
       			document.getElementById(objId).style.filter = "alpha(opacity=" + opacity + ")";
			}
			if(browser == 'FF'){
       			document.getElementById(objId).style.MozOpacity = (opacity/100) - .001;
			}
			if(browser == 'SF'){
       			document.getElementById(objId).style.opacity = (opacity/100) - .001;
			}
       		opacity -= 20;
       		window.setTimeout("fadeOut('"+objId+"',"+opacity+")", 20);
    	}
	}


	function fadeIn(objId,opacity) {
    	if (opacity <= 100) {
			if(browser == 'IE'){
       			document.getElementById(objId).style.filter = "alpha(opacity=" + opacity + ")";
			}
			if(browser == 'FF'){
       			document.getElementById(objId).style.MozOpacity = (opacity/100) - .001;
			}
			if(browser == 'SF'){
       			document.getElementById(objId).style.opacity = (opacity/100) - .001;
			}
       		opacity += 20;
       		setTimeout("fadeIn('"+objId+"',"+opacity+")", 20);
    	}
	}


	//////////////////////
	//PULLOUT VARIABLES
	var theRight = document.getElementById('right');
	var theButton = document.getElementById('br');
	
	//SET TO TRUE FOR ORIGINAL USAGE
	var isOut = true;
	
	//////////////////////
	//IE PULLOUT TEXT
	if (browser == 'IE') {
		theRight.style.marginTop = '400px';
		theButton.onclick = function (evt) {
			if (isOut == false) {
				theRight.style.marginTop='400px';
				isOut = true;
			} else {
				theRight.style.marginTop='181px';
				isOut = false;
			}
		}
	}
	
	//////////////////////
	//FIREFOX PULLOUT TEXT
	if (browser == 'FF') {theButton.addEventListener("click",retract,false);}
	
	function retract (){
		theRight.style.marginTop='202px';
		theButton.removeEventListener("click",retract,false);
		isOut = false;
		if (theRight.style.marginTop=='202px'){
			theButton.addEventListener("click",putout,false);
		}
	}
	
	function putout (){
		theRight.style.marginTop='400px';
		theButton.removeEventListener("click",putout,false);
		theButton.addEventListener("click",retract,false);
		isOut = true;
	}
	//////////////////////
	//////////////////////
	
	
	//////////////////////
	//SET BLUR IE
	var aCount = document.anchors.length;
		for (var a=0;a<aCount;a++){
				theAnch = document.anchors[a];
				theAnch.onfocus = function (evt) {this.blur();}
	}
	
	//SET BLUR FF
	//this.onclick = function (evt) {this.blur();}
	
	
	//////////////////////////////////////////////////////////////////
	// PREVENT IE TEXT DRAG	FROM DITCHNET.ORG
	//////////////////////////////////////////////////////////////////
	function windowLoaded(evt) {
		menuWait.ondrag = function () {return false;};
		menuWait.onselectstart = function () {return false;};
	}
	
	//Correctly handle PNG transparency in versions of Win IE lower than 7.
	
//    if (navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent) {
//	    document.writeln('<style type="text/css">img { visibility:hidden; } </style>');
//	    window.attachEvent("onload", fnLoadPngs);
//    }

//    function fnLoadPngs() {
//	    var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, '');
//	    var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5);

//	    for (var i = document.images.length - 1, img = null; (img = document.images[i]); i--) {
//		    if (itsAllGood && img.src.match(/\.png$/i) != null) {
//			    var src = img.src;
//			    var div = document.createElement("DIV");
//			    div.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizing='scale')"
//			    div.style.width = img.width + "px";
//			    div.style.height = img.height + "px";
//			    img.replaceNode(div);
//		    }
//		    img.style.visibility = "visible";
//	    }
//    }
//	
	//////////////////////
	//Correctly handle PNG transparency in versions of Win IE lower than 7.
	//Eric Martindale 
	//ByteMyCode.com
	//////////////////////
	function correctPNG(){
	   for(var i=0; i<document.images.length; i++){
			  var img = document.images[i]
			  var imgName = img.src.toUpperCase()
			  if (imgName.substring(imgName.length-3, imgName.length) == "PNG"){
					 var imgID = (img.id) ? "id='" + img.id + "' " : ""
					 var imgClass = (img.className) ? "class='" + img.className + "' " : ""
					 var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
					 var imgStyle = "display:inline-block;" + img.style.cssText 
					   
					 var strNewHTML = "<span " + imgID + imgClass + imgTitle
					 + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
				 + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
					 + "(src=\'" + img.src + ");\"></span>" 
					 img.outerHTML = strNewHTML
					 i = i-1
			  }
		}
	 }
	window.attachEvent("onload", correctPNG);
	
