ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false

if (ns4) {
    layerRef="document.layers";
    styleRef="";
    imageRef="document.layers[\"menu\"].document.images";
} 
if (ie4) {
    layerRef="document.all";
    styleRef=".style";
    imageRef="document.images";
}

function colorfondo(src,codcolor) {
  if (!src.contains(event.fromElement)) {
    src.style.backgroundColor=codcolor;
  }
}

function colorfondoform(src,sTipo) {
	var sCodColorDentro='#F5DEB3';
	var sCodColorFuera='#FFFFFF';
  	if (!src.contains(event.fromElement)) {
  		if (sTipo=='dentro') {
  			src.style.backgroundColor=sCodColorDentro;	
  		}
  		else {
  			src.style.backgroundColor=sCodColorFuera;	
  		}
  	}
}

function aventana(imag,an,al,tit) {
	msg=open("","DisplayWindow","toolbar=no,directories=no,menubar=no,width="+an+",height="+al+"");
	msg.document.write("<html><head><title>"+tit+"</title></head><body style='margin-left:0; margin-top:0'>");
   	msg.document.write("<img src="+imag+" width="+an+" height="+al+"></body></html>");
}

function abrirventana(nombre,scrollbars,resizable,ancho,alto) {
	msg=open(nombre,"vent","toolbar=no,directories=no,menubar=no,scrollbars=" + scrollbars + ",resizable=" + resizable +",width=" + ancho + ",height=" + alto + "");
}

function abreVentana(sFichero,nombreVentana,scrollbars,resizable,ancho,alto) {
	msg=open(sFichero,nombreVentana,"toolbar=no,directories=no,menubar=no,scrollbars=" + scrollbars + ",resizable=" + resizable +",width=" + ancho + ",height=" + alto + "");
}

function refrescarpagant(link) {
	window.opener.location.href=link;
	window.parent.close();
}

function refrescarp(link) {
	//window.name.location.href=link;
	//alert("hola");
	//alert(window.name);
	//self.location.href=link;
	
}

function irALink(link) {
	var sLink="nuevoservicio.php";
	//alert(link);
	//window.location.href=sLink;
	window.location.href=sLink;
	//self.location.href = "http://www.yahoo.com";

	//window.location.href="nuevoservicio.php";
}

function irAPaginaAnterior(sLink) {
	window.opener.location.href=sLink;
}
function cerrarventana(link) {
	window.parent.close();
}

function cerrarventanaactual() {
	window.close();
}

function arreglacomillas(texto) {
	var sCadenaDevuelta;
	var sCad=texto;
	sCadenaDevuelta=sCad.replace("''","'");
	return(sCadenaDevuelta);
}

