/*
 * Search Sidebar Scripts
 * ======================
 * Scripts to handle search sidebar functionality only.
 *
 * Functions in this file are shared by calculatorsidebar.js
 */

var g_pBedSlider;
var g_pBathSlider;
var g_pPriceSlider;
var g_pSqrfSlider;

var g_bInitializeComplete = false;
var g_strLastSearchUrl = '';
var g_bIgnoreSearchInput = false;

//We set the slider price low and high bound here - since some other scripts
//like finehomes may override these before page load. 
var g_iPriceLowBound = 0;
var g_iSqrfLowBound = 0;
var g_iPriceHighBound = 9500;
var g_iSqrfHighBound = 5000;
var g_iPriceIncrement = 50;
var g_iSqrfIncrement = 50;

var g_iSqFtLowBound = 0;
var g_iSqFtHighBound = 5000;
var g_iSqFtIncrement = 50;

RfgQueueCommand('InitializeSliders%28%29%3B');

function ResetPropertySearch( e )
{
   var bPreviousState = g_bIgnoreSearchInput;
   g_bIgnoreSearchInput = true;

   e.returnValue = false;
   ResetAllFormData( document.getElementById('sidebar_form_property') );

   var iMinBeds   = GetUserFieldIntValue('ctl00_ContentPlaceHolderMain_RefineYourSearch1_txtBed');
   var iMinBaths  = GetUserFieldIntValue('ctl00_ContentPlaceHolderMain_RefineYourSearch1_txtBath');
   var iMinPrice  = GetUserFieldIntValue('ctl00_ContentPlaceHolderMain_RefineYourSearch1_propertyminprice');
   var iMaxPrice  = GetUserFieldIntValue('ctl00_ContentPlaceHolderMain_RefineYourSearch1_propertymaxprice');
   var iMinSqrf  = GetUserFieldIntValue('ctl00_ContentPlaceHolderMain_RefineYourSearch1_minSqrf');
   var iMaxSqrf  = GetUserFieldIntValue('ctl00_ContentPlaceHolderMain_RefineYourSearch1_maxSqrf');
   g_pBedSlider.SetValues(iMinBeds, 0, true);
   g_pBathSlider.SetValues(iMinBaths, 0, true);
   g_pPriceSlider.SetValues(iMinPrice, (iMaxPrice>0)?iMaxPrice:g_iPriceHighBound, true);
   g_pSqrfSlider.SetValues(iMinSqrf, (iMaxSqrf>0)?iMaxSqrf:g_iSqrfHighBound, true);
   
   TogglePropertySearchType(null);
   UpdateInputGroupStatus('property', '1');
   UpdateInputGroupStatus('property', '2');
   UpdateInputGroupStatus('property', '3');
   UpdateInputGroupStatus('property', '4');

   g_bIgnoreSearchInput = bPreviousState;
   return false;
}

function ResetAgentSearch( e )
{
   var bPreviousState = g_bIgnoreSearchInput;
   g_bIgnoreSearchInput = true;

   e.returnValue = false;
   ResetAllFormData( document.getElementById('sidebar_form_agent') );

   g_bIgnoreSearchInput = bPreviousState;
   return false;
}

function ResetOfficeSearch( e )
{
   var bPreviousState = g_bIgnoreSearchInput;
   g_bIgnoreSearchInput = true;

   e.returnValue = false;
   ResetAllFormData( document.getElementById('sidebar_form_office') );

   g_bIgnoreSearchInput = bPreviousState;
   return false;
}

