// JavaScript Document
$(function(){
	$("#menuT .mn1, #menuT .mn2, #menuT .mn3").find(".do").click(function(){
		var p_cid = $(this).attr("href").replace(/[\s\S]*\/goodslist2\-(\d+)\/[\s\S]*/i,"$1");
		if (p_cid) {
			tbSearch.cid = Number(p_cid);
			$(".itemon").removeClass("itemon");
			$(this).parent().addClass("itemon");
			//showHideMenu($(this).siblings("a.aNext"));
			$("form.sForm").find(".sQ").val("");
			if (window.thisQ) thisQ = "";
			$(this).siblings("a.aNext").children("div").attr("class","ctOpen");
			$(this).siblings("a.aNext").parent().siblings("ul").slideDown("fast");
			if ($(this).parent().filter(".mn1").length>0) downNextCat(p_cid, $(this).parent(), true);
			getTaobaoGoods();
			return false;
		}
	});
	$(".searchtop .win_head").toggle(function(){
		$(this).siblings(".win_body").hide();
		$(this).find(".imgBtn").attr("src","/images/icn_doShow.gif");
	},function(){
		$(this).siblings(".win_body").show();
		$(this).find(".imgBtn").attr("src","/images/icn_doHide.gif");
	});
	$("#shaixuan").click(function(){
		var by = $("select[name='by']").val();
		tbSearch.by = by ? by : "credit";
		var start_price = $("input[name='start_price']").val();
		var end_price = $("input[name='end_price']").val();
		var is_guarantee = $("input[name='is_guarantee'][checked]").val();
		var start_credit = $("input[name='start_credit'][checked]").val();
		if (start_price.isNumber() && Number(start_price)>0) {tbSearch.start_price=start_price;} 
		else {tbSearch.start_price=-1;}
		if (end_price.isNumber() && Number(end_price)>0) {tbSearch.end_price=end_price;}
		else {tbSearch.end_price=-1;}
		if (is_guarantee=="true") {tbSearch.is_guarantee="true";} else {tbSearch.is_guarantee="false";}
		if (start_credit=="1crown") {tbSearch.start_credit = start_credit;} else {tbSearch.start_credit = "";}
		getTaobaoGoods();
	});
	
	//$("form.sForm").submit(function(){
	//	thisQ = $(this).find(".sQ").val();
	//	getTaobaoGoods();
	//	return false;
	//});
		
});
//by: credit return  hot  delisttime  price1[低到高]  price2
//is_guarantee：true 需要消保
//start_price, end_price: -1表示不限制价格范围
function getTaobaoGoods() {
	//alert("ajax goods");
	//显示搜索页
	$(".defautMain").remove();
	$(".searchMain").show();
	//显示分类标题
	var catName = $(".c"+ tbSearch.cid +" .do .bg").html();
	if (catName) { 
		catName = catName.replace("&nbsp;","").replace(" ","");
		tbSearch.catName = catName;
	}
	if (tbSearch.catName!="全部" && thisQ) {
		$(".sCatName").html('<strong>'+ tbSearch.catName +'</strong>&nbsp;<a href="javascript:tbSearch.cid=0;tbSearch.catName=\'全部\';$(\'.itemon\').removeClass(\'itemon\');getTaobaoGoods();">[在全部分类中搜索]</a>');
	} else if (tbSearch.catName!="全部") {
		$(".sCatName").html('<strong>'+ tbSearch.catName +'</strong>&nbsp;');
	} else { $(".sCatName").html("<strong>"+ tbSearch.catName +"</strong>"); }
	
	//执行搜索
	//首次执行
	var z;
	thispage = 1;
	$("ul.results").html('<div class="SElopding"><img src="/images/loading.gif" alt="" /><br /><br />搜索中....</div>');
	for (z=0; z<selectSE.length; z++) {
		getAjaxSE(function(){}, getSEurl(selectSE[z],thisQ,1));
	}
}
////////////////////////////////////////////

