
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(/^(http(s)?:\/\/)?([A-Za-z0-9][\w-]*[A-Za-z0-9]\.)+[A-Za-z]{2,3}(\/[\w- .\/?%&=]*)?$/g)
			    if (value != tempUrl)
		            return false;
                break;	
            case 'url2':
		         var tempUrl = value.match(/^(http(s)?:\/\/)?([A-Za-z0-9][\w-]*[A-Za-z0-9]\.)+[A-Za-z]{2,3}(\/[\w- .\/?%&=]*)?$/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 'dd/mm/yyyy' :
			//    if((!/^(\+|-)?\d+$/.test(value)) && (!/^-{0,1}\d*\.{0,1}\d+$/.test(value)))
			//        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() != '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>)+/,"")
    editorText=editorText.replace(/(<br type=\"_moz\" \/>)+/,"")
    return editorText

}

function GetRef(ctrlID)
{
    return document.getElementById(ctrlID)
}

function CheckForSelection(chkID,chkContainerID)
{
    var Container = GetRef(chkContainerID)
    var arrCtrl = Container.getElementsByTagName("input");
    var flag = false;
    for(var i=0;i < arrCtrl.length;i++)
    {
        if(arrCtrl[i].type=="checkbox")
        {
            if(arrCtrl[i].id.indexOf(chkID) > 0)
            {
                if (arrCtrl[i].checked)
                    return true;
            }
        }
    }
    
    return false;
}    

function PwdStrength(obj) 
{ 
    var pwd = obj.value;
    var desc = new Array(); 
    desc[0] = "Too Short"; 
    desc[1] = "Weak"; 
    desc[2] = "Fair";
	desc[3] = "Good";
    desc[4] = "Strong"; 
    desc[5] = "Best"; 
    
    var score = 0;  
    
    if (pwd.length >= 8) score++; 
    if (pwd.length >= 16) score++;
    if (pwd.length >= 6 && (pwd.match(/[a-z]/)) && (pwd.match(/[A-Z]/))) score++; 
    if (pwd.length >= 6 && pwd.match(/\d+/)) score++; 
    if (pwd.length >= 6 && pwd.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/)) score++; 
    
    $("#" + obj.id).css({"float":"left"})
    
    if(pwd != "")
    {
        if($("#PwdStrength"))
            $("#PwdStrength").remove()
        $("#" + obj.id).after("<div id='PwdStrength'><span>Password Strength:</span>&nbsp; <span class='desc"+ score +"'>" + desc[score] + "</span><br/><div class='strength0'><div class='strength"+ score + "'>&nbsp;</div><div></div>")
    }
    else
        if($("#PwdStrength"))
            $("#PwdStrength").remove()
}

$(document).ready(function(){
    //Add the event after document is ready on all input element whose type is "password" and class is "pwd" 
    $("input:password.pwd").keyup(function(){
        PwdStrength(this)
    });
});