function SidebarLoadSurroundingAreas()
{
   var pDiv = obj('sidebarsurroundingareas');
   //var aSelected = new Array();
   var pWhere = obj('propertywhere_1');
   var strWhere = "";
   if( pWhere && pWhere.value && pWhere.value != '' ) {
      strWhere = "&where=" + escape(pWhere.value);
   }
   if( pDiv ) {
      if( !g_CyberAjaxQueue ) {
         onErrorSurroundingAreas(null);
         return;
      }
      var aChildren = pDiv.getElementsByTagName('input');
      for( var i=0; i < aChildren.length; i++ ) {
         if( aChildren[i].name == 'where' ) {
            if( aChildren[i].type == 'checkbox'  || aChildren[i].type == 'radio' ) {
               if( aChildren[i].checked ) {
                  //aSelected.push( aChildren[i].value );
                  strWhere += "&where=" + escape(aChildren[i].value);
               }
            } else {
               //aSelected.push( aChildren[i].value );
               strWhere += "&where=" + escape(aChildren[i].value);
            }
         }
      }      
      SetInnerHtml( pDiv, '<img src=".images/search/loading.gif" alt="loading..."> Locating Surrounding Areas...');

      //Possible Change: Consider passing surrounding areas the current search, as opposed to reading it from the cookie as it does now
      var strUrl = '.search/property/surroundingareaspopup.jsp@svf=sas'+strWhere;
      g_CyberAjaxQueue.schedule( 'findSurroundingAreas', strUrl, onCompleteSurroundingAreas, onErrorSurroundingAreas, true, true, null ) ;
   }
}

function onCompleteSurroundingAreas(pAjaxRequest) {
   SetInnerHtml( 'sidebarsurroundingareas', pAjaxRequest.responseText);
}

function onErrorSurroundingAreas(pAjaxRequest) {
   SetInnerHtml( 'sidebarsurroundingareas', 'Surrounding areas not available');
}

function UpdateInputGroupStatus(strType, strDrawerName) 
{
   var pOpenMarker = document.getElementById('sidebar_drawer_'+strType+'_'+strDrawerName+'_openmarker');
   var pClosedMarker = document.getElementById('sidebar_drawer_'+strType+'_'+strDrawerName+'_closedmarker');
   if( pOpenMarker || pClosedMarker ) {
      var strContentId = 'sidebar_drawer_'+strType+'_'+strDrawerName+'_content';
      var pContainer = document.getElementById( strContentId );
      if( pContainer ) {
         var bMarked = false;
         
         var aChildren = pContainer.getElementsByTagName('input');
         if( aChildren && aChildren.length > 0 ) {
            for( var i=0; i < aChildren.length; i++ ) {
               if( aChildren[i].type == 'checkbox'  || aChildren[i].type == 'radio' ) {
                  if( aChildren[i].checked ) bMarked = true;
               } else if( aChildren[i].type == 'text'  || aChildren[i].type == 'hidden' ) {
                  if( aChildren[i].value != '' ) {
                     if( aChildren[i].strDefaultValue ) {
                        if( aChildren[i].value != aChildren[i].strDefaultValue ) {
                           bMarked = true;
                        }
                     } else {
                        bMarked = true;
                     }
                  }
               }
            }
         }
         aChildren = pContainer.getElementsByTagName('select');
         if( aChildren && aChildren.length > 0 ) {
            for( var i=0; i < aChildren.length; i++ ) {
               if (aChildren[i].options[aChildren[i].selectedIndex].value != "") bMarked = true;
            }
         }
         if( bMarked ) {
            //if( pOpenMarker ) pOpenMarker.innerHTML = '<img src=".images/sidebar/checkmark.gif" width="14" height="14" border="0">';
            //if( pClosedMarker ) pClosedMarker.innerHTML = '<img src=".images/sidebar/checkmark.gif" width="14" height="14" border="0">';
         } else {
            //if( pOpenMarker ) pOpenMarker.innerHTML = '';
            //if( pClosedMarker ) pClosedMarker.innerHTML = '';
         }
      }
   }
}

function enablePropertyMlsSearch( bEnabled, bForce )
{
   if( bEnabled ) {
      if( RemoveClass( 'propertymlsgroupcontainer', 'disabled' ) || bForce ) {
         DisableFormElements( 'propertymlsgroupcontainer', false );
      }
   } else {
      if( AddClass( 'propertymlsgroupcontainer', 'disabled' ) || bForce ) {
         DisableFormElements( 'propertymlsgroupcontainer', true );
      }
   }
}
function enablePropertyWhereSearch( bEnabled, bForce )
{
   if( bEnabled ) {
      if( RemoveClass( 'propertywheregroupcontainer', 'disabled' ) || bForce ) {
         DisableFormElements( 'propertywheregroupcontainer', false );
      }
   } else {
      if( AddClass( 'propertywheregroupcontainer', 'disabled' ) || bForce ) {
         DisableFormElements( 'propertywheregroupcontainer', true );
      }
   }
}

