//// Env Var var xmlDocument =''; var mySchema =''; var mySchemaXml =''; var Tables=new Array(); var DataSet=function(){}; DataSet.fill=0; DataSet.Tables=new Array(); var c=0; var Ds=function(){}; Ds.Rs=new Array(); //// Rockland Client Data to XML -- Form Data To String function make_rs(t) { if (window.ActiveXObject) { //IE xmlDocument = new ActiveXObject('Microsoft.XMLDOM'); xmlDocument.async = false; //var loaded = xmlDocument.loadXML(unescape(t.responseText)); var loaded = xmlDocument.loadXML(t.responseText); if (loaded) { mySchema=xmlDocument.documentElement.childNodes[0].xml; mySchemaXml=xmlDocument.documentElement.childNodes[0]; Ds.strSchema=mySchema; xml_Schema=mySchemaXml.getElementsByTagName('xs:sequence'); var elem=xml_Schema[0].childNodes[0]; get_Schema(xml_Schema); tobj=xmlDocument.documentElement; FillDataSet(tobj); } } else { if (navigator.userAgent.indexOf("Firefox") > 0) { var domParser = new DOMParser(); //xmlDocument = domParser.parseFromString(unescape(t.responseText),'application/xml'); xmlDocument = domParser.parseFromString(t.responseText,'application/xml'); parseError = checkForParseError(xmlDocument); if (parseError.errorCode == 0) { mySchema = (new XMLSerializer()).serializeToString(xmlDocument.documentElement.childNodes[0]); mySchemaXml=xmlDocument.documentElement.childNodes[0]; Ds.strSchema=mySchema; if (!document.getElementById("DataBinder")) { var tmpDataBinder=document.createElement('div'); tmpDataBinder.id="DataBinder"; document.body.appendChild(tmpDataBinder); } $("DataBinder").innerHTML=""; $("DataBinder").appendChild(mySchemaXml); //dataTable=$("DataBinder").getElementsByTagName('choice'); xml_Schema=$("DataBinder").getElementsByTagName('sequence'); //FireFox 1.5 & 2.0 if (navigator.userAgent.indexOf("Firefox") > 0) { xml_Schema=$("DataBinder").getElementsByTagName('xs:sequence'); } else { xml_Schema=$("DataBinder").getElementsByTagName('sequence'); } var elem=xml_Schema[0].childNodes[0]; tobj=xmlDocument.documentElement; tobj=cleanempty(tobj); dataObj=tobj.childNodes; countTbl=tobj.childNodes.length; get_Schema(xml_Schema); FillDataSet(tobj); } else { alert(parseError.reason + '\r\n' + parseError.srcText); //alert(t.responseText.charAt(2176)+t.responseText.charAt(2177)+t.responseText.charAt(2178)+t.responseText.charAt(2179)); } } else { var domParser = new DOMParser(); xmlDocument = domParser.parseFromString(t.responseText,'application/xml'); parseError = checkForParseError(xmlDocument); if (parseError.errorCode == 0) { mySchema = (new XMLSerializer()).serializeToString(xmlDocument.documentElement.childNodes[0]); mySchemaXml=xmlDocument.documentElement.childNodes[0]; Ds.strSchema=mySchema; xml_Schema=mySchemaXml.getElementsByTagName('sequence'); //xml_Schema=mySchemaXml.getElementsByTagName('xs:sequence'); //dataTable=mySchemaXml.getElementsByTagName('choice'); xml_Schema=mySchemaXml.getElementsByTagName('sequence') var elem=xml_Schema[0].childNodes[0]; tobj=xmlDocument.documentElement; tobj=cleanempty(tobj); dataObj=tobj.childNodes; countTbl=tobj.childNodes.length; get_Schema(xml_Schema); FillDataSet(tobj); } else { alert(parseError.reason + '\r\n' + parseError.srcText); //alert(t.responseText.charAt(2176)+t.responseText.charAt(2177)+t.responseText.charAt(2178)+t.responseText.charAt(2179)); } } } if (GetAfterExec != null && GetAfterExec != "") { var GetExec = GetAfterExec; GetAfterExec = ""; eval(GetExec); } //alert(t.responseText); } //// Rockland Client Data to XML -- DataSet Adapter Builder function FillDataSet(o) { Ds.Rs=new Array(); for(i=0;i=1) { Ds[DataSet.Tables[i].Name].DsUpdate(obj[z].nodeName, obj[z].firstChild.nodeValue ); } } } } } DataSet.fill=1; BindData(); } ///// ROCKLAND Save Data to XML////////////////// function SaveData() { var els =document.getElementsByTagName("*"); for (i=0;i0) { for(l=0;l\n"; for(c=0;c"+Ds[Ds.Rs[t]].Data[l][c]+"\n"; } } mystr=mystr+"\n"; } } if(Ds[Ds.Rs[t]].DataDelete.length>0) { for(l=0;l\n"; for(c=0;c"+Ds[Ds.Rs[t]].DataDelete[l][c]+"\n"; } } mystr=mystr+"\n"; } } } mystr=mystr+""; mystr.replace("undefined",""); save(mystr); } ///// ROCKLAND Data To UI ////////////////// Ds.binddata_UI = function(ObjectTag) { //if (document[ObjectTag]) if ($(ObjectTag)) { //colObjs=document[ObjectTag].elements; colObjs=$(ObjectTag).elements; for (i=0;i"; } else { colObjs[i].value=myval; } //val = val.replace(/'/g, "\'\'"); myval = escape(myval); myeval = "window."+myds+".Update("+CtrlSource+".Name,'"+myval+"')"; myval = eval(myeval); break; } //EventUI.init(colObjs[i]); RocklandBinder.bind(colObjs[i]); } } } } ///// ROCKLAND Object DataBinding ////////////////// var RocklandBinder = { bind : function(o) { cs=o.getAttribute("controlsource"); myarr=cs.split("."); myds=myarr[0]+"."+myarr[1]; switch(o.type) { case "radio" : if(o.checked) { val = o.value; myval = eval("window."+myds+".Update("+cs+".Name,'"+escape(val)+"')"); } break; case "checkbox" : val = o.value; if(o.checked) { val = 1; } else { val = 0; } myval = eval("window."+myds+".Update("+cs+".Name,'"+val+"')"); break; case "textarea" : if (navigator.appVersion.match(/\bMSIE\b/)) { //val = o.innerHTML; val = o.value; } else { val = o.value; } myval = eval("window."+myds+".Update("+cs+".Name,'"+escape(val)+"')"); break; default : val = o.value; //val = val.replace(/'/g, "\'\'"); val = escape(val); myval = eval("window."+myds+".Update("+cs+".Name,'"+val+"')"); break; } } } ///// ROCKLAND Object UI ////////////////// var EventUI = { obj : null, init : function(o) { //o.onblur = EventUI.binder; //o.onkeyup = EventUI.binder; //o.onmouseup = EventUI.binder; //o.onfocusout = EventUI.binder; Marche seulement IE pas firefox if (navigator.appVersion.match(/\bMSIE\b/)) { o.onfocusout = EventUI.binder; } else { o.onmouseup = EventUI.binder; o.onkeydown = EventUI.binder; } }, binder : function(e) { var o = EventUI.obj = this; e = EventUI.fixE(e); RocklandBinder.bind(o); // cs=o.getAttribute("controlsource"); // myarr=cs.split("."); // myds=myarr[0]+"."+myarr[1]; // switch(o.type) // { // case "checkbox" : // val = o.value; // if(o.checked) // { // val = 0; // } // else // { // val = 1; // } // myval = eval("window."+myds+".Update("+cs+".Name,'"+val+"')"); // break; // // // case "textarea" : // if (navigator.appVersion.match(/\bMSIE\b/)) // { // //val = o.innerHTML; // val = o.value; // } // else // { // val = o.value; // } // myval = eval("window."+myds+".Update("+cs+".Name,'"+escape(val)+"')"); // break; // default : // val = o.value; // myval = eval("window."+myds+".Update("+cs+".Name,'"+val+"')"); // break; // } }, end : function(e) { EventUI.obj=null; }, fixE : function(e) { if (typeof e == 'undefined') { e = window.EventUIent; } return e; } } //// ROCKLAND UTILS /////////////////// function get_Schema(o) { o=cleanempty(o); for (i=0;i