//
// By laal - 2008, lashaalt at gmail doc com
// 


var oXMLhttp;
var fword;
var translatege_server;
var onloadHandler; 
var getURL;


function load()
{
    dashcode.setupParts();
    var onprocessing = false;
	var prefs = null;
	var targetDoc = null;
    
    oXMLhttp = new XMLHttpRequest();
    onloadHandler = function() { tge_callBack(oXMLhttp); };
    translatege_server = "http://www.translate.ge";
 
    fword = "";

}


function tge_translateWord()
{
    var str = document.getElementById('searchfield').value;
	
	if( str && str != '' && str.length > 0)
	{
		

		fword = str.getFirstWord(); 
		
		var english_word = new RegExp("[a-z,A-Z]{1,}");
		var req_file = '/q.aspx?w=';
		if ( !this.fword.match(english_word) ) {
				//Georgian	
				req_file = '/g.aspx?w=';
		} 
		
		//doRequest(' + http://'translatege_server + req_file + fword, 'getDefOntranslatege');
		//document.getElementById('dictdiv').object.content.innerHTML = "{" + req_file + fword + "}";
        
        getURL = translatege_server + req_file + fword;
        
        tge_getTranslation();
        
	}

}

function tge_getTranslation()
{
    
    tge_processing(true);
    
    oXMLhttp.onload = onloadHandler;
    oXMLhttp.open("GET", getURL );
    oXMLhttp.setRequestHeader("Cache-Control", "no-cache");
    oXMLhttp.send(null);

}

function tge_callBack()
{
    try
	{
		if( oXMLhttp.status == 200 )
		{
			var def = oXMLhttp.responseText;
			
			if ( def.length == 0 ) {
				if (fword.length > 1 ) {
					var newword = fword.dropLastChar();
                    document.getElementById('searchfield').value = newword;
                    fword = newword;
                    //getURL = translatege_server + req_file + fword;
                    //tge_getTranslation();
					tge_translateWord()
                    return;
				} else {
					def = "<br><div class='notFound'>Not Found</div><br>";	
				}
			}	
				
		}	
			def = '<div class="word">' + fword + ':</div>' + def;
			tge_processing(false);
            
            if (def!='') showDef (def);
            
			
		}

	catch (ee)
	{
		//this.dumpMsg(ee.message);
        //document.getElementById('dictdiv').object.content.innerHTML = ee.message;
        //document.getElementById('dictdiv').object.refresh();
        document.getElementById('dictdiv').innerHTML = ee.message;
	}
}


function tge_processing( P )
{
    if ( P ) {

        //document.getElementById('dictdiv').object.refresh();
        document.getElementById('dictdiv').innerHTML = "<br><br><div align=center><img src='Images/progress.gif'></div>";
        
    } else {
        
        document.getElementById('processing').style.display="none";
        //document.getElementById('dictdiv').object.refresh();
        
    }

}

function tge_clearText()
{
        var str = document.getElementById('searchfield').value;
        if ( str && str.length == 0 )  {
		        //document.getElementById('dictdiv').object.content.innerHTML = "";
                //document.getElementById('dictdiv').object.refresh();
                document.getElementById('dictdiv').innerHTML = "";

        }

}


function showDef(def)
{

	//var top = /* this.mouse_y + */ this.targetDoc.documentElement.scrollTop + this.targetDoc.body.scrollTop;
	var dd = def;
	var st = "<style>";
	st += " b { font-style: normal; font-size: 12px; font-weight: normal; }";
	st += " i { color: green; font-variant: normal; font-weight: normal; font-family:Sylfaen; font-size: 12px; }";
	st += ".word {color: blue; font-variant: normal; font-weight: bold; font-size: 13px; }";
	st += ".notFound {color: red; font-variant: normal; font-weight: bold; font-size: 13px; }";
	st += "</style>";
  
    //document.getElementById('dictdiv').object.content.innerHTML = st + dd ;
    //document.getElementById('dictdiv').object.refresh();	
    document.getElementById('dictdiv').innerHTML = st + dd ;

}


String.prototype.getFirstWord = function()
{
	this.replace(/^\s+|\s+$/g,"");
	var arr = this.split(" ")
	return arr[0];
	
}

String.prototype.dropLastChar = function()
{
	this.replace(/^\s+|\s+$/g,"");
	var len = this.length;
	return this.substr(0,len - 1);
}
