if (!functions_loaded){

	var pics = new Array();
	var index = new Array();
	var refresh_rate = new Array();

	var step = 5;
	var speed = 20;


	function prev(){
		curr_pic--;
		if(curr_pic < 0){ curr_pic = (num_pics - 1); }
		update_pic();
	}

	function next(){
		curr_pic++;
		if(curr_pic >= num_pics){ curr_pic = 0; }
		update_pic();
	}

	function swap_pic(pic_num){
		if(pic_num >= 0 && pic_num < num_pics){
			curr_pic = pic_num;
			update_pic();
		}
	}

	function MM_swapImgRestore() { //v3.0
		var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
	}

	function MM_preloadImages() { //v3.0
		var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
		var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
		if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
	}

	function MM_findObj(n, d) { //v4.01
		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=MM_findObj(n,d.layers[i].document);
		if(!x && d.getElementById) x=d.getElementById(n); return x;
	}

	function MM_swapImage() { //v3.0
		var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
		if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
	}


	function next_tag(tag){
		if (document.getElementById(tag+"_"+(index[tag] + 1))){
			return (index[tag] + 1);
		}else{
			return 0;
		}
	}

	function rotate_image(tag, opac, delay){
		if (index[tag] == null){
			// Start fresh
			index[tag] = 0;

			var base = document.getElementById(tag+"_"+index[tag]);
			var objFloat = document.getElementById(tag+"_"+next_tag(tag));

			base.style.zIndex = index[tag];
			base.style.filter = "alpha(opacity=100)";
			base.style.opacity = "1.0";

			objFloat.style.zIndex = (index[tag] + 1);
			objFloat.style.filter = "alpha(opacity=0)";
			objFloat.style.opacity = "0.0";
			setTimeout("rotate_image('"+tag+"', "+(opac + step)+")", (delay ? (refresh_rate[tag] / 2) : refresh_rate[tag]));
		}else{
			var base = document.getElementById(tag+"_"+index[tag]);
			var objFloat = document.getElementById(tag+"_"+next_tag(tag));

			objFloat.style.filter = "alpha(opacity="+opac+")";
			objFloat.style.opacity = (opac / 100);

			if (opac < 100){
				setTimeout("rotate_image('"+tag+"', "+(opac + step)+")", speed);
			}else{
				next_pic(tag);
			}
		}
	}

	function next_pic(tag){
		var base = document.getElementById(tag+"_"+index[tag]);
		base.style.filter = "alpha(opacity=0)";
		base.style.opacity = "0.0";

		index[tag] = next_tag(tag);
		var base = document.getElementById(tag+"_"+index[tag]);
		var objFloat = document.getElementById(tag+"_"+next_tag(tag));

		base.style.zIndex = index[tag];
		base.style.filter = "alpha(opacity=100)";
		base.style.opacity = "1.0";

		objFloat.style.zIndex = (index[tag] + 1);
		objFloat.style.filter = "alpha(opacity=0)";
		objFloat.style.opacity = "0.0";
		setTimeout("rotate_image('"+tag+"', 0)", refresh_rate[tag]);
	}

	function start_new_rotate(tag, new_pic){
		var objFloat = document.getElementById(tag+"_2");

		objFloat.style.filter = "alpha(opacity=0)";
		objFloat.style.opacity = "0.0";
		objFloat.innerHTML = "<img src='" + new_pic + "' border='0' />";

		setTimeout("rotate_image('"+tag+"', 0)", refresh_rate[tag]);
	}
	
	var functions_loaded = true;
}