var GOW = GOW || {};

GOW.LangMenu = function(onSelectionChanged, selectSelector){
	// optional
	selectSelector = selectSelector || '.lang-select'; 

	var jq_langSelect = $(selectSelector);
	var jq_langOptions = $(selectSelector + ' option');
	var currentSelection = jq_langSelect.val();

	function init(){
    	jq_langSelect.chosen().change(onLangSelectChange);
    	$('#lang-form .chzn-results li:first').css('display', 'none');
	}

	function onLangSelectChange(e){
		var oldSel = currentSelection;
		var newSel = jq_langSelect.val();

		currentSelection = newSel;

		if(newSel !== oldSel){

			var jq_selectedOption = jq_langOptions.filter(':selected');
			var href;

			if(jq_selectedOption[0] !== undefined){

				href = jq_selectedOption.data('href');
				href = (href === '') ? window.location.href : href;
				onSelectionChanged(href);
			}
		}
    }

    // init menu
    init();
}
