//////////////////////////////////////////////////////////////////////////////////////////////
/********************************************************************************************
Black Filter ajax NameSpace
********************************************************************************************/
//////////////////////////////////////////////////////////////////////////////////////////////
var BlackFilterAjax = {}


///////////////////////////////////////
/**************************************
LOADING NAMESPACE
**************************************/
///////////////////////////////////////
if (typeof(AJAX) === 'undefined')
{
	var _scriptObj2 = document.createElement('script');
    _scriptObj2.src = 'http://www.girlsense.com/premium/tools/clientScripts/ajax.js';
    _scriptObj2.type = 'text/javascript';
    document.getElementsByTagName('head')[0].appendChild(_scriptObj2);
}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

BlackFilterAjax.getUrl = function()
{
	var host = '';
	var _url = window.location.href;
	var colonIndex = _url.indexOf(":/") + 4;
	var slashIndex =_url.indexOf("/", colonIndex);
	if (slashIndex === -1)
		host = _url;
	else
		host = _url.substring(0,slashIndex);
	
	var _search = window.location.search;
	var filterQA = _search.indexOf("filterQA=1") !== -1;
	
	if (!filterQA)
		host += "/premium/tools/clientScripts/blackFilter.pl";
	else
		host += "/premium/tools/clientScripts/blackFilterTest.pl";
	return host;	
}

BlackFilterAjax.url = BlackFilterAjax.getUrl();

BlackFilterAjax.request = null;

BlackFilterAjax.parseResult = function(request)
{
	var responseText = request.responseText;
	responseText = responseText.replace( new RegExp( "\\n", "g" ),""); 
	responseText = responseText.replace( new RegExp( "\\r", "g" ),""); 
	responseText = responseText.replace( new RegExp( "\\t", "g" ),""); 
	responseText = responseText.replace(/^\s+|\s+$/g,"");
	var params = request.params;
	var text = params.split("=")[1];
	BlackFilterAjax.onResult(text, responseText);
}

BlackFilterAjax.onResult = function(text, responseText)
{
	// will be implemented by implementing developer
}


BlackFilterAjax.onErrorHandler = function(request)
{
	alert("Temporary server error. Please try again later. " + request.status);
	BlackFilterAjax.onResult("", "ERROR");
}


BlackFilterAjax.check = function(text)
{
	text = text || '';
	
	// constructing the request object //
	if (BlackFilterAjax.request === null)
	{
		BlackFilterAjax.request = new AJAX.request(BlackFilterAjax.url, AJAX.Method.POST, AJAX.Type.SYNC);
		BlackFilterAjax.request.onSuccessFunction = BlackFilterAjax.parseResult;
		BlackFilterAjax.request.onFailFunction = BlackFilterAjax.onErrorHandler;
		BlackFilterAjax.request.onTimeoutFunction = BlackFilterAjax.onErrorHandler;
	}
	
	BlackFilterAjax.request.start("text=" + text);
}