function TogglePropertySearchType( pInputField )
{
   var bDataEntered = false;
   if( pInputField && (pInputField.name == 'mls' || pInputField.name == 'where') ) {
      if( pInputField.strDefaultValue ) {
         if( pInputField.value == pInputField.strDefaultValue || pInputField.value == '' ) {
            bDataEntered = false;
         } else {
            bDataEntered = true;
         }
      } else {
         bDataEntered = (trim(pInputField.value) != '');
      }
      if( bDataEntered ) {
         if( pInputField.name == 'mls' ) {
            enablePropertyWhereSearch(false, false);
         } else {
            enablePropertyMlsSearch(false, false);
         }
         return;
      }
   }

   //Assert: not a keystroke, validate all fields
   var pWhereContainer = document.getElementById('propertywheregroupcontainer');
   var pMlsContainer = document.getElementById('propertymlsgroupcontainer');
   if( pWhereContainer && pMlsContainer ) {
      var bDataEntered = false;
      bDataEntered = FormDataEnteredInContainer(pWhereContainer);
      if( bDataEntered ) {
         enablePropertyMlsSearch(false, true);
         enablePropertyWhereSearch(true, true);
         return;
      }
      bDataEntered = FormDataEnteredInContainer(pMlsContainer);
      if( bDataEntered ) {
         enablePropertyMlsSearch(true, true);
         enablePropertyWhereSearch(false, true);
         return;
      }

      //Assert: data not entered in either
      enablePropertyMlsSearch(true, true);
      enablePropertyWhereSearch(true, true);
   }
}

/*
function SidebarExpandAllDrawers( strType )
{
   var pDrawerContainer = document.getElementById('sidebar_drawer_'+strType+'_container');
   if( pDrawerContainer ) {
      var aDrawers = pDrawerContainer.getElementsByTagName('div');
      if( aDrawers && aDrawers.length > 0 ) {
         for( var i=0; i < aDrawers.length; i++ ) {
            //Expand all closed drawers
            if( aDrawers[i].id ) {
               if( aDrawers[i].id.match(/sidebar_drawer_.*_.*_content/) != null ) {
                  RemoveClass( aDrawers[i], 'hide' );
               } else if( aDrawers[i].id.match(/sidebar_drawer_.*_.*_handle/) != null ) {
                  AddClass( aDrawers[i], 'hide' );
               }
            }
         }
      }
   }
   return false;
}
*/


function SidebarToggleDrawer( strType, strDrawerName, onOpen, onClose ) {
   var strHandleId = 'sidebar_drawer_'+strType+'_'+strDrawerName+'_handle';
   if( HasClass( strHandleId, 'active_sidebar_drawer_handle' ) ) {
      //This drawer is already open!
      SidebarCollapseDrawer( strType, strDrawerName );
      if( onClose ) onClose();
   } else {
      //This drawer is closed
      SidebarExpandDrawer( strType, strDrawerName );
      if( onOpen ) onOpen();
   }
   return false;
}



function SidebarExpandDrawer( strType, strDrawerName )
{
   var strContentId = 'sidebar_drawer_'+strType+'_'+strDrawerName+'_content';
   var strHandleId = 'sidebar_drawer_'+strType+'_'+strDrawerName+'_handle';
   var pDrawerContainer = document.getElementById('sidebar_drawer_'+strType+'_container');

   if( pDrawerContainer ) {
      var aDrawers = pDrawerContainer.getElementsByTagName('div');
      if( aDrawers && aDrawers.length > 0 ) {
         for( var i=0; i < aDrawers.length; i++ ) {
            //Collapse all open drawers first            
            if( aDrawers[i].id ) {
               if( aDrawers[i].id.match(/sidebar_drawer_.*_.*_content/) != null ) {
                  AddClass( aDrawers[i], 'hide' );
               } else if( aDrawers[i].id.match(/sidebar_drawer_.*_.*_handle/) != null ) {
                  //RemoveClass( aDrawers[i], 'hide' );
                  RemoveClass( aDrawers[i], 'active_sidebar_drawer_handle' );
               }
            }
         }
      }

      var pMask = obj('page_content_mask');
      if( pMask ) pMask.style.display = 'block';

      //Now open our requested drawer      
      var pOurDrawerContent = document.getElementById( strContentId );
      pOurDrawerContent.parentNode.style.visibility = 'hidden';

      RemoveClass( pOurDrawerContent, 'hide' );
      //AddClass( strHandleId, 'hide' );
      AddClass( strHandleId, 'active_sidebar_drawer_handle' );
      StartDrawerOpenLoop( pOurDrawerContent );
   }
   return false;
}

