var dirId = 10032//菜篮子根目录ID
var noGoodsImg = "/themes/portal/img/greenmkt/no_goods.gif";
//产品类型
var getProdType = {
	"prod" : 0,			//普通商品
	"hot" : 1, 			//热门商品
	"special" : 2, 		//特价商品
	"yearGoods" : 3, 	//年货预订
	"commend" : 4,		//推荐商品
	"latest" :5			//最新商品
}

var getName = {
	0 : "prod",			//普通商品
	1 : "hot",			//热门商品
	2 : "special",		//特价商品
	3 : "yearGoods",	//年货预订
	4 : "commend",		//推荐商品
	5 : "latest"		//最新商品
};


//页码
var myPageNum = {
	"hot" : 1,						//热门商品
	"special" : 1,					//特价商品
	"yearGoods" : 1,				//年货商品
	"commend" : 1,					//推荐商品
	"latest" : 1,					//最新商品
	"firstYearGoods" : 1,			//首页年货商品
	"allYearGoods" : pageNum,		//所有年货列表
	"prod" : pageNum				//其它商品
}
//页大小
var myPageSize = {
	"hot" : 10,						//热门商品
	"special" : 10,					//特价商品
	"yearGoods" : 10,				//年货商品
	"commend" : 10,					//推荐商品
	"latest" : 10,					//最新商品
	"firstYearGoods" : 12,			//首页年货商品
	"allYearGoods" : 36,			//所有年货列表
	"prod" : pageSize				//其它商品
};



//全局搜索商品链接
function searchHref(queryCond){
	if( queryCond =="请输入商品名称" || queryCond ==""){		
		$("#globalCond").focus();
	}else{					
		window.location = "/portal/modules/clz_new/prod_result.html?cond="+encodeURIComponent(queryCond);
	}	
}

//全局搜搜
function searchAllProd(queryCond){
	var curDirId = 10032;
	getProdByDir(curDirId,queryCond);
}

//根据指定目录获取所有类型的商品
function getProdByDir(curDirId,queryCond){
	dirId = curDirId;
	getTypeModuleByDir(dirId,queryCond);
}

//获取指定目录指定模板下的商品
function getProdByModAndDir(curDirId,prodType){
	dirId = curDirId;
	getProdCount(getName[prodType],"prod");
}

//全局搜索商品
function searchYearProd(queryCond){
	getProdCount("yearGoods","allYearGoods",queryCond);
}

//获取指定目录下的所有年货商品
function getAllYearProdByDir(curDirId){
	dirId = curDirId;
	getProdCount("yearGoods", "allYearGoods", "");
}

//获取所有年货商品
function getAllYearProd(){
	getProdCount("yearGoods", "allYearGoods", "");
}

//获取首页年货商品
/*function getFirstYearProd(){
	getProdList("yearGoods", "firstYearGoods", "", true);
}*/

/**
 * 获取指定黄页目录下的产品类型板块
 * @param dirId
 * 			指定黄页目录ID
 * @param queryCond
 * 			全局搜索条件
 */
function getTypeModuleByDir(dir_id,queryCond){
	dirId = dir_id;
	var url = "service/do/biz/yellowpage/Directory/getTypeModuleByDir";
	var fields = "fields=DISTINCT prod_type,name"
	var pars = fields+"&type=2&dir_id="+dirId+"&key="+queryCond+"&order=prod_type DESC";
	var prodTypes = [];
	$.getDS(url, pars, function(json){
		if(json.result && json.result.length > 0){
			var list = $("#prodTypeList");
			list.html("");
			var tmp = $("#prodTypeTmp").html();
			var html = [];
			$.each(json.result,function(i,data){
				var row = tmp;
				row = row.replace(/\${moduleName}/g, data.name);
				var prodType = getName[data.prod_type];
				row = row.replace(/\${more}/g, prodType+"More");
				row = row.replace(/\${tmp}/g, prodType+"Tmp");
				row = row.replace(/\${list}/g, prodType+"List");
				row = row.replace(/\${prod_type}/g, data.prod_type);
				var moreHref = "href='/portal/modules/clz_new/prod_list.html?dir_id="+dirId+"&prod_type="+data.prod_type+"&module_name="+encodeURIComponent(data.name)+"'";
				row = row.replace(/\${more_href}/g, moreHref);
				html.push(row);
				prodTypes.push(data.prod_type);
			});
			list.html(html.join(""));
			for(var i = 0; i < prodTypes.length; i++){
				getProdList(getName[prodTypes[i]],getName[prodTypes[i]],queryCond,true);
			}
		}else{
			showNoInfo("prodType");
		}
		
	});
}

