var LiveWebServiceUrl = "LiveService.asmx";
var lst_txt_row = "";
var sXMLHttp = null;
var saving = false;
var UpdateButtonId = "";

document.getElementById("langList").onchange = LanguageOnChange;

function DeleteSyn(word)
{
	table = document.getElementById("tbl_"+word);
	j = 0;
	//window.alert(table.rows.length);
	for (i = 2;i<(table.rows.length-1);i++)
	{
		chk = document.getElementById("chk_"+(j)+"_"+word);	
		if(chk.checked == true)
		{
			 table.deleteRow(i);
			 i--;
		}
		j++;
	}
	
	for (i = 2;i<(table.rows.length-1);i++)
	{
		
		old_id = table.rows[i].cells[0].id;
		word = old_id.split('_')[2];
		index = old_id.split('_')[1];
		chk = document.getElementById("chk_"+index+"_"+word);
		chk.id =  "chk_"+(i-2)+"_"+word;
		
		table.rows[i].cells[0].id = "syn_"+(i-2)+"_"+word;
			
	}
	
	//Da vedere
	if(table.rows.length == 3)
	{
		
		/*lnk =  "<a id = \"lnk_addok_"+word+"\" href=\"javascript:AddNewSyn('"+word+"')\">Add Synonym</a>";
		table.rows[table.rows.length-1].cells[0].innerHTML = lnk;*/
		table.deleteRow(1);
		table.deleteRow(1);
		row = table.insertRow(-1);
		cell = row.insertCell(-1);
		cell.colSpan = 2;
		cell.className ="livebotTITLE";
		cell.height = "26";
		cell.align = "center";
		cell.valign = "middle";
		cell.innerHTML = "No Synonyms: click to "+"<a id = \""+"lnk_addok_"+word+"\" href=\"javascript:AddNewSyn('"+word+"')\">add</a>";		
	}
	else
	{
		lnk = "<a id = \"lnk_addok_"+word+"\" href=\"javascript:AddNewSyn('"+word+"')\">Add Synonym</a> | <a id = \"lnk_dellcancel_"+word+"\" href=\"javascript:DeleteSyn('"+word+"')\">Delete Synonym</a>"
		table.rows[table.rows.length-1].cells[0].innerHTML = lnk;
	}
}
function HighlightRate (e)
{
	var targ;
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3) // defeat Safari bug
		targ = targ.parentNode;
	targ.style.background = "yellow";
}

