/*
	NOTE
		In order to successfully integrate this 'Dynamic Image Menu' into your pages make sure that the following HTML 
		Tag is present in the Page:
			<page_info id='pageInfo' title='Test 02' back_class='class02'/>
		
		Change the value of the 'title' and 'back_class' attribute as necessary but make sure that they match with the 
		Image Array found in InitButtonArray function
*/

var IMAGE_TAG = '<img title="{0}" alt="{1}" onclick="Redirect(\'{2}\');" src="{3}" onmouseover="SwitchImage(this, \'{4}\');" onmouseout="SwitchImage(this, \'{3}\');" class="{5}" />';
var defPath = '';

function InitButtonArray()
{
	var menuButtons = new Array();
	var url = new Array();
	
	url['comp'] = "http://www2.20millionforindustry.com/Default.aspx?tabid=113&language=en-US";
	url['start'] = "http://www2.20millionforindustry.com/Default.aspx?tabid=114&language=en-US";
	url['innov'] = "http://www2.20millionforindustry.com/Default.aspx?tabid=115&language=en-US";
	url['env'] = "http://www2.20millionforindustry.com/Default.aspx?tabid=117&language=en-US";
	url['ebus'] = "http://www2.20millionforindustry.com/Default.aspx?tabid=118&language=en-US";
	url['rd'] = "http://www2.20millionforindustry.com/Default.aspx?tabid=119&language=en-US";
		
/*
	STANDARD STRUCTURE OF menuButtons Array
	menuButtons[i] = new Array ( 'TITLE' , 'ALT' , 'TARGET_URL' , 'NORMAL_IMG' , 'HOVER_IMG' , 'IMAGE_CLASS' ); 
*/
	menuButtons[0] = new Array ( 'Competitiveness' , 'Competitiveness' , url['comp'] , 'images/menuCompetitivenessOff.png', 
																			'images/menuCompetitiveness.png' , 'image_element' , 2 );
	
	menuButtons[1] = new Array ( 'Start Up' , 'Start Up' , url['start'] , 'images/menuStartUpOff.png', 
															   				'images/menuStartUp.png' , 'image_element' , 2 );
	
	menuButtons[2] = new Array ( 'Innovation' , 'Innovation' , url['innov'] , 'images/menuInnovationOff.png', 
																   			'images/menuInnovation.png' , 'image_element' , 2 );
	
	menuButtons[3] = new Array ( 'Environment' , 'Environment' , url['env'] , 'images/menuEnvironmentOff.png', 
																	 		'images/menuEnvironment.png' , 'image_element' , 2 );
	
	menuButtons[4] = new Array ( 'E-Business' , 'E-Business' , url['ebus'] , 'images/menuEBusinessOff.png', 
																   			'images/menuEBusiness.png' , 'image_element' , 2 );
	
	menuButtons[5] = new Array ( 'R&D' , 'R&D' , url['rd'] , 'images/menuRDOff.png', 'images/menuRD.png' , 'image_element' , 2 );

	return menuButtons;
	
}//InitButtonArray

function BuildMenu( holder )
{
	var page = PageInfo();
	var name = page.attributes['title'].value;
	var buttons = InitButtonArray();
	var i;
	
	var menu = new StringBuilder();

	for ( i in buttons )
	{
		var b = buttons[i];
		menu.Append ( '<span>');
		
		if ( ( b[0] == name ) & ( b[6] !== undefined ) & ( b[6] == 2 ) )
			menu.Append ( FormatString ( IMAGE_TAG , b[0], b[1], b[2], defPath + b[4], defPath + b[4], b[5] ) );
		else
			menu.Append ( FormatString ( IMAGE_TAG , b[0], b[1], b[2], defPath + b[3], defPath + b[4], b[5] ) );
		
		menu.Append ( '</span>');
	}//for
	
	var h = document.getElementById ( 'menu_holder' );
	h.innerHTML = menu.ToString();
	
}//BuildMenu

function SetBackground( varName )
{
	var name = ( ( varName === undefined ) ? 'mainContentLayoutComp' : varName );		
	var page = PageInfo();
	
	var control = document.getElementById ( name );
	var className = page.attributes['page_class'].value;
	
	control.className = className;

}//SetBackground
	
function SwitchImage ( control , src )
{
	var page = PageInfo();
	var name = page.attributes['title'].value;
	
	if ( control.title == name )
		return;
	
	control.src = src;
}//SwitchImage

function SetDefaultPath ( path )
{
	defPath = path;
}//SetDefaultPath

function PageInfo ( )
{
	var p = document.getElementById('page_info');
	return p;
}//PageInfo

function Redirect( url )
{	window.location.href = url;	}//Redirect

function StringBuilder() 
{
  this._strings = [];
  this.Append = function(s) { this._strings.push(s); };
  this.ToString = function() { return this._strings.join(''); };
}

function FormatString( text )
{
    if ( arguments.length <= 1 )
		return text;
	
    var tokenCount = arguments.length - 2;

    for( var token = 0; token <= tokenCount; token++ )
        text = text.replace( new RegExp( '\\{' + token + '\\}', 'gi' ), arguments[ token + 1 ] );
	
    return text;
};