/**
 * 获取年货预订商品数量
 * 
 * @param type 
 * 			商品类型 0、普通商品 1、热门商品 2、特价商品 3、年货商品（不传获取所有类型商品）等等
 * @param key
 * 			绑定数据的标识
 */
function getProdCount(type, key, queryCond){
	var url = "/service/do/biz/jxc/prod/Search/searchPubCount";
	var pars = "dir_id="+dirId+"&type=2&prod_type="+getProdType[type]+"&currency_id=1&simple=false&cond="+queryCond;
	$.getDS(url,pars,function(json){
		var totalCount = json.result;
		if(totalCount > 0){
			myPageNum[key] = 1;
			pageBar(totalCount,myPageSize[key],myPageNum[key],$("#"+key+"PageNum"),function(p){
				myPageNum[key] = p;
				getProdList(type,key,queryCond);
			});
		} else {
			showNoInfo(key);
		}
	});
}

/**
 * 获取年货预订商品
 * 
 * @param type 
 * 			商品类型 0、普通商品 1、热门商品 2、特价商品 3、年货商品（不传获取所有类型商品）等等
 * @param key
 * 			绑定数据的标识
 * @param isFirst
 * 			是否是首页
 */
function getProdList(type, key, queryCond, isFirstPage){
	var url = "/service/do/biz/jxc/prod/Search/searchPub";
	var fields = "fields=prod_id,prod_no,prod_name,prod_spec,prc_for_cust,discount_prc_cust,unit_name,org_id,group_id,group_name,is_limite_store,prod_type,owner_id";
	var pars = fields+"&dir_id="+dirId+"&type=2&prod_type="+getProdType[type]+"&currency_id=1&simple=false&cond="+queryCond+"&pageNum="+myPageNum[key]+"&pageSize="+myPageSize[key];
	$.getDS(url,pars,function(json){
		if(isFirstPage == true){
			if(json.result && json.result.length > 0){
				var totalCount = json.result.length;
				if(totalCount < (myPageSize[key])){
					$("#"+key+"More").hide();
					$("#"+key+"noMore").show();
				}else{
					$("#"+key+"More").show();
					$("#"+key+"noMore").hide();				
				}
				bindProdList(json,key);
			}else{
				showNoInfo(key);
			}
		}else{
			bindProdList(json,key);
		}
	});
}

/**
 * 绑定商品列表
 * 
 * @param json
 * 			后台返回的json数据格式
 * @param key
 * 			绑定数据的标识
 * 
 */
function bindProdList(json,key){
	var list = $("#"+key+"List");
	var html = [];
	list.html("");
	var $tmp = $("#"+key+"Tmp");				//存放产品的HTML代码数组
	var temp = $tmp.html();
	var prodIds = [];
	var specialProdIds = [];
	var yearGoodsProdIds = [];
	var ownerIds = [];
	$.each(json.result,function(i,data){
		var row = temp;
		row = row.replace(/\${prod_id}/g, data.prod_id);
		row = row.replace(/\${prod_name}/g,$.strCut(data.prod_name,8)||"&nbsp;");	//绑定产品名称
		row = row.replace(/\${title}/g, data.prod_name);
		row = row.replace(/\${org_id}/g, data.org_id);
		row = row.replace(/\${owner_id}/g, data.owner_id);
		row = row.replace(/\${dir_id}/g, data.group_id);
		row = row.replace(/\${price}/g,"￥"+(Number(data.prc_for_cust).toFixed(2) || "0.00"));
		row = row.replace(/\${discountPrc}/g,"￥"+(Number(data.discount_prc_cust).toFixed(2) || "0.00"));
		var unitName = data.unit_name=="请选择单位"?"&nbsp;":data.unit_name;
		row = row.replace(/\${unitName}/g,unitName||"&nbsp;");
		row = row.replace(/\${dir_name}/g, data.group_name);
		row = row.replace(/\${prod_type}/g, data.prod_type);
		row = row.replace(/\${is_limite_store}/g, data.is_limite_store);
		var targetURI = "href='/portal/modules/prodinfoctrl.html?org_id=" + data.owner_id + "&prod_id=" + data.prod_id  + "&prod_name=" + encodeURIComponent(data.prod_name) + "&dir_id=" + data.group_id + "&dir_name=" + encodeURIComponent(data.group_name) + "&store_id=" + data.org_id + "&prod_type="+ data.prod_type +"'";
		row  = row.replace(/\${target_uri}/g, targetURI);	
		prodIds.push(data.prod_id);
		if(data.prod_type == getProdType["special"]){
			specialProdIds.push(data.prod_id);
		}else if(data.prod_type == getProdType["yearGoods"]){
			yearGoodsProdIds.push(data.prod_id);
		}
		ownerIds.push(data.owner_id);
		html.push(row);
	});
	list.html(html.join(""));
	html = null;
	if(prodIds.length > 0){
		getMarketPrice(prodIds, key);
		bindProdPic(prodIds, key);
	}
	if(specialProdIds.length > 0){//特价
		showProdType("special",key);
		getProdStore(specialProdIds, key)
	}
	if(yearGoodsProdIds.length > 0){//年货
		showProdType("yearGoods",key);
		getYearGoodsIntro(yearGoodsProdIds,"yearGoods",key);
	}
	
	bindItemOwner(ownerIds,key);
}

