﻿var mFlexibleBoxes = new Array();
var mFlexibleImages = new Array();
var mFlexibleBoxSpeed = 50;
var mFlexibleImageSpeed = 1;
function changeBox(pID, pValue, pCut) {
	if(mFlexibleBoxes[pID]) {
		if(mFlexibleBoxes[pID].mValue == 0) mFlexibleBoxes[pID].visible(10);
		else mFlexibleBoxes[pID].visible(0);
	}
	else {
		mFlexibleBoxes[pID] = new flexibleBox(pID, pValue, pCut);
		changeBox(pID, pValue, pCut);
	}
}
function parseValue(pValue) {
	if(pValue < 0) pValue = 0;
	else if(pValue > 10) pValue = 10;
	return pValue;
}
function flexibleBox(pID, pValue, pCut) {
	this.mID = pID;
	this.mValue = pValue;
	this.mCut = pCut;
	this.tValue = parseValue(this.mValue);
	this.mFlag = true;
	this.mTimeout = null;
	this.visible = visible;
}
function visible(pValue) {
	if(this.mFlag == true) {
		this.mFlag = false;
		this.tValue = parseValue(pValue);
		this.mTimeout = window.setTimeout("zoomBox('"+this.mID+"')", mFlexibleBoxSpeed);
	}
}
function zoomBox(pID) {
	window.clearTimeout(mFlexibleBoxes[pID].mTimeout);
	if(mFlexibleBoxes[pID].mFlag == false) {
		if(mFlexibleBoxes[pID].mValue != mFlexibleBoxes[pID].tValue) {
			if(mFlexibleBoxes[pID].mValue < mFlexibleBoxes[pID].tValue) mFlexibleBoxes[pID].mValue++;
			else mFlexibleBoxes[pID].mValue--;
			try {
				document.getElementById(pID).style.opacity = mFlexibleBoxes[pID].mValue/10;
			}
			catch(e) {}
			if(mFlexibleBoxes[pID].mValue > 0) {
				if(mFlexibleBoxes[pID].mCut == 1) document.getElementById(pID).style.height = "100%";
				document.getElementById(pID).style.visibility = "visible";
			}
			else {
				if(mFlexibleBoxes[pID].mCut == 1) document.getElementById(pID).style.height = "0";
				document.getElementById(pID).style.visibility = "hidden";
			}
			mFlexibleBoxes[pID].mTimeout = window.setTimeout("zoomBox('"+pID+"')", mFlexibleBoxSpeed);
		}
		else mFlexibleBoxes[pID].mFlag = true;
	}
}
function changeImage(pID, pMaxWidth) {
	if(mFlexibleImages[pID]) {
		if(mFlexibleImages[pID].mValue == mFlexibleImages[pID].mWidth) mFlexibleImages[pID].zoom(mFlexibleImages[pID].mMaxWidth);
		else mFlexibleImages[pID].zoom(mFlexibleImages[pID].mWidth);
	}
	else {
		mFlexibleImages[pID] = new flexibleImage(pID, pMaxWidth);
		changeImage(pID, pMaxWidth);
	}
}
function flexibleImage(pID, pMaxWidth) {
	this.mID = pID;
	this.mValue = document.getElementById(pID).width;
	this.mWidth = this.mValue;
	this.mHeight = document.getElementById(pID).height;
	this.mMaxWidth = pMaxWidth;
	this.mFlag = true;
	this.mTimeout = null;
	this.zoom = zoom;
}
function zoom(pWidth) {
	this.tValue = pWidth;
	if(this.mFlag == true) {
		this.mFlag = false;
		this.mTimeout = window.setTimeout("zoomImage('"+this.mID+"')", mFlexibleImageSpeed);
	}
}
function zoomImage(pID) {
	window.clearTimeout(mFlexibleImages[pID].mTimeout);
	if(mFlexibleImages[pID].mFlag == false) {
		if(mFlexibleImages[pID].mValue != mFlexibleImages[pID].tValue) {
			for(var i = 0; i < 5; i++) {
				if(mFlexibleImages[pID].mValue < mFlexibleImages[pID].tValue) mFlexibleImages[pID].mValue++;
				else mFlexibleImages[pID].mValue--;
			}
			document.getElementById(pID).width = mFlexibleImages[pID].mValue;
			document.getElementById(pID).height = Math.round(mFlexibleImages[pID].mHeight / mFlexibleImages[pID].mWidth * mFlexibleImages[pID].mValue);
			mFlexibleImages[pID].mTimeout = window.setTimeout("zoomImage('"+pID+"')", mFlexibleImageSpeed);
		}
		else mFlexibleImages[pID].mFlag = true;
	}
}