function DinamicCountryLeftPanel( args ) {
	this.divContainer = args.divContainer;
	this.argcategory = args.argcategory;
	this.argcountry = args.argcountry;
	this.argtour = args.argtour;
	this.typeFile = '.php';
	this.contentHTML = '';
}

DinamicCountryLeftPanel.prototype.makeMenu = function( id_category, divHandler ) {
	this.buildMenu( id_category );
	this.showMenu( divHandler );
}

DinamicCountryLeftPanel.prototype.makeMenuOthers = function( id_category, labels, urls, divHandler ) {
	this.buildMenuOthers( id_category, labels, urls );
	this.showMenu( divHandler );
}

DinamicCountryLeftPanel.prototype.showMenu = function( handler ) {
	var localhandler = document.getElementById( handler );
	var container = document.getElementById( this.divContainer );
	container.innerHTML = this.contentHTML;
	
	var posX = this.getPageOffsetLeft( localhandler );
	var posY = this.getPageOffsetTop( localhandler );
	container.style.left = ( posX + 115 ) + "px";
	container.style.top = posY + "px";
	container.style.display = "block";
}

DinamicCountryLeftPanel.prototype.getPageOffsetLeft = function( el ) {
	var ol=el.offsetLeft;
	while ( (el=el.offsetParent) != null ) {
		ol += el.offsetLeft;
	}
	return ol;
}

DinamicCountryLeftPanel.prototype.getPageOffsetTop = function( el ) {
	var ot=el.offsetTop;
	while( (el=el.offsetParent) != null ) {
		ot += el.offsetTop;
	}
	return ot;
}

DinamicCountryLeftPanel.prototype.hideMenu = function() {
	var container = document.getElementById( this.divContainer );
	container.style.display = "none";
}

DinamicCountryLeftPanel.prototype.buildMenu = function( id_category ) {
	var str = '';

	str += this.buildItemList( this.buildSpan ( this.argcategory[id_category] ) );

	for( var i = 0; i < this.argcountry.id_country.length; i++ ) {
		str += this.buildItemMenu( this.argcountry.name[i], this.getURL( this.argcountry.id_country[i], id_category ) );
	}

	str = this.buildList( str );
	this.contentHTML = str;
}

DinamicCountryLeftPanel.prototype.buildMenuOthers = function( id_category, labels, urls ) {
	var str = '';

	str += this.buildItemList( this.buildSpan ( this.argcategory[id_category] ) );

	for( var i = 0; i < labels.length; i++ ) {
		str += this.buildItemMenu( labels[i], urls[i] );
	}

	str = this.buildList( str );
	this.contentHTML = str;
}

DinamicCountryLeftPanel.prototype.getURL = function( id_country, id_category ) {
	var str = '';
	var category = this.argcategory[id_category];
	str += category.toLowerCase();
	str += '_';
	str += id_country;
	str += this.typeFile;
	return str;
}

DinamicCountryLeftPanel.prototype.buildItemMenu = function( data, url ) {
	return this.buildItemList( this.buildLink( data, url ) );
}

DinamicCountryLeftPanel.prototype.buildList = function( data ) {
	var str = '<ul>';
	str += data;
	str += '</ul>';
	return str;
}

DinamicCountryLeftPanel.prototype.buildSpan = function( data ) {
	var str = '<span>';
	str += data;
	str += '</span>';
	return str;
}

DinamicCountryLeftPanel.prototype.buildItemList = function( data ) {
	var str = '<li>';
	str += data;
	str += '</li>';
	return str;
}

DinamicCountryLeftPanel.prototype.buildLink = function( data, url ) {
	var str = '<a href="' + url + '">';
	str += data;
	str += '</a>';
	return str;
}

app.DinamicCountryLeftPanel = DinamicCountryLeftPanel;