//------------------------------------------------------------------------------
function validateValue( strValue, strMatchPattern ) 
{
	var objRE = new RegExp( strMatchPattern);
 	//check if string matches pattern
	return objRegExp.test(strValue);
}
//------------------------------------------------------------------------------
function isEmpty(eltObj)
{
	strValue	=	trimAll(eltObj.value);
	if(strValue.length > 0)
	{
		return false;
    }
	return true;
}
//------------------------------------------------------------------------------
function isAlpha(eltObj)
{
	strValue	=	eltObj.value;
	pattern		=	'^[a-zA-Z \.]+$';
	var objRE	=	new RegExp( pattern );
	if(!objRE.test(strValue))
	{
		return false;
	}
	return true;
}
//------------------------------------------------------------------------------
function isNumeric(eltObj)
{
	strValue	=	eltObj.value;
	var pattern		=	'^[0-9]+$';
	var objRE	=	new RegExp( pattern );
	if(!objRE.test(strValue))
	{
		return false;
	}
	return true;
}
//------------------------------------------------------------------------------
function isAlphaNumeric(eltObj)
{
	strValue	=	eltObj.value;	
	pattern		=	'^[a-zA-Z0-9 ]+$';
	var objRE	=	new RegExp( pattern );
	if(!objRE.test(strValue))
	{
		return false;
	}
	return true;
}
//------------------------------------------------------------------------------
function isPhone(eltObj)
{
	strValue	=	eltObj.value;
	pattern		=	'^[0-9\-()+ ]+$';
	var objRE	=	new RegExp( pattern );
	if(!objRE.test(strValue) || strValue.length < 10)
	{
		return false;
	}
	return true;
}
//------------------------------------------------------------------------------
/*function isEmail(eltObj)
{
	strValue	=	eltObj.value;
	var objRE	=	/^[a-z0-9]([a-z0-9_\-\.]*)@([a-z0-9_\-\.]*)(\.[a-z]{2,3}(\.[a-z]{2}){0,2})$/i;
	if(!objRE.test(strValue))
	{
		return false;
	}
	return true;
}*/


function isEmail(obj)
{	
	str = obj.value;
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (!filter.test(str))
	{
		return false;
	}
	return true;
}




