//array to hold the active subfilters
var aActiveSubFilters = new Array();
var loadedStatus = 0 ;
var cPage = 1;
var aExpanded = new Array();
var tempSuperTagID = '';
var nTotalPages;
var cSorting = '';
var filterEsc;
var aActiveTypes = new Array();
var flag = 0;
var fishingSuffix = '';
if(window.location.href.indexOf('/fishing/') > -1)
  fishingSuffix = '_fishing';

/* pass null values intially to checkInDate, checkOutDate dates: 01-06-2009 */
/* keep dates if set: 10-29-2009 */
if (typeof('checkInDate')!="string") {
  checkInDate = '';
}
if (typeof('checkOutDate')!="string") {
  var checkOutDate = '';
}

//escapes single quotes with backslash
function str_replace(sStr)
{
  sStr=sStr.replace(/\x27/g,"\\'");
  return sStr;
}

//escapes escaped strings

function str_repair(sStr)
{
  sStr=sStr.replace(/\\'/g,"'");
  return sStr;
}


function str_match(sStr)
{
  if(sStr.match(/\x27/g))
  {
    return 1;
  }
  else
  {
    return 0;
  }

}

function addUnderScore(sStr)
{
  sStr = sStr.replace(/ /g,"_");
  return sStr;
}


function waitToLoad()
{
  //scrollTo(0,0);
  //document.getElementById("listingLoadBox").style.backgroundColor = "#c1d6f6";
  if(document.getElementById("hideSearchFilters"))
    document.getElementById("hideSearchFilters").style.display="block";
  if(document.getElementById("preloadingGraphic"))
    document.getElementById("preloadingGraphic").style.display = "block";
  if(document.getElementById("listingResults"))
    document.getElementById("listingResults").style.display = "none";
  if(flag==1)
  {
  //document.getElementById("subFilterGroups").style.display = "none";
  //document.getElementById("activeSuperFilters").style.display = "none";
  //document.getElementById("activeSubFilters").style.display = "none";
  //document.getElementById("searchTables").style.display="none";
  //document.getElementById("CitySearch").style.display="none";
  }
  loadedStatus = 1;
}

function isLoaded()
{
  document.getElementById("preloadingGraphic").style.display = "none";
  //document.getElementById("listingResults").style.overflowY = "scroll";
  document.getElementById("listingResults").style.display = "block";
  document.getElementById("hideSearchFilters").style.display="none";
  if(flag==1)
  {
    //document.getElementById("subFilterGroups").style.display = "block";
    //document.getElementById("activeSuperFilters").style.display = "block";
    //document.getElementById("searchTables").style.display="block";
    //document.getElementById("CitySearch").style.display="block";
    flag = 0;
  /*var e = document.createElement("script");
		e.setAttribute("type", "text/javascript");
		e.setAttribute("language", "JavaScript");
		e.setAttribute("src", "../listing_filters.js");
		document.getElementsByTagName("head")[0].appendChild(e);*/
  //document.body.appendChild(e);
  }
  document.getElementById("listingLoadBox").style.backgroundColor = "";
  loadedStatus = 0;
}


// the activeObj is printed on the Page from php
// check functions.php in the listings module

function removeFromSuperFilters(superFilterName)
{
  for(a in activeObj)
  {
    if(a == superFilterName)
    {
      activeObj = {
        superFilterName : idObj[superFilterName]
      };
    }
  }

  if(superFilterName=='hotels & places to stay')
  {
    document.getElementById("CitySearch").style.display="none";
  }

  //reset the inactive
  aInactiveSubFilters = new Array();
  //reset the subfilters as well
  aActiveSubFilters = new Array();
  activeSuperFilters[0] = "";
  //reset the page
  cPage = 0;
  //reset compare
  x_resetCompare(resetCompareReturn);

  // Commented this as we have removed my search area from the page-reena
  //clear the active filters
  document.getElementById("activeSuperFilters").innerHTML = "<div style='font-family: Tahoma,Arial,Verdana;font-size: 11px;margin-top: 10px;margin-bottom: 10px;'><i>No filter(s) selected</i></div>";
  //document.getElementById("activeSubFilters").innerHTML = "";
  document.getElementById("activeSubFilters").style.display = "none";

  // show all super filters for selection
  showSuperFilters();
  //alert(aInactiveSubFilters);
  /* Enable the super filters and disable subtags 27-oct-08*/
  document.getElementById("main_supertags").style.display = "block";
  document.getElementById("subFilterGroups").style.display = "none";


  reloadGrid(0);
}

//dummy call back
function resetCompareReturn()
{
}

function addToSuperFilters(superFilterID,superFilterName)
{

  if(window.location.href.indexOf('viva') > 0)
    var imgdir = '/viva';
  else
    var imgdir = '';
  activeObj[superFilterName] = superFilterID;
  activeSuperFilters[0] = superFilterName;

  //for comparing
  tempSuperTagID  = superFilterID;

  if(superFilterID==3)
  {
    document.getElementById("CitySearch").style.display="block";
  }

  if(document.getElementById("compare_btn"))
    document.getElementById("compare_btn").style.display = "";

  //document.getElementById("activeSuperFilters").innerHTML = "<ul class=\"listTypeSuperFilter\"><div style=\"cursor: pointer;\" onclick=\"removeFromSuperFilters('"+superFilterName+"')\"><li><a href='javascript:void(0)' class='listingsFilters'  onclick=\"removeFromSuperFilters('"+superFilterName+"')\">"+superFilterName+"</a></li></div></ul>";
  if(document.getElementById("activeSuperFilters"))
    document.getElementById("activeSuperFilters").innerHTML = "<div style=\"cursor: pointer;padding-bottom: 7px;\"><a href='javascript:void(0)' class='listingsFilters' style='padding-right: 4px;' onclick=\"removeFromSuperFilters('"+superFilterName+"')\"><img src='/images/shell_v2"+imgdir+"/listings_closebtn"+fishingSuffix+".gif' border='0' valign='absmiddle'></a><a href='javascript:void(0)' class='listingsFilters'  onclick=\"removeFromSuperFilters('"+superFilterName+"')\">"+superFilterName+"</a></div>";
  //preload the sub filter area with the children of the supertag
  if(document.getElementById("activeSubFilters"))
    document.getElementById("activeSubFilters").style.display = "none";
  if(document.getElementById("subFilterGroups"))
    document.getElementById("subFilterGroups").style.display = "block";
  showSubFiltersOf(superFilterName);

  reloadGrid(0);
}


function showSuperFilters()
{
  if(window.location.href.indexOf('viva') > 0)
    var imgdir = '/viva';
  else
    var imgdir = '';
  var sFilterHTML = '';

  if (superSubObj)
  {
    for(superFilter in superSubObj)
    {
      //sFilterHTML += "<ul class=\"listType\"><div style=\"cursor: pointer;\" onclick=\"addToSuperFilters('"+idObj[superFilter]+"','"+superFilter+"')\"><li><a href='javascript:void(0)'  class='listingsFilters' onclick=\"addToSuperFilters('"+idObj[superFilter]+"','"+superFilter+"')\">"+superFilter+"</a></li></div></ul>";
      sFilterHTML += "<div style=\"cursor: pointer;padding-bottom: 5px;\"><a href='javascript:void(0);' style='padding-right: 4px;' onclick=\"addToSuperFilters('"+idObj[superFilter]+"','"+superFilter+"')\"><img src='/images/shell_v2"+imgdir+"/listings_closebtn"+fishingSuffix+".gif' border='0' style='padding-top: 2px;' /></a><a href='javascript:void(0);' class='listingsFilters' onclick=\"addToSuperFilters('"+idObj[superFilter]+"','"+superFilter+"')\">"+superFilter+"</a></div>";
    }

    // set the super filters into the sub filters area
    document.getElementById("subFilterGroups").innerHTML = sFilterHTML;
    document.getElementById("current_listings_label").innerHTML = tagGroup;
  }else{
    var superSubObj = '';
  }
}

/*
* This function is called from child_filter.tpl file.
* When user clicks the checkbox to filter records
* of the listing.
* Added On: 22-oct-08
*/
function checkFilterType(obj, subFilterName,sType){
  if(obj.checked == false){
    removeFromSubFilters(subFilterName,sType);
  }else{
    addToSubFilters(subFilterName,sType);
  }
}
/* Enable the super filters and disable subtags 27-oct-08*/
/*
* This function is called from functions.php file.
* When user clicks the checkbox to filter records
* of the listing on the basis of super tag group.
* Added On: 27-oct-08
*/
function setSuperGroup(obj,id,name){
  obj.checked=false;
  document.getElementById("main_supertags").style.display = "none";
  addToSuperFilters(id,name);
}

// in array - check tag_box.js
function addToSubFilters(subFilterName,sType,bNoReload)
{

  if(window.location.href.indexOf('viva') > 0)
    var imgdir = '/viva';
  else
    var imgdir = '';
  var subFiltersHTML = '';
  var cArr = new Array();
  var inactiveSubFiltersHTML = '';
  var tmpArray= new Array();

  //reset the page
  cPage = 0;
  var bHidden = '';
  var inactiveSubFiltersHiddenHTML = '';

  document.getElementById("activeSubFilters").style.display = "";
  var filterEsc = str_replace(subFilterName);

  aActiveSubFilters[filterEsc] = new Array();
  aActiveSubFilters[filterEsc] = sType;

  for(z in aActiveSubFilters)
  {
    subFiltersHTML += "<div style=\"cursor: pointer;padding-bottom: 7px;padding-left: 16px;\"><a href='javascript:void(0)' style='padding-right: 4px;' class='listingsFilters' onclick=\"removeFromSubFilters('"+z+"','"+aActiveSubFilters[z]+"')\"><img src='/images/shell_v2"+imgdir+"/listings_closebtn"+fishingSuffix+".gif' border='0' /></a><a href='javascript:void(0)' class='listingsFilters' onclick=\"removeFromSubFilters('"+z+"','"+aActiveSubFilters[z]+"')\">"+str_repair(z)+"</a></div>";
  }
  document.getElementById("activeSubFilters").innerHTML = subFiltersHTML;

  for(z in superSubObj[activeSuperFilters[0]])
  {
    if(superSubObj[activeSuperFilters[0]][z].length == 0 )
    {
      inactiveSubFiltersHTML += "<div style=\"margin-left: 5px;margin-top: 5px;margin-bottom: 5px;display: block;\"><i>No filter(s) selected</i></div>";
    }
    else
    {
      superSubObj[activeSuperFilters[0]][z].sort();
      //means that the long list has been shown currently
      for(i=0;i<superSubObj[activeSuperFilters[0]][z].length;i++)
      {
        if(z == sType)
        {
          //make the type group inactive once it has an active filter
          if(sType == "Type" || sType == "City" || sType == "Average Low Rate")
          {
            if(superSubObj[activeSuperFilters[0]][z][i] == subFilterName){
              inactiveSubFiltersHTML += "<label><input type='CHECKBOX' checked onclick=\"removeFromSubFilters('"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"','"+z+"')\" id='"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"'> "+superSubObj[activeSuperFilters[0]][z][i]+"</label><br>";
            }else{
              inactiveSubFiltersHTML += "<label><input type='CHECKBOX' disabled onclick=\"checkFilterType(this, '"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"','"+z+"')\" id='"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"'><i> "+superSubObj[activeSuperFilters[0]][z][i]+"</i></label><br>";
            }
          }
          else
          {
            var checked = "";
            for(t in aActiveSubFilters)
            {
              if(t==superSubObj[activeSuperFilters[0]][z][i]){
                checked = "CHECKED";
              }else{
                continue;
              }
            }
            inactiveSubFiltersHTML += "<label><input type='CHECKBOX' "+checked+" onclick=\"checkFilterType(this, '"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"','"+z+"')\" id='"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"'><span class='listingsFilters'> "+superSubObj[activeSuperFilters[0]][z][i]+"</span></label><br>";
          }
        }
      }

      for(i=0;i<superSubObj[activeSuperFilters[0]][z].length;i++)
      {
        if(z == sType)
        {
          if(i < 5)
          {
            //make the type group inactive once it has an active filter
            if(sType == "Type" || sType == "City" || sType == "Average Low Rate")
            {
              if(superSubObj[activeSuperFilters[0]][z][i] == subFilterName){
                inactiveSubFiltersHiddenHTML += "<input type='checkbox' onclick=\"removeFromSubFilters('"+subFilterName+"','"+sType+"')\" checked ><span class='listingsFilters'> "+superSubObj[activeSuperFilters[0]][z][i]+"</span><br>";
              }else{
                inactiveSubFiltersHiddenHTML += "<input type='checkbox' disabled><i> "+superSubObj[activeSuperFilters[0]][z][i]+"</i><br>";
              }
            }
            else
            {
              var checked = "";
              for(t in aActiveSubFilters)
              {
                if(t==superSubObj[activeSuperFilters[0]][z][i]){
                  checked = "CHECKED";
                }else{
                  continue;
                }
              }
              if(superSubObj[activeSuperFilters[0]][z][i] == "Superior Small Lodging")
              {
                inactiveSubFiltersHiddenHTML += "<label><input "+checked+" type=\"CHECKBOX\" onclick=\"checkFilterType(this, '"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"','"+z+"')\" id='"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"'><span class='listingsFilters'> "+superSubObj[activeSuperFilters[0]][z][i]+"</span><img src='/images/shell/ssllogo_key.gif' border='0' /></label><br>";
              }
              else if(superSubObj[activeSuperFilters[0]][z][i] == "Gay Friendly")
              {
                inactiveSubFiltersHiddenHTML += "<label><input "+checked+" type=\"CHECKBOX\" onclick=\"checkFilterType(this, '"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"','"+z+"')\" id='"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"'><span class='listingsFilters'> "+superSubObj[activeSuperFilters[0]][z][i]+"</span><img src='/images/shell/gay_friendly.gif' border='0' /></label><br>";
              }
              else if(superSubObj[activeSuperFilters[0]][z][i] == "Florida Green Lodging")
              {
                inactiveSubFiltersHiddenHTML += "<label><input "+checked+" type=\"CHECKBOX\" onclick=\"checkFilterType(this, '"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"','"+z+"')\" id='"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"'><span class='listingsFilters'> "+superSubObj[activeSuperFilters[0]][z][i]+"</span><img src='/images/shell/green_lodging.gif' border='0' /></label><br>";
              }
              else if(superSubObj[activeSuperFilters[0]][z][i] == "Shop Florida")
              {
                inactiveSubFiltersHiddenHTML += "<label><input "+checked+" type=\"CHECKBOX\" onclick=\"checkFilterType(this, '"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"','"+z+"')\" id='"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"'><span class='listingsFilters'> "+superSubObj[activeSuperFilters[0]][z][i]+"</span><img src='/images/shell/shop_florida_sm.gif' border='0' title='Enjoy special savings at participating Florida retailers' alt='Enjoy special savings at participating Florida retailers' /></label><br>";
              }
              else
              {
                inactiveSubFiltersHiddenHTML += "<label><input "+checked+" type=\"CHECKBOX\" onclick=\"checkFilterType(this, '"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"','"+z+"')\" id='"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"'><span class='listingsFilters'> "+superSubObj[activeSuperFilters[0]][z][i]+"</span></label><br>";
              }
            }
          }
          else
          {
            inactiveSubFiltersHiddenHTML += "<a href='javascript:void(0);' class=\"showMoreLess\" onclick=\"showFullSubFilters('"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"','"+addUnderScore(z)+"');\">[+} show more</a><div style='height: 5px;'></div>";
            break;
          }
        }
      }
    }
  }

  inactiveSubFiltersHTML += "<a href='javascript:void(0);' class=\"showMoreLess\" onclick=\"showShortSubFilters('"+str_replace(subFilterName)+"','"+addUnderScore(sType)+"');\">[-} show less</a><div style='height: 5px;'></div>";

  document.getElementById(addUnderScore(sType)+"_hidden").innerHTML = inactiveSubFiltersHTML;
  document.getElementById(addUnderScore(sType)).innerHTML = inactiveSubFiltersHiddenHTML;
  //reload the grid, with conditions if footer scripts are running, part: luxury_hotels
  if ( typeof('bNoReload') == 'undefined' ) {
    var bNoReload = false;
  }

  if ( bNoReload != true ) {
    reloadGrid(0);
  }
}

function removeFromSubFilters(subFilterName,sType)
{
  if(window.location.href.indexOf('viva') > 0)
    var imgdir = '/viva';
  else
    var imgdir = '';
  var sActiveFiltersHTML = '';
  var sInactiveFiltersHTML = '';
  //reset the page
  cPage = 0;
  sInactiveFiltersHiddenHTML = '';

  var filterEsc = str_replace(subFilterName);
  aInactiveSubFilters.push(filterEsc);

  for(z in aActiveSubFilters)
  {
    if(z == filterEsc)
    {
      delete aActiveSubFilters[z];
    }
  }

  for(i in aActiveSubFilters)
  {
    sActiveFiltersHTML += "<div style=\"cursor: pointer;padding-bottom: 7px;padding-left : 16px;\"><a href='javascript:void(0)' style='padding-right: 4px;' class='listingsFilters' onclick=\"removeFromSubFilters('"+i+"','"+aActiveSubFilters[i]+"')\"><img src='/images/shell_v2"+imgdir+"/listings_closebtn"+fishingSuffix+".gif' border='0' /><a href='javascript:void(0)' class='listingsFilters' onclick=\"removeFromSubFilters('"+i+"','"+aActiveSubFilters[i]+"')\">"+str_repair(i)+"</a></div>";
  }

  for(z in superSubObj[activeSuperFilters[0]])
  {
    if(superSubObj[activeSuperFilters[0]][z].length == 0 )
    {
      sInactiveFiltersHTML += "<div style=\"margin-left: 5px;margin-top: 5px;margin-bottom: 5px;display: block;\"><i>No filter(s) selected</i></div>";
    }
    else
    {
      //means that the long list has been shown currently
      for(i=0;i<superSubObj[activeSuperFilters[0]][z].length;i++)
      {
        if(z == sType)
        {
          var checked = "";
          for(j in aActiveSubFilters)
          {
            if(j==str_replace(superSubObj[activeSuperFilters[0]][z][i])){
              checked = "CHECKED";
            }else{
              continue;
            }
          }
          sInactiveFiltersHTML += "<label><input type='CHECKBOX' "+checked+" onclick=\"checkFilterType(this, '"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"','"+z+"')\" id='"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"'><span class='listingsFilters'> "+superSubObj[activeSuperFilters[0]][z][i]+"</span></label><br>";
        }
      }

      for(i=0;i<superSubObj[activeSuperFilters[0]][z].length;i++)
      {
        if(z == sType)
        {
          var checked = "";
          for(j in aActiveSubFilters)
          {
            if(j==str_replace(superSubObj[activeSuperFilters[0]][z][i])){
              checked = "CHECKED";
            }else{
              continue;
            }
          }

          if(i < 5)
          {
            if(superSubObj[activeSuperFilters[0]][z][i] == "Superior Small Lodging")
            {
              sInactiveFiltersHiddenHTML += "<label><input type=\"CHECKBOX\" "+checked+" onclick=\"checkFilterType(this, '"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"','"+z+"')\" id='"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"'><span class=\"listingsFilters\"> "+superSubObj[activeSuperFilters[0]][z][i]+"<img src='/images/shell/ssllogo_key.gif' border='0' /></span></label><br>";
            }
            else if(superSubObj[activeSuperFilters[0]][z][i] == "Gay Friendly")
            {
              sInactiveFiltersHiddenHTML += "<label><input type=\"CHECKBOX\" "+checked+" onclick=\"checkFilterType(this, '"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"','"+z+"')\" id='"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"'><span class=\"listingsFilters\"> "+superSubObj[activeSuperFilters[0]][z][i]+"<img src='/images/shell/gay_friendly.gif' border='0' /></span></label><br>";
            }
            else if(superSubObj[activeSuperFilters[0]][z][i] == "Florida Green Lodging")
            {
              sInactiveFiltersHiddenHTML += "<label><input type=\"CHECKBOX\" "+checked+" onclick=\"checkFilterType(this, '"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"','"+z+"')\" id='"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"'><span class=\"listingsFilters\"> "+superSubObj[activeSuperFilters[0]][z][i]+"<img src='/images/shell/green_lodging.gif' border='0' /></span></label><br>";
            }
            else if(superSubObj[activeSuperFilters[0]][z][i] == "Shop Florida")
            {
              sInactiveFiltersHiddenHTML += "<label><input type=\"CHECKBOX\" "+checked+" onclick=\"checkFilterType(this, '"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"','"+z+"')\" id='"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"'><span class=\"listingsFilters\"> "+superSubObj[activeSuperFilters[0]][z][i]+"<img src='/images/shell/shop_florida_sm.gif' border='0' title='Enjoy special savings at participating Florida retailers' alt='Enjoy special savings at participating Florida retailers'/></span></label><br>";
            }
            else
            {
              sInactiveFiltersHiddenHTML += "<label><input type=\"CHECKBOX\" "+checked+" onclick=\"checkFilterType(this, '"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"','"+z+"')\" id='"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"'><span class=\"listingsFilters\"> "+superSubObj[activeSuperFilters[0]][z][i]+"</span></label><br>";
            }
          }
          else
          {
            sInactiveFiltersHiddenHTML += "<a href='javascript:void(0);' class=\"showMoreLess\" onclick=\"showFullSubFilters('"+str_replace(superSubObj[activeSuperFilters[0]][z][i])+"','"+addUnderScore(z)+"');\">[+} show more</a><div style='height: 5px;'></div>";
            break;
          }
        }
      }

    }
  }

  sInactiveFiltersHTML += "<a href='javascript:void(0);' class=\"showMoreLess\" onclick=\"showShortSubFilters('"+str_replace(subFilterName)+"','"+addUnderScore(sType)+"');\">[-} show less</a><div style='height: 5px;'></div>";

  document.getElementById(addUnderScore(sType)+"_hidden").innerHTML = sInactiveFiltersHTML;
  document.getElementById(addUnderScore(sType)).innerHTML = sInactiveFiltersHiddenHTML;

  if(sActiveFiltersHTML == "")
  {
    document.getElementById("activeSubFilters").style.display = "none";
  }
  else
  {
    document.getElementById("activeSubFilters").innerHTML = sActiveFiltersHTML;
  }

  reloadGrid(0);
}


function showSubFiltersOf(filterName)
{
  var sSubFiltersHTML = '';
  //reset the inactive
  aInactiveSubFilters = new Array();
  //reset the subfilters as well
  aActiveSubFilters = new Array();
  sSubFiltersHiddenHTML = '';
  //reset current page
  cPage = 0;
  /* Replaced links with checkboxes for all supertags and subtags 27-oct-08*/
  //sSubFiltersHTML += "<ul class=\"listType\">";
  for(a in superSubObj)
  {
    if(a == filterName)
    {

      for(z in superSubObj[filterName])
      {
        sSubFiltersHTML += "<div class=\"listTypeHeadingGrey\" style=\"width:175px\">"+z+"</div>";

        sSubFiltersHTML += "<div id='"+addUnderScore(z)+"_hidden' style='display: none;'>";

        for(i=0;i<superSubObj[filterName][z].length;i++)
        {
          //sSubFiltersHTML += "<ul class='listType'><li><a href='javascript:void(0);' class='listingsFilters' onclick=\"addToSubFilters('"+str_replace(superSubObj[filterName][z][i])+"', '"+z+"');\">"+str_repair(superSubObj[filterName][z][i])+"</a></li></ul>";
          sSubFiltersHTML += "<input type='checkbox' class='listingsFilters' onclick=\"addToSubFilters('"+str_replace(superSubObj[filterName][z][i])+"', '"+z+"');\">"+str_repair(superSubObj[filterName][z][i])+"<br>";
        }

        sSubFiltersHTML += "<a href='javascript:void(0);' class=\"showMoreLess\" onclick=\"showShortSubFilters('"+filterName+"','"+addUnderScore(z)+"');\">[-} show less</a><div style='height: 5px;'></div>";
        sSubFiltersHTML += "</div>";
        sSubFiltersHTML += "<div id='"+addUnderScore(z)+"'>";

        //alert(z);
        for(i=0;i<superSubObj[filterName][z].length;i++)
        {

          if( i < 5)
          {
            aInactiveSubFilters.push(str_repair(superSubObj[filterName][z][i]));
            //sSubFiltersHTML += "<ul class='listType'><li><a href='javascript:void(0);' class='listingsFilters' onclick=\"addToSubFilters('"+str_replace(superSubObj[filterName][z][i])+"', '"+z+"');\">"+str_repair(superSubObj[filterName][z][i])+"</a></li></ul>";
            sSubFiltersHTML += "<input type='checkbox' class='listingsFilters' onclick=\"addToSubFilters('"+str_replace(superSubObj[filterName][z][i])+"', '"+z+"');\">"+str_repair(superSubObj[filterName][z][i])+"<br>";
          }
          else
          {
            sSubFiltersHTML += "<a href='javascript:void(0);' class=\"showMoreLess\" onclick=\"showFullSubFilters('"+filterName+"','"+addUnderScore(z)+"');\">[+} show more</a><div style='height: 5px;'></div><div style='height: 5px;'></div>";
            break;
          }
        }

        sSubFiltersHTML += "</div>";

      }
    }
  }

  //sSubFiltersHTML += "</ul>";
  if(document.getElementById("subFilterGroups"))
    document.getElementById("subFilterGroups").innerHTML = sSubFiltersHTML+sSubFiltersHiddenHTML;
}

function showFullSubFilters(filterName,filterLabel)
{
  document.getElementById(filterLabel).style.display = "none";
  document.getElementById(filterLabel+"_hidden").style.display = "";

}

function showShortSubFilters(filterName,filterLabel)
{
  document.getElementById(filterLabel).style.display = "";
  document.getElementById(filterLabel+"_hidden").style.display = "none";
}

function reloadGrid(nPage)
{
  var currentSuperTag = 0;
  var currentSuperTagID = '';
  var commaGroup = '';
  var comma = '';
  var tempSubFilter = new Array();
	
  //alert(aActiveSubFilters.toString());
  for(a in idObj)
  {
    for(b in activeObj)
    {
      if(a == b)
      {
        currentSuperTag = a;
        //get the super filter group ID from the object
        currentSuperTagID = activeObj[a];
      }
    }
  }

  for(z in aActiveSubFilters)
  {
    if(aSubFilterID[currentSuperTagID][aActiveSubFilters[z]] != undefined && in_array(tempSubFilter,aSubFilterID[currentSuperTagID][aActiveSubFilters[z]][z]) == 0)
    //if(in_array(tempSubFilter,aSubFilterID[currentSuperTagID][aActiveSubFilters[z]][z]) == 0)
    {
      tempSubFilter.push(aSubFilterID[currentSuperTagID][aActiveSubFilters[z]][z]);
    }
  }

  var z=1;
  for(i=0;i<tempSubFilter.length;i++)
  {
    if(z<tempSubFilter.length)
    {
      comma = "|";
    }
    else
    {
      comma = "";
    }

    //commaGroup += "('"+tempSubFilter[i]+"')"+comma;
    commaGroup += tempSubFilter[i]+comma;
    z++;
  }

  //alert(commaGroup);

  if(currentSuperTagID == "")
  {
    currentSuperTagID = "NULL";
  }

  waitToLoad();
  //cPage = 0;
  //alert(sSearch);

  if(cSorting == "")
  {
    cSorting = "NULL";
  }

  if(checkInDate == "")
  {
    checkInDate = "NULL";
  }

  if(checkOutDate == "")
  {
    checkOutDate = "NULL";
  }

  //alert(tagGroup+", "+currentSuperTagID+", "+commaGroup+", "+nPage+", "+flag+", "+checkInDate+", "+checkOutDate);//alert(flag);return false;
  x_reloadGrid(tagGroup,currentSuperTagID,commaGroup,nPage,cSorting,sSearch,flag,checkInDate,checkOutDate,showNewGrid);
}


function showNewGrid(results)
{
  if(window.location.href.indexOf('viva') > 0)
    var imgdir = '/viva';
  else
    var imgdir = '';
  spResults = results.split("//rows//");

  if(spResults[0] != "")
  {
    spResults = results.split("//rows//");
    //eval(spResults[4]);
	
    eval(spResults[5]);
    eval(spResults[6]);
    eval(spResults[7]);
    eval(spResults[8]);
    eval(spResults[9]);
    eval(spResults[10]);
		
    document.getElementById("listingResults").innerHTML = spResults[0];
    //document.getElementById("total").innerHTML = spResults[1];

    if(activeSuperFilters[0] == "")
    {
      document.getElementById("compare_btn").style.display = "none";
    }
    var str = window.location.href;
    var reg = new RegExp("/(golfing)/");
    if (reg.test(str))
    {
      nTotalPages = parseInt(spResults[1]);
      var nPages = Math.ceil(nTotalPages/40);
      var sLinks = '';

      if(nPages > 0 )
      {

        if( (cPage+1) < nPages && cPage > 0)
        {
          sLinks = "<a href='javascript:void(0);' onclick='gridPage("+(cPage-1)+");'><img src=\"/images/shell_v2"+imgdir+"/cal_left.gif\" border='0' /></a>&nbsp;";
          sLinks += "Page "+(cPage+1)+" of "+nPages+"";
          sLinks += "&nbsp;<a href='javascript:void(0);' onclick='gridPage("+(cPage+1)+");'><img src=\"/images/shell_v2"+imgdir+"/cal_right.gif\" border='0' /></a>";
        }

        else if((cPage+1) >= 1)
        {
          if((cPage+1) == nPages && cPage == 0)
          {
            sLinks += "Page "+(cPage+1)+" of "+nPages+"";
          }
          else if( (cPage+1) == nPages)
          {
            sLinks = "<a href='javascript:void(0);' onclick='gridPage("+(cPage-1)+");'><img src=\"/images/shell_v2"+imgdir+"/cal_left.gif\" border='0' /></a>&nbsp;";
            sLinks += "Page "+(cPage+1)+" of "+nPages+"";
          }
          else
          {
            sLinks = "Page "+(cPage+1)+" of "+nPages+"";
            sLinks += "&nbsp;<a href='javascript:void(0);' onclick='gridPage("+(cPage+1)+");'><img src=\"/images/shell_v2"+imgdir+"/cal_right.gif\" border='0' /></a>";
          }
        }
      }
      else
      {
        sLinks = "";
      }


      document.getElementById("total").innerHTML = sLinks;
      document.getElementById("total_bottom").innerHTML = sLinks;
    }
    else
    {
      nTotalPages = parseInt(spResults[2]);
      if(document.getElementById('total_row_count'))
        document.getElementById('total_row_count').innerHTML = '('+nTotalPages+')';

      document.getElementById("total").innerHTML = spResults[1];
      document.getElementById("total_bottom").innerHTML = spResults[1];
      if(flag==1)
      {
        document.getElementById("activeSuperFilters").innerHTML = spResults[3];
        document.getElementById("subFilterGroups").innerHTML = spResults[4];
      }
    }
  }
  else
  {
    document.getElementById("listingResults").innerHTML = "<span class='regularNonBold' style='padding-top: 5px;'>No Results Found</span>";
  }

  if(window.location.href.indexOf('/viva')>-1)
  {
    document.getElementById("current_listings_label").innerHTML = document.getElementById("current_listings_label").innerHTML.replace(/\([0-9]*\)/,'('+nTotalPages+')');
  }
  else if(activeSuperFilters[0] == "")
  {
    document.getElementById("current_listings_label").innerHTML = tagGroup.replace(/_/g,' ')+" "+activeSuperFilters[0]+" listings ("+nTotalPages+")";
  }
  else if(tagGroup.length>1 && window.location.href.indexOf('/fishing')==-1)
  {
    document.getElementById("current_listings_label").innerHTML = tagGroup.replace(/_/g,' ')+"+"+activeSuperFilters[0]+" listings ("+nTotalPages+")";
    document.getElementById("current_listings_label").innerHTML = document.getElementById("current_listings_label").innerHTML.replace(/Heritage Trail\+Heritage Trails/,'Heritage Trails');
  }
  else if(tagGroup.length>1 && tagGroup != 'fishing')
  {
    document.getElementById("current_listings_label").innerHTML = tagGroup.replace(/_/g,' ')+" + fishing listings ("+nTotalPages+")<a href=\"/fishing\" style=\"color:#464646; font-size: 8pt; font-weight: normal; text-decoration: none; display: block; position:relative; z-index:5000; float: right; line-height:24px;\">Back to fishing home &raquo;</a>";
  }
  else if(tagGroup.length>1 && tagGroup == 'fishing')
  {
		
  }
  else
  {
    document.getElementById("current_listings_label").innerHTML = activeSuperFilters[0]+" listings ("+nTotalPages+")";
  }
  isLoaded();

  if(activeSuperFilters == 'hotels & places to stay'){
    var searchType = $('#hotel_search_type').val();
    SChotelsSearch(nTotalPages,tagGroup,searchType,checkInDate,checkOutDate);
  }

  resizeInnerContent();
}

function reloadEmergencyGrid(nPage)
{

  waitToLoad();
  //cPage = 0;
  //alert(sSearch);

  ///alert(tagGroup+", "+currentSuperTagID+", "+commaGroup+", "+nPage);
  x_reloadEmergencyGrid(nPage,showNewEmergencyGrid);
  setTimeout("resizeInnerContent();",600);
}


function showNewEmergencyGrid(results)
{
  //var superSubObj = '';

  spResults = results.split("//rows//");

  if(spResults[0] != "")
  {

    spResults = results.split("//rows//");
    document.getElementById("listingResults").innerHTML = spResults[0];
    //document.getElementById("total").innerHTML = spResults[1];


    nTotalPages = parseInt(spResults[1]);
    var nPages = Math.ceil(nTotalPages/40);
    var sLinks = '';

    if(nPages > 0 )
    {

      if( (cPage+1) < nPages && cPage > 0)
      {
        sLinks = "<a href='javascript:void(0);' onclick='gridEmergencyPage("+(cPage-1)+");'><img src=\"/images/shell_v2/cal_left.gif\" border='0' /></a>&nbsp;";
        sLinks += "Page "+(cPage+1)+" of "+nPages+"";
        sLinks += "&nbsp;<a href='javascript:void(0);' onclick='gridEmergencyPage("+(cPage+1)+");'><img src=\"/images/shell_v2/cal_right.gif\" border='0' /></a>";
      }

      else if((cPage+1) >= 1)
      {
        if((cPage+1) == nPages && cPage == 0)
        {
          sLinks += "Page "+(cPage+1)+" of "+nPages+"";
        }
        else if( (cPage+1) == nPages)
        {
          sLinks = "<a href='javascript:void(0);' onclick='gridEmergencyPage("+(cPage-1)+");'><img src=\"/images/shell_v2/cal_left.gif\" border='0' /></a>&nbsp;";
          sLinks += "Page "+(cPage+1)+" of "+nPages+"";
        }
        else
        {
          sLinks = "Page "+(cPage+1)+" of "+nPages+"";
          sLinks += "&nbsp;<a href='javascript:void(0);' onclick='gridEmergencyPage("+(cPage+1)+");'><img src=\"/images/shell_v2/cal_right.gif\" border='0' /></a>";
        }
      }
    }
    else
    {
      sLinks = "";
    }


    document.getElementById("total").innerHTML = sLinks;
    document.getElementById("total_bottom").innerHTML = sLinks;

  }
  else
  {
    document.getElementById("listingResults").innerHTML = "<span class='regularNonBold' style='padding-top: 5px;'>No Results Found</span>";
  }


  isLoaded();
}

function gridPage(nPageNum)
{
  cPage = nPageNum;
  scrollTo(0,0);
  reloadGrid(nPageNum);
  setTimeout("resizeInnerContent();",600);
}

function gridEmergencyPage(nPageNum)
{
  cPage = nPageNum;
  reloadEmergencyGrid(nPageNum);
}

function addToCompare(listingID,superTag)
{
  if(document.getElementById("compare_"+listingID).checked)
  {
    if(superTag == "")
    {
      superTag = tempSuperTagID;
    }
    x_addToCompare(listingID,superTag,compReturn);
  }
  else
  {
    if(superTag == "")
    {
      superTag = tempSuperTagID;
    }
    x_removeFromCompare(listingID,superTag,compReturn);
  }
}

function compReturn(result)
{

}

function orderByRate()
{
  cPage = 0;
  if (cSorting == "rate_asc") {
    cSorting = "rate_desc";
    document.getElementById("orderbyrate_link").innerHTML = 'Price <img src=\"/images/shell_v2/desc.gif\" border=\"0\" />';
  } else {
    cSorting = "rate_asc";
    document.getElementById("orderbyrate_link").innerHTML = 'Price <img src=\"/images/shell_v2/asc.gif\" border=\"0\" />';
  }
        
  document.getElementById("orderbyname_link").style.fontWeight = "normal";
  document.getElementById("orderbyname_link").style.color = "#7f7f7f";
  document.getElementById("orderbyrate_link").style.fontWeight = "bold";
  document.getElementById("orderbyrate_link").style.color = "#5f5c5c";

  reloadGrid(0);
}

function orderByName()
{
  //#5f5c5c
  cPage = 0;
  cSorting = "name_asc";
  document.getElementById("orderbyrate_link").style.fontWeight = "normal";
  document.getElementById("orderbyrate_link").style.color = "#7f7f7f";
  document.getElementById("orderbyname_link").style.fontWeight = "bold";
  document.getElementById("orderbyname_link").style.color = "#5f5c5c";

  reloadGrid(0);
}

/*This function is called from change my search form from listings page
* When user changes city tag name and check-in and check-out dates
* from the listing page.
* Added On: 26-May-09
*/
function changeTag()
{
  var selObj = document.getElementById('change_search_city');
  cityName = selObj.options[selObj.selectedIndex].value;
  if(cityName.length <=0)
  {
    alert("Please Select City");
    return false;
  }
  if(document.getElementById('hotel_search_checkin') != null)
  {
    checkInDate = document.getElementById('hotel_search_checkin').value; //check in
    checkOutDate = document.getElementById('hotel_search_checkout').value; //check out


    var cur_date=new Date();
    day_val=cur_date.getDate();
    month=cur_date.getMonth()+1;

    //if(month<10)
    //{
    month_val=month;
    //}
    if(day_val<10)
    {
      day_val="0"+day_val;
    }

    year_val=cur_date.getFullYear();
    date_today=month_val+"/"+day_val+"/"+year_val;
    //alert("Current date "+date_today);
    /* Converting given date of format 'm/dd/yyyy' into seconds for comparing 2 dates: 01-June-2009 */
    date_today = Date.parse(date_today);
    checkInDateNew = Date.parse(checkInDate);
    checkOutDateNew = Date.parse(checkOutDate);

    if(checkInDate.length > 0)
    {
      if(compareDate(date_today,checkInDateNew)==1)
      {
        alert("Check In date should not be less than Current date");
        return false;
      }
      if(checkInDateNew!="" && checkOutDateNew=="")
      {
        alert("Check Out date cannot not be empty");
        return false;
      }
      if(compareDate(date_today,checkOutDateNew)==1)
      {
        alert("Check Out date should not be less than Current date");
        return false;
      }
      if(compareDate(checkInDateNew,checkOutDateNew)==1)
      {
        alert("Check-In date should not be greater than Check-Out date");
        return false;
      }
    }
  }
  //alert(checkInDate); alert(checkOutDate);alert(checkInDateNew); alert(checkOutDateNew);
  tagName = selObj.options[selObj.selectedIndex].value;
  if(tagGroup!=tagName)
  {
    for(z in aActiveSubFilters)
    {
      delete aActiveSubFilters[z];
    }
    tagGroup=tagName;
    flag = 1;
  }
  reloadGrid(0);
}

/* function to do comaprision for any given 2 dates
*  date1, date2 string values
*	 returns either 1,-1,0
*	 Added On: 26-May-09
*/
function compareDate(date1,date2)
{
  var ret;
  var d1 = new Date();
  var d2 = new Date();
  d1=date1;
  d2=date2;

  if(d1>d2)
  {
    ret=1;
  }
  if(d1<d2)
  {
    ret=-1;
  }
  if(d1==d2)
  {
    ret=0;
  }
  return ret;
}

