var selectProductFunc = function(p, flag){};//选择产品回调
var selectProductFlag = false;
//显示产品选择主div
function showSelectProduct(func) {
	if (selectProductFlag)
		return;
	if (null == $("productSelectDiv")) {
		selectProductFlag = true;
		selectProductFunc = func;
		var div=document.createElement("DIV");
		document.body.appendChild(div);
		div.id = "productSelectDiv";
		div.style.display="none";
		div.className = "sWindow sWin1";
		div.innerHTML=product_select_mainbody.process({brandtype : classifyAndsub});
		div.style.width = "650px";
		div.style.position="absolute";
		var sleft = document.body.clientWidth - 600; 
		div.style.left = sleft / 2 + "px";
		div.style.top = (getScrollTop() + 100) +"px";
		div.style.zIndex=1000;
		div.style.display="";	
		initDrag("productSelectDIv", "productSelectDragTitle");
		loadFavorBody();
		selectBrandFilter();
		focusFunc();
	} else {
		$("productSelectDiv").style.top = (getScrollTop() + 100) +"px";
		$("productSelectDiv").show();
		//selectProductTab("favor");
	}
}
//完成选择或取消
function finishProductSelect() {
	$("productSelectDiv").hide();
	selectProductFlag = false;
}

function initProductSelectCheckbox() {
	var cs = document.getElementsByTagName("input");
	for (i = 0; i < cs.length; i++) {
		if (cs[i].name == "selectProductCheckbox") {
			cs[i].checked = false;
		}
	}
}
//产品选择tab切换
function selectProductTab(tab) {
	var stabs = $("selectTabs").getElementsByTagName("li");
	for (var i = 0; i < stabs.length; i++)  {
		stabs[i].className = "";
	}
	if ("favor" == tab) {
		$('searchSelectTab').hide();
		$('newproductSelectTab').hide();
		$('favorSelectTab').show();
		stabs[0].className = "on";
	} else if ("search" == tab) {
		$('favorSelectTab').hide();
		$('newproductSelectTab').hide();
		$('searchSelectTab').show();
		stabs[1].className = "on";
	} else if ("newproduct" == tab) {
		$('searchSelectTab').hide();
		$('favorSelectTab').hide();
		stabs[2].className = "on";
		$('newproductSelectTab').show();
		stabs[2].style.display = '';
	}
}
//收藏类型切换
function selectFavorTab(tab) {
	var stabs = $("selectFavorTabs").getElementsByTagName("a");
	for (var i = 0; i < stabs.length; i++)  {
		stabs[i].className = "";
		$("favorbody"+ (i+1)).hide();
	}
	$("favorbody"+ tab).show();
	stabs[3-tab].className = "on";
}
var favorObj = null;
//加载个人收藏内容
function loadFavorBody() {
	new Ajax.Request("/member/favor.shtml", {
		method: 'get',
		parameters: {action: "list", isAjax : "1", time: new Date().getTime()},
		onSuccess: function(transport){
			loading("favorLoading", false);
			var robj = null;
			try {
				eval("robj = " + transport.responseText);
			} catch (e) {
				login();
			}
			if(robj.error) {
				$("favorBody").innerHTML = robj.error;
				$("favorBody").show();
			} else {
				favorObj = robj;
				$("favorBody").innerHTML = product_select_favorbody.process({flist:robj});
				$("favorBody").show();
			}
		},
		onFailure: function(){
			loading("favorLoading", false);
			$("favorBody").innerHTML = "加载收藏失败，请稍候再试";
			$("favorBody").show();
		}
	});
}
//获取产品所在的收藏分类
function getFavorType(pid) {
	for (var i = 0; i < favorObj.flist1.length; i++) {
		if (favorObj.flist1[i].productid == pid) {
			return 1;
		}
	}
	for (var i = 0; i < favorObj.flist2.length; i++) {
		if (favorObj.flist2[i].productid == pid) {
			return 2;
		}
	}
	for (var i = 0; i < favorObj.flist3.length; i++) {
		if (favorObj.flist3[i].productid == pid) {
			return 3;
		}
	}
	return 0;
}
var productSelectsearchResults = [];
function getProductFromSearch(pid) {
	for (var i = 0; i < productSelectsearchResults.length; i++) {
		if (productSelectsearchResults[i].id == pid) {
			return productSelectsearchResults[i];
		}
	}
	for (var i = 1; i < 4; i++) {
		for (var j = 0; j < favorObj["flist"+i].length; j++) {
			if (favorObj["flist"+i][j].productid == pid) {
				return favorObj["flist"+i][j].makeup;
			}
		}
	}
	return null;
}
//选择产品-搜索产品
function selectProductSearch() {
	loading("productSearchLoading", true);
	$("selectProductSearchButton").disabled=  true;
	$("productSearchResult").hide();
	$("productSearchFinish").hide();
	$("productSearchClose").show();
	new Ajax.Request("/search.shtml", {
		method: 'get',
		parameters: {action: "ajaxmakeup", isAjax : "1", key : $("selectProductKeyText").value, brandid : psbs, brandtypeid : psbts, times:new Date().getTime()},
		onSuccess: function(transport){
			loading("productSearchLoading", false);
			$("selectProductSearchButton").disabled=  false;
			var robj = null;
			eval("robj = " + transport.responseText);
			if(robj.error) {
				$("productSearchResult").innerHTML = robj.error;
				$("productSearchResult").show();
			} else {
				var resultList = [];
				for (var i = 0; i < robj.slist.length; i++) {
					var o = robj.slist[i];
					o.favortype = getFavorType(o.id);
					resultList.push(o);
				}
				productSelectsearchResults = resultList;
				$("productSearchResult").innerHTML = product_select_searchbody.process({slist:resultList, tablewidth : Math.ceil(resultList.length / 4) * 540});
				$("productSearchResult").show();
				$("productSearchFinish").show();
				$("productSearchClose").hide();
				
				if (robj.sublist) {
					var node = $("searchbrandtypeid");
					var nodelen = node.options.length;
					for(var i=1;i<nodelen;i++){	
						node.options[1] = null;
					}
					for(var i=0;i<robj.sublist.length;i++){	
						node.options[i+1] = new Option(robj.sublist[i].type,robj.sublist[i].id);
					}
					if (psbts != "0") {
						for (var i=0; i < node.options.length; i++){
							if(node.options[i].value == psbts) {
								node.options[i].selected = true;
								break;
							}
						}
					}
				}
			}
		},
		onFailure: function(){
			loading("productSearchLoading", false);
			$("selectProductSearchButton").disabled=  false;
			$("productSearchResult").innerHTML = "搜索失败，请稍候再试";
			$("productSearchResult").show();
		}
	});
}
var onCheckObj = null;//正选中产品对象
//显示添加到收藏div
function showAddToFavor(id, obj) {
	if (getFavorType(id) == 0) {
		onCheckObj = obj;
		showSPAddFavor(getProductFromSearch(id));
	} else {
		selectThisProduct(id, obj.checked);
	}
}
//选中产品处理
function selectThisProduct(id, flag) {
	selectProductFunc(getProductFromSearch(id), flag);
}

