// JavaScript Document
//Coded by Vincenzo Trapani 

var valueReturned=new Array();
var inputPublic=null;
var divPublic=null;
var iter=0;
var wordsFinded=null;
var word=null;
var keyCode=null;
var active=false;
var offsetTopTotal=0;
var offsetLeftTotal=0;
function pos(input,div)
{
try
{
	document.getElementById(div).innerHTML="";
	var uno=document.getElementById(input);
	var textbox=document.createElement('select');
	textbox.style.height="200px";
	textbox.id="helper";
//	textbox.style.backgroundImage="url(../gif/suggerimentiGif.gif)";

	textbox.multiple="multiple";
	textbox.onclick=setMe;
	try
	{
		textbox.style.width=parseInt(uno.style.width)+60+"px";
	}
	catch(er)
	{
	}
	findMeEverywhereIAm();
	var top=(window.event)?parseInt(offsetTopTotal)+30:parseInt(offsetTopTotal)+20;//IE......!!-70???assurdo
	var left=parseInt(offsetLeftTotal);
	var dist=4;
	
	var newTop=0;
	//newTop=top+parseInt(uno.style.height)+dist;
	newTop=top;
	var newLeft=0;
	newLeft=left;
	var textValue=new Array();
	var childOption=new Array();
	var arrayWords=wordsFinded.split('|');
	//alert(arrayWords[0]);
	for(var i=0;i<=arrayWords.length;i++)
	{
		if(arrayWords[i]!=undefined && arrayWords[i]!="undefined"  && arrayWords[i]!=" ")
		{
			childOption[i]=document.createElement('option');
			if(i==0 && document.getElementById(input).value!="")
			{
					
					childOption[i].value=document.getElementById(input).value;
					childOption[i].text=document.getElementById(input).value;
					if(i==0)childOption[i].selected=true;
					//textbox.appendChild(childOption[i]);
					
			}
			else
			{
			
					
					childOption[i].value=arrayWords[i].replace('null','');
					childOption[i].text=arrayWords[i].replace('null','');
					if(i==0)childOption[i].selected=true;
					
					
			}
		
			
			textbox.options.add(childOption[i]);
					active=true;
		
			}
		
	}

	try
	{
		document.getElementById(div).style.top=newTop+"px";
		document.getElementById(div).style.left=newLeft+"px";
		if(active)
		{
			if(arrayWords.length==0)
			{ 
				document.getElementById(div).innerHTML="";
				active=false;
			}
			else if(document.getElementById(input).value=="")
			{
				document.getElementById(div).innerHTML="";
				active=false;
			}
			else
			{
				document.getElementById(div).appendChild(textbox);
				document.getElementById(divPublic).style.visibility= "visible";
			}
		}
		
		
		
	}
	catch(e)
	{
		active=false;
	}
	
}//try
catch(ggl)
{
}
}

function findMeEverywhereIAm()
{
	var node=document.getElementById(inputPublic);
	offsetTopTotal=0;
    offsetLeftTotal=0;
	while(node.tagName!="BODY")
	{
		offsetTopTotal+=node.offsetTop;
		node=node.offsetParent;
	}
	
	node=document.getElementById(inputPublic);
	
	while(node.tagName!="BODY")
	{
		offsetLeftTotal+=node.offsetLeft;
		node=node.offsetParent;
	}
}

var uT=new myUtility(after);
function getSuggerimenti(input,div)
{
	try
	{
	inputPublic=input;
	divPublic=div;
	iter=0;
	var wordDiv=document.getElementById(input).value;
	uT.createResponse();
	var params=new Array();
	params[0]="word";
	var value=new Array();
	value[0]=wordDiv;
	
	uT.sendPostRequest("getMeSuggest.php",params,value);
	}
	catch(gg)
	{
	}
}

function after(testoR)
{
	valueReturned=new Array();
	valueReturned=testoR.split('|');
}
function checkWord()
{
	var writed=document.getElementById(inputPublic).value;
	var wordF=null;
	var prova="LOL";
	
	
	wordsFinded=null;
	for(var i=0;i<valueReturned.length;i++)
		{
			if(valueReturned[i].indexOf(writed)!=-1)
			{
				if(valueReturned[i]!=undefined && valueReturned[i]!="undefined"  && valueReturned[i]!=" ") wordsFinded+=valueReturned[i]+"|";
			}
		}
	//wordsFinded.replace('null','');
	pos(inputPublic,divPublic);
}
function setMe()
{
	var obj=document.getElementById('helper');
		
			
			document.getElementById(inputPublic).value=obj.options[obj.selectedIndex].value;
			document.getElementById(inputPublic).focus();
			document.getElementById(divPublic).innerHTML="";
			document.getElementById(divPublic).style.visibility= "hidden";
}
function storeKeyCode(e)
{
keyCode = (window.event) ? event.keyCode : e.keyCode;
if(active)
{
	try
	{
		if(keyCode==40)
		{
			document.getElementById('helper').focus();
		}
		else if(keyCode==13)
		{
			setMe();
			
		}
		else if(keyCode==8)
		{
			var obj=document.getElementById('helper');
		
			document.getElementById(inputPublic).focus();
			document.getElementById(divPublic).innerHTML="";
			checkWord();
			
		}
	}
	catch(ex)
	{
	}
}

}
document.onkeypress=storeKeyCode;
document.onkeyup=storeKeyCode;