var initiallyResizedColumns = false;

Ext.onReady(function(){

	var rowTop = Ext.fly('rowTop');
	var rowTop = new Ext.Panel({
		contentEl: 'rowTop',
		region: 'north',
		width: rowTop.getWidth()
	});
	
	var columnLeft = Ext.fly('columnLeft');
	var columnLeft = new Ext.Panel({
		contentEl: 'columnLeft',
		region: 'west',
		width: columnLeft.getWidth()
	});

	var columnCenter = Ext.fly('columnCenter');
	
	var columnCenter = new Ext.Panel({
		contentEl: 'columnCenter',
		region: 'center',
		width: columnCenter.getWidth()
	});
	
	var columnRight = Ext.fly('columnRight');
	var columnRight = new Ext.Panel({
		contentEl: 'columnRight',
		region: 'east',
		width: columnRight.getWidth()
	});

	var mainPanel = new Ext.Panel({
	    layout:'border',
	    border: false,
	    height: 750,
	    defaults: {
	        collapsible: false,
	        border: false
	    },
	    items: [rowTop,columnLeft,columnCenter,columnRight],
	    renderTo: 'container'
	});
	
	if(Ext.get('headlines')) {
		slideshowHeadlineInterval = window.setInterval(function(){nextHeadline(true)}, 7000);
	}
	
    initiallyResizedColumns = true;

	window.setInterval(function(){ 
		
		var maxColumnHeight = Math.max(
			Ext.get('columnLeft').getHeight(),
			Ext.get('columnCenter').getHeight(),
			Ext.get('columnRight').getHeight()
		);
		
		var rowTopHeight = Ext.get('rowTop').getHeight();
		
		var totalHeight = maxColumnHeight + rowTopHeight + 20;
		
		var containerHeight = Ext.get('container').getHeight();
		
		mainPanel.setHeight(totalHeight);
		
	}, 500);
	
});

function openApplicationWindowPopup(config) {
	
	if(!config) {
		config = new Object();
	}
	
	var container = Ext.get('container');
	
	var body = Ext.get(document.body);

	var windowWidth = container.getWidth() > body.getWidth() ? container.getWidth() : body.getWidth();
	var windowHeight = body.getHeight();
	
	config.pageX = windowWidth * 0.02;
	config.pageY = windowHeight * 0.02;
	config.width = windowWidth * (1 - 0.02 * 2);
	config.height = windowHeight * (1 - 0.02 * 2);
	config.closable = true;
	config.resizable = false;
	config.bodyStyle = 'background-color: white';
	
	return new Ext.Window(config);
}

var slideshowHeadlineInterval = 0;
var curHeadlineNum = 0;

/**
 * Switch to a different headline on the home page
 */
function chooseHeadline(num, automatic) {
	
	if(!automatic && slideshowHeadlineInterval) {
		window.clearInterval(slideshowHeadlineInterval);
		slideshowHeadlineInterval = 0;
	}
	
	var curPage = Ext.get('headLinePage'+curHeadlineNum);
	var curHeadline = Ext.get('headLine'+curHeadlineNum);

	if(curPage) {
		curPage.removeClass('active');
	}
	
	var page = Ext.get('headLinePage'+num);
	var headline = Ext.get('headLine'+num);
	
	if(page) {
		page.addClass('active');
		curHeadlineNum = num;
	}
	
	/*
	var widgetHeadlineButtonLeft = Ext.get('widgetHeadlineButtonLeft');
	var widgetHeadlineButtonRight = Ext.get('widgetHeadlineButtonRight');
	
	if(curHeadlineNum <= 0) {
		widgetHeadlineButtonLeft.removeClass('visible');
		widgetHeadlineButtonRight.addClass('visible');
	} else {
		widgetHeadlineButtonLeft.addClass('visible');
		
		if(!Ext.get('headLine'+(curHeadlineNum+1))) {
			widgetHeadlineButtonRight.removeClass('visible');
		} else {
			widgetHeadlineButtonRight.addClass('visible');
		}
	}*/
	
	if(curHeadline) {
		curHeadline.fadeOut({useDisplay: true, concurrent: true});
	}
	headline.fadeIn({useDisplay: true, concurrent: true});
	
}

/**
 * Switch to next headline
 */
function nextHeadline(automatic) {
	if(!Ext.get('headLine'+(curHeadlineNum+1))) {
        if(curHeadlineNum > 0) {
    		chooseHeadline(0, automatic);
        }
	} else {
		chooseHeadline(curHeadlineNum+1, automatic);
	}
}

/**
 * Switch to the previous headline
 */
function prevHeadline(automatic) {
	if(curHeadlineNum <= 0) return;
	chooseHeadline(curHeadlineNum-1, automatic);
}

