// common javascript functions

function checkDelete(formName){
  eval("var formObj=document."+formName+";");
  var formElements=formObj.elements;
  var toDelete=0;
  for(lilo=0;lilo<formElements.length;lilo++)
    if(formElements[lilo].name=='borrar[]' && formElements[lilo].checked) toDelete ++;
  var confirmMsg="You are about to delete "+toDelete+" items\n"+
    "Do you wish to continue?";
  if(toDelete>0)
    if(confirm(confirmMsg)) formObj.submit();
}
function sendOpModified(formName,paramName,paramValue){// to change the form's parameter 'name' 
  eval("formObj=document."+formName+";");
  formElements=formObj.elements;
  for(lilo=0;lilo<formElements.length;lilo++)
    if(formElements[lilo].name==paramName) formElements[lilo].value=paramValue;
  formObj.submit();
}// del sendOpModified

function newItem(formName,formAction){
  eval("var formObj=document."+formName+";");
  formObj.action=formAction+"?op=new";
  formObj.submit();
}// addIitem

function editItem(formName,formAction,idItem){// to edit an item. it changes 'action' of formaction
  eval("formObj=document."+formName+";");
  formObj.action=formAction+"?id="+idItem+'&op=edit';
  formObj.submit();
}// from editItem

var uploadField='';
var uploadTable='';
var idTargetField='';

function setUploadFields(uTable,uField,idTarget,URL,w,h,scroll){
  uploadField=uField;
  uploadTable=uTable;
  idTargetField=idTarget;
  popup(URL,w,h,scroll);
}

function cleanUploadFields(idTarget){
  textObj=getElemento(idTarget);
  showObj=getElemento(idTarget+'_show');
  textObj.value='';
  showObj.style.backgroundImage='';
  showObj.style.height='0px';
  showObj.style.width='0px';
}// function setUploadFields

function popup(URL,w,h,scroll) {
	if(scroll==true) scrollbars='yes';
	if(scroll==false) scrollbars='no';
	popupWindow=window.open(URL,'ventana','height='+h+',width='+w+',scrollbars='+scrollbars);
} // del function popup


function addItem(containerId,selObj,formName,fieldName){
  var selectedValue=selObj.options[selObj.selectedIndex].value;
  var selectedTxt=selObj.options[selObj.selectedIndex].text;
  eval("var formObj=document."+formName+";");
  var isSelected=false;
  if(selectedValue=='') return true;
  // we check the value is not already added
  containerDiv=getElemento(containerId);
  containerChilds=containerDiv.childNodes;
  for(kk=0;kk<containerChilds.length;kk++){
    if(containerChilds[kk].nodeName=='DIV'){
      var itId=containerChilds[kk].id;
      if(itId.substring(itId.lastIndexOf('_')+1)==selectedValue) return true;
    }
  } // for kk
  // we build the item to add.
  nDiv=document.createElement('DIV');
  nDiv.id=containerId+'_'+selectedValue;
  aNode=document.createElement('A');
  var hrefString="javascript:removeItem('"+containerId+"','"+selectedValue+"','"+
    formName+"')";
  var altString="Click here to remove this Item";
  aNode.setAttribute("href",hrefString);
  var trashImg=document.createElement('IMG');
  trashImg.setAttribute("src","images/trash.gif");
  trashImg.setAttribute("alt",altString);
  aNode.appendChild(trashImg);
  spanNode=document.createElement('SPAN');
  labelText=document.createTextNode(selectedTxt);
  spanNode.appendChild(labelText);
  nDiv.appendChild(spanNode);
  nDiv.appendChild(aNode);
  nInput=document.createElement('INPUT');
  nInput.type='hidden';
  nInput.name=fieldName;
  nInput.value=selectedValue;
  containerDiv.innerHTML += '<div id="'+containerId+'_'+selectedValue+'"><span>'+
    selectedTxt+'</span><a href="'+hrefString+'"><img src="images/trash.gif" '+
    'alt="Click here to remove this Item" /></a>'+
    '<input type="hidden" name="'+fieldName+'" value="'+selectedValue+'">'+'</div>';
  selObj.selectedIndex=0;
}// del function addItem

function removeItem(containerId,removeValue,formName,fieldName){
  var removeObj=getElemento(containerId+'_'+removeValue);
  eval("var formObj=document."+formName+";");
  var forEls=formObj.elements;
  for(kk=0;kk<forEls.length;kk++)
    if(forEls[kk].name==fieldName && forEls[kk].value==removeValue)
      removeObject=forEls[kk];
  //  formObj.removeChild(removeObject);
  var containerDiv=getElemento(containerId);
  containerDiv.removeChild(removeObj);
}// removeItem




function getElemento(id){
  if(document.all) return document.all(id);
  else return document.getElementById(id);
}