function DeHighlightRate (e)
{
	var targ;
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3) // defeat Safari bug
		targ = targ.parentNode;
	targ.style.background = "white";
}
function StarClick(e)
{
	
	var targ;
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3) // defeat Safari bug
		targ = targ.parentNode;
	
	
	clickedrate = targ.id.split('_')[2];
	word = targ.id.split('_')[1];
	cell_rate = targ.parentNode;
	cell_rate.innerHTML = "";
	
	for(i=1;i<=clickedrate;i++)
	{
		cell_rate.innerHTML += "<IMG id=\star_"+word+"_"+i+"_on"+"\" alt=\"\" src=\"images/star_on.gif\" align=\"absolute\" onclick='StarClick(event)' >";
	}
	for(i=1;i<=(5-clickedrate);i++)
	{
		cell_rate.innerHTML += "<IMG id=\star_"+word+"_"+(i+parseInt(clickedrate))+"_off"+"\" alt=\"\" src=\"images/star_off.gif\" align=\"absolute\" onclick='StarClick(event)' >";
		
	}
	cell_rate.setAttribute('rate',clickedrate);
		
}
function AddNewSyn(word)
{
	table = document.getElementById("tbl_"+word);
	
	if(table.rows.length > 9)
	{
		return;
	}
	
	
	if(table.rows.length == 2)
	{
		table.deleteRow(1);
		new_row = table.insertRow(-1);
		new_cell = new_row.insertCell(-1);
		new_cell.innerHTML = "Synonyms";
		new_cell.className = "livebotTITLE";
		new_cell = new_row.insertCell(-1);
		new_cell.innerHTML = "Rank";
		new_cell.className = "livebotTITLE";
		
		new_row = table.insertRow(-1);
		new_row.colSpan = 3;
		
		new_row.className = "livebotLINK";
		new_cell = new_row.insertCell(-1);
	}
	
	if(lst_txt_row != "")
	{
		NormalizeTextBox();
	}
	
	table = document.getElementById("tbl_"+word);
	
	row = table.insertRow(table.rows.length-1);
	cell_syn = row.insertCell(-1);
	
	cell_syn.id = "syn_"+(table.rows.length-4)+"_"+word;
	//Attenzione Da qui
	cell_syn.innerHTML = "<INPUT type=\"text\" id='syntxt' size=\"6\" class='simpleText' onkeydown=\"CheckKey('"+word+"',event)\" style=\"background-color:white;border:solid 1px black; \" >";
	cell_rate = row.insertCell(-1);
	cell_rate.width = "70";
	cell_rate.setAttribute('rate',"3");
	
	for(i=1;i<=3;i++)
	{
		cell_rate.innerHTML += "<IMG id=\star_"+word+"_"+i+"_on"+"\" alt=\"\" src=\"images/star_on.gif\" align=\"absolute\" onclick='StarClick(event)'>";
	}
	for(i=1;i<=2;i++)
	{
		cell_rate.innerHTML += "<IMG id=\star_"+word+"_"+(i+3)+"_off"+"\" alt=\"\" src=\"images/star_off.gif\" align=\"absolute\" onclick='StarClick(event)' >";
	}
	lst_txt_row = cell_syn.id;
	links = "<a id = \"lnk_addok_"+word+"\" href=\"javascript:Ok('"+word+"')\">Ok</a> | <a id = \"lnk_dellcancel_"+word+"\" href=\"javascript:Cancel('"+word+"')\">Cancel</a>"
	
	table.rows[table.rows.length-1].cells[0].innerHTML = links;
	table.rows[table.rows.length-1].cells[0].colSpan = 3;
	
	input = document.getElementById("syntxt").focus();
}
function CheckKey(word,ev)
{
	if((ev.keyCode && ev.keyCode == 13) || (ev.which && ev.which == 13) )
	{
		Ok(word);
	}
}

function OpenTrends(word)
{
	
}

function Cancel(word)
{
	table = document.getElementById("tbl_"+word);
	table.deleteRow(table.rows.length-2);
	lst_txt_row = "";
	links = "<a id = \"lnk_addok_"+word+"\" href=\"javascript:AddNewSyn('"+word+"')\">Add Synonym</a> | <a id = \"lnk_dellcancel_"+word+"\" href=\"javascript:DeleteSyn('"+word+"')\">Delete Synonym</a>"
	table.rows[table.rows.length-1].cells[0].innerHTML = links;
	if(table.rows.length == 3)
	{
		table.deleteRow(1);
		table.deleteRow(1);
		row = table.insertRow(-1);
		cell = row.insertCell(-1);
		cell.colSpan = 2;
		cell.height = "26";
		cell.align = "center";
		cell.valign = "middle";
		cell.className ="livebotTITLE";
		cell.innerHTML = "No Synonyms: click to "+"<a id = \""+"lnk_addok_"+word+"\" href=\"javascript:AddNewSyn('"+word+"')\">add</a>";		
	}
}

function Ok(word)
{
	syn = document.getElementById("syntxt").value;
	if(syn.length == 0)
		Cancel(word);
	else
		NormalizeTextBox();
}
function ToNiceFormat(word)
{
	if(word.length <= 13)
		return word;
	else
	{
		start = word.substr(0,11);
		return start+"...";
	}
}
function NormalizeTextBox()
{
	cell = document.getElementById(lst_txt_row);
	syn = document.getElementById("syntxt").value;
	word = cell.id.split('_')[2];
	index = cell.id.split('_')[1];
	table = document.getElementById("tbl_"+word);
	if(syn.length == 0)
	{
		table.deleteRow(table.rows.length-2);
	}
	else
	{
		cell.innerHTML = "<input type=\"checkbox\" id=\"chk_"+index+"_"+word+"\" value=\"checkbox\">"+"<label for=\""+"chk_"+index+"_"+word+"\">"+ToNiceFormat(syn)+"</label>";
		cell.width = "102";
		cell.setAttribute('syn',syn);
	}
	links = "<a id = \"lnk_addok_"+word+"\" href=\"javascript:AddNewSyn('"+word+"')\">Add Synonym</a> | <a id = \"lnk_dellcancel_"+word+"\" href=\"javascript:DeleteSyn('"+word+"')\">Delete Synonym</a>";
	if (table.rows.length == 10)
	{
		links = "<a id = \"lnk_dellcancel_"+word+"\" href=\"javascript:DeleteSyn('"+word+"')\">Delete Synonym</a>"
	}
	
	table.rows[table.rows.length-1].cells[0].innerHTML = links;
	if(table.rows.length == 3)
	{
		
		table.deleteRow(1);
		table.deleteRow(1);
		row = table.insertRow(-1);
		cell = row.insertCell(-1);
		cell.colSpan = 2;
		cell.height = "26";
		cell.align = "center";
		cell.valign = "middle";
		cell.className ="livebotTITLE";
		cell.innerHTML = "No Synonyms: click to "+"<a id = \""+"lnk_addok_"+word+"\" href=\"javascript:AddNewSyn('"+word+"')\">add</a>";		
	}
	lst_txt_row = "";
}

