

function validateCntrls(cntrlId, validateFor, strMsg)
{
    var arrValFor = validateFor.split("|");
    var arrMsg = strMsg.split("|");
    var value = document.getElementById(cntrlId).value;
    
    for (var i=0; i < arrValFor.length; i++)
    {
//        alert(Filter(value,arrValFor[i]))
        if ((document.getElementById(cntrlId).type == "checkbox")&& arrValFor[i] == "required" )
        {
            if (!document.getElementById(cntrlId).checked)
            {
                document.getElementById(cntrlId).focus();
                return false;
            }
        }
        
        if (!Filter(value,arrValFor[i]))

        {
            alert(arrMsg[i])
            if (document.getElementById(cntrlId).type =="text")
                document.getElementById(cntrlId).select();
            document.getElementById(cntrlId).focus();
            return false;
        }
    }
    return true;
}

function Filter(value,format) // to validate textbox, dropdown, listbox
{
    format = format.split("=");
    var value = Trim(value);
    if (format[0] == "required" && value == "")
    {
        return false;
    }
    else if (value != "") 
    {
        switch(format[0])
	    {
	    
		    case 'length':
		        var validRange = format[1].split(",");
		        if (value.length < parseInt(validRange[0]) || (value.length > parseInt(validRange[1]) && parseInt(validRange[1])!= 0))
			        return false;
			    break;
		    case 'email':
		        var tempMail = value.match(/^\w[\w\.\_\-]*\w\@\w[\w\-\.]*\w\.[a-zA-z]{2,3}$/g)
		    	if (value != tempMail)
			        return false;
			    break;
		    case 'url':
		        var tempUrl = value.match(/^((https|http)\:\/\/)*([wW]{3}|\w*)\.\w[\w\-]*(\.[A-Za-z]{2,3}|\.[A-Za-z]{2,3}\.[A-Za-z]{2,3})$/g)
			    if (value != tempUrl)
		            return false;
                break;		            
		    case 'phone/fax':
			    var validChars = ", +-0123456789";
			    for(i=0;i < value.length;i++)
				    if(validChars.indexOf(value.charAt(i)) == -1)
                        return false;
                break;
		    case 'numeric' :
			    if((!/^(\+|-)?\d+$/.test(value)) && (!/^-{0,1}\d*\.{0,1}\d+$/.test(value)))
			        return false;
		        break;
		    case 'integral' :
			    var validChars = "0123456789";
			    for(i=0;i < value.length;i++)
				    if(validChars.indexOf(value.charAt(i)) == -1)
                        return false;
                break;
		    case 'money' :
		        var validMoney, regX 
		        if (format.length == 2)
		        {
		            validMoney = format[1].split(",");
		            if (validMoney.length ==1)
		                regX = new RegExp("^(\\+|-)?(\\d{0,"+ validMoney[0] +"}|\\d{0,"+ validMoney[0] +"}\\.{1}\\d{1,2})$")
		            else if(validMoney.length ==2)
		            {
		                if (validMoney[1] == "0")
		                    regX = new RegExp("^(\\+|-)?(\\d{0,"+ validMoney[0] +"})$")
		                else
		                    regX = new RegExp("^(\\+|-)?(\\d{0,"+ validMoney[0] +"}|\\d{0,"+ validMoney[0] +"}\\.{1}\\d{1,"+ validMoney[1] +"})?$")
		            }
		        }
		        else
		            regX = new RegExp("^(\\+|-)?(\\d+|\\d*\\.{0,1}\\d+)$")
		            
		        if((! regX.test(value)))
			        return false;
 
		        break;
		   case 'notzero' :
			    if((!/^(\+|-)?\d+$/.test(value)) && (!/^-{0,1}\d*\.{0,1}\d+$/.test(value)) || value <=0)
			        return false;
		        break;
		    case 'alphanumeric':
			    var validChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.' ";
			    for (var i = 0; i < value.length; i++)
				    if (validChars.indexOf(value.charAt(i)) == -1)
				        return false;
		        break;
		    case 'username':
			    var validChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_-.";
			    for (var i = 0; i < value.length; i++)
				    if (validChars.indexOf(value.charAt(i)) == -1)
				        return false;
		        break;
		    case 'password':
			    var splChars = " ";
			    for (var i = 0; i < value.length; i++)
				    if (splChars.indexOf(value.charAt(i)) != -1)
				        return false;
                break;
            case 'image':
		         if(value!='')
                {
                var filelength = parseInt(value.length) - 4;
                var fileext = value.substring(filelength,filelength + 4);
                if (fileext.toLowerCase()!= '.gif' && fileext.toLowerCase() != '.jpg' && fileext.toLowerCase() != 'jpeg' && fileext.toLowerCase() != 'tiff' && fileext.toLowerCase() != 'bmp' && fileext.toLowerCase() != 'png')
                  return false;
         
                }
		        break;
        }
    }
    return true;
}

function Trim(value)
{
    return value
}

function Trim(value) {
	return value.replace(/^\s+|\s+$/g,"");
}

function LTrim(value) {
	return value.replace(/^\s+/,"");
}

function RTrim(value) {
	return value.replace(/\s+$/,"");
}


function textMatter(ctrlName)
{
     var editorText
    var oEditor = FCKeditorAPI.GetInstance(ctrlName)
    editorText=oEditor.GetXHTML()
    editorText=editorText.replace(/(<br \/>)+/,"")
    editorText=editorText.replace(/(<div>&nbsp;<\/div>)+/,"")
    editorText=editorText.replace(/(<p>&nbsp;<\/p>)+/,"")
    return editorText
}

function ResetForm(formId)
{
    var arrCtrl=document.getElementById(formId);
    for (var i=0;i<arrCtrl.length; i++)
    {
        if(arrCtrl[i].type == "text")
            arrCtrl[i].value="";
            
        if(arrCtrl[i].type == "checkbox")
            arrCtrl[i].checked=false;

        if(arrCtrl[i].type == "select-one")
            arrCtrl[i].options[0].selected = true;
    }
}