function checkEmail(email) { // funciton checkEmail, para comprobar el email
  badmsg='\n * El email es incorrecto';
  if(email.indexOf('@')==-1 || email.indexOf('.')==-1 || email.indexOf(' ')!=-1) return badmsg;
  dominio=email.substring(email.indexOf('@')+1);
  if(dominio.indexOf('@')!=-1 || dominio.indexOf('.')==-1 || dominio.lastIndexOf('.')==(dominio.length - 1)) return badmsg;
  return '';
} // del function checkEmail


function checkEmail2(email) { // funciton checkEmail, para comprobar el email
  if(email.indexOf('@')==-1 || email.indexOf('.')==-1 || email.indexOf(' ')!=-1) return true;
  dominio=email.substring(email.indexOf('@')+1);
  if(dominio.indexOf('@')!=-1 || dominio.indexOf('.')==-1 || dominio.lastIndexOf('.')==(dominio.length - 1)) return true;
  return false;
} // del function checkEmail






function lanzaMensaje(msg) {
  msg = msg.replace(/xxx/i, "\n");
  alert (msg);
}

var ventana;

function openIT(URL,name,prop) {
  if (ventana) {
    if (ventana.closed) {
      ventana=open(URL,name,prop+",location=no,status=no,directories=no,toolbar=no,resizable=no,menubar=no");
      ventana.focus();
    }
    else {
      ventana=open(URL,name,prop+",location=no,status=no,directories=no,toolbar=no,resizable=no,menubar=no");
      ventana.focus();
    }
  }
  else {
      ventana=open(URL,name,prop+",location=no,status=no,directories=no,toolbar=no,resizable=no,menubar=no");          
      ventana.focus();
  }
}


// Copia el valor de un desplegable a un campo de texto de un mismo formulario.
function copia(f,ori,des) {
  var sel = 0;
  eval('sel=f.'+ori+'.options.selectedIndex');
  if (sel!=0) {
	  eval('f.'+des+'.value=f.'+ori+'.options[sel].text');
	}
}


function sendOperation(op,f) {
  f.op.value = op;
  confirmOperation(f,op);
}

function sendOperation2(op,URL,f) {
  f.action = URL;
  f.op.value = op;
  confirmOperation(f,op);
}

function confirmOperation(f,op) {
  if (confirm('Se dispone a '+op+' registro/s.\n\n¿Desea continuar?')) f.submit();
}

function confirmURL(URL,op) {
  if (confirm('Se dispone a '+op+' registro/s.\n\n¿Desea continuar?')) document.location=URL;
}

function sendAndNoReturn (f) {
  f.volver.value="";
  f.submit();
}

function checkAll(f) {
  for (i=0; i < f.length; i++) {
    e = f.elements[i];
    e.checked = true;
  }
}

function escribirFecha() {
   var nombres_dias = new Array("Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado")
   var nombres_meses = new Array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre")

   var fecha_actual = new Date()

   dia_mes = fecha_actual.getDate()		
   dia_semana = fecha_actual.getDay()	
   mes = fecha_actual.getMonth() + 1
   anio = fecha_actual.getYear()

   if (anio < 100)				
      anio = '19' + anio
   else if ( ( anio > 100 ) && ( anio < 999 ) ) {
      var cadena_anio = new String(anio)
      anio = '20' + cadena_anio.substring(1,3)
   }

   document.write(nombres_dias[dia_semana] + ", " + dia_mes + " de " + nombres_meses[mes - 1] + " de " + anio + "&nbsp;&nbsp;")
}



//Elimina un parrafo, recogelos parametros del formulario
function eliminarParrafo(f,iParrafo) {
  var idParrafo;
  var imagen, imagenDetalle;
  var tablaDestino, idDestino;
  
  eval ('idParrafo = f.idParrafo'+iParrafo+'.value');
  eval ('imagen = f.parTxtImagen'+iParrafo+'.value');
  eval ('imagenDetalle = f.parTxtImagenDetalle'+iParrafo+'.value');
  eval ('tablaDestino = f.tablaDestino.value');
  eval ('idDestino = f.id.value');
  
  if (confirm('Se dispone a eliminar un párrafo.\n\n¿Desea continuar?')) {
    document.location ='parrafos_op.php?op=eliminar&idParrafo='+idParrafo+'&imagen='+imagen+'&imagenDetalle='+imagenDetalle+'&tablaDestino='+tablaDestino+'&idDestino='+idDestino;
  }
}

function reloadAction (newAction, f) {
  f.action=newAction;
  f.submit();
}

