/**
 * @author TimothyAlvis
 * Handles the front end of the bad word filtering test
 */

// Sends out test for standard words
function WordTest(sInput, element, button)
{
	var arString = sInput;
   	var WFAjax = new WordFilterAjaxSendRequest(element, "TestWord=" + arString, button);
	WFAjax.delSendRequest();
}

// Sends out test for TAGs
function TagTest(sInput, element, button)
{
	var arString = sInput;
	var arNoSpcString = arString.replace(" ", "");
	if(arNoSpcString.length < 3)
	{
		document.getElementById(element).innerHTML = '! TAG must have at least 3 valid characters';
		document.getElementById(button).disabled = true;
		document.getElementById(button).className = 'CTButtonDisabled';
	}
	else if(arString.substring(0,1) == " ")
	{
		document.getElementById(element).innerHTML = '! TAG cannot begin with spaces';
		document.getElementById(button).disabled = true;
		document.getElementById(button).className = 'CTButtonDisabled';
	}
	else
	{
		var WFAjax = new WordFilterAjaxSendRequest(element, "TestWord=" + arString + "&TestClanTag=" + arString, button);
		WFAjax.delSendRequest();
	}
   	
}

// Validates information and sends out test for bad words, and name uniqueness
function NameTest(sInput, element, button)
{
	var arString = sInput;
	var arNoSpcString = arString.replace(" ", "");
	if(arNoSpcString.length < 3)
	{
		document.getElementById(element).innerHTML = '! Clan name must have at least 3 valid characters';
		document.getElementById(button).disabled = true;
		document.getElementById(button).className = 'CTButtonDisabled';
	}
	else if(arString.substring(0,1) == " ")
	{
		document.getElementById(element).innerHTML = '! Clan name cannot begin with spaces';
		document.getElementById(button).disabled = true;
		document.getElementById(button).className = 'CTButtonDisabled';
	}
	else
	{
		var WFAjax = new WordFilterAjaxSendRequest(element, "TestWord=" + arString + "&TestClanName=" + arString, button);
		WFAjax.delSendRequest();
	}
}

// Word Test AJAX object, handles the sending of requests and handling of feedback
function WordFilterAjaxSendRequest(element, querystring, button)
{
    this.querystring = querystring;
	this.element = element;
	this.button = button;
	this.testresponse = "";
    var me = this;
    this.delSendRequest = function()
    {
        var xmlHttpReq = false;
        var ajaxcall = new BaseAjaxUpdater();
        // Mozilla/Safari
        if (window.XMLHttpRequest) {
            ajaxcall.xmlHttpReq = new XMLHttpRequest();
        }
        // IE
        else if (window.ActiveXObject) {
            ajaxcall.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
        }
        ajaxcall.xmlHttpReq.open('POST', "AJAX_WordFilter.aspx", true);
        ajaxcall.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        ajaxcall.xmlHttpReq.onreadystatechange = function() {
            if (ajaxcall.xmlHttpReq.readyState == 4) {
                if (ajaxcall.xmlHttpReq.status == 200)
                {
                    if(ajaxcall.xmlHttpReq.responseText != "")
					{
						document.getElementById(me.element).innerHTML = ajaxcall.xmlHttpReq.responseText;
						document.getElementById(me.button).disabled = true;
						document.getElementById(me.button).className = 'CTButtonDisabled';
					}
					else
					{
						document.getElementById(me.element).innerHTML = "";
						document.getElementById(me.button).disabled = false;
						document.getElementById(me.button).className = 'CTButton';	
					}
					
                }
            }
        }
        ajaxcall.xmlHttpReq.send(me.querystring);
    }
}