function SidebarCollapseDrawer( strType, strDrawerName )
{
   var strHandleId = 'sidebar_drawer_'+strType+'_'+strDrawerName+'_handle'; 
   var strContentId = 'sidebar_drawer_'+strType+'_'+strDrawerName+'_content';
   var pDrawerDiv = document.getElementById( strContentId );
   if( pDrawerDiv ) {
      //var iDrawerOpenHeight = CyberCoreFindHeight(pDrawerDiv);
      //var iDrawerTop = CyberCoreFindPosY(pDrawerDiv);
      // 
      var iDrawerOpenWidth = CyberCoreFindWidth(pDrawerDiv);
      var iDrawerLeft = CyberCoreFindPosX(pDrawerDiv);
      
      var aChildDivs = pDrawerDiv.getElementsByTagName('div');
      var pTmpDiv = null;
      var aSlideControls = new Array();

      var pMask = obj('page_content_mask');
      if( pMask ) pMask.style.display = 'none';

      //IE can't handle sliders in drawers while opening, do it in reverse so our heights are correct
/*
      for( var i=(aChildDivs.length-1); i >= 0 ; i-- ) {
         if( HasClass( aChildDivs[i], 'slidercontainer' ) ) {
            aSlideControls.push( aChildDivs[i] );
            aChildDivs[i].originalBottom = CyberCoreFindPosY(aChildDivs[i]) + CyberCoreFindHeight(aChildDivs[i]) - iDrawerTop;
         }
      }
      pDrawerDiv.style.height = iDrawerOpenHeight + 'px';
*/
      pDrawerDiv.style.width = iDrawerOpenWidth + 'px';
      var pSmoothMovement = new SmoothMovement(iDrawerOpenWidth, 0, 7);
      window.setTimeout( function() {UpdateDrawerClose(pDrawerDiv, aSlideControls, pSmoothMovement, iDrawerOpenWidth, strHandleId);}, 20 );
   }
   return false;
}

function UpdateDrawerOpen(pDrawerDiv, aSlideControls, pSmoothMovement, iDrawerOpenWidth, iCurrWidth) {
   var iCurrWidth = pSmoothMovement.updatePosition();
   if( iCurrWidth >= iDrawerOpenWidth ) {
      //We're done
      for( var i=0; i < aSlideControls.length; i++ ) {
         if( HasClass( aSlideControls[i], 'slidercontainer' ) ) {
            RemoveClass(aSlideControls[i], 'hide');
         }
      }
      pDrawerDiv.style.height = '';      
   } else {
/*
      for( var i = 0; i < aSlideControls.length; i++ ) {
         if( aSlideControls[i].originalBottom < iCurrHeight  ) {
            RemoveClass(aSlideControls[i], 'hide');
         }
      }
*/

      pDrawerDiv.style.width = iCurrWidth + 'px';
      window.setTimeout( function() {UpdateDrawerOpen(pDrawerDiv, aSlideControls, pSmoothMovement, iDrawerOpenWidth, iCurrWidth);}, 20 );
   }
}

