/* Code is heavy for mutex etc, to stop people from "breaking"
 * the correct functionality by going crazy with clicks. 
 * Double ensure syncronisation. 
 */

function findPosXOne(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	} else if (obj.x) {
		curleft += obj.x;
	}
	return curleft;
}

function findPosYOne(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	} else if (obj.y) {
		curtop += obj.y;
	}
	return curtop;
}

var imagePosOne = 0;
var IMAGE_ID_PREFIX_ONE = "lomOne-lead";
var currentTimeoutOne;
var faderTimeoutOne;
var timeoutMutexOne = 0;

var TOTAL_IMAGES_ONE = 0;
var toFadeOne;
var toDisplayOne;

var prevImageSrcOne;


function loopCycloMaticOne() {
    // mutex
    if(timeoutMutexOne === 0) {
        displayNextOne(0);
		clearTimeout(currentTimeoutOne);
	    currentTimeoutOne = window.setTimeout("loopCycloMaticOne(0)", 6000);
	}
}

function startCycloMaticOne(bootstrap) {
    timeoutMutexOne = 0;
	clearTimeout(currentTimeoutOne);
	currentTimeoutOne = window.setTimeout("loopCycloMaticOne(0)", 6000);
}


function stopCycloMaticOne() {
    timeoutMutexOne = 1;
    clearTimeout(currentTimeoutOne);
}


function setOpacityOne(obj, opacity) {
    opacity = (opacity == 100)?99.999:opacity;
    // IE/Win
    obj.style.filter = "alpha(opacity:"+opacity+")";
    // Safari<1.2, Konqueror
    obj.style.KHTMLOpacity = opacity/100;
    // Older Mozilla and Firefox
    obj.style.MozOpacity = opacity/100;
    // Safari 1.2, newer Firefox and Mozilla, CSS3
    obj.style.opacity = opacity/100;
}


function fadeInOne(objId,opacity,amount) {
    if (document.getElementById) {
        obj = document.getElementById(objId);
        if (opacity <= 100) {
		    if(opacity == 20) {
			    amount = amount*2;
			} else if(opacity == 40) {
			    amount = amount*2;
			} else if(opacity == 60) {
			    amount = amount/2;
			} else if(opacity == 80) {
			    amount = amount/2;
			}
		    setOpacityOne(obj, opacity);
            opacity += amount;
            faderTimeoutOne = window.setTimeout("fadeIn('"+objId+"',"+opacity+","+amount+")", 2);
        } else {
		    setOpacityOne(obj, 100);
		    return(true);
		}
    }
}

function displayNoneIdOne(objId) {
    document.getElementById(objId).style.display = "none";
}

function displayNextOne(immediate) {
    toFadeOne = IMAGE_ID_PREFIX_ONE + imagePosOne;
	//alert(toFadeOne);
	prevImageSrcOne = document.getElementById(toFadeOne).getAttribute("src");

	document.getElementById("lead-group").style.backgroundImage = "url("+prevImageSrcOne+")";
	document.getElementById(toFadeOne).style.display = "none";
	
	if(imagePosOne == TOTAL_IMAGES_ONE) { 
	    imagePosOne = 0; 
	} else {
	    ++imagePosOne;
	}
	
	toDisplayOne = IMAGE_ID_PREFIX_ONE + imagePosOne;

	if(immediate) {
	    setOpacityOne((document.getElementById(toDisplayOne)), 100);
	    document.getElementById(toDisplayOne).style.display = "block";
	} else {
	    document.getElementById(toDisplayOne).style.display = "block";
	    setOpacityOne((document.getElementById(toDisplayOne)), 0);
        fadeInOne(toDisplayOne, 0, 2);
	}

}

function displayPreviousOne(immediate) {
    toFadeOne = IMAGE_ID_PREFIX_ONE + imagePosOne;
	
	prevImageSrcOne = document.getElementById(toFadeOne).src;

	document.getElementById("leadOne-group").style.backgroundImage = "url("+prevImageSrcOne+")";
	document.getElementById(toFadeOne).style.display = "none";
	
	if(imagePosOne === 0) { 
	    imagePosOne = TOTAL_IMAGES_ONE; 
	} else {
	    --imagePosOne;
	}
	
	toDisplayOne = IMAGE_ID_PREFIX_ONE + imagePosOne;

	if(immediate) {
	    setOpacityOne((document.getElementById(toDisplayOne)), 100);
	    document.getElementById(toDisplayOne).style.display = "block";
	} else {
	    setOpacityOne((document.getElementById(toDisplayOne)), 0);
	    document.getElementById(toDisplayOne).style.display = "block";
	    fadeInOne(toDisplayOne, 0, 1);   
	}

}
 

function cycloMaticInitOne() {
	document.getElementById("imageOne-lead").onmouseover = function() {
	    stopCycloMaticOne();
	};
	
	document.getElementById("imageOne-lead").onmouseout = function() {
	    startCycloMaticOne(1);
	};


	startCycloMaticOne(1);
}
