//
var 	total_listings;					//the total amount of listings returned each time
var		_neighborhoods="";
var		_nghbdropdown;					//
var		_nghbdropdownstate="";
var 	category="";					//temporarily stores manhtaan, brooklyn etc which are then moved to var subRequest
var		_selectedNgbh="";				//stores selected neighborhoods

function StartMap(stype,subtype)
{
	load();
	if(stype!="" && subtype!="")
	{
		document.getElementById("div_loading").style.display='block';
		document.getElementById("TblSearch").style.visibility='hidden';
		ChangeMapLocation(subtype);//corcoranMapAPI function
		SendXmlHttpRequest(stype,subtype);
	}
}

function LoadAllListings(cb) {
	
	var elements=document.getElementsByTagName('input');
	var chkbox=document.getElementById(cb);
	var temp=cb.split('_');
	category=temp[0];
	
	if(chkbox.checked==true){
		document.getElementById("div_"+category+"_loading").style.display='block';
	}
	else{document.getElementById("div_"+category+"_loading").style.display='none';}
	
	//uncheck all other checkboxes
	for(var i=0;i<elements.length;i++)
	{
		if((elements[i].getAttribute('type')=='checkbox') && (elements[i].getAttribute('id')!=cb))
		{
			elements[i].checked=false;
		}
	}
	if(chkbox.checked==true)
	{
		SendXmlHttpRequest("ListingsCount",category);
	}
}

function ProcessLoading(cnt){
	var searchtype="SrchAllListings";
	if(category!=null && category!=undefined && category!="")
	{document.getElementById("div_"+category+"_loading").innerHTML="Loading "+cnt+" Listings... Please Wait";}
	SendXmlHttpRequest(searchtype,category);
}

function RequestAllListings(val,type){
	ChangeMapLocation(type);//a corcoranMapAPI function 
	SendXmlHttpRequest(val,type);
}

function RequestPreciseListings(val,type,s_detail)
{
	//document.write(val+" : "+type+" : "+s_detail);
	SendPreciseXmlHttpRequest(val,subRequest,s_detail);
	//clear onetime search terms
	similarlistings="";
}
//show neighborhoods
function ProcessAllListings(data,subtype)
{
	var dataList=new Array();
	var tag=document.getElementById(subtype+'_tr');
	var tr=document.getElementsByTagName('tr');
	var firstNodeIndex;
	var secondNodeIndex;
	var chkunchkStyle="style=\"cursor:pointer;\"";//the style of the check and uncheck links
	var chkClick="onClick=\"SetCheckedVal(1)\"";//the click attribute of the check link
	var unChkClick="onClick=\"SetCheckedVal(0)\"";//the click attribute of the uncheck link
	dataList=data.split('~');
	//arrange the neighborhoods from top to bottom, on the left and top to bottom on the right
	var dataList_left=(dataList.length)/2;
	var dataList_string="'"+dataList_left+"'";
	if(dataList_string.indexOf(".5")!=-1){dataList_left+=0.5;}
	/***********************************************************/
	//tag.style.display='block';
	//detect browser especially firefox to solve the space as node problem
	if (navigator.appVersion.indexOf("MSIE")!=-1){//IE
		firstNodeIndex=0;
		secondNodeIndex=1;
	}
	if(navigator.userAgent.indexOf("Firefox")!=-1){//firefox
		firstNodeIndex=1;
		secondNodeIndex=3;
	}
	//tag.childNodes[firstNodeIndex].innerHTML="<font size=\"1\" "+chkunchkStyle+" "+chkClick+">Check All</font> | <font size=\"1\" "+chkunchkStyle+" "+unChkClick+">Uncheck All</font><BR>";
	//tag.childNodes[secondNodeIndex].innerHTML="<BR>";
	//tag.childNodes[secondNodeIndex].style.padding='0px';
	//show neighborhoods
	var ng='';
	var ng2='';
	var i=0;//fill in the left
	do
	{
		ng+="<input type=\"checkbox\" id=\""+subtype+"_cb_"+i+"\" value=\""+dataList[i]+"\" class=\"mapCheckBox\" /> "+dataList[i]+"<br>";
		i++;		
	}
	while (i<dataList_left);
	var j=i;//continues from where the Left ended
	do
	{
		ng2+=(dataList[j]!=undefined)?"<input type=\"checkbox\" id=\""+subtype+"_cb_"+j+"\" value=\""+dataList[j]+"\" class=\"mapCheckBox\" /> "+dataList[j]+"<br>":"";
		j++;
	}
	while (j<dataList.length);
	ng2+="<p><img align=\"right\" src=\"/gfx/search_main_manh_btn_02.gif\" onClick=\"SearchByNeighborhoods()\" style=\"cursor:pointer;\" border=\"0\"></p>";
	ng+="<p><div id=\"div_"+subtype+"_loading\" style=\"display:none; color:#CC3300\">Loading... Please Wait</div>";
	//tag.childNodes[firstNodeIndex].innerHTML+=ng;
	//tag.childNodes[secondNodeIndex].innerHTML+=ng2;
	//dont render other tr tags
	
	
	for(var i=0;i<tr.length;i++)
	{
		if((tr[i].getAttribute('id')!=null) && (tr[i].getAttribute('id').indexOf('_tr')!=-1) && (tr[i].getAttribute('id')!=subtype+'_tr'))
		{
			tr[i].style.display='none';
			tr[i].style.height='0px';
		}
		//this is a fix to a firefox problem
		if(tr[i].getAttribute('id')==subtype+'_tr')
		{
			document.getElementById(subtype+"_tbody").style.display='block';
		}
	}
}