function SaveSyn(id)
{
	UpdateButtonId = id;
	document.getElementById("SearchButton").disabled = true;
	
	document.getElementById("UpdateButtonHtml").disabled = true;
	document.getElementById("UpdateButtonHtml").value = "Updating Results...";
	if(lst_txt_row != "")
		NormalizeTextBox();
	
	var language = GetDropDownSelectedItem(document.getElementById("langList"));
	
	
	if(language != currentLang)
	{
		SendEmptySessionMessage("live/proxy_emptySession.aspx",session_id);
	}
	else
	{
		SaveSynInternal();
	}
	
}

function EmptySession()
{
	
}

function SaveSynInternal()
{
	divmain = document.getElementById("div_live_main");
	msg_header = "<?xml version=\"1.0\" encoding=\"utf-8\"?><soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"><soap:Body><SaveSyns xmlns=\"http://tempuri.org/\"><syns>";
	for (i = 0; i<divmain.childNodes.length;i++)
	{
		tbl = document.getElementById(divmain.childNodes[i].id);
		word = divmain.childNodes[i].id.split('_')[1];
		msg_header += "<LiveSyns><word>"+word+"</word>";
		syns = "";
		rates = "";
		j = 1;
		for (y = 2;y<tbl.rows.length-1;y++)
		{
			syn = tbl.rows[y].cells[0].getAttribute('syn');
			syns += "<syn"+j+">"+syn+"</syn"+j+">";
			rate = tbl.rows[y].cells[1].getAttribute('rate');
			rates += "<rate"+j+">"+rate+"</rate"+j+">";
			j++;
		}
		for (x = 0;x<(9-j);x++)
		{
			syns += "<syn"+(j+x)+"></syn"+(j+x)+">";
			rates += "<rate"+(j+x)+">0</rate"+(j+x)+">";	
		}
		msg_header += syns+rates+"</LiveSyns>";
	}
	msg_header += "</syns>";
	msg_header += "<sessionId>"+session_id+"</sessionId>";
	msg_header +="</SaveSyns></soap:Body></soap:Envelope>";
	SendSaveMessage(LiveWebServiceUrl,msg_header);
}

function SaveLiveFeedback(YesNo)
{
	if(lst_txt_row != "")
		NormalizeTextBox();
	divmain = document.getElementById("div_live_main");
	msg_header = "<?xml version=\"1.0\" encoding=\"utf-8\"?><soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"><soap:Body><LiveFeedback  xmlns=\"http://tempuri.org/\"><syns>";
	for (i = 0; i<divmain.childNodes.length;i++)
	{
		tbl = document.getElementById(divmain.childNodes[i].id);
		word = divmain.childNodes[i].id.split('_')[1];	
		msg_header += "<LiveSyns><word>"+word+"</word>";
		syns = "";
		rates = "";
		j = 1;
		for (y = 2;y<tbl.rows.length-1;y++)
		{
			syn = tbl.rows[y].cells[0].getAttribute('syn');
			syns += "<syn"+j+">"+syn+"</syn"+j+">";
			rate = tbl.rows[y].cells[1].getAttribute('rate');
			rates += "<rate"+j+">"+rate+"</rate"+j+">";
			j++;
		}
		for (x = 0;x<(9-j);x++)
		{
			syns += "<syn"+(j+x)+"></syn"+(j+x)+">";
			rates += "<rate"+(j+x)+">0</rate"+(j+x)+">";	
		}
		msg_header += syns+rates+"</LiveSyns >";
	}
	msg_header += "</syns>";
	msg_header += "<YesNo>"+YesNo+"</YesNo>";
	msg_header +="</LiveFeedback></soap:Body></soap:Envelope>";
	SendLiveFeedbackMessage(LiveWebServiceUrl,msg_header);
	
}

