var multiplyBy = 1;
var unitText = "m";
var maxValueRange = "";
var Currency = "";
function updatePrices(v)
{
	$('priceText').innerHTML=""+v[0] + ' to ' + v[1] + ((Number(v[1]) == maxValueRange) ? ""+unitText+"+ " : ""+unitText+" ");
	$('minprice').value = v[0] * multiplyBy;
	$('maxprice').value = v[1] * multiplyBy;
	
	$('priceDiv').style.left = (parseInt($('minPriceHandle').style.left)-6) + "px";
    $('priceDiv').style.width =  (((parseInt( $('maxPriceHandle').style.left)) - parseInt( $('minPriceHandle').style.left))-4)+"px"
	
}

function updateBedrooms(v)
{

    $('bedDiv').style.marginLeft = parseInt($('minBedsHandle').style.left) + "px"; 
    $('bedDiv').style.width =  (((parseInt( $('maxBedsHandle').style.left)) - parseInt( $('minBedsHandle').style.left)) -4)+"px";
	
    $('bedsText').innerHTML="" + v[0] + ' to ' + v[1] + ((Number(v[1]) == 9) ? "+" : "");
	$('minbeds').value = v[0];
	$('maxbeds').value = v[1];
}

function updateSizes(v)
{
    $('sizeDiv').style.marginLeft = parseInt($('minSizeHandle').style.left) + "px"; 
    $('sizeDiv').style.width =  parseInt($('maxSizeHandle').style.left) - parseInt($('minSizeHandle').style.left) - 4 +"px";
	$('bedsText').innerHTML="" + v[0] + ' to ' +v[1] + ((Number(v[1]) == 20000) ? " Sq.Ft+"+"" : " Sq.Ft");
    $('minsize').value = v[0];
    $('maxsize').value = v[1];
}



function FillCombos(obj,selVal,usePerSelect)
{
    var j = 0;
    for(j=obj.options.length-1 ; j >= 0 ; j--)
    {
        if(obj.options[j].value == "0")
        {
            obj.options[j] = null;
        }
    }
   
	var value = "";
	value = obj.options[obj.selectedIndex].value;
	var TargetString = "";
	switch (value)
		{
			   
                        case "1":
                        {
                        TargetString = "All Residential:35,36|All Commercial:37,38,39,40|Villa:36|Apartment:35|Office Space:37|Retail Space:40|Warehouse:39|LabourHousing:38";
                        break;        
                        }
                   
                        case "2":
                        {
                        TargetString = "All Residential:35,36|All Commercial:37,38,39,40|Villa:36|Apartment:35|Office Space:37|Retail Space:40|Warehouse:39|Labour Housing:38";
                        break;        
                        }
                   
                        case "3":
                        {
                        TargetString = "All Residential:1,2|Villa:2|Apartment:1";
                        break;        
                        }
                    
                
		}
		LoadNextCombo(TargetString,selVal,usePerSelect);
		
}

function LoadNextCombo(TargetString,selVal,usePerSelect)					
{
    var fillobject = document.getElementById('category');
    
	var str = new String();
	str = TargetString;
    var newOptions = str.split("|");
    for(j=fillobject.options.length-1 ; j >0 ; j--)
    {
        fillobject.options[j] = null;
    }
    for(i=0 ; i < newOptions.length ; i++)
    {
        var textVal = newOptions[i].split(":");
        fillobject.options[i] = document.createElement("option", true);
        fillobject.options[i].text = textVal[0];
        fillobject.options[i].value = textVal[1];
        if(fillobject.options[i].value == selVal)
         {
            fillobject.options[i].selected = 'selected';
         }
    }	
    
     ChangeMajorCombo(usePerSelect);  
}