//------------------------------------------------------------------------------
function isAmount(eltObj)
{
	strValue	=	eltObj.value;
	var pattern = /^[0-9]+(.){0,1}([0-9]*)$/i;
	var objRE	=	new RegExp( pattern );
	if(!objRE.test(strValue))
	{
		return false;
	}
	return true;
}
//------------------------------------------------------------------------------
function isAmountOld(fld, Label)
{
 var ValidChars = "0123456789.";
 var Char;
 if(fld.value == ".") { alert('Invalid Chars in '+ Label + ' field'); fld.focus(); return false; }
 for (i = 0; i < fld.value.length; i++)
 {
    Char = fld.value.charAt(i);
    if(ValidChars.indexOf(Char) == -1)
    {
       alert('Invalid Chars in '+ Label + ' field');
       fld.focus();
       return false;
    }
 }
 return true;
}
//------------------------------------------------------------------------------
//returns the no of check boxes checked in a form
function BoxesChecked(form, eltname)
{
  a = 0;
  for(var i = 0; i < form.elements.length; i++)
  {
   var e = form.elements[i];
   if(e.type == "checkbox" && e.name == eltname && e.checked)
   {
    a++;
   }
  }
  return a;
}
//------------------------------------------------------------------------------
//returns the no of radio boxes checked
function RadioCheck(form, eltname)
{
  a = 0;
  for(var i = 0; i < form.elements.length; i++)
  {
   var e = form.elements[i];
   if(e.type == "radio" && e.name == eltname && e.checked)
   {
    a++;
   }
  }
  return a;
}
//------------------------------------------------------------------------------
//  Check / Un Check all Check boxes
//  onclick="Checkall(this, document.form, 'cbox[]');"
function Checkall(chk, form, eltname)
{
 for (var i=0; i < form.elements.length; i++)
 {
  var e = form.elements[i];
  if (e.type == "checkbox" && e.name == eltname){ e.checked = chk.checked;}
 }
}
//------------------------------------------------------------------------------
//alerts an error if the first item is selected or none selected in a listbox
function chkListbox(item, Label)
{
  if(item.options.selectedIndex == 0 || item.options.selectedIndex == -1)
  {
    alert('Please select ' + Label);
    item.focus();
    return false;
  }
  return true;
}
//------------------------------------------------------------------------------
//if(form.elements['toinv[]'].options.selectedIndex == -1) { alert('Pls select atleast one item'); return false; }
//alerts to chk at least one item from a listbox which has multiple atrrib
function chkListboxMultiple(form, eltname, Label)
{
 for(var i = 0; i < form.elements.length; i++)
 {
  var e = form.elements[i];
  if(e.type == "select-multiple" && e.name == eltname)
  {
   if(e.options.selectedIndex == -1)
   {
     alert('Please select atleast one ' + Label);
     return false;
   }
   else
   {
    return true;
   }
  }
 }
}
//------------------------------------------------------------------------------
//returns the no of items selected from a listbox which has multiple attrib
function itemsSelected(form, eltname)
{
  a = 0;
  for(var i = 0; i < form.elements.length; i++)
  {
   var e = form.elements[i];
   if(e.type == "select-multiple" && e.name == eltname)
   {
    for(j = 0; j < e.options.length; j++)
    {
      if(e.options[j].selected)
      {
        a++;
      }
    }
   }
  }
  return a;
}
//------------------------------------------------------------------------------
//returns the radio box value of an element
function getRadioValue(radio)
{
 for (var i = 0; i < radio.length; i++)
 {
 	if (radio[i].checked) { break; }
 }
 return radio[i].value;
}
//------------------------------------------------------------------------------
function trimAll(strValue)
{
   var objRegExp = /^(\s*)$/;

   //check for all spaces
   if(objRegExp.test(strValue)) 
   {
       strValue = strValue.replace(objRegExp, '');
       if( strValue.length == 0)
          return strValue;
   }
    
   //check for leading & trailing spaces
   objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
   if(objRegExp.test(strValue)) 
   {
       //remove leading and trailing whitespace characters
       strValue = strValue.replace(objRegExp, '$2');
   }
   return strValue;
}
//------------------------------------------------------------------------------
function rTrim( strValue ) 
{
	var objRegExp = /^([\w\W]*)(\b\s*)$/;
 
    if(objRegExp.test(strValue)) 
	{
       //remove trailing a whitespace characters
       strValue = strValue.replace(objRegExp, '$1');
    }
	return strValue;
}
//------------------------------------------------------------------------------
function lTrim( strValue ) 
{
	var objRegExp = /^(\s*)(\b[\w\W]*)$/;
 
    if(objRegExp.test(strValue)) 
	{
       //remove leading a whitespace characters
       strValue = strValue.replace(objRegExp, '$2');
    }
	return strValue;
}
//------------------------------------------------------------------------------
function selectAll(fld)
{
	for(i=0;i<fld.length;i++)
		fld[i].checked=true;
}
//------------------------------------------------------------------------------
function selectNone(fld)
{
	for(i=0;i<fld.length;i++)
		fld[i].checked=false;
}
//------------------------------------------------------------------------------
function isPositiveInt(fld)
{
	if(parseInt(fld.value)>0)
		return true;
	return false;
}
//------------------------------------------------------------------------------
function isPositiveFloat(fld)
{
	return isNotNegativeFloat(fld)&& (parseFloat(fld.value)>0);	
}
//------------------------------------------------------------------------------
function isNotNegativeFloat(fld)
{
	var r1=new RegExp("^[0-9]*[.]{0,1}[0-9]*$")
	return r1.test(fld.value);
}
//------------------------------------------------------------------------------
function isNotNegativeInt(fld)
{
	var r1=new RegExp("^[0-9]*$")
	return r1.test(fld.value);
}
//------------------------------------------------------------------------------
function isPincode(fld)
{
	var r1 = new RegExp("^[1-9][0-9]{5}$")
	return r1.test(fld.value);
}
//------------------------------------------------------------------------------
function isPeriod(fld)
{
	var r1 = new RegExp("^[1-9][0-9]{2}$")
	return r1.test(fld.value);
}
//------------------------------------------------------------------------------
function isFloat(fld)
{
	var r1=new RegExp("^[\-\+]{0,1}[0-9]*[.]{0,1}[0-9]*$")
	return r1.test(fld.value);
}
//------------------------------------------------------------------------------
function isInt(fld)
{
	i=parseInt(fld.value);
	if(i>0 ||i==0 || i<0)
		return true;
	return false;
}
//------------------------------------------------------------------------------
function isSpace(fld)
{
	var r1 = new RegExp("^[ ]+$");
	return r1.test(fld.value);
}
//------------------------------------------------------------------------------