pic1= new Image(17,15); 
pic1.src="/img/bstar_glow.gif";
pic2= new Image(17,15); 
pic2.src="/img/bstar_on.gif";
pic3= new Image(17,15); 
pic3.src="/img/bstar_off.gif";

var url = "/update_value.php"; 
var url_control_progress = "control_progress.php";
var url_count_segs = "count_segments.php";
var accept_hl = true;
var http;
var wait = false;
var import_errors = false;
var messages = new Array(); //inizializzato da PHP


var sw=0;
var ctnew=0;

// funzioni scorrimento

animatedcollapse.ontoggle=function($, divobj, state){
	if (sw==0) {var el = document.getElementById('addSe1');
		if (el.className=='trs') {
			el.innerHTML = messages['close_insert'];
			el.className='trs2';
		}
		else {
			el.innerHTML = messages['add_translation'];
			el.className='trs';
		}
		var el = document.getElementById('addSe2');
		if (el.className=='trs') {
			el.innerHTML = messages['close_insert'];
			el.className='trs2';
		}
		else {
			el.innerHTML = messages['add_translation'];
			el.className='trs';
		}slidein();sw=1;}
		if (divobj!=null&&divobj.className==document.getElementById('TRinsert').className) {
			var el = document.getElementById('addSe1');
			if (el.className=='trs') {
				el.innerHTML = messages['close_insert'];
				el.className='trs2';
			}
			else {
				el.innerHTML = messages['add_translation'];
				el.className='trs';
			}
			var el = document.getElementById('addSe2');
			if (el.className=='trs') {
				el.innerHTML = messages['close_insert'];
				el.className='trs2';
			}
			else {
				el.innerHTML = messages['add_translation'];
				el.className='trs';
			}
		}
}
animatedcollapse.init();


function getCookie(c_name) {
	if (document.cookie.length>0) {
		c_start=document.cookie.indexOf(c_name + "=");
		if (c_start!=-1) {
			c_start=c_start + c_name.length+1;
			c_end=document.cookie.indexOf(";",c_start);
			if (c_end==-1) c_end=document.cookie.length;
			return unescape(document.cookie.substring(c_start,c_end));
		}
	}
	return "";
}



function updateScore(add) {
	var ct=Number(getCookie("score"));
	if (!ct) ct=0;
	var date = new Date();
	date.setTime(date.getTime()+(365*24*60*60*1000));
	if (Number(add)>0) {
		ct+=Number(add);
	}
	if (ct==0) document.getElementById('scored').innerHTML=ct+" "+messages['contribution']+" <img src=\"/img/bstar_off.gif\" style=\"border: 0px none ;vertical-align:text-middle\" width=\"17\" height=\"15\" title=\"10\"><img src=\"/img/bstar_off.gif\" style=\"border: 0px none ;vertical-align:text-middle\" width=\"17\" height=\"15\" title=\"100\"><img src=\"/img/bstar_off.gif\" style=\"border: 0px none ;vertical-align:text-middle\" width=\"17\" height=\"15\" title=\"+1000\">";
	else if (ct<100) document.getElementById('scored').innerHTML=ct+" "+messages['contribution']+" <img src=\"/img/bstar_glow.gif\" style=\"border: 0px none ;vertical-align:text-middle\" width=\"17\" height=\"15\" title=\"10\"><img src=\"/img/bstar_off.gif\" style=\"border: 0px none ;vertical-align:text-middle\" width=\"17\" height=\"15\" title=\"100\"><img src=\"/img/bstar_off.gif\" style=\"border: 0px none ;vertical-align:text-middle\" width=\"17\" height=\"15\" title=\"+1000\">";
	else if (ct<1000) document.getElementById('scored').innerHTML=ct+" "+messages['contribution']+" <img src=\"/img/bstar_on.gif\" style=\"border: 0px none ;vertical-align:text-middle\" width=\"17\" height=\"15\" title=\"10\"><img src=\"/img/bstar_glow.gif\" style=\"border: 0px none ;vertical-align:text-middle\" width=\"17\" height=\"15\" title=\"100\"><img src=\"/img/bstar_off.gif\" style=\"border: 0px none ;vertical-align:text-middle\" width=\"17\" height=\"15\" title=\"+1000\">";
	else document.getElementById('scored').innerHTML=ct+" "+messages['contribution']+" <img src=\"/img/bstar_on.gif\" style=\"border: 0px none ;vertical-align:text-middle\" width=\"17\" height=\"15\" title=\"10\"><img src=\"/img/bstar_on.gif\" style=\"border: 0px none ;vertical-align:text-middle\" width=\"17\" height=\"15\" title=\"100\"><img src=\"/img/bstar_glow.gif\" style=\"border: 0px none ;vertical-align:text-middle\" width=\"17\" height=\"15\" title=\"+1000\">";
	document.cookie = "score="+escape(ct)+";expires="+date.toGMTString()+"; path=/";
}

function URLDecode(url) //function decode URL
{
	var HEXCHARS = "0123456789ABCDEFabcdef"; 
	var encoded = url;
	var plaintext = "";
	var i = 0;
	while (i < encoded.length) {
		var ch = encoded.charAt(i);
		if (ch == "+") {
			plaintext += " ";
			i++;
		} else if (ch == "%") {
			if (i < (encoded.length-2) 
					&& HEXCHARS.indexOf(encoded.charAt(i+1)) != -1 
					&& HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) {
				plaintext += unescape( encoded.substr(i,3) );
				i += 3;
			} else {
				alert( 'Bad escape combination near ...' + encoded.substr(i) );
				plaintext += "%[ERROR]";
				i++;
			}
		} else {
			plaintext += ch;
			i++;
		}
	} // while 

	return plaintext;
}

function URLEncode(url) //Function to encode URL.
{
	// The Javascript escape and unescape functions do not correspond
	// with what browsers actually do...
	var SAFECHARS = "0123456789" + // Numeric
		"ABCDEFGHIJKLMNOPQRSTUVWXYZ" + // Alphabetic
		"abcdefghijklmnopqrstuvwxyz" +
		"-_.!~*'()"; // RFC2396 Mark characters
	var HEX = "0123456789ABCDEF"; 

	var plaintext = url;
	var encoded = "";
	for (var i = 0; i < plaintext.length; i++ ) {
		var ch = plaintext.charAt(i);
		if (ch == " ") {
			encoded += "+"; // x-www-urlencoded, rather than %20
		} else if (SAFECHARS.indexOf(ch) != -1) {
			encoded += ch;
		} else {
			var charCode = ch.charCodeAt(0);
			if (charCode > 255) {
				alert( "Unicode Character '" 
						+ ch 
						+ "' cannot be encoded using standard URL encoding.\n" +
						"(URL encoding only supports 8-bit characters.)\n" +
						"A space (+) will be substituted." );
				encoded += "+";
			} else {
				encoded += "%";
				encoded += HEX.charAt((charCode >> 4) & 0xF);
				encoded += HEX.charAt(charCode & 0xF);
			}
		}
	} 

	return encoded;
}