function seleccionarcliente(usuario, idsucursal,idusuario, cif,nombre,apellidos,domicilio, poblacion, provincia, codigopostal, domicilioSucursal,poblacionSucursal,provinciaSucursal,codigopostalSucursal,telFijoEmpresa1,telFijoEmpresa2,telMovilEmpresa1,telMovilEmpresa2,telFijoParticular1,telFijoParticular2,telMovilParticular1,telMovilParticular2,faxEmpresa,contratoMantenimiento,nombreSucursal,nombreContacto, apellidosContacto) {
	//alert(cif);
	var sUsuario=usuario;
	var iIdUsuario=idusuario;
	var iIdSucursal=idsucursal;
	var sCif=cif;
	var sNombre=nombre;
	var sApellidos=apellidos;
	var sDomicilio=domicilio;
	var sPoblacion=poblacion;
	var sProvincia=provincia;
	var iCodigoPostal=codigopostal;
	var sDomicilioSucursal=domicilioSucursal;
	var sPoblacionSucursal=poblacionSucursal;
	var sProvinciaSucursal=provinciaSucursal;
	var iCodigoPostalSucursal=codigopostalSucursal;
	var stelFijoEmpresa1=telFijoEmpresa1;
	var stelFijoEmpresa2=telFijoEmpresa2;
	var stelMovilEmpresa1=telMovilEmpresa1;
	var stelMovilEmpresa2=telMovilEmpresa2;
	var stelFijoParticular1=telFijoParticular1;
	var stelFijoParticular2=telFijoParticular2;
	var stelMovilParticular1=telMovilParticular1;
	var stelMovilParticular2=telMovilParticular2;
	var sfaxEmpresa=faxEmpresa;
	var sNombreSucursal=nombreSucursal;
	var sNombreContacto=nombreContacto;
	var sApelidosContacto=apellidosContacto;
	
	window.opener.servicio.forminputbusquedacliente.value="";
	window.opener.servicio.formusuario.value=sUsuario;
	window.opener.servicio.formocidsucursal.value=iIdSucursal;
	window.opener.servicio.formocidusuario.value=iIdUsuario;
	window.opener.servicio.formOcNombre.value=sNombre;
	window.opener.servicio.formOcApellidos.value=sApellidos;
	window.opener.servicio.formnombre.value=sNombre + " " + sApellidos;
	window.opener.servicio.formcif.value=sCif;
	window.opener.servicio.formsucursal.value=sNombreSucursal;
	window.opener.servicio.formdomicilio.value=sDomicilio;
	window.opener.servicio.formpoblacion.value=sPoblacion;
	window.opener.servicio.formprovincia.value=sProvincia;
	window.opener.servicio.formcp.value=iCodigoPostal;
	window.opener.servicio.formdomiciliosucursal.value=sDomicilioSucursal;
	window.opener.servicio.formpoblacionsucursal.value=sPoblacionSucursal;
	window.opener.servicio.formprovinciasucursal.value=sProvinciaSucursal;
	window.opener.servicio.formcpsucursal.value=iCodigoPostalSucursal;
	
	window.opener.servicio.formTelFijoEmpresa1.value=stelFijoEmpresa1;
	window.opener.servicio.formTelFijoEmpresa2.value=stelFijoEmpresa2;
	window.opener.servicio.formTelMovilEmpresa1.value=stelMovilEmpresa1;
	
	window.opener.servicio.formTelMovilEmpresa2.value=stelMovilEmpresa2;
	
	window.opener.servicio.formTelFijoParticular1.value=stelFijoParticular1;
	window.opener.servicio.formTelFijoParticular2.value=stelFijoParticular2;
	window.opener.servicio.formTelMovilParticular1.value=stelMovilParticular1;
	window.opener.servicio.formTelMovilParticular2.value=stelMovilParticular2;
	window.opener.servicio.formfaxempresa.value=sfaxEmpresa;
	//window.opener.servicio.formocidequipo.value=0;
	//window.opener.servicio.formubicacion.value=0;
	//window.opener.servicio.formnumerocontrol.value=0;
	
	//si antes de seleccionar el cliente ya se había seleccionado antes borramos los datos de los equipos
	//window.opener.servicio.formocidequipo.value="";
	//window.opener.servicio.formubicacion.value="";
	//window.opener.servicio.formnumerocontrol.value="";
	
	window.opener.servicio.formNombreApellidosContacto.value=sNombreContacto + " " + sApelidosContacto;

	if (contratoMantenimiento==1) {
		window.opener.servicio.formoccontratomantenimiento.value=1;
	//	window.opener.servicio.formchksn.checked=0;
	//	window.opener.servicio.formchksn.disabled=1;
	//	//window.opener.dividcontratomantenimiento.innerHTML="<b>SÍ</b>";
	}
	//else  {
	//	window.opener.servicio.formoccontratomantenimiento.value=0;
	//	window.opener.servicio.formchksn.checked=0;
	//	window.opener.servicio.formchksn.disabled=0;
		//window.opener.dividcontratomantenimiento.innerHTML="<b>NO</b>";
	//}
	//window.opener.servicio.formubicacion.focus();
	
	//limpiar la parte de equipos por si previamente no estaba vacio
	window.opener.seleccionequipos.innerHTML="";
	window.opener.servicio.formequipoyaseleccionado.value=0;
	window.opener.servicio.formocnseharellenadobienapartadoequipos.value=0; // valor 1 quiere decir que ya hemos rellenado bien el apartado de equipos. si es 0 es que no se ha seleccionado ningun equipo o bien no se ha rellenado el campo formubicacion
	//window.opener.servicio.formubicacion.value=""; //eliminar el formulario de ubicacion
	
	
	//window.opener.servicio.formubicacion.readOnly="readOnly"; //y ademas inhabilitamos formubicacion
	//window.opener.servicio.formubicacion.className="formulariosololectura";
	//window.opener.divubicacion.innerHTML="<input onfocus=colorfondo(this,\'#F5DEB3\') onblur=colorfondo(this,\'#FFFFFF\') class=formulario type=text name=\"formubicacion\" maxlength=\"100\" size=80>";
	
	
	window.parent.close();
	
}