function UpdateDrawerClose(pDrawerDiv, aSlideControls, pSmoothMovement, iCurrWidth, strHandleId) {
   var iCurrWidth = pSmoothMovement.updatePosition();
   if( iCurrWidth <= 0 ) {
      //We're done      
      AddClass( pDrawerDiv, 'hide' );
      //RemoveClass( strHandleId, 'hide' );
      RemoveClass( strHandleId, 'active_sidebar_drawer_handle' );
      pDrawerDiv.style.width = '';
      for( var i=0; i < aSlideControls.length; i++ ) {
         if( HasClass( aSlideControls[i], 'slidercontainer' ) ) {
            RemoveClass(aSlideControls[i], 'hide');
         }
      }
   } else {
/*
      for( var i = 0; i < aSlideControls.length; i++ ) {
         if( aSlideControls[i].originalBottom >= iCurrHeight  ) {
            AddClass(aSlideControls[i], 'hide');
         }
      }
      pDrawerDiv.style.height = iCurrHeight + 'px';
*/
      pDrawerDiv.style.width = iCurrWidth + 'px';
      
      window.setTimeout( function() {UpdateDrawerClose(pDrawerDiv, aSlideControls, pSmoothMovement, iCurrWidth, strHandleId);}, 20 );
   }
}

function StartDrawerOpenLoop( pDrawerDiv ) {
   if( pDrawerDiv ) {

      //Start work-around IE6's lack of min-height support!
      if( g_pBrowser.bIsMsIe && g_pBrowser.fVersionMajor == 6 ) {
         var iDrawerOpenHeight = CyberCoreFindHeight(pDrawerDiv);
         if(  iDrawerOpenHeight < 400  ) {
            var aChildDivs = pDrawerDiv.getElementsByTagName('div');
            for( var i=(aChildDivs.length-1); i >= 0 ; i-- ) {
               if( HasClass( aChildDivs[i], 'sidebarpopupcontainer' ) ) {
                  aChildDivs[i].style.height = '400px';
               }
            }            
         }
      }
      //End IE6 min-height work-around

      var iDrawerOpenWidth = CyberCoreFindWidth(pDrawerDiv);
      var iDrawerLeft = CyberCoreFindPosX(pDrawerDiv);
      var aSlideControls = new Array();
      
/*
      //IE can't handle sliders in drawers while opening, do it in reverse so our heights are correct
      var aChildDivs = pDrawerDiv.getElementsByTagName('div');
      var pTmpDiv = null;
      for( var i=(aChildDivs.length-1); i >= 0 ; i-- ) {
         if( HasClass( aChildDivs[i], 'slidercontainer' ) ) {
            aSlideControls.push( aChildDivs[i] );
            aChildDivs[i].originalBottom = CyberCoreFindPosY(aChildDivs[i]) + CyberCoreFindHeight(aChildDivs[i]) - iDrawerTop;
            AddClass(aChildDivs[i], 'hide');
         }
      }
      
      pDrawerDiv.style.height = 0;
*/
      pDrawerDiv.style.width = 0;
      pDrawerDiv.parentNode.style.visibility = 'visible';
      var pSmoothMovement = new SmoothMovement(0, iDrawerOpenWidth, 10);
      window.setTimeout( function() {UpdateDrawerOpen(pDrawerDiv, aSlideControls, pSmoothMovement, iDrawerOpenWidth, 0);}, 20 );
   }
}

function ExtendSidebarSelection(strIdStub)
{
   try {
      //Validate that this group is not disabled
      try {
         if( HasClass(strIdStub + 'groupcontainer', 'disabled' ) ) {
            alert('You may only select either a location or an MLS/Listing ID#.');
            return false;
         }
      } catch (e) {
      }

      //Enumerate available elements in this group
      var aSidebarSelections = new Array();
      var pGroupContainer = document.getElementById( strIdStub + 'groupcontainer' );
      var aChildren = pGroupContainer.getElementsByTagName('div');
      if( aChildren && aChildren.length > 0 ) {
         var pRegEx = new RegExp("^"+strIdStub+"container_\\d+$");
         for( var i=0; i < aChildren.length; i++ ) {
            if( aChildren[i].id.search( pRegEx ) != -1 ) {
               aSidebarSelections.push( aChildren[i] );
            }
         }
      }
      for( var i in aSidebarSelections ) {
         if( HasClass(aSidebarSelections[i], 'hide' ) ) {
            RemoveClass( aSidebarSelections[i], 'hide');            
            //ee: RemoveClass( strIdStub + 'extendaction', 'first' );
            if( i == (aSidebarSelections.length - 1)) {
               AddClass( strIdStub + 'extendaction', 'hide' );
            }
            var aChildren = pGroupContainer.getElementsByTagName('*');
            for( var i=0; i < aChildren.length; i++ ) {
               if( HasClass( aChildren[i], 'sidebaractionbutton' ) ) {
                  RemoveClass( aChildren[i], 'hide' );
               }
            }
            return false;
         }
      }
   } catch( e ) {
      alert( e.message );
   }

   return false;
}

