//<!--
// General functionality
function $(id){
	return document.getElementById(id);
}

function show(id){
	$(id).style.display='';
}

function hide(id){
	$(id).style.display='none';
}
var wasSelected=false;
function showNav(navNumber){
	show('nav'+navNumber);
	if($('navSection'+navNumber).className=="selected"){
		wasSelected = true;
	}
	
	$('navSection'+navNumber).className = 'selected_over';
}

function hideNav(navNumber){
//	if($('navSection'+navNumber).className = ($('navSection'+navNumber).className).replace(/ selected_over/,'')){
		$('navSection'+navNumber).className = ($('navSection'+navNumber).className).replace(/selected_over/,'');
		if(wasSelected){
			$('navSection'+navNumber).className = 'selected';
			wasSelected = false;
		}
		hide('nav'+navNumber);
//	}
}

//Fading functionality
var opacity;

function swapImagePortfolio(image,imgbutton) {
	// First the image...
	if ($('main_image').src != image) {
		if(opacity < 70 && opacity>0){
			$('fade_image').src = image;
		}
		else{
			$('fade_image').style.opacity = 100;
			$('fade_image').style.filter = "alpha(opacity: " + 0 + ")";
			$('fade_image').src = image;
			opacity = 100;
		}
		imageFader();		
	} 
	for(count=1;count<4;count++){
		if(count==imgbutton){
			$('imgButton'+count).className='selected';
		}
		else{
			$('imgButton'+count).className='';
		}
	}
}

function swapImage(image) {
	// First the image...
	if ($('main_image').src != image) {
		if(opacity < 70 && opacity>0){
			$('fade_image').src = image;
		}
		else{
			$('fade_image').style.opacity = 100;
			$('fade_image').style.filter = "alpha(opacity: " + 0 + ")";
			$('fade_image').src = image;
			opacity = 100;
		}
		imageFader();		
	}
}
function imageFader(){
	if(opacity<100){
		//opacity++;
		//opacity++;
		//opacity++;
		opacity = opacity+16;
		$('main_image').style.opacity = (100-opacity)/100;
		$('fade_image').style.opacity = opacity/100;
		$('main_image').style.filter = "alpha(opacity: " + (100-opacity) + ")";
		$('fade_image').style.filter = "alpha(opacity: " + opacity + ")";
		setTimeout('imageFader();',50);
//		document.getElementById("main_description").innerHTML = opacity;
	}
	else{
		fadeComplete();
	}
}

function fadeComplete(){
	$('main_image').height = $('fade_image').height
	$('main_image').src = $('fade_image').src
	$('main_image').style.opacity = 100;
	$('fade_image').style.opacity = 0;
}

// Scrollbar functionality
scrolling = false;
currentAdjust = 0;

scrollerHeight = 0;

function startScroll(){
	scrollerHeight = $('inner_scroll_box').offsetHeight;
	if(!$('scroll_btn').style.top){
		$('scroll_btn').style.top = '0%';
	}
	scrolling = true;
	setOnMouseMove($('container'),"scrollThrough(event,'outer','inner')");
}

function stopScroll(){
	scrolling = false;
	setOnMouseMove($('container'),"");
}

function scrollThrough(event,outerId,innerId){
//	alert('sd');	
	if(scrolling){
		outerSElement = $(outerId);
		innerSElement = $(innerId);
		
		heightDifference = innerSElement.offsetHeight-outerSElement.offsetHeight;

		if(heightDifference>0){
/*			topHeight = $('scroll_btn').top.replace(/px/,'');
			currentScrollPercent = topHeight / $('inner_scroll_box').offsetHeight;
			$('scroll_btn').top = event.clientY + "px";*/
			scrollBoxHeight = findPosY($('inner_scroll_box'));
//			currentScrollPercent = $('scroll_btn').style.marginTop;
			
//			alert((event.clientY - scrollBoxHeight)/scrollerHeight*100);
			newPosition = (event.clientY-17 - scrollBoxHeight);

			if(newPosition<0){
				newPosition = 0;
			}
			newPercentage = Math.round(newPosition/scrollerHeight*100);
			if(newPercentage<0){
				newPercentage=0;
			}
			
			if(newPercentage>90){
				scrollerPercent=90;
				newPercentage = 100;
			}
			else{
				scrollerPercent = newPercentage;
				newPercentage += Math.round(newPercentage/10);
			}
			$('scroll_btn').style.top = scrollerPercent + '%';
//			alert(newPercentage);
			//alert(event.clientY);
			newTop = newPercentage/100*heightDifference;
			innerSElement.style.top = "-" + newTop+"px";
		}
	}
}

function startButtons(){
	if(!$('scroll_btn').style.top){
		$('scroll_btn').style.top = '0%';
	}
	scrolling = true;
}

