var translations = {};
translations['Powernext_Group_fr'] = 'Groupe Powernext';
translations['Products_fr'] = 'Produits';
translations['Services_fr'] = 'Services';
translations['Market_Data_fr'] = 'Données de Marché';
translations['News_Room_fr'] = 'News';
translations['Powernext_Group'] = 'Powernext Group';
translations['Products'] = 'Products';
translations['Services'] = 'Services';
translations['Market_Data'] = 'Market Data';
translations['News_Room'] = 'News Room';

function switchLang() {
	lang = skelax.getLang();
	// Switch navigation menus
	switchNavigationMenus(lang);
	// If we are in content page, refresh it
	var hash = top.document.location.hash;
	// Switch flags
	if (lang == 'fr_FR') {
		var to='en_US';
		$('flag_en').setStyle('display', 'none');
		$('flag_fr').setStyle('display', 'block');
	} else {
		var to='fr_FR';
		$('flag_fr').setStyle('display', 'none');
		$('flag_en').setStyle('display', 'block');
	}
	// Switch the content of a page or article
	if (hash != '') {
		switchContent(lang, hash, to);
	// Switch content of homepage
	} else {
		switchHome(lang);
	}
}

function switchNavigationMenus(lang) {
	var menusFR = 'Powernext_Group_fr,Products_fr,Services_fr,Market_Data_fr,News_Room_fr';
	var menusEN = 'Powernext_Group,Products,Services,Market_Data,News_Room';
	var menusToShow = [];
	var menusToHide = [];
	if (lang == 'en_US') {
		skelax.setLang('fr_FR');
		if ($type($('Powernext_Group_fr')) != 'element') {
			var os = skelax.callApplication('menu', 'displayMenus', {systemNames: menusFR});
		} else {
			menusToShow = menusFR.split(',');
			menusToHide = menusEN.split(',');
		}
	} else {
		skelax.setLang('en_US');
		if ($type($('Powernext_Group')) != 'element') {
			var os = skelax.callApplication('menu', 'displayMenus', {systemNames: menusEN});
		} else {
			menusToShow = menusEN.split(',');
			menusToHide = menusFR.split(',');
		}
	}
	menusToShow.each(function(m) {
		if ($type($(m)) == 'element') $(m).setStyle('display', 'block');
	});
	menusToHide.each(function(m) {
		if ($type($(m)) == 'element') $(m).setStyle('display', 'none');
	});
}

function switchContent(lang, hash, to) {
	var obj = SK_Url.parse(hash);
	if (lang == 'en_US') {
		from='en_US';
	} else {
		from='fr_FR';
	}
	var sl = new jsonQuery({onComplete: function(jsonResponse) { 
		if (jsonResponse.error) {
			//skelax.getConsole().log(jsonResponse.error);
		} else {
			var obj = SK_Url.parse(hash);
			obj.update= 'content' ;
			if (jsonResponse.funcResult != null) {
				var system_name= jsonResponse.funcResult.system_name;
			} else {
				var system_name= obj.funcParams.system_name;
			}		
			if (obj.app && obj.app != 'market') {
				//console.log(obj);
				var os = skelax.callApplication(obj.app, 'addAction',{
					'app': obj.app,
					'lang': to,
					'func': obj.func,
					'update': 'content',
					'tpl': obj.tpl,
					'funcParams': {
						'system_name': system_name

					}

				});
			}
			$('content').empty().set('html',jsonResponse.content);
			sl.processJs();
			//console.log(jsonResponse.funcResult.obj_system_name);
		}
	}.bind(this)});
	if (obj.comp == 'tag') {
		obj.lang = to;
		obj.update = 'content';
		obj.registerInHistory = true;
		//console.log(obj);
		sl.doRequest(obj);
	/**
	} else if(obj.app='market') {
		console.log(obj);
			**/
	} else {
		if (obj.func == 'listMarketTable' && obj.app == 'market') {
			obj.lang = to;
			obj.update = 'content';
			obj.registerInHistory = true;
			sl.doRequest(obj);
		} else {
			sl.doRequest({app: 'app', func: 'getTradObject',tpl: '../../applications/'+obj.app+'/'+obj.tpl, registerInHistory: true, update: 'content' ,funcParams: {app: obj.app, from: from, lang: lang, obj_system_name: obj.funcParams.system_name}});
		}
		
	}
	// switch menu
	//var menuName = (($type(obj.menu)) && (obj.menu.length > 3)) ? obj.menu : obj.funcParams.m;
	if ($type(obj.menu)) {
		var menuName = obj.menu;
	} else {
		var menuName = obj.funcParams.m;
	}
	if (menuName.indexOf('_fr') != -1) {
		var menuN = menuName.replace('_fr','');
	} else {
		var menuN = menuName+'_fr';
	}
	skelax.registerVar('currentMenu', menuN);
	var os = skelax.callApplication('menu', 'displayVerticalMenu', menuN);
	
}

