// Weather Translation


// dinamic TEXTAREA height resolve up to the content (feat. google.com)



function gsw(){
	var theTop;
	if (document.documentElement && document.documentElement.scrollTop)	{theTop = document.documentElement.scrollTop;}
	else if (document.body)	{theTop = document.body.scrollTop}
	return theTop;
	}

function setAbsolutePosition(obj,set,mcoor){
	var top = 22;
	var left = currentBlock.innerHTML.length<=4?-23:0;
	set.style.width = set.getElementsByTagName('p')[0].innerHTML.length<55?300+'px':'';
	$('#pp_widther').style.width = set.getElementsByTagName('p')[0].innerHTML.length<55?300+'px':'';

/*	for (; obj; obj = obj.offsetParent) {
		top  += obj.offsetTop;
		left += obj.offsetLeft;
	}
*/	
	if (mcoor) {
		top  = mcoor[1]+10;
		left = mcoor[0]-25;
	}
	
	
	$('#pp_corber').className = 'pp_corner ptl';
	if (left+set.offsetWidth>document.body.offsetWidth) {
		left = left-set.offsetWidth+40;
		$('#pp_corber').className = 'pp_corner ptr';
		}
	if (top+set.offsetHeight>(getScrollXY()[1]+windowSize()[1])) {
		top=top-set.offsetHeight-20;
		$('#pp_corber').className=='pp_corner ptr'?$('#pp_corber').className = 'pp_corner pbr':$('#pp_corber').className = 'pp_corner pbl';
		}
	
	set.style.top = top+'px';
	set.style.left = left+'px';
	}






var rootObj;//the basic container of translation form


var currentBlock;
var eve;
var tmpH='';
function setheightTA(obj,mcoor){
	if (innerspans.inArray(currentBlock)) {
		setCols71($('textarea',rootObj));
		return false;
		}
		if ($('textarea',rootObj).scrollTop==0 || ($ifBrowser('Opera') && ($('textarea',rootObj).scrollTop==124 || $('textarea',rootObj).scrollTop==108))) {setCols71($('textarea',rootObj));setAbsolutePosition(obj,rootObj,mcoor);}
		if (rootObj.offsetTop<=(getScrollXY()[1]+40)) {
			if (tmpH=='') {tmpH=$('textarea',rootObj).offsetHeight;};
			$('textarea',rootObj).style.overflow = 'auto';
			while (rootObj.offsetTop<(getScrollXY()[1]+38)) {
				tmpH--;
				$('textarea',rootObj).style.height = tmpH+'px';
				setAbsolutePosition(obj,rootObj,mcoor);
			}
			} 

	}
	
function loadTranslationForm(obj,mcoor) {
	if (currentBlock==obj) { return false };
	if (!rootObj) {rootObj = $('#translateForm')};
	toggleClass(obj,'currTr','add')
	if (currentBlock && currentBlock!=obj) {toggleClass(currentBlock,'currTr','dell');cacheT.set(currentBlock) };
	currentBlock = obj;
	if (rootObj && rootObj.style.display!='block') { main.addEvent(document, "mousedown", unload);showHideForm(rootObj); };
	$('p',rootObj).innerHTML = obj.innerHTML;
	$('textarea',rootObj).value = cacheT.get(obj) || '';
	setheightTA(obj,mcoor);
	$('textarea',rootObj).onkeyup = function(){setheightTA(obj,mcoor);}
	var objId = obj.getAttribute('id');
	var objLang = obj.getAttribute('lang');
	var objType = obj.getAttribute('type');
	$('input',rootObj).onmouseup = function(){ submitQuery(this,objId,objLang,objType,obj) }
	$('div.closeButt',rootObj).onmouseup = unleshe;
	setAbsolutePosition(obj,rootObj,mcoor);
	$('textarea',rootObj).focus();
	}

function unload(evt){if (!checker(main.getTargetElement(evt),$('#translateForm *,#translateForm'))) {unleshe();}}
function unleshe(){
		main.removeEvent(document, "mousedown", unload);
		cacheT.set(currentBlock);showHideForm(rootObj);toggleClass(currentBlock,'currTr','dell');currentBlock='';
	}
	
window.onresize = function(){if (rootObj && rootObj.style.display=='block') {setAbsolutePosition(currentBlock,rootObj)}};

function submitQuery(obj,id,lang,type,span) {
	var targetText = $('textarea',rootObj).value;
	if (targetText.replace(/ /g,"")=="") {unleshe(); return false;}
	var img = document.createElement('img');
	img.src = '/images/loading.gif';
	$('textarea',rootObj).parentNode.insertBefore(img,$('span.Ubutton',rootObj).nextSibling);
	img.style.display = 'none';
	img.id = 'loading';
	var sourceLang = lang;
	var targetLang = $('html').getAttribute('lang');
	var sourceText = $('p',rootObj).innerHTML;
	var wsid = $('meta[name=wsid]').getAttribute('wsid');
	var sourceId = id?id:0;
	var targetText = $('textarea',rootObj).value;
	var sourceType = type?type:'';
//alert("/rpc_translate.php?source_lang=" + sourceLang + "&source_text=" + sourceText + "&source_id="+ sourceId +"&target_text="+targetText+"&source_type="+sourceType+"&target_lang="+targetLang+"&wsid="+wsid);
	var sURL = "/rpc_translate.php?SPL?source_lang=" + sourceLang + "&source_text=" + sourceText + "&source_id="+ sourceId +"&target_text="+targetText+"&source_type="+sourceType+"&target_lang="+targetLang+"&wsid="+wsid;
	jx.bind({
			"url":sURL,
			"onSuccess":function(data){unleshe();span.innerHTML=targetText;toggleClass(span,'trans','dell');toggleClass(span,'currTr','dell');spans.splice(spans.findIndex(span),1);span.onmouseup = null;span.onmouseover = null;span.onmouseout = null;},
			"onError":function(status){alert("Something when wrong. Error : "+status)},
			"format":'text',
			"method":'POST',
			"loading":"loading"});
	}
	
	
	
// INITIALIZATION
var spans,innerspans;
function getTranslation(evt){
	spans = $('span.trans');
	innerspans = $('#translateForm span.trans');
	var timeO;
	for (var i=0;i<spans.length;i++) {
	spans[i].onmouseup = function(){
		loadTranslationForm(this);
		clearTimeout(timeO);
	}
	spans[i].onmouseover = function(evt){
		toggleClass(this,'over','add')
		var current = this;
		var mcoor = getMouseXY(evt);
		timeO = setTimeout(function(){loadTranslationForm(current,mcoor)},300);
	}
	spans[i].onmouseout = function(){
		toggleClass(this,'over','dell')
		clearTimeout(timeO);
	}

	}
}



var cacheTextarea = new Array();
var cacheT = {
	set:function(obj){
			cacheTextarea[obj.innerHTML] = $('textarea',rootObj).value;
			$('textarea',rootObj).value = '';
		},
	get:function(r){
		if (cacheTextarea[r.innerHTML]) {
			return cacheTextarea[r.innerHTML];
			}
		}
	}