var allAboutKeys = new Array();
var lockMetaS = false;
//var nextPage_beforeN=0; //点击下一页前的结果条目数
//var nextPage_afterN=0; //点击下一页后的结果条目数
//var timeSnap; 
//var doSnaptimes = 0; //doSnap执行次数

function getSEurl(SE,qKey,ipage) {
	if (SE=="taobao") {
		return "/search/searchTaobaoAPI.asp?SE="+ SE +"&q="+ encodeURIComponent(qKey) +"&cid="+ tbSearch.cid +"&by="+ tbSearch.by +"&is_guarantee="+ tbSearch.is_guarantee +"&start_price="+ tbSearch.start_price +"&end_price="+ tbSearch.end_price +"&start_credit="+ tbSearch.start_credit +"&per="+ SEpages[SE][2] +"&ipage="+ ipage.toString() +"&callback=MetaSooAPI&context="+ SE +"";
	}
}


function   MetaSObj()   //一个类的构造方法   
{ this.SE   =   new Array();    
  this.url   =   new Array(); 
  this.visibleUrl   =   new Array(); 
  this.img   =   new Array(); 
  this.title   =   new Array(); 
  this.content   =   new Array(); 
  this.price   =   new Array(); 
  this.merch   =   new Array(); 
  this.goType   =   new Array(); 
  this.cent   =   new Array(); 
}
var MetaS = new MetaSObj();
var MetaS2 = new MetaSObj(); //MetaS与MetaS2下标相同
/*
var MetaS={"SE": new Array(), //来自多个SE 用/分隔
		 "url": new Array(),
		 "visibleUrl": new Array(),
		 "cacheUrl": new Array(),
		 "title": new Array(),
		 "content": new Array(),
		 "pagesizek": new Array(),
		 "pagetime": new Array(),
		 "fileType": new Array(),
		 "cent": new Array()
}; */
var SEurl = {
	"5b3j": ["http://www.5b3j.com", "logo/5b3j.gif", "logo/5b3jM.gif"],
	"taobao": ["http://www.taobao.com", "logo/taobao.gif", "logo/taobaoM.gif"]
};

function MetaSooAPI(context,json){//alert("开始条数："+MetaS.SE.length);
	//if (lockMetaS) {setTimeout(MetaSooAPI(context,json),100); return;}
	lockMetaS = true;
	var i; var j;
	//SE
	var SEtype = context;
	if (SEtype == "") { SEtype = json.results[0].SE; }
	var usedSEflag = false;
	for (i=0; i<usedSE.length; i++) {
		if (SEtype==usedSE[i]) { usedSEflag = true; }
	}
	if (!usedSEflag) { usedSE[usedSE.length]=SEtype;}
	
	if (!json) return ;
	
	//keys
	var tempN=0;
	for (i=0; i<json.aboutkeys.length; i++){
		tempN=0;
		for (j=0; j<allAboutKeys.length; j++){
			if (json.aboutkeys[i]==allAboutKeys[j]) tempN++;
		}
		if (tempN==0) allAboutKeys[allAboutKeys.length] = json.aboutkeys[i];
	}
	//页码/共多少页 
	SEpages[SEtype][0]=Number(json.cursor.currentPageIndex);
	thispage = SEpages[SEtype][0];
	SEpages[SEtype][1]=Number(json.cursor.pages[json.cursor.pages.length-1].label);
	pages_N = SEpages[SEtype][1];
	if (pages_N>maxIpage)  pages_N=maxIpage;
	//if (Number(SEpages[SEtype][1]) > pages_N) pages_N = SEpages[SEtype][1];
	//alert(pages_N);
	if (json.cursor.pages.length>1) {
		SEpages[SEtype][2]=Number(json.cursor.pages[1].start) - Number(json.cursor.pages[0].start);
	}
	//共多少结果
	totalItem = Number(json.cursor.estimatedResultCount);
	//处理结果
	MetaS = null;
	MetaS = new MetaSObj();
	for (i=0; i<json.results.length; i++){
		MetaS.SE[i] = json.results[i].SE;
		MetaS.url[i] = json.results[i].url;
		MetaS.visibleUrl[i] = json.results[i].visibleUrl;
		MetaS.img[i] = json.results[i].img;
		MetaS.title[i] = json.results[i].title;
		MetaS.content[i] = json.results[i].content;
		MetaS.price[i] = json.results[i].price;
		MetaS.merch[i] = json.results[i].merch;
		MetaS.goType[i] = json.results[i].goType;
		MetaS.cent[i] = Number(json.results[i].cent);
		//alert(MetaS.SE.length); return;
	}
	//alert("本次下载后条数："+MetaS.SE.length);
	lockMetaS = false;
	//alert("baidu当前页"+SEpages['baidu'][0]+", 共"+SEpages['baidu'][1]+"页, 所有"+ MetaS.SE.length +"条, 重复"+ cfItems +"条");
	//debugShow();
}