function testseleccionaEquipoClienteAnterior(idEquipo, ubicacion, codigoControl) {
	window.opener.servicio.formocidequipo.value=idEquipo;
	//window.opener.servicio.formubicacion.value=ubicacion;
	window.opener.servicio.formnumerocontrol.value=codigoControl;
	window.parent.close();
}

function seleccionaEquipoCliente(idEquipo, ubicacion, codigoControl,sBloque) {
	//selecciona los equipos del cliente y mete los datos automaticamente en la pantalla de nuevo servicio
	// iNumResultados es el nº de equipos encontrados. si es 1 hay que pasar los datos directamente a la pantalla padre y cerrar la ventana
	var iIdEquipo=idEquipo;
	var sUbicacion=ubicacion;
	var sCodigoControl=codigoControl;
	var sDiv;
	var sTipoServicioEquipoReemp;
	var sCadSust;
	var sTest;
	
	
	iNumResultados=numeroequipos.formocnumequiposexistentes.value;
	
	if (iNumResultados!=1) {
		var sIdE=String(idEquipo);
		sImg="sp"+sIdE;
		eval(sImg).innerHTML="<img src=\"imag/flechadn.gif\" border=0 width=9 height=9 align=\"top\">";
	}
	
	sDiv="<table style=\"background-color: #004CC0\" border=0 width=100%><tr><td valign=top>";
	
	sDiv+="<table border=0 width=100%><tr><td width=460 valign=top><input class=formulario type=hidden name='formocequipo"+idEquipo+"' value="+idEquipo+">Ubic.&nbsp;<input class=formulariosololectura type=text name='formequipoubicacion"+idEquipo+"' maxlength=100 size=80 value='"+sUbicacion+"' readonly></td><td>C.C.&nbsp;<input class=formulariosololectura type=text name='formequipocodigocontrol"+idEquipo+"' maxlength=15 size=21 value='"+sCodigoControl+"' readonly></td></tr></table><table border=0 width=100%><tr><td align=left valign=top>Informe cliente</td><td align=right><textarea onfocus=\"colorfondo(this,'#F5DEB3');servicio.formocdentrotextarea.value=1\" onblur=\"colorfondo(this,'#FFFFFF');servicio.formocdentrotextarea.value=0\" class=formulario name=\"forminformecliente"+idEquipo+"\" rows=6 cols=92></textarea></td></tr></table>";
	
	//meto los tipos de servicio para cada equipo
	//primero sustituir las cadenas 'formchkTipoServicio' por 'formchkIdEquipo"+idEquipo+"TipoServicio' en el argumento sBloque
	sCadSust="formchkIdEquipo"+idEquipo+"TipoServicio";
	sBloque=sBloque.replace(/formchkTipoServicio/g,sCadSust); //sustituir expr regular de manera global
	
	//sustituir las cadenas 'formchkTipoControlInforme' por 'formchkIdEquipo"+idEquipo+"TipoControlInforme' en el argumento sBloque
	sCadSust="formchkIdEquipo"+idEquipo+"TipoControlInforme";
	sBloque=sBloque.replace(/formchkTipoControlInforme/g,sCadSust); //sustituir expr regular de manera global
	
	if (window.opener.servicio.formoccontratomantenimiento.value==1) { //si el cliente tiene contrato de mantenimiento chequear el checkbox de contrato de mantenimiento
		//alert("hola");
		sBloque=sBloque.replace(/TipoServicio1\"/g,"TipoServicio1\" checked "); //sustituir expr regular de manera global	
	}
	
	sDiv+=sBloque;
	
	sDiv+="</td></tr></table><a href=\"#arriba\" title=\"Posicionarse en la parte de arriba de la pantalla\"><img src=\"imag/flechaArriba4.gif\" border=0 width=15 height=16 align=\"right\"></a><br>";
	//alert(sDiv);
	
	
	
	window.opener.seleccionequipos.innerHTML+=sDiv;
	window.opener.servicio.formequipoyaseleccionado.value=1;
	window.opener.servicio.formocnseharellenadobienapartadoequipos.value=1; // valor 1 quiere decir que ya hemos rellenado bien el apartado de equipos. si es 0 es que no se ha seleccionado ningun equipo o bien no se ha rellenado el campo formubicacion
	//window.opener.servicio.formubicacion.value=""; //si previamente se ha escrito en el input de formubicacion se elimina, ya que estamos metiendo equipos
	
	//window.opener.servicio.formubicacion.readOnly="readOnly"; //y ademas inhabilitamos formubicacion
	//window.opener.servicio.formubicacion.className="formulariosololectura";
	//window.opener.divubicacion.innerHTML="<input class=formulariosololectura type=text name=\"formubicacion\" size=80 readonly>";
	
	//window.opener.divbloquesinseleccionarequipos.style.display="none";
	
	if (iNumResultados==1) {
		window.parent.close();
	}
}

