var navListener = new Object();
navListener.defaultSearchText = " ";
navListener.nullSearchText = "";

//console.log("check");

navListener.openURL = function(event){
	var target = "_self";
	if (event.data.target != "") {
		target = event.data.target;
	}
	window.open(event.data.href, target);
}


navListener.searchFocus = function(event) {
	navListener.navInput = document.getElementById('nav_input');

	setTimeout("navListener.navInput.focus()",25); 
	setTimeout("setCaretTo(navListener.navInput, 1000)");
}

navListener.searchOpen = function(event) {
	//console.log("search open");
	navListener.navInput = document.getElementById('nav_input');
	navListener.navForm = document.getElementById('nav_input_form');
	navListener.navForm.style.visibility='visible';
	navListener.navInput.style.visibility='visible';
	setTimeout("navListener.navInput.value = navListener.defaultSearchText",25); 
	setTimeout("navListener.navInput.select()",25); 
	setTimeout("navListener.navInput.value = navListener.nullSearchText",26); 
	setTimeout("setCaretTo(navListener.navInput, 1000)", 27);
}

navListener.searchClose = function(event) {
	//console.log("search close");
	setTimeout("navListener.navInput.value = navListener.nullSearchText",2); 
	setTimeout("navListener.navInput.blur()",3);
	setTimeout("navListener.navInput.style.visibility='hidden'",4); 
}

function search() {
	EventBridge.dispatchEvent({type:'moduleCall',data:document.getElementById('nav_input').value});
}

EventBridge.addListener("url", navListener, "openURL");
EventBridge.addListener("search", navListener, "openURL");

EventBridge.addListener("searchopen", navListener, "searchOpen");
EventBridge.addListener("searchclose", navListener, "searchClose");
EventBridge.addListener("searchfocus", navListener, "searchFocus");
EventBridge.addListener("callsearch", navListener, "callSearch");
EventBridge.addListener("lockup", navListener, "lockupActive");
EventBridge.addListener("nav", navListener, "navActive");

navListener.flashTest = function(event) { 
	alert("flash working");
}

navListener.lockupActive = function(event) {
	EventBridge.dispatchEvent({type:'navCall',data:'close'});
}

navListener.navActive = function(event) {
	EventBridge.dispatchEvent({type:'lockupCall',data:'close'});
}

navListener.flashAlert = function(event) {
	alert(event.data);
}

navListener.callSearch = function(event) {
	if (document.getElementById('nav_input').value != "") {
		search();
	}
}

function setCaretTo(obj, pos) { 
    if(obj.createTextRange) { 
        var range = obj.createTextRange(); 
        range.move("character", pos); 
        range.select(); 
    } else if(obj.selectionStart) { 
        obj.focus(); 
        obj.setSelectionRange(pos, pos); 
    } 
} 

