// ============================================================================
// Gallery
// ============================================================================
// Specify image paths and optional link (set link to "" for no link):
var dynimages=new Array();
var fixed_size_x = 0;
var fixed_size_y = 0;
var tumbSize=0;
// Set optional link target to be added to all images with a link:
var optlinktarget=""
// Set image border width
var imgborderwidth=0
// Optionally, change 1.0 and 0.7 below to affect Wipe gradient size and duration in seconds in IE5.5+:
var filterstring="progid:DXImageTransform.Microsoft.GradientWipe(GradientSize=1.0 Duration=0.7)"
var galleryLoaded=0;
function return_img_code(theimg){
  var imghtml="";
  //var tmpimg = new Image();
  if (theimg[2]!=""){
  	imghtml='<a href="'+theimg[2]+'" target="'+optlinktarget+'">';
  }	
  imghtml+='<img src="'+theimg[1]+'" border="'+imgborderwidth+'"'+' width="'+theimg[4]+'"'+' height="'+theimg[5]+'"'+'>';
  if (theimg[2]!=""){
  	imghtml+='</a>';
  }	
  return imghtml;
}

function tumbnail(loadarea){
	var str = '<table cellspacing=5 cellpadding=0 style="align:center;"><tr><td>';
	var curlen=0;
	for(var i=1; i<dynimages.length; i++){
		var tmp = dynimages[i];
		curlen += tumbSize;
		if (curlen > (fixed_size_x-tumbSize-100)){
		 	str += '</tr><tr>';
		  curlen=0;
	  }
		str += '<td widht='+tumbSize+' height='+tumbSize+'><a href="javascript:modifyimage('+"'"+loadarea+"'"+','+i+')"><img border=0 src="'+tmp[1]+'" width="'+tmp[6]+'" height="'+tmp[7]+'"></a></td>';
	}
	str += '</td></tr></table>';
	var obj = document.getElementById(loadarea);
	if (obj != null){ obj.innerHTML = str; }
}

function return_quicktime_code(themovie){
	var imghtml="";
  imghtml += "<embed src='" + themovie[1] + "' width='" + fixed_size_x + "' height='" + fixed_size_y + 
  	"' type='video/quicktime' controller='true' autoplay='true' hspace='0' vspace='0' cache='true' loop='true'>";
  return imghtml;	
}
// media-type/media-URL/optional-link/optional-text/widht/height
function modifyimage(loadarea, imgindex){
  if (document.getElementById(loadarea) != null){
    var imgobj=$(loadarea);
  	var media = dynimages[imgindex];
  	if (media[0] == 'QuickTime'){
  		imgobj.innerHTML=return_quicktime_code(media)
  	}
  	else{
  		imgobj.innerHTML=return_img_code(media)
  	}
  	if (imgobj.filters && window.createPopup){
  		imgobj.style.filter="progid:DXImageTransform.Microsoft.GradientWipe(GradientSize=1.0 Duration=0.7)";
  		imgobj.filters[0].Apply();
  		imgobj.filters[0].Play();
  	}
  	if (document.getElementById('galleryTextID') != 'undefined'){
  		var helptext = media[3] != 'undefined' ? media[3] : '';
  		helptext += "<hr size=1>" + '<a class=l target=_blank href="' + media[1] + '">Download</a>';
  		document.getElementById('galleryTextID').innerHTML=helptext;
  	}
  }
}

function galleryMO(loadarea,i){
	if (galleryLoaded && 0){
		modifyimage(loadarea,i);
	}
}
// Preload Image With Update Bar Script
doPreload=1;
var lengthOfPreloadBar = 200 // Length of preload bar (in pixels)
var heightOfPreloadBar = 4 // Height of preload bar (in pixels)
var preImages = new Array();
var loaded = new Array();
var i,timerID,currCount = 0
var dots = new Array() 
dots[0] = new Image(1,1)
dots[0].src = "../olicms/img/black.gif" // default preloadbar color (note: You can substitute it with your image, but it has to be 1x1 size)
dots[1] = new Image(1,1)
dots[1].src = "../olicms/img/blue.gif" // color of bar as preloading progresses (same note as above)
// Skip preloading
function stopPreload(){
	doPreload=0;
}
// Load images
function loadImages() { 
for (i = 0; i < dynimages.length; i++) { 
	preImages[i] = new Image()
	preImages[i].src = dynimages[i][1]
}
for (i = 0; i < preImages.length; i++) { 
	loaded[i] = false
}
checkLoad()
}
// Set a new time-out if preload is not finished
function checkLoad() {
if (currCount == preImages.length) { 
	galleryLoaded=1;
	if (timerID)
    clearTimeout(timerID);
	//tumbnail('dynloadarea');
	//modifyimage('dynloadarea',1);
	return;
}
for (i = 0; i <= preImages.length; i++) {
	if (loaded[i] == false && preImages[i].complete) {
		loaded[i] = true
		eval("document.img" + currCount + ".src=dots[1].src")
		currCount++
	}
}
if (doPreload){
	timerID = setTimeout("checkLoad()",10) 
}
}

function write_preloadBar(){
if (document.getElementById('preloadBar') != null) {
	var coverage = Math.floor(lengthOfPreloadBar/dynimages.length);
	var leftOverWidth = lengthOfPreloadBar%coverage
	var preloadBar = ''
	for (i = 0; i < dynimages.length-1; i++) {
		preloadBar += '<img src="' + dots[0].src + '" width="' + coverage + '" height="' + heightOfPreloadBar + '" name="img' + i + '" align="absmiddle">'
	}
	preloadBar += '<img src="' + dots[0].src + '" width="' + (leftOverWidth+coverage) + '" height="' + heightOfPreloadBar + '" name="img' + (dynimages.length-1) + '" align="absmiddle">'
	document.getElementById('preloadBar').innerHTML = preloadBar;
	loadImages()
}
}

function gallery_onload(){
	if (dynimages.length > 0){
		//alert ("Dynimages: " + dynimages.length);
		currCount=0;
		preImages = new Array();
		loaded = new Array();
		write_preloadBar()
		tumbnail('dynloadarea');
	}
}