function WithdrawSidebarSelection(strIdStub, iNum)
{
   try {
      //Enumerate available elements in this group
      var aSidebarSelections = new Array();
      var pGroupContainer = document.getElementById( strIdStub + 'groupcontainer' );
      var aChildren = pGroupContainer.getElementsByTagName('div');
      if( aChildren && aChildren.length > 0 ) {
         var pRegEx = new RegExp("^"+strIdStub+"container_\\d+$");
         for( var i=0; i < aChildren.length; i++ ) {
            if( aChildren[i].id.search( pRegEx ) != -1 ) {
               aSidebarSelections.push( aChildren[i] );
            }
         }
      }

   } catch( e ) {
      alert( e.message );
   }

   var iNumDrawersOpen = 0;
   for( var i in aSidebarSelections ) {
      if( ! HasClass(aSidebarSelections[i], 'hide' ) ) {
         iNumDrawersOpen++;
      }
   }

   //Bubble all entries up
   if( iNum < iNumDrawersOpen ) {
      for( var i = iNum; i < iNumDrawersOpen; i++ ) {
         var aValues = new Array();

         var aToChildren = aSidebarSelections[i-1].getElementsByTagName('input');
         var aFromChildren = aSidebarSelections[i].getElementsByTagName('input');
         if( (aToChildren && aFromChildren) && aToChildren.length == aFromChildren.length  ) {
            for( var j=0; j < aToChildren.length; j++ ) {
               if( aToChildren[j].type == 'text'  || aToChildren[j].type == 'hidden' ) {
                  aToChildren[j].value = aFromChildren[j].value;
               }
            }
         }

      }
   }

   //We always close the bottom drawer
   var aChildren = aSidebarSelections[iNumDrawersOpen-1].getElementsByTagName('input');
   if( aChildren && aChildren.length > 0 ) {
      for( var i=0; i < aChildren.length; i++ ) {
         if( aChildren[i].type == 'text'  || aChildren[i].type == 'hidden' ) {
            if( aChildren[i].strDefaultValue ) {
               aChildren[i].value = aChildren[i].strDefaultValue;
            } else {
               aChildren[i].value = '';
            }
         }
      }
   }
   AddClass( aSidebarSelections[iNumDrawersOpen-1], 'hide' );

   if (iNumDrawersOpen <= 1) {
      //This means we're all buttoned up now.
      //ee: AddClass( strIdStub + 'extendaction', 'first' );
      var aChildren = aSidebarSelections[0].getElementsByTagName('*');
      for( var i=0; i < aChildren.length; i++ ) {
         if( HasClass( aChildren[i], 'sidebaractionbutton' ) ) {
            AddClass( aChildren[i], 'hide' );
         }
      }      
   }
   RemoveClass( strIdStub + 'extendaction', 'hide' );

   //When closed, validate all element groups
   TogglePropertySearchType();

   return false;
}

////This function may be overriden, ie. by commercial property search
//function UpdatePropertySearchLimits() {
//    if (!g_bInitializeComplete) return;
//    if (g_bIgnoreSearchInput) return;

//    var pForm = obj('sidebar_form_property');
//    if (pForm.onsubmit) {
//        if (!pForm.onsubmit()) {
//            ///Submission was cancelled
//            return;
//        }
//    }
//    pForm.submit();
//}

// --------------------  FUNCTION FOR PROPERTY SEARCH SLIDERS --------------------  

function onChangeBedSlider( pSlider )
{
   onMovingBedSlider( pSlider );
   //UpdatePropertySearchLimits();
}
function onChangeBathSlider( pSlider )
{
   onMovingBathSlider( pSlider );
   //UpdatePropertySearchLimits();
}
function onChangePriceSlider( pSlider )
{
   onMovingPriceSlider( pSlider );
   //UpdatePropertySearchLimits();
}
function onChangeSqfrSlider( pSlider )
{
   onMovingSqrfSlider( pSlider );
   //UpdatePropertySearchLimits();
}