function searchResults() {
}

function inputransform() {
}

function ToggleInputransform() {
	var obj = document.getElementById('text').value;
	var n=obj.length;
	if (document.getElementById('text').className=="input2") {
		document.getElementById('expbt').src="/img/expandIcon4.gif";
		document.getElementById('inarea').innerHTML="<textarea class=\"input3\" rows =\"3\" type=\"text\" id=\"text\" name=\"q\" onkeydown=\"inputransform();\" >"+obj+"</textarea>";
		var el=document.getElementById('text');
		if (el.createTextRange) {
			var r = el.createTextRange();
			r.moveStart('character', el.value.length);
			r.collapse();
			r.select();
		}
		el.focus();
		el.value=el.value;
	}
	else if (document.getElementById('text').className=="input3") {
		document.getElementById('expbt').src="/img/expandIcon3.gif";
		document.getElementById('inarea').innerHTML="<input class=\"input2\" id=\"text\" name=\"q\"  type=\"text\" value=\""+obj.replace(/\n/g, " ")+"\" onkeydown=\"inputransform();\"/> ";
		var el=document.getElementById('text');
		if (el.createTextRange) {
			var r = el.createTextRange();
			r.moveStart('character', el.value.length);
			r.select();
		}
		el.focus();
		el.value=el.value;
	}
}


function findWidth(obj)  {
	var curleft = 0;
	if(obj.offsetParent)
		while(1) 
		{
			curleft += obj.offsetLeft;
			if(!obj.offsetParent)
				break;
			obj = obj.offsetParent;
		}
	else if(obj.width)
		curleft += obj.x;
	return curleft;
}

function findPosX(obj)  {
	var curleft = 0;
	if(obj.offsetParent)
		while(1) 
		{
			curleft += obj.offsetLeft;
			if(!obj.offsetParent)
				break;
			obj = obj.offsetParent;
		}
	else if(obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)  {
	var curtop = 0;
	if(obj.offsetParent)
		while(1)
		{
			curtop += obj.offsetTop;
			if(!obj.offsetParent)
				break;
			obj = obj.offsetParent;
		}
	else if(obj.y)
		curtop += obj.y;
	return curtop;
}

function setFocus() { 
	switch ('2') {
		case '1': document.loginform.user_id.focus();
			  break;

		case '2': document.filter_form.q.focus();
			  break;

		case '3': document.add_form.a_translation.focus();
			  break;

		case '4':
			  document.add_form.a_segment.focus();
			  document.add_form.a_segment.select();
			  break;

		case '5': document.add_form.a_project.focus();
			  break;
	}
}

function addNew(project,xtype,term,source,example) {
	document.add_form.a_project.value=project;
	document.add_form.a_type.value=xtype;
	term=term.replace(/<t_slash_n>/g,"\n");
	term=term.replace(/<t_slash_r>/g,"\r");
	document.add_form.a_segment.value=term;
	document.add_form.a_source.value=source;
	example=example.replace(/<t_slash_n>/g,"\n");
	example=example.replace(/<t_slash_r>/g,"\r");
	document.add_form.a_example.value=example;
	document.add_form.a_translation.focus();
}

function deleteValue(ids,source,target) {
	http = getHTTPObject1();	
	var parameters = "id="+ids+"&source="+source+"&target="+target;
	var phpurl="/deleteAjax.php";
	try {
		http.open("POST", phpurl, true);
		http.onreadystatechange = handleHttpResponse1; 
		http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http.setRequestHeader("Content-length", parameters.length);
		http.setRequestHeader("Connection", "close");
		http.send(parameters);
		var id=ids.split(",");
		var el = document.getElementById('R'+id[0]);
		animatedcollapse.hide('R'+id[0]);
		el.innerHTML="";
	}
	catch (e) {}
	updateScore(2);
}


var idmsg;
var twins=0;
function update_value(id,ids,source,target) {
	if (wait==true) {alert(messages['op_wait']);return;}
	var type = id.charAt(0);
	var obj = document.getElementById('O'+id);
	var new_text = document.getElementById('new_text').value;
	var old_text = document.getElementById('old_text').value;
	var backtranslation = document.getElementById('BACKT'+id).value;
	document.getElementById('app_new_segment').value = new_text;
	document.getElementById('app_old_segment').value = old_text;
	var segment;
	var translation;
	var problemi = false;

	document.getElementById('tO'+id).value=new_text;

	id = id.substr(1);

	if(type=='T') {
		segment = document.getElementById('tOS'+id).value;
		translation = new_text;
	} else {
		if(type='S') {
			segment = new_text;
			translation = document.getElementById('tOT'+id).value;
		}
	}

	idmsg='MSG'+type+id;

	var vettore=ids.split(",");
	var step=0;

	if (vettore.length>1) twins=1;
	else twins=0;
	for (step=0;step<vettore.length;step++) {
		wait = true;
		http = getHTTPObject();
		id=vettore[step];
		if(http) {
			document.getElementById(idmsg).innerHTML=messages['update'];
			var parameters = "op=update&id="+id
				+"&segment="+encodeURI(segment)
				+"&translation="+encodeURI(translation)
				+"&type="+type
				+"&backtran="+backtranslation
				+"&PHPSESSID="+phpsessid
				+"&source="+source
				+"&target="+target;

			var phpurl = "/update_value.php"; 
			try {				
				http.open("POST", phpurl, true);
				http.onreadystatechange = handleHttpResponse1; 
				http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
				http.setRequestHeader("Content-length", parameters.length);
				http.setRequestHeader("Connection", "close");
				http.send(parameters);	
				wait = true;
			} catch(e) {						
				alert(messages['connection_error']+e.message);  			
				obj.innerHTML = old_text;
				accept_hl = true;
				problemi = true;
				wait = false;
			}
			if(!problemi) {
				obj.innerHTML = new_text;
				accept_hl = true;  			
			}  		
		}
		updateScore(5);
	}
	wait = false;

}

function open_update_box(id,ids,source,target) {				
	if(!wait) {			
		hide(id);
		var text = trim(URLDecode(decodeURIComponent(document.getElementById('tO'+id).value)));
		var obj = document.getElementById('O'+id);  		
		accept_hl = false;
		obj.innerHTML = "<table style=\"width:100%;\"><div class=\"ed\" style=\"width:100%;padding:6px 0 6px 0;\"><textarea style=\"font-size:120%;width:100%;height:50px;padding:6px 0 6px 0;\" id=\"new_text\" class=\"txt2\">"+text+"</textarea><input id=\"old_text\" type=\"hidden\" value=\""+trim(stripHtml(text))+"\"><p style=\"margin:8px 5px 10px 0;text-align:right;\"><a class=\"btn\" href=\"javascript: void(0)\" onclick=\"update_value('"+id+"','"+ids+"','"+source+"','"+target+"')\">"+messages['save']+"</a><a href=\"javascript: void(0)\" onclick=\"cancel_update('"+id+"')\">"+messages['cancel']+"</a></p></div></table>";
		var vettore=ids.split(",");
		document.getElementById('new_text').focus();  		
	} else {
		alert(messages['wait_previuos_op']);
	}
}

function makehtml(text) {
	var newtext = text.replace(/&/g,"&amp;");
	newtext = newtext.replace(/</g,"&lt;");
	newtext = newtext.replace(/>/g,"&gt;");
	return(newtext);
}


function stripHtml(s) {
	return s.replace(/(<([^>]+)>)/ig, "");
}

function cancel_update(id) {
	var old_text = document.getElementById('old_text').value;
	var obj = document.getElementById('O'+id);
	obj.innerHTML = makehtml(trim((old_text)));
	accept_hl = true;
}

function LTrim( value ) {  	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");  	
}

function RTrim( value ) {  	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");  	
}

function trim( value ) {  	
	return LTrim(RTrim(value));  	
}

function handleHttpResponse() {
	if (http.readyState == 4) {
		if (http.status == 200) {
			wait = false;
			result = http.responseText;
			result = result.split(";");
			if(result[0]=='1') {
				//OK
				var id = result[1];
				var type = result[2];
				var txt = result[3];
				var obj = document.getElementById('O'+type+id);
				obj.innerHTML = document.getElementById('app_new_segment').value; //txt;	
				obj = document.getElementById('MSG'+type+id);
			} else {
				//problemi
				var id = result[1];
				var type = result[2];
				var error_msg = result[3];
				var obj = document.getElementById('O'+type+id);
				obj.innerHTML = document.getElementById('app_old_segment').value;//txt;	    			 
				obj = document.getElementById('MSG'+type+id);
				obj.innerHTML = "";
				obj.style.display='none';
				alert(error_msg);
			}
		} else {
			alert(messages['req_prob']);
		}
	} 
}

function handleHttpResponse1() {
	if (http.readyState == 4) {
		if (http.status == 200) {
			document.getElementById(idmsg).innerHTML="";
			if (twins==1&&document.location.href.substr(-2)!='v2=1') {
				var num=document.getElementById('select_target_mm').selectedIndex;
				var target=document.getElementById('select_target_mm').options[num].value;
				var num2=document.getElementById('select_source_mm').selectedIndex;
				var source=document.getElementById('select_source_mm').options[num2].value;
				var num3=document.getElementById('select_subject').selectedIndex;
				var sj=document.getElementById('select_subject').options[num3].innerHTML.toLowerCase();
				var seg=document.getElementById('text').value;
				var answer = confirm(messages['similar_notice']);
				if (answer) {
					self.location="http://mymemory.translated.net/t/"+source+"/"+target+"/"+seg+"/1";
				}
				wait = false;
			}
		}
	}
}

function getHTTPObject() { 
	var http_request=false; 
	if (window.XMLHttpRequest) { 
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/html');
		}
	} else if (window.ActiveXObject) { 
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) {
		alert(messages['http_req_error']);
		return false;
	}
	return http_request; 
} 	