function DeleteAll(word)
{
	tbl = document.getElementById("tbl_"+word);
	lst_txt_row = "";
	for (i = 1;i<tbl.rows.length;i++)
	{
		tbl.deleteRow(i);i--;
	}
	
	SaveSyn(word);
}

function SendEmptySessionMessage(url, id)
{
	try
	{
		sXMLHttp = InitXMLHttp(); 
		if(sXMLHttp&&sXMLHttp.readyState!=0)
		{
			
			sXMLHttp.abort()
		}
		
		if(sXMLHttp)
		{
			url = url + "?session_id="+id;
			
            sXMLHttp.open("GET",url,true);
            sXMLHttp.send(null);
            sXMLHttp.onreadystatechange=function() 
			{ 
				if(sXMLHttp.readyState == 4)
				{
					if(sXMLHttp.status == 200)
					{						
						WebServiceSaveResponse(null);
					}
				}
            };
		}
	}
	catch(ex)
	{}
}

function SendSaveMessage(url,data)
{
    try
	{
		sXMLHttp = InitXMLHttp(); 
		if(sXMLHttp&&sXMLHttp.readyState!=0)
		{
			
			sXMLHttp.abort()
		}
		
		if(sXMLHttp)
		{
            sXMLHttp.open("POST",url,true);
            sXMLHttp.setRequestHeader("SOAPAction","http://tempuri.org/SaveSyns");
            sXMLHttp.setRequestHeader("Content-Type","text/xml; charset=utf-8"); 
            sXMLHttp.send(data);
            sXMLHttp.onreadystatechange=function() 
			{ 
				if(sXMLHttp.readyState == 4)
				{
					if(sXMLHttp.status == 200)
					{
						var resp = sXMLHttp.responseText;
						WebServiceSaveResponse(resp);
					}
				}
            };
		}
	}
	catch(ex)
	{}	
}
function SendLiveFeedbackMessage(url,data)
{
    try
	{
		sXMLHttp = InitXMLHttp(); 
		if(sXMLHttp&&sXMLHttp.readyState!=0)
		{
			
			sXMLHttp.abort()
		}
		
		if(sXMLHttp)
		{
            sXMLHttp.open("POST",url,true);
            sXMLHttp.setRequestHeader("SOAPAction","http://tempuri.org/LiveFeedback");
            sXMLHttp.setRequestHeader("Content-Type","text/xml; charset=utf-8"); 
            sXMLHttp.send(data);
            sXMLHttp.onreadystatechange=function() 
			{
                if(sXMLHttp.readyState==4)
				{
					if(sXMLHttp.status == 200)
					{
						var resp = sXMLHttp.responseText;
						WebServiceLiveFeedbackResponse(resp);
					}
				}
				
            };
		}
	}
	catch(ex)
	{}	
}

function WebServiceSaveResponse(resp)
{
	//__doPostBack("updateButton","");
	Search();
	return;
}
function WebServiceLiveFeedbackResponse(resp)
{
	div = document.getElementById('tblLiveFeedback');
	div.innerHTML = "<TABLE  border=\"0\"><TR><TD colSpan=\"2\" align=\"center\">Thank you for your feedback!</TD></TR></TABLE>";
}
function InitXMLHttp()
{
	var A=null;
	try
	{
		A=new ActiveXObject("Msxml2.XMLHTTP")
	}
	catch(e)
	{
		try
		{
			A=new ActiveXObject("Microsoft.XMLHTTP")
		} 
		catch(oc)
		{
		A=null
		}
	}
	if(!A&&typeof XMLHttpRequest!="undefined"){
	A=new XMLHttpRequest()
	}
	
	return A
}
function refresh()
{
    window.location.reload(false);
}
editSynSuccess=function(ret)
{
	refresh();	
}