var openFlagsGlobal="directories=no,menubar=no,toolbar=no,resizable=yes,scrollbars=yes"; var openFlags="width=1024, height=768,"+openFlagsGlobal; var openFlagsTiny="width=800, height=600,"+openFlagsGlobal; function jumpToUrlAfterConfirm(newUri,message){ if( confirm(message) ) { this.location.href=newUri; } } function jumpToUrl(newUri){ this.location.href=newUri; } function submitAfterConfirm(form,message){ rv=false; if( confirm(message) ) { rv = true; // form.submit(); } else { rv = false; } return(rv); } function openGenericPopUp(uri) { window.open(uri, "displayWindow", "toolbar=no,locationbar=yes,scrollbars=yes,resizable=true,width=600,height=600" ); } function openBrWindow(theURL,winName,features) { window.open(theURL,winName,features); } function openDocument(nomeElemento) { a = document.getElementById(nomeElemento); uri = a.value; window.open(uri, "docWindow", "toolbar=no,locationbar=yes,scrollbars=yes,resizable=true,width=600,height=600" ); } function isFloat(element) { var rv = false; st = element.value; if (st.length > 0) st =st.replace(/$rb.getStringJS("app.sys.js.codeControl_float")/g, ""); if (st.length == 0) { rv = true } else { alert('$rb.getStringJS("app.sys.js.addADecimalNumber")'); element.focus(); } return(rv); }; function isCurrency(element) { st = element.value; if (st.length > 0) st = st.replace(/$rb.getStringJS("app.sys.js.codeControl_currency")/g, ""); if (st.length == 0) {} else { alert('$rb.getStringJS("app.sys.js.addACurrencyValue")'); element.focus(); } }; function isInt(element) { st = element.value; if (st.length > 0) st = st.replace(/[+|-]?[0-9]+/g, ""); if (st.length == 0) { } else { alert('$rb.getStringJS("app.sys.js.addAInteger")'); element.focus(); } }; function isTimestamp(element) { st = element.value; if (st.length > 0) st = st.replace(/$rb.getStringJS("app.sys.js.codeControl_date")/g, ""); st = st.replace(/$rb.getStringJS("app.sys.js.codeControl_time")/g, ""); st = st.replace(/\ /g, ""); if (st.length == 0) {} else { alert('$rb.getStringJS("app.sys.js.addADateTime")'); element.focus(); } }; function isDate(element){ st = element.value; if (st.length > 0) st = st.replace(/$rb.getStringJS("app.sys.js.codeControl_date")/g, ""); if (st.length == 0){} else{ alert('$rb.getStringJS("app.sys.js.addADate")'); element.focus(); } }; function openMattoni_ConfColumns(uri) { window.open(uri, "displayWindow", "" ); } // M.Ghidoni 19/12/2006 function openSecondaryResource_Manage(uri) { window.open(uri, "displayWindow", "" ); } function limitaLunghezza(element, maxLength) { value=element.value; if ( value.length>maxLength) { element.value=value.substr(0,maxLength); } } function getPageWidth() { var x,y; if (self.innerHeight) // all except Explorer { x = self.innerWidth; y = self.innerHeight; } else if (document.documentElement && document.documentElement.clientHeight) // Explorer 6 Strict Mode { x = document.documentElement.clientWidth; y = document.documentElement.clientHeight; } else if (document.body) // other Explorers { x = document.body.clientWidth; y = document.body.clientHeight; } return x; } var keyStr = "ABCDEFGHIJKLMNOP" + "QRSTUVWXYZabcdef" + "ghijklmnopqrstuv" + "wxyz0123456789+/" + "="; function stringToBytes ( str ) { var ch, st, re = []; for (var i = 0; i < str.length; i++ ) { ch = str.charCodeAt(i); // get char st = []; // set up "stack" do { st.push( ch & 0xFF ); // push byte to stack ch = ch >> 8; // shift value down by 1 byte } while ( ch ); // add stack contents to result // done because chars have "wrong" endianness re = re.concat( st.reverse() ); } // return an array of bytes return re; } function encode64(input) { var output = ""; var chr1, chr2, chr3 = 0; var enc1, enc2, enc3, enc4 = 0; var i = 0; var chr2_Nan=false; var chr3_Nan=false; //var debug=false; //var riga=0; //alert("input.length="+input.length); while (i < input.length) { //riga=riga+1; //if (riga==11013) //{ // debug=true; //} chr1 = chr2 = chr3 = 0; enc1 = enc2 = enc3 = enc4 = 0; chr2_Nan=false; chr3_Nan=false; //if (debug==true) //{ // alert("charOrig="+input.charAt(i)+input.charAt(i+1)+input.charAt(i+2)); //} chr1 = input.charCodeAt(i); //Se il carattere non è ASCII LO SOSTITUISCO CON UNO SPAZIO if (chr1>255) chr1=32; if ((i+1) < input.length) { chr2 = input.charCodeAt(i+1); //Se il carattere non è aSCII LO SOSTITUISCO CON UNO SPAZIO if (chr2>255) chr2=32; } else { chr2_Nan=true; } //Se ho altri 2 caratteri if ((i+2) < input.length) { chr3 = input.charCodeAt(i+2); //Se il carattere non è aSCII LO SOSTITUISCO CON UNO SPAZIO if (chr3>255) chr3=32; } else { chr3_Nan=true; } i=i+3; //if (debug==true) //{ // alert("charCode="+chr1+" "+chr2+" "+chr3); //} enc1 = chr1 >> 2; enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); if (chr2_Nan) { enc3 = 64; enc4 = 64; } else{ enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); if (chr3_Nan) { enc4 = 64; } else { enc4 = chr3 & 63; } } //if (debug==true) //{ // alert("enc="+enc1+" "+enc2+" "+enc3+" "+enc4); // var str=keyStr.charAt(enc1) +keyStr.charAt(enc2) +keyStr.charAt(enc3) +keyStr.charAt(enc4); // alert(riga+" "+str); //} output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4); } return output; } /* function decode64(input) { var output = ""; var chr1, chr2, chr3 = ""; var enc1, enc2, enc3, enc4 = ""; var i = 0; // remove all characters that are not A-Z, a-z, 0-9, +, /, or = var base64test = /[^A-Za-z0-9\+\/\=]/g; if (base64test.exec(input)) { alert("There were invalid base64 characters in the input text.\n" + "Valid base64 characters are A-Z, a-z, 0-9, ?+?, ?/?, and ?=?\n" + "Expect errors in decoding."); } input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); do { enc1 = keyStr.indexOf(input.charAt(i++)); enc2 = keyStr.indexOf(input.charAt(i++)); enc3 = keyStr.indexOf(input.charAt(i++)); enc4 = keyStr.indexOf(input.charAt(i++)); chr1 = (enc1 << 2) | (enc2 >> 4); chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); chr3 = ((enc3 & 3) << 6) | enc4; output = output + String.fromCharCode(chr1); if (enc3 != 64) { output = output + String.fromCharCode(chr2); } if (enc4 != 64) { output = output + String.fromCharCode(chr3); } chr1 = chr2 = chr3 = ""; enc1 = enc2 = enc3 = enc4 = ""; } while (i < input.length); return output; } */ //- //- //- //- //- Http get via Javascript //- //- //- //- var _xmlhttp; /** * Manage javascript get * Usage example: * function doGetData() { * if (getXmlhttp()) { * var xmlhttp = getXmlhttp(); * xmlhttp.open("GET", "./javascript_test_data.txt",true); * xmlhttp.onreadystatechange=function() { * manageData() * } * xmlhttp.send(null); * } * } * function manageData() { * var xmlhttp = getXmlhttp(); * if (xmlhttp.readyState==4) { * a = xmlhttp.responseText; * // alert ("1" + a); * var vars = parseProperties(a); * writeLog(" -- found ["+vars+"]"); * //for (var i in vars) { * for (var i=0;i= 5) // JScript gives us Conditional compilation, we can cope with old IE versions. // and security blocked creation of the objects. try { _xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { _xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { _xmlhttp = false; } } @end @*/ if (!_xmlhttp && typeof XMLHttpRequest!='undefined') { _xmlhttp = new XMLHttpRequest(); } } return(_xmlhttp); } function GetXmlHttp_newObject() { var xmlhttp = false; if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest() } else if (window.ActiveXObject)// code for IE { try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP") } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP") } catch (E) { xmlhttp=false } } } return xmlhttp; } function getUrlAndDoActionAJAX(url, idName, actionType) { getUrlAndDoActionAJAX(url, "", idName, actionType) } function getUrlAndDoActionAJAX(url, otherParams, idName, actionType) { // alert("-->"+idControl); var params = otherParams; var xmlhttp = new GetXmlHttp_newObject(); if (xmlhttp) { // var xmlhttp = getXmlhttp(); //- xmlhttp.open("POST",url,true); xmlhttp.setRequestHeader("pragma", "no-cache"); xmlhttp.setRequestHeader("cache-control","private"); //- xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlhttp.setRequestHeader("Content-length", params.length); xmlhttp.setRequestHeader("Connection", "close"); //- xmlhttp.onreadystatechange = function() { //Call a function when the state changes. if(xmlhttp.readyState == 4 && xmlhttp.status == 200) { // alert("OK"); var data = xmlhttp.responseText; // alert(data); if (""!=data) { if (actionType=="replace") { document.getElementById(idName).innerHTML=data; } else { if (actionType=="function") { window[idName](data); } else { alert("nothing to do !"); } } } } } xmlhttp.send(params); } else {} } function getUrlAndReplaceControlAJAX(url, idControl) { getUrlAndDoActionAJAX(url, idControl, "replace") } function getUrlAndReplaceControlAJAX(url, otherParams, idControl) { getUrlAndDoActionAJAX(url, otherParams, idControl, "replace") } function getUrlAndCallFunctionAJAX(url, functionName) { getUrlAndDoActionAJAX(url, functionName, "function") } function getUrlAndCallFunctionAJAX(url, otherParams, functionName) { getUrlAndDoActionAJAX(url, otherParams, functionName, "function") } /** * Strip js from the string and put into head element */ function execJS(t) { var p1 = 0, p2 = 0, p3 = 0, p4 = 0; p1 = t.indexOf("<" + "script", 0); if(p1 == -1) return t; p2 = t.indexOf(">", p1 + 7) + 1; p3 = t.indexOf("<" + "/script>", p2); p4 = p3 + 9; var c = t.substring(p2, p3); var s = document.createElement("script"); s.type = "text/javascript"; s.text = c; document.getElementsByTagName("head")[0].appendChild(s); t = t.substring(0, p1) + t.substr(p4); return execJS(t); } /** * Strip js from the string and return the other part */ function extractNonJS(t) { var p1 = 0, p2 = 0, p3 = 0, p4 = 0; p1 = t.indexOf("<" + "script", 0); if(p1 == -1) return t; p2 = t.indexOf(">", p1 + 7) + 1; p3 = t.indexOf("<" + "/script>", p2); p4 = p3 + 9; var c = t.substring(p2, p3); var s = document.createElement("script"); s.type = "text/javascript"; s.text = c; t = t.substring(0, p1) + t.substr(p4); return extractNonJS(t); } /** * Strip js from the string */ function extractJS(t) { var p1 = 0, p2 = 0, p3 = 0, p4 = 0; p1 = t.indexOf("<" + "script", 0); if(p1 == -1) return ""; p2 = t.indexOf(">", p1 + 7) + 1; p3 = t.indexOf("<" + "/script>", p2); p4 = p3 + 9; var c = t.substring(p2, p3); var s = document.createElement("script"); s.type = "text/javascript"; s.text = c; t = t.substring(0, p1) + t.substr(p4); c = c + extractJS(t) return c; } /** * Put passed string into head element as script element */ function addJS(t, element) { var s = document.createElement("script"); s.type = "text/javascript"; s.text = t; element.appendChild(s); } /** * Trim a string */ _trim_head = /^\s+/g; _trim_tail = /\s+$/g; function trim(str) { return (str.replace(_trim_head, '').replace(_trim_tail, '')); } /** * returns an associative array: * key: the variable name * value: the variable value */ function parseProperties(properties) { // writeLog(" --- " + properties); var arrayOfString = properties.split("\n"); var rv = []; for (i=0;i 0) { var variableName = trim(line.substring(0,pos)); // writeLog(" - name: " + variableName); var value = unescapeString(trim(line.substring(pos+1))); // writeLog(" - value: " + value); rv[variableName]=value; } } } return(rv); } /** * Replaces: *
 *    \\ ->  \
 *    \n ->  new line
 * 
*/ function unescapeString(str){ str = str.replace(/\\n/g, '\n');; str = str.replace(/\\#/g, '#');; str = str.replace(/\\r/g, '');; str = str.replace(/\\=/g, '=');; str = str.replace(/\\:/g, ':');; str = str.replace(/\\\\/g, '\\');; // str = str.replace(/\\u00B0/g, '°');; var s = str; var fgEnd = false; var counter = 10; do { var index = s.indexOf("\\u"); if (index < 0) { index = s.indexOf("\\U"); } if (index >= 0 && (index + 6) <= s.length && counter-- > 0 ) { var value = s.substr(index, 6); var lastIndex = index + 6; var c = ""; eval(" c = \""+value+"\""); s = s.substring(0,index) + c + s.substr(lastIndex); } else { fgEnd = true; } } while(!fgEnd) str = s; return(str); } function replaceString(s,old,newS) { // Replaces old with newS in the string s for (var i=0; i/g, '>');; rv = rv.replace(/