function getHTTPObject1() { 
	var http_request=false; 
	if (window.XMLHttpRequest) { 
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/html');
		}
	} else if (window.ActiveXObject) { 
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) {
		alert(messages['http_req_error']);
		return false;
	}
	return http_request; 
} 

function getHTTPObject2() { 
	var http_request=false; 
	if (window.XMLHttpRequest) { 
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/html');
		}
	} else if (window.ActiveXObject) { 
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) {
		alert(messages['http_req_error']);
		return false;
	}
	return http_request; 
} 

// Si puņ eliminare?
function ShowInsertBox() {
}

// Si puņ eliminare?
function hide(id) {
}

// Cambia la classe del pulsante search
function changeclass() {
	var el = document.getElementById("girella");
	el.value ="";
	el.className ="load";
} 

function specialSubmit() {
	var elseg= document.getElementById('newsegment').value;
	var eltrans= document.getElementById('newtranslation').value;

	var el=document.getElementById('select_source');
	var slang= el.options[el.selectedIndex].text;

	var el=document.getElementById('select_target');
	var tlang= el.options[el.selectedIndex].text;

	var el=document.getElementById('select_subject_add');
	var subj= el.options[el.selectedIndex].text;

	var el=document.getElementById('voteadd');
	var voteadd=rating2vote(el.value);

	var cid= document.getElementById('cidadd').value;
	var utype= document.getElementById('user_type').value;

	var el= document.getElementById('results3');
	var tmp=el.innerHTML;

	el.innerHTML="<div><table width=\"100%\" height=\"50px\"style=\"background:#DAEBC2\" cellpadding=\"0\" cellspacing=\"0\" class=\"ls\"><tr><td><p class=\"big\" id=\"elsegm\">&nbsp; "+elseg+"</p></td><td><p class=\"big\">&nbsp; "+eltrans+"</p></td><td style=\"width:300px;padding:1px 0 1px 10px;\" class=\"dtl\"><span id=\"newtempseg\" class=\"input_bt4\"><img src=\"/img/loading2.gif\"></span></td></tr></table></div>"+el.innerHTML;
	http = getHTTPObject2();	
	var parameters = "cid="+cid
		+"&slang="+slang
		+"&tlang="+tlang
		+"&subj="+subj
		+"&newsegment="+elseg
		+"&newtranslation="+eltrans
		+"&voteadd="+voteadd;
	var phpurl="/insertAjax.php";
	try {
		http.open("POST", phpurl, true);
		http.onreadystatechange = function() { 
			if(http.readyState == 4)	{
				if(http.status == 200)	{ 
					var db_id=http.responseText;
					var date = new Date();
					var d  = date.getDate();
					var day = (d < 10) ? '0' + d : d;
					var m = date.getMonth() + 1;
					var month = (m < 10) ? '0' + m : m;
					var yy = date.getYear();
					var year = (yy < 1000) ? yy + 1900 : yy;

					document.getElementById('newtempseg').innerHTML=messages['last_up']+year+"-"+month+"-"+day+"<br />"+messages['subject']+" "+subj.replace("/_/"," ")+"<br/>"+messages['quality']+" <span id=\"Q"+db_id+"\"></span><form style=\"display:none;\"name=\"ratingForm"+db_id+"\" action=\"/RateSegment.php\" method=\"POST\"><input type=\"hidden\" name=\"action_add_rating\" value=\"1\" /><input type=\"hidden\" name=\"seg_id\" id=\"seg_id\" value=\""+db_id+"\" /><input type=\"hidden\" name=\"voter_type\" id=\"voter_type\" value=\"translator\" /><input type=\"hidden\" name=\"ids\" id=\"ids\" value=\"\" /><input type=\"hidden\" name=\"id_voter\" id=\"id_voter\" value=\""+cid+"\" /><input type=\"hidden\" name=\"rating\" id=\"rating\" value=\"\"></form>";
					ratingComponent[db_id]=new UTRating("ratingComponent["+db_id+"]","ratingForm"+db_id,db_id);
					ratingComponent[db_id].starCount=vote2rating(voteadd);
					create_rating_form(db_id,db_id,vote2rating(voteadd),cid,utype,slang,tlang);
					updateScore(5);
				}
				else {}
			} 
		}; 
		http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http.setRequestHeader("Content-length", parameters.length);
		http.setRequestHeader("Connection", "close");
		http.send(parameters);
	}
	catch (e) {}

}


