
var OpacityStart = 100; // Opacity of image during loading
var ShowLoader=true; // Set to true or false to show preloading bar/text
var transition_timer = 2; // time in seconds between image transition
var transition_speed = 500; // speed of the transition in milliseconds
var transition = ''; // transition type: can be 'in', 'out', or 'inout' - leave blank for linear
var smoothness = 50; // smoothness of transition

var loaded = 0; var paused = 0; var running = false; var clearMe; var j = 0; var p = Pic.length; var count = 0; var js;var css; var LastImageNum=1;

// INITIALIZER:
// ==============================================================
// ala Simon Willison http://simon.incutio.com/archive/2004/05/26/addLoadEvent
function addSlideEvent(fn) {
      var old = window.onload;
      if (typeof window.onload != 'function') {
         window.onload = fn;
      }
      else {
         window.onload = function() {
         old();
         fn();
         }
      }
   }


addSlideEvent(function(){
	setTimeout("document.getElementById('slideshow').style.backgroundImage = 'url(\"" + Pic[0][0] + "\")'",1);
	var Img=document.getElementById('slideimg')
	var ImgDiv=document.getElementById('slideshow')
	var LBar = document.getElementById('loader_bar')
	var ImgW = Img.width; var ImgH = Img.height;
	ImgDiv.style.width = ImgW+'px';
	ImgDiv.style.height = ImgH+'px';
	LBar.style.top = 420 + 'px';
	LBar.style.left = 30 + 'px';
	if (OpacityStart<100){changeOpacity(OpacityStart, 'slideimg');}
	var total = PreLoader(); // preload the images
})

//change the opacity for different browsers
function changeOpacity(opacity, id) {
	if (opacity == 100) opacity = 99.99;
	var object = document.getElementById(id).style;
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
	if (opacity>50){
		// Change URL for each image after faded in by 50% or more.
		document.getElementById('slidelink').href=Pic[LastImageNum][1]
		document.getElementById('slideimg').alt=Pic[LastImageNum][2]
	}
} 
function fade(imageid,from,to,length,imageNum) {
	var opac = from;
	for(var timer = 0;timer <= length;timer+=smoothness) { // only go up to 99 to stop image flicker in mozilla
		opac = easing(timer, from, to, length,transition);
		setTimeout("changeOpacity(" + opac + ",'" + imageid + "',"+imageNum+")",timer);
	}
}
function blendimage(id, imageid, imageNum, millisec) {
	running = true;
	var x=document.getElementById(imageid)
	//make image transparent
	changeOpacity(0, imageid,imageNum);

	//load new image if we need to
	x.src = Pic[imageNum][0]

	// This variable used for changing URL in changeOpacity()
	LastImageNum = imageNum	

	//fade in image
	fade(imageid,0,100,millisec,imageNum);

	//set the current image as background (but we need to wait until after the image has transisted)
	setTimeout("document.getElementById('"+id+"').style.backgroundImage = 'url(\"" + Pic[imageNum][0] + "\")'",millisec+smoothness);
	setTimeout('running = false;', millisec+smoothness);
}

function runSlideShow(forced){
	if (paused && !forced && css && js) return;
	blendimage('slideshow','slideimg', j++, transition_speed)
	if (j >= p) j=0;
	clearTimeout(clearMe);
	clearMe = setTimeout('runSlideShow()', (transition_timer * 1000) + transition_speed); // this is where you set the timer
}
function easing(t, b, c, d, type) {
/*
--
Easing Equations (c) 2003 Robert Penner, all rights reserved.
This work is subject to the terms in http://www.robertpenner.com/easing_terms_of_use.htl.
--
*/
	switch (type) {
		case 'in': {
			return c*(t/=d)*t + b; // in
			break;
		}
		case 'inout': {
			if (t < d/2) return 2*c*t*t/(d*d) + b;
			var ts = t - d/2;
			return -2*c*ts*ts/(d*d) + 2*c*ts/d + c/2 + b;		
		}
		case 'out': {
			return -c*t*t/(d*d) + 2*c*t/d + b;
		}
		default: {
			return c*t/d + b; //linear
		}
	}
}