function onMovingBedSlider( pSlider )
{
   var iLowValue = pSlider.GetLowValue();
   if(iLowValue > 0 ) {
      document.getElementById('ctl00_ContentPlaceHolderMain_RefineYourSearch1_txtBed').value = iLowValue;
   } else {
      document.getElementById('ctl00_ContentPlaceHolderMain_RefineYourSearch1_txtBed').value = '';
   }   
}
function onMovingBathSlider( pSlider )
{
   var iLowValue = pSlider.GetLowValue();
   
   if( iLowValue > 0 ) {
      document.getElementById('ctl00_ContentPlaceHolderMain_RefineYourSearch1_txtBath').value = iLowValue;
   } else {
   
      document.getElementById('ctl00_ContentPlaceHolderMain_RefineYourSearch1_txtBath').value = '';
   }
}
function onMovingPriceSlider( pSlider )
{
   var iLowValue = pSlider.GetLowValue();
   var iHighValue = pSlider.GetHighValue();   
   if( iHighValue > (g_iPriceHighBound-g_iPriceIncrement) ) {
      //document.getElementById('propertypricelabel').innerHTML = '$' + AddCommas(iLowValue) + ' to No limit';
      document.getElementById('ctl00_ContentPlaceHolderMain_RefineYourSearch1_propertymaxprice').value = '';
   } else {
      //document.getElementById('propertypricelabel').innerHTML = '$' + AddCommas(iLowValue) + ' to $' + AddCommas(iHighValue);
      document.getElementById('ctl00_ContentPlaceHolderMain_RefineYourSearch1_propertymaxprice').value = AddCommas(iHighValue);
   }
   if( iLowValue > 50) {
      document.getElementById('ctl00_ContentPlaceHolderMain_RefineYourSearch1_propertyminprice').value = AddCommas(iLowValue);
   } else {
      document.getElementById('ctl00_ContentPlaceHolderMain_RefineYourSearch1_propertyminprice').value = '';
   }
}

function onMovingSqrfSlider( pSlider )
{
   var iLowValue = pSlider.GetLowValue();
   var iHighValue = pSlider.GetHighValue();   
   if( iHighValue > (g_iSqrfHighBound-g_iSqrfIncrement) ) {
      document.getElementById('ctl00_ContentPlaceHolderMain_RefineYourSearch1_maxSqrf').value = '';
   } else {
   document.getElementById('ctl00_ContentPlaceHolderMain_RefineYourSearch1_maxSqrf').value = AddCommas(iHighValue);
   }
   if( iLowValue > 50) {
      document.getElementById('ctl00_ContentPlaceHolderMain_RefineYourSearch1_minSqrf').value = AddCommas(iLowValue);
   } else {
      document.getElementById('ctl00_ContentPlaceHolderMain_RefineYourSearch1_minSqrf').value = '';
   }
}