function updatecounter(timems,nloops) { 
	var req = null;
	var timems;
	var nloops;
	nloops++;
	if (window.XMLHttpRequest) { 
		req = new XMLHttpRequest(); 
	}
	else if (window.ActiveXObject)	{
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e)
		{
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	req.onreadystatechange = function()
	{ 
		if(req.readyState == 4)
		{
			if(req.status == 200)	{ document. getElementById("segcounter"). innerHTML = "<b>"+req.responseText+"</b>";	}
			else {	
				// i keep the static value! 
			}
		} 
	}; 
	req.open("GET", "/AllSegmentsCounter", true); 
	req.send(null);
	if (nloops<20) { setTimeout("updatecounter("+timems+","+nloops+")",timems); }
}

function createAddForm(cid,user_type,s_segment,transladd,select_source_lang,select_target_lang,select_subject,insert,cancel,error_insert,error_msg,vote,segment_dir,target_dir) {
	var newHTML="<ul class=\"ls\" style=\"padding:10px 0 5px 0;\" ><input type=\"hidden\" name=\"action\" value=\"insert\"><li><input type=\"hidden\" id=\"user_type\" value=\""+user_type+"\"><input type=\"hidden\" id=\"voteadd\" value=\""+vote+"\"/><input type=\"hidden\" id=\"cidadd\" value=\""+cid+"\"/><p class=\"sml3\"><textarea id=\"newsegment\" \""+segment_dir+"\" name=\"segment\" class=\"txt\">"+s_segment.replace(/<br>/g,"\n")+"</textarea><br />"+select_source_lang+":<select id=\"select_source\" name=\"select_source\">"+csl+"</select></p></li><li><p class=\"sml3\"><textarea id=\"newtranslation\" \""+target_dir+"\" name=\"transladd\" class=\"txt\">"+transladd.replace(/ \\u003cbr\\u003e /g,"\n")+"</textarea><br />"+select_target_lang+":<select id=\"select_target\" name=\"select_target\">"+ctl+"</select></p></li><li style=\"width:200px;float:left\"><p class=\"sml3\">"+select_subject+":<br /><select id=\"select_subject_add\" style=\"margin:0 0 10px 0\" name=\"select_subject\">"+csub+"</select></p><p style=\"font-size:80%;margin:0 0 10px 10px\"> <a href=\"javascript: void(0)\" class=\"btn\" onclick=\"javascript:animatedcollapse.toggle('TRinsert');javascript:specialSubmit();\">"+insert+"</a> | <a href=\"javascript: void(0)\" onclick=\"javascript:animatedcollapse.toggle('TRinsert')\">"+cancel+"</a></p><span id=\"error_insert_msg\">";
	if(error_insert) {
		newHTML+= "Error: ".error_msg;
	}
	newHTML+="</span></li></ul>";
	var el= document.getElementById('addForm');
	el.innerHTML=newHTML;
	var num=document.getElementById('select_source_mm').selectedIndex;
	var su=document.getElementById('select_source_mm').options[num].innerHTML;
	var num1=document.getElementById('select_target_mm').selectedIndex;
	var su1=document.getElementById('select_target_mm').options[num1].innerHTML;
	var num2=document.getElementById('select_subject').selectedIndex;
	var su2=document.getElementById('select_subject').options[num2].innerHTML;

	sortSelect(document.getElementById('select_source'));
	sortSelect(document.getElementById('select_target'));
	sortSelect(document.getElementById('select_subject_add'));

	for(i=0;i<document.getElementById('select_source').length;i++) {
		if(document.getElementById('select_source').options[i].innerHTML==su) {
			document.getElementById('select_source').selectedIndex=i;
		}
	}
	for(i=0;i<document.getElementById('select_target').length;i++) {
		if(document.getElementById('select_target').options[i].innerHTML==su1) {
			document.getElementById('select_target').selectedIndex=i;
		}
	}
	for(i=0;i<document.getElementById('select_subject_add').length;i++) {
		if(document.getElementById('select_subject_add').options[i].innerHTML==su2) {
			document.getElementById('select_subject_add').selectedIndex=i;
		}
	}
	return newHTML;
}

function rate_down(id) {
	var answer = confirm(messages['low_score']);	
	if(answer) {
		document.form_rate.id.value = id;
		document.form_rate.submit();
	} 
	return true;
}

// Si puņ eliminare?
function delete_row(id) {
}

// Si puņ eliminare?
function copy_row(id) {
}

function ExportMyMemories() {
	if (navigator.userAgent.indexOf('Chrome/') > 0 ||
			navigator.userAgent.indexOf('Safari/') > 0) {
		if (window.wndw) {
			window.wndw.close();
			window.wndw = null;
		}
	}
	wndw=window.open("/export_my_memory.php?PHPSESSID="+phpsessid,"export","width=780,height=480,status=no,menubar=no,toolbar=no,scrollbars=yes,resizable=yes");
	wndw.focus();
}

function ImportMyMemory() {
	if (navigator.userAgent.indexOf('Chrome/') > 0 ||
			navigator.userAgent.indexOf('Safari/') > 0) {
		if (window.wndw) {
			window.wndw.close();
			window.wndw = null;
		}
	}
	wndw=window.open("/import_my_memory.php?PHPSESSID="+phpsessid,"import",config="width=780,height=650,status=no,menubar=no,toolbar=no,location=no,directories=no,scrollbars=yes,resizable=yes");		
	wndw.focus();
}

function ShowReference(id,dir) {
	wndw=window.open("/reference_redirect.php?id="+id+"&dir="+dir+"&PHPSESSID="+phpsessid,"Ref"+dir,config="width=780,height=500,status=no,menubar=no,toolbar=no,location=yes,directories=no,scrollbars=yes,resizable=yes");
	wndw.focus();
}

// Si puņ eliminare?
function copy_to_clipboard(id) {
}  

//PER ABILITARE IN FIREFOX: about:config --> cercare "signed" --> 2 click sull'unica riga che compare (chiede conferma) 
// Si puņ eliminare?
function copy_clip(meintext) {
}

function handleHttpResponseCtrlProgress() {
	var obj;
	if (http.readyState == 4) {
		if (http.status == 200) {
			result = http.responseText;      		
			result = result.split(";");  			   	
			var id = result[0];
			var k = result[1];  				
			upgradeBar(id,k);						
			if(k>0) {  	
				obj = document.getElementById("MAINQUEUE"+id);
				if(obj.innerHTML == messages['queue']) {
					obj.innerHTML = messages['processing'];
				}
				if(k<20) {
					obj = document.getElementById("NS"+id);
					obj.innerHTML = result[2]+"/"+result[3];
				} else {
					obj = document.getElementById("NS"+id);
					obj.innerHTML = result[3];
					obj = document.getElementById("SL"+id);
					obj.innerHTML = result[4];
					obj = document.getElementById("TL"+id);
					obj.innerHTML = result[5];
				}
			}				
		} else {
			import_errors = true;
		}
	} 
}

function upgradeBar(id,k) {
	var obj = document.getElementById("PBAR"+id);
	obj.style.display='';
	if(k<20) {
		var i = 0;  	
		while(i<k) {
			obj = document.getElementById("P"+id+i);
			if(obj) {
				obj.className = "pb_done";
			}
			i++;
		}
		pause = false;
	} else {
		pause = false;
		var obj = document.getElementById("action_page");
		if(obj) {
			if(obj.value="export") {
				window.location = "../export_my_memory.php?act=VIEW";
			}
		} else {    		
			window.location = "../import_my_memory.php?act=VIEW";  	
		}
	}
}

function import_upgradebar(id) {
	var obj = document.getElementById(id);
	http = getHTTPObject();		
	if(http) {
		var parameters = "id="+id+"&PHPSESSID="+phpsessid;;			
		try {				
			http.open("POST", url_control_progress, true); 
			http.onreadystatechange = handleHttpResponseCtrlProgress; 
			http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			http.setRequestHeader("Content-length", parameters.length);
			http.setRequestHeader("Connection", "close");
			http.send(parameters);	
			pause = true;
		} catch(e) {						
			import_errors = true;
		}

	} else {
		import_errors = true;
	}
}

function show_help_line() {
	alert(messages['info_formats']);
}

var pause = false;

function main_progress_bar() {
	if(typeof(id_new_files)!="undefined") {
		start_progress_bar();
		start_progress_points();
	}
}

function start_progress_bar() {
	if(id_new_files.length>0) {
		for(i=0;i<id_new_files.length;i++) {
			import_upgradebar(id_new_files[i]);
		}  			
		setTimeout("start_progress_bar()",8000);
	}  	
}

function start_progress_points() {
	if(id_new_files.length>0) {
		for(i=0;i<id_new_files.length;i++) {
			progress_points(id_new_files[i],0);
		}  			  	
	} 
}

function progress_points(id,i) {
	var obj = document.getElementById("PMSG"+id+i);
	obj.className = "";
	i++;
	if(i>2) {
		i=0;
	}
	obj = document.getElementById("PMSG"+id+i);
	obj.className = "ptnBold";
	setTimeout("progress_points("+id+","+i+")",2000);
}

function ProgressUploadFile() {
	var obj = document.upload_file.subject;
	answer = true;
	if(obj.options[obj.selectedIndex].value == "none") {
		answer = confirm(messages['confirm_no_subject']);		
	}	
	var res = false;
	if(answer) {
		obj = document.getElementById("MSGUP");
		obj.style.display='block';
		go_ProgressUploadFile(0);	
		document.upload_file.btn_import.disabled = true;
		res = true;
	} 
	return res;
}

function go_ProgressUploadFile(i) {
	var obj = document.getElementById("MSGUP"+i);
	obj.className = "";
	i++;
	if(i>2) {
		i=0;
	}
	obj = document.getElementById("MSGUP"+i);
	obj.className = "msg_big_blue";
	setTimeout("go_ProgressUploadFile("+i+")",1000);
}

function remove_all_segs(id) {
	var name = "FormDeleteAll"+id;
	var answer = confirm(messages['confim_file_deletion']);	
	if(answer) {
		for(i=0;i<document.forms.length;i++) {
			if(document.forms[i].name==name) {
				document.forms[i].submit();
				break;
			}
		}
	} 		
}

function CountSegments() {
	var obj = document.getElementById("slanguages");
	var app = obj.options[obj.selectedIndex].value.split("#");
	var sl = app[0];
	var tl = app[1];
	var cid = document.getElementById("cid").value;
	var f = document.getElementById("field").value;
	obj = document.getElementById("ssubject");
	var subj = obj.options[obj.selectedIndex].value;
	obj = document.getElementById("sfiles");
	var id_file = obj.options[obj.selectedIndex].value;
	obj = document.getElementById("segs_size");
	obj.innerHTML = "<div id=\"MSGUP\" class=\"small\">"+messages['wait']+"<span id=\"MSGUP0\" class=\"msg_big_blue\">.</span><span id=\"MSGUP1\">.</span><span id=\"MSGUP2\">.</span><span id=\"MSGUP2\">.</span></div>";
	go_ProgressUploadFile(0);			
	http = getHTTPObject();	
	if(http) {
		var parameters = "source_lang="+sl
			+"&target_lang="+tl
			+"&subject="+subj
			+"&id_file="+id_file
			+"&cid="+cid
			+"&field="+f
			+"&PHPSESSID="+phpsessid;;	
		try {				
			http.open("POST", url_count_segs, true); 
			http.onreadystatechange = handleHttpResponseCountSegs; 
			http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			http.setRequestHeader("Content-length", parameters.length);
			http.setRequestHeader("Connection", "close");
			http.send(parameters);	
		} catch(e) {						
			obj.innerHTML = messages['connection_error'];
		}

	} else {
		obj.innerHTML = messages['connection_error'];
	}

}

function handleHttpResponseCountSegs() {
	if (http.readyState == 4) {
		if (http.status == 200) {
			var result = http.responseText;
			var obj = document.getElementById("segs_size");
			obj.innerHTML = result;
		}
	}
}

function DeleteTMX(id) {
	var name = "DeleteTMX"+id;
	var answer = confirm(messages['confim_tmx_deletion']);	
	if(answer) {    	
		for(i=0;i<document.forms.length;i++) {
			if(document.forms[i].name==name) {    			
				document.forms[i].submit();
				break;
			}
		}
	} 		
}

function ProgressUploadFileCM() {
	var obj = document.create_file.subject;
	answer = true;
	if(obj.options[obj.selectedIndex].value == "none") {
		answer = confirm(messages['confirm_no_subject']);		
	}	
	var res = false;
	if(answer) {
		obj = document.getElementById("MSGUP");
		obj.style.display='block';
		go_ProgressUploadFile(0);	
		document.create_file.btn_create.disabled = true;
		res = true;
	} 
	return res;
}

function populate_customer_memories() {
	var span_customer = document.getElementById('span_customer_memory');
	var app2 = document.getElementById('select_customer_filter');
	var sel_mem = document.getElementById('select_customer_memory');
	var a = app2[app2.selectedIndex].value;
	var app = customer_memories[a];
	if(app!=null) {
		var b;
		var c;
		sel_mem.options[0] = new Option('All','-');
		for (x=0; x<app[0].length; x++) {
			b = app[0][x];
			c = app[1][x];
			sel_mem.options[x+1] = new Option(c,b);
		}
		span_customer.style.display = 'inline';
	} else {
		span_customer.style.display = 'none';
	}
}

function swapLangs() {
	var num=document.getElementById('select_target_mm').selectedIndex;
	var target=document.getElementById('select_target_mm').options[num].innerHTML;
	num=document.getElementById('select_source_mm').selectedIndex;
	var source=document.getElementById('select_source_mm').options[num].innerHTML;

	if (source=="Autodetect") {
		if (target=="English") {source="French";target="English";}
		else {source="English";}
	}

	for(i=0;i<document.getElementById('select_target_mm').length-1;i++) {
		if(document.getElementById('select_target_mm').options[i].innerHTML==source) {
			document.getElementById('select_target_mm').selectedIndex=i;
		}
	}

	for(i=0;i<document.getElementById('select_source_mm').length-1;i++) {
		if(document.getElementById('select_source_mm').options[i].innerHTML==target) {
			document.getElementById('select_source_mm').selectedIndex=i;
		}
	}
}	




function create_rating_form(db_id,ids,segment_quality,cid,user_type,src,trg) {

	if(segment_quality<=0.6) {segment_quality = 0;}
	var rating_form = "";
	//if it is first time vote
	if(segment_quality==0) {
		//clicking on first star actually deletes the segment
		var i = 1;
		rating_form='<a href="javascript: void(0)" onclick="deleteValue(\''+ids+'\',\''+src+'\',\''+trg+'\')" onmouseover="ratingComponent[\''+db_id+'\'].showStars('+i+',true);" onmouseout="ratingComponent[\''+db_id+'\'].clearStars();">';
		rating_form += '<img src="/img/star_none.gif" id="star__'+db_id+i+'" class="rating" style="border: 0px" width=\"17\" height=\"15\"></a>';
		//the others actually give a rate
		i = 2;
		while(i<6) {
			rating_form += '<a href="javascript: void(0)" onclick="ratingComponent[\''+db_id+'\'].setStars('+i+',\''+ids+'\'); return false;" onmouseover="ratingComponent[\''+db_id+'\'].showStars('+i+',true);" onmouseout="ratingComponent[\''+db_id+'\'].clearStars();">';
			rating_form += '<img src="/img/star_none.gif" id="star__'+db_id+i+'" class="rating" style="border: 0px" width=\"17\" height=\"15\"></a>';
			i++;
		}
	} else {
		var n = segment_quality;
		if(n>1) n=1;
		var r = n;
		var i = 0;
		var app = segment_quality;
		if(r>0 && r<1) {
			app = segment_quality-r;
		}
		var m = i+1;
		rating_form += '<a href="javascript: void(0)" onclick="deleteValue(\''+ids+'\',\''+src+'\',\''+trg+'\')" onmouseover="ratingComponent[\''+db_id+'\'].showStars('+m+',true);" onmouseout="ratingComponent[\''+db_id+'\'].clearStars();">';
		rating_form += '<img src="/img/star_on.gif" id="star__'+db_id+m+'" class="rating" style="border: 0px" width=\"17\" height=\"15\"></a>';
		i=1;
		while(i < app) {
			var m = i+1;
			rating_form += '<a href="javascript: void(0)" onclick="ratingComponent[\''+db_id+'\'].setStars('+m+',\''+ids+'\'); return false;" onmouseover="ratingComponent[\''+db_id+'\'].showStars('+m+',true);" onmouseout="ratingComponent[\''+db_id+'\'].clearStars();">';
			rating_form += '<img src="/img/star_on.gif" id="star__'+db_id+m+'" class="rating" style="border: 0px" width=\"17\" height=\"15\"></a>';
			i++;
		}
		i = i+1;
		if(r>0.1 && r<1) {
			if(i<6) {
				rating_form += '<a href="javascript: void(0)" onclick="ratingComponent[\''+db_id+'\'].setStars('+i+',\''+ids+'\'); return false;" onmouseover="ratingComponent[\''+db_id+'\'].showStars('+i+',true);" onmouseout="ratingComponent[\''+db_id+'\'].clearStars();">';
				rating_form += '<img src="/img/star_half.gif" id="star__'+db_id+i+'" class="rating" style="border: 0px" width=\"17\" height=\"15\"></a>';
			}
		} else {
			if(i<6) {
				rating_form += '<a href="javascript: void(0)" onclick="ratingComponent[\''+db_id+'\'].setStars('+i+',\''+ids+'\'); return false;" onmouseover="ratingComponent[\''+db_id+'\'].showStars('+i+',true);" onmouseout="ratingComponent[\''+db_id+'\'].clearStars();">';
				rating_form += '<img src="/img/star_off.gif" id="star__'+db_id+i+'" class="rating" style="border: 0px" width=\"17\" height=\"15\"></a>';
			}
		}

		i++;
		while(i<6) {
			rating_form += '<a href="javascript: void(0)" onclick="ratingComponent[\''+db_id+'\'].setStars('+i+',\''+ids+'\'); return false;" onmouseover="ratingComponent[\''+db_id+'\'].showStars('+i+',true);" onmouseout="ratingComponent[\''+db_id+'\'].clearStars();">';
			rating_form += '<img src="/img/star_off.gif" id="star__'+db_id+i+'" class="rating" style="border: 0px" width=\"17\" height=\"15\"></a>';
			i++;
		}
	}
	rating_form+="<font style=\"font-size:180%\">";
	if (app==1) rating_form+="<span id=\"desc"+db_id+"\"> <b> "+messages['star1']+"</b></span>";
	else if (app==2) rating_form+="<span id=\"desc"+db_id+"\"> <b> "+messages['star2']+"</b></span>";
	else if (app==3) rating_form+="<span id=\"desc"+db_id+"\"> <b> "+messages['star3']+"</b></span>";
	else if (app==4) rating_form+="<span id=\"desc"+db_id+"\"> <b> "+messages['star4']+"</b></span>";
	else if (app==5) rating_form+="<span id=\"desc"+db_id+"\"> <b> "+messages['star5']+"</b></span>";

	else rating_form+="<span id=\"desc"+db_id+"\"> "+messages['star0']+"</span>";
	rating_form+="</font>";
	var el=document.getElementById("Q"+db_id);
	el.innerHTML=rating_form;
}

function create_rating_form_machine(db_id,segment_quality,cid,user_type) {
	var rating_form="";
	var i = 1;
	var app=segment_quality;
	rating_form += '<a href="javascript: void(0)" onclick="ratingComponent[\''+db_id+'\'].setStarsm('+i+'); javascript:animatedcollapse.toggle(\'TRinsert\')" onmouseover="ratingComponent[\''+db_id+'\'].showStars('+i+',true);" onmouseout="ratingComponent[\''+db_id+'\'].clearStars();">';
	rating_form += '<img src="/img/star_none.gif" id="star__'+db_id+i+'" class="rating" style="border: 0px" width=\"17\" height=\"15\"></a>';
	i++;
	rating_form += '<a href="javascript: void(0)" onclick="ratingComponent[\''+db_id+'\'].setStarsm('+i+'); javascript:animatedcollapse.toggle(\'TRinsert\')" onmouseover="ratingComponent[\''+db_id+'\'].showStars('+i+',true);" onmouseout="ratingComponent[\''+db_id+'\'].clearStars();">';
	rating_form += '<img src="/img/star_none.gif" id="star__'+db_id+i+'" class="rating" style="border: 0px" width=\"17\" height=\"15\"></a>';
	i++;
	rating_form += '<a href="javascript: void(0)" onclick="ratingComponent[\''+db_id+'\'].setStarsm('+i+'); javascript:animatedcollapse.toggle(\'TRinsert\')" onmouseover="ratingComponent[\''+db_id+'\'].showStars('+i+',true);" onmouseout="ratingComponent[\''+db_id+'\'].clearStars();">';
	rating_form += '<img src="/img/star_none.gif" id="star__'+db_id+i+'" class="rating" style="border: 0px" width=\"17\" height=\"15\"></a>';
	i++;
	rating_form += '<a href="javascript: void(0)" onclick="ratingComponent[\''+db_id+'\'].setStarsm('+i+'); javascript:animatedcollapse.toggle(\'TRinsert\')" onmouseover="ratingComponent[\''+db_id+'\'].showStars('+i+',true);" onmouseout="ratingComponent[\''+db_id+'\'].clearStars();">';
	rating_form += '<img src="/img/star_none.gif" id="star__'+db_id+i+'" class="rating" style="border: 0px" width=\"17\" height=\"15\"></a>';
	i++;
	rating_form += '<a href="javascript: void(0)" onclick="ratingComponent[\''+db_id+'\'].setStarsDirect('+i+'); " onmouseover="ratingComponent[\''+db_id+'\'].showStars('+i+',true);" onmouseout="ratingComponent[\''+db_id+'\'].clearStars();">';
	rating_form += '<img src="/img/star_none.gif" id="star__'+db_id+i+'" class="rating" style="border: 0px" width=\"17\" height=\"15\"></a>';
	rating_form+="<font style=\"font-size:180%\">";
	if (app==1) rating_form+="<span id=\"desc"+db_id+"\"> <b> "+messages['star1']+"</b></span>";
	else if (app==2) rating_form+="<span id=\"desc"+db_id+"\"> <b> "+messages['star2']+"</b></span>";
	else if (app==3) rating_form+="<span id=\"desc"+db_id+"\"> <b> "+messages['star3']+"</b></span>";
	else if (app==4) rating_form+="<span id=\"desc"+db_id+"\"> <b> "+messages['star4']+"</b></span>";
	else if (app==5) rating_form+="<span id=\"desc"+db_id+"\"> <b> "+messages['star5']+"</b></span>";

	else rating_form+="<span id=\"desc"+db_id+"\"> "+messages['star0']+"</span>";
	rating_form+="</font>";

	var el=document.getElementById("Q"+db_id);
	el.innerHTML=rating_form;
}

//------- Stars -----

function SegmentRated(req) {
	var app = req.responseText;
}

function urlEncodeDict(dict) {
	var result = "";
	for (var i=0; i<dict.length; i++) {
		result += "&" + encodeURIComponent(dict[i].name) + "=" + encodeURIComponent(dict[i].value);
	}
	return result;
}

	function execOnSuccess(stateChangeCallback) {
		return function(xmlHttpReq)
		{
			if (xmlHttpReq.readyState == 4 &&
					xmlHttpReq.status == 200)
				stateChangeCallback(xmlHttpReq);
		};
	}

function getXmlHttpRequest() {
	var http_request=false; 
	if (window.XMLHttpRequest) { 
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/html');
		}
	} else if (window.ActiveXObject) { 
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) {
		alert(messages['http_req_error']);
		return false;
	}
	return http_request; 
}