function enviar(f) {
  errors = false;
  msg = 'Se han encontrado los siguientes\nerrores en el formulario:\n\n';
  for (i=0; i < f.length; i++) {
    e = f.elements[i];
    
    if ((e.type=="select-one") || (e.type=="select-multiple")) {
      if ((e.value=="-1" || e.value=="") && (e.optional=="false")) {
        msg += '-- '+e.label+' es un campo obligatorio.\n';
        errors = true;
        continue;
      }
    }
    
    if ((e.type=="text") || (e.type == "textarea")) {
      if (((e.value == null) ||(e.value == "") || esVacio(e.value)) && (e.optional=="false")) {
        msg += '-- '+e.label+' es un campo obligatorio.\n';
        errors = true;
        continue;
      }
      
      if (e.fecha == "true" && !validaFecha(e.value)) {
        if (e.value != "") {
          msg += '-- Formato de fecha erróneo.\n';
          errors = true;
          continue;
        }
      }
      
      if (e.numerico == "true" && !esNumerico(e.value)) {
        if (e.value != "") {
          msg += '-- '+e.label+' debe ser numérico.\n';
          errors = true;
          continue;
        }
      }      
      
      if (e.nocomilla != "true" && tieneComilla(e.value)) {
        msg += '-- '+e.label+' tiene un carácter no válido.\n';
        errors = true;
        continue;
      }
    }
  }
  
  if (!errors) {
    if (confirm('Se dispone a '+f.label+'.\n\n¿Desea continuar?')) f.submit();
  }
  else alert(msg);
    
}

function enviar2(f) {
  errors = false;
  msg = 'Se han encontrado los siguientes\nerrores en el formulario:\n\n';
  for (i=0; i < f.length; i++) {
    e = f.elements[i];
    
    if ((e.type=="select-one") || (e.type=="select-multiple")) {
      if ((e.value=="-1" || e.value=="") && (e.optional=="false")) {
        msg += '-- '+e.label+' es un campo obligatorio.\n';
        errors = true;
        continue;
      }
    }
    
    if ((e.type=="text") || (e.type == "textarea")) {
      if (((e.value == null) ||(e.value == "") || esVacio(e.value)) && (e.optional=="false")) {
        msg += '-- '+e.label+' es un campo obligatorio.\n';
        errors = true;
        continue;
      }
      
      if (e.fecha == "true" && !validaFecha(e.value)) {
        if (e.value != "") {
          msg += '-- Formato de fecha erróneo.\n';
          errors = true;
          continue;
        }
      }
      
      if (e.numerico == "true" && !esNumerico(e.value)) {
        if (e.value != "") {
          msg += '-- '+e.label+' debe ser numérico.\n';
          errors = true;
          continue;
        }
      }      
      
      if (e.nocomilla != "true" && tieneComilla(e.value)) {
        msg += '-- '+e.label+' tiene un carácter no válido.\n';
        errors = true;
        continue;
      }
    }
  }
  
  if (!errors) {
    f.submit();
  }
  else alert(msg);
    
}

function emutation_ToObject(id) {
		if(document.layers){
			return (document.layers[id])?eval(document.layers[id]):null;
		}
		else if(document.all && !document.getElementById){
			return (eval("window."+id))?eval("window."+id):null;
		}
		else if(document.getElementById && document.body.style) {
			return (document.getElementById(id))?eval(document.getElementById(id)):null;
		}
	}
  
function emutation_FlashWrite(miEMswf, miEMcreativewidth, miEMcreativeheight, miEMwmode, miEMbgcolor, miID){
	
	var emswf = miEMswf; 
	var emcreativewidth = miEMcreativewidth;
	var emcreativeheight = miEMcreativeheight;
	var emwmode = miEMwmode;
	var embgcolor = miEMbgcolor;
	
	ntcode = "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' width='"+ emcreativewidth +"' height='"+ emcreativeheight +"' id='"+ miID +"'>";
	ntcode +="<param name='movie' value='" + emswf + "'>";
	ntcode +="<param name='quality' value='high'>";
	ntcode +="<param name='bgcolor' value='#" + embgcolor +"'>";
	ntcode +="<param name='wmode' value='"+ emwmode +"'>";
	ntcode +="<param name='menu' value='false'>";
	ntcode +="<embed src='" + emswf + "' quality='high' wmode='" + emwmode + "' width='" + emcreativewidth + "' height='" + emcreativeheight + "' bgcolor='#" + embgcolor +"' type='application/x-shockwave-flash' menu='false' name='"+ miID +"' swLiveConnect='true'></embed></object>";
  	document.write(ntcode);
}

function emutation_FlashInnerHTML(htmlElementId,code){
  var x=emutation_ToObject(htmlElementId);
  if(x){
    if(document.getElementById||document.all){
      x.innerHTML='';
      x.innerHTML=code;
      }
    else if(document.layers){
      x.document.open();
      x.document.write(code);
      x.document.close();
      }
    }
  }