﻿// JScript File

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 shiftOpacity(id, millisec) {
	//if an element is invisible, make it visible, else make it ivisible
	if(document.getElementById(id).style.opacity == 0) {
		opacity(id, 0, 100, millisec);
	} else {
		opacity(id, 100, 0, millisec);
	}
}

function adjustImageSize(pictureHeight, pictureWidth, imageId, ss_width, ss_heigth ){        
    try{        
        if (pictureHeight>pictureWidth){       
            //Portrait format
            if (pictureHeight > ss_heigth)            
            {
                document.getElementById(imageId).width = pictureWidth*ss_heigth/pictureHeight;
                document.getElementById(imageId).height = ss_heigth;
            }
	        else{	            
	            document.getElementById(imageId).width = ss_width;
	            document.getElementById(imageId).height = ss_heigth;
	            
	            }
        }
        else{
            //Landscape format
            if (pictureWidth > ss_width)
            {
                document.getElementById(imageId).width = ss_width;
                document.getElementById(imageId).height = pictureHeight*ss_width/pictureWidth;
            }
	        else{
	            document.getElementById(imageId).width = ss_width;
	            document.getElementById(imageId).height = ss_heigth;
	            }        
        }
    }
    catch(e){
    }
}

function blendimage(divid, imageid, newImage, millisec,containerdivid, ss_width, ss_heigth ) {
	var speed = Math.round(millisec / 100);
	var timer = 0;
	var is_opera = (navigator.userAgent.toLowerCase().indexOf("opera") != -1);
   if ((document.all)&&(!is_opera)){
      document.getElementById(imageid).style.filter="blendTrans(duration=2)";
      document.getElementById(imageid).style.filter="blendTrans(duration=crossFadeDuration)";
      document.getElementById(imageid).filters.blendTrans.Apply();      
   }
   else{	
		//set the current image as background
		document.getElementById(containerdivid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")";
		document.getElementById(divid).src = document.getElementById(imageid).src;
		document.getElementById(divid).height = document.getElementById(imageid).height;
		document.getElementById(divid).width = document.getElementById(imageid).width;
		changeOpac(100, divid);
		//make image transparent
		changeOpac(0, imageid);
	}
	//make new image
	document.getElementById(imageid).src = newImage.src;
	adjustImageSize(newImage.height, newImage.width, imageid, ss_width, ss_heigth);
	if ((document.all)&&(!is_opera)){
		document.getElementById(imageid).filters.blendTrans.Play();	
	}
	else{
		//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);
}
