function GetOSIE() { 
    if(navigator.userAgent.indexOf("MSIE")>0) {             return "MSIE";   } 
    if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){ return "Firefox";} 
    if(isSafari=navigator.userAgent.indexOf("Safari")>0) {  return "Safari"; } 
    if(isCamino=navigator.userAgent.indexOf("Camino")>0){   return "Camino"; } 
    if(isMozilla=navigator.userAgent.indexOf("Gecko")>0){  return "Gecko"; }
}
function XmlDataExecuteTitle(FileName,TableName,Language,FieldsName){
	if(GetOSIE()=="Firefox"){ 
        var xmlDoc;
        xmlDoc = document.implementation.createDocument("", "", null);        
        xmlDoc.async = false;
        xmlDoc.load(FileName);
        var DataArrayA = new Array();
        var DataArrayB = new Array();
	    var Tablelength =xmlDoc.getElementsByTagName(TableName).item(0).childNodes.length;
        for(var x=0;x<Tablelength;x++){
              if ( xmlDoc.getElementsByTagName(TableName)[0].childNodes[x].nodeName=="Description" ) {
              var TRstyleID = xmlDoc.getElementsByTagName(TableName)[0].childNodes[x].getAttribute('Language');
              if (TRstyleID.toUpperCase()==Language.toUpperCase()){
                     var FieldsDataLength= xmlDoc.getElementsByTagName(TableName)[0].childNodes[x].childNodes.length;
                     for(var y = 0; y < FieldsDataLength; y++){
                     var Tmp = FieldsName.split(",");
                               for(var i = 0; i < Tmp.length; i++){
                                     if ( xmlDoc.getElementsByTagName(TableName)[0].childNodes[x].childNodes[y].nodeName.toUpperCase()==Tmp[i].toUpperCase() ){
                                     DataArrayB[i]=xmlDoc.getElementsByTagName(TableName)[0].childNodes[x].childNodes[y].textContent;
                                     break;
                                     }
                               }
                     }
              }}
         DataArrayA[0]=DataArrayB;      
        }
    }else{
        xmlDoc=new ActiveXObject("Microsoft.XMLDOM") ;
	    xmlDoc.async="false" ;
	    xmlDoc.load(FileName) ;
	    var DataArrayA = new Array();
	    var Table = xmlDoc.getElementsByTagName(TableName)[0];
	    var Tablelength =xmlDoc.getElementsByTagName(TableName).item(0).childNodes.length;
        for(var x=0;x<Tablelength;x++){
          var TRR = xmlDoc.documentElement.childNodes(x);
          var TRname = TRR.nodeName;
          var TRstyleID = TRR.getAttribute('Language');
          if (TRname.toUpperCase()=="Description".toUpperCase()){
          if (TRstyleID.toUpperCase()==Language.toUpperCase()){
                  var TR = Table.getElementsByTagName("Description")[0];
                  var FieldsDataLength = xmlDoc.getElementsByTagName("Description").item(0).childNodes.length;
                  var DataArrayB = new Array();
                  for(var y = 0; y < FieldsDataLength; y++){
                          var TDname = TRR.childNodes(y).nodeName; 
                          var TDvalue="";
                          if (TRR.childNodes(y).firstChild!=null){ TDvalue=TRR.childNodes(y).childNodes(0).nodeValue; }
                          var Tmp = FieldsName.split(",");
                          for(var i = 0; i < Tmp.length; i++){
                               if ( TDname.toUpperCase()==Tmp[i].toUpperCase() ){
                                      DataArrayB[i]=TDvalue;
                                      break;
                               }
                          }
                  }
          DataArrayA[0]=DataArrayB;
          break;
          }}
        }
    }
return DataArrayA;
}
function XmlDataExecuteID(FileName,TableName,ID,FieldsName){
    if(GetOSIE()=="Firefox"){
        var xmlDoc
        xmlDoc = document.implementation.createDocument("", "", null);        
        xmlDoc.async = false;
        xmlDoc.load(FileName);
        var DataArrayA = new Array();
        var DataArrayB = new Array();
	    var Tablelength =xmlDoc.getElementsByTagName(TableName).item(0).childNodes.length
        for(var x=0;x<Tablelength;x++){
              if ( xmlDoc.getElementsByTagName(TableName)[0].childNodes[x].nodeName=="FieldsData" ) {
              var TRstyleID = xmlDoc.getElementsByTagName(TableName)[0].childNodes[x].getAttribute('id');
              if (TRstyleID.toUpperCase()==ID.toUpperCase()){
                     var FieldsDataLength= xmlDoc.getElementsByTagName(TableName)[0].childNodes[x].childNodes.length  
                     for(var y = 0; y < FieldsDataLength; y++){
                     var Tmp = FieldsName.split(",");
                               for(var i = 0; i < Tmp.length; i++){
                                     if ( xmlDoc.getElementsByTagName(TableName)[0].childNodes[x].childNodes[y].nodeName.toUpperCase()==Tmp[i].toUpperCase() ){
                                     DataArrayB[i]=xmlDoc.getElementsByTagName(TableName)[0].childNodes[x].childNodes[y].textContent;
                                     break;
                                     }
                               }
                     }
              }}
         DataArrayA[0]=DataArrayB;      
        }
    }else{
	   var DataArrayA = new Array();
	   var jnumx=0;
	   var xmlDoc=new ActiveXObject("Microsoft.XMLDOM") ;
	   xmlDoc.async="false" ;
	   xmlDoc.load(FileName) ;
	   var Table = xmlDoc.getElementsByTagName(TableName)[0];
	   var Tablelength =xmlDoc.getElementsByTagName(TableName).item(0).childNodes.length;
       for(var x=0;x<Tablelength;x++){
          var TRR = xmlDoc.documentElement.childNodes(x)
          var TRname = TRR.nodeName;
          var TRstyleID = TRR.getAttribute('id');
          if (TRname.toUpperCase()=="FieldsData".toUpperCase()){
          if (TRstyleID.toUpperCase()==ID.toUpperCase()){
              var TR = Table.getElementsByTagName("FieldsData")[0];
              var FieldsDataLength = xmlDoc.getElementsByTagName("FieldsData").item(0).childNodes.length;
                  var DataArrayB = new Array();
                  for(var y = 0; y < FieldsDataLength; y++){
                          var TDname = TRR.childNodes(y).nodeName; 
                          var TDvalue="";
                          if (TRR.childNodes(y).firstChild!=null){ TDvalue=TRR.childNodes(y).childNodes(0).nodeValue; }
                          var Tmp = FieldsName.split(",");
                          for(var i = 0; i < Tmp.length; i++){
                               if ( TDname.toUpperCase()==Tmp[i].toUpperCase() ){
                                      DataArrayB[i]=TDvalue;
                                      break;
                               }
                          }
                           DataArrayA[jnumx]=DataArrayB;
                  }
                  jnumx+=1;
          }}
       }
    }
return DataArrayA;
}
function XmlDataExecute(FileName,TableName,FieldsName,Fieldsif){
    if(GetOSIE()=="Firefox"){ 
        var xmlDoc
        xmlDoc = document.implementation.createDocument("", "", null);        
        xmlDoc.async = false;
        xmlDoc.load(FileName);
        var DataArrayA = new Array();
	    var Tablelength =xmlDoc.getElementsByTagName(TableName).item(0).childNodes.length;
	    var jnum=0;
        for(var x=0;x<Tablelength;x++){
              var DataArrayB = new Array();
              if ( xmlDoc.getElementsByTagName(TableName)[0].childNodes[x].nodeName=="FieldsData" ) {
                    if (Fieldsif!=""){
                          var xx=false;
                          var FieldsDataLength= xmlDoc.getElementsByTagName(TableName)[0].childNodes[x].childNodes.length 
                          for(var y = 0; y < FieldsDataLength; y++){
                                for(var y = 0; y < FieldsDataLength; y++){
                                      var Tmp = FieldsName.split(",");
                                      for(var m = 0; m < Tmp.length; m++){
                                           if ( xmlDoc.getElementsByTagName(TableName)[0].childNodes[x].childNodes[y].nodeName.toUpperCase()==Tmp[m].toUpperCase() ){
                                           var TDname=xmlDoc.getElementsByTagName(TableName)[0].childNodes[x].childNodes[y].nodeName;
                                           var TDvalue=xmlDoc.getElementsByTagName(TableName)[0].childNodes[x].childNodes[y].textContent;
                                           var TmpFieldsif = Fieldsif.split("|");
                                           if ( TmpFieldsif.length>0 ){
                                           for(var i = 0; i < TmpFieldsif.length; i++){
                                                 var TmpFieldsifList = TmpFieldsif[i].split(",");
                                                 switch ( TmpFieldsifList[1].toUpperCase() ) {
                                                 case "=":
                                                           if ( TmpFieldsifList[0].toUpperCase() == TDname.toUpperCase() && TmpFieldsifList[2].toUpperCase() == TDvalue.toUpperCase() ){ xx = true; }
                                                           break;
                                                 case "<>":
                                                           if ( TmpFieldsifList[0].toUpperCase() == TDname.toUpperCase() && TmpFieldsifList[2].toUpperCase() != TDvalue.toUpperCase() ){ xx = true; }
                                                           break;
                                                 case ">":
                                                           if ( TmpFieldsifList[0].toUpperCase() == TDname.toUpperCase() ) {
                                                              if ( NumFloat(TmpFieldsifList[2]) == true && NumFloat(TDvalue) == true ) {
                                                                    if ( parseFloat(TDvalue) > parseFloat(TmpFieldsifList[2]) ){ xx = true }
                                                           }}
                                                           break;
                                                 case ">=":
                                                           if ( TmpFieldsifList[0].toUpperCase() == TDname.toUpperCase() ) {
                                                              if ( NumFloat(TmpFieldsifList[2]) == true && NumFloat(TDvalue) == true ) {
                                                                    if ( parseFloat(TDvalue) >= parseFloat(TmpFieldsifList[2]) ){ xx = true }
                                                           }}
                                                           break;
                                                 case "<":
                                                           if ( TmpFieldsifList[0].toUpperCase() == TDname.toUpperCase() ) {
                                                              if ( NumFloat(TmpFieldsifList[2]) == true && NumFloat(TDvalue) == true ) {
                                                                    if ( parseFloat(TDvalue) < parseFloat(TmpFieldsifList[2]) ){ xx = true }
                                                            }}
                                                           break;
                                                 case "<=":
                                                           if ( TmpFieldsifList[0].toUpperCase() == TDname.toUpperCase() ) {
                                                              if ( NumFloat(TmpFieldsifList[2]) == true && NumFloat(TDvalue) == true ) {
                                                                    if ( parseFloat(TDvalue) <= parseFloat(TmpFieldsifList[2]) ){ xx = true }
                                                           }}
                                                           break;
                                                 case "like".toUpperCase():
                                                           if ( TmpFieldsifList[0].toUpperCase() == TDname.toUpperCase() ) {
                                                                var Xinstr=TDvalue.toUpperCase().split(TmpFieldsifList[2].toUpperCase()).length-1;
                                                                if ( Xinstr> 0 ){ xx = true;}
                                                           }
                                                           break;
                                                 }}
                                           break;
                                           }}
                                      }
                                }  
                          
                          }
                          if (xx==true){
                                for(var y = 0; y < FieldsDataLength; y++){
                                      var Tmp = FieldsName.split(",");
                                      for(var m = 0; m < Tmp.length; m++){
                                           if ( xmlDoc.getElementsByTagName(TableName)[0].childNodes[x].childNodes[y].nodeName.toUpperCase()==Tmp[m].toUpperCase() ){
                                           DataArrayB[m]=xmlDoc.getElementsByTagName(TableName)[0].childNodes[x].childNodes[y].textContent;
                                           break;
                                           }
                                      }
                                }
                          DataArrayA[jnum]=DataArrayB; 
                          jnum+=1
                          }
                    }else{
                          var FieldsDataLength= xmlDoc.getElementsByTagName(TableName)[0].childNodes[x].childNodes.length 
                          for(var y = 0; y < FieldsDataLength; y++){
                                var Tmp = FieldsName.split(",");
                                for(var m = 0; m < Tmp.length; m++){
                                     if ( xmlDoc.getElementsByTagName(TableName)[0].childNodes[x].childNodes[y].nodeName.toUpperCase()==Tmp[m].toUpperCase() ){
                                     DataArrayB[m]=xmlDoc.getElementsByTagName(TableName)[0].childNodes[x].childNodes[y].textContent;
                                     break;
                                     }
                                }
                          }
                          DataArrayA[jnum]=DataArrayB; 
                          jnum+=1
                    }
              }
        }
    }else{
	   var DataArrayA = new Array();
	   var jnum=-1;
	   var jnumx=0;
	   var xmlDoc=new ActiveXObject("Microsoft.XMLDOM") ;
	   xmlDoc.async="false" ;
	   xmlDoc.load(FileName) ;
	   var Table = xmlDoc.getElementsByTagName(TableName)[0];
	   var Tablelength =xmlDoc.getElementsByTagName(TableName).item(0).childNodes.length;
       for(var x=0;x<Tablelength;x++){
             var TRR = xmlDoc.documentElement.childNodes(x)
             var TRname = TRR.nodeName;
             var TRstyleID = TRR.getAttribute('id');
             if (TRname.toUpperCase()=="FieldsData".toUpperCase()){
                 var TR = Table.getElementsByTagName("FieldsData")[0];
                 var FieldsDataLength = xmlDoc.getElementsByTagName("FieldsData").item(0).childNodes.length;
                 if (Fieldsif!=""){
                     var xx=false;
                     var DataArrayB = new Array();
                     for(var y = 0; y < FieldsDataLength; y++){
                             var TDname = TRR.childNodes(y).nodeName; 
                             var TDvalue="";
                             if (TRR.childNodes(y).firstChild!=null){ TDvalue=TRR.childNodes(y).childNodes(0).nodeValue; }
                             var Tmp = FieldsName.split(",");
                             for(var i = 0; i < Tmp.length; i++){
                                  if ( TDname.toUpperCase()==Tmp[i].toUpperCase() ){
                                         DataArrayB[i]=TDvalue;
                                         break;
                                  }
                             }
                             var TmpFieldsif = Fieldsif.split("|");
                             if ( TmpFieldsif.length>0 ){
                                   for(var i = 0; i < TmpFieldsif.length; i++){
                                         var TmpFieldsifList = TmpFieldsif[i].split(",");
                                         switch ( TmpFieldsifList[1].toUpperCase() ) {
                                         case "=":
                                                   if ( TmpFieldsifList[0].toUpperCase() == TDname.toUpperCase() && TmpFieldsifList[2].toUpperCase() == TDvalue.toUpperCase() ){ xx = true; }
                                                   break;
                                         case "<>":
                                                   if ( TmpFieldsifList[0].toUpperCase() == TDname.toUpperCase() && TmpFieldsifList[2].toUpperCase() != TDvalue.toUpperCase() ){ xx = true; }
                                                   break;
                                         case ">":
                                                   if ( TmpFieldsifList[0].toUpperCase() == TDname.toUpperCase() ) {
                                                      if ( NumFloat(TmpFieldsifList[2]) == true && NumFloat(TDvalue) == true ) {
                                                            if ( parseFloat(TDvalue) > parseFloat(TmpFieldsifList[2]) ){ xx = true }
                                                   }}
                                                   break;
                                         case ">=":
                                                   if ( TmpFieldsifList[0].toUpperCase() == TDname.toUpperCase() ) {
                                                      if ( NumFloat(TmpFieldsifList[2]) == true && NumFloat(TDvalue) == true ) {
                                                            if ( parseFloat(TDvalue) >= parseFloat(TmpFieldsifList[2]) ){ xx = true }
                                                   }}
                                                   break;
                                         case "<":
                                                   if ( TmpFieldsifList[0].toUpperCase() == TDname.toUpperCase() ) {
                                                      if ( NumFloat(TmpFieldsifList[2]) == true && NumFloat(TDvalue) == true ) {
                                                            if ( parseFloat(TDvalue) < parseFloat(TmpFieldsifList[2]) ){ xx = true }
                                                    }}
                                                   break;
                                         case "<=":
                                                   if ( TmpFieldsifList[0].toUpperCase() == TDname.toUpperCase() ) {
                                                      if ( NumFloat(TmpFieldsifList[2]) == true && NumFloat(TDvalue) == true ) {
                                                            if ( parseFloat(TDvalue) <= parseFloat(TmpFieldsifList[2]) ){ xx = true }
                                                   }}
                                                   break;
                                         case "like".toUpperCase():
                                                   if ( TmpFieldsifList[0].toUpperCase() == TDname.toUpperCase() ) {
                                                        var Xinstr=TDvalue.toUpperCase().split(TmpFieldsifList[2].toUpperCase()).length-1;
                                                        if ( Xinstr> 0 ){ xx = true;}
                                                   }
                                                   break;
                                         }
                                   }
                             }
                             if ( xx==true ) { DataArrayA[jnumx]=DataArrayB;}
                     }
                     if ( xx==true ) {jnumx+=1;}
                 }else{
                     jnum+=1
                     var DataArrayB = new Array();
                     for(var y = 0; y < FieldsDataLength; y++){
                             var TDname = TRR.childNodes(y).nodeName; 
                             var TDvalue="";
                             if (TRR.childNodes(y).firstChild!=null){ TDvalue=TRR.childNodes(y).childNodes(0).nodeValue; }
                             var Tmp = FieldsName.split(",");
                             for(var i = 0; i < Tmp.length; i++){
                                  if ( TDname.toUpperCase()==Tmp[i].toUpperCase() ){
                                         DataArrayB[i]=TDvalue;
                                         break;
                                  }
                             }
                     DataArrayA[jnum]=DataArrayB;
                     }
                 }   
             }
       }
    }
return DataArrayA;
}
function XmlDataExecuteWhere(str,FieldsName,Fieldsif){
     if (FieldsName!="" && Fieldsif!="" ){
     var DataArrayA = new Array();
     var jnum=0;
     for(var i = 0; i < str.length; i++){
            var xx=true;
            var DataArrayB = new Array();
            for(var j = 0; j < str[i].length; j++){ 
                  DataArrayB[j]=str[i][j];
             }      
                  var IFArrayA = new Array();
                  var TmpFieldsif = Fieldsif.split("|");
                  for(var x = 0; x < TmpFieldsif.length; x++){ 
                        var TmpFieldsifList = TmpFieldsif[x].split(",");
                        var Tmp = FieldsName.split(",");
                        var FieldsNum;
                        for(var m = 0; m < Tmp.length; m++){ if ( TmpFieldsifList[0].toUpperCase()==Tmp[m].toUpperCase() ) { FieldsNum=m; }}
                        if (str[i][FieldsNum]!=""){
                        switch ( TmpFieldsifList[1].toUpperCase() ) {
                        case "=":
                                if ( str[i][FieldsNum].toUpperCase()==TmpFieldsifList[2].toUpperCase() ){IFArrayA[0]=true;}else{IFArrayA[0]=false;}
                                break;
                        case "<>":
                                if ( str[i][FieldsNum].toUpperCase()!=TmpFieldsifList[2].toUpperCase() ){IFArrayA[1]=true;}else{IFArrayA[1]=false;}
                                break;
                        case ">":
                                if ( NumFloat(str[i][FieldsNum]) == true && NumFloat(TmpFieldsifList[2]) == true ) { if ( parseFloat(str[i][FieldsNum])>parseFloat(TmpFieldsifList[2]) ){IFArrayA[2]=true;}else{IFArrayA[2]=false;}}
                                break;
                        case ">=":
                                if ( NumFloat(str[i][FieldsNum]) == true && NumFloat(TmpFieldsifList[2]) == true ) { if ( parseFloat(str[i][FieldsNum])>=parseFloat(TmpFieldsifList[2]) ){IFArrayA[3]=true;}else{IFArrayA[3]=false;}}
                                break;
                        case "<":
                                if ( NumFloat(str[i][FieldsNum]) == true && NumFloat(TmpFieldsifList[2]) == true ) { if ( parseFloat(str[i][FieldsNum])<parseFloat(TmpFieldsifList[2]) ){IFArrayA[4]=true;}else{IFArrayA[4]=false;}}
                                break;
                        case "<=":
                                if ( NumFloat(str[i][FieldsNum]) == true && NumFloat(TmpFieldsifList[2]) == true ) { if ( parseFloat(str[i][FieldsNum])<=parseFloat(TmpFieldsifList[2]) ){IFArrayA[5]=true;}else{IFArrayA[5]=false;}}
                                break;
                        case "like".toUpperCase():
                                var Xinstr=str[i][FieldsNum].toUpperCase().split(TmpFieldsifList[2].toUpperCase()).length-1;
                                if ( Xinstr> 0 ){IFArrayA[6]=true;}else{IFArrayA[6]=false;}
                                break;
                        case "datediff".toUpperCase():
                                switch ( TmpFieldsifList[3].toUpperCase() ) {
                                case "=":
                                         if ( GetNowS(str[i][FieldsNum],TmpFieldsifList[5])-GetNowS(TmpFieldsifList[2],TmpFieldsifList[5])==TmpFieldsifList[4] ){IFArrayA[7]=true;}else{IFArrayA[7]=false;}
                                         break;
                                case "<>":
                                         if ( GetNowS(str[i][FieldsNum],TmpFieldsifList[5])-GetNowS(TmpFieldsifList[2],TmpFieldsifList[5])!=TmpFieldsifList[4] ){IFArrayA[7]=true;}else{IFArrayA[7]=false;}
                                         break;
                                case ">":
                                         if ( GetNowS(str[i][FieldsNum],TmpFieldsifList[5])-GetNowS(TmpFieldsifList[2],TmpFieldsifList[5])>TmpFieldsifList[4] ){IFArrayA[7]=true;}else{IFArrayA[7]=false;}
                                         break;
                                case ">=":
                                         if ( parseFloat(GetNowS(str[i][FieldsNum],TmpFieldsifList[5]))-parseFloat(GetNowS(TmpFieldsifList[2],TmpFieldsifList[5]))>=parseFloat(TmpFieldsifList[4]) ){IFArrayA[7]=true;}else{IFArrayA[7]=false;}
                                         break;
                                case "<":
                                         if ( GetNowS(str[i][FieldsNum],TmpFieldsifList[5])-GetNowS(TmpFieldsifList[2],TmpFieldsifList[5])<TmpFieldsifList[4] ){IFArrayA[7]=true;}else{IFArrayA[7]=false;}
                                         break;
                                case "<=":
                                         if ( GetNowS(str[i][FieldsNum],TmpFieldsifList[5])-GetNowS(TmpFieldsifList[2],TmpFieldsifList[5])<=TmpFieldsifList[4] ){IFArrayA[7]=true;}else{IFArrayA[7]=false;}
                                         break;
                                }
                                break;
                        }}
                  }
                  for(var n = 0; n < 8; n++){  if (IFArrayA[n]==false){xx=false;break;}}
     if ( xx==true ) {
            DataArrayA[jnum]=DataArrayB;
            jnum+=1
     }
     }
     return DataArrayA;
     }else{
     return str;
     }
}
function XmlDataExecuteSort(str,FieldsSort,desc){
     var tr=FieldsSort;
     if (desc!="desc"){
          var XmlSortvalue=str.sort(function(x,y){return x[tr]>y[tr]?1:-1})
     }else{
          var XmlSortvalue=str.sort(function(x,y){return x[tr]>y[tr]?-1:1})
     }
return XmlSortvalue;
}
function XmlDataExecuteWrite(str,DIVorTable,ClassName){
       var o="";
       for(var i = 0; i < str.length; i++){
            if ( DIVorTable.toUpperCase()=="DIV".toUpperCase() ){
                 if ( ClassName!=""){o+='<UL class="'+ClassName+'">';}else{ o+="<UL>";}
                 for(var j = 0; j < str[i].length; j++){ o+="<LI>"+str[i][j]+"</LI>"; }
                 o+="</UL>";
            }else{
                 if ( ClassName!=""){o+='<TR class="'+ClassName+'">';}else{ o+="<TR>";}
                 for(var j = 0; j < str[i].length; j++){ o+="<TD>"+str[i][j]+"</TD>"; }
                 o+="</TR>";
            }
       }
       return o;
}
var XmlDataExecuteWritePageStrValue = new Array();
var XmlDataExecuteWritetitlestrValue = new Array();
function XmlDataExecuteWritePage(str,x,titlestr,y,DIVorTable,TableStart,ClassName,Page,PageNum,Language,InsDIVname,InsDIVpage){
   if (str!=""){XmlDataExecuteWritePageStrValue[x]=str;}else{str=XmlDataExecuteWritePageStrValue[x];}
   if (titlestr!=""){XmlDataExecuteWritetitlestrValue[y]=titlestr;}else{titlestr=XmlDataExecuteWritetitlestrValue[y];}
   var o="";    
   var RowNum=str.length;
   if ( RowNum>0 ){
       if ( Page=="" || Page==null ){ Page=1; }
       if ( Page<=0 ){ Page=1; }
       var PageCount;
       if ( parseInt(RowNum/PageNum)==RowNum/PageNum ){ PageCount=parseInt(RowNum/PageNum) }else{ PageCount=parseInt(RowNum/PageNum)+1 }
       if (Page>PageCount){Page=PageCount}
       var a=Page*PageNum-PageNum;
       var b=Page*PageNum-1;
       if ( b>RowNum ) { b=RowNum }
              for(var i = a; i < b; i++){
                   if ( DIVorTable.toUpperCase()=="DIV".toUpperCase() ){
                        if ( ClassName!=""){o+='<UL class="'+ClassName+'">';}else{ o+="<UL>";}
                        for(var j = 0; j < str[i].length; j++){ o+="<LI>"+str[i][j]+"</LI>"; }
                        o+="</UL>";
                   }else{
                        if ( ClassName!=""){o+='<TR class="'+ClassName+'">';}else{ o+="<TR>";}
                        for(var j = 0; j < str[i].length; j++){ o+="<TD>"+str[i][j]+"</TD>"; }
                        o+="</TR>";
                   }
              }
        var oopage="";
        switch ( Language ) {
        case 0:
              oopage+="<table cellpadding=4 cellspacing=0 border=0><tr align=center>";
              oopage+="<td valign=bottom><a onclick=\"XmlDataExecuteWritePage('',"+x+",'',"+y+",'"+DIVorTable+"','"+TableStart+"','"+ClassName+"',1,"+PageNum+","+Language+",'"+InsDIVname+"','"+InsDIVpage+"')\">首页</a></td>";
              oopage+="<td valign=bottom><a onclick=\"XmlDataExecuteWritePage('',"+x+",'',"+y+",'"+DIVorTable+"','"+TableStart+"','"+ClassName+"',"+(Page-1)+","+PageNum+","+Language+",'"+InsDIVname+"','"+InsDIVpage+"')\">上一页</a></td>";
              oopage+="<td valign=bottom><a onclick=\"XmlDataExecuteWritePage('',"+x+",'',"+y+",'"+DIVorTable+"','"+TableStart+"','"+ClassName+"',"+(Page+1)+","+PageNum+","+Language+",'"+InsDIVname+"','"+InsDIVpage+"')\">下一页</a></td>";
              oopage+="<td valign=bottom><a onclick=\"XmlDataExecuteWritePage('',"+x+",'',"+y+",'"+DIVorTable+"','"+TableStart+"','"+ClassName+"',"+PageCount+","+PageNum+","+Language+",'"+InsDIVname+"','"+InsDIVpage+"')\">末页</a></td>";
              oopage+="<td valign=bottom>总页数: <strong>"+PageCount+"</strong></td>";
              oopage+="<td valign=bottom>当前页码: <strong>"+Page+" / "+PageCount+"</strong></td>";
              oopage+="<td valign=bottom>转到:<input type=text value='"+Page+"' name=xmlpageinput style='height:14px;width:30px;TEXT-ALIGN: center'> 页 ";
              oopage+="<input type=button value='确定' onclick=\"XmlDataExecuteWritePagebutton('',"+x+",'',"+y+",'"+DIVorTable+"','"+TableStart+"','"+ClassName+"',"+Page+","+PageNum+","+Language+",'"+InsDIVname+"','"+InsDIVpage+"')\" style='BACKGROUND-COLOR: #ccccff;height:18px'></td>";
              oopage+="</tr></table>"
              break;
        case 1:
              oopage+="<table cellpadding=4 cellspacing=0 border=0><tr align=center>";
              oopage+="<td valign=bottom><a onclick=\"XmlDataExecuteWritePage('',"+x+",'',"+y+",'"+DIVorTable+"','"+TableStart+"','"+ClassName+"',1,"+PageNum+","+Language+",'"+InsDIVname+"','"+InsDIVpage+"')\">首頁</a></td>";
              oopage+="<td valign=bottom><a onclick=\"XmlDataExecuteWritePage('',"+x+",'',"+y+",'"+DIVorTable+"','"+TableStart+"','"+ClassName+"',"+(Page-1)+","+PageNum+","+Language+",'"+InsDIVname+"','"+InsDIVpage+"')\">上一頁</a></td>";
              oopage+="<td valign=bottom><a onclick=\"XmlDataExecuteWritePage('',"+x+",'',"+y+",'"+DIVorTable+"','"+TableStart+"','"+ClassName+"',"+(Page+1)+","+PageNum+","+Language+",'"+InsDIVname+"','"+InsDIVpage+"')\">下一頁</a></td>";
              oopage+="<td valign=bottom><a onclick=\"XmlDataExecuteWritePage('',"+x+",'',"+y+",'"+DIVorTable+"','"+TableStart+"','"+ClassName+"',"+PageCount+","+PageNum+","+Language+",'"+InsDIVname+"','"+InsDIVpage+"')\">末頁</a></td>";
              oopage+="<td valign=bottom>總頁數: <strong>"+PageCount+"</strong></td>";
              oopage+="<td valign=bottom>當前頁碼: <strong>"+Page+" / "+PageCount+"</strong></td>";
              oopage+="<td valign=bottom>轉到:<input type=text value='"+Page+"' name=xmlpageinput style='height:14px;width:30px;TEXT-ALIGN: center'> 頁 ";
              oopage+="<input type=button value='確定' onclick=\"XmlDataExecuteWritePagebutton('',"+x+",'',"+y+",'"+DIVorTable+"','"+TableStart+"','"+ClassName+"',"+Page+","+PageNum+","+Language+",'"+InsDIVname+"','"+InsDIVpage+"')\" style='BACKGROUND-COLOR: #ccccff;height:18px'></td>";
              oopage+="</tr></table>"
              break;
        case 2:
              oopage+="<table cellpadding=6 cellspacing=0 border=0><tr align=center>";
              oopage+="<td valign=bottom>Page "+Page+" of "+PageCount+"</td>";
              oopage+="<td valign=bottom><a onclick=\"XmlDataExecuteWritePage('',"+x+",'',"+y+",'"+DIVorTable+"','"+TableStart+"','"+ClassName+"',1,"+PageNum+","+Language+",'"+InsDIVname+"','"+InsDIVpage+"')\">First</a></td>";
              oopage+="<td valign=bottom><a onclick=\"XmlDataExecuteWritePage('',"+x+",'',"+y+",'"+DIVorTable+"','"+TableStart+"','"+ClassName+"',"+(Page-1)+","+PageNum+","+Language+",'"+InsDIVname+"','"+InsDIVpage+"')\">Previous</a></td>";
              oopage+="<td valign=bottom><a onclick=\"XmlDataExecuteWritePage('',"+x+",'',"+y+",'"+DIVorTable+"','"+TableStart+"','"+ClassName+"',"+(Page+1)+","+PageNum+","+Language+",'"+InsDIVname+"','"+InsDIVpage+"')\">Next</a></td>";
              oopage+="<td valign=bottom><a onclick=\"XmlDataExecuteWritePage('',"+x+",'',"+y+",'"+DIVorTable+"','"+TableStart+"','"+ClassName+"',"+PageCount+","+PageNum+","+Language+",'"+InsDIVname+"','"+InsDIVpage+"')\">Last</a></td>";
              oopage+="<td valign=bottom>Go to page:<input type=text value='"+Page+"' name=xmlpageinput style='height:14px;width:30px;TEXT-ALIGN: center'> ";
              oopage+="<input type=button value='GO' onclick=\"XmlDataExecuteWritePagebutton('',"+x+",'',"+y+",'"+DIVorTable+"','"+TableStart+"','"+ClassName+"',"+Page+","+PageNum+","+Language+",'"+InsDIVname+"','"+InsDIVpage+"')\" style='BACKGROUND-COLOR: #ccccff;height:19px'></td>";
              oopage+="</tr></table>"
              break;
        }
    }
    var oo=titlestr+o;
    if ( DIVorTable.toUpperCase()=="table".toUpperCase() ){ oo=TableStart+oo+"</table>" }
	document.getElementById("az").innerHTML=unescape( oo );
	document.getElementById(InsDIVpage).innerHTML=unescape( oopage );
}
function XmlDataExecuteWritePagebutton(str,x,titlestr,y,DIVorTable,TableStart,ClassName,Page,PageNum,Language,InsDIVname,InsDIVpage){
       var Page=document.all.xmlpageinput.value;
       if ( NumLong0(Page)==true ) {
           XmlDataExecuteWritePage('',x,'',y,DIVorTable,TableStart,ClassName,Page,PageNum,Language,InsDIVname,InsDIVpage)
       }
}
function NumFloat(str){
    str=Trim(str);
    var reg =/^(-?\d+)(\.\d+)?$/;
    if (str==""){
        return false;
    }else{
        if ( reg.test(str) ){
          return true;
        }else{
          return false;  
}}}
function NumLong0(str){
    str=Trim(str);
    var regD =/\D/;
    if (regD.test(str) || str==""){
       return false;
    }else{
        if (str<=0){
            return false;
        }else{
            return true;  
        }
    }
}
function Trim(str) {  if (typeof str == 'string') return str.replace(/(^\s*)|(\s*$)/g, '');}
function LTrim(str) { if (typeof str == 'string') return str.replace(/(^\s*)/g, '');}
function RTrim(str) { if (typeof str == 'string') return str.replace(/(\s*$)/g, '');}
function XmlRE(str){
   var sTemp = str;
   if ( sTemp.length>0 ){ 
       sTemp= sTemp.replace('"', "&quot;")
       sTemp= sTemp.replace(",", "")
       sTemp= sTemp.replace("|", "")
    }else{sTemp="";}
return sTemp
}
function GetNow(){
	var myDate = new Date();
	var oYear=myDate.getFullYear().toString();
	var oMonth=(myDate.getMonth()+1).toString();
	var oDate=myDate.getDate().toString();
	var oHours=myDate.getHours().toString();
	var oMinutes=myDate.getMinutes().toString();
	var oSeconds=myDate.getSeconds().toString();
	o=oYear+"-"+oMonth+"-"+oDate+" "+oHours+":"+oMinutes+":"+oSeconds;
return o;
}
function GetNowS(o,Y){
	myDate =o.replace(' ', "-") ;
	myDate =myDate.replace(/-/gi, "-") ;
	myDate =myDate.replace(/:/gi, "-") ;
	var x="";
	var Tmp = myDate.split("-");
	switch ( Tmp.length ) {
    case 1:
          x=Tmp[0]+"0000000000";
          break;
    case 2:
          x=Tmp[0]+("00"+Tmp[1]).substr(("00"+Tmp[1]).length-2)+"00000000";
          break;
    case 3:
          x=Tmp[0]+("00"+Tmp[1]).substr(("00"+Tmp[1]).length-2)+("00"+Tmp[2]).substr(("00"+Tmp[2]).length-2)+"000000";
          break;
    case 4:
          x=Tmp[0]+("00"+Tmp[1]).substr(("00"+Tmp[1]).length-2)+("00"+Tmp[2]).substr(("00"+Tmp[2]).length-2)+("00"+Tmp[3]).substr(("00"+Tmp[3]).length-2)+"0000";
          break;
    case 5:
          x=Tmp[0]+("00"+Tmp[1]).substr(("00"+Tmp[1]).length-2)+("00"+Tmp[2]).substr(("00"+Tmp[2]).length-2)+("00"+Tmp[3]).substr(("00"+Tmp[3]).length-2)+("00"+Tmp[4]).substr(("00"+Tmp[4]).length-2)+"00";
          break;
    case 6:
          x=Tmp[0]+("00"+Tmp[1]).substr(("00"+Tmp[1]).length-2)+("00"+Tmp[2]).substr(("00"+Tmp[2]).length-2)+("00"+Tmp[3]).substr(("00"+Tmp[3]).length-2)+("00"+Tmp[4]).substr(("00"+Tmp[4]).length-2)+("00"+Tmp[5]).substr(("00"+Tmp[5]).length-2);
          break;
    }
    switch ( Y.toUpperCase() ) {
    case "Year".toUpperCase():
          x=x.substr(0,4);
          break;
    case "Month".toUpperCase():
          x=x.substr(0,6);
          break;
    case "Day".toUpperCase():
          x=x.substr(0,8);
          break;
    case "Hour".toUpperCase():
          x=x.substr(0,10);
          break;
    case "Minute".toUpperCase():
          x=x.substr(0,12);
          break;
    case "Second".toUpperCase():
          x=x
          break;
    }
return parseInt(x);
}
function setCookie(name,value){
       var Days=2000;
       var exp  = new Date();
       exp.setTime(exp.getTime() + Days*24*60*60*1000);
       document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}
function getCookie(name){
    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
     if(arr != null) return unescape(arr[2]); return null;
}
function delCookie(name){
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval=getCookie(name);
    if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}