function show(per_N,thispage,thisSE,noDown){
	var i;
	//if (thisSE) alert(thisSE);
	//if (lockMetaS) {setTimeout(show(per_N,thispage),100); return;}
	lockMetaS = true;
	//nextPage_afterN = MetaS.cent.length;
	//计算指数 处理重复
	var isChongfu = new Array(MetaS.SE.length);
	//alert(MetaS.SE[0]+MetaS.SE.length);
	MetaS2 = MetaS;

	//显示
	var showstr = '';
	var allSEcents = 0;
	for (i=0; i<selectSE.length; i++) {
		allSEcents += Number(SEcents[selectSE[i]]);
	}
	//alert(MetaS2.cent[0]);
	//alert(allSEcents);
	for (i=0; i<MetaS2.cent.length&&i<per_N; i++){
	if (MetaS2.cent[i]>0){ 
		var gobuyUrl = '/gobuy/?act=s&amp;idstr='+ MetaS2.visibleUrl[i] +'&amp;goType='+MetaS2.goType[i]+'&amp;url='+ MetaS2.url[i] +''; //url值已经UrlEncode
		//var gobuyUrl = MetaS2.url[i];
		var goodsImg = MetaS2.img[i] ? MetaS2.img[i] : '/images/goods.gif';
		showstr += '<li class="result">';
		showstr += '<div class="pic">';
		showstr += '<div class="imgResize2"><a href="'+gobuyUrl+'" target="_blank"><img src="'+goodsImg+'" alt="" /></a></div>';
		showstr += '</div>';
		showstr += '<div class="price">';
		showstr += '<div class="v">'+MetaS2.price[i]+'</div>';
		showstr += '<div class="from">支持:你购物我买单</div>';
		showstr += '<div class="go"><a href="'+gobuyUrl+'" target="_blank"><img src="/images/buy0.gif" alt="" /></a></div>';
		showstr += '</div>';
		showstr += '<div class="cont">';
		showstr += '<div class="t1">';
		showstr = showstr + '<span class="title"><a href="'+ gobuyUrl +'" target="_blank">'+ MetaS2.title[i] +'</a></span>';
		
		//showstr = showstr + '<span class="MSindex"> 相关指数:<span class="ms">'+ String(MetaS2.cent[i] / (allSEcents*10)).substring(0,5) +'</span></span>';
		showstr = showstr + '</div>';
		showstr = showstr + '<div class="content">'+ MetaS2.content[i] +'</div>';
		showstr += '</div>';
		showstr += '</li>';	
		//alert(i);
	}}
	if (showstr) {$("ul.results").html(showstr);}
	else {$("ul.results").html("<li class='cl_gray2'><br /><br /><center>不好意思！找不到你想要的商品。<br />由于淘宝归类问题，部分分类无商品，请试试其他分类或关键词。<br /><br />小提示：请从左边选择分类后，再输入关键词搜索。</center><br /><br /></li>");}
	//$$addthis.rebind();
	//alert(MetaS.SE.length);
	//alert(MetaS2.SE.length);
	//结果数
	$(".sItemNum").html(totalItem.toString());
	//相关搜索
	var showstrKeys = "";
	for (i=0; i<allAboutKeys.length; i++) {
		//var aboutKeyShow = allAboutKeys[i].indexOf("-")==0 ? "0"+allAboutKeys[i] : allAboutKeys[i];
		//aboutKeyShow = aboutKeyShow.indexOf("-")+1==aboutKeyShow.length ? aboutKeyShow.replace("-","元")+"以上" : aboutKeyShow+'元';
		//aboutKeyShow = aboutKeyShow.replace(/\.00/g,"");
		//showstrKeys = showstrKeys + '<a href="?q='+encodeURIComponent(thisQ)+'&amp;p='+ encodeURIComponent(allAboutKeys[i]) +'">'+ aboutKeyShow +'</a> &nbsp;';
	}
	if (showstrKeys.length<=0) {
		//
	}
	$(".aboutKeys .keys").html(showstrKeys);
	
	//翻页
	var strPages = "";
	//pagesHas_N = (MetaS2.cent.length) / per_N;
	//var tempFloat2Int = String(pagesHas_N).split('.');
	//alert(Number(tempFloat2Int[0]));
	//alert(pages_N - Number(tempFloat2Int[0]));
	//if (tempFloat2Int.length==1){ pagesHas_N = Number(tempFloat2Int[0]);	}
	//else if (tempFloat2Int.length<1) { pagesHas_N = 0;}
	//else if (tempFloat2Int.length>1 && pagesHas_N - Number(tempFloat2Int[0])>0.4) {
	//	pagesHas_N = Number(tempFloat2Int[0]) + 1;
	//} else {
	//	pagesHas_N = Number(tempFloat2Int[0]);
	//}
	//if (pagesHas_N > pages_N)   pages_N = pagesHas_N;
	//alert(thispage);
	//alert(pages_N);
	var iFrom = thispage-5>1 ? thispage-5 : 1;
	if (thispage>1 && iFrom==1) {
		strPages = strPages+'<li class="first"><a href="#" onclick="goPage('+ (Number(thispage)-1).toString() +');">上一页</a></li>';
	} else if (thispage>1) {
		strPages = strPages+'<li class="first"><a href="#" onclick="goPage(1);">首 页&nbsp; </a></li>';
	} else { 
		strPages = strPages+'<li class="first">首 页</li>'; 
	}
	
	var iEnd = thispage+4>7 ? thispage+4 : 7;
	if (pages_N<iEnd) iEnd = pages_N;
	if (maxIpage<iEnd) iEnd = maxIpage;
	//if (noDown && nextPage_afterN<=nextPage_beforeN) iEnd = pagesHas_N; ////////////////
	
	for (i=iFrom; i<=iEnd; i++) {
		if (i==thispage) {
			strPages = strPages+'<li class="on"><span class="nOn">'+ i +'</span></li>';
		} else {
			strPages = strPages+'<li><a href="#" onclick="goPage('+ i +');">'+ i +'</a></li>';
		}
	}
	if (pages_N>=iEnd+10) strPages = strPages+'<li class="last"><a href="#" onclick="goPage('+(iEnd+10)+');">..'+ (iEnd+10) +'..</a></li>';
	if (thispage<iEnd) {strPages = strPages+'<li class="last"><a href="#" onclick="goPage('+ (Number(thispage)+1).toString() +');">下一页</a></li>'; } else { strPages = strPages+'<li class="last">下一页</li>'; }
	$(".pages2").html(strPages);

	//mainSize();
	$(".imgResize").each(function(i){
		var imgObj = $(this).find("img").get(0);
		var width = $(this).css("width").replace("px","");
		var height = $(this).css("height").replace("px","");
		if (!width && $(imgObj).attr("title")) {
			var midNum = $(imgObj).attr("title").indexOf("*");
			width = $(imgObj).attr("title").substr(0,midNum); 
			height = $(imgObj).attr("title").substr(midNum+1);
		}
		if(imgObj.complete || imgObj.readyState =="complete") { DrawImage(imgObj,width,height);}
		else {
			imgObj.onreadystatechange = function(){ 
				if(imgObj.readyState =="complete") { DrawImage(imgObj,width,height); }
			} 
		}
	});
	$(".imgResize2").each(function(i){
		var imgObj = $(this).find("img").get(0);
		var width = $(this).css("width").replace("px","");
		var height = $(this).css("height").replace("px","");
		if (!width && $(imgObj).attr("title")) {
			var midNum = $(imgObj).attr("title").indexOf("*");
			width = $(imgObj).attr("title").substr(0,midNum); 
			height = $(imgObj).attr("title").substr(midNum+1);
		}
		if(imgObj.complete || imgObj.readyState =="complete") { DrawImage2(imgObj,width,height);}
		else {
			imgObj.onreadystatechange = function(){ 
				if(imgObj.readyState =="complete") { DrawImage2(imgObj,width,height); }
			} 
		}
	});
	
	lockMetaS = false;
	
	//Snap
	//doSnap();
}//show函数结束