function InitializeSliders()
{
   try{
      if( document.getElementById ) {
        /**
         * 
         * Initialize Property Slider Values
         * 
         **/
         var iMinBeds   = GetUserFieldIntValue('ctl00_ContentPlaceHolderMain_RefineYourSearch1_txtBed');
         var iMinBaths  = GetUserFieldIntValue('ctl00_ContentPlaceHolderMain_RefineYourSearch1_txtBath');
         var iMinPrice  = GetUserFieldIntValue('ctl00_ContentPlaceHolderMain_RefineYourSearch1_propertyminprice');
         var iMaxPrice  = GetUserFieldIntValue('ctl00_ContentPlaceHolderMain_RefineYourSearch1_propertymaxprice');
         var iMinSqrf  = GetUserFieldIntValue('ctl00_ContentPlaceHolderMain_RefineYourSearch1_minSqrf');
         var iMaxSqrf = GetUserFieldIntValue('ctl00_ContentPlaceHolderMain_RefineYourSearch1_maxSqrf');
         var pDivPrice = document.getElementById('propertypriceslide');
         var pDivSqft = document.getElementById('DivminSqrf');
         
         var pDivBeds  = document.getElementById('propertybedsslide');
         var pDivBaths = document.getElementById('propertybathsslide');
   
         if( g_iPriceLowBound > iMinPrice ) {
            iMinPrice = Math.max(iMinPrice, g_iPriceLowBound);
            document.getElementById('ctl00_ContentPlaceHolderMain_RefineYourSearch1_propertyminprice').value = iMinPrice;
         }
   
        if( g_iSqrfLowBound > iMinSqrf ) {
            iMinSqrf = Math.max(iMinSqrf, g_iSqrfLowBound);
            document.getElementById('ctl00_ContentPlaceHolderMain_RefineYourSearch1_minSqrf').value = iMinSqrf;
         }
         
         if( pDivPrice && pDivBeds && pDivBaths && pDivSqft) {
            try {

               g_pPriceSlider = new CyberSlider( pDivPrice.id, true, g_iPriceLowBound, g_iPriceHighBound, g_iPriceIncrement,
                                                 iMinPrice, (iMaxPrice>0)?iMaxPrice:g_iPriceHighBound,
                                                 "http://eravietnam.com.vn/ImagesResource/sidebar/sliderbg_202.gif", "http://eravietnam.com.vn/ImagesResource/sidebar/slideractivearea.gif", 202, 11, '',
                                                 "http://eravietnam.com.vn/ImagesResource/sidebar/grabwidget_left.gif", "http://eravietnam.com.vn/ImagesResource/sidebar/grabwidget_right.gif", 13, 11,
                                                 1, 1,
                                                 onChangePriceSlider, onMovingPriceSlider );

                g_pSqrfSlider = new CyberSlider( pDivSqft.id, true, g_iSqrfLowBound, g_iSqrfHighBound, g_iSqrfIncrement,
                                                 iMinSqrf, (iMaxSqrf>0)?iMaxSqrf:g_iSqrfHighBound,
                                                 "http://eravietnam.com.vn/ImagesResource/sidebar/sliderbg_202.gif", "http://eravietnam.com.vn/ImagesResource/sidebar/slideractivearea.gif", 202, 11, '',
                                                 "http://eravietnam.com.vn/ImagesResource/sidebar/grabwidget_left.gif", "http://eravietnam.com.vn/ImagesResource/sidebar/grabwidget_right.gif", 13, 11,
                                                 1, 1,
                                                 onChangeSqfrSlider, onMovingSqrfSlider );

               g_pBedSlider = new CyberSlider( pDivBeds.id, false, 0, 6, 1,
                                               iMinBeds, 0,
                                               "http://eravietnam.com.vn/ImagesResource/sidebar/sliderbg_80.gif", "http://eravietnam.com.vn/ImagesResource/sidebar/slideractivearea.gif", 80, 11, '',
                                               "http://eravietnam.com.vn/ImagesResource/sidebar/grabwidget_left.gif", "http://eravietnam.com.vn/ImagesResource/sidebar/grabwidget_right.gif", 13, 11,
                                               1, 1,
                                               onChangeBedSlider, onMovingBedSlider );
   
               g_pBathSlider = new CyberSlider( pDivBaths.id, false, 0, 6, 1,
                                                iMinBaths, 0,
                                                "http://eravietnam.com.vn/ImagesResource/sidebar/sliderbg_80.gif", "http://eravietnam.com.vn/ImagesResource/sidebar/slideractivearea.gif", 80, 11, '',
                                                "http://eravietnam.com.vn/ImagesResource/sidebar/grabwidget_left.gif","http://eravietnam.com.vn/ImagesResource/sidebar/grabwidget_right.gif", 13, 11,
                                                1, 1,
                                                onChangeBathSlider, onMovingBathSlider );
      
               //g_AjaxQueue.RegisterErrorHandler( SearchPropertyOnAjaxError );
               g_bInitializeComplete = true;
            } catch ( e ) {
               g_bAjaxEnabled = false;
            }
         }
      } else {
         //Force no ajax, if we have no id access
         g_bAjaxEnabled = false;
      }
   }catch( e  ){
      alert( e.message);
   }
}