//提交添加收藏
function doAddFavor(pid, flag) {
	var taglist = splitTag($("addFavorTag").value);
	if (taglist.length > 3) {
		alert("标签数超过三个");
		return;
	}
	loading("doAddFavorLoading", true);
	new Ajax.Request("/member/favor.shtml", {
		method: 'get',
		parameters: {action: "add", isAjax : "1", productid : pid, type : flag, tag : $("addFavorTag").value,time: new Date().getTime()},
		onSuccess: function(transport){
			loading("doAddFavorLoading", false);
			var robj = null;
			try {
				eval("robj = " + transport.responseText);
			} catch (e) {
				login();
			}
			if(robj.error) {
				alert("添加收藏失败，请稍候再试");
			} else if (robj.success){
				try {
					selectProductFunc(getProductFromSearch(pid), true);
					favorObj["flist" + flag].push({type:flag, makeup:getProductFromSearch(pid), productid:pid});
					$("favorBody").innerHTML = product_select_favorbody.process({flist:favorObj});
				} catch (e) {
				
				}
				$('addFavorDiv').hide();
				spFavorFlag = false;
			}
		},
		onFailure: function(){
			loading("doAddFavorLoading", false);
		}
	});
}
//取消添加收藏
function cancelAddFavor() {
	$('addFavorDiv').hide();
	try {
	onCheckObj.checked = false;
	} catch(e){}
	onCheckObj = null;
	spFavorFlag = false;
}
var spFavorFlag = false;