function ChangeMajorCombo(usePerSelect)
{
     var i = 0;
    i = document.getElementById("serviceType").selectedIndex;
    document.getElementById("serviceType").options[i].selected = true;
    if(document.getElementById("serviceType").options[document.getElementById("serviceType").selectedIndex].value  == "1")//RENT
    {
        document.getElementById("PriceSliderDiv").style.display = "block";
        //document.getElementById("CalenderDiv").style.display = "none";
        if(usePerSelect == "true")
            {}
            else
            {createBedsSlider('','');  }
        
    }
    if(document.getElementById("serviceType").options[document.getElementById("serviceType").selectedIndex].value  == "2")//BUY
    {
        document.getElementById("PriceSliderDiv").style.display = "block";
        document.getElementById("CalenderDiv").style.display = "none";        
        if(usePerSelect == "true")
            {}
            else
            {createBedsSlider('','');  }
    }
    if(document.getElementById("serviceType").options[document.getElementById("serviceType").selectedIndex].value == "3")//SHORTSTAY
    {
        document.getElementById("PriceSliderDiv").style.display = "none";
        document.getElementById("CalenderDiv").style.display = "block";    
        if(usePerSelect == "true")
            {}
            else
            {createBedsSlider('','');  }
    }
}
function ChangeMinorCombo(DDl,selVal,usePerSelect)
{
    var compareObject = "";
    
    if(selVal == "none")
        compareObject = DDl.options[DDl.selectedIndex].value;
    
    else
    {
        compareObject = selVal;
    }
    
    if(compareObject == "35,36" || compareObject == "36" || compareObject == "35" || selVal == "residential" )
    {
       if(document.getElementById("serviceType").value != "3")
        {
            document.getElementById("PriceSliderDiv").style.display = "block";
            if(usePerSelect == "true")
            {}
            else
            {
                createBedsSlider('','');  
                document.getElementById('bedsText').innerHTML = '0 to 9+';  
            }
            
        }
    }
     
    if(compareObject ==  "37,38,39,40" || compareObject ==  "37" || compareObject ==  "40" || compareObject ==  "39" || compareObject ==  "38"  || compareObject ==  "-1" || selVal == "commercial")
    {
        document.getElementById("PriceSliderDiv").style.display = "block";   
        if(usePerSelect == "true")
        {}
        else
        {
            createSizeSlider('','');
            document.getElementById('bedsText').innerHTML = '1 to 20000 Sq.Ft+';  
        }
    } 
       
}
function validateCriteria()
{
    var objLookingFor = document.getElementById('serviceType');
    if(objLookingFor.value == "0")
    {
        //alert("Please select \"I am looking to\"");
        //return false;
    }
    
    else
    {
      var region = document.getElementById('myArea');
      if(region.options[region.selectedIndex].value == "-1")
      {
            // alert("Please select \"Region\"");
             //return false;
      }
      else
      {
        var district = document.getElementById('district');
        if(district.options[district.selectedIndex].value == "-1")
            {
               // alert("Please select \"District\"");
               // return false;
            }//
      }
    }
    if(objLookingFor.value == "3")
    {
        var dtFrom = document.getElementById('dateFrom').value;
        var dtto = document.getElementById('dateTo').value;
        
        
        if(!((dtFrom == "" || dtFrom == " Check-in date") || (dtto == "" || dtto == " Check-out date")))
        {
           			
			
			///dateTo.setFullYear(parseInt(toArray[2]),(parseInt(toArray[1])-1),parseInt(toArray[0]));
			
			if(returnDate(dtto)>=returnDate(dtFrom) )
				return true;
        }
        else
        {
        	alert("Please select valid dates");
        	return false;
        }
        alert("Please select valid dates");
        return false;
    }
    var bedDiv = document.getElementById('bedsSlider').style.display;
    var sizeDiv = document.getElementById('sizeSlider').style.display;
    if(bedDiv == "none")
    {
   
       document.getElementById('minbeds').value = '0';
       document.getElementById('maxbeds').value = '9';
    }
    if(sizeDiv == "none")
    {
       document.getElementById('minsize').value = '1'
       document.getElementById('maxsize').value = '20000';
    }
    
    return true;
}
function returnDate(obj)
{
            var toArray = obj.split("-");
            var mydate = new Date();      
			var dateTo = new Date(toArray[2],toArray[1],toArray[0]);
			return dateTo;
}
 function changeSliders(minValue, maxValue,serviceType,category)
  {  
       var ServiceType  = document.getElementById(serviceType);
       var showSpan = document.getElementById('priceText');
       var cmbCategory =  document.getElementById(category);
       var maxRange = 20;
       var multipilier = 0;
       var startMin = 0;
       var startMax = 20;
       var unitVal  = "m";
       var arr = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
       
       
       
       if(ServiceType.value == "1")//Buy
       {
            if(cmbCategory.options[1].value == "35,34,42,32,36" || cmbCategory.options[1].value == "35" || cmbCategory.options[1].value == "34" || cmbCategory.options[1].value == "42" || cmbCategory.options[1].value == "32" || cmbCategory.options[1].value == "36" || cmbCategory.options[1].value == "-1")
            {
                arr = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
                maxRange = 20;
                startMax = maxValue == ""?20:parseInt(maxValue);
                startMin = minValue == ""?0:parseInt(minValue);
                unitVal = "m";
            }
            else
            {
                 arr = [0,1,2,3,4,5,6,7,8,9,10];
                 maxRange = 10;
                 startMax = maxValue == ""?10:parseInt(maxValue);
                 startMin = minValue == ""?0:parseInt(minValue);
                 unitVal = "m";
            }
       }
       else if(ServiceType.value == "2")//Rent
       {  
            if(cmbCategory.options[1].value == "35,34,42,32,36" || cmbCategory.options[1].value == "35" || cmbCategory.options[1].value == "34" || cmbCategory.options[1].value == "42" || cmbCategory.options[1].value == "32" || cmbCategory.options[1].value == "36" || cmbCategory.options[1].value == "-1")
            {
                arr = [0,20,40,60,80,100,120,140,160,180,200,220,240,260,280,300];
                startMax = maxValue == ""?300:parseInt(maxValue);
                maxRange = 300;
                startMin = minValue == ""?0:parseInt(minValue);
                unitVal = "k";
            }
            else
            {
                maxRange = 2;                
                arr = [0,0.2,0.4,0.6,0.8,1.0,1.2,1.4,1.6,1.8,2];
                startMax = maxValue == ""?2:parseFloat(maxValue);
                startMin = minValue == ""?0:parseFloat(minValue);               
                unitVal = "m";
                
            }
            
       }
            
       var priceValues = [startMin, startMax];
       
                 
	   var mslider = new Control.Slider([$('minPriceHandle'), $('maxPriceHandle')], 'priceSlider', {
							range:$R(0, maxRange, false),
							values:arr,
							restricted:true,
							sliderValue: priceValues,
							onSlide: updatePrices
							});
	
	    mslider.update();	
	    unitText = unitVal;
	    if(maxValue =="")
	    {
	        maxValue = maxRange;
	    }
	      
	  showSpan.innerHTML = startMin + " to "+maxValue+""+unitText+(( maxValue == maxRange) ? "+ ":" "); //+ maxRange +" "+unitVal;
	  unitText = unitVal ;
	  document.getElementById('maxprice').value = startMax;
	  maxValueRange = document.getElementById('maxprice').value;
	
  }
  function createBedsSlider(minbedVal, maxbedVal)
  {
        var startMin = 0;
        var startMax = 9;
        startMin = minbedVal == "" ? startMin:parseInt(minbedVal);
        startMax = maxbedVal == "" ? startMax:parseInt(maxbedVal);
        try
        {
            $('bedsSlider').style.display = "block" ;
            $('sizeSlider').style.display = "none" ;
            $('divTextRoom-Size').innerHTML = "Bedrooms:";
                        
             var bedsValues = [startMin, startMax];
		     new Control.Slider([$('minBedsHandle'), $('maxBedsHandle')], 'bedsSlider', {
							range:$R(0, 9, false),
							values:[0,1,2,3,4,5,6,7,8,9],
							restricted:true,
							sliderValue: bedsValues,
							onSlide: updateBedrooms
							});	
							if(startMax == 9)
							{
							    document.getElementById('bedsText').innerHTML = ""+startMin + " to " + startMax+"+";
							}
							else
							{
							    document.getElementById('bedsText').innerHTML = ""+startMin + " to " + startMax;
							}
        }
        catch(ex)
        {}       
        
       
  }
  function createSizeSlider(minSizeVal, maxSizeVal)
  {
  
        var startMin = 1;
        var startMax = 20000;
     
        startMin = minSizeVal == "" ? 1:parseInt(minSizeVal);
        startMax = maxSizeVal == "" ? 20000:parseInt(maxSizeVal);
        $('bedsSlider').style.display = "none" ;
        $('sizeSlider').style.display = "block" ;
        $('divTextRoom-Size').innerHTML = "Size:";
        $('divTextRoom-Size').style.marginRight = "0px";
        var SizeValues = [startMin, startMax];
		new Control.Slider([$('minSizeHandle'), $('maxSizeHandle')], 'sizeSlider', {
							range:$R(1, 20000, false),
							values:[1,100,500,1000,2000,3000,4000,5000,6000,7000,8000,9000,10000,11000,12000,13000,14000,15000,16000,17000,18000,19000,20000],
							restricted:true,
							sliderValue: SizeValues,
							onSlide: updateSizes
							});	
							if(startMax == 20000)
							{
							    document.getElementById('bedsText').innerHTML = "1 to 20000Sq.Ft+";
							}
							else
							{
							    document.getElementById('bedsText').innerHTML = ""+startMin + " to " +startMax +"Sq.Ft" ;
							}
  }
  
  function defaultIntailizer()
  {
        changeSliders('','','serviceType','category');
        createBedsSlider('','');
                document.getElementById('bedsText').innerHTML = "0 to 10m+";
                var sel =  document.getElementById('category');
                    sel.options[0] = document.createElement("option", true);
                    sel.options[0].text = "Property Type";
                    sel.options[0].value = "-1";
  }
  var preSelDistrict = "";
 function updateRegions(obj,countryId, url,perSel){
    if(obj.options.selectedIndex > 0){
        var type = "basic.myArea.selection";
        var cityId = obj.options[obj.options.selectedIndex].value;
        CreateXmlHttpRequest();
        var mydate = new Date();
        url+="?city=" + cityId;
        url+="&countryId="+countryId;
        url+="&type="+type;
        url+="&cacheId="+mydate.getTime();
        request.onreadystatechange = fillRegions;
        request.open("GET", url, true);
        request.send(null);
        preSelDistrict = perSel;
        var form = document.getElementById('BasicSearchForm');
        
		var obj2 = document.getElementById('district');
        for(i=obj2.options.length -1; i >= 0; i--)
        {
            obj2.options[i] = null;
        }
        obj2.options[0] = document.createElement("option",true);
        obj2.options[0].value = -1;
        obj2.options[0].text = "Loading ...";
    }
}

function fillRegions()
{
    if(request.readyState == 4)
    {
        if(request.status == 200)
        {
         
            var form = document.getElementById('BasicSearchForm');
			var obj = document.getElementById('district');
            for(i=obj.options.length-1; i >= 0; i--)
            {
                obj.options[i] = null;
            }
            
            if(request.responseText!="")
            {
                var newOptions = request.responseText.split("|");
                
                for(i=0 ; i < newOptions.length ; i++)
                {
                    obj.options[i] = document.createElement("option", true);
                    obj.options[i].value = newOptions[i].split("::")[1];
                    obj.options[i].text = newOptions[i].split("::")[0];  
                    if(preSelDistrict == obj.options[i].value)
                        {
                            obj.options[i].selected = 'selected';  
                        }               
                }
            }
        }
        else
        {
            alert(request.status);
        }
    }
} 