function postUrl(url, data, async, stateChangeCallback) {
	var xmlHttpReq = getXmlHttpRequest();

	if (!xmlHttpReq)
		return;

	xmlHttpReq.open("POST", url, async);
	xmlHttpReq.onreadystatechange = function()
	{
		stateChangeCallback(xmlHttpReq);
	};
	xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	xmlHttpReq.send(data);
}


function postFormByForm(form, async, successCallback) {
	var formVars = new Array();
	for (var i = 0; i < form.elements.length; i++)
	{
		var formElement = form.elements[i];

		if(formElement.type=='checkbox' && !formElement.checked) {
			continue;
		}
		var v=new Object;
		v.name=formElement.name;
		v.value=formElement.value;
		formVars.push(v);
	}
	postUrl(form.action, urlEncodeDict(formVars), async, execOnSuccess(successCallback));
}

function postForm(formName, async, successCallback)
{
	var form = document.forms[formName];
	return postFormByForm(form, async, successCallback);
}

var UT_RATING_IMG = '/img/star_on.gif';
var UT_RATING_IMG_HOVER = '/img/star_off.gif';
var UT_RATING_IMG_HALF = '/img/star_half.gif';
var UT_RATING_IMG_BG = '/img/star_off.gif';
var UT_RATING_IMG_REMOVED = '/img/star_none.gif';
var UT_RATING_IMG_NONE = '/img/star_none.gif';