function testFuncionseleccionamaterialALlevar(iNumResultados,idmaterial,codigo,descripcion,pvp) {
	// esta funcion se llamaba orignalmente como la de abajo (seleccionamaterialALlevar) y era llamada desde la pantalla antigua de seleccion de materiales (seleccionmaterialesat.php)
	// si iNumResultados es 1 significa que ha sido una busqueda directa (se ha obtenido 1 resultado), por tanto no hay que tratar
	// la linea (1)
	var iIdMaterial=idmaterial;
	var sCodigo=codigo;
	var sDescripcion=descripcion;
	var sDiv;
	if (iNumResultados!=1) {
		var sIdM=String(idmaterial);
		sImg="sp"+sIdM;
		eval(sImg).innerHTML="<img src=\"imag/flechadn.gif\" border=0 width=9 height=9 align=\"top\">";
	}
	
	sDiv="<table border=0 cellpading=0 cellspacing=0 width=100%><tr><td width=90px valign=top><input class=formulario type=hidden name='formocmaterial"+idmaterial+"'   value="+idmaterial+"><input class=formulariosololectura type=text name='formmatcodigo"+idmaterial+"' maxlength=50 size=14 value='"+codigo+"' readonly></td><td><input class=formulariosololectura type=text name='formmatdescripcion"+idmaterial+"' maxlength=50 size=90 value='"+descripcion+"' readonly></td><td  width=40px><input onfocus=colorfondo(this,'#F5DEB3') onblur=colorfondo(this,'#FFFFFF') class=formularioAlignD type=text name='formmatcantidad"+idmaterial+"' maxlength=50 size=4 value=1><input type=hidden name='formmatpvp"+idmaterial+"' value=" + pvp + "></td></tr></table>";
	
	window.opener.seleccionmateriales.innerHTML+=sDiv;
	window.opener.servicio.formmatyaseleccionado.value=1;
	if (iNumResultados==1) {
		window.parent.close();
	}
	
}

function seleccionamaterialALlevar(idmaterial,codigo,descripcion,pvp) {
   var iIdMaterial=idmaterial;
	var sCodigo=codigo;
	var sDescripcion=descripcion;
	var sDiv;
	sDiv="<table border=0 cellpading=0 cellspacing=0 width=100%><tr><td width=90px valign=top><input class=formulario type=hidden name='formocmaterial"+idmaterial+"'   value="+idmaterial+"><input class=formulariosololectura type=text name='formmatcodigo"+idmaterial+"' maxlength=50 size=14 value='"+codigo+"' readonly></td><td><input class=formulariosololectura type=text name='formmatdescripcion"+idmaterial+"' maxlength=50 size=90 value='"+descripcion+"' readonly></td><td  width=40px><input onfocus=colorfondo(this,'#F5DEB3') onblur=colorfondo(this,'#FFFFFF') class=formularioAlignD type=text name='formmatcantidad"+idmaterial+"' maxlength=50 size=4 value=1><input type=hidden name='formmatpvp"+idmaterial+"' value=" + pvp + "></td></tr></table>";
	
	window.opener.seleccionmateriales.innerHTML+=sDiv;
	window.opener.servicio.formmatyaseleccionado.value=1;
}