//翻页 注意翻到最后一页
function goPage(ipage){
	$("ul.results").html('<div class="SElopding"><img src="/images/loading.gif" alt="" /><br /><br />加载中....</div>');
	var z;
	thispage = ipage;
	for (z=0; z<selectSE.length; z++) {
		getAjaxSE(function(){}, getSEurl(selectSE[z], thisQ, ipage));
	}
}


function getAjaxSE(callfun,strUrl) {
	$.ajax({url:strUrl,
			type:"GET",
			dataType: 'script',
			timeout:7000,
			complete:function(xmlhttp,msg){ callfun(); show(per_N,thispage,msg);},
			error:function(xmlhttp){/*alert("加载出错");*/}
			});
}

function getJsonSE(strUrl,callback) { //火狐抛出跨域执行错误
	if ($.browser.msie) {
		$.getJSON(strUrl,  callback);
	}
	
}

////////////////////////
function checkfm(dom) {
	if (!checkIntegerMinValue(dom.value,1)||!checkIntegerMaxValue(dom.value,100))
	 {
		alert("数值范围1-100");
		dom.focus();
		return(false);
	}
	return(true);
}

function checkIsInteger(str)
{
	if(str == "")
		return false;
	if(/^(\-?)(\d+)$/.test(str))
		return true;
	else
		return false;
}