//绑定企业的拥有者
function bindItemOwner(ownerIds,key){
 	var url = "service/do/site/org/Org/getOrgByIds";
 	var pars = "org_ids=" + ownerIds.join(",") + "&fields=org_id,login_name,name";
 	$.getDS(url, pars, function(json){
 		var container = $("#"+key+"List");
  		$.each(json.result, function(i, data){
	   		var row = container.find("dl[from_id=" + data.org_id + "]");
   			row.find("a[name='owner_name']").attr("title",data.name + "供").attr("href","/portal/modules/tmplctrl.html?org_id="+data.org_id).html($.strCut(data.name + "供",8));
  		});
 	}); 
}

//批量绑定商品图片
function bindProdPic(prodIds,key){
	var container = $("#"+key+"List");
	$.getDS("/service/do/site/org/PubProd/GetProdImgList","ids="+prodIds.join(",")+"&is_default=true",function(json){
		for(var i = 0; i < prodIds.length; i++){
			var row = container.find("DL[prod_id="+prodIds[i]+"]");
			var path = "";
			if(json.result[prodIds[i]].length > 0){
				path = json.result[prodIds[i]][0].RealPathSmall;
			}
			if(path){
				row.find("img[name=prodPic]").attr("src",path);
			}
		}
	});
}

function filterArray(srcArr, notArr){
	var retArr = [];
	for(var item in srcArr){
		if($.inArray(srcArr[item], notArr) == -1){
			retArr.push(srcArr[item]);
		}
	}
	return retArr;
}

//获取产品库存信息
function getProdStore(arr_prodId,key){
	var url = "service/do/site/org/PubProd/GetProdStore";
	var params = "prodIds=" + arr_prodId.join(",");
	$.getDS(url, params ,function(json){
		var container = $("#"+key+"List");
		//存在库存的产品id
		var arr_store_prod = [];
		$.each(json.result,function(i, data){
			var row =  container.find("DL[prod_id='" + data.prod_id + "']");
			row.attr("prod_num", data.prod_num || 0);
			arr_store_prod.push(data.prod_id);
			if(row.attr("is_limite_store") == "1"){
				if(data.prod_num <=0 ){
					row.find("span[name='prod_num']").html("缺货");
					row.find("span[ui=out_stock]").hide();
					var buyImg = row.find("img[name='buyImg']");
					buyImg.attr("src",noGoodsImg)
					buyImg.removeAttr("onclick");
					buyImg.removeClass("cursor");
				}else{
					row.find("span[name='prod_num']").html((Number(data.prod_num).toFixed(2) || "0.00"));
				}
			}else if(row.attr("is_limite_store") == "2"){
				row.find("span[name='prod_num']").html("不限量");
			}
		})
		
		//处理不存在产品库存的产品
		if(arr_prodId.length > arr_store_prod.length){
			var arr_not_store_prod = filterArray(arr_prodId, arr_store_prod);
			var container = $("#"+key+"List");
			$.each(arr_not_store_prod, function(i,data){
				var row =  container.find("DL[prod_id='" + data + "']");
				row.attr("prod_num", 0);
				if(row.attr("is_limite_store") == "1"){
					row.find("span[name='prod_num']").html("缺货");
					row.find("span[ui=out_stock]").hide();
					var buyImg = row.find("img[name='buyImg']");
					buyImg.attr("src",noGoodsImg)
					buyImg.removeAttr("onclick");
					buyImg.removeClass("cursor");
				}else if(row.attr("is_limite_store") == "2"){
					row.find("span[name='prod_num']").html("不限量");
				}
			});
		}
	});		
}

