﻿// JScript File

  

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])
            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 '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 'checkmonth' :
		        
                 if(value>12||value<=0) 
                    return false; 
                 break;
                 
                 case 'ispositive' :   
                    if(value<0)
                    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() != '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
}