//
// RCS $Id: validators.js,v 1.1 2010/02/06 23:05:31 goodkar6 Exp $
//
/*******************
 functions by chad@inluck.net
       2008
     - START -
********************/

/*******************
last updated : 2008/Jun/08
*******************/
// JScript File
var Inluck_Validator = function(){ };



Inluck_Validator.prototype.validateMailAddress = function (strMailAddress, objSpan, strInvalidMessage)
{
    var reg = new RegExp("^[A-Za-z0-9_]+([-.][A-Za-z0-9_]+)*[@]{1}[A-Za-z0-9_]+([-.][A-Za-z0-9_]+)*[.]{1}[A-Za-z0-9_]+$");
    
    var r = strMailAddress.match(reg);
    if (r!=null) 
    {
        if(objSpan != undefined){ 
            objSpan.innerHTML = "";
        } 
        return true;
    }
    else 
    {
        if(objSpan != undefined){  
            objSpan.innerHTML = strInvalidMessage;
        } 
        return false;
    }
};

Inluck_Validator.prototype.validateMultipleMailAddress = function (strMailAddress, objSpan, strInvalidMessage)
{
    var reg = new RegExp("^([A-Za-z0-9_]+([-.][A-Za-z0-9_]+)*[@]{1}[A-Za-z0-9_]+([-.][A-Za-z0-9_]+)*[.]{1}[A-Za-z0-9_]+)(,[A-Za-z0-9_]+([-.][A-Za-z0-9_]+)*[@]{1}[A-Za-z0-9_]+([-.][A-Za-z0-9_]+)*[.]{1}[A-Za-z0-9_]+)*$");

    // Replace comma, semi-colon & newlines followed by zero or more spaces with a comma
    var str = strMailAddress.replace(/\s/g, ",").replace(/;/g, ",").replace(/,+/g, ",");
    
    var r = str.match(reg);
    if (r!=null) 
    {
        if(objSpan != undefined){ 
            objSpan.innerHTML = "";
        } 
        return true;
    }
    else 
    {
        if(objSpan != undefined){  
            objSpan.innerHTML = strInvalidMessage;
        } 
        return false;
    }
};

Inluck_Validator.prototype.validateNumbers = function (strString, objSpan, strInvalidMessage, length)
{    
    var str = "^[\\d ()-]";//"/^[0-9]";
   if(length != undefined)
   {
        str += "{" + length + "}";
   }else
   {
        str += "+";
   }
   str += "$";
    var reg = new RegExp(str);//RegExp(/^[a-zA-Z]{1}$/);//
    
    var r = strString.match(reg);
    if (r!=null) 
    {
        if(objSpan != undefined){ 
            objSpan.innerHTML = "";
        } 
        return true;
    }
    else 
    {
        if(objSpan != undefined){  
            objSpan.innerHTML = strInvalidMessage;
        } 
        return false;
    }
};

Inluck_Validator.prototype.validateNumbersWithFixedLength = function (strString, objSpan, strInvalidMessage, strLength)
{    
    var str = "^[0-9_]{" + strLength + "," + strLength + "}$";
    var reg = new RegExp(str);//RegExp(/^[a-zA-Z]{1}$/);//
    
    var r = strString.match(reg);
    if (r!=null) 
    {
        if(objSpan != undefined){ 
            objSpan.innerHTML = "";
        } 
        return true;
    }
    else 
    {
        if(objSpan != undefined){  
            objSpan.innerHTML = strInvalidMessage;
        } 
        return false;
    }
};

Inluck_Validator.prototype.validateAlphabetsAndNumbers = function (strString, objSpan, strInvalidMessage, minLength, maxLength)
{
	var str = "^[A-Za-z0-9_]";
	if(minLength != undefined && maxLength != undefined)
	{
	    if(Number(minLength) > Number(maxLength))
	    {    
	        var strTempValue = minLength;
	        minLength = maxLength;
	        maxLength = strTempValue;
	    }
	    str += "{" + minLength + "," + maxLength + "}";
	}
    str += "$";
    var reg = new RegExp(str);//RegExp(/^[a-zA-Z]{1}[A-Za-z0-9_]{3,13}$/);//
    
    var r = strString.match(reg);
    if (r!=null) 
    {
        if(objSpan != undefined){ 
            objSpan.innerHTML = "";
        } 
        return true;
    }
    else 
    {
        if(objSpan != undefined){  
            objSpan.innerHTML = strInvalidMessage;
        } 
        return false;
    }
};

Inluck_Validator.prototype.validateAlphabetsAndNumbersStartWithAlphabet = function (strString, objSpan, strInvalidMessage, minLength, maxLength)
{
    if(Number(minLength) > Number(maxLength))
    {    
        var strTempValue = minLength;
        minLength = maxLength;
        maxLength = strTempValue;
    }
    minLength = Number(minLength) -1;
    maxLength = Number(maxLength) -1;
    var str = "^[a-zA-Z]{1}[A-Za-z0-9_]{" + minLength + "," + maxLength + "}$";
    var reg = new RegExp(str);//RegExp(/^[a-zA-Z]{1}[A-Za-z0-9_]{3,13}$/);//
    
    var r = strString.match(reg);
    if (r!=null) 
    {
        if(objSpan != undefined){ 
            objSpan.innerHTML = "";
        } 
        return true;
    }
    else 
    {
        if(objSpan != undefined){  
            objSpan.innerHTML = strInvalidMessage;
        } 
        return false;
    }
};

Inluck_Validator.prototype.validatePassword = function (strString, objSpan, strInvalidMessage, minLength, maxLength)
{    
    return Inluck_Validator.prototype.validateAlphabetsAndNumbers(strString, objSpan, strInvalidMessage, minLength, maxLength);
};

Inluck_Validator.prototype.validateConfirmPassword = function (strString1, strString2, objSpan, strInvalidMessage)
{
    if(strString1 == strString2)
    {
        if(objSpan != undefined){ 
            objSpan.innerHTML = "";
        } 
        return true;
    }
    else
    {        
        if(objSpan != undefined){  
            objSpan.innerHTML = strInvalidMessage;
        } 
        return false;
    }
};

Inluck_Validator.prototype.validateTextLength = function (strString, objSpan, strInvalidMessage)
{    
    var reg = new RegExp(/^[^\f\n\r\t\v]{2,255}$/);//RegExp(/^[a-zA-Z]{1}$/);//
    
    var r = strString.match(reg);
    if (r!=null) 
    {
        if(objSpan != undefined){ 
            objSpan.innerHTML = "";
        } 
        return true;
    }
    else 
    {
        if(objSpan != undefined){  
            objSpan.innerHTML = strInvalidMessage;
        } 
        return false;
    }
};

Inluck_Validator.prototype.validateRequiredField = function (strString, objSpan, strInvalidMessage)
{    
    var reg = new RegExp("[A-Za-z0-9_]+");//RegExp(/^[a-zA-Z]{1}$/);//
    
    var r = strString.match(reg);
    if (r!=null) 
    {
        if(objSpan != undefined){ 
            objSpan.innerHTML = "";
        } 
        return true;
    }
    else 
    {
        if(objSpan != undefined){  
            objSpan.innerHTML = strInvalidMessage;
        } 
        return false;
    }
};
