// General functions for validating forms var OPERA = (/Opera/i.test(window.navigator.userAgent)); var IE = (/MSIE/i.test(window.navigator.userAgent) && !OPERA); var IE6 = (/MSIE 6/i.test(window.navigator.userAgent) && !OPERA); var IE7 = (/MSIE 7/i.test(window.navigator.userAgent) && !OPERA); var MOZ = (/(Firefox|gecko)/i.test(window.navigator.userAgent)); var mouseX = 0; var mouseY = 0; function check_fecha(caja){ if (caja){ borrar = caja; if ((caja.substr(4,1) == "-") && (caja.substr(7,1) == "-")){ a = caja.substr(0,4); m = caja.substr(5,2); d = caja.substr(8,2); if((a < 1900) || (a > 2050) || (m < 1) || (m > 12) || (d < 1) || (d > 31)) return false; else{ if((a%4 != 0) && (m == 2) && (d > 28)) return false; else{ if ((((m == 4) || (m == 6) || (m == 9) || (m==11)) && (d>30)) || ((m==2) && (d>29))) return false; else{ return true; } } } }else return false; } } function encode(v) { return escape(v).replace(/\+/ig, '%2B').replace(/\//ig, '%2F'); } //By Demipedia function trim(v) { return v.replace(/^\s+/i, '').replace(/\s+$/i, ''); } function inArray(item, array) { for (var i=0;i 1 ) Params=extraParams + "&"; for ( var elem=0; elem0) Params+="&"; Params+=elemForm.name + "=" + elemForm.value; } } else { if (elemForm.type=="radio") { if (elemForm.checked) { if (elem>0) Params+="&"; Params+=elemForm.name + "=" + elemForm.value; } } else { if (elem>0) Params+="&"; Params+=elemForm.name + "=" + elemForm.value; } } }//next elem //la url a la cual se envia el ajax es el action del form var url= objForm.action //Una vez que recorri el formulario lo envio var ajax=newAjax(); if (method =="GET") url+="?" + Params; ajax.open( method, url,true); if (method =="POST") { ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); postParams= Params; } else postParams=""; ajax.send(postParams); if ( !noDivResultToFunction ) { document.getElementById(divTargetId).innerHTML = ""; if ( document.getElementById(divStatusId) ) //document.getElementById(divStatusId).innerHTML = "Please wait..."; document.getElementById(divStatusId).innerHTML = document.getElementById('loading_img').innerHTML; } ajax.onreadystatechange=function() { if (ajax.readyState==1) { if ( !noDivResultToFunction ) { document.getElementById(divTargetId).innerHTML = ""; if ( document.getElementById(divStatusId) ) //document.getElementById(divStatusId).innerHTML = "Please wait..."; document.getElementById(divStatusId).innerHTML = document.getElementById('loading_img').innerHTML; } } if (ajax.readyState==4) { if ( !noDivResultToFunction ) { document.getElementById( divTargetId ).innerHTML = ajax.responseText; if ( document.getElementById( divStatusId ) ) if ( divStatusId != divTargetId ) //document.getElementById( divStatusId ).innerHTML = ""; if ( functionRun ) //Si mando una funcion para que ejecute al finalizar el request la ejecuto functionRun(); } else functionRun(ajax.responseText); }//fin del stado 4 } }//end sendFormAjaxs //Function auxiliar de sendFormAjaxs function nada(){ return 0; } /*@autor Miguel Zabala * Funcion que envia parametros a un archivo de script a travez de ajax, coloca la salida en * en la capa especificada en contentObjId , y el estado de la transaccion en la capa * especificada en statusObjId. Ambas capas comunmente podrian ser la misma. * Los parametros son enviador por el metodo POST * * @param string url * direccion del archivo de script (EJ: /users/validate_users_ajax.php , www.dom.com/arch.php) * @param string params * parametros que se le van a enviar al archivo de scripting (EJ: par1=12&par2=miguel) * @param string contentObjId * Capa u objeto en el cual se va a colocar la salida del arhivo ajax * @param string statusObjId * Capa u objeto en el cual se va a colocar el estado del arhivo ajax */ function easy_ajax(url, params, contentObjId, statusObjId) { var ajax=newAjax(); ajax.open("POST", url,true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send(params); //document.getElementById(statusObjId).innerHTML = "Please wait..."; document.getElementById(statusObjId).innerHTML = document.getElementById('loading_img').innerHTML; document.getElementById(statusObjId).style.cursor = 'wait'; ajax.onreadystatechange=function() { if (ajax.readyState==1) { document.getElementById(contentObjId).innerHTML = ""; //document.getElementById(statusObjId).innerHTML = "Please wait..."; document.getElementById(statusObjId).innerHTML = document.getElementById('loading_img').innerHTML; document.getElementById(statusObjId).style.cursor = 'wait'; } if (ajax.readyState==4) { document.getElementById(statusObjId).innerHTML = ""; document.getElementById(contentObjId).innerHTML = ajax.responseText; document.getElementById(statusObjId).style.cursor = 'default'; }//fin del stado 4 } }//end /*@autor Miguel Zabala * Funcion que envia parametros a un archivo de script a travez de ajax, coloca la salida en * en la capa especificada en contentObjId , y el estado de la transaccion en la capa * especificada en statusObjId. Ambas capas comunmente podrian ser la misma. * Los parametros son enviador por el metodo POST * * @param string url * direccion del archivo de script (EJ: /users/validate_users_ajax.php , www.dom.com/arch.php) * @param string params * parametros que se le van a enviar al archivo de scripting (EJ: par1=12&par2=miguel) * @param string contentObjId * Capa u objeto en el cual se va a colocar la salida del arhivo ajax * @param string statusObjId * Capa u objeto en el cual se va a colocar el estado del arhivo ajax * @params object functionRun * nombre en crudo sin '' de una funcion que deba ejecutarse al recibir la respuesta del script * @params string noDivResultToFunction ( 0 / 1 / 2 / 3 ) * si esta en 0 envia los resultados al el div especificado * si esta en 1 no envia los resultados del script a los div lo envia como parametro a la funcion indicada en functionRun * si esta en 2 envia el resultado del script a el div y ejecuta la funcion en javascript * si esta en 3 envia el resultado del script a el div y ejecuta la funcion en javascript enviandole el rultado tambien como parametro a la funcion indicada en functionRun */ function easy_ajax2(url, params, contentObjId, statusObjId, functionRun , noDivResultToFunction) { var ajax=newAjax(); ajax.open("POST", url,true); ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send(params); //document.getElementById(statusObjId).innerHTML = "Please wait..."; document.getElementById(statusObjId).innerHTML = document.getElementById('loading_img').innerHTML; document.getElementById(statusObjId).style.cursor = 'wait'; ajax.onreadystatechange=function() { if (ajax.readyState==1) { document.getElementById(contentObjId).innerHTML = ""; //document.getElementById(statusObjId).innerHTML = "Please wait..."; document.getElementById(statusObjId).innerHTML = document.getElementById('loading_img').innerHTML; document.getElementById(statusObjId).style.cursor = 'wait'; } if (ajax.readyState==4) { document.getElementById(statusObjId).innerHTML = ""; document.getElementById(statusObjId).style.cursor = 'default'; switch (noDivResultToFunction){ case 0: document.getElementById(contentObjId).innerHTML = ajax.responseText; break; case 1: if ( functionRun ) functionRun(ajax.responseText); else alert ("easy_ajax2 error: functionRun not defined"); break; case 2: document.getElementById(contentObjId).innerHTML = ajax.responseText; if ( functionRun ) functionRun(); else alert ("easy_ajax2 error: functionRun not defined"); break; case 3: document.getElementById(contentObjId).innerHTML = ajax.responseText; if ( functionRun ) functionRun(ajax.responseText); else alert ("easy_ajax2 error: functionRun not defined"); break; default: alert ("easy_ajax2 error: noDivResultToFunction nor especified or wrong"); break; } }//fin del stado 4 } }//end // FUNCIÓN PARA MOSTRAR FLASH function showFlash(movie,w,h){ document.write(""); } // FUNCIONES PARA DRAG & DROP function dragdrop_start(v) { // element.onmousedown="dragdrop_start(this)" // @param 1: objeto o id del objeto a mover o = (typeof v == 'string') ? document.getElementById(v) : v; o.setAttribute('dragdropApproved', 1); o.setAttribute('distX', mouseX - o.offsetLeft); o.setAttribute('distY', mouseY - o.offsetTop); if (IE) { document.attachEvent('onmousemove', function() { dragdrop_move(o); }); document.attachEvent('onmouseup', function() { o.setAttribute('dragdropApproved', 0); }); }else{ document.addEventListener('mousemove', function() { dragdrop_move(o); }, true); document.addEventListener('mouseup', function() { o.setAttribute('dragdropApproved', 0); }, true); } } function dragdrop_move(o) { if (o.getAttribute('dragdropApproved') == 1) { o.style.left = mouseX - o.getAttribute('distX') + 'px'; o.style.top = mouseY - o.getAttribute('distY') + 'px'; } } // FUNCIÓN PARA MOSTRAR ARBOL treeShowing = new Array(); function showHideTree(divId,span){ var divName = "dataDiv_"+divId; div = document.getElementById(divName); spans = span.getElementsByTagName('span'); if(treeShowing[divName]==1){ div.style.display="none"; if(spans.length>0){ for(i=0;i0){ for(i=0;i