
//==============================================================================
// Configuration options
//------------------------------------------------------------------------------

var background_image_change_interval_ms = 6000;
var background_image_fade_duration_ms = 1000;
var duration_of_expand_animation_ms = 500;
var duration_of_collapse_animation_ms = 500;

//==============================================================================






































dojo.require("dojo.fx");
dojo.require("dojo.fx.easing");

AddSafeLoaderCallback(Home_Init);

var is_c1_open = false;
var is_c2_open = false;

var new_homepage_img_obj = new Image();
var intermediate_homepage_img_obj = new Image();
intermediate_homepage_img_obj.src = 'images/main_template/1px_white.gif';
var homepage_img_change_timer_id;
// preload button images
var corporate_button_highlight_image_obj = new Image();
var corporate_button_normal_image_obj = new Image();
corporate_button_highlight_image_obj.src = 'images/main_template/corporatebranding-over.png';
corporate_button_normal_image_obj.src = 'images/main_template/corporatebranding.png';
var fulfillment_button_highlight_image_obj = new Image();
var fulfillment_button_normal_image_obj = new Image();
fulfillment_button_highlight_image_obj.src = 'images/main_template/fulfillmentsolutions-over.png';
fulfillment_button_normal_image_obj.src = 'images/main_template/fulfillmentsolutions.png';

function Home_Init()
{
	dojo.connect(document, 'onmousemove', home_EvaluateMousePos);
	HomepageImageTimeoutStart();
}

function PreloadNextHomepageImage()
{
	//console.log('start hompage image preload...');
	GetNextHomepageImageData(CacheNextHomepageImageData_Callback);
}

function CacheNextHomepageImageData_Callback(data)
{
	//console.log('preload: '+data.src+' ['+data.ordinal+']');
	new_homepage_img_obj.src = data.src;
}

function ChangeHomepageImageSrc()
{
	//console.log('change display img to '+new_homepage_img_obj.src);
	var node = dojo.byId("home_main_img");
	
	dojo.fadeOut({		
		node: node,
		duration: background_image_fade_duration_ms,
		onEnd: function(){
			node.src = intermediate_homepage_img_obj.src;
			node.src = new_homepage_img_obj.src;
			dojo.fadeIn({
				duration: background_image_fade_duration_ms,				
				node: node,
				onEnd: function(){
					HomepageImageTimeoutStart();
				}		
			}).play()		
		}
	}).play();
}

function HomepageImageTimeoutStart()
{
	if(homepage_img_change_timer_id)
		clearTimeout(homepage_img_change_timer_id);
	
	PreloadNextHomepageImage();
	homepage_img_change_timer_id = setTimeout("ChangeHomepageImageSrc();", background_image_change_interval_ms);
}

function ChangeHomepageImageData_Callback(data)
{
	var node = dojo.byId("home_main_img");
	dojo.fadeOut({		
		node: node,		
		onEnd: function(){
			node.src = data.src			
			dojo.fadeIn({				
				node: node			
			}).play()		
		}
	}).play();
	setTimeout("ChangeHomepageImageSrc();", background_image_change_interval_ms);
}

function home_EvaluateMousePos(e)
{
	var x,y;
	x = e.pageX;
	y = e.pageY;
	
	c1_button_box = JSFeature.GetNodeBoundingBox(dojo.byId('corporate_button_img'));
	c1_content_box = JSFeature.GetNodeBoundingBox(dojo.byId('home_content1'));
	if(!is_c1_open && home_IsOverNode(x,y,c1_button_box))
	{
		home_ExpandContent1();
	}
	else if(is_c1_open && !home_IsOverNode(x,y+10,c1_content_box) && !home_IsOverNode(x,y,c1_button_box))
	{
		home_CollapseContent1();
	}
	
	c2_button_box = JSFeature.GetNodeBoundingBox(dojo.byId('fulfillment_button_img'));
	c2_content_box = JSFeature.GetNodeBoundingBox(dojo.byId('home_content2'));
	if(!is_c2_open && home_IsOverNode(x,y,c2_button_box))
	{
		home_ExpandContent2();
	}
	else if(is_c2_open && !home_IsOverNode(x,y+10,c2_content_box) && !home_IsOverNode(x,y,c2_button_box))
	{
		home_CollapseContent2();
	}
}

function home_IsOverNode(x,y,box)
{
	if(x > box.left && x < box.right && y > box.top && y < box.bottom)
		return true;
	return false;
}


// this function is mainly used to top the menu from immediately disappearing when
//	a element of the menu is clicked.
function home_EndDownwardEventProp(e)
{
	dojo.stopEvent(e);
}

function home_ExpandContent1()
{
	if(!is_c1_open)
	{
		home_CollapseContent2();
		dojo.byId('corporate_button_img').src = corporate_button_highlight_image_obj.src;
		content1_node = document.getElementById('home_content1');
		content1_node.style.height = (document.getElementById('corporatebar').offsetHeight + document.getElementById('corporatetextshow').offsetHeight) + 'px';
		var content1_anim_open = dojo.animateProperty( 
		{
			node: content1_node,
			duration: duration_of_expand_animation_ms, // ms to run animation
			delay: 5, // ms to stall before playing
			properties:{
				width: {end: 793},
				opacity: {start:0, end:1}
			},
			easing: dojo.fx.easing.circOut
		});
	
		content1_anim_open.play();
		is_c1_open = true;
	}
}

function home_CollapseContent1()
{
	is_c1_open = false;
	
	content1_node = document.getElementById('home_content1');
	dojo.byId('corporate_button_img').src = corporate_button_normal_image_obj.src;
	
	// animate background content out
	var content1_anim = dojo.animateProperty( 
	{
		node: content1_node,
		duration: duration_of_collapse_animation_ms, // ms to run animation
		delay: 5, // ms to stall before playing
		properties:{
			width: {end: 0},
			opacity: {start:1, end:0}
		},
		easing: dojo.fx.easing.circOut
	});
	
	content1_anim.play();
}

function home_ExpandContent2()
{
	if(!is_c2_open)
	{
		home_CollapseContent1();
		dojo.byId('fulfillment_button_img').src = fulfillment_button_highlight_image_obj.src;
		content2_node = document.getElementById('home_content2');
		content2_node.style.height = (document.getElementById('fulfillmentbar').offsetHeight + document.getElementById('fulfillmenttextshow').offsetHeight) + 'px';
		var content2_anim = dojo.animateProperty( 
		{
			node: content2_node,
			duration: duration_of_expand_animation_ms, // ms to run animation
			delay: 5, // ms to stall before playing
			properties:{
				width: {end: 793},
				opacity: {start:0, end:1}
			},
			easing: dojo.fx.easing.circOut
		});
		content2_anim.play();
		is_c2_open = true;
	}
}

function home_CollapseContent2()
{
	is_c2_open = false;

	content2_node = document.getElementById('home_content2');
	dojo.byId('fulfillment_button_img').src = fulfillment_button_normal_image_obj.src;
	
	// animate background content out
	var content2_anim = dojo.animateProperty( 
	{
		node: content2_node,
		duration: duration_of_collapse_animation_ms, // ms to run animation
		delay: 5, // ms to stall before playing
		properties:{
			width: {end: 0},
			opacity: {start:1, end:0}
		},
		easing: dojo.fx.easing.circOut
	});
	content2_anim.play();

	
}