function UTRating(objectName, formName, segid)
{
	this.maxStars = 5;
	this.objectName = objectName;
	this.formName = formName;
	this.segid = segid;
	this.starTimer = null;
	this.starCount = 0;

	// pre-fetch image
	(new Image()).src = UT_RATING_IMG;
	(new Image()).src = UT_RATING_IMG_HALF;


	function showStars(starNum) {
		this.clearStarTimer();
		this.greyStars();
		this.colorStars(starNum);
		this.comment(starNum);
	}

	function comment(n) {
		if (n==1) document.getElementById("desc"+this.segid).innerHTML="<b> "+messages['star1']+"</b>";
		else if (n==2) document.getElementById("desc"+this.segid).innerHTML="<b> "+messages['star2']+"</b>";
		else if (n==3) document.getElementById("desc"+this.segid).innerHTML="<b> "+messages['star3']+"</b>";
		else if (n==4) document.getElementById("desc"+this.segid).innerHTML="<b> "+messages['star4']+"</b>";
		else if (n==5) document.getElementById("desc"+this.segid).innerHTML="<b> "+messages['star5']+"</b>";
		else document.getElementById("desc"+this.segid).innerHTML=" "+messages['star0']+"";
	}	

	function colorStars(starNum) {
		var r = 0;
		var n = starNum;
		while(n>1) {
			n = n-1;
		}
		r = n;
		var i;
		var app = starNum;
		if(r>0 && r<1) {
			app = starNum-r;
		}
		for (i=0; i < app; i++) {
			document.getElementById('star__' + this.segid  + (i+1)).src = UT_RATING_IMG;
		}
		i = i+1;
		if(r>0.5 && r<1) {
			if(i<this.maxStars) {
				document.getElementById('star__' + this.segid +  i).src = UT_RATING_IMG_HALF;
			}
		}
	}

	function greyStars() {
		for (var i=0; i < this.maxStars; i++) {
			if (i <= this.starCount) {
				document.getElementById('star__' + this.segid + (i+1)).src = UT_RATING_IMG_BG;
			}
			else
			{
				document.getElementById('star__' + this.segid + (i+1)).src = UT_RATING_IMG_BG;
			}
		}
	}

	function noneStars() {
		for (var i=0; i < this.maxStars; i++) {
			if (i <= this.starCount) {
				document.getElementById('star__' + this.segid + (i+1)).src = UT_RATING_IMG_NONE;
			}
			else
			{
				document.getElementById('star__' + this.segid + (i+1)).src = UT_RATING_IMG_NONE;
			}
		}
		this.comment(this.starCount);
	}


	function setStars(starNum,ids) {
		updateScore(1);		
		this.starCount = starNum;
		this.drawStars(starNum);
		document.forms[this.formName]['rating'].value = this.starCount;
		document.forms[this.formName]['ids'].value = ids;
		postForm(this.formName, true, function (req) { SegmentRated(req); });
		document.getElementById("desc"+this.segid).innerHTML='<font style=\"font-size:110%\"><b> '+messages['vote']+'</b></font>';
		for (var i=1;i<=this.starCount;i++) {document.getElementById('star__'+this.segid+i).src='/img/glowing_star.gif';}
	}

	function setStarsm(starNum) {
		updateScore(1);

		document.getElementById('voteadd').value = starNum;
		this.starCount = starNum;
		this.drawStars(starNum);
		document.forms[this.formName]['rating'].value = this.starCount;
		postForm(this.formName, true, function (req) { SegmentRated(req); });
		document.getElementById("desc"+this.segid).innerHTML='<b> '+messages['vote']+'</b>';
		for (var i=1;i<=this.starCount;i++) document.getElementById('star__'+this.segid+this.starCount).src='/img/glowing_star.gif';
	}

	function setStarsDirect(starNum) {
		updateScore(1);

		document.getElementById('voteadd').value = starNum;
		this.starCount = starNum;
		this.drawStars(starNum);
		document.forms[this.formName]['rating'].value = this.starCount;
		postForm(this.formName, true, function (req) { SegmentRated(req); });
		specialSubmit();
	}	

	function drawStars(starNum) {
		this.starCount=starNum;
		this.showStars(starNum);
	}

	function clearStars() {
		this.starTimer = setTimeout(this.objectName + ".resetStars()", 300);
	}

	function resetStars() {
		this.clearStarTimer();
		if (this.starCount)
			this.drawStars(this.starCount);
		else
			this.noneStars();
	}

	function clearStarTimer() {
		if (this.starTimer) {
			clearTimeout(this.starTimer);
			this.starTimer = null;
		}
	}

	this.clearStars = clearStars;
	this.clearStarTimer = clearStarTimer;
	this.greyStars = greyStars;
	this.colorStars = colorStars;
	this.resetStars = resetStars;
	this.setStars = setStars;
	this.setStarsm = setStarsm;
	this.setStarsDirect = setStarsDirect;
	this.drawStars = drawStars;
	this.showStars = showStars;
	this.noneStars = noneStars;
	this.comment = comment;
}