function seleccionamaterialAInstalar(idmaterial,codigo,descripcion,pvp) {
	var iIdMaterial=idmaterial;
	var sCodigo=codigo;
	var sDescripcion=descripcion;
	var sDiv;
	
	valorCambiadoVentEmergente('Lista de materiales');
	//	window.opener.seleccionmaterialesAInstalar.innerHTML="";
	sDiv="<table cellpadding=0 cellspacing=0 border=0 width=100%><tr><td width=90><input class=formulario type=hidden name='formocmaterial"+idmaterial+"'   value="+idmaterial+"><input class=formulariosololectura type=text name='formmatcodigo"+idmaterial+"' maxlength=50 size=14 value='"+codigo+"' readonly></td><td><input class=formulariosololectura type=text name='formmatdescripcion"+idmaterial+"' size=70 value='"+descripcion+"' readonly></td><td width=40 align=right><input onfocus=colorfondo(this,'#F5DEB3') class=formularioAlignD type=text name='formmatcantidad"+idmaterial+"' maxlength=50 size=4 value=1 onblur=\"colorfondo(this,'#FFFFFF');chequeaCampo('capaErrorMateriales',this,this.value,'numerico')\" onchange=valorCambiado('Cantidad')></td><td width=55 align=RIGHT><input class='formulariosololecturaAlignD' type=text name='formmatpvpunitario"+idmaterial+"' value=" + pvp + " size=7></td><td width=60 align=right><span id='capaTotalPVP1Material"+idmaterial+"'>" + formatoNumero(pvp,2) + "</span></td></tr></table>";
	
	//alert(sDiv);
	window.opener.seleccionmaterialesAInstalar.innerHTML+=sDiv;
	//window.opener.servicio.formmatyaseleccionado.value=1;
	
	//	window.parent.close();
	
	
}

function seleccionamaterial(idmaterial,codigo,descripcion,pvp) { //no usado
	
	var iIdMaterial=idmaterial;
	var sCodigo=codigo;
	var sDescripcion=descripcion;
	var sDiv;
			//intercambio imag
			//var sIdM=String(idmaterial);
			//sImg="img"+sIdM;
			//eval(sImg).src=imgSelec.src;
			//
			
	
		var sIdM=String(idmaterial);
		sImg="sp"+sIdM;
		eval(sImg).innerHTML="<img src=\"imag/flechadn.gif\" border=0 width=9 height=9 align=\"top\">"; //(1)
	
	
	sDiv="<table border=0 width=100%><tr><td width=80px valign=top><input onfocus=colorfondo(this,'#F5DEB3') onblur=colorfondo(this,'#FFFFFF') class=formulario type=text name='formmatcodigo"+idmaterial+"' maxlength=50 size=11 readonly value='"+codigo+"'></td><td><input onfocus=colorfondo(this,'#F5DEB3') onblur=colorfondo(this,'#FFFFFF') class=formulario type=text name='formmatdescripcion"+idmaterial+"' maxlength=50 size=70 value='"+descripcion+"'></td><td  width=40px><input onfocus=colorfondo(this,'#F5DEB3') onblur=colorfondo(this,'#FFFFFF') class=formulario type=text name='formmatcantidad"+idmaterial+"' maxlength=50 size=4 value=1></td><td  width=60px><input onfocus=colorfondo(this,'#F5DEB3') onblur=colorfondo(this,'#FFFFFF') class=formulario type=text name='formmatpvp"+idmaterial+"' maxlength=50  size=8 value='"+pvp+"'></td><td width=75px><input onfocus=colorfondo(this,'#F5DEB3') onblur=colorfondo(this,'#FFFFFF') class=formulario type=text name='formmatpvptotal"+idmaterial+"' maxlength=50 size=11 readonly></td></tr></table>";
	
	window.opener.seleccionmateriales.innerHTML+=sDiv;
	
}

