
window.addEvent( "domready", initFunc );

function initFunc()
{
	
	adjustContainerHeight();
	$('middleMain').addEvent( 'enterFrame', resizeTrigger );
	setInterval( function() { $('middleMain').fireEvent( 'enterFrame' ); }, 2000 );
	
}

function adjustContainerHeight()
{
	var h = $('lowest').getTop();
	$('middleMain').setStyle( 'height', h );
	//alert( h );
}

function resizeTrigger()
{
	//alert("trigg")
	resize(null, true);
}
	
	
	
var Delegate = {
	create: function(target, handler)
	{
		if(arguments.length > 2)
		{
			var _params = [];
			for(var n = 2; n < arguments.length; ++n) _params.push(arguments[n]);
				return function() { return handler.apply( target,_params); }
		}else{
			return function() { return handler.call( target ); }
		}
	}
}


var Position = {
	  cumulativeOffset: function(element) {
		var valueT = 0, valueL = 0;
		do {
		  valueT += element.offsetTop  || 0;
		  valueL += element.offsetLeft || 0;
		  element = element.offsetParent;
		} while (element);
		return [valueL, valueT];
	  }
}
	

/**
* @params : [x,y]   x: id of the dom node to resize, y: relational repositionig du to highest resizeAnchor
* @param performlOnLoadResize 
*/
var r_performOnLoadResize = true;
function resize(hParam, performlOnLoadResize)
{
	if(performlOnLoadResize === false) {
		r_performOnLoadResize = true;
	}else {
		if( ! r_performOnLoadResize ) {
			return;	
		}
	}
	
	var toResize = new Array( ["leftMain", 0], ["rightMain", 0], ["mainContent", -180] );
	var h;
	var anchors = getElementsByClassName('resizeAnchor');
	var maxH = 0;
	for(var i=0; i<anchors.length; i++)
	{
		h = Position.cumulativeOffset(anchors[i])[1];
		if(h > maxH) maxH = h;
	}
	if(maxH < screen.availHeight) maxH = screen.availHeight;
		
	//maxH +=20;
	if(hParam) {
		if(typeof(hParam) == "number") {
			maxH = hParam;
			
		} else {
			if(hParam.indexOf("+") > -1) {	
				maxH += parseInt(hParam);
			}
		}
	}
	
	
	for(i=0; i<toResize.length; i++)
	{
		document.getElementById( toResize[i][0] ).style.height = ( maxH + toResize[i][1]) + "px";
	}
	
	if(performlOnLoadResize != undefined ) {
		r_performOnLoadResize = performlOnLoadResize;
	}
	
}



/*

function resize(hParam)
{
	if(window.navigator.userAgent.indexOf('MSIE') !== false) {
		var toResize = new Array( ["lMLower", 200], ["rMLower", 200], ["wrapHorizontal", 200] );
	}else{
		var toResize = new Array( ["lMLower", -130], ["rMLower", -130], ["wrapHorizontal", -130] );
	}

	var h;
	var anchors = getElementsByClassName('resizeAnchor');
	var maxH = 0;
	for(var i=0; i<anchors.length; i++)
	{
		h = Position.cumulativeOffset(anchors[i])[1];
		if(h > maxH) maxH = h;
	}
	if(maxH < screen.availHeight) maxH = screen.availHeight;
		
	
	if(hParam) {
		if(typeof(hParam) == "number") {
			maxH = hParam;
			
		} else {
			if(hParam.indexOf("+") > -1) {	
				maxH += parseInt(hParam);
			}
		}
	
	}

	
	for(i=0; i<toResize.length; i++)
	{
		document.getElementById( toResize[i][0] ).style.height = ( maxH + toResize[i][1]) + "px";
	}
	
}

*/



function getElementsByClassName(classname, node)
{
	if(!node) node = document;
	var a = [];
	var re = new RegExp('\\b' + classname + '\\b');
	var els = node.getElementsByTagName("*");
	for(var i=0,j=els.length; i<j; i++)
	if(re.test(els[i].className))a.push(els[i]);
	return a;
}


function tamePNGs(el)
{
	return;
	if(!el){
		el = document.body;
	}
	
	if(document.all && window.external && window.ActiveXObject) 
	{
		
		if( getIEVersionNumber() > 6 ) return;
		
		var is = getElementsByClassName("testMe", document.body);
		//alert(is);
		
		// process image tags
		is = el.getElementsByTagName('IMG');
		for(x=0; x<is.length; x++) {
			if(is[x].src.indexOf('.png')!=-1 || is[x].src.indexOf('.res')!=-1) {
				is[x].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+is[x].src+"', sizingMethod='scale')";
				if (is[x].src.indexOf(document.domain) > -1) {
					is[x].src = is[x].src.substring(0, is[x].src.indexOf("images/")) + "images/blind.gif";
				}
			}
		}
		
		// process backgrounds
		is = $$('.testMe');
		
		for(x=0; x<is.length; x++) {
			alert(is.style.backgroundImage);
			if(is.style.backgroundImage) {
				alert(is.style.backgroundImage);
			}
		}
		
	}
}

 
function getIEVersionNumber() {
    var ua = navigator.userAgent;
    var MSIEOffset = ua.indexOf("MSIE ");
    if (MSIEOffset == -1) {
        return 0;
    } else {
        return parseFloat(ua.substring(MSIEOffset + 5, ua.indexOf(";", MSIEOffset)));
    }
}