function vote2rating(vote) {
	//Note: if you change this, you must also change rating2vote symmetrically
	if (vote<55) {
		return 0.6;
	} else if(vote<57.5) {
		return 1;
	} else if(vote<60) {
		return 1.6;
	} else if(vote<61.5) {
		return 2;
	} else if(vote<63) {
		return 2.6;
	} else if(vote<65.5) {
		return 3;
	} else if(vote<68) {
		return 3.6;
	} else if(vote<71) {
		return 4;
	} else if(vote<74) {
		return 4.6;
	} else if(vote>=74) {
		return 5;
	}
}

function rating2vote(rating) {
	//Note: if you change this, you must also change vote2rating symmetrically
	if (rating <= 1) return 55;
	else if (rating == 2) return 60;
	else if (rating == 3) return 63;
	else if (rating == 4) return 68;
	else if (rating >= 5) return 74;
}


function sortSelect(selElem) {
	var tmpAry = new Array();
	for (var i=0;i<selElem.options.length;i++) {
		tmpAry[i] = new Array();
		tmpAry[i][0] = selElem.options[i].text;
		tmpAry[i][1] = selElem.options[i].value;
	}
	tmpAry.sort();
	while (selElem.options.length > 0) {
		selElem.options[0] = null;
	}
	for (var i=0;i<tmpAry.length;i++) {
		var op = new Option(tmpAry[i][0], tmpAry[i][1]);
		selElem.options[i] = op;
	}

	return;
}


