/*///////////////////////////////////////////
//                                         //
//      Red Madre v1.0                     //
//      Creado por ContaDOCK               //
//      www.ContaDOCK.com                  //
//                                         //
//      javascript/global.js v1.0          //
//                                         //
///////////////////////////////////////////*/

function isNumberKey(evt)
{
   var charCode = (evt.which) ? evt.which : event.keyCode
   if (charCode > 31 && (charCode < 48 || charCode > 57))
      return false;

   return true;
}


function isQuantityValid(text)
{
   if(!/^(\d+)(\.)\d{2}?$/.test(text) && text.length)
    return false;
   else
    return true;
}


function validNIF(nif) {
  var ok = true;

  number = nif.substr(0,nif.length-1);
  let = nif.substr(nif.length-1,1);
  number = number % 23;
  letter='TRWAGMYFPDXBNJZSQVHLCKET';
  letter=letter.substring(number,number+1);
  if (letter!=let)
    ok = false;

  return ok;
}


function validCIF(cif) {
	var ok = true;

	// UpperCase
	var temp = cif.toUpperCase();

	if (!/^[A-Za-z0-9]{9}$/.test(temp)) // 9 digits?
		ok = false;
	else if (!/^[ABCDEFGHKLMNPQS]/.test(temp)) // Is the first a valid letter?
		ok = false
	else {
    a = 0;
    b = 0;
    var calc = new Array(0,2,4,6,8,1,3,5,7,9);

    for(x=2;x<=6;x+=2)  {
      a = a + parseInt(cif.substr(x,1));
      b = b + calc[parseInt(cif.substr(x-1,1))];
    }
    b = b + calc[parseInt(cif.substr(x-1,1))];

    // c sum a+b
    c=a+b;

    d = (10 -(c%10));

    var codes = new Array('J','A','B','C','D','E','F','G','H','I','J');

    last = cif.substr(cif.length-1,1);
    if ((last != d) && (last != codes[d]))
      ok = false;
	}

	return ok;
}



function toNext(frm,elmnt,content){
    if (content.length==elmnt.maxLength){
      next=elmnt.tabIndex + 1;
      if (next<frm.elements.length){
        frm.elements[next].focus()
    }
  }
}


function controlDigit(value){
  values = new Array(1, 2, 4, 8, 5, 10, 9, 7, 3, 6);
  control = 0;
  for (i=0; i <= 9; i++)
    control += parseInt(value.charAt(i)) * values[i];
  control = 11 - (control % 11);
  if (control == 11)
    control = 0;
  else {
    if (control == 10)
      control = 1;
  }
  return control;
}


function isNumeric(value){
  cad = value.toString();
  for (var i=0; i < cad.length; i++) {
    var chr = cad.charAt(i);
	if (chr < "0" || chr > "9")
	  return false;
  }
  return true;
}

function validCCC(b,s,d,n) {
  var ok = true;
  if (b == "" || s == "" || d == "" || n == "")
    ok = false;
  else {
    if (b.length != 4 || s.length != 4 || d.length != 2 || n.length != 10)
      ok = false;
    else {
      if (!isNumeric(b) || !isNumeric(s) || !isNumeric(d) || !isNumeric(n))
        ok = false;
      else {
        if (!(controlDigit("00" + b + s) == parseInt(d.charAt(0))) || !(controlDigit(n) == parseInt(d.charAt(1))))
          ok = false;
        else
          ok = true;
      }
    }
  }

  return ok;
}