function scrollUp(outerId,innerId){
	outerSElement = $(outerId);
	innerSElement = $(innerId);

	heightDifference = innerSElement.offsetHeight-outerSElement.offsetHeight;

	if(heightDifference>0){
		currentPercent = $('scroll_btn').style.top.replace(/%/,'');
		newPercentage = parseInt(currentPercent) - 1;
		
		if(newPercentage<0){
			newPercentage=0;
		}

		if(newPercentage>90){
			scrollerPercent=90;
			newPercentage = 100;
		}
		else{
			scrollerPercent = newPercentage;
		}
		$('scroll_btn').style.top = scrollerPercent + '%';
//		alert(newPercentage);
		//alert(event.clientY);
		newTop = newPercentage/100*heightDifference;
		innerSElement.style.top = "-" + newTop+"px";
	}
	if(scrolling){
		setTimeout('scrollUp("'+outerId+'","'+innerId+'")',50);
	}
}

function scrollDown(outerId,innerId){
	outerSElement = $(outerId);
	innerSElement = $(innerId);

	heightDifference = innerSElement.offsetHeight-outerSElement.offsetHeight;

	if(heightDifference>0){
		currentPercent = $('scroll_btn').style.top.replace(/%/,'');
		newPercentage = parseInt(currentPercent)+ 1;
		if(newPercentage<0){
			newPercentage=0;
		}

		if(newPercentage>90){
			scrollerPercent = 90;
			newPercentage = 100;
		}
		else{
			scrollerPercent = newPercentage;
		}
		$('scroll_btn').style.top = scrollerPercent + '%';
//		alert(newPercentage);
		//alert(event.clientY);
		newTop = newPercentage/100*heightDifference;
		innerSElement.style.top = "-" + newTop+"px";
	}
	if(scrolling){
		setTimeout('scrollDown("'+outerId+'","'+innerId+'")',50);
	}
}

function getOnMouseMove(element){
	elementOnMouseMove = '';
	if(navigator.userAgent.match("MSIE")){
		elementOnMouseMove = element.onmousemove;
	}
	else{
		elementOnMouseMove = element.getAttributeNode('onmousemove').value;
	}
	return elementOnMouseMove;
}

function setOnMouseMove(element,value){
	delayedMMElement = element;
	delayedMMValue = value;
	if(navigator.userAgent.match("MSIE")){
		if(typeof value == 'string'){
			element.onmousemove = function(){eval(value);};
		}
		else{
			element.onmousemove = eval(value);
		}
	}
	else{
		//delay slightly for Safari
			setTimeout("delayedMMElement.setAttribute('onmousemove',delayedMMValue);",100);
	}
}

function findPosY(obj)
{
  var curtop = 0;
  if(obj.offsetParent)
      while(1)
      {
        curtop += obj.offsetTop;
        if(!obj.offsetParent)
          break;
        obj = obj.offsetParent;
      }
  else if(obj.y)
      curtop += obj.y;
  return curtop;
}

/** This is high-level function.
 * It must react to delta being more/less than zero.
 */
function handle(delta) {	
	if(!$('scroll_btn').style.top){
		$('scroll_btn').style.top = '0%';
	}
    if (delta < 0){
		scrollDown('outer','inner');
		scrollDown('outer','inner');
	}
       else{
		scrollUp('outer','inner');
		scrollUp('outer','inner');
	}
}

/** Event handler for mouse wheel event.
 */
function wheel(event){
        var delta = 0;
        if (!event) /* For IE. */
                event = window.event;
        if (event.wheelDelta) { /* IE/Opera. */
                delta = event.wheelDelta/120;
                /** In Opera 9, delta differs in sign as compared to IE.
                 */
                if (window.opera)
                        delta = -delta;
        } else if (event.detail) { /** Mozilla case. */
                /** In Mozilla, sign of delta is different than in IE.
                 * Also, delta is multiple of 3.
                 */
                delta = -event.detail/3;
        }
        /** If delta is nonzero, handle it.
         * Basically, delta is now positive if wheel was scrolled up,
         * and negative, if wheel was scrolled down.
         */
        if (delta)
                handle(delta);
        /** Prevent default actions caused by mouse wheel.
         * That might be ugly, but we handle scrolls somehow
         * anyway, so don't bother here..
         */
        if (event.preventDefault)
                event.preventDefault();
	event.returnValue = false;
}

//function useMouseWheel(){
	/** Initialization code. 
	 * If you use your own event management code, change it as required.
	 */
	if (window.addEventListener)
	        /** DOMMouseScroll is for mozilla. */
	        window.addEventListener('DOMMouseScroll', wheel, false);
	/** IE/Opera. */
	window.onmousewheel = document.onmousewheel = wheel;
//}

function preLoad(){
	temp = preLoad.arguments;
	imagePaths = new Array();
	i = imagePaths.length;
	for(count=0;count<temp.length;count++){
		imagePaths[i] = temp[count];
		i++;
	}
	
	d = document;
	if(d.images){
		d.pImages = new Array();
		for(count=0;count<imagePaths.length;count++){
			d.pImages[count] = new Image();
			d.pImages[count].src = imagePaths[count];
		}
	}
}

//-->






