var RegexAllowQuote = true;
var RegexDenyQuote = false;
var RegexPasswordSpecial = 1
var RegexPasswordNormal = 2;
var RegexUsername = 3;
var RegexInput = 4;
var RegexInputExtended = 5;
var RegexNumeric = 6;
var RegexEmail = 7;
var RegexSQL = 8;
var RegexHTML = 9;
var RegexPhone = 10;

function ValidateInput(input, type, quote)
{
    var RegexGeneral;
    
    switch (type)
    {
        case RegexPasswordSpecial:
            RegexGeneral = new RegExp("^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])\w{6,}$");
            return RegexGeneral.match(input);
            break;
        case RegexPasswordNormal:
            RegexGeneral = new RegExp("^(?=.*\d)(?=.*[a-zA-Z])\w{4,}$");
            return RegexGeneral.match(input);
            break;
        case RegexUsername:
            RegexGeneral = new RegExp("^[a-zA-Z0-9@_\.\-\s]{1,40}$");
            return RegexGeneral.match(input);
            break;
        case RegexInput:
            RegexGeneral = new RegExp("^[a-zA-Z0-9\s]{1,40}$");
            return RegexGeneral.match(input);
            break;
        case RegexInputExtended:
            RegexGeneral = new RegExp("^[a-zA-Z0-9@ıIğüşiöçĞÜŞİÖ&Ccedil;_;,\\\/'\(\)\?!\.\-\s]{1,40}$");
            input.replace(/''/, "''");
            return RegexGeneral.match(input);
            break;
        case RegexNumeric:
            RegexGeneral = new RegExp("^[-+]?[0-9]*,?[0-9]+$");
            return RegexGeneral.match(input);
            break;
        case RegexEmail:
            RegexGeneral = new RegExp("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$");
            return RegexGeneral.match(input);
            break;
        case RegexSQL:
            RegexGeneral = new RegExp("\b.*(CREATE|ALTER|DROP|INSERT|UPDATE|DELETE|SELECT|UNION|EXISTS|xp_+|sp_+|EXEC|EXECUTE|TRUNCATE).*\b");
            return RegexGeneral.match(input);
            break;
        case RegexHTML:
            RegexGeneral = new RegExp("<([a-zA-Z][a-zA-Z0-9]*).*>");
            return RegexGeneral.match(input);
            break;
        case RegexPhone:
            RegexGeneral = new RegExp("^\d{3}-\d{7}$");
            return RegexGeneral.match(input);
            break;
    }
    
    return false;
}

function ControlValidate(ctrlName, regexType, quoteType)
{
	if (ValidateInput($F(ctrlName), regexType, quoteType) == false)
	{
		$(ctrlName).setStyle({   backgroundColor: '#333333',   color: '#FFFFFF' }); 
		return false;
	}
	else
	{
		
		$(ctrlName).setStyle({   backgroundColor: '#FFFFFF',   color: '#313131' }); 
		
	}
}

function SetRed(ctrlName)
{
	$(ctrlName).setStyle({   backgroundColor: '#333333',   color: '#FFFFFF' }); 
}

function SetWhite(ctrlName)
{
	$(ctrlName).setStyle({   backgroundColor: '#FFFFFF',   color: '#313131' }); 
}

function SetErrorIfValue(ctrlName, value)
{
	if ($F(ctrlName) == value)
	{
		SetRed(ctrlName)
		return true;
	}
	else
	{
		SetWhite(ctrlName)
		return false;
	}
}