/*
* Thesaurus
*
* @package thesaurus
* @author $Author: sheiko $  
* @since v.1.0.3 
* @copyright (c) Dmitry Sheiko http://www.cmsdevelopment.com 
*/ 

var divName = 'InstantMessage'; 
var sUrl = "controller.php";
var AcceptMessage=true;
if(document.implementation && document.implementation.createDocument) var isMozilla=true;
	else var isMozilla=false;

document.write('<div id="'+divName+'" class="instant_message">&nbsp;</div>');

function hideMessage(){
	var MessageObj=document.getElementById(divName);
	MessageObj.style.visibility="hidden";
}

function adjustMessage(evt) {
	MessageObj = document.getElementById(divName);
	if (isMozilla) event=evt;

	var rightedge = document.body.clientWidth-event.clientX;
	var bottomedge = document.body.clientHeight-event.clientY;
	if (rightedge < MessageObj.offsetWidth)
		MessageObj.style.left = document.body.scrollLeft + event.clientX - MessageObj.offsetWidth;
	else
		MessageObj.style.left = document.body.scrollLeft + event.clientX;
	if (bottomedge < MessageObj.offsetHeight)
		MessageObj.style.top = document.body.scrollTop + event.clientY - MessageObj.offsetHeight;
	else
		MessageObj.style.top = document.body.scrollTop + event.clientY;

	MessageObj.innerHTML = 'Loading...';	
	MessageObj.style.visibility = "visible";
}

function showMessage(json) {
	var respondStructure = eval( '(' + json + ')' ); 
	MessageObj.innerHTML = respondStructure.content;
	return false;
}

var handleSuccess = function(o){
	if(o.responseText !== undefined){
		showMessage(o.responseText);
	}
};

var handleFailure = function(o){
	if(o.responseText !== undefined){
		showMessage("Connection Error");
	}
};

var callback =
{
  success:handleSuccess,
  failure:handleFailure,
  argument:['foo','bar']
};

function getDefinition(term,evt){
	adjustMessage(evt);
	var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback, 'term='+term);
}


function stripSlashes(content) {
		// Strip Slashes
		re = /\\\"/gi;
		content = content.replace(re, '"');
		re = /\\\'/gi;
		content = content.replace(re, "'");
		return content;
}

var phandleSuccess = function(o){
	if(o.responseText !== undefined){
		var respondStructure = eval( '(' + o.responseText + ')' );
		var BodyObj = document.getElementsByTagName("BODY");
		if(respondStructure.content !== undefined) BodyObj[0].innerHTML = stripSlashes(respondStructure.content);
	}
};

var phandleFailure = function(o){ alert("Trouble"); };

var pcallback =
{
  success:phandleSuccess,
  failure:phandleFailure,
  argument:['foo','bar']
};

function parseContent(){
	var BodyObj = document.getElementsByTagName("BODY");
	var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, pcallback, 'body='+encodeURIComponent(BodyObj[0].innerHTML));
}
