/**
 * @author Usman Masood
 */
var query;
 function RemoveCookie(id, elem)
{
elem.blur();
if (elem.innerHTML == 'Saved') {return;}
var xmlRequest = createXMLHttp();
var pageUrl = '../libs/do.aspx?f=remove&pid=' + id;
xmlRequest.onreadystatechange=function(){
    if(xmlRequest.readyState==4 || xmlRequest.readyState=="complete")
    {		
        if(xmlRequest.status==200)
        {
            elem.innerHTML='Save';
        }
        else
        {
        //alert('Unable to communicate to list server');	
        }				
    }
    }
    xmlRequest.open("Get", pageUrl, true);
    elem.innerHTML = 'Removing';
    xmlRequest.send(null);	
}
  
function SaveCookie(id, elem)
{
elem.blur();
if (elem.innerHTML == 'Saved') {return;}
var xmlRequest = createXMLHttp();
var pageUrl = '../libs/do.aspx?f=save&pid=' + id;
xmlRequest.onreadystatechange=function(){
    if(xmlRequest.readyState==4 || xmlRequest.readyState=='complete')
    {						
    if(xmlRequest.status==200)
    {						
    elem.className="saved";
    elem.innerHTML = 'Saved';	
    }	
    else
    {
    //alert('Unable to communicate to list server');	
    }										
    }
}
xmlRequest.open("Get", pageUrl, true);
elem.innerHTML = 'Saving';
xmlRequest.send(null);
}
        
function createXMLHttp() 
{
 var xmlhttp;
 var success = false;
        var XMLHTTP_IDS = new Array('MSXML2.XMLHTTP',
       'Microsoft.XMLHTTP',
       'MSXML2.XMLHTTP.3.0',
       'MSXML2.XMLHTTP.4.0',
       'MSXML2.XMLHTTP.5.0'        
       );
 for (var i=0;i < XMLHTTP_IDS.length && !success; i++) {
              try {			  	
                   xmlhttp = new ActiveXObject(XMLHTTP_IDS[i]);
                   success = true;
               } catch (e) {success = false;}
      
                       }
       if (!success) 
       {
        try
        {
           // Mozilla / Safari / IE7			   
         xmlhttp = new XMLHttpRequest();
        }
      catch(e)
        {
            //alert('Unable to create XMLHttpRequest.');
        }

       }          
	   //xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	   //alert(xmlhttp);
     return xmlhttp;	
	 }
     
function closeTab(elem, display,divprop)
{
 elem.blur();
 if(document.getElementById(divprop).style.display=='none')
 {
   document.getElementById(divprop).style.display='block';
 }
 else
 {
  document.getElementById(divprop).style.display='none';
 }
}	 
     
 function clearFilter(elem, display,divprop) 
 { 	
 elem.blur();
 if(document.getElementById(divprop).style.display=='none' && document.getElementById(display).innerHTML != 'Any')
 {
    if(ClearCombo(divprop))
	{
    PriceHandler(elem);
    }
    
    document.getElementById(display).innerHTML = 'Any';	
	elem.innerText='X';
 }
 else if(document.getElementById(divprop).style.display=='none')
 {
 // elem.style.visibility = 'Visible';
   document.getElementById(divprop).style.display='block';
 }
 else
 {
 //elem.style.visibility = 'hidden';
      if(ClearCombo(divprop)==true)
	{
    PriceHandler(elem);
    }
  document.getElementById(display).innerHTML = 'Any';
 document.getElementById(divprop).style.display='none';
 	elem.innerText='X';
  }
 } 
 
