var formObjectFocused = false; function isEmptyField(formObjectName){ var empty = false; var formObject = document.getElementById(formObjectName); clearError(formObjectName); if(formObject && !formObject.disabled){ if(formObject.value==""){ empty=true; showError(formObjectName, "Este campo es obligatorio."); setFocus(formObject); } } return empty; } function isEmptyDate(formObjectName){ var empty = false; var day = document.getElementById(formObjectName+"Day"); var month = document.getElementById(formObjectName+"Month"); var year = document.getElementById(formObjectName+"Year"); clearError(formObjectName); if(day.value=="" || month.value=="" || year.value==""){ empty=true; showError(formObjectName, "Este campo es obligatorio."); setFocus(day); } return empty; } function isEmptyURL(formObjectName){ var empty = false; var formObject = document.getElementById(formObjectName); clearError(formObjectName); if(formObject && !formObject.disabled){ if(formObject.value=="" || formObject.value=="http://"){ empty=true; showError(formObjectName, "Este campo es obligatorio."); setFocus(formObject); } } return empty; } function setFocus(formObject){ if(!formObjectFocused){ formObject.focus(); formObjectFocused = true; } } function showError(formObjectName, text){ var formObject = document.getElementById(formObjectName+"Error"); if(formObject) formObject.innerHTML=text; var formObject = document.getElementById(formObjectName+"Label"); if(formObject){ var className = formObject.className; if(text==""){ if(className.indexOf("Error")>0){ formObject.className = className.split("Error")[0]; } }else{ if(className.indexOf("Error")==-1){ formObject.className = className+"Error"; } } } } function clearError(formObjectName){ showError(formObjectName, ""); } function checkTelephone(formObjectName){ var ok = true; var formObject = document.getElementById(formObjectName); if(!formObject.disabled){ var value = formObject.value; if(value!=""){ formObject.value = clearSpaces(value); value = formObject.value; if(value.indexOf("+")==0){ value = value.substr(1); } if(isNaN(value) || value.length<9){ showError(formObjectName, "Teléfono incorrecto."); setFocus(formObject); ok=false; }else{ clearError(formObjectName); } } } return ok; } function checkEmail(formObjectName){ var ok = true; var formObject = document.getElementById(formObjectName); if(!formObject.disabled){ var value = formObject.value; if(value!=""){ var a = value.indexOf("@"); var p = value.indexOf(".", a); if(a>-1 && p>-1){ clearError(formObjectName); }else{ showError(formObjectName, "Email incorrecto."); setFocus(formObject); ok=false; } } return ok; } } function checkNumber(formObjectName){ var ok = true; var formObject = document.getElementById(formObjectName); if(!formObject.disabled){ var value = formObject.value; if(value!=""){ value = value.replace(",", "."); formObject.value = value; if(isNaN(value)){ showError(formObjectName, "Número incorrecto."); setFocus(formObject); ok=false; }else{ clearError(formObjectName); } } } return ok; } function checkIGTZ(formObjectName){ var ok = checkNumber(formObjectName); if(ok){ var formObject = document.getElementById(formObjectName); if(!formObject.disabled){ var value = formObject.value; if(value!=""){ if(value.indexOf(".") >=0){ valueSP = value.split("."); value = valueSP[0]; } formObject.value = value; if(isNaN(value) || value < 1){ showError(formObjectName, "Ha de ser un número mayor de cero."); setFocus(formObject); ok=false; }else{ clearError(formObjectName); } } } } return ok; } function validatePassword(formObjectName){ var ok = true; var password1 = document.getElementById(formObjectName); var password2 = document.getElementById(formObjectName+"Bis"); clearError(formObjectName+"Bis"); if(password1.value != password2.value){ ok=false; setFocus(formObject); showError(formObjectName+"Bis", "Las dos contraseñas no coinciden."); } return ok; } function clearSpaces(string){ while (string.indexOf(" ")>-1){ string = string.replace(" ", ""); } return string; } //PRE: UTC in seconds function UTCtoString(UTC){ var months = ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"]; var date = new Date(UTC*1000); var d = date.getDate(); var m = date.getMonth(); var y = date.getFullYear(); var string = d+" de "+months[m]+" del "+y; return string; } function callbackSelect(xmlhttp){ var elements = xmlhttp.responseXML.getElementsByTagName("data"); //Con los cambios de CHARSETs en IE hubo problemas con el XML. Por eso //compruebo antes la longitud if(elements.length > 0){ var fieldId = elements[0].getAttribute("fieldId"); var defaultValue = xmlhttp.responseXML.getElementsByTagName("data")[0].getAttribute("defaultValue"); var selectElement = document.getElementById(fieldId); var options = xmlhttp.responseXML.getElementsByTagName("option"); if(options.length==0){ selectElement.disabled = false; }else{ for(i=0; i< options.length; i++){ var id = options[i].getAttribute("id"); var label = decodeURI(options[i].getAttribute("label")); var info = options[i].getAttribute("info"); var info2 = options[i].getAttribute("info2"); var currentId = selectElement.options.length; selectElement.options[currentId] = new Option(label, id); if(defaultValue==id) { selectElement.selectedIndex = currentId; }else{ if(options.length == 1){ selectElement.selectedIndex = currentId; if(selectElement.onchange) selectElement.onchange(); } } //Esto lo puse para Logistus //pero deberia borrarlo o hacerlo dinamico /*if(info!=null){ var option = selectElement.options[currentId]; var newAttr = document.createAttribute("info"); newAttr.nodeValue = info; option.setAttributeNode(newAttr); } if(info2!=null){ var option = selectElement.options[currentId]; var newAttr = document.createAttribute("info2"); newAttr.nodeValue = info2; option.setAttributeNode(newAttr); }*/ //--- } selectElement.disabled = false; } } } function getSelectText(id){ var select = document.getElementById(id); var option = select.options[select.selectedIndex]; return option.text; } //Obligatorio implementar deleteAttachCallback para ejecutar algo una vez llamado a Ajax //Obligatorio la funcion deleteAttach dentro del servlet del proyecto //La funcion 'deleteAttach' se ha de implementar en el servlet del proyecto function deleteAttachAJAX(id, isNew){ if(confirm("Realmente lo desea eliminar?")){ var urlServlet = "http://www.iedbarcelona.es/servlet.php"; var paramsGET = "?func=deleteAttach&id="+id+"&isNew="+isNew; callAjax(deleteAttachCallback, paramsGET, urlServlet); } } //Borra las filas de una tabla function emptyTable(tableName){ var table = document.getElementById(tableName); while(table.rows.length > 0){ table.deleteRow(0); } } //tagName corresponde a lo que se genere en el engineServlet: image - documento function refreshAttachGridTable(xmlhttp, tagName){ var cols = 4; var currentCol = 0; var tableName = "attachGridTable"; var table = document.getElementById(tableName); if(table){ emptyTable(tableName); var oRow = null; var attachments = xmlhttp.responseXML.getElementsByTagName(tagName); for(i=0; i< attachments.length; i++){ var attach = attachments[i]; var id = attach.getAttribute("id"); var href = attach.getAttribute("href"); var fileSrc = attach.getAttribute("fileSrc"); currentCol++; if(currentCol>=cols || oRow==null){ var oRow = table.insertRow(table.rows.length); currentCol = 0; } var oCell = oRow.insertCell(oRow.cells.length); oCell.align = "center"; var innerHTMLCode =""; innerHTMLCode+=""; innerHTMLCode+="
"; innerHTMLCode+="Eliminar"; oCell.innerHTML = innerHTMLCode; } } } function refreshAttachListTable(xmlhttp, tagName){ var tableName = "attachlistTable"; var table = document.getElementById(tableName); if(table){ emptyTable(tableName); var classA = true; var attachments = xmlhttp.responseXML.getElementsByTagName(tagName); for(i=0; i< attachments.length; i++){ var attach = attachments[i]; var id = attach.getAttribute("id"); var ico = attach.getAttribute("ico"); var name = attach.getAttribute("name"); var oRow = table.insertRow(table.rows.length); oRow.id = "trattach"+id; if(classA) var className = "listsRowA"; else var className = "listsRowB"; oRow.className = className; var innerHTMLCode = ''; innerHTMLCode+=''; innerHTMLCode+=''; innerHTMLCode+=''; innerHTMLCode+=''+name+''; innerHTMLCode+=''; oRow.innerHTML = innerHTMLCode; classA=!classA; } } } //tagName corresponde a lo que se genere en el engineServlet function refreshAttachOne(xmlhttp, elementHTMLId, tagName){ if(tagName == null) tagName = "image"; elementHTMLId = elementHTMLId+"Content"; var appletSrc = document.getElementById("appletSrc"); var element = document.getElementById(elementHTMLId); if(element){ var data = xmlhttp.responseXML.getElementsByTagName("data")[0]; var isNew = data.getAttribute("isNew"); if(isNew=="") isNew = 0; var image = xmlhttp.responseXML.getElementsByTagName(tagName); if(image.length == 0){ if(appletSrc.value!=""){ element.innerHTML = appletSrc.value; } }else{ var attach = image[0]; var id = attach.getAttribute("id"); var type = attach.getAttribute("type"); var href = attach.getAttribute("href"); var fileSrc = attach.getAttribute("fileSrc"); var innerHTMLCode =''; innerHTMLCode+=''; innerHTMLCode+=''; innerHTMLCode+='
'; if(type==1){ innerHTMLCode+=''; }else { innerHTMLCode+=''; innerHTMLCode+=''; innerHTMLCode+=''; } innerHTMLCode+='
'; innerHTMLCode+="Eliminar"; innerHTMLCode+='
'; appletSrc.value = element.innerHTML; element.innerHTML = innerHTMLCode; } } }