function validateID(oSrc, args)
{  
	var id = padLeft(args, 9);

	var success = ValidateDigit(id);
	return success;
}

function validateOrganization(oSrc, args)
{
	var success  = args.length == 9 && (args.substr(0,2) == "58" || args.substr(0,2) == "51") && ValidateDigit(args);		
	return success;
}

function padLeft(inputStr, totalWidth, paddingChar)
{
	return Array(totalWidth-String(inputStr).length+1).join(paddingChar||'0')+inputStr; 
}

function ValidateDigit(id)
{
        var sID = String(id);
		var length = id.length;
        if ((isNaN(sID)) || parseInt(id,10) == 0)
                return false;
        var counter = 0, incNum;
        for (var i = length - 1; i >= 0; i--)
        {
                incNum = Number(sID.charAt(i));
                incNum *= ((length - i + 1) % 2) + 1;
                if (incNum > 9)
                        incNum -= 9;
                counter += incNum;
        }
        return (counter % 10 == 0);
}

function ValidateCheckBox(oSrc, args)
{
    var success = $("input[id $='" + oSrc.controltovalidate + "']").attr('checked');
	return success;
}

function validatePolice(oSrc, args)
{  
	var idnum=cleanjunk(args);	
	var success = false ;
	
	if (!ValidateDigit(idnum)|| idnum=="00000000000")
	{
		success = false ;
	}
	else
	{
		//11 digre 
		if (idnum.length ==11) 
		{
			success=true;
		}
		//10 digre 
		else if (idnum.length==10)
		{
			success=CheckPolicePrefix(idnum);
		}	
	}
	oSrc.isvalid = success;
	return success;
}

function CheckPolicePrefix(idnum)
{

	var idnumSub = idnum.substr(0,2);
	
	switch (idnumSub)
	{
	case "05":
	case "10":
	case "11":
	case "12":
	case "13":
	case "14":
	case "15":
	case "16":
	case "20":
	case "21":
	case "22":
	case "23":
	case "24":
	case "25":
	case "26":
	case "27":
	case "30":
	case "31":
	case "32":
	case "33":
	case "34":
	case "35":
	case "37":
	case "38":
	case "40":
	case "41":
	case "43":
	case "42":
	case "43":
	case "44":
	case "45":
	case "50":
	case "40":
	case "51":
	case "52":
	case "53":
	case "60":
	case "61":
	case "66":
	case "88":
	case "90":
	case "91":
	return true;
	break

	default:
	return false;
	break
	}


}

function cleanjunk(getstring)
{
		
        getstring = getstring.replace(/-/g,"") ;
        getstring = getstring.replace(/ /g,"") ;
        getstring = getstring.replace(/\//g,"") ;
        getstring = getstring.replace(/\\/g,"") ;
		getstring = getstring.replace(/\s/g, "") ;
        getstring = getstring.toUpperCase() ;
		return(getstring); 
}
