var numImages = 34
var slideshowFade  = 5
var slideshowPersistence = 5

function slideshow(){
	for(i = 1; i <= numImages; i++) {
		setTimeout("switchImage("+i+")",10000);
//		setTimeout("switchImage("+i+",1000)",1000);
		}
	}

function switchImage(id){
//	alert(id);
	setTimeout("document.getElementById('mainImage').src = 'images/portfolio/"+id+".jpg'",5000);
}

function startSlideshow(id){
	for(i = id; i <= numImages; i++) {
		shiftVisibilityOn('slideShowImage'+i);
		setTimeout("shiftVisibilityOn('slideShowImage" + i + "', slideshowFade)",slideshowPersistence*i);
		setTimeout("shiftOpacityOn('slideShowImage" + i + "', slideshowFade)",slideshowPersistence*i);
	}
	setTimeout("hideSlideshow()",slideshowPersistence * numImages);
}

function hideSlideshow(){
	j = 2
		while (j <= numImages)
	{
		setTimeout("shiftOpacityOff('slideShowImage"+j+"',1000)",1000);
		shiftVisibilityOff('slideShowImage'+j);
		j++
	}
	beginItAgain(1);
}

function beginItAgain(id){
	startSlideshow(id);
}

function openPopUp(winName){
	leftVal = (screen.width - 800) / 2;
	topVal = 0;
	window.open(winName,'popUp', 'height=700,width=800,left='+leftVal+',top='+topVal+', toolbar=no, menubar=no, scrollbars=yes,resizable=no,location=no, directories=no, status=yes');
}

function fadePortfolioLinksOn(id){
	shiftVisibilityOn(id);
	shiftDisplayOn(id);
	setTimeout("shiftOpacityOn("+id+", 200)",100);
}

function fadePortfolioLinksOff(id){
	shiftVisibilityOff(id);
	shiftDisplayOff(id);
	setTimeout("shiftOpacityOff("+id+", 200)",100);
}


function fadeTestimonialPicturesOn(id){
//	setTimeout("shiftOpacityOff("+id+", 2000)",100);
//	shiftDisplayOff(id);
	shiftVisibilityOn(id);
	shiftDisplayOn(id);
	setTimeout("shiftOpacityOn("+id+", 200)",100);
}

function fadeTestimonialPicturesOff(id){
	shiftVisibilityOff(id);
	shiftDisplayOff(id);
	setTimeout("shiftOpacityOff("+id+", 200)",100);
}

function shiftVisibilityOn(id) {
	document.getElementById(id).style.visibility='visible';
}

function shiftVisibilityOff(id) {
	document.getElementById(id).style.visibility='hidden';
}

function shiftDisplayOn(id) {
	document.getElementById(id).style.display='block';
}

function shiftDisplayOff(id) {
	document.getElementById(id).style.display='none';
}

function changeVisibility(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("changeVisOn(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	} else if(opacStart < opacEnd) {
		for(i = opacStart; i <= opacEnd; i++)
			{
			setTimeout("changeVisOff(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	}
}

function changeVisOn(opacity, id) {
	var object = document.getElementById(id).style; 
	object.visibility = 'hidden';
	//object.MozOpacity = (opacity / 100);
	//object.KhtmlOpacity = (opacity / 100);
	//object.filter = "alpha(opacity=" + opacity + ")";
}

function changeVisOff(opacity, id) {
	var object = document.getElementById(id).style; 
	object.visibility = 'hidden';
	//object.MozOpacity = (opacity / 100);
	//object.KhtmlOpacity = (opacity / 100);
	//object.filter = "alpha(opacity=" + opacity + ")";
}

function startFadingSubSubLinks(linkId){
	for(i = 1; i <= intNumberLinkGroups; i++) {
		setTimeout("shiftOpacityOff('subSubNavigation" + i + "', 2000)",100);
	}
	
	setTimeout("shiftOpacityOn('subSubNavigation" + linkId + "', 2000)",100);
}

function shiftOpacityOn(id, millisec) {
	opacity(id, 0, 100, millisec);
}

function shiftOpacityOff(id, millisec) {
	if(document.getElementById(id).style.opacity == 1) {
		opacity(id, 100, 0, millisec);
	}
}

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++;
		}
	}
}

