﻿// JScript File
function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}

function checkEmail(strng)
{
	var emailFilter=/^.+@.+\..{2,3}$/;
	if (!(emailFilter.test(strng))) 
		return false;
	var illegalChars= /[\(\)\<\>\?\,\;\:\\\/\"\[\]\*\+\&\%\!\#\$\^\=]/		
	if (strng.match(illegalChars)) 
		return false;
	else
		return true;
}

function validateform(controlPrefix,str)
{
var sstr = str.split(',');
var i,j,tstr,errorStr,flag;
errorStr="";
flag=-1;
for (i=0;i<sstr.length;i=i+3)
{ 
var s = eval("document.getElementById('" + controlPrefix + sstr[i] + "').value") 
if ((sstr[i+2]=="R" || sstr[i+2]=="RE") && trim(s)=="")
{
    errorStr = errorStr + " " + sstr[i + 1] + " is Required. \n";
    if (flag == -1)
    {
        flag = i;
    } 
 }
else if(sstr[i+2]=="RN" && parseInt(s)==0) 
{
    errorStr = errorStr + " " + sstr[i + 1] + " is Required. \n";
    if (flag == -1)
    {
        flag = i;
    } 
}
else if(sstr[i+2]=="RN0" && parseFloat(s)==0) 
{
    errorStr = errorStr + " " + sstr[i + 1] + " can not be zero \n";
    if (flag == -1)
    {
        flag = i;
    }  
}
else if((sstr[i+2]=="E" || sstr[i+2]=="RE") && s!='')
{
    if (!checkEmail(s))
    {
        errorStr = errorStr + " " + sstr[i + 1] + " is not a valid Email Address. \n";
        if (flag == -1)
        {
            flag = i;
        } 
    }
} 
}
if (errorStr!="")
{
eval("document.getElementById('" + controlPrefix + sstr[flag] + "')").focus(); 
alert(errorStr)
return false;
}
else
return true;
}


//This function will be used when string requried only apha numeric characters - no special character
function alphanum(s)
{
	var legalChars = /[:alnum:]/;
	if (s.match(legalChars))
		return true;
	else
		return false;
}
// this function do numbers only validation
function NumbersOnly(e)
{	
	if (window.event)
	{
		if (event.keyCode<48 || event.keyCode>57)
			event.keyCode=0;
	}
	else 
	{
		if (e.which==8 || e.which==0)
			return true;
		else if (e.which<48 || e.which>57)
			return false; 
	}	
}


//function to validate url
function isValidURL(url)
{
    var RegExp = /^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/;
    if(RegExp.test(url))
    {
        return true;
    }
    else
    {
        return false;
    }
}


//function to prevent user to enter text
function toMakedisable(value)
{ 
    if (window.event)
    {
        if (event.keyCode>0 || event.keyCode<200)
        return false; 
    }
    else 
    {
        if (val.which==8 || val.which==0)
        return true;
        else if (val.which>0 || val.which<200)
        return false; 
    } 
}

function DisallowcopyKey(e) 
{
    var forbiddenKeys = new Array('c','x','v');
    var keyCode = (e.keyCode) ? e.keyCode : e.which;
    var isCtrl;
    
    if(window.event)
        isCtrl = e.ctrlKey
    else
        isCtrl = (window.Event) ? ((e.modifiers & Event.CTRL_MASK) == Event.CTRL_MASK) : false;

    if(isCtrl) 
    {
        for(i = 0; i < forbiddenKeys.length; i++) 
        {
            if(forbiddenKeys[i] == String.fromCharCode(keyCode).toLowerCase()) 
            {                
                return false;
            }
        }
    }
    return true;
}

function alphaNumSpaceOnly(evt) 
{ 
    var charCode = (evt.which) ? evt.which : window.event.keyCode; 
    if (charCode <= 13) 
    { 
        return true; 
    } 
    else 
    { 
        var keyChar = String.fromCharCode(charCode); 
        var re = /[\sa-zA-Z0-9]/
        return re.test(keyChar); 
    } 
}

function dotnumberonly(e,txtVal)
{	
	var x;
	x=document.getElementById(txtVal)
	if (x!= null)
	{
	    //alert(x.value);
	    if (window.event)
	    {
		    //key = event.keyCode;
		    //keychar = String.fromCharCode(key);
		    if ((event.keyCode<48 || event.keyCode>57)&&( event.keyCode!=46))
		    {
			    event.keyCode=0;
		    }
		    else
		    {			
		        if ((x.value.indexOf(".")>-1)&&(event.keyCode==46))
		        {	
			        event.keyCode=0;
		        }
		    }		
	    }
	    else 
	    {
    					
		    if ((e.which<48 || e.which>57) &&(e.which!=46) && (e.which!=8)&& (e.which!=0))
		    {
			    return false; 
		    }
		    else
		    {			
			    if ((x.value.indexOf(".")>-1)&&(e.which==46))
			    {	
				    return false;
			    }
		    }
	    }
	}	
}

function extractNumber(obj, decimalPlaces, allowNegative)
{
    
	var temp = obj.value;
	
	// avoid changing things if already formatted correctly
	var reg0Str = '[0-9]*';
	if (decimalPlaces > 0) {
		reg0Str += '\\.?[0-9]{0,' + decimalPlaces + '}';
	} else if (decimalPlaces < 0) {
		reg0Str += '\\.?[0-9]*';
	}
	reg0Str = allowNegative ? '^-?' + reg0Str : '^' + reg0Str;
	reg0Str = reg0Str + '$';
	var reg0 = new RegExp(reg0Str);
	if (reg0.test(temp)) return true;

	// first replace all non numbers
	var reg1Str = '[^0-9' + (decimalPlaces != 0 ? '.' : '') + (allowNegative ? '-' : '') + ']';
	var reg1 = new RegExp(reg1Str, 'g');
	temp = temp.replace(reg1, '');

	if (allowNegative) {
		// replace extra negative
		var hasNegative = temp.length > 0 && temp.charAt(0) == '-';
		var reg2 = /-/g;
		temp = temp.replace(reg2, '');
		if (hasNegative) temp = '-' + temp;
	}
	
	if (decimalPlaces != 0) {
		var reg3 = /\./g;
		var reg3Array = reg3.exec(temp);
		if (reg3Array != null) {
			// keep only first occurrence of .
			//  and the number of places specified by decimalPlaces or the entire string if decimalPlaces < 0
			var reg3Right = temp.substring(reg3Array.index + reg3Array[0].length);
			reg3Right = reg3Right.replace(reg3, '');
			reg3Right = decimalPlaces > 0 ? reg3Right.substring(0, decimalPlaces) : reg3Right;
			temp = temp.substring(0,reg3Array.index) + '.' + reg3Right;
		}
	}	
	obj.value = temp;
}	

 function selectone(event)
        {
        
            try
            {
            var unchecked;
            unchecked = true;
            
                if (event.srcElement)
                {
                   unchecked=event.srcElement.checked;
                }
                else
                {
                    unchecked=event.target.checked;
                }
            
            
            
                //for IE                
                if (event.srcElement) 
                {
                    if (event.srcElement.type!='checkbox') return false;
                    var childNodes = event.srcElement.parentNode.parentNode.parentNode.getElementsByTagName('input');
                }
                //for Firefox
                else
                {
                   if (event.target.type!='checkbox') return false;
                    var childNodes = event.target.parentNode.parentNode.parentNode.getElementsByTagName('input');
                }
                for (var i = 0; i < childNodes.length; i++)
                {
                   childNodes[i].checked='';
                   
                }
                if (unchecked)
                {    
                    if (event.srcElement)
                    {
                        event.srcElement.checked='checked';
                    }
                    else
                    {
                        event.target.checked='checked';
                    }
                }
            }
            catch(E){}
        }






