function processChecked(id)
{
  field = document.getElementById(id);
  chk_name = 'process_array['+id+']';
  
  chk_box = document.getElementById(chk_name);
  if (chk_box==null)  {
    return ;
  }
  
  if(chk_box.checked) {
    chk_box.checked = false;
    if (id%2==0)
      field.className = 'even_row';    
    else
      field.className = 'odd_row';
  }
  else  {
    chk_box.checked = true;
    field.className = 'selected';
  }
}

function set_color(id,color)
{
  field = document.getElementById(id);
  field.className = color;
  chk_name = 'process_array['+id+']';
  
  chk_box = document.getElementById(chk_name);
  if (chk_box==null)  {
    return ;
  }
  
  if(chk_box.checked) {
    field.className = 'selected';
  }
  else  {
    field.className = color;
  }
}


function ShowHideElement(id,show_id,hide_id,status)
{
  tr= $(id);
  
  show = $(show_id);
  hide = $(hide_id);
  
  if(status==1)
  {
    tr.style.display = "";
    show.style.display = "none";
    hide.style.display = "block";
  }
  else
  {
    
    tr.style.display = "none";    
    show.style.display = "block";
    hide.style.display = "none";
    
  }
  
}

function prepare(form_id) {
var formblock;

formblock= document.getElementById(form_id);
forminputs = formblock.getElementsByTagName('input');

return forminputs;
}

function select_all(formname,name, value, change_color) 
{
  forminputs = prepare(formname);
  for (i = 0; i < forminputs.length; i++) 
  {
    // regex here to check name attribute   
    var regex = new RegExp(name, "i");
    if (regex.test(forminputs[i].getAttribute('name'))) 
    {
      if (value == '1') 
      {
        forminputs[i].checked = true;
        if (change_color==1)
        {
          set_color(forminputs[i].value,'selected');
        }        
      } 
      else 
      {
        forminputs[i].checked = false;
        if (change_color==1)
        {
          if (forminputs[i].value%2==0)
          set_color(forminputs[i].value,'even_row');
          else
          set_color(forminputs[i].value,'odd_row');
        }        
      }
    }
  }
}

function showConfirmationBox(msg)
{ 
    var r = confirm(msg);  
    if(r==true) 
    { 
      return true;
    }
    else 
    { 
      return false;
    }
}

function reload_captcha(element)
{
  url=website_url+'captcha.php?'+Math.round(Math.random()*10000+1);
  document.getElementById(element).src=url;
}

function selectstate(id,default_state,dropdown_name,response_div,state_div,txt_state_div)
{ 
  if(id ==null)
  {
    alert("Please Select Country.");
    
  }
  else
  {
	if (typeof dropdown_name == 'undefined')
	{ var dropdown_name = "selState";
	}
	var dropdown_name_object = document.getElementById(dropdown_name);
	dropdown_name_object.disabled = true;
	  
	if (typeof state_div == 'undefined')
	{ var state_div = "state";
	}
	var state_div_object = document.getElementById(state_div);
	state_div_object.style.display='none';
	  
	if (typeof txt_state_div == 'undefined')
	{ var txt_state_div = "txtstateDiv";
	}
	var txt_state_div_object = document.getElementById(txt_state_div);
	txt_state_div_object.style.display='none';
	
	if (typeof response_div == 'undefined')
	{ var response_div = "stateselectbox";
	}
	var response_div_object = document.getElementById(response_div);

	var url = website_url+'get_state_list.php';
	new Ajax.Request(url,{
	    method: 'post',
	    parameters: {id:id,default_state:default_state,dropdown_name:dropdown_name,txt_state_div:txt_state_div},
	    onSuccess: function(transport) {
	          var response = transport.responseText;    
	            state_div_object.style.display = '';
	            txt_state_div_object.style.display = 'none';
	            response_div_object.innerHTML = response;
	            displayStateOtherBox(default_state,txt_state_div);
	            dropdown_name_object.disabled = false;
	    },
	    onFailure: function(){ alert('Something went wrong...') }
	  });
	}
}


function displayStateOtherBox(id,txt_state_div)
{
  if (typeof txt_state_div == 'undefined')
  { var txt_state_div = "txtstateDiv";
  }
  var txt_state_div_object = document.getElementById(txt_state_div);

  if(id == 0)
  {
    txt_state_div_object.style.display = '';
  }
  else
  {
    txt_state_div_object.style.display = 'none';
  }
}

function URLEncode (clearString) 
{
  var output = '';
  var x = 0;
  clearString = clearString.toString();
  var regex = /(^[a-zA-Z0-9_.]*)/;
  while (x < clearString.length) {
    var match = regex.exec(clearString.substr(x));
    if (match != null && match.length > 1 && match[1] != '') {
    	output += match[1];
      x += match[1].length;
    } else {
      if (clearString[x] == ' ')
        output += '+';
      else {
        var charCode = clearString.charCodeAt(x);
        var hexVal = charCode.toString(16);
        output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
      }
      x++;
    }
  }
  return output;
}

function loadDefaultStateCountry(country,state,add)
{
  if(country != 0 && state != '')  {
	selectstate(country, state);
  }
  else {
    selectstate(1, -1);
  }
}

function checkCC(form) {
	var raw_number = form.cc_number.value;
	var number = raw_number.replace(/ /g,"");
	var errMsg = 'Invalid information entered.\n - Credit Card Number Incorrect\nPlease correct this field.';
  	if (number.length > 19 || number.length < 13)
	{				
		alert(errMsg);
    	return (false);
	}
	sum = 0; mul = 1; l = number.length;
  	for (i = 0; i < l; i++) 
  	{
    	digit = number.substring(l-i-1,l-i);
	    tproduct = parseInt(digit ,10)*mul;
	    if (tproduct >= 10)
	      sum += (tproduct % 10) + 1;
	    else
	      sum += tproduct;
	    if (mul == 1)
	      mul++;
	    else
	      mul--;
	}

	if ((sum % 10) == 0)
	{
		return (true);
	}			
	else
	{
		alert(errMsg);
    	return (false);
	}			
}