//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 blendimage(divid, imageid, imagefile, millisec) {
	var speed = Math.round(millisec / 100);
	var timer = 0;
	//set the current image as background
	document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")";
	//make image transparent
	changeOpac(0, imageid);
	//make new image
	document.getElementById(imageid).src = imagefile;
	//fade in image
	for(i = 0; i <= 100; i++) {
		setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed));
		timer++;
	}
}

function currentOpac(id, opacEnd, millisec) {
	//standard opacity is 100
	var currentOpac = 100;
	//if the element has an opacity set, get it
	if(document.getElementById(id).style.opacity < 100) {
		currentOpac = document.getElementById(id).style.opacity * 100;
	}
	//call for the function that changes the opacity
	opacity(id, currentOpac, opacEnd, millisec)
}

function verifyCompatibleBrowser(){ 
    this.ver=navigator.appVersion 
    this.dom=document.getElementById?1:0 
    this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0; 
    this.ie4=(document.all && !this.dom)?1:0; 
    this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
    this.ns4=(document.layers && !this.dom)?1:0; 
    this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5) 
    return this 
} 
bw=new verifyCompatibleBrowser() 
  
var speed=50 
var loop, timer 
 
function ConstructObject(obj,nest){ 
    nest=(!nest) ? '':'document.'+nest+'.' 
    this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0; 
    this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0; 
    this.scrollHeight=bw.ns4?this.css.document.height:this.el.offsetHeight 
    this.clipHeight=bw.ns4?this.css.clip.height:this.el.offsetHeight 
    this.up=MoveAreaUp;this.down=MoveAreaDown; 
    this.MoveArea=MoveArea; this.x; this.y; 
    this.obj = obj + "Object" 
    eval(this.obj + "=this") 
    return this 
} 

function MoveArea(x,y){ 
    this.x=x;this.y=y 
    this.css.left=this.x 
    this.css.top=this.y 
} 

function MoveAreaDown(move){ 
	if(this.y>-this.scrollHeight+objContainer.clipHeight){ 
    this.MoveArea(0,this.y-move) 
    if(loop) setTimeout(this.obj+".down("+move+")",speed) 
	} 
} 

function MoveAreaUp(move){ 
	if(this.y<0){ 
    this.MoveArea(0,this.y-move) 
    if(loop) setTimeout(this.obj+".up("+move+")",speed) 
	} 
} 

function PerformScroll(speed){ 
	if(initialised){ 
		loop=true; 
		if(speed>0) objScroller.down(speed) 
		else objScroller.up(speed) 
	} 
} 

function CeaseScroll(){ 
    loop=false 
    if(timer) clearTimeout(timer) 
} 

var initialised; 

function InitialiseScrollableArea(){ 
    objContainer=new ConstructObject('divContainer') 
    objScroller=new ConstructObject('divContent','divContainer') 
    objScroller.MoveArea(0,0) 
    objContainer.css.visibility='visible' 
    initialised=true; 

} 

function displayStatusMsg(msgStr) { 
  status=msgStr;
  document.returnValue = true;
}

function preloadImages() { 
  var d=document; if(d.images){ if(!d.p) d.p=new Array();
    var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.p[j]=new Image; d.p[j++].src=a[i];}}
}

function swapImgRestore() { 
  var i,x,a=document.sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function findObj(n, d) { 
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document); return x;
}

function swapImage() { 
  var i,j=0,x,a=swapImage.arguments; document.sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=findObj(a[i]))!=null){document.sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.pgW=innerWidth; document.pgH=innerHeight; onresize=reloadPage; }}
  else if (innerWidth!=document.pgW || innerHeight!=document.pgH) location.reload();
}
reloadPage(true);

//© 2008 rick viana & square hole design, llc.
