/*function Date2Str(date){ return date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate(); }*/ function Contains(aElems, elem){ for (var i = 0; i < aElems.length; i ++){ if (aElems[i] == elem){ return true; } } return false; } function ClearForm(oform){ var elems = oform.getElementsByTagName("input"); for(var i = 0; i < elems.length; i ++) { if(elems[i].type == 'text') elems[i].value = ''; if(elems[i].type == 'checkbox') elems[i].checked = false; } elems = oform.getElementsByTagName("select"); for(var i = 0; i < elems.length; i ++) { elems[i].selectedIndex = 0; } elems = oform.getElementsByTagName("textarea"); for(var i = 0; i < elems.length; i ++) { elems[i].value = ''; } } function DecimalSeparator() { if (parseFloat("0.2") > 0) return '.'; else return ','; } // Right way to use this function: onkeypress='return NumericKey(event, allowDecimal);' function NumericKey(evt, allowDecimal) { var kCode; if (evt.keyCode) kCode = evt.keyCode; else if (evt.which) kCode = evt.which; // - = 45 if (kCode == 45) { return EventSource(evt).value.indexOf('-') == -1 && EventSource(evt).value.length == 0; } // 8 = backslash; 9 = tab; 37 left arrow; 39 right arrow (and also '); 35 end; 36 home; 46 delete (in FF) if (kCode == 8 || kCode == 9 || kCode == 37 || kCode == 39 || kCode == 35 || kCode == 36 || (evt.keyCode == 46 && evt.charCode == 0 && evt.which == 0)) return true; if (allowDecimal && kCode == DecimalSeparator().charCodeAt(0)) { // Do not allow double separator return EventSource(evt).value.indexOf(DecimalSeparator()) == -1; } // 44 = , ; 46 = . if (allowDecimal && (kCode == 44 || kCode == 46) && kCode != DecimalSeparator().charCodeAt(0)) { if (evt.keyCode) evt.keyCode = DecimalSeparator().charCodeAt(0); else if (evt.which) { var newEvent = document.createEvent("KeyEvents") newEvent.initKeyEvent("keypress", true, true, document.defaultView, evt.ctrlKey, evt.altKey, evt.shiftKey,evt.metaKey, 0, DecimalSeparator().charCodeAt(0)) evt.preventDefault() evt.target.dispatchEvent(newEvent); return false; } // Do not allow double separator return EventSource(evt).value.indexOf(DecimalSeparator()) == -1; } if (kCode < 48 || kCode > 57) { // Show alert delayed so that WatiN can process it !!!! var srcId = EventSource(evt).id; setTimeout("alert(NumericKeyErrorMessage());if(document.getElementById('" + srcId + "').focus) document.getElementById('" + srcId + "').focus();", 50); return false; } return true; } // Right way to use this function: onkeypress='return TextKey(event, iMaxlength);' function TextKey(evt, iMaxLength, sFieldName) { var kCode; if (evt.keyCode) kCode = evt.keyCode; else if (evt.which) kCode = evt.which; // 8 = backslash; 9 = tab; 37 left arrow; 39 right arrow; 35 end; 36 home; 46 delete if (kCode == 8 || kCode == 9 || kCode == 37 || kCode == 39 || kCode == 35 || kCode == 36 || kCode == 46) return true; var valid = EventSource(evt).value.length < iMaxLength; if (! valid) { var message = MaxLengthErrorMessage().replace('{Name}', sFieldName + ''); setTimeout("alert('" + message + "');", 50); EventSource(evt).value = EventSource(evt).value.substr(0, iMaxLength); } return valid; } function CheckNumeric(sObjectId, sFieldName, allowEmpty, min, max) { var obj = $('#' + sObjectId)[0]; var iValue; var isWrong = obj == null || obj.value == null; // Object exists and has value if (!isWrong && ! allowEmpty && obj.value.length == 0) {// Allows empty values or is not empty isWrong = false; } if (!isWrong && allowEmpty && obj.value.length == 0){ // If it is empty and it is allowed, finish check here $('#' + sObjectId).removeClass('fieldError'); return ''; } if (!isWrong) { iValue = parseFloat(obj.value); isWrong = iValue != obj.value; // Value before and after parse must be the same ! } /*if (!isWrong && typeof(min) != 'undefined') {// Check for min if it exists isWrong = min > iValue; } if (!isWrong && typeof(max) != 'undefined') {// Check for max if it exists isWrong = max < iValue; }*/ if (isWrong) { var a = IsNumericErrorMessage(); $('#' + sObjectId).addClass('fieldError'); a = a.replace('{Name}', sFieldName + ''); a = a.replace('{MinValue}', min + ''); return a.replace('{MaxValue}', max + '') + '\n'; } else { $('#' + sObjectId).removeClass('fieldError'); return ''; } } function CheckTextLength(sObjectId, sFieldName, iMaxLength) { var obj = $(sObjectId); if (obj == null || obj.value == null || obj.value.length > iMaxLength) { var a = MaxLengthErrorMessage(); obj.addClassName('fieldError'); return a.replace('{Name}', sFieldName + '') + '\n'; } else { obj.removeClassName('fieldError'); return ''; } } function CheckNotEmpty(sObjectId, sFieldName) { var obj = $('#' + sObjectId)[0]; if (obj == null || obj.value == null || obj.value.length == 0) { var a = 'The field {Name} must be completed'; $('#' + sObjectId).addClass('fieldError'); return a.replace('{Name}', sFieldName + '') + '\n'; } else { $('#' + sObjectId).removeClass('fieldError'); return ''; } } function CheckValidPassord(sObject1Id, sObject2Id) { var obj1 = $('#' + sObject1Id)[0]; var obj2 = $('#' + sObject2Id)[0]; if (obj1 == null || obj1.value == null || obj1.value.length == 0 || obj2 == null || obj2.value == null || obj2.value.length == 0 || obj1.value != obj2.value) { var a = 'Las password ingresadas no coinciden'; $('#' + sObject1Id).addClass('fieldError'); $('#' + sObject2Id).addClass('fieldError'); return a + '\n'; } else { $('#' + sObject1Id).removeClass('fieldError'); $('#' + sObject2Id).removeClass('fieldError'); return ''; } } function CheckRadioNotEmpty(sObjectId, sFieldName) { var value = GetRadioValue(sObjectId); if (value == null) { var a = RadioEmptyErrorMessage(); return a.replace('{Name}', sFieldName + '') + '\n'; } else { return ''; } } function CheckValidEmail(sObjectId, sFieldName) { var obj = $('#' + sObjectId)[0]; var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; if (obj.value.length == 0 || filter.test(obj.value)) { $('#' + sObjectId).removeClass('fieldError'); return ''; } else { var a = 'Invalid eMail'; $('#' + sObjectId).addClass('fieldError'); return a.replace('{Name}', sFieldName + '') + '\n'; } } function CheckEqual(sObject1Id, sObject2Id, sFieldName1, sFieldName2) { var obj1 = $('#' + sObject1Id)[0]; var obj2 = $('#' + sObject2Id)[0]; if (obj1.value != obj2.value) { var a = NotEqualErrorMessage(); obj1.addClassName('fieldError'); obj2.addClassName('fieldError'); a = a.replace('{Name1}', sFieldName1 + ''); return a.replace('{Name2}', sFieldName2 + '') + '\n'; } else { obj1.removeClassName('fieldError'); obj2.removeClassName('fieldError'); return ''; } } // Check that sObject1Id <= sObject2Id function CheckLowerEqual(sObject1Id, sObject2Id, sFieldName1, sFieldName2) { if ($F(sObject1Id).length > 0 && $F(sObject2Id).length > 0 && parseInt($F(sObject1Id)) > parseInt($F(sObject2Id))) { var a = NotLowerEqualErrorMessage(); $('#' + sObject1Id)[0].addClassName('fieldError'); $('#' + sObject2Id)[0].addClassName('fieldError'); a = a.replace('{Name1}', sFieldName1 + ''); return a.replace('{Name2}', sFieldName2 + '') + '\n'; } else { $('#' + sObject1Id)[0].removeClassName('fieldError'); $('#' + sObject2Id)[0].removeClassName('fieldError'); return ''; } } function IsValidDate(sObjectId) { var obj_day = $('#ddlDay' + sObjectId)[0]; var obj_month = $('#ddlMonth' + sObjectId)[0]; var obj_year = $('#ddlYear' + sObjectId)[0]; var nDays if (obj_day == null || obj_month == null || obj_year == null || obj_day.value == null || obj_month.value == null || obj_year.value == null || (obj_year.value.length == 0 && obj_month.value.length == 0 && obj_day.value.length == 0)) { return true; } if (obj_day.value == 0 || obj_month.value == 0 || obj_year.value == 0) { return false; } if (obj_month.value != 2) { if (obj_month.value == 4 || obj_month.value == 6 || obj_month.value == 9 || obj_month.value == 11) { nDays = 30; } else { nDays = 31; } } else { if ((obj_year.value) == (parseInt(obj_year.value / 4) * 4)) { nDays = 29; } else { nDays = 28; } } if (obj_day.value > nDays) { return false; } return true; } function IsEmptyDate (sObjectId) { var obj_day = $('#ddlDay' + sObjectId)[0]; var obj_month = $('#ddlMonth' + sObjectId)[0]; var obj_year = $('#ddlYear' + sObjectId)[0]; if (obj_day == null || obj_month == null || obj_year == null || obj_day.value == null || obj_month.value == null || obj_year.value == null || (obj_year.value.length == 0 && obj_month.value.length == 0 && obj_day.value.length == 0)) { return true; } else { return false; } } function CheckValidDate(sObjectId, sFieldName) { if (IsValidDate(sObjectId)) { $('#ddlDay' + sObjectId).removeClass('fieldError'); return ''; } else { var error = InvalidDateErrorMessage(); $('#ddlDay' + sObjectId).addClass('fieldError'); return error.replace('{Name}', sFieldName + '') + '\n'; } } function CheckEmptyDate(sObjectId, sFieldName) { if (IsEmptyDate(sObjectId)) { var error = EmptyDateErrorMessage(); $('#ddlDay' + sObjectId).addClass('fieldError'); return error.replace('{Name}', sFieldName + '') + '\n'; } else { $('#ddlDay' + sObjectId).removeClass('fieldError'); return ''; } } function GetDate(sObjectId) { if (! $('#ddlYear' + sObjectId)[0].disabled && ! IsEmptyDate(sObjectId) && IsValidDate(sObjectId)) { return new Date($('#ddlYear' + sObjectId)[0].value, $('#ddlMonth' + sObjectId)[0].value - 1, ($('#ddlDay' + sObjectId).length > 0 ? $('#ddlDay' + sObjectId)[0].value : 1)); } else return null; } var _alreadySubmitted = false; function ResetDoubleSubmit() { _alreadySubmitted = false; } function PreventDoubleSubmit() { if (_alreadySubmitted) { alert (DoubleSubmitErrorMessage()); return false; } else { _alreadySubmitted = true; return true; } } function TestSubmitForm(sAction, doOnBeforeSubmit){ var sError = (typeof(ValidateForm) != 'undefined' ? ValidateForm(sAction) : ''); var frm = document.getElementById('frm'); if (sError == 'CANCEL_SUBMIT') return false; if (sError == null || sError.length == 0){ frm.txtAccion.value = sAction; if (doOnBeforeSubmit && typeof(OnBeforeSubmit) != 'undefined'){ OnBeforeSubmit(); } return true; }else{ alert(sError); } return false; } var _submitForm_eventSrc; var _submitting = 0; function SubmitForm(sAction, evt){ var evtSrc = EventSource(evt); evtSrc.disabled = true; _submitForm_eventSrc = evtSrc; if (_submitting == 1) { alert('El formulario ya fue enviado, por favor espere.'); return; } if (TestSubmitForm(sAction, true)) { _submitting = 1; var frm = document.getElementById('frm'); if (typeof(UploadFileAndSubmit) != 'undefined'){ UploadFileAndSubmit(); } else { if(editores != null && editores.length > 0) { for (i = 0; i < editores.length; i ++) { for (j = 0; j < editores[i].nicInstances.length; j ++) { editores[i].nicInstances[j].saveContent(); } } } frm.submit(); } } else { _submitting = 0; evtSrc.disabled = false; return false; } } function ViewReport(reportUrl, width, height, name, evt){ var sError = (typeof(ValidateForm) != 'undefined' ? ValidateForm(reportUrl) : ''); if (sError == null || sError.length == 0){ OpenPopUp("", width, height, name); var frm = document.getElementById('frm'); frm.action = reportUrl; frm.target = name; frm.submit(); } else { alert(sError); return false; } } function ForEachInput(sType, action){ var inputs = document.getElementsByTagName('input'); for (var i = 0; i < inputs.length; i ++){ if (inputs[i].type == sType){ var elem = inputs[i]; eval(action); } } } function EventSource(evt){ var targ; if (evt.currentTarget) targ = evt.currentTarget; else if (evt.srcElement) targ = evt.srcElement; if (targ.nodeType == 3) // defeat Safari bug targ = targ.parentNode; return targ; } function RegisterEventHandler(evt, handler){ var old = (evt) ? evt : function () {}; return function () {old(); handler()}; } //Register onload function to add autocomplete off to all input so that firefox does not throw errors window.onload = RegisterEventHandler(window.onload, SetAutocompleteOff); window.onload = RegisterEventHandler(window.onload, AddDefaultSubmit); window.onload = RegisterEventHandler(window.onload, DoJsOnLoad); window.onload = RegisterEventHandler(window.onload, NiftyCorners); function DoJsOnLoad(){ if(typeof(JsOnLoad) != "undefined") JsOnLoad(); } function NiftyCorners() { if(typeof(NiftyCheck) != "undefined") { if(!NiftyCheck()) return; if(typeof(Redondear) != "undefined") Redondear(); } } function SetAutocompleteOff() { if (document.getElementsByTagName) { var inputElements = document.getElementsByTagName('input'); for (i = 0; inputElements[i]; i++) inputElements[i].setAttribute('autocomplete','off'); } } function addInputSubmitEvent(form, input) { input.onkeydown = function(e) { e = e || window.event; if (e.keyCode == 13) { SubmitEnterPressed(); return false; } }; } function AddDefaultSubmit(){ if(typeof(SubmitEnterPressed) != "undefined") { var forms = document.getElementsByTagName('form'); for (var i = 0; i < forms.length; i++) { var inputs = forms[i].getElementsByTagName('input'); for (var j = 0;j < inputs.length; j++) { if(inputs[j].tagName.toLowerCase() != 'textarea'){ addInputSubmitEvent(forms[i], inputs[j]); } } } } } function GoBack(){ history.go(-1); } function SelectAllText(objId){ setTimeout("$('#" + objId + "')[0].select();", 100); } function GetElementsByName(sName){ var rootAll = document.getElementsByTagName('*'); var retCol = new Array(); for(var i=0, ii=rootAll.length; i < ii; i ++) { var attrib = (rootAll[i].attributes != null && rootAll[i].attributes.getNamedItem('name') != null ? rootAll[i].attributes.getNamedItem('name').value : null); if (rootAll[i].name != null && rootAll[i].name.length > 0) // IE Hack attrib = rootAll[i].name; // IE Hack if (attrib == sName) retCol.push(rootAll[i]); } return retCol; } function GetElementsBegginingWithName(sName){ var rootAll = document.getElementsByTagName('*'); var retCol = new Array(); var lenName = sName.length; for(var i = 0, ii = rootAll.length; i < ii; i ++) { var attrib = (rootAll[i].attributes != null && rootAll[i].attributes.getNamedItem('name') != null ? rootAll[i].attributes.getNamedItem('name').value : null); if (rootAll[i].name != null && rootAll[i].name.length > 0) // IE Hack attrib = rootAll[i].name; // IE Hack if (attrib != null && attrib.substr(0, lenName) == sName) retCol.push($('#' + rootAll[i].id)[0]); } return retCol; } function RemoveSelectedOptions(sControlId){ var sel = $('#' + sControlId)[0]; if (sel != null) { for(var i = 0; i < sel.options.length; i ++) { if (sel.options[i].selected) { sel.remove(i); i --; } } } } function ValidateElement(sComboId){ var elem = $('#' + sComboId)[0]; var retVal; if(elem.multiple && elem.selectAll) elem.selectAll(); // For lists, select all so that the value changes, and then deselectAll. This may pose a problem if there's a list where the user has to select a subset with ctrl ! if (! elem.disabled && elem.visible() && elem.value == '') { elem.addClassName('fieldError'); retVal = false; } else { elem.removeClassName('fieldError'); retVal = true; } if(elem.multiple && elem.deselectAll) elem.deselectAll(); return retVal; } function OpenPopUp(url, width, height, name) { if (width === undefined) width = 600; if (height === undefined) height = 400; if (name === undefined) name = "__another_popup" + (Math.random() + "").replace(/\./g, ""); var popup = window.open(url, name, "scrollbars=1,height=" + height + ",width=" + width + ",menubar=0,status=0,toolbar=0,resizable=1"); CenterWindow(popup, width, height); popup.focus(); return popup; } function CenterWindow(win, width, height){ if (win === undefined || width === undefined || height === undefined ) { height = document.documentElement.clientHeight; width = document.documentElement.clientWidth; win = window; } win.moveTo((screen.availWidth / 2) - (width / 2) - 0, (screen.availHeight / 2) - (height / 2) - 0); } function MaximizeWindow(win){ win.moveTo(0, 0); win.resizeTo(screen.availWidth, screen.availHeight); } function SetRadioValue(radioName, value) { var radios = document.getElementsByName(radioName); if (radios != null) { for (var i = 0; i < radios.length; i ++) { radios[i].checked = radios[i].value == value; if (radios[i].value == value) radios[i].click(); } } } function GetRadioValue(radioName) { var radios = document.getElementsByName(radioName); if (radios != null) { for (var i = 0; i < radios.length; i ++) { if (radios[i].checked) return radios[i].value; } } return null; } function ChangeFormPart(iPart, totalParts) { var iCurrentPart; var sError; for(var i = 0; i < totalParts; i ++) { if ($('#FormPart' + i)[0].visible()) iCurrentPart = i; } sError = ValidateFormPart(iCurrentPart); if (sError.length == 0) { for(var i = 0; i < totalParts; i ++) { if (i == iPart) { $('#FormPart' + i)[0].show(); $('#menuFormPart' + i)[0].addClassName('seleccionado'); } else { $('#FormPart' + i)[0].hide(); $('#menuFormPart' + i)[0].removeClassName('seleccionado'); } } } else { alert(sError); } } /*
*/ function getOuterHTML(obj){ var temp = document.getElementById(obj).cloneNode(true); document.getElementById('tempDiv').appendChild(temp); var outer = document.getElementById('tempDiv').innerHTML; document.getElementById('tempDiv').innerHTML = ''; return outer } /* function setMaxHeight(to, notChanging){ // to = elemento al que se le sube el height // notChanging = elemento cuya altura no tiene que cambiar var originalHeightNotChanging = $("#" + notChanging).height(); alert(originalHeightNotChanging); } */ function cargarOpciones(controlId, controlTarget, type, parentId) { if (parentId == "") { $('#' + controlTarget).html(""); return; } $.ajaxSetup({ async: false }); $.getJSON("/includes/controls/ajax_elems.php?et=" + type + "&pi=" + parentId, function(data) { ii = data.length; var sHtml = ""; var len = $('#' + controlId)[0].options[$('#' + controlId)[0].selectedIndex].text.length + 3; var nom = ""; for(i = 0; i < ii; i ++){ nom = data[i].nombre_completo.substr(len); sHtml += "