/**
 *	Simple Image Tool
 *	@author Ian Chu
 */

XXVi = window.XXVi || new Object();
XXVi.image = XXVi.image || new Object();

XXVi.image.innerFit = function(imgElm, maxWidth, maxHeight) {
	if (imgElm.naturalWidth) {
		naturalWidth = imgElm.naturalWidth;
		naturalHeight = imgElm.naturalHeight;
	}
	else {
		imgElm.removeAttribute("width");
		imgElm.removeAttribute("height");
		naturalWidth = imgElm.clientWidth;
		naturalHeight = imgElm.clientHeight;
	}
	if (naturalWidth > naturalHeight) { // 橫圖
		if (naturalWidth > maxWidth) {
			imgElm.width = maxWidth;
		}
		imgElm.removeAttribute("height");
	}
	else { // 直圖
		if (naturalHeight > maxHeight) {
			imgElm.height = maxHeight;
		}
		imgElm.removeAttribute("width");
	}
}


/**
 *	Simple Marquee Tool
 *	@author Ian Chu
 */
XXVi = window.XXVi || new Object();
XXVi.marquee = XXVi.marquee || new Object();

XXVi.marquee.slideBox = function(containerElm, childElmTagName, itemsDelay, steps, delay) {
	// setting
	itemsDelay = itemsDelay || 5000; //millisecond
	steps = steps || 20;
	delay = delay || 20;
	// init
	var containerHeight = containerElm.offsetHeight || Number(containerElm.style.height.replace('px',''));
	var childElms = containerElm.getElementsByTagName(childElmTagName);
	for (i=0; i<childElms.length; i++) {
		childElms[i].style.height = containerHeight+'px';
		childElms[i].style.overflow = 'hidden';
	}
	containerElm.style.overflow = 'hidden';
	containerElm.scrollTop = 0;
	// scroll
	var fromPosY = 0; 
	var toPosY = 0; 
	var step = 0;
	var scrollItem;
	scrollItem = function() {
		if (step<steps)
			setTimeout(scrollItem, delay);
		containerElm.scrollTop = fromPosY + Math.floor((toPosY-fromPosY)*step/steps);
		step++;
		//document.title = containerElm.scrollTop+' = ('+toPosY+'-'+fromPosY+')*'+step+'/'+steps+')';
	}
	var scrollItems;
	scrollItems = function() {
		step = 0;
		fromPosY = containerElm.scrollTop;
		if (fromPosY+containerHeight == containerElm.scrollHeight) {
			fromPosY = containerElm.scrollTop = 0; 
		}
		toPosY = containerElm.scrollTop + containerHeight; 
		scrollItem();
		setTimeout(scrollItems, itemsDelay);
	}
	setTimeout(scrollItems, itemsDelay);
}