function switchHome() {
	params = {}
	params.tpl = 'home_content';
	var sl = new jsonQuery({remoteUrl: 'remoting.php', update: 'content', onComplete: function(jsonResult) { 
		if ( (!$type(jsonResult)) || (SK_Exception.isError(jsonResult)) ) return false;
		onReloadHome();
	}});
	sl.doRequest(params);
}

function mwidgetActiveLeft() {
	//$('market-tab').setStyle('background', '#FFF url(../../../images/pwn2.0/mwidget.jpg) no-repeat top left');
	$('market-tab').setStyle('display', 'block');
	$('market-tab2').setStyle('display', 'none');
	/*
	$('mwSpan1').addClass('bgreen-left').removeClass('bblue-left');
	$('mwSpan2').addClass('bgreen-right').removeClass('bblue-right');
	$('h1-1').addClass('greentbl').removeClass('bluetbl');
	$('h1-2').addClass('bluetbl').removeClass('greentbl');
	$('mwSpan4').addClass('bblue-right').removeClass('bgreen-right');
	*/
}

function mwidgetActiveRight() {
	$('market-tab').setStyle('display', 'none');
	$('market-tab2').setStyle('display', 'block');
	//$('market-tab').setStyle('background', 'url(../../../images/pwn2.0/mwidget2.jpg)');
	/*
	$('mwSpan1').removeClass('bgreen-left').addClass('bblue-left');
	$('mwSpan2').removeClass('bgreen-right').addClass('mwidget-bgreen-center');
	$('h1-1').addClass('bluetbl').removeClass('greentbl');
	$('h1-2').addClass('greentbl').removeClass('bluetbl');
	$('mwSpan4').removeClass('bblue-right').addClass('mwidget-bgreen-right');
	*/
}

function resetSearch() {
	$('searchText').set('value', '');
	$('searchYears').getElements('option').each(function(el) {
			el.set('selected', '');
	});
	$('emptyDate').set('selected', 'selectd');
}

function getTags() {
		var tagsAlreadySelected = skelax.getVar('tagsSelected') || [];
		var dateSelected = skelax.getVar('searchYear') || null;
		if (dateSelected) {
			$('searchYears').getElements('option').each(function(el) {
				if (el.get('value') == dateSelected) {
					el.set('selected', 'selected');
				}
			});
		}
		if (tagsAlreadySelected.length == 0) {
			var urlParams = SK_Url.parse(top.document.location.hash);
			tagsAlreadySelected.push('iii'+urlParams.funcParams.tag);
			skelax.registerVar('tagsSelected', tagsAlreadySelected);
		}
		var params = {};
		params['ap_system_name'] = 'article';
		params['maxResults'] = 24;
		var sl = new jsonQuery({remoteUrl: 'remoting.php', onComplete: function(jsonResponse) { 
			if (jsonResponse.error) {
				skelax.getConsole().log(jsonResponse.error);
			} else {
				if ($type(jsonResponse.funcResult) == 'array') {
					var tags = jsonResponse.funcResult;
					var ts = skelax.getVar('tagsSelected');
					tags.each(function(t) {
						var div = new Element('div').addClass('liContainer');
						if (Browser.Engine.trident) {
							var li = new Element('li').addClass('selectable').set('id', 'iii'+t.ct_system_name).set('html', '&nbsp;&nbsp;'+t.ct_tag).injectInside(div);
						} else {
							var li = new Element('li').addClass('selectable').set('id', 'iii'+t.ct_system_name).set('html', t.ct_tag).injectInside(div);
						}
						if (tagsAlreadySelected.indexOf('iii'+t.ct_system_name) != -1) li.addClass('selected');
						li.addEvent('click', function(el) {
							if (ts.indexOf('iii'+t.ct_system_name) == -1) {
								ts.include('iii'+t.ct_system_name);
								this.addClass('selected');
								
							} else {
								ts.erase('iii'+t.ct_system_name);
								this.removeClass('selected');
							}
							skelax.registerVar('tagsSelected', ts);
						});
						div.injectInside($('tagsContainer'));
					}, this);
					$('tagsContainer').adopt(new Element('div').addClass('clearfix'));
				}
			}
		}.bind(this)});
		sl.doRequest({
			'comp': 'tag',
			'func': 'remoteBuildTags', 
			'funcParams': params
		});
}