///// PRELOADER /////



var barheight=6;
var barwidth=180;

//DO NOT EDIT BEYOND THIS POINT
var NS4 = (navigator.appName.indexOf("Netscape")>=0 && parseFloat(navigator.appVersion) >= 4 && parseFloat(navigator.appVersion) < 5)? true : false;
var IE4 = (document.all)? true : false;
var NS6 = (parseFloat(navigator.appVersion) >= 5 && navigator.appName.indexOf("Netscape")>=0 )? true: false;
var imagesdone=false;
var blocksize=barwidth/(Pic.length);
barheight=Math.max(barheight,5);
var loaded=0, perouter, loader_bar, perdone, images=new Array();

function PreLoader(){
if(NS4){
loader_bar=document.loader_bar;
perouter=document.perouter;
perdone=document.perouter.document.layers[0].document.perdone;
}
if(NS6){
loader_bar=document.getElementById('loader_bar');
perouter=document.getElementById('perouter');
perdone=document.getElementById('perdone');
}
if(IE4){
loader_bar=document.all.loader_bar;
perouter=document.all.perouter;
perdone=document.all.perdone;
}
cliplayer(perdone,0,0,barheight,0);
window.onresize=setouterpos;
setouterpos();
for(n=0;n<Pic.length;n++){
images[n]=new Image();
images[n].src=Pic[n][0];

setTimeout('checkload('+n+')' ,n*50);
}}
function setouterpos(){
var ww=(IE4)? document.body.clientWidth : window.innerWidth;
var x=(ww-barwidth)/2;
if (ShowLoader){
	showLayer('loader_bar');
	showLayer('perouter');
	showLayer('load_text');
	showLayer("perdone");
}	
}
function dispbars(){
loaded++;
Perc=Round(100/Pic.length*loaded,0)
WriteToLayer("load_text","loading images "+Perc+"%")
cliplayer(perdone, 0, blocksize*loaded, barheight, 0);
if(loaded>=Pic.length)setTimeout('hideperouter()', 100);
}
function checkload(index){
(images[index].complete)? dispbars() : setTimeout('checkload('+index+')', 100);
}
function hideperouter(){
	imagesdone=true;
	hideLayer("load_text");
	hideLayer("loader_bar");
	hideLayer("perouter");
	hideLayer("perdone");
	changeOpacity(0,"loader_bar")
	runSlideShow(true);
}
function cliplayer(layer, ct, cr, cb, cl){
if(NS4){
layer.clip.left=cl;
layer.clip.top=ct;
layer.clip.right=cr;
layer.clip.bottom=cb;
}
if(IE4||NS6)layer.style.clip='rect('+ct+' '+cr+' '+cb+' '+cl+')';
}

/////////////////////////////////////////////////////////////

if (document.getElementById){
   var doc = 'document.', vis = '.style.visibility', pos = '.style.top';;
}
else if (document.all) {
   var doc = 'document.all.', vis = '.style.visibility', pos = '.style.top';;
}
else if (document.layers){
	var doc = 'document.document.', vis = '.visibility', pos = '.top';;
}
function showLayer(object) {
	if (document.getElementById){eval(doc + "getElementById('"+object+"')" + vis + ' = "visible"');}
	else if (document.layers || document.all){eval(doc + object + vis + ' = "visible"');}
}
function hideLayer(object) {if (document.getElementById){eval(doc + "getElementById('"+object+"')" + vis + ' = "hidden"');}
	else if (document.layers || document.all){eval(doc + object + vis + ' = "hidden"');}
}
function WriteToLayer(object,content){
	if (document.getElementById){
		document.getElementById(object).innerHTML = content;
	}
	else if (document.all){
		document.all(object).innerHTML = content;
	}
	else if (document.layers) {
		document.layers[object].document.open();
		document.layers[object].document.write(content);
		document.layers[object].document.close();
	}
}
// Rounding Function
function Round(number,X) {
    X = (!X ? 0 : X);
    return Math.round(number*Math.pow(10,X))/Math.pow(10,X);
}