function deseleccionar() {
	//alert(document.servicio.formchkprogramas.checked);
	
	
	if (document.servicio.formchknadaquesalvar.checked==1) {
		document.servicio.formchkdatos.checked=0;
		document.servicio.formchkcorreo.checked=0;
		document.servicio.formchkprogramas.checked=0;
		document.servicio.formchkdatos.disabled=1;
		document.servicio.formchkcorreo.disabled=1;
		document.servicio.formchkprogramas.disabled=1;
	}
	else {
		document.servicio.formchkdatos.disabled=0;
		document.servicio.formchkcorreo.disabled=0;
		document.servicio.formchkprogramas.disabled=0;
		
	}
}

function coordenadas () {
	capacalendario.style.position="absolute";
	capacalendario.style.left=event.x+document.body.scrollLeft+10;
	capacalendario.style.top=event.y+document.body.scrollTop-50;
	capacalendario.innerHTML="hola";
	return true;
}

function busquedaRapidaCliente(nombreInputFormulario, valorInputFormulario) {
	document.servicio.formusuario.readOnly="readOnly";
	
	abrirventana('testseleccionclientesat.php?busquedaRapida=si&busqueda=si&nombreinputformulario=' + nombreInputFormulario + '&cadenaabuscar=' + valorInputFormulario + '','yes','no',700,500);	
}

function testre() {
	document.servicio.formusuario.readOnly="readOnly";
}

function buscarClienteSAT() { //nombreInputFormulario y valorInputFormulario solo tendra sentido si busquedaRapida es 'si'. la busqueda es para la seleccion de clientes en sat
	
	var selObj = document.getElementById('formselectbusquedacliente');
	var selIndex = selObj.selectedIndex;
	
	var sCampoBusqueda=selObj.options[selIndex].value;
	var sCadenaABuscar=document.servicio.forminputbusquedacliente.value;
	if (sCadenaABuscar!="") {
		abrirventana('seleccionclientesat.php?busqueda=si&campobusqueda=' + sCampoBusqueda + '&cadenaabuscar=' + sCadenaABuscar + '','yes','no',750,500);
	}
	else 	{
		alert("Por favor, rellene la expresión a buscar");
	}

	//forma2
	//alert(document.servicio.formselectbusquedacliente.options[document.servicio.formselectbusquedacliente.selectedIndex].value); 
}

function buscarCliente () { 
	var selObj = document.getElementById('formselectbusquedacliente');
	var selIndex = selObj.selectedIndex;
	
	var sCampoBusqueda=selObj.options[selIndex].value;
	var sCadenaABuscar=document.servicio.forminputbusquedacliente.value;
	if (sCadenaABuscar!="") {
		//comprobarYEnviar();		
	}
	else 	{
		alert("Por favor, rellene la expresión a buscar");
	}
	
}

function buscarMaterial() { //nombreInputFormulario y valorInputFormulario solo tendra sentido si busquedaRapida es 'si'
	
	var selObj = document.getElementById('formselectbusquedamateriales');
	var selIndex = selObj.selectedIndex;
	
	var sCampoBusqueda=selObj.options[selIndex].value;
	var sCadenaABuscar=document.servicio.forminputbusquedamaterial.value;
	if (sCadenaABuscar!="") {
		abrirventana('seleccionmaterialesat.php?busqueda=si&campobusqueda=' + sCampoBusqueda + '&cadenaabuscar=' + sCadenaABuscar + '','yes','no',750,500);
	}
	else 	{
		alert("Por favor, rellene la expresión a buscar");
	}
}

function anchuraResolucionPantalla() {
	var iAnchura=screen.width;
	return(iAnchura);
}

function alturaResolucionPantalla() {
	var iAltura=screen.height;
	return(iAltura);
}

function numeroColoresPantalla() {
	iNumColores=Math.pow(2,screen.colorDepth);
	return(iNumColores);	
}