function searchArticle() {
		var params = SK_Url.parse(top.document.location.hash);
		params.funcParams.tag = '';
		params.funcParams.split = ':';
		params.funcParams.lang = params.lang;
		tagsClean = [];
		skelax.getVar('tagsSelected').each(function(t) {
			tagsClean.push(t.replace('iii', ''));
		});
		params.funcParams.tags = tagsClean;
		params.funcParams.paginate = true;
		find =$('searchText').get('value');
		if(find) {
			params.funcParams.find = find;
			skelax.registerVar('find', find);
		}
		year = $('searchYears').getSelected()[0].get('value');
		if (year) {
			 params.funcParams.year = year;
			 skelax.registerVar('searchYear', year);
		}
		var sl = new jsonQuery({remoteUrl: 'remoting.php', update: 'content',  onComplete: function(jsonResponse) { 
			if (jsonResponse.error) {
				skelax.getConsole().log(jsonResponse.error);
			} else {
				eval(jsonResponse.js);
			}
		}.bind(this)});
		sl.doRequest(params);
}

function searchArticleByTitle(title) {
	if (($type(title) != 'string') || (title.length < 3)) return false;
	var sysName = title.match(/__(.*)__/)[1];
	if (($type(sysName) != 'string') || (sysName.length < 3)) return false;
	skelax.callApplication('article', 'addAction',	
	{
		'app': 'article',
		'update': 'content',
		'tpl' : 'article_view',
		'func' : 'getArticle',
		'funcParams': {
			'register': true,
			'system_name' : sysName
		}
	});
	var params = SK_Url.parse(top.document.location.hash);
	skelax.callApplication('menu', 'displayVerticalMenu', params.menu);
}

skelaxVerticalMenu.implement({
	processNode: function(node) {
		if (node.children) { 
			this.getParentContainer(node);
			var container = new Element('div').addClass('main-menu-folder'+node.data.level);
			var titleContainer = new Element('div').injectInside(container).addClass('menu-title-container');
			var title = new Element('span').addClass('spanLevel'+node.data.level).set('html', node.property.name);
			var menuTitle = node.property.name;
			if (node.data.level > 1) {
				titleContainer.adopt(new Element('div').addClass('main-menu-arrow'));
				titleContainer.addEvent('click', function() {
					this.toggleChilds(container);
				}.bind(this));
			}
			titleContainer.adopt(title);
			titleContainer.adopt(new Element('div').addClass('clearfix'));
			container.adopt(titleContainer);
			container.injectInside(this.currentContainer);
			this.currentContainer = container;
			node.children.each(function(n) {
				if (n.children) {
					this.processNode(n);
				} else {
					this.getParentContainer(n);
					var el = new Element('div').addClass('main-menu-item'+n.data.level).set('html', n.property.name);
					if ((n.data.level > 1) && (n.data.custom.mi_url) ) {
						el.addEvent('click', function() {
							document.title = 'Powernext - '+el.get('html');
							el.setStyle('cursor', 'pointer');
							this.callLink(n.data.custom.mi_url, false);
						}.bind(this));
						el.addEvent('mouseover', function() {
							el.addClass('main-menu-item-over');
						});
						el.addEvent('mouseout', function() {
							el.removeClass('main-menu-item-over');
						});
					}
					this.currentContainer.adopt(el);
				}
			},this);
		}	
	}
});

skelaxCore.implement({
	callLink: function(url, systemName, label) {
		// ResetTags
		skelax.registerVar('tagsSelected', []);
		var oldMenu = skelax.getVar('currentMenu');
		if (systemName) {
			skelax.registerVar('currentMenu', systemName);
		} 
		if ($type(label)) {
			document.title = 'Powernext - '+label;
		}
		var sl = new jsonQuery({remoteUrl: 'remoting.php', registerInHistory: true, onComplete: function(jsonResult) { 
			if ( (!$type(jsonResult)) || (SK_Exception.isError(jsonResult)) ) return false;
			$('content').set('html', jsonResult.content);
			SK_Preloader.hide('content');
			this.processJs();
			if ((systemName != false) && (oldMenu != systemName)) {
				var os = skelax.callApplication('menu', 'displayVerticalMenu', systemName);
			}
		}});
		SK_Preloader.show('content');
		var p = url.href2object();
		var pageName = p.funcParams.system_name;
		var pagesSystemNames = skelax.getVar('pagesSystemNames') || new Hash();
		pagesSystemNames.set(pageName, systemName); 
		var os = skelax.registerVar('pagesSystemNames', pagesSystemNames);
		sl.doRequest(url);
	}
});
