//JavaScript Document
//Used by popup menus

var showFlag="";
var keywordNum=0;
var currentTextBox;//to keep track of which textbox has dropdown
var currentTarget;//needs to be global

function showMenu(menu){
	showFlag=menu;
	$(document).ready(function(){		
			$("#"+menu).show(300);
	});
	if (document.getElementById("searchkey")){
		if (document.getElementById("keywordMenu")){
			if (document.getElementById("keywordMenu").style.display=="block"){
				document.getElementById("searchkey").focus();
			}
		}
	}
}
function hideMenu(menu){
	showFlag="";
	//Pause before hiding, check hide still required
	setTimeout(function(){
		if (showFlag!=menu){
			$(document).ready(function(){$("#"+menu).hide(300);});	
		};
	},300);
}
function revealsynopsis(synopsis){
	showFlag=synopsis.id;
	$(document).ready(function(){		
			$("#"+synopsis.id+"S").show(300);
	});
}
function hidesynopsis(synopsis){
	showFlag="";
	//Pause before hiding, check hide still required
	setTimeout(function(){
		if (showFlag!=synopsis.id){
			$(document).ready(function(){$("#"+synopsis.id+"S").hide(300);});	
		};
	},300);
}
//Used by home page
function changeImages(holder,image){
	if (document.images) {
		if (document.getElementById(holder)){
			document.getElementById(holder).src=image
		}
	}
}
//Used for hints in keyword search
function getHints(keyCode, key, target){
	currentTextBox = key;
	currentTarget = target;
	switch (keyCode){
	case 40://move down list
		if (document.getElementById("keyword"+keywordNum)){
			document.getElementById("keyword"+keywordNum).className="keywordLink"	
		}
		keywordNum++;
		if (document.getElementById("keyword"+keywordNum)){
			document.getElementById("keyword"+keywordNum).className = "keywordLinkSelected"	
		}else{
			keywordNum--;
			if (document.getElementById("keyword"+keywordNum)){
				document.getElementById("keyword"+keywordNum).className = "keywordLinkSelected"	
			}
		}
		break;
	case 38://move up list
		if (document.getElementById("keyword"+keywordNum)){
			document.getElementById("keyword"+keywordNum).className="keywordLink"	
		}
		keywordNum--;
		if (document.getElementById("keyword"+keywordNum)){
			document.getElementById("keyword"+keywordNum).className = "keywordLinkSelected"	
		}else{
			if (keywordNum<0){
				keywordNum=0;
				currentTextBox = false;
				currentTarget = false;
			}
		}
		break;
	case 37: case 39://move selected word into textbox
		if (keywordNum>0){
			if (document.getElementById("keyword"+keywordNum)){
				key.value=document.getElementById("keyword"+keywordNum).innerHTML.replace(new RegExp("<span>","gi"),"").replace(new RegExp("</span>","gi"),"");
				document.getElementById(target).style.display="none";
				document.getElementById(target).innerHTML="";
				key.focus();
				keywordNum=0;
				currentTextBox = false;
				currentTarget = false;
			}
		}
		break;
	case 13:
		if (keywordNum>0){
			if (document.getElementById("keyword"+keywordNum)){
				key.value=document.getElementById("keyword"+keywordNum).innerHTML.replace(new RegExp("<span>","gi"),"").replace(new RegExp("</span>","gi"),"");
				document.getElementById(target).style.display="none";
				document.getElementById(target).innerHTML="";
				key.focus();
				keywordNum=0;
				currentTextBox = false;
				currentTarget = false;
			}
		}
		break;
	default:
		if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
			xmlhttp=new XMLHttpRequest();
	  	}else{// code for IE6, IE5
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  	}
		xmlhttp.onreadystatechange=function(){
			//alert("Message received\n"+xmlhttp.readyState+" "+xmlhttp.status);
			if (xmlhttp.readyState==4 && xmlhttp.status==200){
				if (xmlhttp.responseText!=""){
					document.getElementById(target).style.display="block";
	    			document.getElementById(target).innerHTML=xmlhttp.responseText;
	    		}else{
					document.getElementById(target).style.display="none";
				}
				keywordNum=0;
		  	}
		}
		xmlhttp.open("POST","/Public/admin/home_key_hint.asp?key="+key.value,true);
		xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
		xmlhttp.send("key="+key.value);
	}
}
function closeList(target){
	//Raised with onblur event, let form submit/selectHint happen first
	setTimeout(function(){
		document.getElementById(target).style.display="none";
		document.getElementById(target).innerHTML="";
		keywordNum=0;
		currentTextBox = false;
		currentTarget = false;
	}, 400);
}
function selectHint(option){
	//mouse Onclick version of select
	if (option.innerHTML!=""){
		var txtbox=document.getElementById(option.parentNode.id.replace("Hint","Box"));
		txtbox.value=option.innerHTML.replace(new RegExp("<span>","gi"),"").replace(new RegExp("</span>","gi"),"");
		option.parentNode.style.display="none";
		option.parentNode.innerHTML=""
		keywordNum=0;
		txtbox.focus();
		//move cursor to end
		txtbox.value = txtbox.value;
	}
}
function formSubmit(e, form){
		if (keywordNum==0){
			return true;
		}else{
			//IE doesn't fire onkeyup in text box for 'enter' but only submits form
			//If keyword>0 then capture selection instead, redundant for firefox
			if (currentTextBox && currentTarget){
				getHints(13, currentTextBox, currentTarget);
			}
			return false;
		}
}
/* Used for tooltip emulator */
function uptip(tip, e, holder){
	var pos, x=20;			
	if (e.clientX){x=e.clientX;}
	if (document.getElementById(tip)){
		pos = x+5-holder.offsetLeft
		document.getElementById(tip).style.left = "" + pos + "px";
		document.getElementById(tip).style.display="inline";
	}
}
function downtip(tip){
	if (document.getElementById(tip)){
		document.getElementById(tip).style.display="none";
	}
}
