var SYS_URLBACKEND = "/insagroup/backend/"; // Termina en barra (/) var SERVLET_BASE = "/insagroup/"; var SERVLET_XMLInlineLoader = SERVLET_BASE + "servlet/es.krama.services.common.util.XMLInlineLoader"; var SERVLET_buscadorInmuebles = SERVLET_BASE + "servlet/es.krama.services.common.util.CargarInmuebles"; var EMPTY_STRING = ""; var ZERO_STRING = "0"; var SPACE_STRING = " "; var SEPARATOR_DOT = "."; var SEPARATOR_COMMA = ","; var ERR_NOT_A_NUMBER = "El valor no es un número válido"; var SCREEN_DATE = 1; var BBDD_DATE = 2; var SCREEN_DATE_RE = "/\d{2}\/\d{2}\/\d{4}/g"; var BBDD_DATE_RE = "/\d{8}/g"; //LIBGENERAL.JS function leftPad(str, chr, times) { var str2 = new String(EMPTY_STRING); if (str == null) str = EMPTY_STRING; var realTimes = times - str.length; for (var i = 0; i < realTimes; i++) str2 = str2.concat(chr); return (str2.concat(str)); } function rightPad(str, chr, times) { var str2 = new String(EMPTY_STRING); if (str == null) str = EMPTY_STRING; str2 = str2.concat(str); var realTimes = times - str.length; for (var i = 0; i < realTimes; i++) str2 = str2.concat(chr); return str2; } function reverseString(str) { if (str == undefined) return ""; var str2 = new String(EMPTY_STRING); var count = str.length - 1; for (var i = count ; i > -1; i--) { str2 = str2.concat(str.substring(i, i+1)); } return str2; } function replace(str, strReplace, strWith) { var i; var str2 = str; do { i = str2.indexOf(strReplace); if (i > 0) { str2 = str2.substring(0, i) + strWith + str2.substring(i + strReplace.length, str2.length); } else { break; } } while(true); return str2; } function trim(cadena) { return ltrim(rtrim(cadena)); } function ltrim(strvar) { if (strvar == undefined) return ""; var str = strvar; if ( str == EMPTY_STRING ) return EMPTY_STRING; for (var i = 0; i < str.length; i++) { if ( str.substring(0, 1) == SPACE_STRING ) { if (str.length > 1) { str = str.substring(1); } else { str = EMPTY_STRING; } } } return str; } function rtrim(strvar) { if (strvar == undefined) return ""; var str = reverseString(strvar); return reverseString(ltrim(str)); } function greaterThan(varnumber, greaterThan, includeBounds) { var num1 = parseFloat(screen2Number(varnumber)); var num2 = parseFloat(screen2Number(greaterThan)); if (includeBounds) { return ( parseFloat(num1) >= parseFloat(num2) ); } else { return ( parseFloat(num1) > parseFloat(num2) ); } } function lessThan(varnumber, lessThan, includeBounds) { var num1 = parseFloat(screen2Number(varnumber)); var num2 = parseFloat(screen2Number(greaterThan)); if (includeBounds) { return ( parseFloat(num1) <= parseFloat(num2) ); } else { return ( parseFloat(num1) < parseFloat(num2) ); } } function outsideBounds(varnumber, lowerLimit, upperLimit, includeBounds) { if (includeBounds == undefined) { includeBounds = false; } return ( greaterThan(varnumber, upperLimit, includeBounds) || lessThan(varnumber, lowerLimit, includeBounds) ); } function insideBounds(varnumber, lowerLimit, upperLimit, includeBounds) { if (includeBounds == undefined) { includeBounds = false; } return !outsideBounds(varnumber, lowerLimit, upperLimit, includeBounds); } function dateBBDD2Screen(datevar) { if ( datevar.length > 8 ) { return null; } else if ( datevar.match(/\d{8}/g) == null ) { return null; } else { return datevar.substring(6, 10) + "/" + datevar.substring(4, 6) + "/" + datevar.substring(0,4); } } function dateScreen2BBDD(datevar) { if ( datevar.length > 10 ) { return null; } else if ( datevar.match(/\d{2}\/\d{2}\/\d{4}/g) == null ) { return null; } else { return datevar.substring(6) + datevar.substring(3,5) + datevar.substring(0,2); } } function screen2Number(varstrnumber) { var strNumber = trim(varstrnumber); var fNegative = false; if (strNumber == EMPTY_STRING || strNumber == null || strNumber == undefined) return null; if (strNumber.substring(0,1) == "-") { strNumber = strNumber.substring(1); fNegative = true; } var str = reverseString(strNumber); var count = str.length; var chr = null; var decimalSeparator = null; var thousandsSeparator = null; for (var i = 0; i < count; i++) { chr = str.substr(i, 1); if (chr > '9' || chr < '0') { decimalSeparator = chr; break; } } str = strNumber; if (decimalSeparator != null) { if ( decimalSeparator != SEPARATOR_DOT && decimalSeparator != SEPARATOR_COMMA ) { return null; } if (decimalSeparator == SEPARATOR_DOT) { thousandsSeparator = SEPARATOR_COMMA; } else { thousandsSeparator = SEPARATOR_DOT; } } else { decimalSeparator = ","; thousandsSeparator = "."; } str = replace(str, thousandsSeparator, EMPTY_STRING); if (decimalSeparator != SEPARATOR_DOT) { str = replace(str, decimalSeparator, SEPARATOR_DOT); } try { if ( isNaN(str) ) { return null; } } catch (e) { return null; } str = trimZeros(str); if (fNegative) { return "-" + str; } else { return str; } } function trimZeros(varnumber) { //PRIVATE (no invocar) var str = varnumber; while (str.substring(0, 1) == ZERO_STRING) str = str.substring(1); while (str.substring(str.length - 1, str.length) == ZERO_STRING && str.indexOf(SEPARATOR_DOT) > 0 ) str = str.substring(0, str.length - 1); if (str.substring(0, 1) == SEPARATOR_DOT) str = ZERO_STRING.concat(str); if (str.substring(str.length - 1) == SEPARATOR_DOT) str = str.substring(0, str.length - 1); if (str == EMPTY_STRING) return ZERO_STRING; return str; } function number2Screen(varnumber, useThousands, decimalPositions, bRound) { var str = screen2Number(varnumber); if (str == null) { return null; } var fNegative = false; if (str.substring(0,1) == "-") { str = str.substring(1); fNegative = true; } var bEuro = false; if ( bRound != undefined && bRound == true) { bEuro = true; } var i = str.indexOf(SEPARATOR_DOT); var realPart = EMPTY_STRING; var decimalPart = EMPTY_STRING; if (i > 0) { realPart = str.substring(0, i); decimalPart = str.substring(i + 1, str.length); } else { realPart = str; } if (decimalPositions != undefined) { decimalPart = rightPad(decimalPart, ZERO_STRING, decimalPositions); if (bEuro && decimalPart.length > decimalPositions) { var s1 = Math.round( parseFloat( decimalPart.substr(0, decimalPositions) + "." + decimalPart.substring(decimalPositions) ) ); decimalPart = "" + s1; } } if (useThousands) { realPart = reverseString(realPart); var formattedRealPart = EMPTY_STRING; var j = realPart.length; var k = 0; for (i = 0; i < j; i++) { formattedRealPart += realPart.substring(i, i+1); k++; if ( k == 3 && i < j - 1) { formattedRealPart += SEPARATOR_DOT; k = 0; } } realPart = reverseString(formattedRealPart); } if (decimalPart != EMPTY_STRING) { decimalPart = SEPARATOR_COMMA.concat(decimalPart); } if (!fNegative) { return realPart.concat(decimalPart); } else { return "-" + realPart.concat(decimalPart); } } function validateNumber(varnumber, realPositions, decimalPositions) { var str = screen2Number(varnumber); if (str == null) return false; if (str.substring(0,1) == "-") { str = str.substring(1); } var i = str.indexOf(SEPARATOR_DOT); var realPart = EMPTY_STRING; var decimalPart = EMPTY_STRING; if (i > 0) { realPart = str.substring(0, i); decimalPart = str.substring(i + 1, str.length); } else { realPart = str; } return((realPart.length <= realPositions )&& (decimalPart.length <= decimalPositions )); } //Retorna: // -1 - Indefinido // 0 - Entero positivo (Natural) // 1 - Entero (negativo) // 2 - Real positivo // 3 - Real (negativo) function getClassOfNumber(varnumber) { var str = screen2Number(varnumber); if (str == null) return -1; var i = 0; if (str.indexOf(".") > -1) i += 2; if (str.indexOf("-") > -1) i += 1; return "" + i; } function isNegative(varnumber) { var str = getClassOfNumber(varnumber); if ( str == "1" || str == "3" ) return true; return false; } function roundNumber(varnumber, decimalPositions) { var str = screen2Number(varnumber); if (str == null) return null; if (decimalPositions == undefined) decimalPositions = 0; if (decimalPositions == 0) return "" + Math.round(parseFloat(str)); return "" + ( Math.round( parseFloat(str) * Math.pow( 10, parseInt(decimalPositions) ) ) / Math.pow(10, parseInt(decimalPositions) ) ); } // function global_XMLInvoke(url, queryString, bAsync) // var errXMLInlineLoader // function XMLInlineLoader_loadCombo(cboDestino, strEntidad, strParameters) { // function XMLInlineLoader_clearCombo(combo) { // function XMLInlineLoader_fillCombo(cboDestino, xml, formatString){ // function httpBooleanInvoker(url, desc) { // function httpIntInvoker(url, desc) { // function httpStringInvoker(url, desc) { var errXMLInlineLoader_ERROR = "Error al procesar los datos recibidos. No se ha podido cargar el combo de "; var XMLInlineLoader_OPTION = "Seleccione"; //var SERVLET_XMLInlineLoader = "/servlet/.."; //DEFINIDA EN INTEGRATION.JSP //Pide datos al servlet //Parámetros: // strEntidad - Nombre de la entidad que se va a consultar, corresponderá con un nodo // del fichero XML de configuración del servidor. // strParameters - QueryString (sin incluir la ?) // dscError - String que devolverá los errores de proceso function XMLInlineLoader_get(strEntidad, strParameters) { var xml = null; var queryString = ""; if (strParameters != undefined && strParameters != null) queryString = strParameters; if (strEntidad == "familias") { xml = global_XMLInvoke(SERVLET_XMLInlineLoader, "loader=FAMILIAS" + queryString, false) } else if (strEntidad == "estados") { xml = global_XMLInvoke(SERVLET_XMLInlineLoader, "loader=ESTADOS" + queryString, false) } else if (strEntidad == "estados") { xml = global_XMLInvoke(SERVLET_XMLInlineLoader, "loader=ESTADOS" + queryString, false) } else if (strEntidad == "localidades") { xml = global_XMLInvoke(SERVLET_XMLInlineLoader, "loader=LOCALIDADES" + queryString, false) } else if (strEntidad == "modelos") { xml = global_XMLInvoke(SERVLET_XMLInlineLoader, "loader=MODELOS" + queryString, false) } else if (strEntidad == "secciones") { xml = global_XMLInvoke(SERVLET_XMLInlineLoader, "loader=SECCIONES" + queryString, false) } if (xml == null) { errXMLInlineLoader="Error de comunicaciones. Imposible descargar la definicion '" + strEntidad + "'"; return null; } else { return xml; } } // var errXMLInlineLoader_ERROR // var XMLInlineLoader_OPTION // var SERVLET_XMLInlineLoader // function XMLInlineLoader_get(strEntidad, strParameters) function global_XMLInvoke(url, queryString, bAsync) { try { var xml; var request = new ActiveXObject("Microsoft.XMLHTTP"); request.open("POST", url + "?" + queryString, bAsync); request.send(); if (bAsync) { return; } else { xml = request.responseXML; return xml; } } catch(e) { return null; } } // Variable global que almacenará los errores de proceso var errXMLInlineLoader = ""; //Se encarga de cargar un combo a través de XMLHttp //Parámetros: // cboDestino - Control combo que se quiere rellenar // strEntidad - Nombre de la entidad que se va a consultar, corresponderá con un nodo // del fichero XML de configuración del servidor. // strParameters - Parametros del queryString //function cargaCombo(cboDestino, strEntidad, strParameters){ function XMLInlineLoader_loadCombo(cboDestino, strEntidad, strParameters) { errXMLInlineLoader = ""; var xml = XMLInlineLoader_get(strEntidad, strParameters); if (errXMLInlineLoader != "") { return false; } if ( ! XMLInlineLoader_fillCombo(cboDestino, xml) ) { errXMLInlineLoader = errXMLInlineLoader_ERROR + strEntidad; return false; } return true; } //function clearCombo(combo) { function XMLInlineLoader_clearCombo(combo) { var c = combo.size; for (var i = 0; i < c ; i++) { combo.remove(0); } var oOption = document.createElement("OPTION"); combo.options.add(oOption); oOption.innerText = XMLInlineLoader_OPTION; } // Rellena un combo. // Parámetros: // - cboDestino - Control combo que se quiere rellenar // - xml - Objeto xml. Formato // Devuelve: // - Verdadero si el relleno del combo concluyó con éxito y falso en caso contrario. //function rellenaCombo(cboDestino, xml, formatString){ function XMLInlineLoader_fillCombo(cboDestino, xml, formatString){ try { while (cboDestino.options.length > 1) { cboDestino.options[0] = null; } var c = xml.selectSingleNode("//Combo").childNodes.length; var xmlOption; var code; var description; var newOption; for (var i = 0;i < c; i++){ xmlOption = xml.documentElement.childNodes(i); code = xmlOption.attributes.getNamedItem('C').nodeValue; description = xmlOption.attributes.getNamedItem('D').nodeValue; newOption = document.createElement("OPTION"); newOption.text = description; newOption.value = code; cboDestino.add(newOption); } return true; } catch(e) { return false; } } function httpBooleanInvoker(url, desc) { try { var xml = new ActiveXObject("Microsoft.XMLDOM"); var request = new ActiveXObject("Microsoft.XMLHTTP"); request.open("POST", url, false); request.send(); var xmlObject = request.responseXML; var str = xmlObject.selectSingleNode("error").text; if (str == "0") return true; return false; } catch(e) { alert("Error de comunicaciones. Imposible conectar con el servidor.\n\nOperación:\t" + desc); return null; } } function httpIntInvoker(url, desc) { try { var xml = new ActiveXObject("Microsoft.XMLDOM"); var request = new ActiveXObject("Microsoft.XMLHTTP"); request.open("POST", url, false); request.send(); var xmlObject = request.responseXML; var str = xmlObject.selectSingleNode("error").text; return parseInt(str); } catch(e) { alert("Error de comunicaciones. Imposible conectar con el servidor.\n\nOperación:\t" + desc); return null; } } function httpStringInvoker(url, desc) { try { var xml = new ActiveXObject("Microsoft.XMLDOM"); var request = new ActiveXObject("Microsoft.XMLHTTP"); request.open("POST", url, false); request.send(); var xmlObject = request.responseXML; var str = xmlObject.selectSingleNode("error").text; return str; } catch(e) { alert("Error de comunicaciones. Imposible conectar con el servidor.\n\nOperación:\t" + desc); return null; } } function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i0&&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 0) || (navigator.userAgent.indexOf('MSIE 6') > 0)) { if(document.compatMode && document.compatMode == 'CSS1Compat') docRoot = 'document.documentElement'; ie5 = true; } if (ns6) { ns6 = false; } } // Capture events, alt. diffuses the overlib function. if ( (ns4) || (ie4) || (ns6)) { document.onmousemove = mouseMove if (ns4) document.captureEvents(Event.MOUSEMOVE) } else { overlib = no_overlib; nd = no_overlib; ver3fix = true; } // Fake function for 3.0 users. function no_overlib() { return ver3fix; } //////////////////////////////////////////////////////////////////////////////////// // PUBLIC FUNCTIONS //////////////////////////////////////////////////////////////////////////////////// // overlib(arg0, ..., argN) // Loads parameters into global runtime variables. function overlib() { // Load defaults to runtime. o3_text = ol_text; o3_cap = ol_cap; o3_sticky = ol_sticky; o3_background = ol_background; o3_close = ol_close; o3_hpos = ol_hpos; o3_offsetx = ol_offsetx; o3_offsety = ol_offsety; o3_fgcolor = ol_fgcolor; o3_bgcolor = ol_bgcolor; o3_textcolor = ol_textcolor; o3_capcolor = ol_capcolor; o3_closecolor = ol_closecolor; o3_width = ol_width; o3_border = ol_border; o3_status = ol_status; o3_autostatus = ol_autostatus; o3_height = ol_height; o3_snapx = ol_snapx; o3_snapy = ol_snapy; o3_fixx = ol_fixx; o3_fixy = ol_fixy; o3_fgbackground = ol_fgbackground; o3_bgbackground = ol_bgbackground; o3_padxl = ol_padxl; o3_padxr = ol_padxr; o3_padyt = ol_padyt; o3_padyb = ol_padyb; o3_fullhtml = ol_fullhtml; o3_vpos = ol_vpos; o3_aboveheight = ol_aboveheight; o3_capicon = ol_capicon; o3_textfont = ol_textfont; o3_captionfont = ol_captionfont; o3_closefont = ol_closefont; o3_textsize = ol_textsize; o3_captionsize = ol_captionsize; o3_closesize = ol_closesize; o3_timeout = ol_timeout; o3_function = ol_function; o3_delay = ol_delay; o3_hauto = ol_hauto; o3_vauto = ol_vauto; o3_closeclick = ol_closeclick; o3_css = ol_css; o3_fgclass = ol_fgclass; o3_bgclass = ol_bgclass; o3_textfontclass = ol_textfontclass; o3_captionfontclass = ol_captionfontclass; o3_closefontclass = ol_closefontclass; o3_padunit = ol_padunit; o3_heightunit = ol_heightunit; o3_widthunit = ol_widthunit; o3_textsizeunit = ol_textsizeunit; o3_textdecoration = ol_textdecoration; o3_textstyle = ol_textstyle; o3_textweight = ol_textweight; o3_captionsizeunit = ol_captionsizeunit; o3_captiondecoration = ol_captiondecoration; o3_captionstyle = ol_captionstyle; o3_captionweight = ol_captionweight; o3_closesizeunit = ol_closesizeunit; o3_closedecoration = ol_closedecoration; o3_closestyle = ol_closestyle; o3_closeweight = ol_closeweight; fnRef = ''; // Special for frame support, over must be reset... if ( (ns4) || (ie4) || (ns6) ) { if (over) cClick(); o3_frame = ol_frame; if (ns4) over = o3_frame.document.overDiv if (ie4) over = o3_frame.overDiv.style if (ns6) over = o3_frame.document.getElementById("overDiv"); } // What the next argument is expected to be. var parsemode = -1, udf, v = null; var ar = arguments; udf = (!ar.length ? 1 : 0); for (i = 0; i < ar.length; i++) { if (parsemode < 0) { // Arg is maintext, unless its a PARAMETER if (typeof ar[i] == 'number') { udf = (ar[i] == FUNCTION ? 0 : 1); i--; } else { o3_text = ar[i]; } parsemode = 0; } else { // Note: NS4 doesn't like switch cases with vars. if (ar[i] == INARRAY) { udf = 0; o3_text = ol_texts[ar[++i]]; continue; } if (ar[i] == CAPARRAY) { o3_cap = ol_caps[ar[++i]]; continue; } if (ar[i] == STICKY) { o3_sticky = 1; continue; } if (ar[i] == BACKGROUND) { o3_background = ar[++i]; continue; } if (ar[i] == NOCLOSE) { o3_close = ""; continue; } if (ar[i] == CAPTION) { o3_cap = ar[++i]; continue; } if (ar[i] == CENTER || ar[i] == LEFT || ar[i] == RIGHT) { o3_hpos = ar[i]; continue; } if (ar[i] == OFFSETX) { o3_offsetx = ar[++i]; continue; } if (ar[i] == OFFSETY) { o3_offsety = ar[++i]; continue; } if (ar[i] == FGCOLOR) { o3_fgcolor = ar[++i]; continue; } if (ar[i] == BGCOLOR) { o3_bgcolor = ar[++i]; continue; } if (ar[i] == TEXTCOLOR) { o3_textcolor = ar[++i]; continue; } if (ar[i] == CAPCOLOR) { o3_capcolor = ar[++i]; continue; } if (ar[i] == CLOSECOLOR) { o3_closecolor = ar[++i]; continue; } if (ar[i] == WIDTH) { o3_width = ar[++i]; continue; } if (ar[i] == BORDER) { o3_border = ar[++i]; continue; } if (ar[i] == STATUS) { o3_status = ar[++i]; continue; } if (ar[i] == AUTOSTATUS) { o3_autostatus = (o3_autostatus == 1) ? 0 : 1; continue; } if (ar[i] == AUTOSTATUSCAP) { o3_autostatus = (o3_autostatus == 2) ? 0 : 2; continue; } if (ar[i] == HEIGHT) { o3_height = ar[++i]; o3_aboveheight = ar[i]; continue; } // Same param again. if (ar[i] == CLOSETEXT) { o3_close = ar[++i]; continue; } if (ar[i] == SNAPX) { o3_snapx = ar[++i]; continue; } if (ar[i] == SNAPY) { o3_snapy = ar[++i]; continue; } if (ar[i] == FIXX) { o3_fixx = ar[++i]; continue; } if (ar[i] == FIXY) { o3_fixy = ar[++i]; continue; } if (ar[i] == FGBACKGROUND) { o3_fgbackground = ar[++i]; continue; } if (ar[i] == BGBACKGROUND) { o3_bgbackground = ar[++i]; continue; } if (ar[i] == PADX) { o3_padxl = ar[++i]; o3_padxr = ar[++i]; continue; } if (ar[i] == PADY) { o3_padyt = ar[++i]; o3_padyb = ar[++i]; continue; } if (ar[i] == FULLHTML) { o3_fullhtml = 1; continue; } if (ar[i] == BELOW || ar[i] == ABOVE) { o3_vpos = ar[i]; continue; } if (ar[i] == CAPICON) { o3_capicon = ar[++i]; continue; } if (ar[i] == TEXTFONT) { o3_textfont = ar[++i]; continue; } if (ar[i] == CAPTIONFONT) { o3_captionfont = ar[++i]; continue; } if (ar[i] == CLOSEFONT) { o3_closefont = ar[++i]; continue; } if (ar[i] == TEXTSIZE) { o3_textsize = ar[++i]; continue; } if (ar[i] == CAPTIONSIZE) { o3_captionsize = ar[++i]; continue; } if (ar[i] == CLOSESIZE) { o3_closesize = ar[++i]; continue; } if (ar[i] == FRAME) { opt_FRAME(ar[++i]); continue; } if (ar[i] == TIMEOUT) { o3_timeout = ar[++i]; continue; } if (ar[i] == FUNCTION) { udf = 0; if (typeof ar[i+1] != 'number') v = ar[++i]; opt_FUNCTION(v); continue; } if (ar[i] == DELAY) { o3_delay = ar[++i]; continue; } if (ar[i] == HAUTO) { o3_hauto = (o3_hauto == 0) ? 1 : 0; continue; } if (ar[i] == VAUTO) { o3_vauto = (o3_vauto == 0) ? 1 : 0; continue; } if (ar[i] == CLOSECLICK) { o3_closeclick = (o3_closeclick == 0) ? 1 : 0; continue; } if (ar[i] == CSSOFF) { o3_css = ar[i]; continue; } if (ar[i] == CSSSTYLE) { o3_css = ar[i]; continue; } if (ar[i] == CSSCLASS) { o3_css = ar[i]; continue; } if (ar[i] == FGCLASS) { o3_fgclass = ar[++i]; continue; } if (ar[i] == BGCLASS) { o3_bgclass = ar[++i]; continue; } if (ar[i] == TEXTFONTCLASS) { o3_textfontclass = ar[++i]; continue; } if (ar[i] == CAPTIONFONTCLASS) { o3_captionfontclass = ar[++i]; continue; } if (ar[i] == CLOSEFONTCLASS) { o3_closefontclass = ar[++i]; continue; } if (ar[i] == PADUNIT) { o3_padunit = ar[++i]; continue; } if (ar[i] == HEIGHTUNIT) { o3_heightunit = ar[++i]; continue; } if (ar[i] == WIDTHUNIT) { o3_widthunit = ar[++i]; continue; } if (ar[i] == TEXTSIZEUNIT) { o3_textsizeunit = ar[++i]; continue; } if (ar[i] == TEXTDECORATION) { o3_textdecoration = ar[++i]; continue; } if (ar[i] == TEXTSTYLE) { o3_textstyle = ar[++i]; continue; } if (ar[i] == TEXTWEIGHT) { o3_textweight = ar[++i]; continue; } if (ar[i] == CAPTIONSIZEUNIT) { o3_captionsizeunit = ar[++i]; continue; } if (ar[i] == CAPTIONDECORATION) { o3_captiondecoration = ar[++i]; continue; } if (ar[i] == CAPTIONSTYLE) { o3_captionstyle = ar[++i]; continue; } if (ar[i] == CAPTIONWEIGHT) { o3_captionweight = ar[++i]; continue; } if (ar[i] == CLOSESIZEUNIT) { o3_closesizeunit = ar[++i]; continue; } if (ar[i] == CLOSEDECORATION) { o3_closedecoration = ar[++i]; continue; } if (ar[i] == CLOSESTYLE) { o3_closestyle = ar[++i]; continue; } if (ar[i] == CLOSEWEIGHT) { o3_closeweight = ar[++i]; continue; } } } if (udf && o3_function) o3_text = o3_function(); if (o3_delay == 0) { return overlib351(); } else { o3_delayid = setTimeout("overlib351()", o3_delay); return false; } } // Clears popups if appropriate function nd() { if ( o3_removecounter >= 1 ) { o3_showingsticky = 0 }; if ( (ns4) || (ie4) || (ns6) ) { if ( o3_showingsticky == 0 ) { o3_allowmove = 0; if (over != null) hideObject(over); } else { o3_removecounter++; } } return true; } //////////////////////////////////////////////////////////////////////////////////// // OVERLIB 3.51 FUNCTION //////////////////////////////////////////////////////////////////////////////////// // This function decides what it is we want to display and how we want it done. function overlib351() { // Make layer content var layerhtml; if (o3_background != "" || o3_fullhtml) { // Use background instead of box. layerhtml = ol_content_background(o3_text, o3_background, o3_fullhtml); } else { // They want a popup box. // Prepare popup background if (o3_fgbackground != "" && o3_css == CSSOFF) { o3_fgbackground = "BACKGROUND=\""+o3_fgbackground+"\""; } if (o3_bgbackground != "" && o3_css == CSSOFF) { o3_bgbackground = "BACKGROUND=\""+o3_bgbackground+"\""; } // Prepare popup colors if (o3_fgcolor != "" && o3_css == CSSOFF) { o3_fgcolor = "BGCOLOR=\""+o3_fgcolor+"\""; } if (o3_bgcolor != "" && o3_css == CSSOFF) { o3_bgcolor = "BGCOLOR=\""+o3_bgcolor+"\""; } // Prepare popup height if (o3_height > 0 && o3_css == CSSOFF) { o3_height = "HEIGHT=" + o3_height; } else { o3_height = ""; } // Decide which kinda box. if (o3_cap == "") { // Plain layerhtml = ol_content_simple(o3_text); } else { // With caption if (o3_sticky) { // Show close text layerhtml = ol_content_caption(o3_text, o3_cap, o3_close); } else { // No close text layerhtml = ol_content_caption(o3_text, o3_cap, ""); } } } // We want it to stick! if (o3_sticky) { if (o3_timerid > 0) { clearTimeout(o3_timerid); o3_timerid = 0; } o3_showingsticky = 1; o3_removecounter = 0; } // Write layer layerWrite(layerhtml); // Prepare status bar if (o3_autostatus > 0) { o3_status = o3_text; if (o3_autostatus > 1) { o3_status = o3_cap; } } // When placing the layer the first time, even stickies may be moved. o3_allowmove = 0; // Initiate a timer for timeout if (o3_timeout > 0) { if (o3_timerid > 0) clearTimeout(o3_timerid); o3_timerid = setTimeout("cClick()", o3_timeout); } // Show layer disp(o3_status); // Stickies should stay where they are. if (o3_sticky) o3_allowmove = 0; return (o3_status != ''); } //////////////////////////////////////////////////////////////////////////////////// // LAYER GENERATION FUNCTIONS //////////////////////////////////////////////////////////////////////////////////// // Makes simple table without caption function ol_content_simple(text) { if (o3_css == CSSCLASS) txt = "
"+text+"
"; if (o3_css == CSSSTYLE) txt = "
"+text+"
"; if (o3_css == CSSOFF) txt = "
"+text+"
"; set_background(""); return txt; } // Makes table with caption and optional close link function ol_content_caption(text, title, close) { closing = ""; closeevent = "onMouseOver"; if (o3_closeclick == 1) closeevent = "onClick"; if (o3_capicon != "") o3_capicon = " "; if (close != "") { if (o3_css == CSSCLASS) closing = ""+close+""; if (o3_css == CSSSTYLE) closing = ""+close+""; if (o3_css == CSSOFF) closing = ""+close+""; } if (o3_css == CSSCLASS) txt = "
"+closing+"
"+o3_capicon+title+"
"+text+"
"; if (o3_css == CSSSTYLE) txt = "
"+closing+"
"+o3_capicon+title+"
"+text+"
"; if (o3_css == CSSOFF) txt = "
"+closing+"
"+o3_capicon+title+"
"+text+"
"; set_background(""); return txt; } // Sets the background picture, padding and lots more. :) function ol_content_background(text, picture, hasfullhtml) { var txt; if (hasfullhtml) { txt = text; } else { var pU, hU, wU; pU = (o3_padunit == '%' ? '%' : ''); hU = (o3_heightunit == '%' ? '%' : ''); wU = (o3_widthunit == '%' ? '%' : ''); if (o3_css == CSSCLASS) txt = "
"+text+"
"; if (o3_css == CSSSTYLE) txt = "
"+text+"
"; if (o3_css == CSSOFF) txt = "
"+text+"
"; } set_background(picture); return txt; } // Loads a picture into the div. function set_background(pic) { if (pic == "") { if (ns4) over.background.src = null; if (ie4) over.backgroundImage = "none"; if (ns6) over.style.backgroundImage = "none"; } else { if (ns4) { over.background.src = pic; } else if (ie4) { over.backgroundImage = "url("+pic+")"; } else if (ns6) { over.style.backgroundImage = "url("+pic+")"; } } } //////////////////////////////////////////////////////////////////////////////////// // HANDLING FUNCTIONS //////////////////////////////////////////////////////////////////////////////////// // Displays the popup function disp(statustext) { if ( (ns4) || (ie4) || (ns6) ) { if (o3_allowmove == 0) { placeLayer(); showObject(over); o3_allowmove = 1; } } if (statustext != "") { self.status = statustext; } } // Decides where we want the popup. function placeLayer() { var placeX, placeY; // HORIZONTAL PLACEMENT if (o3_fixx > -1) { // Fixed position placeX = o3_fixx; } else { winoffset = (ie4) ? eval('o3_frame.'+docRoot+'.scrollLeft') : o3_frame.pageXOffset; if (ie4) iwidth = eval('o3_frame.'+docRoot+'.clientWidth'); if (ns4 || ns6) iwidth = o3_frame.innerWidth; // If HAUTO, decide what to use. if (o3_hauto == 1) { if ( (o3_x - winoffset) > ((eval(iwidth)) / 2)) { o3_hpos = LEFT; } else { o3_hpos = RIGHT; } } // From mouse if (o3_hpos == CENTER) { // Center placeX = o3_x+o3_offsetx-(o3_width/2); if (placeX < winoffset) placeX = winoffset; } if (o3_hpos == RIGHT) { // Right placeX = o3_x+o3_offsetx; if ( (eval(placeX) + eval(o3_width)) > (winoffset + iwidth) ) { placeX = iwidth + winoffset - o3_width; if (placeX < 0) placeX = 0; } } if (o3_hpos == LEFT) { // Left placeX = o3_x-o3_offsetx-o3_width; if (placeX < winoffset) placeX = winoffset; } // Snapping! if (o3_snapx > 1) { var snapping = placeX % o3_snapx; if (o3_hpos == LEFT) { placeX = placeX - (o3_snapx + snapping); } else { // CENTER and RIGHT placeX = placeX + (o3_snapx - snapping); } if (placeX < winoffset) placeX = winoffset; } } // VERTICAL PLACEMENT if (o3_fixy > -1) { // Fixed position placeY = o3_fixy; } else { scrolloffset = (ie4) ? eval('o3_frame.'+docRoot+'.scrollTop') : o3_frame.pageYOffset; // If VAUTO, decide what to use. if (o3_vauto == 1) { if (ie4) iheight = eval('o3_frame.'+docRoot+'.clientHeight'); if (ns4 || ns6) iheight = o3_frame.innerHeight; iheight = (eval(iheight)) / 2; if ( (o3_y - scrolloffset) > iheight) { o3_vpos = ABOVE; } else { o3_vpos = BELOW; } } // From mouse if (o3_vpos == ABOVE) { if (o3_aboveheight == 0) { var divref = (ie4) ? o3_frame.document.all['overDiv'] : over; o3_aboveheight = (ns4) ? divref.clip.height : divref.offsetHeight; } placeY = o3_y - (o3_aboveheight + o3_offsety); if (placeY < scrolloffset) placeY = scrolloffset; } else { // BELOW placeY = o3_y + o3_offsety; } // Snapping! if (o3_snapy > 1) { var snapping = placeY % o3_snapy; if (o3_aboveheight > 0 && o3_vpos == ABOVE) { placeY = placeY - (o3_snapy + snapping); } else { placeY = placeY + (o3_snapy - snapping); } if (placeY < scrolloffset) placeY = scrolloffset; } } // Actually move the object. repositionTo(over, placeX, placeY); } // Moves the layer function mouseMove(e) { if ( (ns4) || (ns6) ) {o3_x=e.pageX; o3_y=e.pageY;} if (ie4) {o3_x=event.x; o3_y=event.y;} if (ie5) {o3_x=eval('event.x+o3_frame.'+docRoot+'.scrollLeft'); o3_y=eval('event.y+o3_frame.'+docRoot+'.scrollTop');} if (o3_allowmove == 1) { placeLayer(); } } // The Close onMouseOver function for stickies function cClick() { hideObject(over); o3_showingsticky = 0; return false; } // Makes sure target frame has overLIB function compatibleframe(frameid) { if (ns4) { if (typeof frameid.document.overDiv =='undefined') return false; } else if (ie4) { if (typeof frameid.document.all["overDiv"] =='undefined') return false; } else if (ns6) { if (frameid.document.getElementById('overDiv') == null) return false; } return true; } //////////////////////////////////////////////////////////////////////////////////// // LAYER FUNCTIONS //////////////////////////////////////////////////////////////////////////////////// // Writes to a layer function layerWrite(txt) { txt += "\n"; if (ns4) { var lyr = o3_frame.document.overDiv.document lyr.write(txt) lyr.close() } else if (ie4) { o3_frame.document.all["overDiv"].innerHTML = txt } else if (ns6) { range = o3_frame.document.createRange(); range.setStartBefore(over); domfrag = range.createContextualFragment(txt); while (over.hasChildNodes()) { over.removeChild(over.lastChild); } over.appendChild(domfrag); } } // Make an object visible function showObject(obj) { if (ns4) obj.visibility = "show"; else if (ie4) obj.visibility = "visible"; else if (ns6) obj.style.visibility = "visible"; } // Hides an object function hideObject(obj) { if (ns4) obj.visibility = "hide"; else if (ie4) obj.visibility = "hidden"; else if (ns6) obj.style.visibility = "hidden"; if (o3_timerid > 0) clearTimeout(o3_timerid); if (o3_delayid > 0) clearTimeout(o3_delayid); o3_timerid = 0; o3_delayid = 0; self.status = ""; } // Move a layer function repositionTo(obj,xL,yL) { if ( (ns4) || (ie4) ) { obj.left = (ie4 ? xL + 'px' : xL); obj.top = (ie4 ? yL + 'px' : yL); } else if (ns6) { obj.style.left = xL + "px"; obj.style.top = yL+ "px"; } } function getFrameRef(thisFrame, ofrm) { var retVal = ''; for (var i=0; i 0) { retVal = getFrameRef(thisFrame[i],ofrm); if (retVal == '') continue; } else if (thisFrame[i] != ofrm) continue; retVal = '['+i+']' + retVal; break; } return retVal; } //////////////////////////////////////////////////////////////////////////////////// // PARSER FUNCTIONS //////////////////////////////////////////////////////////////////////////////////// // Defines which frame we should point to. function opt_FRAME(frm) { o3_frame = compatibleframe(frm) ? frm : ol_frame; if (o3_frame != ol_frame) { var tFrm = getFrameRef(top.frames, o3_frame); var sFrm = getFrameRef(top.frames, ol_frame); if (sFrm.length == tFrm.length) { l = tFrm.lastIndexOf('['); if (l) { while(sFrm.substring(0,l) != tFrm.substring(0,l)) l = tFrm.lastIndexOf('[',l-1); tFrm = tFrm.substr(l); sFrm = sFrm.substr(l); } } var cnt = 0, p = '', str = tFrm; while((k = str.lastIndexOf('[')) != -1) { cnt++; str = str.substring(0,k); } for (var i=0; i // Devuelve: // - Verdadero si el relleno del combo concluyó con éxito y falso en caso contrario. //function rellenaCombo(cboDestino, xml, formatString){ function fillComboInmueble(cboDestino, xml, formatString){ try { while (cboDestino.options.length > 1) { cboDestino.options[0] = null; } var c = xml.selectSingleNode("//Combo").childNodes.length; var xmlOption; var code; var description; var newOption; for (var i = 0;i < c; i++){ xmlOption = xml.documentElement.childNodes(i); code = xmlOption.attributes.getNamedItem('C').nodeValue; description = xmlOption.attributes.getNamedItem('D').nodeValue; newOption = document.createElement("OPTION"); newOption.text = description; newOption.value = code; cboDestino.add(newOption); } return true; } catch(e) { return false; } } // hash.js function Hash() { this.length = 0; this.items = new Array(); this.keys = new Array(); this.put = function( key, value ) { if ( typeof( value ) != 'undefined' ) { if ( typeof( this.items[key] ) == 'undefined' ) { this.length++; } this.keys.push(key); this.items[key] = value; } return value; } this.parameterNames = function() { return this.keys; } this.get = function( key ) { try { return this.items[key]; } catch (e) { return null; } } this.contains = function( key ) { return typeof( this.items[key] ) != 'undefined'; } this.remove = function( key ){ var tmp_value; if ( typeof( this.items[key] ) != 'undefined' ) { this.length--; var tmp_value = this.items[key]; delete this.items[key]; } var c = this.keys.length; var str; for(var i = 0; i < c; i++) { str = this.keys[i]; if (str == key) { this.keys.splice(i, 1); break; } } return tmp_value; } } // XMLRequest.js function XMLRequest( url, params ) { _this = this; this.url = url; this.params = params; this.queryString = url + "?" + params; this.http_request = false; this.bAsync = false; this.waiting = false; if ( window.XMLHttpRequest ) { //Mozilla, Safari, Opera, ... this.http_request = new XMLHttpRequest(); } else if ( window.ActiveXObject ) { //Internet Explorer try { this.http_request = new ActiveXObject( "Msxml2.XMLHTTP" ); } catch( e ) { try { this.http_request = new ActiveXObject( "Microsoft.XMLHTTP" ); } catch( e ) { } } } if ( !this.http_request ) { alert( 'Error durante la creación del objeto XMLHTTP' ); return false; } function setQueryString( url, params ) { _this.url = url; _this.params = params; _this.queryString = url + "?" + params; } function processRequest( _httpRequest, processFunction, args ) { if ( _httpRequest.readyState == 4 ) { if ( _httpRequest.status == 200 ) { //modalWaitClose( _httpRequest.responseXML.getElementsByTagName( "result" )[0].getAttribute( "msg" ) ); args.put( "_modalWait", _this.waiting ); processFunction( _httpRequest, args ); } else { modalWaitClose( "Ocurrió un error durante la conexión con el servidor." ); } } } function setPostProcess( bPostProcess, processFunction, args ) { _this.bPostProcess = bPostProcess; if ( _this.bPostProcess ) { _this.processFunction = processFunction; _this.processArgs = args; } } function setWaiting( bWaiting, waitTime, waitMessage ) { _this.waiting = bWaiting; if ( _this.waiting == true ) { _this.waitTime = waitTime; modalWaitOpen( waitTime, waitMessage ); } } function executeRequest() { _this.http_request.abort(); if ( _this.bPostProcess ) { _this.http_request.onreadystatechange = function() { processRequest( _this.http_request, _this.processFunction, _this.processArgs ); }; } _this.http_request.open( 'POST', _this.queryString, _this.bAsync ); _this.http_request.send( null ); return _this.http_request.responseXML; } this.executeRequest = executeRequest; this.setQueryString = setQueryString; this.setPostProcess = setPostProcess; this.setWaiting = setWaiting; } function clearCombo( combo ) { var c = combo.size; for ( var i = 0; i < c ; i++ ) { combo.remove( 0 ); } var oOption = document.createElement( "OPTION" ); combo.options.add( oOption ); oOption.innerText = "Seleccione"; oOption.value = "0"; } function fillCombo( _httpRequest, args ) { var options = _httpRequest.responseXML.getElementsByTagName( "F" ); var cboDestino = document.getElementById( args.get( "combo" ) ); var bClearCombo = args.get( "clearCombo" ); var minLength = 1; if ( bClearCombo ) { clearCombo( cboDestino ); } try { while ( cboDestino.options.length > 1 ) { cboDestino.options[0] = null; } var c = options.length; var xmlOption; var code; var description; var newOption; for ( var i = 0; i < c; i++ ) { xmlOption = options[i]; code = xmlOption.getAttribute( "C" ); description = xmlOption.getAttribute( "D" ); if ( description == "" ) { description = "Seleccione"; code = "0"; } newOption = document.createElement( "OPTION" ); newOption.text = description; newOption.value = code; cboDestino.add( newOption ); } } catch( e ) { } } function processResult( _httpRequest, args ) { var msg = ""; try { msg = _httpRequest.responseXML.getElementsByTagName( "result" )[0].getAttribute( "msg" ); //alert( msg ); } catch( e ) { msg = "La operación no se ha completado debido a un error."; } modalWaitClose( msg, args.get( "_postFunction" ) ); } function seleccionar(nombre, n, cambio) { var check = document.all(nombre + "_check" + n); var fila = document.all(nombre + "_tr" + n); if (cambio || !cambio) { check.checked = !check.checked; } if (check.checked) { fila.style.cssText = "background-color : #D4DBE3"; } else { fila.style.cssText = "background-color : #F1F2F3"; } } // Devuelve el número de checkboxes con name=nombreCheckbox en el formulario frm. function numSeleccionados(frm, nombreCheckbox) { var campos = frm.elements; var numSeleccionados = 0; for (var i = 0; i < campos.length; i++) { if (campos[i].name == nombreCheckbox && campos[i].checked) { numSeleccionados++; } } return numSeleccionados; } function seleccionarTodos(nombre, activar) { var oTabla = document.all(nombre + "_table"); if (oTabla != null) { for (var n = 0; n < oTabla.rows.length; n++) { var idNum = oTabla.rows[n].id.substring(3+nombre.length); var check = document.all(nombre + "_check" + idNum); if (check.checked != activar) { seleccionar(nombre, idNum, false); } } } } // Devuelve los valores de los checkboxes seleccionados. function valores(frm, nombreCheckbox) { var campos = frm.elements; var valores = new Array(); var numSeleccionados = 0; for (var i = 0; i < campos.length; i++) { if (campos[i].name == nombreCheckbox && campos[i].checked) { valores[numSeleccionados] = campos[i].value; numSeleccionados++; } } return valores; } // Devuelve la posición del check con el valor que recibe function posicion(frm, nombreCheckbox, valor) { var strId = -1; var strRet = -1; var oTabla; var campos = frm.elements; for (var i = 0; i < campos.length; i++) { if (campos[i].name == nombreCheckbox && campos[i].value == valor) { strId = campos[i].id.substring(6+nombreCheckbox.length); } } if (strId < 0) return -1; oTabla = document.all(nombreCheckbox + "_table"); for (var i = 0; i < oTabla.rows.length; i++) { if (oTabla.rows[i].id == nombreCheckbox + "_tr" + strId) { return i; } } return -1; } // Devuelve las posiciones seleccionadas del check function posicionesSeleccionadas(objCheckbox) { var posiciones = new Array(); if (!objCheckbox.length) { if (objCheckbox.checked) { posiciones[0] = 0; return posiciones; } } for (var i = 0; i < objCheckbox.length; i++) { if (objCheckbox[i].checked) { posiciones[posiciones.length] = i; } } return posiciones; } function numFilas(nombre) { return document.all(nombre + "_table").rows.length; } // funcion que comprueba que el campo ha sido rellenado function esBlanco(campo) { if (campo.length == 0) return true; else return false; } /*************************************************************************************** VALIDAR NUMERO DE TELEFONO (OMS) Segun los siguientes criterios: - con prefijo del país: un signo y 11 dígitos numéricos (+XXXXXXXXXXX). - sin prefijo del país: 9 dígitos numéricos (XXXXXXXXX). ***************************************************************************************/ function esTelefono(elemento) { var strAux = Trim(elemento.value); var tam = strAux.length; if ((tam != 9) && (tam != 12)) { return false; } if ((tam == 9) && (!esNumeros(strAux))) { return false; } if (tam == 12) { var strAux2 = strAux.substring(1,tam); if ((strAux.substr(0,1) != "+") || (!esNumeros(strAux2))) { return false; } } return true; } /*************************************************************************************** VALIDAR DIRECCION DE CORREO ELECTRONICO (OMS) Segun los siguientes criterios: - la cadena contiene una @. - la cadena contiene algo antes de la @. - la cadena contiene algo después de la @. ***************************************************************************************/ function esEmail(variable) { var strAux = Trim(variable); var posArr = strAux.indexOf("@"); if ((posArr == -1) || (posArr == 0) || (posArr == (strAux.length-1))) { return false; } else { return true; } } /*************************************************************************************** VALIDA SI UNA CADENA DE CARACTERES ESTA FORMADA UNICAMENTE POR DIGITOS NUMERICOS - Entrada: cadena de caracteres - Devuelve: true/false ***************************************************************************************/ function esNumeros(variable) { var patron = /^\d+$/; return patron.test(variable); } //****************************************************** //Función que devuelve una cadena //sin espacios por la derecha y la izquierda. //Elemento:Es el objecto a validar(la caja de texto). //****************************************************** function Trim(str) { var resultStr = ''; resultStr = TrimLeft(str); resultStr = TrimRight(resultStr); return resultStr; } //*************************************************************** //Función que quita los espacios por la izquierda. //str:la cadena a limpiar. //*************************************************************** function TrimLeft(str) { var resultStr = ''; var i = 0; var len = 0 ; if (str+'' == 'undefined' || str == null){return null;} str += ''; if (str.length == 0){ resultStr = ''; }else{ len = str.length; while ((i <= len) && (str.charAt(i) == " ")){i++;} resultStr = str.substring(i, len); } return resultStr; } //********************************************************** //Función que quita los espacios por la derecha. //str:la cadena a limpiar. //********************************************************** function TrimRight(str) { var resultStr=''; var i=0; if (str+'' == 'undefined' || str == null){return null;} str += ''; if (str.length == 0){ resultStr = ''; }else{ i = str.length - 1; while ((i >= 0) && (str.charAt(i) == ' ')){i--;} resultStr = str.substring(0, i + 1); } return resultStr; } // funcion que comprueba si el campo es numerico decimal (positivo o negativo) // El caracter del decimal es el punto o la coma. function esDecimal(campo) { if (esEntero(campo) || esBlanco(campo)) return true; var posPunto = campo.indexOf("."); if (posPunto < 0) posPunto = campo.indexOf(","); if (posPunto < 0) return false; if (!esEntero(campo.substring(0, posPunto))) return false; if (!esEntero(campo.substring(posPunto + 1))) return false; if (campo.charAt(posPunto + 1) == '-') return false; return true; } // funcion que comprueba si el campo es numerico entero (positivo o negativo) function esEntero(campo) { var inLen = campo.length; for (var i=0; i < inLen; i++) { var ch = campo.substring(i, i + 1); if ((ch < "0") || ("9" < ch)) { if (i != 0) return false; else if (ch != "-") return false; } } return true; } function compara_fechas(fechaDesde, fechaHasta){ var fecha1, fecha2 fecha1 = parseInt(fechaDesde.slice(6,10) + fechaDesde.slice(3,5) + fechaDesde.slice(0,2), 10); fecha2 = parseInt(fechaHasta.slice(6,10) + fechaHasta.slice(3,5) + fechaHasta.slice(0,2), 10); if (fecha1 > fecha2) return true; else return false; } // funcion que comprueba si el campo es numerico decimal (positivo o negativo) // El caracter del decimal es la coma y los miles pueen ir separadoa por punto. function esDecimalFormateado(campo) { if (esEntero(campo) || esBlanco(campo)) return true; var posComa = campo.indexOf(","); if (!esEntero(campo.substring(0, posComa))) { var posPunto = campo.indexOf("."); if (!esEntero(campo.substring(0, posPunto))) return false; if (!esEntero(campo.substring(posPunto + 1, posComa-1))) return false; } if (!esEntero(campo.substring(posComa + 1))) return false; if (campo.charAt(0) == '-') return false; return true; } function crearVentana(idVentana, urlVentana, ancho, alto, posX, posY) { if (document.getElementById(idVentana) == null) { var ventana = document.createElement("div"); ventana.id = idVentana; ventana.style.position = "absolute"; ventana.style.width = ancho; ventana.style.height = alto; ventana.style.top = posY; ventana.style.left = posX; ventana.style.visibility = "visible"; ventana.style.zindex = "2000"; ventana.style.border = "2px solid #000000"; document.body.appendChild(ventana); //crearBarra(idVentana); crearContenido(idVentana, urlVentana); } } function crearBarra(idVentana) { var barra = document.createElement("div"); barra.id = "divBarra"; barra.style.zindex = "3000"; barra.style.visibility = "visible"; barra.style.background = "#FFFFFF"; barra.style.position = "relative"; barra.style.top = "1%"; barra.style.left = "1%"; barra.style.width = "98%"; barra.style.height = "20px"; barra.style.border = "2px solid #000000"; barra.style.cursor = "move"; barra.onmousedown = function() { div_onMouseDown(idVentana); }; document.getElementById(idVentana).appendChild(barra); } function crearContenido(idVentana, urlVentana) { var contenedor = document.createElement("div"); contenedor.id = "divContenido"; contenedor.style.background = "#FFFFFF"; contenedor.style.position = "relative"; /* contenedor.style.top = "1%"; contenedor.style.left = "1%"; contenedor.style.overflow = "hidden"; contenedor.style.border = "2px solid #000000"; */ contenedor.style.width = "100%"; contenedor.style.height = "100%"; var contenido = document.createElement("iframe"); contenido.id = "contenido"; contenido.src = urlVentana; contenido.style.height = "100%"; contenido.style.width = "100%"; contenedor.appendChild(contenido); document.getElementById(idVentana).appendChild(contenedor); } function destruirVentana(idVentana) { var ventana = document.getElementById(idVentana); document.body.removeChild(ventana); } function mostrarVentana(idVentana) { var ventana = document.getElementById(idVentana); var hijos = ventana.childNodes; for (var i = 0; i < hijos.length; i++) { hijos[i].style.visibility = "visible"; } ventana.style.visibility = "visible"; } function ocultarVentana(idVentana) { var ventana = document.getElementById(idVentana); var hijos = ventana.childNodes; for (var i = 0; i < hijos.length; i++) { hijos[i].style.visibility = "hidden"; } ventana.style.visibility = "hidden"; } function loadModalWindows( width, height ) { var iCristal = document.createElement( "iframe" ); iCristal.id = "ifraCristal"; iCristal.style.position = "absolute"; iCristal.style.left = String( 0 ) + "px"; iCristal.style.top = String( 0 ) + "px"; iCristal.style.width = String( width ) + "px"; iCristal.style.height = String( height ) + "px"; iCristal.style.filter = "alpha(opacity=0)" iCristal.style.background = "#000000"; iCristal.style.borderColor = "#000000"; iCristal.style.borderWidth = "3px"; iCristal.style.borderStyle = "solid"; iCristal.style.zIndex = "1000"; iCristal.style.display = "none"; document.body.appendChild( iCristal ); var cristal = document.createElement( "div" ); cristal.id = "divCristal"; cristal.style.position = "absolute"; cristal.style.left = String( 0 ) + "px"; cristal.style.top = String( 0 ) + "px"; cristal.style.width = String( width ) + "px"; cristal.style.height = String( height ) + "px"; cristal.style.filter = "alpha(opacity=25)" cristal.style.background = "#000000"; cristal.style.borderColor = "#000000"; cristal.style.borderWidth = "3px"; cristal.style.borderStyle = "solid"; cristal.style.zIndex = "1010"; cristal.style.display = "none"; document.body.appendChild( cristal ); } function modalWindowShow( idVentana ) { try { window.top.frames[0].showBackground(); } catch( e ) { } document.body.style.overflow = "hidden"; ventana = document.getElementById( idVentana ); fondo = document.getElementById( "divCristal" ); ifondo = document.getElementById( "ifraCristal" ); ventana.style.position = "absolute"; ventana.style.borderColor = "#000000"; ventana.style.borderWidth = "1px"; ventana.style.borderStyle = "solid"; ventana.style.zIndex = "1100"; ventana.style.display = ""; ventana.focus(); fondo.style.display = ""; ifondo.style.display = ""; } function modalWindowHide( idVentana ) { try { window.top.frames[0].hideBackground(); } catch( e ) { } document.body.style.overflow = "auto"; ventana = document.getElementById( idVentana ); fondo = document.getElementById( "divCristal" ); ifondo = document.getElementById( "ifraCristal" ); ventana.style.display = "none"; fondo.style.display = "none"; ifondo.style.display = "none"; //document.getElementById( "divMessage" ).innerHTML = ""; } function _emptyAction() { } function modalAlert( message, action ) { document.getElementById( "divMessage" ).innerHTML = message; document.getElementById( "divConfirmButton" ).style.display = "none"; document.getElementById( "divAlertButton" ).style.display = ""; document.getElementById( "alertButton" ).onclick = function() { modalWindowHide( "modalAlert" ); if ( action != undefined ) { action(); } } modalWindowShow( "modalAlert" ); } function modalConfirm( message, yesAction, noAction ) { document.getElementById( "divMessage" ).innerHTML = message; document.getElementById( "divAlertButton" ).style.display = "none"; document.getElementById( "divConfirmButton" ).style.display = ""; document.getElementById( "yesButton" ).onclick = function() { modalWindowHide( "modalAlert" ); yesAction(); } document.getElementById( "noButton" ).onclick = function() { modalWindowHide( "modalAlert" ); if ( noAction != undefined ) { noAction(); } } modalWindowShow( "modalAlert" ); } var _modalMessage = "Operación en curso"; var _appendMessage = ""; var _changeInterval; var _closingTimeout; function setModalMessage( message ) { _modalMessage = message; } function modalMessageChange() { if ( _appendMessage.length == 3 ) { _appendMessage = ""; } else { _appendMessage += "."; } document.getElementById( "divMessage" ).innerHTML = _modalMessage + _appendMessage; } function modalWaitOpen( timeLimit, message ) { setModalMessage( message ); _changeInterval = setInterval( "modalMessageChange()", 300 ); document.getElementById( "divAlertButton" ).style.display = "none"; document.getElementById( "divConfirmButton" ).style.display = "none"; modalWindowShow( "modalAlert" ); _closingTimeout = setTimeout( "modalWaitClose( 'La operación ha excedido su tiempo límite.' )", timeLimit ); } function modalWaitClose( _alertMessage, action ) { clearTimeout( _closingTimeout ); clearInterval( _changeInterval ); if ( _alertMessage != undefined && _alertMessage != "" ) { modalAlert( _alertMessage, action ); } else { modalWindowHide( "modalAlert" ); } } function ParameterCollection(arg, optionalSeparator) { var mySeparator = ";"; var body = new String(arg); var parameters = new Hash(); if (optionalSeparator != undefined) { mySeparator = optionalSeparator; } var mainTokens = body.split(mySeparator); var name, value; var token; var j = 0; for (var i=0; i < mainTokens.length; i++) { token = mainTokens[i]; j = token.indexOf("="); if (j == -1) continue; name = token.substring(0, j).toUpperCase(); value = token.substring(j + 1); parameters.put(name, value); } this.set = function(argument, value) { var ARG = argument.toUpperCase(); if (parameters.contains(ARG)) { parameters.remove(ARG); } parameters.put(ARG, value); } this.parameterNames = function() { return parameters.keys; } this.size = function() { return parameters.length; } this.get = function(arg) { var str = arg.toUpperCase(); if (parameters.contains(str)) return parameters.get(str); return null; } this.getString = function(arg) { var str = this.get(arg); if (str == null) return ""; return str; } this.toString = function() { var e = parameters.parameterNames(); var str = null; var key = null; var sb = ""; var c = parameters.length; for (var i = 0; i < c; i++) { key = e[i]; str = parameters.get(key); if (str != null) { sb += (key + "=" + str + ";"); } else { sb += key + "=;"; } } return sb; } } var show_objects = true; function KramaFlash(url_img, alt_img, archivoswf, width, height, bgcolor, idflash, wmode, loop, play, scale, quality, name, swLiveConnect) { if (show_objects) { if (wmode != "transparent") { wmode = "opaque"; } if (quality == "" || quality == null || quality == undefined) { quality = 'high'; } var protocolo = location.protocol; if (protocolo != "https:") protocolo = "http:"; document.write(''); document.write(''); document.write(''); document.write(''); if (scale != "" && scale != null && scale != undefined) { document.write(''); } if (loop != "" && loop != null && loop != undefined) { document.write(''); } if (play != "" && play != null && play != undefined) { document.write(''); } if (bgcolor != "" && bgcolor != null && bgcolor != undefined) { document.write(''); } document.write(''); document.write('' + alt_img + ''); document.write(''); } else { document.write('' + alt_img + ''); } } function doClock(){ var t=new Date(),a=doClock.arguments,str="",i,a1,lang="5"; var month=new Array('enero','enero', 'febrero','feb', 'marzo','marzo', 'abril','abr', 'mayo','mayo', 'junio','jun', 'julio','jul', 'agosto','agosto', 'septiembre','sept', 'octubre','oct', 'noviembre','nov', 'diciembre','dic'); var tday= new Array('Domingo','dom','Lunes','lun', 'Martes','mar', 'Miércoles','mié','Jueves','jue','Viernes','vie','Sábado','sáb'); for(i=0;i1)?t.getMonth()+1:month[t.getMonth()*2+Number(a1)];break; case "D": if ((Number(a1)==1) && (t.getDate()<10)) str+="0";str+=t.getDate();break; case "Y": str+=(a1=='0')?t.getFullYear():t.getFullYear().toString().substring(2);break; case "W":str+=tday[t.getDay()*2+Number(a1)];break; default: str+=unescape(a[i]);}}return str; } function ListaP7d(pageOrdinal, size, chunkSize) { //campos privados var v_chunkSize = 0; var v_chunkCount = 0; var v_chunk = 0; //campos públicos var SIZE = 0; var CURPAGE = null; var LBOUND = 0; var UBOUND = 0; var NUMPAGES = null; var PREVIOUSPAGE = null; var NEXTPAGE = null; //constructor v_chunkSize = chunkSize; SIZE = size; v_chunk = pageOrdinal; if (v_chunk > 0) { v_chunk = v_chunk - 1; } LBOUND = v_chunkSize * v_chunk; UBOUND = LBOUND + v_chunkSize; CURPAGE = "" + (v_chunk + 1); v_chunkCount = parseInt(SIZE / v_chunkSize); if (v_chunkCount * v_chunkSize < SIZE) { v_chunkCount = v_chunkCount + 1; } NUMPAGES = v_chunkCount == 0 ? "1" : "" + v_chunkCount; PREVIOUSPAGE = "" + v_chunk; NEXTPAGE = "" + (v_chunk + 2); this.SIZE = SIZE; this.CURPAGE = CURPAGE; this.LBOUND = LBOUND; this.UBOUND = UBOUND; this.NUMPAGES = NUMPAGES; this.PREVIOUSPAGE = PREVIOUSPAGE; this.NEXTPAGE = NEXTPAGE; //métodos de la clase this.next = function() { return v_chunk < (v_chunkCount - 1); } this.previous = function() { return v_chunk > 0; } this.skip = function(idx) { return idx < LBOUND; } this.end = function(idx) { return idx >= UBOUND; } }