function mediaViewer(instIndex){
	this.instIndex = instIndex;
	
	this.opacity;
	this.mvFadeText = false;
	this.mvUseDP = false;
	 this.mvUseIV = false;
 
	this.mvCount = 0;
	this.mvFileDir='';
	this.mvIndex=1;
	this.mvImages = new Array;
	this.mvTitles = new Array;
	this.mvText = new Array;
	this.mvFiles = new Array;
	this.mvSizes = new Array;
	
	this.idSuffix = ( instIndex > 1 ) ? instIndex : '';
	this.mvID = 'mediaViewer' +  this.idSuffix;
	this.mainImgID = 'mvMainImg' +  this.idSuffix;
	this.mainTitleID = 'mvMainTitle' +  this.idSuffix;
	this.mainTextID = 'mvMainText' +  this.idSuffix;
			
	this.mvShowBlockNumber = mvShowBlockNumber;
	this.mvShowBlock = mvShowBlock;
	this.mvShowTextBlock = mvShowTextBlock;
	this.mvBack= mvBack;
	this.mvNext = mvNext;
	this.mvZoom = mvZoom;
	this.mvFadeIt= mvFadeIt;
	 
}
// ===========================================
 
function mvShowBlockNumber(imgIndex){
  var imgHref = this.mvImages[imgIndex].src;
	var imgTitle= this.mvTitles[imgIndex];
	var imgText= this.mvText[imgIndex];
 
	this.mvShowBlock(imgHref, imgTitle, imgText, imgIndex);
	this.mvIndex    =imgIndex;
 	return(false);
}
// ===========================================
function mvShowBlock(imgHref, imgTitle, imgText, imgIndex){
	   
 	var elMainImg = xbGetElement(window, this.mainImgID);
	var elMainTitle = xbGetElement(window, this.mainTitleID);
	var elMainText = xbGetElement(window, this.mainTextID);
  
	this.mvShowTextBlock(imgIndex);

	if (elMainImg) elMainImg.src = imgHref;
	if (elMainTitle)xbSetInnerHTML(window, this.mainTitleID,imgTitle);
	if (elMainText)xbSetInnerHTML(window,   this.mainTextID,imgText);

 	this.mvFadeIt(true);
}
// ===========================================
function mvShowTextBlock(imgIndex){
    var linkIndex = 1;
    var elText;
    
    while (elLink = xbGetElement(window, 'mvNumLink' + this.idSuffix + '_' + linkIndex)){
        
        xbSetElClass(elLink,'mvNumLink');
        linkIndex++;
    }

 	elCurLink = xbGetElement(window, 'mvNumLink' + this.idSuffix + '_' + imgIndex );

	if (elCurLink) xbSetElClass(elCurLink,'mvNumLinkA');  
}

// ===========================================
function mvFadeIt(init) {
var win = window;
var strImgID = String();
var strTextID = String();

	strImgID=  this.mainImgID;
  strTextID=  this.mainTextID;
 	var elImg = xbGetElement(window, this.mainImgID);
 	var elMainTitle = xbGetElement(window, this.mainTitleID);
	var elText = xbGetElement(window, this.mainTextID);
  
	if ( init )	opacity=1;
	if (elImg){
		if (navigator.appName.indexOf("Microsoft")!=-1&&parseInt(navigator.appVersion)>=4){	
         	elImg.filters.alpha.opacity = opacity;
            	if (this.mvFadeText && elText) elText.filters.alpha.opacity = opacity;
  		}
		else if (navigator.appName.indexOf("Netscape")!=-1) {
            	elImg.style.MozOpacity=opacity/100;
               if (this.mvFadeText && elText)  elText.style.MozOpacity=opacity/100;
  		}
	 	opacity+=10	;
	 	elImg.style.visibility='visible';;
	 	if (this.mvFadeText && elText) elText.style.visibility='visible';;
	 	if ( opacity < 100) {
	 		var pThis = this;
			var f = function(){pThis.mvFadeIt();}
	 		window.setTimeout(f,60);
	 	}
 	}
}

function mvBack(){
   	this.mvCount = this.mvImages.length;
     this.mvIndex--;
     if (this.mvIndex < 1) this.mvIndex=this.mvCount-1;
     this.mvShowBlockNumber( this.mvIndex);
     //mvUpdateImage();
     return(false);
}
function mvZoom( ){
  	if (this.mvUseDP){
		dp.setSSData( this.mvFileDir, this.mvFiles , this.mvTitles, this.mvSizes, this.mvText );
		dp.ssView( this.mvIndex  );
	}
	else if (this.mvUseIV){
		// COmbine titlers & text
		var arText = new Array();
		for(f=0;f<this.mvTitles.length;f++){
            	if (this.mvText[f] && this.mvText[f].length) arText[f] = this.mvTitles[f] + '|' +  this.mvText[f];
            	else arText[f] = this.mvTitles[f] ;;
          }
     	iViewFiles(this.mvFileDir, this.mvFiles , arText ,this.mvIndex-1 ); // cos we use bad 1-based indexing
  	}

	return(false);
}
function mvNext(){
	this.mvCount = this.mvImages.length;
     this.mvIndex++;
     if (this.mvIndex >=  this.mvCount) this.mvIndex=1;
     this.mvShowBlockNumber( this.mvIndex);
     //mvUpdateImage();
     return(false);
}
function mvUpdateImage(){
  	//alert( ssIndex + ':' + ssCount + '=' + ssImages[ssIndex].src);
	var elMainImg = xbGetElement(window, 'mvMainImg');
	elMainImg.src =   this.mvImages[this.mvIndex].src;

	var elMainTitle = xbGetElement(window, 'mvMainTitle');
     if (elMainTitle)xbSetInnerHTML(window,  'mvMainTitle',this.mvTitles[this.mvIndex]);

	var elMainText = xbGetElement(window, 'mvMainText');
     if (elMainText)xbSetInnerHTML(window,  'mvMainText',this.mvText[this.mvIndex]);

	this.mvFadeIt(true);
}