function checkIntegerMinValue(str,val)
{
	if(str == "")
		return false;
	if(typeof(val) != "string")
		val = val + "";
	if(checkIsInteger(str) == true)
	{
		if(parseInt(str,10)>=parseInt(val,10))
			return true;
		else
			return false;
	}
	else
		return false;
}

function checkIntegerMaxValue(str,val)
{
	if(str == "")
		return false;
	if(typeof(val) != "string")
		val = val + "";
	if(checkIsInteger(str) == true)
	{
		if(parseInt(str,10)<=parseInt(val,10))
			return true;
		else
			return false;
	}
	else
		return false;
}

function isMouseLeaveOrEnter(e, handler) {  
   if (e.type != 'mouseout' && e.type != 'mouseover') return false;  
   var reltg = e.relatedTarget ? e.relatedTarget : e.type == 'mouseout' ? e.toElement : e.fromElement;  
   while (reltg && reltg != handler)  
         reltg = reltg.parentNode;  
   return (reltg != handler);  
}  

function debugShow(){
	var i; var str='';
	for (i=0;i<MetaS2.cent.length;i++) {
		str += i+': ';
		str += MetaS2.SE[i]+' ';
		str += MetaS2.cent[i]+' ';
		str += MetaS2.url[i]+' ';
		str += MetaS2.title[i]+'<br />';
	}
	$(".debug").html(str);
}