//批量获取市场价格
function getMarketPrice(prodIds,key){
	var url = "service/do/site/org/PubProd/getMarketPrice";
	var pars = "prod_ids="+prodIds.join(",")+"&currency_id=1"
	$.getDS(url, pars, function(json){
		if(json.result && json.result.length > 0){
			var container = $("#"+key+"List");
			$.each(json.result,function(i,data){
				var row = container.find("DL[prod_id='" + data.prod_id + "']");
				var marketPrice = data.price > 0 ? Number(data.price).toFixed(2) : "0.00";
				row.find("span[name=marketPrice]").text("￥"+marketPrice);
			});
		}
	});
}

//显示产品指定类型
function showProdType(type,key){
	var container = $("#"+key+"List");
	container.find("dl[prod_type="+getProdType[type]+"]").each(function(i){
		var row = $(this);
		if(type == "special"){
			row.find("dd[name=specialTmp]").show();
			row.find("dd[name=yearGoodsTmp]").hide();
			row.find("dd[name=otherTmp]").hide();
		}else if(type == "yearGoods"){
			row.find("dd[name=yearGoodsTmp]").show();
			row.find("dd[name=specialTmp]").hide();
			row.find("dd[name=otherTmp]").hide();
		}
	});
}

//获取年货属性
function getYearGoodsIntro(yearGoodsProdIds,type,key){
	var url = "service/do/site/org/PubProd/getProdIntroByType";
	var pars = "prod_ids="+yearGoodsProdIds+"&prod_type="+getProdType[type];
	$.getDS(url,pars,function(json){
		var container = $("#"+key+"List");
		$.each(json.result,function(i, data){
			var row =  container.find("DL[prod_id='" + data.prod_id + "'][from_id='"+data.owner_id+"']");
			if(data.name == "最低预订数量"){
				row.find("span[name=min_ord_num]").text(data.introduction);
			}
			if(data.name == "预订价格"){
				row.find("span[name=ord_price]").text(data.introduction);
			}
		});
	});
}

//显示暂无信息记录
function showNoInfo(key){
	$("#"+key+"PageNum").hide();
	$("#"+key+"More").hide();
	$("#"+key+"List").html("");
	var row = $("#"+key+"Tmp").clone();
	var title = "<p align='center'>暂无记录</p>";
	row.html(title);
	row.show();
	row.appendTo($("#"+key+"List"));
}

//获取年货企业
function getYearOrgs(pageSize){
	var url = "service/do/site/clz/Recommend/GetRecmItemList";
	var params = "item_type=1&orderBy=ord,create_time desc&pageSize=" + pageSize + "&pageNum=1";
	$.getDS(url ,params, function(json){
		if(json.result && json.result.length > 0){
			var html = [];
			var tmplRow = $("#newyear_orglist").html();
			$("#newyear_orglist").html("");
			if(json.result.length < pageSize){
				$("#moreOrgs").hide();
			}
			$.each(json.result || [], function(i, data){
				var row = tmplRow.replace("${org_name}", data.name);
				row = row.replace("${org_id}", (data.org_id || data.MergedCol))
				var targetURI = "href='/portal/modules/tmplctrl.html?org_id=" + (data.org_id || data.MergedCol) + "'";
				row  = row.replace('target_uri', targetURI);			
				html.push(row);
			});
			if(html.length > 0){
				$("#newyear_orglist")[0].innerHTML = html.join("\n");
			}else{
				$("#newyear_orglist").html("");
			}
		}else {
			$("#newyear_orglist").html("暂无记录");
			$("#moreOrgs").hide();
		}
	});	
}