// Identificazione browser
var BrowserDetect = {
init: function () {
	      this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
	      this.version = this.searchVersion(navigator.userAgent)
		      || this.searchVersion(navigator.appVersion)
		      || "an unknown version";
	      this.OS = this.searchString(this.dataOS) || "an unknown OS";
      },
searchString: function (data) {
		      for (var i=0;i<data.length;i++)	{
			      var dataString = data[i].string;
			      var dataProp = data[i].prop;
			      this.versionSearchString = data[i].versionSearch || data[i].identity;
			      if (dataString) {
				      if (dataString.indexOf(data[i].subString) != -1)
					      return data[i].identity;
			      }
			      else if (dataProp)
				      return data[i].identity;
		      }
	      },
searchVersion: function (dataString) {
		       var index = dataString.indexOf(this.versionSearchString);
		       if (index == -1) return;
		       return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	       },
dataBrowser: [
	     {
string: navigator.userAgent,
	subString: "Chrome",
	identity: "Chrome"
	     },
	     { 	string: navigator.userAgent,
subString: "OmniWeb",
	   versionSearch: "OmniWeb/",
	   identity: "OmniWeb"
	     },
	     {
string: navigator.vendor,
	subString: "Apple",
	identity: "Safari",
	versionSearch: "Version"
	     },
	     {
prop: window.opera,
      identity: "Opera"
	     },
	     {
string: navigator.vendor,
	subString: "iCab",
	identity: "iCab"
	     },
	     {
string: navigator.vendor,
	subString: "KDE",
	identity: "Konqueror"
	     },
	     {
string: navigator.userAgent,
	subString: "Firefox",
	identity: "Firefox"
	     },
	     {
string: navigator.vendor,
	subString: "Camino",
	identity: "Camino"
	     },
	     {		// for newer Netscapes (6+)
string: navigator.userAgent,
	subString: "Netscape",
	identity: "Netscape"
	     },
	     {
string: navigator.userAgent,
	subString: "MSIE",
	identity: "Explorer",
	versionSearch: "MSIE"
	     },
	     {
string: navigator.userAgent,
	subString: "Gecko",
	identity: "Mozilla",
	versionSearch: "rv"
	     },
	     { 		// for older Netscapes (4-)
string: navigator.userAgent,
	subString: "Mozilla",
	identity: "Netscape",
	versionSearch: "Mozilla"
	     }
      ],
	      dataOS : [
	      {
string: navigator.platform,
	subString: "Win",
	identity: "Windows"
	      },
	      {
string: navigator.platform,
	subString: "Mac",
	identity: "Mac"
	      },
	      {
string: navigator.userAgent,
	subString: "iPhone",
	identity: "iPhone/iPod"
	      },
	      {
string: navigator.platform,
	subString: "Linux",
	identity: "Linux"
	      }
      ]

};
BrowserDetect.init();

