/*
	conveyor.js
	v0.1
	Oleksandr, 2009-08-28
*/

if (typeof(conveyorSpeed) == "number" && conveyorSpeed >= 1 && conveyorSpeed <= 100) {
	conveyorSpeed = 101 - conveyorSpeed;
} else {
	var conveyorSpeed = 30;
}

if (typeof(conveyorPeep) != "boolean") {
	var conveyorPeep = false;
}

if (typeof(conveyorOccurrence) != "boolean") {
	var conveyorOccurrence = true;
}

var
	IE = document.all,
	conveyor = conveyorCoordinates = conveyorWidth = conveyorRubber_Coordinates = conveyorRubber_Width = conveyorTimer = false,
	conveyorOpacity = 0.00,
	conveyorBase_Position = conveyorPseudo_Position = 0;

function overseerConveyor() {
	conveyorCoordinates = getCoordinates("conveyor");
	if (conveyorWidth != conveyorCoordinates.width) {
		conveyorWidth = conveyorCoordinates.width;
		if (conveyorOccurrence && getElement("conveyorLid")) {
			getElement("conveyorLid").style.width = conveyorWidth + "px";
		}
		getElement("conveyorClipper").style.width = conveyorWidth + "px";
	}
	conveyorRubber_Coordinates = getCoordinates("conveyorRubber");
}

function occurrenceConveyor(start) {
	if (IE) {
		if (start) {
			getElement("conveyorClipper").className = "filter";
			if (getElement("conveyorClipper").filters[0]) {
				getElement("conveyorClipper").filters[0].apply();
				getElement("conveyorClipper").filters[0].play();
				window.setTimeout("occurrenceConveyor(false)", 5000);
			}
		} else {
			getElement("conveyorClipper").removeAttribute("className");
			deleteElement("conveyorLid");
		}
	} else {
		if (conveyorOpacity.toFixed(2) != 1.00) {
			getElement("conveyorClipper").style.opacity = conveyorOpacity.toFixed(2);
			conveyorOpacity += 0.05;
			window.setTimeout("occurrenceConveyor(false)", 250);
		} else {
			deleteElement("conveyorLid");
		}
	}
}

function getConveyor() {
	if (getElement("conveyor")) {
		conveyor = true;
		conveyorCoordinates = getCoordinates("conveyor");
		conveyorWidth = conveyorCoordinates.width;
		if (conveyorOccurrence && getElement("conveyorLid")) {
			getElement("conveyorLid").style.width = conveyorWidth + "px";
		} else {
			deleteElement("conveyorLid");
		}
		getElement("conveyorClipper").style.width = conveyorWidth + "px";
		getElement("conveyorPseudo").innerHTML = getElement("conveyorRubber").innerHTML = getElement("conveyorBase").innerHTML;
		
		conveyorRubber_Coordinates = getCoordinates("conveyorRubber");
		conveyorRubber_Width = conveyorRubber_Coordinates.width;
		conveyorRubber_Width < conveyorWidth ? conveyorRubber_Width = conveyorWidth : "";
		
		conveyorPseudo_Position = conveyorRubber_Width;
		
		if (conveyorPeep || conveyorRubber_Width == conveyorWidth) {
			conveyorBase_Position += conveyorWidth;
			conveyorPseudo_Position += conveyorWidth;
		} else {
			conveyorBase_Position -= conveyorRubber_Coordinates.width - (conveyorWidth / 2).toFixed(0);
			conveyorPseudo_Position -= conveyorRubber_Coordinates.width - (conveyorWidth / 2).toFixed(0);
		}
		window.setInterval("overseerConveyor()", 500);
		conveyorOccurrence ? window.setTimeout("occurrenceConveyor(true)", 1000) : "";
		conveyorTimer = window.setTimeout("setConveyor()", 1000);
	}
}

function setConveyor(action) {
	if (conveyor && typeof(action) == "boolean") {
		window.clearInterval(conveyorTimer);
		if (action == true) {
			conveyorTimer = window.setTimeout("setConveyor()", conveyorSpeed);
		}
	} else {
		conveyorBase_Position--;
		conveyorPseudo_Position--;
		
		getElement("conveyorBase").style.left = conveyorBase_Position + "px";
		getElement("conveyorPseudo").style.left = conveyorPseudo_Position + "px";
		
		if (Math.abs(conveyorBase_Position) >= conveyorRubber_Width) {
			conveyorBase_Position = conveyorPseudo_Position + conveyorRubber_Width;
		}
		if (Math.abs(conveyorPseudo_Position) >= conveyorRubber_Width) {
			conveyorPseudo_Position = conveyorBase_Position + conveyorRubber_Width;
		}
		
		conveyorTimer = window.setTimeout("setConveyor()", conveyorSpeed);
	}
}