﻿emRotate.restartDelay = 500; // delay onmouseout before call to rotate
emRotate.col = []; 

// arguments: image name, rotation speed, path to images (optional), 
// target, i.e. name of window to direct url's to onclick (optional)
function emRotate(name, prodName, specDesc, path, tgt) {
    this.name = name; this.speed = 3500; // default speed of rotation
    this.path = path || ""; this.tgt = tgt;
    this.ctr = 0; this.timer = 0; this.prods = []; this.actions = [];
    this.product=prodName; this.specDesc = specDesc;
    this.index = emRotate.col.length; emRotate.col[this.index] = this;
    this.animString = "emRotate.col[" + this.index + "]";
}

emRotate.prototype.addProducts = function() { // preloads images
    var prod;
    for (var i=0; arguments[i]; i++) {
        img = new Image();
        img.src = this.path + arguments[i];
        this.imgs[this.prods.length] = prod;
    }
}

emRotate.prototype.addActions = function() {
    var len = arguments.length; // in case an argument's value is null
    for (var i=0; i < len; i++) 
        this.actions[this.actions.length] = arguments[i]; 
}

emRotate.prototype.rotate = function() {
    clearTimeout(this.timer); this.timer = null;
    if (this.ctr < this.prods.length-1) this.ctr++;
    else this.ctr = 0;
    var m = emRotate.col[this.ctr];
    fadeOut(100);
    var retStr = '';
    var t = document.getElementById('specials');
    retStr += "<table cellpadding='0' cellspacing='0' border='0' width='100%'>\n";
    retStr += "<tr><td class='text10' align='center'><img src='"+m.path+"' alt='"+m.prodName+"' title=''/></td></tr>";
    retStr += "<tr><td class='text10'><b>"+m.prodName+"</b></td></tr>";
    retStr += "<tr><td class='text10'>&nbsp;</td></tr>";
    retStr += "<tr><td class='text10'>"+m.specDesc+"</td></tr>";
    retStr += "<tr><td>&nbsp;</td></tr>";
    retStr += "</table>";
    t.innerHTML = retStr;
    fadeIn(0);
    this.timer = setTimeout( this.animString + ".rotate()", this.speed);
}

// Start rotation for all instances 
emRotate.start = function() {
    var len = emRotate.col.length, obj;
    for (var i=0; i<len; i++) {
        obj = emRotate.col[i];
        if (obj && obj.name ) // check for empty instance created by dw_random.js
            obj.timer = setTimeout( obj.animString + ".rotate()", obj.speed);
    }
}

// called onclick of images
emRotate.doClick = function(n) {
    var obj = emRotate.col[n]; 
	if ( !document.images || !obj ) return true;
    if ( obj.actions && obj.actions[obj.ctr] ) {
        if ( typeof obj.actions[obj.ctr] == "string" ) { // url
            if ( obj.tgt ) { // open in separate window
                // add features here if you want, i.e., chrome, size, position, ...
                var win = window.open(obj.actions[obj.ctr], obj.tgt);
                if ( win && !win.closed ) win.focus();
            } else {
                window.location = obj.actions[obj.ctr];
            }
        } else { // function pointer 
            obj.actions[obj.ctr](); // execute function
        }
    }
    return false;
}

// for stopping/starting onmouseover/out
emRotate.pause = function(n) {	
    emRotate.clearTimers(n);
}

emRotate.clearTimers = function(n) {
    var obj = emRotate.col[n]; 
    if ( obj ) {
        clearTimeout( obj.timer ); obj.timer = null;
    }
}

emRotate.resume = function(n) {
    emRotate.clearTimers(n);
    var obj = emRotate.col[n]; 
    if ( obj ) {
        obj.timer = setTimeout( obj.animString + ".rotate()", emRotate.restartDelay );
    }
}
var fadeTargetId = 'specials';
var	fadeTarget;
var preInitTimer;
preInit();

function preInit() {
	if ((document.getElementById)&&(fadeTarget=document.getElementById(fadeTargetId))) {
		fadeTarget.style.display = "none";
		if (typeof preInitTimer != 'undefined') clearTimeout(preInitTimer);
	} else {
		preInitTimer = setTimeout("preInit()",2);
	}
}

function fadeIn(opacity) {
	if (fadeTarget) {
	    if (opacity <=100){
			if (fadeTarget.style.MozOpacity!=null) {
				fadeTarget.style.MozOpacity = (opacity/100)-.001;
			} else if (fadeTarget.style.opacity!=null) {
				fadeTarget.style.opacity = (opacity/100)-.001;
			} else if (fadeTarget.style.filter!=null) {
				fadeTarget.style.filter = "alpha(opacity="+opacity+")";
			}
			opacity += 5;
			window.setTimeout("fadeIn("+opacity+")", 10);
		}else{
		    if (fadeTarget.style.MozOpacity!=null) {
				fadeTarget.style.MozOpacity = 1;
			} else if (fadeTarget.style.opacity!=null) {
				fadeTarget.style.opacity = 1;
			} else if (fadeTarget.style.filter!=null) {
				fadeTarget.style.filter = "alpha(opacity=100)";
			}
		}
	}
}
function fadeOut(opacity,loc) {
	var value = loc;
	if (fadeTarget) {
		if (opacity >= 0) {
			if (fadeTarget.style.MozOpacity!=null) {
				fadeTarget.style.MozOpacity = (opacity/100)-.001;
			} else if (fadeTarget.style.opacity!=null) {
				fadeTarget.style.opacity = (opacity/100)-.001;
			} else if (fadeTarget.style.filter!=null) {
				fadeTarget.style.filter = "alpha(opacity="+opacity+")";
			}
			opacity = opacity-5;
			if(value!=null){
			    window.setTimeout("fadeOut("+opacity+",'"+loc+"')", 10);
			}else{
			    window.setTimeout("fadeOut("+opacity+")", 10);
			}
		}else{
		    if(value!=null){
		        window.location.search = loc;
		    }else{
		        document.forms[0].submit()
		    }
		}
	}
}