var nImage = "";
var iId = "";


function JacksImageFader (imageId, imageArray){
	this._imageId = imageId;
	this._imageArray = imageArray;
	this._isOn = 1;
	this._sponIndex = 1;
	this._opacStart = 0;// On: 0, Off: 100
	this._opacEnd = 100;// On: 100, Off: 0
	this._millisec = 800;
	this._opacity = 0;
	this.nImg = "";
	this._err = 0;
}

JacksImageFader.prototype._err;
JacksImageFader.prototype._imageId;
JacksImageFader.prototype._imageArray;
JacksImageFader.prototype._isOn;
JacksImageFader.prototype._sponIndex;
JacksImageFader.prototype._opacStart;
JacksImageFader.prototype._opacEnd;
JacksImageFader.prototype._millisec;
JacksImageFader.prototype._opacity;
JacksImageFader.prototype._nImg;

JacksImageFader.prototype.init = function(){
	//document.write(this._imageId+"<br>");
	if(this._imageArray.length < 2){
		document.write("<span> Two or more images required for script to run!</span>");
		this._err = 1;
		return;
	}
	var imgArr = this._imageArray;
	document.write("<img src='" + imgArr[0] + "' id='"+this._imageId+"' width='286' height='132'>");
	//setInterval('this.turnOn()', 5000);
}

JacksImageFader.prototype.printArray = function(){
	var tmpArr = this._imageArray;
	for(var x = 0; x < tmpArr.length; x++){
		document.write(tmpArr[x] + "<br>");
	}
}

JacksImageFader.prototype.nextImage = function (){
	var sponsors = new Array();
	sponsors = this._imageArray;
	var imgRet = sponsors[this._sponIndex];
	this._sponIndex++;
	if(this._sponIndex >= sponsors.length){
		this._sponIndex=0;
	}
	//alert("return: " + imgRet + " && sponsorIndex: " + this._sponIndex);
	return imgRet;
}

JacksImageFader.prototype.turnOn2 = function (){
	turnOn();
}
	
JacksImageFader.prototype.turnOn = function (){
	//this._imageId = obj;
	if(this._err == 1){
		return;
	}
	if(this._isOn == 1){
		turnOff(this._imageId);
		this._isOn = 0;
		nImage = this.nextImage();
		iId = this._imageId;
		//alert("value: " + this._imageId + " && " + this.nImg);
		//setTimeout("alert('value: ' + iId + ' && ' + nImage);",900);
		setTimeout("document.getElementById(iId).src=nImage",900);
		setTimeout("doTurnOn(iId)",1000);
		this._isOn = 1;
	}else{
		doTurnOn(this._imageId);
		this._isOn = 1;
	}
}

function doTurnOn(myObj){
	document.getElementById(myObj).style.visibility = "visible";
	opacity(myObj, 0, 100, 800);
	//isOn = 1;
}

function turnOff(myObj){
	opacity(myObj, 100, 0, 800);
	//setTimeout("document.getElementById(myObj).style.visibility = \"hidden\"",1000);
	//isOn = 0;
}
/*
JacksImageFader.prototype.turnOn = function (){
	//this._imageId = obj;
	if(this._isOn == 1){
		this.turnOff();
		this.nImg = this.nextImage();
		//alert("value: " + this._imageId + " && " + this.nImg);
		setTimeout("document.getElementById(this._imageId).src=this.nImg",900);
		setTimeout(this.doTurnOn,1000);
	}else{
		this.doTurnOn();
	}
}

JacksImageFader.prototype.doTurnOn = function (){
	document.getElementById(this._imageId).style.visibility = "visible";
	opacity(this._imageId, 0, 100, 800);
	this._isOn = 1;
}

JacksImageFader.prototype.turnOff = function (){
	opacity(this._imageId, 100, 0, 800);
	setTimeout("document.getElementById(this._imageId).style.visibility = \"hidden\"",1000);
	this._isOn = 0;
}
/**/

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++;
        }
    }
}
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 + ")";
}

JacksImageFader.prototype.testFunct = function () {
	alert("testing the function: " + this._imageId);
}

function insideMe(some){ 
	alert("something is affot!!!! " + some + " Mwhaahhahahahaha!!! :-D");
}