// JavaScript Document
function downloadPdf(href){
	var opc='height=800,width=1000,left=100,top=100,resizable=no,scrollbars=yes,toolbar=no,status=no';
        newwindow=window.open(href,'PDF_doc',opc);
}

function popup(page, ww, hh){
	derecha=(screen.width-ww)/2;
        arriba=(screen.height-hh)/2;
	string="titlebar='no',toolbar=0,scrollbars=yes,location=0,statusbar=0,menubar=0,resizable=0,width="+ww+",height="+hh+",left="+derecha+",top="+arriba+"";
	fin=window.open(page,this.target,string);
}

function IsNumeric(valor){ 
	var longs=valor.length; var sw="S";
	for(x=0; x<longs; x++){
		v1=valor.substr(x,1); 
		v2 = parseInt(v1); 
		//Compruebo si es un valor num�rico 
		if (isNaN(v2)) { sw= "N";} 
    }
	if (sw=="S") {return true;} else {return false; } 
}

function format(value,format)
{
	value = value.replace(/\D/g,"");
	var result="";

	if(format.length < value.length)
		return value;

	for(i=0,j=0;(i<format.length)&&(j<value.length);i++)
	{
		var ch = format.charAt(i) ;

		if(ch == '#')

		{

			result += value.charAt(j++);

			continue;

		}

		result += ch;

	}

	return result;

}



function trim(cadena){

	for(i=0; i<cadena.length; )

	{

		if(cadena.charAt(i)==" ")

			cadena=cadena.substring(i+1, cadena.length);

		else

			break;

	}

	for(i=cadena.length-1; i>=0; i=cadena.length-1)

	{

		if(cadena.charAt(i)==" ")

			cadena=cadena.substring(0,i);

		else

			break;

	}	

	return cadena;

}



function validaForm(ruta){



	var propControl = new Array();

	debecontar=0;

	contar=0;

	validar=0;

	vacios=0;

	

	for(var i=0; i<ruta.elements.length; i++){

		

		//controlAct=trim(ruta.elements[i]);

		controlAct=ruta.elements[i];

		if(ruta.elements[i].title.indexOf("*")!=-1){//si existe * entonces valida datos del control actual			

			propControl = ruta.elements[i].title.split("*");

			//alert(propControl[1]);

			if(propControl[1].indexOf("r")!= -1){//si es diferente de -1 entonces es un control requerido

				if(trim(controlAct.value)=="" || trim(controlAct.value)=="0"){

					i=i+1;

					// Esto es un control oculto para el mensaje ruta.elements[i].value

					alert(ruta.elements[i].value);

					

					controlAct.style.border="1px #FF0000 solid";

					controlAct.focus();



					return false;

					break;

				}

			}

			if(propControl[1].indexOf("m")!= -1){//si es diferente de -1 entonces se debe validar el email

			//alert("email");

				if(emailCheck(trim(controlAct.value))==0){

					i=i+2;

					alert(ruta.elements[i].value);

					controlAct.style.border="1px #FF0000 solid";

					controlAct.focus();

					return false;

					break;

				}

			}

			if(propControl[1].indexOf("c")!= -1){

				debecontar=1;

				contar=contar+1;

				if(trim(controlAct.value)==""){

					vacios=vacios+1;

					if(contar==1){

						kontrol=controlAct;

						nombreKontrol=propControl[0];

					}

				}				

			}			

			if(propControl[1].indexOf("f")!= -1){

				if(checkDecimals(controlAct)==0){

					alert("El campo "+propControl[0]+" no debe contener caracteres alfanumericos");

					controlAct.focus();

					controlAct.select();

					return false;

					break;

				}else{

					num=roundOff(controlAct.value, 2);

					//alert(num);

				}				

			}

			if(propControl[1].indexOf("p1")!= -1){//hay un "campo password"

				password1=controlAct.value;

			}

			if(propControl[1].indexOf("p2")!= -1){//hay un campo "repetir password"

				password2=controlAct.value;

				validar=1;

				ctrlRep=controlAct;

			}

			if(propControl[1].indexOf("chk")!= -1){//si es diferente de -1 indica que se debe hacer check				

				if(controlAct.checked==false){

					i=i+1;

					alert(ruta.elements[i].value);

					controlAct.focus();

					return false;

					break;

				}

			}

		}

	}

	if(validar==1){

		if(password1!=password2){

			alert('Vous n\�avez pas retap� correctement votre mot de passe');

			ctrlRep.focus();

			ctrlRep.select();

			return false;

		}

	}

	if(debecontar==1){

		if(contar==vacios){

			alert('Les champs "'+nombreKontrol+'" ne peuvent �tre vides ');

			kontrol.focus();

			return false;

		}

	}

}



