﻿//搜索条件处理文件
//****************************************************************
jQuery(function(){
	(function(){
		var objSelf;
		var boxParent;
		var boxKey;
		var classId;
		var boxSelected;
		var isKey;
		jQuery('.SearchArea a,.SearchSubWay a,.SearchSchool a').each(function(){
			jQuery(this).click(function(){
				//A-本身
				objSelf		= jQuery(this);			
				
				//按区域搜索-按地铁搜索-按学区搜索
				boxParent	= objSelf.parent();
				
				//搜索变量更改
				if (BuyRent == "Buy"){
				    if (boxParent.hasClass('SearchArea') && SearchMainType != "QY"){
				        SearchMainType = "QY";
				        strMain = "QY|";
				    }
				    else if (boxParent.hasClass('SearchSubWay') && SearchMainType != "DT"){
				        SearchMainType = "DT";
				        strMain = "DT|" + DTDis + "|";
				    }
				    else if (boxParent.hasClass('SearchSchool') && SearchMainType != "XX"){
				        SearchMainType = "XX";
				        strMain = "XX|";
				    }
			    }
			    else{
			        if (boxParent.hasClass('SearchArea') && SearchMainTypeR != "QY"){
				        SearchMainTypeR = "QY";
				        strMainR = "QY|";
				    }
				    else if (boxParent.hasClass('SearchSubWay') && SearchMainTypeR != "DT"){
				        SearchMainTypeR = "DT";
				        strMainR = "DT|" + DTDisR + "|";
				    }
				    else if (boxParent.hasClass('SearchSchool') && SearchMainTypeR != "XX"){
				        SearchMainTypeR = "XX";
				        strMainR = "XX|";
				    }
			    }

				//我要买房子-我要租房
				mainParent  = boxParent.parent();				

				//获取二级条件对象
				boxKey		= boxParent.next();
				
				isKey = jQuery('.SearchWords',mainParent);
				//移动搜索区域列表
				//**************************************************
					//如果不是，需要移动
					if(!boxKey.hasClass('SearchWords')){	
						
						//移除移动前,所选搜索类别的样式:为其上一个兄弟div元素
						/*boxPrev = jQuery('.SearchWords',mainParent).prev();
						boxPrev.removeClass("SearchSelected");
						jQuery('a',boxPrev).removeClass();					
						//给当前搜索类别增加样式
						boxParent.addClass("SearchSelected");

						//移动搜索主体区域
						if(!boxKey.hasClass('SearchMain')){
							//获取该区域
							isKey = jQuery('.SearchMain',mainParent);
							var isKeyClone = isKey.clone(true);
							isKey.remove(); 
							//移动到当前搜索类别之后
							boxParent.after(isKeyClone);
							//alert(boxParent.next().html());
						}

						//移动地名列表区域
							//获取该区域
							isKey = jQuery('.SearchWords',mainParent);							
							//清空区域列表内容和已选列表
							jQuery('div[name],span[parentid]',isKey).remove();							
							//移动该区域到当前搜索类别之后
							boxParent.after(isKey);
						
							boxKey		= boxParent.next();
						*/
							var tempObj = jQuery('.SearchSelected',mainParent).eq(0).removeClass('SearchSelected');
						    jQuery('a',tempObj).removeClass().blur();
						    var tempCurrObj = boxParent.addClass('SearchSelected');
						    boxParent.after(tempObj);
						    isKey.before(tempCurrObj);	
						    jQuery('div[name],span[parentid]',isKey).remove();						
							boxKey		= isKey;
					}
				//**************************************************
				
				//处理距离多少米和按学区搜索的二级搜索条件******************
					//清除所有已选米数！！
					//jQuery('.SearchMm').find(":radio").attr("checked",false);
					//若当前搜索类别为地图则显示距离多少米
					if(boxParent.hasClass("SearchSubWay")){
						jQuery('.SearchMm,.SearchMm p',mainParent).show();
						jQuery('.SearchMm label[name]',mainParent).remove();
					}else{
						jQuery('.SearchMm',boxParent.parent()).hide();
					}
				//***********************************************************

				//已选取的条件列表
				boxSelected = jQuery('.SelectedWordsList',boxKey);

				//移动所有a的current样式
				jQuery('a',boxParent).removeClass('strongBg').removeClass('strong');				
				//给自己加当前样式
				objSelf.addClass('strongBg');				
				//获取该A的name值
				name	= objSelf.attr('name');

				//如果为不限******************************
				if(name=="all"){
					//移除所有地名元素
					jQuery('div[name]',boxKey).remove();
					//移除所有已选的条件
					jQuery('span[parentid]',boxSelected).remove();
					//隐藏条件区域
					boxKey.hide();
					//移动所有a的样式
					jQuery('a',boxParent).removeClass();
					objSelf.addClass('selected');
					//给自己加样式
					objSelf.addClass('current');
					
					if (SearchMainType == "QY"){
			            strMain = "QY|";
			        }
			        else if (SearchMainType == "DT"){
			            strMain = "DT|" + DTDis + "|";
			        }
			        else if (SearchMainType == "XX"){
			            strMain = "XX|";
			        }
			        //alert(strMain);
					
					return false;
				}//**************************************
				
				//alert(strMain);

				//隐藏区域列表下面的所有Div
				jQuery('div[name]',boxKey).hide();
			
				jQuery('.SearchMm label').hide();

				//创建新Div,存放区域列表
				boxNew = jQuery(getTag('div',name),boxKey);
				//判断新Div是否存在
				if(boxNew.length < 1){
					//不存在,创建
					boxKey.prepend('<div name="' + name + '" class="AreaList"></div>');
					//向服务器端发送请求
					
					GetDataWS.GetData(BuyRent, SearchMainType, name, process);
				}else{
					//存在,显示
					if(jQuery('input:checked',boxNew).length>0){
						//当切换的时候,给当前的A加样式
						jQuery(getTag('a',name),boxParent).addClass("strongBg");
					}
					boxNew.show();

				}
				if(boxParent.hasClass('SearchSchool')){
					jQuery('div[name="'+ name +'"] input:checked',boxKey).each(function(){
						var prefix =jQuery('.SearchMm label[parentid="' + jQuery(this).parent().attr('name') + '"]');
						prefix.show();
						jQuery('.SearchMm').show();									
					});
				}
				//最后显示该区域
				boxKey.show();
                
				return false;				
			});		
		});
		//处理请求结果
		//////////////////////////////////////////////////////////20-0
		function process(content){
		    
		    var start = content.indexOf("<");
			var _name = content.slice(0,start)
			_nameText = jQuery('a[name="' + _name + '"]',boxKey.prev()).text();
		
			//将结果加到新建的Div
			jQuery(getTag('div',_name),boxKey).append(content.slice(start));

			
			//将结果加到新建的Div
			//jQuery(getTag('div',name),boxKey).html("").append(content);	
			jQuery(getTag('div',_name) + ' a',boxKey).each(function(){
			    jQuery(this).click(function(){
			        
			        var schoolLabel =  jQuery('.SearchMm label[parentid="' + jQuery(this).attr('name')  + '"]');
			        //jQuery('.SearchMm label[parentid]').hide();
		             if(schoolLabel.length<1){
		                //alert(jQuery(this).attr('name'))
		                GetDataWS.GetDataSchool(jQuery(this).attr('name'), process_school);
		             }else{
		                 
		                 jQuery('.SearchMm label[parentid]').hide();
		                 schoolLabel.show();
		             }
		             
		             //if(jQuery(this).val()==boxLabel.attr('parentid')){					    
						      //  jQuery('.SearchMm').hide();
						    //}else{
						        jQuery('.SearchMm').show();
						   // }
						    jQuery('.SearchMm p').hide();
						    
						    
		             return false;
			    });			    
			});

			//给获取的Input添加单击事件
			//******************************************************************************************
			jQuery(getTag('div',_name) + ' :checkbox',boxKey).each(function(){
	
			    jQuery(this).attr('flagName',_nameText);
				//获取Label
				var boxLabel = jQuery(this).parent();

				//点击事件处理
				jQuery(this).click(function(){
				   // alert(_nameText);
				    //若为"不限"
					if(jQuery(this).val()==boxLabel.attr('parentid')){						
						jQuery('span[flag="'+ boxLabel.attr('parentid') +'"]',boxSelected).remove();
						jQuery('.SearchMm label[parentid^="'+ boxLabel.attr('parentid') +'"]').remove();
	
						jQuery(":checkbox",boxLabel.parent()).each(function(){
						    if (jQuery(this).attr("checked")==true && jQuery(this).val()!=boxLabel.attr('parentid')){
						        //搜索变量更改
						        if (BuyRent == "Buy"){
						            strMain = strMain.replace("|" + jQuery(this).val() + "|", "|");
						        }
						        else{
						            strMainR = strMainR.replace("|" + jQuery(this).val() + "|", "|");
						        }
						        jQuery(this).attr('checked',false);
						        
						    }
						})
					}else{
						if (jQuery(':checkbox',boxLabel.parent()).eq(0).attr('checked')==true){
						    //搜索变量更改
						    if (BuyRent == "Buy"){
						        strMain = strMain.replace("|" + jQuery(':checkbox',boxLabel.parent()).eq(0).val() + "|", "|");
						    }
						    else{
						        strMainR = strMainR.replace("|" + jQuery(':checkbox',boxLabel.parent()).eq(0).val() + "|", "|");
						    }
						    
						    jQuery('span[parentid="'+ boxLabel.attr('parentid') +'"]',boxSelected).remove();
						    jQuery(':checkbox',boxLabel.parent()).eq(0).attr('checked',false);
						}
					}
				
				    //获取搜索分类的样式是否为学区
				    var classKey = boxLabel.parent().parent().prev().hasClass("SearchSchool");
				    var inputname = jQuery(this).parent().attr("name");
									
					//如果当前所展开的不是学校分类
					if(!classKey){
						append_remove(jQuery(this));
					}else{

						    if(jQuery(this).attr("checked")==true){	
							    //增加样式
							    jQuery(getTag('a',jQuery(this).parent().attr("parentid")),boxParent).addClass("selected");
								    //向服务器端发送请求
								    if(jQuery(this).val()!=jQuery(this).parent().attr("parentid")){

								             var schoolLabel =  jQuery('.SearchMm label[parentid="' + jQuery(this).parent().attr('name') + '"]');
								             if(schoolLabel.length<1){
								             
								                GetDataWS.GetDataSchool(jQuery(this).parent().attr('name'), process_school);
								             }else{
								                 schoolLabel.show()
								             }
								    }
								    else{
								        
								        //向已选列表插入节点
								        jQuery('span[flag^="'+  boxLabel.attr('parentid') +  '"]',boxSelected).each(function(){
								            //搜索变量更改
								            if (BuyRent == "Buy"){
								                strMain = strMain.replace("|" + jQuery(this).attr('parentid') + "|", "|");
								            }
								            else{
								                strMainR = strMainR.replace("|" + jQuery(this).attr('parentid') + "|", "|");
								            }
								        })
								        jQuery('span[flag^="'+  boxLabel.attr('parentid') +  '"]',boxSelected).remove();
								        
								        
								        append_remove(jQuery(this));
								    }
    												
						    }else{
							    if(jQuery(getTag('div',jQuery(this).parent().attr("parentid"))+ ' :checked',boxKey).length<1){
								    jQuery(getTag('a',jQuery(this).parent().attr("parentid")),boxParent).removeClass("selected");
							    }
    							jQuery('span[flag="'+  boxLabel.attr('name') +  '"]',boxSelected).remove();
							    jQuery('.SearchMm label[parentid="' + jQuery(this).parent().attr('name') + '"] :checkbox').attr('checked',false);
							    jQuery('.SearchMm label[parentid="' + jQuery(this).parent().attr('name') + '"]').hide();

						    }
						    if(jQuery(this).val()==boxLabel.attr('parentid')){					    
						        jQuery('.SearchMm').hide();
						    }else{
						        jQuery('.SearchMm').show();
						    }
						    jQuery('.SearchMm p').hide();
					}
				})
			});
			
		}
		//学校三级搜索条件
		///////////////////////////////////////////////////////////////
		function process_school(content){
			var start = content.indexOf("<");
			var _name = content.slice(0,start);
			var _parentid = _name.substring(0,_name.indexOf('-'));
			
			_nameText = jQuery('a[name="' + _name.split('-')[0] + '"]',boxKey.prev()).text();
			

			jQuery('.SearchMm').append(content.slice(start));
			var _parentid2 = jQuery('.SearchMm label[parentid!="' + _parentid + '"]')
			
			
			/*jQuery('.SearchMm label').hide()
			jQuery('.SearchMm label[parentid^="' + _parentid + '-"]').show()*/
			
			jQuery('.SearchMm label[parentid="' + _name + '"]').show()
			jQuery('.SearchMm label[parentid!="' + _name + '"]').hide();

			jQuery('.SearchMm :checkbox').each(function(){
			    jQuery(this).attr('flagName',_nameText);
				var boxLabel = jQuery(this).parent();
				jQuery(this).unbind('click').click(function(){
					//////////////////////////////
					//若为"不限"
					if(jQuery(this).val()==jQuery(this).parent().attr('parentid')){
						jQuery('span[flag="'+ boxLabel.attr('parentid') +'"]',boxSelected).remove();
						
						jQuery('label[parentid="'+ boxLabel.attr('parentid') +'"] :checkbox',boxLabel.parent()).each(function(){
						    if (jQuery(this).attr("checked")==true && jQuery(this).val()!=boxLabel.attr('parentid')){
						        //搜索变量更改
						        if (BuyRent == "Buy"){
						            strMain = strMain.replace("|" + jQuery(this).val() + "|", "|");
						        }
						        else{
						            strMainR = strMainR.replace("|" + jQuery(this).val() + "|", "|");
						        }
						        jQuery(this).attr('checked',false);
						    }
						})
					}else{
					    if (jQuery('label[parentid="'+ boxLabel.attr('parentid') +'"] :checkbox',boxLabel.parent()).eq(0).attr('checked')==true){
					        //搜索变量更改
					        if (BuyRent == "Buy"){
					            strMain = strMain.replace("|" + jQuery('label[parentid="'+ boxLabel.attr('parentid') +'"] :checkbox',boxLabel.parent()).eq(0).val() + "|", "|");
					        }
					        else{
					            strMainR = strMainR.replace("|" + jQuery('label[parentid="'+ boxLabel.attr('parentid') +'"] :checkbox',boxLabel.parent()).eq(0).val() + "|", "|");
					        }
						    
						    jQuery('label[parentid="'+ boxLabel.attr('parentid') +'"] :checkbox',boxLabel.parent()).eq(0).attr('checked',false);
						    jQuery('span[parentid="'+ boxLabel.attr('parentid') +'"]',boxSelected).remove();
						}
					}	
					///////////////////////////////
					append_remove(jQuery(this));
				});
			});
		}
		//插入和移除
		///////////////////////////////////////////////////////////////
		function append_remove(o){
			var self = o;
			//如果有选项勾选,给Parent A加当前样式
			if(self.attr("checked")==true){		
						
				//限制最多选择10个
				//**********************************************************************
				if(jQuery("span",boxSelected).length>9){
					alert("最多只能选择10个");
					self.attr("checked",false);
					return false;
				}
							    
				//增加样式
				jQuery(getTag('a',self.parent().attr("parentid")),boxParent).addClass("selected");
				
				//增加到已选择列表里
				
				var htmlSelected = boxSelected.html();
				if (SearchMainType == 'XX'){
				    boxSelected.html(htmlSelected + '<span parentid="' + self.parent().attr("name") + '" flag="'+ self.parent().attr("parentid") +'"><u>X</u>' + self.parent().text() + '</span>');
				}
				else{
                    boxSelected.html(htmlSelected + '<span parentid="' + self.parent().attr("name") + '" flag="'+ self.parent().attr("parentid") +'"><u>X</u>' + self.attr('flagName') + self.parent().text() + '</span>');
				}
				
                //搜索变量更改
                if (BuyRent == "Buy"){
			        strMain += self.val() + "|";
			    }
			    else{
			        strMainR += self.val() + "|";
			    }

				//移除相应已选的队列
				//****************************************************************************
				jQuery("u",boxSelected).click(function(){
				    //搜索变量更改
				    if (BuyRent == "Buy"){
					    strMain = strMain.replace("|" + jQuery(this).parent().attr('parentid') + "|", "|");
					}
					else{
					    strMainR = strMainR.replace("|" + jQuery(this).parent().attr('parentid') + "|", "|");
					}

					//取消区域列表已选状态
					jQuery('label[name="' + jQuery(this).parent().attr('parentid') + '"] :checkbox',boxKey).attr('checked',false);
					
					//移除已选列表相应的队列
					jQuery(this).parent().remove();
					
					//处理无选项,给Parent A移除样式
					//****************************************
					var label = jQuery(getTag('label',jQuery(this).parent().attr("parentid")),boxKey);					
					var div = jQuery(getTag('div',label.attr("parentid")),boxKey)
					if(jQuery(getTag('div',label.attr('parentid'))+' :checked',boxKey).length<1){
						jQuery(getTag('a',div.attr("name")),boxParent).removeClass("selected");
					}
					
					//alert(strMain);
				});
				//***************************************************************************
			}else{
				if(jQuery(getTag('div',self.parent().attr("parentid"))+ ' :checked',boxKey).length<1){
					jQuery(getTag('a',self.parent().attr("parentid")),boxParent).removeClass("selected");
				}
				jQuery('span[parentid="' + self.parent().attr('name') + '"]',boxSelected).remove();
				
				//搜索变量更改
				if (BuyRent == "Buy"){
                    strMain = strMain.replace("|" + self.val() + "|", "|");
                }
                else{
                    strMainR = strMainR.replace("|" + self.val() + "|", "|");
                }
			}
			
			//alert(strMain);
		}


		//按钮处理
		///////////////////////////////////////////////////////////////

		jQuery('.Selected img').click(function(){
		    
			jQuery('a',boxParent).removeClass("selected");
			jQuery('.SearchMm label').remove();
			//jQuery('.SearchMm').hide();
			jQuery(':checkbox',boxKey).attr("checked",false);
			boxSelected.html("")
			
			var parent = jQuery(this).parent().parent().prev();
		    jQuery('strong',parent).click();
		    
			
			//搜索变量更改
			if (BuyRent == "Buy"){
			    strMain = SearchMainType;
			    if (SearchMainType == "DT"){
			        strMain += "|" + DTDis + "|";
			    }
			    else{
			        strMain += "|";
			    }
		    }
		    else{
		    	strMainR = SearchMainTypeR;
			    if (SearchMainTypeR == "DT"){
			        strMainR += "|" + DTDisR + "|";
			    }
			    else{
			        strMainR += "|";
			    }
		    }
			
			//alert(strMain);
		});
		//共用的取用name
		function getTag(t,c){return t + '[name="'+ c +'"]';}

	})();

	jQuery('.SearchArea strong,.SearchSubWay strong,.SearchSchool strong').click(function(){
		jQuery(this).next().click();
	});
	
});