//显示添加收藏div
function showSPAddFavor(p) {
	if (spFavorFlag)
		return;
	spFavorFlag = true;
	if (null == $("addFavorDiv")) {
		var div=document.createElement("DIV");
		div.id = "addFavorDiv";
		document.body.appendChild(div);
		div.style.display="none";
		div.className = "sWindow sWin2";
		div.innerHTML=product_select_addfavorbody.process({p : p, taglist : favorObj.taglist});
		div.style.width = "500px";
		div.style.position="absolute";
		var sleft = document.body.clientWidth - 500; 
		div.style.left = sleft / 2 + "px";
		div.style.top = "120px";
		div.style.zIndex=1001;
		div.style.display="";			
		initDrag("addFavorDiv", "addfavorDragTitle");
	} else {
		$("addFavorDiv").innerHTML = product_select_addfavorbody.process({p : p, taglist : favorObj.taglist});
		$("addFavorDiv").show();
		initDrag("addFavorDiv", "addfavorDragTitle");
	}
}
//添加新产品提交
function doAddNewProduct() {
	showError(false, "newproductdescinfo");
	var vflag = false;
	if (!formValidInput($('addNewProductForm'), [
		{name:"newproductname", valid:"Require", errmsg:"产品名不能为空"}
		])) {
		vflag = true;
	}
	var favb = document.forms["addNewProductForm"]["newproductbrandid"].value;
	if (favb == "") {
		alert("请选择一个品牌");
		vflag = true;
	}
	if (document.forms["addNewProductForm"]["newproductdesc"].value == "") {
		showError(true, "newproductdescinfo","产品介绍不能为空");
		vflag = true;
	}
	if (vflag)
		return;
	loading("addNewProductLoading", true);
	
	new Ajax.Request("/product.shtml", {
		method: 'post',
		parameters: Form.serialize($('addNewProductForm'),true),
		onSuccess: function(transport){
			loading("addNewProductLoading", false);
			var robj = null;
			eval("robj = " + transport.responseText);
			if(robj.success) {
				$("addNewProductForm").reset();
				alert("感谢您的提交，我们稍候将会审核");
				finishProductSelect();
			} else {
				alert(robj.error) 
			}
		},
		onFailure: function(){
			loading("addNewProductLoading", false);
			alert('提交失败，请稍候再试') 
		}
	});
}
var psbs = 0;
var psbts = 0;
//搜索产品品牌选中
function productSearchBrandSelect(id) {
	$("searchbrandid").value = id;
	psbs = id;
	psbts = "0";
	selectProductSearch();
}
//搜索产品分类选中
function productSearchBrandtypeSelect(id) {
	if (id) {
		$("searchbrandtypeid").value = id;
		psbts = id;
		selectProductSearch();
		//if (0 != psbs) {
		//	selectProductSearch();
		//}
	}
}

//其他页面添加收藏
function globalAddFavor(p) {
	new Ajax.Request("/member/favor.shtml", {
		method: 'get',
		parameters: {action: "list", isAjax : "1", time: new Date().getTime()},
		onSuccess: function(transport){
			var robj = null;
			try {
				eval("robj = " + transport.responseText);
			} catch (e) {
				login();
			}
			if(robj.error) {
				alert('操作失败，请稍候再试');
			} else if (robj.taglist){
				favorObj = robj;
				if (getFavorType(p.id) > 0) {
					alert('您已经收藏该产品');
				} else {
					showSPAddFavor(p);
				}
			} else {
				login();
			}
		},
		onFailure: function(){
				alert('操作失败，请稍候再试');
		}
	});
}
