function DinamicMenuTopPanel( args ) {
	this.argCategory = args.argCategory;
	this.argCountry = args.argCountry;
	this.linkItems = args.linkItems;
	this.divContainer = 'vtDinamicTopPanelContainer';
	this.divSubMenuL1 = 'vtDTopPanelTableLeft';
	this.divSubMenuL2 = 'vtDTopPanelTableRight';
	this.divSubMenuL2Header = 'vtDTopPanelTableRightHeader';
	this.tdLeftColumn = 'vtDTopPanelTableLeftColumn';
	this.tdRightColumn = 'vtDTopPanelTableRightColumn';
	this.fileType = '.php';
	this.LinkSeparator = '_';
	this.topbase = 19;
	this.coorFormat = 'px';
	this.params = new Array( 'class', 'href', 'id' );
}

DinamicMenuTopPanel.prototype.hideSubMenuPanel = function() {
	this.hideSubMenuPanelL2();
	this.restoreItemMenuTopPanel( '' );
	document.getElementById( this.divSubMenuL1 ).innerHTML = '';
	document.getElementById( this.tdLeftColumn ).style.width = '';
	document.getElementById( this.divContainer ).style.display = 'none';
}

DinamicMenuTopPanel.prototype.restoreItemMenuTopPanel = function( itemMenu ) {
	for( var i = 0; i < this.linkItems.length; i++ )
		if( this.linkItems[i] != itemMenu )
			document.getElementById( this.linkItems[i] ).style.background = 'url(images/itemmenu_gray.gif) repeat-x';
}

DinamicMenuTopPanel.prototype.hideSubMenuPanelL2 = function() {
	var divL2 = document.getElementById( this.divSubMenuL2 );
	var divL2Header = document.getElementById( this.divSubMenuL2Header );
//	document.getElementById( this.tdRightColumn ).style.borderLeft = '';
	divL2Header.innerHTML = '';
	divL2.innerHTML = '';
	divL2Header.style.display = 'none';
	divL2.style.display = 'none';
}

DinamicMenuTopPanel.prototype.makeSubMenuL1 = function( args ) {
	this.hideSubMenuPanelL2();
	this.restoreItemMenuTopPanel( args.linkItem );
	document.getElementById( args.linkItem ).style.background = 'url(images/itemmenuselected_gray.gif) repeat-x';
	document.getElementById( this.divSubMenuL1 ).innerHTML = this.BuildSubMenu( args );
	document.getElementById( this.divSubMenuL1 ).style.left = args.position;
	document.getElementById( this.divSubMenuL1 ).style.width = args.divWidth;
	document.getElementById( this.divContainer ).style.display = 'inline';

	if( args.subExec )
		args.subExec();
}

DinamicMenuTopPanel.prototype.makeSubMenuL2 = function( args ) {
	var divL2 = document.getElementById( this.divSubMenuL2 );
	var divL2Header = document.getElementById( this.divSubMenuL2Header );
//	document.getElementById( this.tdRightColumn ).style.borderLeft = '#000000 1px solid';
	divL2Header.innerHTML = this.argCategory[ args.style ];
	divL2Header.style.display = 'block';
	divL2Header.style.left = args.posx;
	divL2Header.style.top = args.posy - this.topbase + this.coorFormat;
	divL2.innerHTML = this.BuildSubMenu( args );
	divL2.style.display = 'block';
	divL2.style.left = args.posx;
	divL2.style.top = args.posy + this.coorFormat;
}

DinamicMenuTopPanel.prototype.BuildSubMenu = function( args ) {
	var str = '';
	var my_id, my_href;

	for( var i = 0; i < args.labels.length; i++ ) {
		my_id = ( args.ids.length > 0 ? args.ids[i] : '' );
		my_href = ( args.links.length > 0 ? args.links[i] : '' );
		str += this.buildItemList( this.CreateLink( args.labels[i], [my_href], [1] ), [my_id], [2] );
	}
	return this.buildList( str, ['vtDTopPanelTableList'], [0] );
}

DinamicMenuTopPanel.prototype.getArrayCountry = function() {
	var localarray = new Array();

	for( var i = 0; i < this.argCountry.name.length; i++) {
		localarray.push( this.formatCountryLink( this.argCountry.name[i] ) );
	}

	return localarray;
}

DinamicMenuTopPanel.prototype.formatTag = function( data ) {
	var str = data;
	str = str.toLowerCase();
	str = str.replace( /\s(\&\s)?/, this.LinkSeparator );
	return str;
}

DinamicMenuTopPanel.prototype.formatCountryLink = function( data ) {
	var str = this.formatTag( data );
	str += this.fileType;
	return str;
}

DinamicMenuTopPanel.prototype.getArrayStyleByCountry = function( style ) {
	var localarray = new Array();

	for( var i = 0; i < this.argCountry.id_country.length; i++) {
		localarray.push( this.formatStyleByCountry( this.argCountry.id_country[i], style ) );
	}

	return localarray;
}

DinamicMenuTopPanel.prototype.formatStyleByCountry = function( idCountry, style ) {
	var str = this.formatTag( this.argCategory[ style ] );
	str += this.LinkSeparator + idCountry + this.fileType;
	return str;
}

DinamicMenuTopPanel.prototype.BuildArgs = function( values, labels ) {
	var str = '';

	for( var i = 0; i < values.length; i++ ) {
		str += ' ' + this.params[labels[i]] + '="' + values[i] + '"';
	}

	return str;
}

DinamicMenuTopPanel.prototype.buildList = function( data, vals, lbls ) {
	return '<ul' + this.BuildArgs( vals, lbls ) + '>' + data + '</ul>';
}

DinamicMenuTopPanel.prototype.buildItemList = function( data, vals, lbls ) {
	return '<li' + this.BuildArgs( vals, lbls ) + '>' + data + '</li>';
}

DinamicMenuTopPanel.prototype.CreateLink = function( data, vals, lbls ) {
	return '<a' + this.BuildArgs( vals, lbls ) + '>' + data + '</a>';
}

app.DinamicMenuTopPanel = DinamicMenuTopPanel;