function PriceHandler(elem)
{
	DisableControls(true);
	elem.blur();
    var i;
    var maxprice;
    var minprice;
	var builder;
	var bedroom;
	var keywords;
    	query=document.getElementById('searchprovider').value;
	    builder=document.getElementById('builders').options[document.getElementById('builders').selectedIndex].value;
		document.getElementById('homebuilderinfo').innerText=document.getElementById('builders').options[document.getElementById('builders').selectedIndex].text;
        bedroom=document.getElementById('bedslist').options[document.getElementById('bedslist').selectedIndex].value;
		document.getElementById('bedsinfo').innerText=document.getElementById('bedslist').options[document.getElementById('bedslist').selectedIndex].text;	
	    maxprice=document.getElementById('maxprice').options[document.getElementById('maxprice').selectedIndex].text;
        minprice=document.getElementById('minprice').options[document.getElementById('minprice').selectedIndex].text;
	    elem.innerText=minprice + ' - ' + maxprice;
	    var xmlRequest=createXMLHttp();
		if(document.getElementById('keywords')!==null)
		{
		keywords=document.getElementById('keywords').innerHTML;  	
		}
		else{
		keywords='';  	
		}
	    var pageUrl = '../homes/queries.aspx?f=callback&minprice=' + minprice+'&query='+query+'&maxprice='+maxprice+'&builder='+builder+'&beds='+bedroom+'&key='+keywords;
		xmlRequest.onreadystatechange=function(){
  if(xmlRequest.readyState==4 || xmlRequest.readyState=="complete")
    {										
    if(xmlRequest.status==200)
    {
	var result;
    var TotalRecords;
    var CurrentRecords;
    var DivText;
    var Paging;
	keywords='';
	result=xmlRequest.responseText;
	DivText=result.substring(0,result.search('<div id="totalresults"'));
	if(DivText.length<1)
    {
        document.getElementById('main').innerHTML='<span id="resulttitle">'+'<span>I tried, but I really couldn\'t find any properties matching your search. There is also a chance that I just didn\'t understand you (I\'m only artificially intelligent after all). And if you\'re searching for anything outside United Kingdom, you\'re out of luck - for now.</span>'+'</span><span class="result" id="result"></span>';
        document.getElementById('result').innerHTML='';
		DisableControls(false);		
        return false;
    }

    document.getElementById('result').innerHTML=DivText;
    var rex = /<div\sid=\"totalresults\">([0-9\,]+)/;
    var mt = rex.exec(result);
	if (mt.length > 1)
    {	
    var temp = new Array();
    temp = mt[1].split(',');
    TotalRecords= temp[0];
    CurrentRecords=temp[1];
    }
	rex = /keywords(.*?)>([\w\d\,]*)<\/div>/;
	mt = rex.exec(result);	
	if (mt !==null && mt.length > 1)
    {		
		document.getElementById('keywords').innerHTML=mt[2];
		keywords=mt[2];	
    }
	///Processing Total Number Of Results
	if(TotalRecords==0)
	{
		
        document.getElementById('main').innerHTML='<span id="resulttitle">'+'<span>I tried, but I really couldn\'t find any properties matching your search. There is also a chance that I just didn\'t understand you (I\'m only artificially intelligent after all). And if you\'re searching for anything outside United Kingdom, you\'re out of luck - for now.</span>'+'</span><span class="result" id="result"></span>';		
        document.getElementById('result').innerHTML='';
		DisableControls(false);
        return false;		
	}    	
	
         if(TotalRecords>10)
        {
			 var rexPaging = /<div\sid='paging' style='Display: none'>([\w\W]+)<\/div>/;
    var mtPaging = rexPaging.exec(result);
	if (mt.length > 1) 
    {
    	Paging=mtPaging[1];
	    if(Paging.length>0)
    	{			
		if(document.getElementById("pagingcontainer")=== null)
		{
		Paging='<div id="pagingcontainer" align="center"><span id="Pagingarea">'+Paging+'</span></div>';
        document.getElementById('main').innerHTML=document.getElementById('main').innerHTML+Paging;
		}
		else
		{
		  document.getElementById('pagingcontainer').innerHTML='<span id="Pagingarea">'+Paging+'</span>';
		}
       
		Paging='';
    	}
    }
        document.getElementById('resulttitle').innerHTML = '<p id="title" class="shadedheader">Results <b>'+ 1+ '-' +10 +'</b> of <b>'+TotalRecords+'</b> results for <b>'+ query +'</b></p>';
        }
        else if(TotalRecords>0 && TotalRecords<=10)
        {
        document.getElementById('resulttitle').innerHTML =	'<p id="title" class="shadedheader">Results <b>'+ TotalRecords +'</b> results for <b>'+ query +'</b></p>';
		if(document.getElementById('Pagingarea')!==null)
		{
		document.getElementById('Pagingarea').innerHTML='';
		}
        }
			result='';
			DisableControls(false);
			xmlRequest=null;
    }	
    else
    {
	DisableControls(false);
    //alert('Unable to communicate');
    document.getElementById('resulttitle').innerHTML = '<p id="title" class="shadedheader"><b>Unable to communicate.</b></p>';	
    }										
    }	
    }
    xmlRequest.open("Get", pageUrl, true);
    document.getElementById('resulttitle').innerHTML = '<p id="title" class="shadedheader"><b>Please wait.....</b></p>';
	xmlRequest.send(null);
}

function DisableControls(flaged)
{
	document.getElementById('minprice').disabled=flaged;
	document.getElementById('maxprice').disabled=flaged;
	document.getElementById('pricecontainer').disabled=flaged;
	document.getElementById('builders').disabled=flaged;
	document.getElementById('homebuilderinfo').disabled=flaged;
	document.getElementById('bedslist').disabled=flaged;
	document.getElementById('bedsontainer').disabled=flaged;
	}
	
	function StartNewList()
	{
		if(confirm('Are you sure to create a new list?'))
	{
	/*var xmlRequest = createXMLHttp();
	var pageUrl = '../libs/do.aspx?f=startlist';
	xmlRequest.onreadystatechange=function(){
    if(xmlRequest.readyState==4 || xmlRequest.readyState=="complete")
    {		
        if(xmlRequest.status==200)
        {
            document.getElementById('resulttitle').innerHTML = '<p id="title" class="shadedheader"><b>New List Created Successfully</b></p>';
			document.getElementById('result').innerHTML='';
        }
        else
        {
        //alert('Unable to communicate to list server');	
        }				
    }
    }
    xmlRequest.open("Get", pageUrl, true);
    xmlRequest.send(null);*/    
    eraseCookies();
	document.getElementById('resulttitle').innerHTML = '<p id="title" class="shadedheader"><b>New List Created Successfully</b></p>';
	document.getElementById('result').innerHTML='';
	}
	}	
	
function eraseCookies()
{
createCookie('_exver',"",-100);
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function ClearCombo(typecode)
{
	var flag;
	flag=0;
	if(typecode=="pricecontainer")
	{
		if(document.getElementById('minprice').selectedIndex!=0)
		  {
		  	document.getElementById('minprice').selectedIndex=0;
			flag=1;
		  }
		  if(document.getElementById('maxprice').selectedIndex!=0)
		  {
		  	document.getElementById('maxprice').selectedIndex=0;
			flag=1;			
		  }
	}
	else if(typecode=='bedsontainer')
	{
		if(document.getElementById('bedslist').selectedIndex!=0)
		  {
		  	document.getElementById('bedslist').selectedIndex=0;
			flag=1;
		  }	
	  }
	  else if(typecode=='buildercontainer')
	  {
 		if(document.getElementById('builders').selectedIndex!=0)
		  {
		  	document.getElementById('builders').selectedIndex=0;
			flag=1;
		  }	
	  	}
	  if(flag==0)
		  {
		  	return false;
		  }
		  else
		  {
		  	return true;
		  }
}