function calculaDC(Banco, Cuenta)
{
      Pesos= new Array(6,3,7,9,10,5,8,4,2,1);
      var result ='';
      var iTemp =0;
	  	  
      for (var n=0;n<=7;n++){
         iTemp  = iTemp + Banco.substr(7 - n, 1) * Pesos[n];
      }
      result = 11 - iTemp % 11;
      if (result > 9){
        result=1-result % 10;
      }
      iTemp=0;
      for (var n=0;n<=9;n++){
         iTemp  = iTemp + Cuenta.substr(9 - n, 1) * Pesos[n];
      }
      iTemp =11 - (iTemp % 11);
      if (iTemp > 9){
       iTemp =1-(iTemp % 10);
      }
      result=result*10+iTemp;
      return(result);
 }
 
function checkEmail(email)
{
	var filter=/^[A-Za-z][A-Za-z0-9_.]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
	return filter.test(email.value) ;
}

function checkRequired(myForm, type){
var pass=true;

switch ( type )
{
	case "S":
		toCheck = new Array ( "first_name", "last_name", "email", "street", "zip", "city", "state", "00N800000040fzd" , "00N800000040fze" ,"00N800000042DjZ" , "00N800000042Dja" , "00N800000042DjX" , "00N800000042DjY" );
		break;
	case "V":
		toCheck = new Array ( "first_name", "last_name", "email", "city", "00N800000042Djm" );
		break;
	case "D":
		toCheck = new Array ( "first_name", "email", "state" );
		break;
}

for (i=0;i<myForm.length;i++){
	var tempobj=myForm.elements[i]
	mustfill = false;
	for ( j=0; j<=toCheck.length;j++ ) {
		if (tempobj.name == toCheck[j] ) mustfill = true;
	}
	
	if ( mustfill ) {
		if 	(((tempobj.type=="text"||tempobj.type=="textarea")&&tempobj.value=="")||(tempobj.type.toString().charAt(0)=="s"&&tempobj.selectedIndex==-1)){
			pass=false
			break
		}
	}
	}
	tempobj.focus();
	return pass;
}

function checkForm( myForm, type )
{
if ( ! checkRequired ( myForm, type ) ) {
	alert("Por favor, rellene todos los campos obligatorios");
	return false
}
else 
if ( ! checkEmail ( myForm.email ) ) {
  alert ( "La direccion de correo no es correcta" );
	myForm.email.focus();
	return false;
}
else if ( type == "S" ) {
	entidad = document.getElementsByName ( "00N800000042DjZ" );	
	sucursal = document.getElementsByName ( "00N800000042Dja" );	
  dc = document.getElementsByName ( "00N800000042DjX" );	
  cuenta = document.getElementsByName ( "00N800000042DjY" );
//	alert ( entidad[0].value + " " + sucursal[0].value + " " + dc[0].value + " " + cuenta[0].value );
	
	if ( calculaDC ( entidad[0].value+sucursal[0].value, cuenta[0].value ) != dc[0].value ) {
		alert ( "Los datos bancarios son incorrectos. Por favor introdúcelos de nuevo" );
		entidad[0].focus();
		return false;
		}
}
return true;
}
