//<![CDATA[
		   
// Global variable
var IPRT = {};
IPRT.CENTERS = {DATA:[], LIST:[], RES:8, CYCLE:0.01, SCALE:107};
IPRT.CENTERS.LIST = ['cber', 'vrac', 'cpcm', 'iprt', 'ccat', 'cnde', 'mrc', 'mfrc', 'aace', 'catron', 'cset', 'mpc'];

// Create object
IPRT.CENTERS.DataObject  = function (initialWidth, width, height, growTimer, shrinkTimer) {
	this.initialWidth = initialWidth;
	this.width = width;
	this.height = height;
	this.growTimer = growTimer;
	this.shrinkTimer = shrinkTimer;
};

IPRT.initCenters = function() {
	
	var i, boxElement;
	
	// Set up IPRT.CENTERS.DATAing
	for (i = 0; i < IPRT.CENTERS.LIST.length; i++) {
		 
		boxElement = document.getElementById(IPRT.CENTERS.LIST[i]);
		IPRT.CENTERS.DATA[i] = new IPRT.CENTERS.DataObject();
	
		// Get initial dimensions	
		IPRT.CENTERS.DATA[i].initialWidth = IPRT.getPixels(boxElement, 'width');
		var initialHeight = IPRT.getPixels(boxElement, 'height');
		var initialFontSize = IPRT.getPixels(boxElement, 'font-size');
		
		// Calculate steps based on initial values and scale
		IPRT.CENTERS.DATA[i].width = Math.ceil( ((IPRT.CENTERS.DATA[i].initialWidth * (IPRT.CENTERS.SCALE/100)) - 
			IPRT.CENTERS.DATA[i].initialWidth) / IPRT.CENTERS.RES);
		if (IPRT.CENTERS.DATA[i].width % 2) { IPRT.CENTERS.DATA[i].width += 1; }
		
		IPRT.CENTERS.DATA[i].height = Math.ceil( ((initialHeight * (IPRT.CENTERS.SCALE/100)) - initialHeight) / 
			IPRT.CENTERS.RES);
		if (IPRT.CENTERS.DATA[i].height % 2) { IPRT.CENTERS.DATA[i].height += 1; }
	
		// IPRT.CENTERS.DATA
		IPRT.CENTERS.DATA[i].growTimer = null;
		IPRT.CENTERS.DATA[i].shrinkTimer = null;
		
	 }
};
	
// Zoom in
IPRT.zoomIn = function (inCenter) {	
	
	// Show content to details div
    document.getElementById('showdetails').innerHTML = document.getElementById(inCenter + 'zoom').innerHTML;
	
	// Grow	
	IPRT.growDiv(inCenter);
};

// Grow division
IPRT.growDiv = function (inCenter) {
	
	var centerId = IPRT.getId(inCenter);
	var boxElement = document.getElementById(inCenter);

	// Stop shrinking
	clearTimeout(IPRT.CENTERS.DATA[centerId].shrinkTimer);
	
	// Adjust style
	boxElement.style.zIndex = 1000;	
	boxElement.style.background = "#FFFFCC";

	// Get dimensions
	var currentWidth = IPRT.getPixels(boxElement, 'width');
	var currentHeight = IPRT.getPixels(boxElement, 'height');
	var finalWidth = IPRT.CENTERS.DATA[centerId].initialWidth * (IPRT.CENTERS.SCALE / 100);

	// Grow dimensions until final size is reached
	if ( currentWidth + IPRT.CENTERS.DATA[centerId].width <=  finalWidth) {		
		boxElement.style.width = currentWidth + IPRT.CENTERS.DATA[centerId].width + 'px';	
		boxElement.style.height = currentHeight + IPRT.CENTERS.DATA[centerId].height + 'px';	
		
		// Loop based on timer
		IPRT.CENTERS.DATA[centerId].growTimer = 
			setTimeout(function () {IPRT.growDiv(inCenter);}, (IPRT.CENTERS.CYCLE * 1000) );
	 }
};

// Shrink division
IPRT.shrinkDiv = function (inCenter) {	

	var centerId = IPRT.getId(inCenter);
	var boxElement = document.getElementById(inCenter);
	
	// Stop growing
	clearTimeout(IPRT.CENTERS.DATA[centerId].growTimer);
	
	// Adjust style
	boxElement.style.zIndex = 50;
	boxElement.style.background = "#CED8E5";

	// Get current dimensions
	var currentWidth = IPRT.getPixels(boxElement, 'width');
	var currentHeight = IPRT.getPixels(boxElement, 'height');

	// Shrink dimensions until back to original size
	if ( currentWidth - IPRT.CENTERS.DATA[centerId].width >= IPRT.CENTERS.DATA[centerId].initialWidth) {		
		boxElement.style.width = currentWidth - IPRT.CENTERS.DATA[centerId].width + 'px';
		boxElement.style.height = currentHeight - IPRT.CENTERS.DATA[centerId].height + 'px';		

		// Loop based on timer
		IPRT.CENTERS.DATA[centerId].shrinkTimer = 
			setTimeout(function () {IPRT.shrinkDiv(inCenter);}, (IPRT.CENTERS.CYCLE * 1000) );
	}
};

// Get id based on center
IPRT.getId = function (inCenter) {
	var i;
	for (i = 0; i < IPRT.CENTERS.LIST.length; i++) {if (IPRT.CENTERS.LIST[i] == inCenter) {return i; }}
	return(0);
};

// Get pixels of a property for given element
IPRT.getPixels = function (inElement, inProp) {	return (parseInt(IPRT.getStyle(inElement, inProp), 10 ) ); };

// Crossbrowser get style
IPRT.getStyle = function (inElement, inProp) {	
	if (inElement.currentStyle) {return (inElement.currentStyle[inProp]);}
		else if (window.getComputedStyle) {
			return (document.defaultView.getComputedStyle(inElement, null).getPropertyValue(inProp));
		}
	return null;
};

//]]>