function BrowseResults(direction){
	switch(direction)
	{
		//these variables are defined in the CorcoranMapXMLHttpClient.js file
		//they are primarily used there
		case "n":
			start=increment;
			if((s_limit+increment)>total_listings){
				increment=total_listings;
			}else{
				increment+=s_limit;
			}			
			break;
		case "p":
			increment=start;	
			start-=s_limit;			
			break;
	} 
	SendPreciseXmlHttpRequest(requestType,subRequest,q_detail);//sends the current request
}

function ProcessListingsData(data,subtype)
{
    
	//var		searchResults_tr = document.getElementById('TblSearchResults_tr');
	//var		searchResults = document.getElementById('TblSearchResults');
	//var		searchTable = document.getElementById('TblSearch');
	//var		searchResultsDiv = document.getElementById('TblSearchResults_div');
	//var 	searchopt = document.getElementById('searchOptions_td');//the show options TD
	//var 	sortopt = document.getElementById('sortoptions_td');
	var		dataArray = new Array();
	var		resultsHtml = "";
	var		nolistings="";
	
	//get each field for all listings
//	var		listings = new Array();
//	var		webid =new Array();
//	var		RentSale=new Array();
//	var		Photo1=new Array();
//	var		Beds=new Array();
//	var		Baths=new Array();
//	var		Units=new Array();
//	var		Floors=new Array();
//	var		PropertyType=new Array();
//	var		Rooms=new Array();
//	var		Price=new Array();
//	var		SqFt=new Array();
//	var		address=new Array();
//	var		Doorman=new Array();
//	var		InContract=new Array();
//	var		Outdoor=new Array();	
//	var		longitude=new Array();
//	var		latitude=new Array();
//	var		ngbhood=new Array();
//	var		zip=new Array();
//	var		listingData=new Array();
//	var		ohinfo=new Array();
	
//	var 	new_start;
//	var		new_endt;
	
	var 	listings_length;
	
	var  HCID=new Array();
	var  Title=new Array();
	var  StreetNumber=new Array();
	var  Direction=new Array();
	var  StreetName=new Array();
	var  ShowStreetNumber=new Array();
	var  Status=new Array();
	var  WaitingRooms=new Array();
	var  ConsultationRooms=new Array();
	var  ProcedureRooms=new Array();
	var  Laboratories=new Array();
	var  ReceptionAreas=new Array();
	var  ExaminationRooms=new Array();
	var  XrayRooms=new Array();
	var  Bathrooms=new Array();
	var  kitchens=new Array();
	var  SqFt=new Array();
	var  Elevator=new Array();
	var  Doorman=new Array();
	var  Parking=new Array();
	var  RentSale=new Array();
	var  Price=new Array();
	var  Down=new Array();
	var  ShowPriceInfo=new Array();
	var  Description=new Array();
	var  Region=new Array();
	var  Photo1=new Array();
	var  Photo2=new Array();
	var  Photo3=new Array();
	var  Photo4=new Array();
	var  Photo5=new Array();
	var  ShowFlag=new Array();
	
	clearMap();
    dataArray=data.split('*$');
	if(dataArray.length > 0)
	{	
		HCID =dataArray[0].split('~');	
		Title=dataArray[1].split('~');
		StreetNumber=dataArray[2].split('~');
		Direction=dataArray[3].split('~');
		StreetName=dataArray[4].split('~');
		ShowStreetNumber=dataArray[5].split('~'); 
		Status=dataArray[6].split('~'); 
		WaitingRooms=dataArray[7].split('~'); 
		ConsultationRooms=dataArray[8].split('~'); 
		ProcedureRooms=dataArray[9].split('~'); 
		Laboratories=dataArray[10].split('~'); 
		ReceptionAreas=dataArray[11].split('~'); 
		ExaminationRooms=dataArray[12].split('~'); 
		XrayRooms=dataArray[13].split('~'); 
		Bathrooms=dataArray[14].split('~'); 
		kitchens=dataArray[15].split('~'); 
		SqFt=dataArray[16].split('~'); 
		Elevator=dataArray[17].split('~'); 
		Doorman=dataArray[18].split('~'); 
		Parking=dataArray[19].split('~'); 
		RentSale=dataArray[20].split('~'); 
		Price=dataArray[21].split('~'); 
		Down=dataArray[22].split('~'); 
		ShowPriceInfo=dataArray[23].split('~'); 
		Description=dataArray[24].split('~'); 
		Region=dataArray[25].split('~'); 
		Photo1=dataArray[26].split('~'); 
		Photo2=dataArray[27].split('~'); 
		Photo3=dataArray[28].split('~'); 
		Photo4=dataArray[29].split('~'); 
		Photo5=dataArray[30].split('~'); 
		ShowFlag=dataArray[31].split('~'); 
		listings_length=HCID.length;
		listings = new Array();
		for(var i=0;i<listings_length;i++) 
		{
		    //alert(';' + WaitingRooms[i]+ ';');
		    //if(WaitingRooms[i] == "1")
		    //{
			    listings[i]=new Array();
			    listings[i][0] = HCID[i];
			    listings[i][1] = Title[i];
			    listings[i][2] = StreetNumber[i]; 
			    listings[i][3] = Direction[i]; 
			    listings[i][4] = StreetName[i]; 
			    listings[i][5] = ShowStreetNumber[i]; 
			    listings[i][6] = Status[i]; 
			    listings[i][7] = WaitingRooms[i]; 
			    listings[i][8] = ConsultationRooms[i]; 
			    listings[i][9] = ProcedureRooms[i]; 
			    listings[i][10] = Laboratories[i]; 
			    listings[i][11] = ReceptionAreas[i]; 
			    listings[i][12] = ExaminationRooms[i]; 
			    listings[i][13] = XrayRooms[i]; 
			    listings[i][14] = Bathrooms[i]; 
			    listings[i][15] = kitchens[i]; 
			    listings[i][16] = SqFt[i]; 
			    listings[i][17] = Elevator[i]; 
			    listings[i][18] = Doorman[i]; 
			    listings[i][19] = Parking[i]; 
			    listings[i][20] = RentSale[i]; 
			    listings[i][21] = Price[i]; 
			    listings[i][22] = Down[i]; 
			    listings[i][23] = ShowPriceInfo[i]; 
			    listings[i][24] = Description[i]; 
			    listings[i][25] = Region[i]; 
			    listings[i][26] = Photo1[i]; 
			    listings[i][27] = Photo2[i]; 
			    listings[i][28] = Photo3[i]; 
			    listings[i][29] = Photo4[i]; 
			    listings[i][30] = Photo5[i]; 
			    listings[i][31] = ShowFlag[i];
		//	}
		}
	}
	ShowListingsOnMap(listings);//markers of listings in the resultset
}

