(function($) {
$.lazyform = $.lazyform || {};
$.extend($.lazyform, {
	_selects: null,
	
	init: function() {
		
		_selects = $('#categories_id');
		_selects.each($.lazyform._initSelect);
		
		$(document).click(function() {
			$('div.select div.open').removeClass().next('ul').hide();					 
		});
	},		
	_$openSelect: null,
	_initSelect: function() {
		var $self = $(this);
		var self = this;
		
		var selectWidth = $self.width();
		var selectUlWidth = $self.width() - 2;
		
		var $select = $('<div />').attr('id', 'select-' + self.id).width(selectWidth).addClass('select');
		var $selectItem = $('<div />').append('<span />');
		var $selectItemText = $selectItem.children('span');
		var $selectUl = $('<ul />').width(selectUlWidth).hide();
		var $selectLi = null;
		var $hoverLi = null;
		
		$self.children().each(function() {
			var $tempLi = $('<li />').append(this.text);
			if(this.selected) {
				$tempLi.addClass('hover');
				$selectItemText.text(this.text);
				
				$selectLi = $tempLi;
				$hoverLi = $tempLi;
			}
			$selectUl.append($tempLi);
			
			$tempLi
				.bind('mouseover', function() {
					$hoverLi.removeClass();
					$tempLi.addClass('hover');
					$hoverLi = $tempLi;
				})
				.bind('click', function() {
					$self.children().each(function() {
						if($hoverLi && this.text == $hoverLi.text()) {
							$tempLi.addClass('hover');
							this.selected = true;
							
							$selectLi = $tempLi;
							$hoverLi = $tempLi;
						}						
					});					
					
					$selectItem.removeClass();
					$selectItemText.text($selectLi.text());
					$selectUl.hide();
				});
		});

		$selectItem.click(function(e) {
			if($.lazyform._$openSelect && $.lazyform._$openSelect != $select) {
				$('#' + $.lazyform._$openSelect.attr('id') + ' > div.open').removeClass().next('ul').hide();
			}			   								   
			$.lazyform._$openSelect = $select;
			
			$selectItem.toggleClass('open');
			if($selectItem.attr('class') == 'open') {
				if($hoverLi != $selectLi) {
					$hoverLi.removeClass();
					$selectLi.attr('class', 'hover');
					$hoverLi = $selectLi;
				}
				$selectUl.show();	
			} else {
				$selectUl.hide();	
			}

			e.stopPropagation();								
		});

		$select.append($selectItem);
		$select.append($selectUl);
		
		$self.hide().before($select);				
	}
});

$(document).ready(function() {
	$.lazyform.init();
});
})(jQuery);


//联想

var old_keyword = null;
var current_keyword_i = -1;

function show_search_keyword_list(obj,e){
	if(obj.value==""){remove_search_keyword_list();return;}
	if(e.keyCode == 40 || e.keyCode == 38){
		select_search_keyword_list(e,obj);
	}else{
		var word = Utils.trim(obj.value);
		word = obj.value.replace(/[^A-Za-z0-9\' ]/gi,"");
		if(old_keyword == word){
			return;	
		}
		old_keyword = word;
		//http://www.tradetang.com/listing/service/searchboxkeyword.jsp?k=
		var url = "/searchboxkeyword.php?k="+word;
		//var url = "http://www.vogue.com/search.html?aa";
		
		Ajax.call(url, '', function(word,obj){
								return function(result){
									show_search_keyword_list_response(result,word,obj);	
								}	 
						   }(word,obj), 'GET', 'JSON');
	}
	
	
}

function show_search_keyword_list_response(result,word,obj){
	if(result.length == 0){
		remove_search_keyword_list();
		return;
	}
	if(!document.getElementById('list')){
		var div = document.createElement('div');
		div.id = 'list';
		div.className = 'listkey';
		//div.style.width = obj.offsetWidth + 'px';
//		div.style.top = findPosY(obj)+obj.offsetHeight+'px';
//		div.style.left = findPosX(obj)+'px';
		document.getElementById("keywords_assn").appendChild(div);

	}
		
	var str = '<div><dl>';	
	for(var i = 0 ; i < result.length; i++){
		var reg = new RegExp("("+word+")","i");
		str += '<dd><a href="javascript:void(0)"><p style="float:left; margin:0">'+result[i].k.replace(reg,'<span class="redbold">$1</span>')+'</p></a></dd>';
	}
	str += '<div class="clear"></div></dl></div><iframe class="iframeBackStyle" frameborder="0"></iframe>';
	
	document.getElementById('list').innerHTML = str;
	search_keywrod_bind(obj);
}

function search_keywrod_bind(obj){
	var dd = document.getElementById('list').getElementsByTagName('dd');
	for(var i = 0 ; i < dd.length ; i++){
		
		Utils.observe(dd[i],'click',function(obj,v){
										return function(){
											search_keyword_onclick(obj,v);
										}		 
									}(obj,dd[i]));	
	}
}

function search_keyword_onclick(obj,v){
	
	obj.value = Utils.stripHTMLTag(v.getElementsByTagName("p")[0].innerHTML);
	remove_search_keyword_list();
}

function remove_search_keyword_list(){
	if(document.getElementById('list')){
		current_keyword_i = -1;
		document.getElementById("keywords_assn").removeChild(document.getElementById('list'));
	}
}

function select_search_keyword_list(e,obj){
	if(!document.getElementById('list')){return}
	var dd = document.getElementById('list').getElementsByTagName('dd');
	if(e.keyCode == 40){ //下
		current_keyword_i++;
		if(current_keyword_i > dd.length-1)current_keyword_i = 0;
	}
	
	if(e.keyCode == 38){ //上
		current_keyword_i--;
		if(current_keyword_i < 0)current_keyword_i = dd.length-1;	
	}
	
	for(var i = 0 ; i < dd.length ; i++){
		if(i == current_keyword_i){
			dd[i].className = 'keybg';
			
			obj.value = Utils.stripHTMLTag(dd[i].getElementsByTagName("p")[0].innerHTML);
		}else{
			dd[i].className = '';	
		}
		
	}
}

window.onload = loads;
function loads(){
	
	Utils.observe(document.body,'click',remove_search_keyword_list);	
	var arg = location.search.substring(1);
	var arg_array = arg.split("&");
	for(var i = 0 ; i < arg_array.length; i++){
		var psession_array = arg_array[i].split("=");
		var name = psession_array[0];
		var value = psession_array[1];
		if(name=="source"){
			document.setCookie('source',value,60*60*24*90*1000);
			var patrn=/Google*/;
			if (patrn.test(value)){
				document.setCookie('googlead',location.href, 60*60*24*30*1000);
				document.setCookie('googleadid',Math.random(), 60*60*24*30*1000);
			} 
		}
	}
	
//	验证码的重载
//	var c = document.getElementById('captcha');
//	if(null != c){
//		//alert('重载验证码');
//		c.onclick();
//	}
	
	if(document.getElementById('topAlert')){
		if(!document.getCookie('survey_status')){
			document.getElementById('topAlert').style.display='none';
		}
		
	}
}
