function Spell_makeURL(jsonObj)
{	
	var hostName = window.location.hostname;
	var scf = 'scf=';
	var qstr = '?';
	for (var key in jsonObj.ele) 
	{
		var val = window.escape(jsonObj.ele[key]);
		qstr += key+'='+val+'&';
		scf += key+',';
	}
	var marker = jsonObj.marker;
	//alert('http://'+ hostName  +'/spellcheck.html'+qstr+scf+'&marker='+marker); 
        return 'http://'+ hostName  +'/spellcheck.html'+qstr+scf+'&marker='+marker;
}

function Spell_format(data)
{
	//alert("bef eval"+data);
 	var jsonObj = eval('(' + data + ')');
	return jsonObj;
}

function Spell_readyToFetch(jsonObj, e)
{
	return true;
}

function Spell_display(inputElement, data, outputElement)
{
	if(data)
	{	
		if(finalDisplay)
		{
				//alert("data bef finalDisplay"+data);
				finalDisplay(data);
		}
	}
}

function Spell_getHttpResponse()
{
	if(isReady(services["Spell"]["httpObject"]))
	{
		var content = getHttpResponse(services["Spell"]["httpObject"]);
		//alert("bef serv"+content);
		serve("Spell",content);
	}
}

var finalDisplay;

function Spell_registerDisplay(func)
{
	finalDisplay = func;
}

var functionArray = new Array();
functionArray["outputElement"] = null;
functionArray["isDataToBeFetched"] = Spell_readyToFetch;
functionArray["makeURL"] = Spell_makeURL;
functionArray["getHttpResponse"] = Spell_getHttpResponse;
functionArray["format"] = Spell_format;
functionArray["display"] = Spell_display;
registerService("Spell", functionArray);