function SearchForSimilarListings(lid)
{
	similarlistings="listingid <>"+lid;
	q_detail=CompileQ();
	RequestPreciseListings(requestType,subRequest,q_detail);
	similarlistings="";//reset
}

//collect selected neighborhoods
function SearchByNeighborhoods()
{
	_selectedNgbh="";
	document.getElementById("div_"+subRequest+"_loading").style.display='block';
	var checkboxes=document.getElementsByTagName('input');
	if(requestType=="AllListings"){requestType="SrchAllListings";}//?
	for(var d=0;d<checkboxes.length;d++){
		if(checkboxes[d].getAttribute('type')=='checkbox'){
			if(checkboxes[d].checked==true){
				_selectedNgbh+=(_selectedNgbh=="")?"'"+checkboxes[d].value+"'":",'"+checkboxes[d].value+"'";
			}
		}
	}
	if(_selectedNgbh==""){
		alert("Please select your areas");
	}
	else{
		_selectedNgbh="area in ("+_selectedNgbh+")";
		q_detail=CompileQ();
		count_by="ngbh";
		SendPreciseXmlHttpRequest("ListingsCount",subRequest,q_detail);	
	}	
}

//collect selected neighborhoods
function SendSearchByNeighborhoods(cnt){
	count_by="";
	document.getElementById("div_"+subRequest+"_loading").innerHTML="Loading "+cnt+" Listings... Please Wait";
	RequestPreciseListings("SrchAllListings",subRequest,q_detail);
}

//check all checkboxes
function SetCheckedVal(val)
{
	var mkChk;
	mkChk=(val==1)?true:false;
	var elements=document.getElementsByTagName('input');
	for(var i=0;i<elements.length;i++)
	{
		if(elements[i].getAttribute('type')=='checkbox')
		{
			elements[i].checked=mkChk;
		}
	}
}
