  function createSortingBlock(){
    return "<table width='100%' cellpadding='3' cellspacing='0' border='0'>"
       +"  <tr bgcolor='#f0f0f0'>                                       "
       +"     <td valign='top'>                                         "
       +"       <img src='http://isvr.net/pix-data.gif' width='1' height='2' alt='' border='0'/><br/>"
       +"       <table cellpadding='0' cellspacing='4' border='0'>                                   "
       +"         <tr>                                                                               "
       +"           <td class='basicVsm'>Sort By:</td>                                               "
       +"           <td> </td>                                                                       "
       +"         </tr>                                                                              "
       +"         <tr>                                                                               "
       +"           <td class='basicVsm'>                                                            "
       +"             <select class='basicVsm' name='sorting' onchange='doSort(this.value);' width='175' STYLE='width: 175px' size='0'>"
       +"               <option value='default' selected>Default</option>                                                              "
       +"               <option value='listprice_desc'>List Price (descending)</option>                                                "
       +"               <option value='listprice_asc'>List Price (ascending)</option>                                                  "
       +"               <option value='sqft_desc'>Square Footage (descending)</option>                                                 "
       +"               <option value='sqft_asc'>Square Footage (ascending)</option>"
       +"               <option value='city_desc'>City Name (descending)</option>                                                 "
       +"               <option value='city_asc'>City Name (ascending)</option>"
       +"             </select>                                                     "
       +"           </td>                                                           "
       +"         </tr>                                                             "
       +"       </table>                                                            "
       +"     </td>"
       +"   </tr>  "
       +" </table>";
  }

  function doSort(sortMode){

    if(sortMode=="listprice_desc"){
      sortingType="price";
      sortingDir = "desc";
    }else if(sortMode=="listprice_asc"){
      sortingType="price";
      sortingDir = "asc";
    }else if(sortMode=="sqft_desc"){
      sortingType="sqft";
      sortingDir = "desc";
    }else if(sortMode=="sqft_asc"){
      sortingType="sqft";
      sortingDir = "asc";
    }else if(sortMode=="city_desc"){
      sortingType="city";
      sortingDir = "desc";
    }else if(sortMode=="city_asc"){
      sortingType="city";
      sortingDir = "asc";
    }else{
      sortingType="";
      sortingDir = "";
    }

    goLnav(0,sortingType,sortingDir);

  }


  function updateList(empty) {
    var ls = document.getElementById("list");
    var s = ""+
            "<table width='100%' cellpadding='4' cellspacing='1' border='0'>"+
            "<tr bgcolor='#E7E3E7'>"+
            "  <td width='20%' align='center' class='d' height='30'><nobr><b>photo</b> (click)</nobr></td>"+
            "  <td width='17%' align='center' class='d'><b>type/price</b></td>"+
            "  <td width='30%' align='center' class='d'><b>location</b></td>"+
            "  <td width='5%' align='center' class='d'><b>bd/ba</b></td>"+
            "  <td width='10%' align='center' class='d'><nobr><b>Total sqft/lot</b></nobr></td>"+
            "  <td width='18%' align='center' class='d'><nobr><b>listing info</b> (click)</nobr><br></td>"+
            "</tr>";
    if(!empty){
      for (var i=0; i<listings_array.length; i++) {
        s+=makeListingRow(listings_array[i],i);
      }
    } else {
      for (var i=0; i<3; i++) {
        s+=makeEmptyListingRow();
      }
    }
    s += "</table>";
    s += getDisclaimers(listings_array);
    ls.innerHTML = "";
    ls.innerHTML = s;
    onLoadWinLoadPictures();
  }


  function updateListTFW(empty) {
    var ls = document.getElementById("list_tfw");
    var s = ""+
            "<table width='100%' cellpadding='4' cellspacing='1' border='0'>"+
            "<tr bgcolor='#E7E3E7'>"+
            "  <td width='20%' align='center' class='d' height='30'><nobr><b>photo</b> (click)</nobr></td>"+
            "  <td width='10%' align='center' class='d'><nobr><b>Title</b></nobr></td>"+
            "  <td width='18%' align='center' class='d'><nobr><b>item info</b> (click)</nobr><br></td>"+
            "</tr>";
    if(!empty){
      for (var i=0; i<listings_array.length; i++) {
        s+=makeListingRowTFW(listings_array[i],i);
      }
    } else {
      for (var i=0; i<3; i++) {
        s+=makeEmptyListingRowTFW();
      }
    }
    s += "</table>";
    ls.innerHTML = "";
    ls.innerHTML = s;
    onLoadWinLoadPictures();
  }



  function makeListingRow(n,lnum) {
    if(n.pid=="null" || n.pid=="0" || n.pid==0 || n.pid==""){
      var map_url = "&fl_hook="+n.hook+"&realtor="+realtor_id;
    } else {
      var map_url = "&pid="+n.pid+"&ls="+n.mls+"&realtor="+realtor_id;
    }
    var details_link = "showDetails(eval(listings_array["+lnum+"]));";
    var result = "<tr bgcolor='#ffffff'>"+
                 "  <td class='d' align='center'>"+
                 "    <a href='javascript:"+details_link+"'><img name='picture_url_"+n.photo+"' src='http://isvr.net/pict_loading.gif' width='96' height='72' border='0'/></a><br>";
                 if(n.virtual_tour!=""){
                   result += ""+
                             "<table cellspacing='0' cellpadding='1' width='100%'>"+
                             "<tr>"+
                             "  <td><a href='javascript:viewIpix(\""+n.virtual_tour+"\")'><img src='http://isvr.net/icon-VT.gif' width='17' height='8' border='0' alt='VIRTUAL TOUR'></a><br></td>"+
                             "  <td class='basicVsm'><a href='javascript:viewIpix(\""+n.virtual_tour+"\")'>virtual tour</a></span><br></td>"+
                             "</tr>"+
                             "</table>";
                 }
                 if(n.have_multipictures!="" && n.have_multipictures!="false"){
                   result += ""+
                             "<table cellspacing='0' cellpadding='1' width='100%'>"+
                             "<tr>"+
                             "  <td><a href='"+realtor_url+"/MyListings?operation=MorePictures&listing_id="+n.hook+"' target='_blank'><img src='http://isvr.net/icon-MP.gif' width='15' height='10' border='0' alt='PHOTO ALBUM'></a><br></td>"+
                             "  <td class='basicVsm'><a href='"+realtor_url+"/MyListings?operation=MorePictures&listing_id="+n.hook+"' target='_blank'>photo album</a></span><br></td>"+
                             "</tr>"+
                             "</table>";
                 }
                 if(n.open_house!="" && n.open_house=="true"){
                   result += " <div style='color:#4f4f4f;padding:2px 0;'><b>Open House</b></div> ";
                 }
                 result += ""+
                 "  </td>"+
                 "  <td class='d' align='center'><b>"+n.lclass+"<br/></b>"+n.price+"</td>"+
                 "  <td class='d'>";
                 if(n.hide_address!="" && n.hide_address=="true"){
                   result += n.cut_location;
                 } else {
                   result += n.full_location;
                 }
    var map_append='';
    if (n.mls=="LMETROCO"){
      map_append="&show_property=true";
    }
                 map_url = escape(n.map_url)+map_append;
                 if(n.include_map!="" && n.include_map!="false"){
                   result += " (<a href='javascript:openUrl(\""+map_url+"\")'>map</a>)";
                 }
                 result += "<br>";
                 if(n.custom_link!=""){
                   if(n.custom_link_name!=""){
                     result += "<a href='"+n.custom_link+"' target='_blank'>"+n.custom_link_name+"</a>";
                   } else {
                     result += "<a href='"+n.custom_link+"' target='_blank'>"+n.custom_link+"</a>";
                   }
                 }
                 var bedrooms = n.bedrooms;
                 if(n.bedrooms=="" || Number(n.bedrooms)==0){
                   bedrooms = "n/a";
                 }
                 var bathrooms = n.bathrooms;
                 if(n.bathrooms=="" || Number(n.bathrooms)==0){
                   bathrooms = "n/a";
                 }
                 var square_feet = n.square_feet;
                 if(n.square_feet=="" || Number(n.square_feet)==0){
                   square_feet = "n/a";
                 }

                 var lot_size = n.lot_size;
                 if(n.lot_size=="" || Number(n.lot_size)==0){
                   lot_size = "n/a";
                 }
                 var disclaimer_link = "";
                 var disclaimer_img = "";
                 if(n.mls=="METRO"){
                   disclaimer_link = "<a href='#METRO_DISCLAIMER' style='text-decoration:none;color:#ad0000;'>*</a>";
                 } else if(n.mls=="SOCAL"){
                     disclaimer_link = "<a href='#SOCAL_DISCLAIMER' style='text-decoration:none;color:#ad0000;'>*</a>";
                 } else if(n.mls=="PIN"){
                     disclaimer_link = "<a href='#PIN_DISCLAIMER' style='text-decoration:none;color:#ad0000;'>*</a>";
                 } else if (n.mls=="REIL" && n.status != "Pending do not show"){
                   disclaimer_img = "<a href='#REIL_DISCLAIMER'><img src='http://isvr.net/BLE-logo-sm.gif' height='14' width='14' alt='' border='0' vspace='2'/></a>";
                 } else if (n.mls=="MLSNI"){
                   disclaimer_img = "<!--img src='http://isvr.net/MLSNI-logo-sm.gif' width='82' height='20' alt='' border='0' vspace='3'/-->";
                 } else if (n.mls=="MAXEBRDI"){
                   disclaimer_img = "<a href='#MAXEBRDI_DISCLAIMER'><img src='http://isvr.net/logo_MAXEBRDIsm.gif' height='24' width='45' alt='' border='0' vspace='2'/></a>";
                 } else if (n.idx_icon!='') {
                   disclaimer_img = "<a href='#"+n.mls+"_DISCLAIMER'><img src='"+n.idx_icon+"' alt='' border='0' vspace='2'/></a>";
                 }
                 var status = "<b style='color:#ad0000;'>"+n.status_presentation+"</b><br/>";
                 if(n.status=="" || Number(n.status)==0){
                   status = "";
                 }
                 var company_name = "<span style='color:#707070;'>"+n.company_name+"<br/></span>";
                 if(n.company_name==""){
                   company_name = "";
                 }
                 var mls_name = "";
                 if (n.mls!="REIL"&&n.mls!="LMETROCO"){
                   mls_name = n.mls_full_name+disclaimer_link+"<br/>";
                 }
                 result += ""+
                 "  </td>"+
                 "  <td class='d' align='center'>"+bedrooms+"<br/>"+bathrooms+"</td>"+
                 "  <td class='d' align='center'>"+square_feet+"<br/>"+lot_size+"</td>";
                 var disclosuresRow="";
                 if(n.have_disclosures=="true"){
                   var disclosures_link = "showDisclosures(eval(listings_array["+lnum+"]));";
                   disclosuresRow="<a href='javascript:"+disclosures_link+"'><font style='color:#1D59C8'>Disclosures!</font></a><br/>";
                 }
                 var mlsNumberrr = "";
                 if(n.pid!="" && n.pid!="undefined" && n.pid!="null"){
                   mlsNumberrr = n.pid;
                 }else{
                   mlsNumberrr = "details";
                 }
                   result += "<td class='d' align='center'>"+status+"<a href='javascript:"+details_link+"'>"+mlsNumberrr+"</a><br/>"+disclosuresRow+"<span style='color:#707070;'>"+mls_name+"</span>"+company_name+disclaimer_img+"</td>";
                 result += "</tr>";
    return result;
  }



  function makeListingRowTFW(n,lnum) {
    if(n.pid=="null" || n.pid=="0" || n.pid==0 || n.pid==""){
      var map_url = "&fl_hook="+n.hook+"&realtor="+realtor_id;
    } else {
      var map_url = "&pid="+n.pid+"&ls="+n.mls+"&realtor="+realtor_id;
    }
    var details_link = "showDetails(eval(listings_array["+lnum+"]));";
    var result = "<tr bgcolor='#ffffff'>"+
                 "  <td class='d'>"+
                 "    <a href='javascript:"+details_link+"'><img name='picture_url_"+n.photo+"' src='http://isvr.net/pict_loading.gif' width='96' height='72' border='0'/></a><br>";
                 if(n.have_multipictures!="" && n.have_multipictures!="false"){
                   result += ""+
                             "<table cellspacing='0' cellpadding='1' width='100%'>"+
                             "<tr>"+
                             "  <td><a href='"+realtor_url+"/MyListings?operation=MorePictures&listing_id="+n.hook+"' target='_blank'><img src='http://isvr.net/icon-MP.gif' width='15' height='10' border='0' alt='PHOTO ALBUM'></a><br></td>"+
                             "  <td class='basicVsm'><a href='"+realtor_url+"/MyListings?operation=MorePictures&listing_id="+n.hook+"' target='_blank'>photo album</a></span><br></td>"+
                             "</tr>"+
                             "</table>";
                 }
                 result += ""+
                 "  </td>"+
                 "  <td class='d' align='center'>"+n.title+"</td>";
                 result += "<td class='d' align='center'>"+status+"<a href='javascript:"+details_link+"'>details</a><br/></td>";
                 result += "</tr>";
    return result;
  }

  function makeEmptyListingRow() {
    var result = "<tr bgcolor='#ffffff'>"+
                 "  <td class='d'>&#160;</td>"+
                 "  <td class='d'>&#160;</td>"+
                 "  <td class='d'>&#160;</td>"+
                 "</tr>";
    return result;
  }

  function showDetails(src_obj) {
    if(src_obj.hook!="" && src_obj.mls!=""){
      var listing_id = src_obj.hook;
      var ls = src_obj.mls;
    } else if(src_obj.hook!="") {
      var listing_id = src_obj.hook;
    }
    var bars = 'directories=no,location=no,menubar=no,status=no,titlebar=no,toolbar=yes,scrollbars=yes,resizable=yes,width=700,height=600';
    var window_name = (new Date()).getTime();
    var newWin = open ('', window_name, bars);
    newWin.document.location.href = realtor_url+"/MyListings?operation=Details&listing_id=" + listing_id + (ls != "" ? "&ls=" + ls:"");
    newWin.focus();
  }

  function showDisclosures(src_obj) {
    var listing_id = src_obj.hook;
    var bars = 'directories=no,location=no,menubar=no,status=no,titlebar=no,toolbar=yes,scrollbars=yes,resizable=yes,width=700,height=600';
    var window_name = (new Date()).getTime();
    var newWin = open ('', window_name, bars);
    newWin.document.location.href = realtor_url+"/PDisclosures?id=" + listing_id;
    newWin.focus();
  }

  function showRequestLink(src_obj, servlet, reqType) {
    var ls = "";
    if(src_obj.hook!="" && src_obj.mls!=""){
      var listing_id = src_obj.hook;
      var ls = src_obj.mls;
    } else if(ln.hook!="") {
      var listing_id = src_obj.hook;
    }
    var url = "";
    if (ls != "") {
      url = realtor_url+"/PropertyDetails?fl_hook=" + listing_id + "&show_virtual_tour=yes&show_description=yes&show_address=yes&presented_by=yes";
    } else {
      url = realtor_url+"/MyListings?operation=Details&listing_id=" + listing_id + "&request=" + reqType + "&use_close=true";
    }
    return url;
  }

  function showAppointment(src_obj){
    data_pid = src_obj.pid;
    data_location = src_obj.full_location;
    document.forms.action_links_form.request_property_url.value = showRequestLink(src_obj, '/RequestAppointment', 'appointment');
    doFormD(pop_window,"app");
  }

  function showMoreInfo(src_obj) {
    data_pid = src_obj.pid;
    data_location = src_obj.full_location;
    document.forms.action_links_form.request_property_url.value = showRequestLink(src_obj, '/RequestMoreInfo', 'moreinfo');
    doFormD(pop_window,"info");
  }