function crearServicio(idSucursal) { //acceso rapido para crear un servicio
			//en la pantalla desde que se llama a esta funcion debe tener :
			//<form name=accesorapidonuevoservicio method=post autocomplete="off" action=nuevoservicio.php>
			//	<fieldset class="formulario">
			//			<input type=hidden name="formocaccesorapidodesdeotrapantalla">
			//	</fieldset>
			//</form>
			//y la llamada seria por ejemplo: 
			// <a href="javascript:crearServicio(2394)" onclick="return true" title="Crear un servicio con esta sucursal"><img src="imag/2.gif" border=0 width=16 height=16 align="middle"></a>
			
		document.accesorapidonuevoservicio.formocaccesorapidodesdeotrapantalla.value=idSucursal;
		document.accesorapidonuevoservicio.submit();
		//alert(document.accesorapidonuevoservicio.formocaccesorapidodesdeotrapantalla.value);
		
	}

function toggle(capa,oimgImag) {
	if (capa.style.display == "none") {
		capa.style.display = "";
		oimgImag.src=oimgExpandido.src;
	}
	else {
		capa.style.display = "none";
		oimgImag.src=oimgNormal.src;
	}
}

function ExpandirCapas(sTag) {
	var aoTags= document.getElementsByTagName(sTag);
	var iNumTags=aoTags.length;
	
	if (bEstadoExpandido==true) {
		bEstadoExpandido=false;
		sModo="none";
		oimag=oimgNormal;
	}
	else {
		bEstadoExpandido=true;
		sModo="";
		oimag=oimgExpandido;
		
	}
	for (var i = 0; i < iNumTags; i++) {
 		//alert(aoTags[i].id);
 		//if (aoTags[i].id!='divMostrarDetalles') { //cambio todas las capas menos la que tenga ese id
 		if ((aoTags[i].id).lastIndexOf('id')==0) { //cambio todas las capas que contengan en id la palabra 'id'
 			aoTags[i].style.display =sModo;	
 		}
 		
	}
	
	
	//cambiar las imagenes si los hay
	aoTags= document.getElementsByTagName("img");
	var iNumTags=aoTags.length;
	for (var i = 0; i < iNumTags; i++) {
 		
 		//camnbiamos solo las imagenes de la pantalla que hagan falta
 		if ((aoTags[i].name).lastIndexOf('imag')==0) { //busca las imagenes que tengan el atributo name no vacio y que contenga la palabra imag
 			aoTags[i].src=oimag.src;
 		}
	}
	
}

function cambiarTextoCapa(sCapa) {
	if (bEstadoExpandido==true) {
		sTexto="Ocultar todos los detalles";
		
	}
	else {
		sTexto="Mostrar todos los detalles";
	}
	eval(sCapa).innerHTML="<a href=\"javascript:;\" onclick=\"ExpandirCapas('DIV');cambiarTextoCapa('divMostrarDetalles')\"><img src=\"imag/detalles4.gif\" width=16 height=13 border=0>" + sTexto + "</a>";
	//alert(sCapa);
	
	//alert(bEstadoExpandido);
		
}

function copyPasteRango() {
	var oTextoSeleccionado = document.selection;
	if (oTextoSeleccionado.type == 'Text') {
		var newRange = oTextoSeleccionado.createRange();
		//document.activeElement.value = newRange.text;
		alert(document.activeElement.name);
	} else {
		alert('');
	}
}

function copyPasteRango2(campoFormulario) {
	var oTextoSeleccionado = document.selection;
	if (oTextoSeleccionado.type == 'Text') {
		var newRange = oTextoSeleccionado.createRange();
		campoFormulario.focus();
		campoFormulario.value = newRange.text;
	} else {
		alert('');
	}
}

function cambiaPestanna(capaPestannaOrigen,capaPestannaDestino,capaBloqueOrigen,capaBloqueDestino) {
	 //selecciona la pestanna que se desee y muestra su contenido
	
	 //capaPestannaOrigen: capa pestanna origen
	 //capaPestannaDestino: capa pestanna destino
	 //capaBloqueOrigen: capa bloque origen donde se encuentra el contenido actual
	 //capaBloqueDestino: capa bloque destino donde se encuentra el contenido que se desea mostrar
	var oCapaPestannaOrigen=document.getElementById(capaPestannaOrigen);
	var oCapaPestannaDestino=document.getElementById(capaPestannaDestino);
	var oCapaBloqueOrigen=document.getElementById(capaBloqueOrigen);
	var oCapaBloqueDestino=document.getElementById(capaBloqueDestino);

	oCapaPestannaOrigen.style.display = "none";
	oCapaPestannaDestino.style.display = "";
	oCapaBloqueOrigen.style.display = "none";
	oCapaBloqueDestino.style.display = "";
}

