//This function is used to select and unselect all the check box of the given name.
//fmobj id	= 	the form oblect
//chekname	=	The checkbox name to be select and unselect.
function chk(frm)
{	
	var email_chk=/(^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$)/i;
	var msg='Please enter valid data in the following fields\n--------------------------------------------------------------------';
	//Fields marked (*) are mandatory\n';
	var foc=-1;
	if(typeof fields != "undefined"){
		for(i=0; i<fields.length; i++){
			var field = eval('frm.'+fields[i]);
			var field_value = getFieldValue(field);
			<!-- validation for billing state -->
			if(fields[i]=='billing_state1')
			{
				var str4=document.getElementById('billing_state1').type; 
				if(str4=='text')
				{
					var billvalue	=	document.getElementById('billing_state1').value;
					if(billvalue=='')
					{
						if(foc==-1)foc=fields[i];
						msg+='\n'+msgs[i];
					}
				}
				else
				{
					var billvalue	=	document.getElementById('billing_state1').selectedIndex;
					if(billvalue=='0')
					{ 
						if(foc==-1)foc=fields[i];
						msg+='\n'+msgs[i];
					}
				} 
				
			}
			<!-- end of validation for billing state -->
		
	    	<!-- validation for shipping state -->
			else if(fields[i]=='shipping_state1')
			{
				var str5=document.getElementById('shipping_state1').type; 
				if(str5=='text')
				{
					var shipvalue	=	document.getElementById('shipping_state1').value;
					if(shipvalue=='')
					{
						if(foc==-1)foc=fields[i];
						msg+='\n'+msgs[i];
					}
				}
				else
				{
					var shipvalue	=	document.getElementById('shipping_state1').selectedIndex;
					if(shipvalue=='0')
					{ 
						if(foc==-1)foc=fields[i];
						msg+='\n'+msgs[i];
					}
				} 
				
			}
	    	<!-- end of validation for shipping state -->
			else
			{
				if(empty(field_value)){
					if(!field.disabled) { 
						if(foc==-1)foc=fields[i];
						msg+='\n'+msgs[i];
					}
				}
			}
		}
	}
	if(typeof emails != "undefined"){
		for(j=0; j<emails.length; j++){
			var field_value = eval('frm.'+emails[j]+'.value');
			if(!email_chk.test(field_value) && !empty(field_value) ){
				if(foc==-1)foc=emails[j];
				msg+='\n'+email_msgs[j];
			}
		}
	}
	if(typeof nums != "undefined")
	{

		for(k=0; k<nums.length; k++)
		{
			var field_value = eval('frm.'+nums[k]+'.value');
			if (typeof num_zero!='undefined')
			{
					if ((num_zero==0))
					{
						if(!empty(field_value) && (isNaN(field_value) || (field_value <= 0))){
							if(foc==-1)foc=nums[k];
							msg+='\n'+nums_msgs[k];
						}
					}
					else
					{
						if(!empty(field_value) && (isNaN(field_value)))
						{
							if(foc==-1)foc=nums[k];
							msg+='\n'+nums_msgs[k];
						}
					}
			}
			else
			{
					if(!empty(field_value) && (isNaN(field_value) || (field_value <= 0))){
							if(foc==-1)foc=nums[k];
							msg+='\n'+nums_msgs[k];
						}

			}
		}
	}
	if(foc!=-1)
	{
		alert(msg);
		var fieldType = eval('frm.' + foc + '.type');
		if(fieldType && fieldType!='hidden' && fieldType!='radio' && fieldType!='checkbox')
		{
			eval('frm.'+foc+'.focus()')
		}		
		return(false);
	} else {
		return(true);
	}
}

function empty(str)
{
	var empty_chk=/(^[\ ]*$)/i;
	if(!empty_chk.test(str))return false;
	return(true);
}

function getFieldValue(field)
{
   switch(field.type)
   {
      case "text" :
      case "textarea" :
      case "password" :
      case "hidden" :
         return field.value;
      case "select-one" :
         var i = field.selectedIndex;
         if (i == -1)   return "";
         else   return field.options[i].value ;
		 /*return (field.options[i].value == "") ? field.options[i].text : field.options[i].value;*/
      case "select-multiple" :
         var allChecked = new Array();
         for(i = 0; i < field.options.length; i++)
            if(field.options[i].selected)
               allChecked[allChecked.length] = (field.options[i].value == "") ? field.options[i].text : field.options[i].value;
         return allChecked;
      case "button":
      case "reset":
      case "submit":
         return "";
      case "radio" :
      case "checkbox" :
         if (field.checked) { return field.value; } else { return ""; }
      default :
         if(field[0].type == "radio")
         {
            for (i = 0; i < field.length; i++)
               if (field[i].checked)
                  return field[i].value;

            return "";
         }
         else if(field[0].type == "checkbox")
         {
            var allChecked = new Array();
            for(i = 0; i < field.length; i++)
               if(field[i].checked)
                  allChecked[allChecked.length] = field[i].value;
            return allChecked;
         }
         break;
   }
   
   return "";
}
//This function can be used with listing pages like category listing in admin side for Mass Update.
function CheckCheckAll(fmobj,chekname) {
	
var TotalBoxes = 0;
var TotalOn = 0;
for (var i=0;i<fmobj.elements.length;i++)
	{
	var e = fmobj.elements[i];
	if(fmobj.select_all.checked==true)
		{
			if(e.name==chekname)
			{e.checked=true;}
		}
	else
		{
				if(e.name==chekname)
				{e.checked=false;}
		}
	}
}
function emailCheck(email)
{
	var email_chk=/(^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$)/i;
	if(email_chk.test(email))
	{
		return true;	
	}
	else
	{
		return false;
	}
}
function IsNumeric(sText)

{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
   
   }///function to display image of real size

function popUp(url) {
	//alert(url);
window.open(url, "name_of_window", "width=800,height=800,left=50,top=10,scrollbars=yes,menubar=no, resizable=yes,location=no,toolbar=no");
}