function roundOff(value, precision){

value = "" + value //convert value to string

precision = parseInt(precision);

var whole = "" + Math.round(value * Math.pow(10, precision));

var decPoint = whole.length - precision;



	if(decPoint != 0){

		result = whole.substring(0, decPoint);

		result += ".";

		result += whole.substring(decPoint, whole.length);

	}else{

		result = whole;

	}

	return result;

}





function checkDecimals(fieldName) {

decallowed = 2;  // cuantos decimales se desea

fieldValue=fieldName.value;

	if(fieldValue.length>=1){

		if (isNaN(fieldValue) || fieldValue == "") {

			/*alert("OJO! No has introducido un numero. Vuelve a intentarlo");

			fieldName.select();

			fieldName.focus();*/

			return 0;

		}

		else {

			if (fieldValue.indexOf('.') == -1) 

				fieldValue += ".";

			dectext = fieldValue.substring(fieldValue.indexOf('.')+1, fieldValue.length);

	

			if (dectext.length > decallowed){

				/*alert ("OJO!! Introduce un numero con " + decallowed + " decimales.  Intentalo de nuevo.");

				fieldName.select();

				fieldName.focus();*/

				return 0;

	      	}else {

			//alert ("OK!! Numero correcto.");

			return 1;

	      	}

		}

	}else{

		return 1;

	}

}





function emailCheck (emailStr) {

	if(emailStr.length>=1){

		var emailPat=/^(.+)@(.+)$/

		var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"

		var validChars="\[^\\s" + specialChars + "\]"

		var quotedUser="(\"[^\"]*\")"

		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/

		var atom=validChars + '+'

		var word="(" + atom + "|" + quotedUser + ")"

		var userPat=new RegExp("^" + word + "(\\." + word + ")*$")

		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")

		

		var matchArray=emailStr.match(emailPat)

		if (matchArray==null) {

			return 0;

		}

		var user=matchArray[1]

		var domain=matchArray[2]

		

		if (user.match(userPat)==null) {

			return 0;

		}

	

		var IPArray=domain.match(ipDomainPat)

		if (IPArray!=null) {

			for (var i=1;i<=4;i++) {

				if(IPArray[i]>255){

					return 0;

				}

			}

			return 1;

		}

	

		var domainArray=domain.match(domainPat)

		if (domainArray==null) {

			return 0;

		}

		var atomPat=new RegExp(atom,"g")

		var domArr=domain.match(atomPat)

		var len=domArr.length

		if (domArr[domArr.length-1].length<2 || 

			domArr[domArr.length-1].length>3) {

		   return 0;

		}

	

		if (len<2) {

		   return 0;

		}

		

	}else{

		return 1;

	}



}



function limit_text(obj,elEvento, maxi){   

  var elem = obj;   

  

  var evento = elEvento || window.event;   

  var cod = evento.charCode || evento.keyCode;   

  

    // 37 izquierda   

    // 38 arriba   

    // 39 derecha   

    // 40 abajo   

    // 8  backspace   

    // 46 suprimir   

  

  if(cod == 37 || cod == 38 || cod == 39   

  || cod == 40 || cod == 8 || cod == 46){   

    return true;   

  }

  

  if(elem.value.length < maxi ){   

    return true;   

  }     

  return false;   

}   



function count_print_obj(obj,evento,maxi,div){   

    var elem = obj.value;   

    var info = g(div);

    info.innerHTML = maxi-elem.length;   

}

function g(id) {

	return document.getElementById(id);

}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