function valorCambiado(sCadena) { //para las llamadas dentro de misservicios.php
	var sContenidoCapa=capaServicioModificado.innerHTML;
	if (sContenidoCapa.indexOf(sCadena)==-1) { // si no existe ya ese aviso porque ya se modificó un campo en su momento añadimos el aviso
		capaServicioModificado.innerHTML+="<br>- " + sCadena;
	}
	capaServicioModificado.style.display="";
}

function valorCambiadoVentEmergente(sCadena) { //para las llamadas dentro de la ventana emergente, por ejemplo, de seleccion de materiales a instalar
	var sContenidoCapa=window.opener.capaServicioModificado.innerHTML;
	if (sContenidoCapa.indexOf(sCadena)==-1) { // si no existe ya ese aviso porque ya se modificó un campo en su momento añadimos el aviso
		window.opener.capaServicioModificado.innerHTML+="<br>- " + sCadena;
	}
	window.opener.capaServicioModificado.style.display="";
}

function mostrarCapaMensaje(oCapa, sMensaje) {
	if (sMensaje!="") {
		eval(oCapa).innerHTML="<table class='claseFondoTituloCeldas2' width=100% border=0 cellpadding=0, cellspacing=0><tr><td width=5></td><td valign=top height=30>" + sMensaje + "</td></tr></table>";	
	}
	else {
		eval(oCapa).innerHTML="";	
	}
}

function chequeaCampo(sNombreCapa, campoFormulario, valorCampo, sTipoChequeo) {
	var bError=false;
	eval(sNombreCapa).innerHTML="";
	switch (sTipoChequeo) {
		case "numerico":
			var iValorCampo=valorCampo;
			if (isNaN(iValorCampo)!=true) {
				if (iValorCampo<0) {
					bError=true;
					//eval(sNombreCapa).innerHTML="valor no v&aacute;lido: menor que 0";
					ponerFoco(campoFormulario);
					alert("Valor no válido: el valor introducido es menor que 0");
				}
				
			}
			else {
				bError=true;
				//eval(sNombreCapa).innerHTML="Valor no numérico. Separe los decimales con '.'";
				ponerFoco(campoFormulario);
				alert("Valor no válido: separe los decimales con \'.\'");
			}
			//alert(bError);
			if (bError==false) {
				Recalcular();
			}
			break;
	} 
	
	
}

function testSelMat(sContenido) {
	divDescMat.innerHTML=sContenido;
}

function insertarTextoEnCapa(sNombreCapa, sContenido) {
	eval(sNombreCapa).innerHTML=sContenido;
}

function formatoNumero(num, numDec, decSep, thousandSep){ 
    var arg; 
    var Dec; 
    Dec = Math.pow(10, numDec); 
    if (typeof(num) == 'undefined') return; 
    if (typeof(decSep) == 'undefined') decSep = '.'; 
    if (typeof(thousandSep) == 'undefined') thousandSep = ''; 
    if (thousandSep == '.') 
     arg=/./g; 
    else 
     if (thousandSep == ',') arg=/,/g; 
    if (typeof(arg) != 'undefined') num = num.toString().replace(arg,''); 
    num = num.toString().replace(/,/g, '.'); 
    if (isNaN(num)) num = "0"; 
    sign = (num == (num = Math.abs(num))); 
    num = Math.floor(num * Dec + 0.50000000001); 
    cents = num % Dec; 
    num = Math.floor(num/Dec).toString(); 
    if (cents < (Dec / 10)) cents = "0" + cents; 
    for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++) 
     num = num.substring(0, num.length - (4 * i + 3)) + thousandSep + num.substring(num.length - (4 * i + 3)); 
    if (Dec == 1) 
     return (((sign)? '': '-') + num); 
    else 
     return (((sign)? '': '-') + num + decSep + cents); 
} 

function ponerFoco(oInput) { //intenta poner el foco en el objeto de la pantalla seleccionado
	try {
		eval(oInput).focus();
	}
	catch(e) {
	}
	finally {
	} 
}
