function getUserAppDataLayer(url, userappsfield, appusersfield ){

  this.userappsfield = document.getElementById(userappsfield);
  this.appusersfield = document.getElementById(appusersfield);
   this.root=null;
 
  this.ajaxHelper = new net.ContentLoader(this, url, "POST", []);

}

getUserAppDataLayer.prototype = {

  getUserDataLayersForApp: function(){
  
    if(this.appusersfield.selectedIndex != -1 && this.userappsfield.selectedIndex != -1){
     var query = 'action=userdatalayersbyapp&userid=' + 
      this.appusersfield.options[this.appusersfield.selectedIndex].value 
       
        var appvalue = this.userappsfield.options[this.userappsfield.selectedIndex].value;
        var app_split = appvalue.split(";");
        query += '&appid=' + app_split[0];  
    
    
    // alert(query);
     this.ajaxHelper.sendRequest(query);
    }
    else
    {
     alert("No user or appID  given");
    }
    
  },
  
  ajaxUpdate: function(request) {
  
 // alert(request.readyState);
 // alert(request.status);
  
  
    var ajaxResponse = request.responseXML.documentElement;
  // alert(ajaxResponse);
    this.root=ajaxResponse;
   //alert(request.responseText);

    var text = request.responseText;
    
   if (text.indexOf('DataLayerInfo')>=0)
    {
     //alert('Here1');
            var datawin = window.open('DisplayUserDataLayers.jsp',
             'streets',  'toolbar=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=450,height=600');
         
         
          var strAttrData=this.formatTable();
          
     //  alert(strAttrData);
         datawin.document.write(strAttrData);
         //  alert('Here2');
          
        datawin.moveTo(200,50);
        if (window.focus) {datawin.focus()}
    }
    else
    {
    
       alert("Error: " + text);
    }
    
  },
  
  
  formatTable:function()
  {
      var strTbl;
      var printdata;
      
      var numOfResults = this.root.getElementsByTagName('NumberOfResults')[0].text;
      
     // alert(numOfResults);
      
      if (parseInt(numOfResults)<=0) 
      {
         strTbl="<H1> No Data Found </H1>"; 
        return strTbl;
      }
      
      
   
    
  //compose building permit data:
      
    strTbl= "<html>";
      strTbl=strTbl + "<head>";
       strTbl=strTbl + "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\">";
     strTbl=strTbl +"<title>User Data Layers for this Application</title>";
     strTbl=strTbl +"<link rel=\"stylesheet\" type=\"text/css\" href=\"css/styles.css\" />";
     strTbl=strTbl + "</head>";
     strTbl=strTbl +"<body>";
         
      var permits = this.root.getElementsByTagName('DataLayerInfo');

    //  alert(permits.length);
      
        var strCLASS="";
        var strID="";
        var strGrpID="";
        var strAppID="";
        var strNAME="";
        var strCacheName="";
        var strLabelLayer="";
        var strExternFlag="";
      
        strTbl=strTbl +"<form>";
        strTbl=strTbl + "<H1> User Datalayers </H1>"; 
         strTbl=strTbl + "<table >";
          strTbl=strTbl + "<tr><td align=\"center\"><table>" ;
        //  alert('Here2');
         for (tbl_count=0; tbl_count<permits.length; tbl_count++)
         {        
            
       
          strCLASS= this.getElementContent(permits[tbl_count], 'CLASS');
         strID=this.getElementContent(permits[tbl_count], 'ID');
        // alert(strID);
         
         strGrpID=this.getElementContent(permits[tbl_count], 'GrpID');
         strAppID=this.getElementContent(permits[tbl_count], 'AppID');
         strNAME=this.getElementContent(permits[tbl_count], 'NAME');
         strCacheName=this.getElementContent(permits[tbl_count], 'CacheName');
         strLabelLayer=this.getElementContent(permits[tbl_count], 'LabelLayer');
         strExternFlag=this.getElementContent(permits[tbl_count], 'ExternFlag');
      
    //  alert('Here1');
      
          if (strCLASS.length<=0){strCLASS="-";}
          if (strID.length<=0){strID="-";}
          if (strGrpID.length<=0){strGrpID="-";}
          if (strAppID.length<=0){strAppID="-";}
          if (strNAME.length<=0){strNAME="-";}
          if (strCacheName.length<=0){strCacheName="-";}
          if (strLabelLayer.length<=0){strLabelLayer="-";}
          if (strExternFlag.length<=0){strExternFlag="-";}
      
    //  alert('Here2');
      
            var strTblCount = tbl_count +1;
           
          strTbl=strTbl + "<tr><td  class=\"tabsubtitles\">Data Layer: " + strTblCount +  "</td></tr>";
            strTbl=strTbl + "<tr><td><table border=\"1\">";
             strTbl=strTbl + "<tr><td>CLASS</td><td>" + strCLASS+ "</td></tr>" ;
              strTbl=strTbl + "<tr><td>ID</td><td>" + strID+ "</td></tr>" ;
             strTbl=strTbl + "<tr><td>Group ID</td><td>" + strGrpID+ "</td></tr>" ;
             strTbl=strTbl + "<tr><td>App ID</td><td>" + strAppID+ "</td></tr>" ;
             strTbl=strTbl + "<tr><td>NAME</td><td>" + strNAME+ "</td></tr>" ;
             strTbl=strTbl + "<tr><td>Cache Name</td><td>" + strCacheName+ "</td></tr>" ;
             strTbl=strTbl + "<tr><td>Label Layer</td><td>" + strLabelLayer+ "</td></tr>" ;
              strTbl=strTbl + "<tr><td>Extern Flag</td><td>" + strExternFlag+ "</td></tr>" ;
         
     //    alert('Here3');
         
            strTbl=strTbl + "</table></td></tr>";
         }
         
          strTbl=strTbl + "</table></td></tr>";
          
           strTbl=strTbl  + "</table>";
         
         
           
          strTbl=strTbl + "</form>";   
         strTbl=strTbl + "</body>";
         strTbl=strTbl + "</html>";
      
       //  alert(strTbl);
        
         return strTbl;
     
  },
  
    getElementContent: function(element, tagName) {
    var childElement = element.getElementsByTagName(tagName)[0];
    return (childElement.text != undefined) ? childElement.text : childElement.textContent;
  },
  
  handleError: function(request) {
    alert("ERROR: " + request.responseText);
  }


};

