// Js file

$(document).ready(function(){

	// 处理侧边栏隐藏和打开
	$("#param_list ul li .param_display, #param_list ul li .param_hide").click(function(){
		if($(this).attr("class") == "param_hide") {
			$(this).children("span").css({
				"color":"#0066CC",
				"background":"url(images/arr_l.gif) 170px 6px no-repeat"
			});
			$(this).next(".hidden_param").slideDown(300);
			$(this).unbind("mouseenter");
			$(this).unbind("mouseleave");
			recoverSidebar($("#param_list ul li").children("a").not($(".param_hide, .param_selected")));
			$(this).attr("class","param_display");
		} else {
			$(this).children("span").css({
				"color":"#006666",
				"background":"url(images/arr_s.gif) 170px 8px no-repeat"
			});
			$(this).next(".hidden_param").slideUp(300);
			recoverSidebar($(this));
		}
		return false;
	});
	
	// 处理系列之间复合、同别名重复的情况

	if($("#sidebarparamid_768").length !== 0) {
		var optionItemList = $("#sidebarparamid_768").find("a");
		var optionLength = optionItemList.length;
		var validOptionList = "";

		for(var i=0; i<optionLength; i++) {
			var optionItem = optionItemList[i];
			var optionValue = $(optionItem).find("input").attr("optionvalue");
			
			if(validOptionList.length === 0) {
				validOptionList += "&"+optionValue+"&";
				continue;
			}
		
			if(validOptionList.indexOf("&"+optionValue+"&") !== -1) {
				$(optionItem).remove();
			} else {
				validOptionList += "&"+optionValue+"&";
			}
		}
	}
	
	// 处理默认打开的侧边栏属性
	var changeStandardParamId = $("#changeStandardParamId").val();
	if(changeStandardParamId != 0) {
		$("#sidebaraparamid_"+changeStandardParamId).attr("class","param_display");
		$("#sidebaraparamid_"+changeStandardParamId).children("span").css({
			"color":"#0066CC",
			"background":"url(images/arr_l.gif) 170px 6px no-repeat"
		});
		$("#sidebarparamid_"+changeStandardParamId).css("display","block");
	}
	
	// 在搜索时提示用户切换单位
	if($("#isSearch").length !== 0) {
		var tip = new Tip({info:"Click here to change the unit of these product, you can find more!"});
		tip.html(function(info) {
			var html = "<div>" + 
				"<div style='text-align:right; padding-top:2px'>"+
					"<span onmouseover='$(this).css({\"background-color\":\"#CCCCCC\"})' onmouseout='$(this).css({\"background\":\"none\"})' style='cursor:pointer; font-family:verdana; padding:2px 5px; font-size:10px' id='tipCloseController'>x</span>"+
				"</div>"+
				"<div style='padding:8px'><span style='font-family:verdana; font-size:11px'>" + info + "</span></div><div>";
			return html;
		});
		tip.setStyle({
			padding:"2px",
			background:"#FFF8CC",
			color:"#000000",
			opacity:0.9,
			display:"none",
			width:"247px",
			height:"162px",
			"text-align":"left",
			"background":"url(../../inc/images/tip_bg_y.gif) no-repeat"
		});

		var offset = {};
		if($("#sidebaraparamid_22").length !== 0) {
			offset = $("#sidebaraparamid_22").offset();
		} else if(("#sidebaraparamid_21").length !== 0) {
			offset = $("#sidebaraparamid_21").offset();
		}

		tip.appendTo({left:(offset.left+100), top:(offset.top-160)});
		tip.show("slow");
		tip.appendHide("#tipCloseController");
	}
	
	// 绑定关键字搜索
	$("#param_search_button").click(function(){
		if($.trim($("#param_search_text").val()) !== $("#param_search_text").attr("originVal") &&
		 $.trim($("#param_search_text").val()) !== "") {
			searchKeyWord();
		}
	});
	
	$("#param_search_text").focus(function() {
		if($.trim($(this).val()) === $(this).attr("originVal") ) {
			$(this).val("");
		}
		$(this).css("color", "#444444");
	});
	
	$("#param_search_text").blur(function() {
		if($.trim($(this).val()) === "") {
			$(this).val($(this).attr("originVal"));
			$(this).css("color", "#AAAAAA");
		}
	});
});	

// 侧边栏收起时动作
function recoverSidebar(element){
	element.each(function(){
		$(this).attr("class","param_hide");
		$(this).children("span").css({
			"color":"#006666",
			"background":"url(images/arr_s.gif) 170px 8px no-repeat"
		});
		$(this).next(".hidden_param").slideUp(300);
		$(this).mouseenter(function(){
			$(this).children("span").css({
				"color":"#0066CC",
				"background":"url(images/arr_o.gif) 170px 8px no-repeat"
			});
		});
		$(this).mouseleave(function(){
			$(this).children("span").css({
				"color":"#006666",
				"background":"url(images/arr_s.gif) 170px 8px no-repeat"
			});
		});
	});
}

// 选择分类信息时的请求
function generateCategoryChoice(cateId, cateType) {
	var oldCateId = $("#cateId").val();
	var oldCateType = $("#cateType").val();
	var oldReselectParamId = $("#reSelectParamId").val();
	$("#cateId").val(cateId);
	$("#cateType").val(cateType);
	$("#reSelectParamId").val(0);
	var url = $("#prjPath").val()+"/CheckSeriesExist?r="+Math.random();
	$.ajax({
		url: url,
		data: $('#requestInfo').serialize(),
		type: "POST",
        success: function(data) {
			if(data == "1") $("#requestInfo").submit();
			else {
				alert("No product meets your choice!");
				$("#cateId").val(oldCateId);
				$("#cateType").val(oldCateType);
				$("#reSelectParamId").val(oldReselectParamId);
				return false;
			}
        }
	});
}

// 选择改变标准时的请求
function generateStandardIdChoice(thisObj, paramId) {

	var standardIdSet;
	if(paramId == 22){
		standardIdSet = $(thisObj).val()==4 ? "1,4":"2,5";
	} else {
		standardIdArr = $("select.select_standard");
		standardIdSet = $($("select.select_standard").get(0)).val();
		for(var i=1; i<standardIdArr.length; i++) {
			standardIdSet += ",";
			standardIdSet += $(standardIdArr[i]).val();
		}
	}
	$("#reSelectParamUnit").val($(thisObj).children("option:selected").text());
	$("#standardIdSet").val(standardIdSet);
	$("#changeStandardParamId").val(paramId);
	$("#paramId").val(paramId);
	$("#requestInfo").submit();
}

function exchangeUnit(standardIdSet) {
	$("#standardIdSet").val(standardIdSet);
	$("#requestInfo").submit();
}

// 对单选参数的选择请求
function generateUserChoiceSingle(thisObj) {

	var userChoiceJSON = "";
	var paramId = parseInt($(thisObj).children("input.userchoiceinput").attr("paramid"));
	var relTable = $(thisObj).children("input.userchoiceinput").attr("reltable");
	var optionStandard = parseInt($(thisObj).children("input.userchoiceinput").attr("optionstandard"));
	var optionUnit = $(thisObj).children("input.userchoiceinput").attr("optionunit");
	var optionId = parseInt($(thisObj).children("input.userchoiceinput").attr("optionid"));
	var optionValue = $(thisObj).children("input.userchoiceinput").attr("optionvalue");
	var optionFlag = $(thisObj).children("input.userchoiceinput").attr("optionflag");
	var optionTag = $(thisObj).children("input.userchoiceinput").attr("optiontag");
	var optionIdGroup = $(thisObj).children("input.userchoiceinput").attr("optionidgroup");
	
	var optionChoiceJSON = "{";
	
	// 处理复合、同值、同名的参数
	if(optionId == -1) {
		//optionIdArr = optionIdGroup.split(",");
		//for(var i=0; i<optionIdArr.length; i++) {
		//	var realOptionId = parseInt(optionIdArr[i]);
		//	optionChoiceJSON += realOptionId+":&quot;"+encodeURI(optionValue)+"&quot;";
		//	if(i != optionIdArr.length-1)
		//		optionChoiceJSON += ",";
		//}
		//optionChoiceJSON += "}";
		optionChoiceJSON += "&quot;"+optionIdGroup+"&quot;:&quot;"+encodeURI(optionValue)+"&quot;}";
	} else {
		optionChoiceJSON += "&quot;"+optionId+"&quot;:&quot;"+encodeURI(optionValue)+"&quot;}";
	}
	
	userChoiceJSON = "["+
		paramId+","+
		"&quot;"+relTable+"&quot;,"+
		optionStandard+","+
		"&quot;"+optionUnit+"&quot;,"+
		optionChoiceJSON + "]";
	
	if($("#userchoiceparam_"+paramId).length == 0) {
		$("#requestInfo").append('<input type="hidden" name="userChoice" id="userchoiceparam_'+paramId+'"'+
							'value="'+userChoiceJSON+'" />');
	} else {
		$("#userchoiceparam_"+paramId).val(userChoiceJSON);
	}
	$("#paramId").val(paramId);
	$("#reSelectParamId").val(0);
	$("#changeStandardParamId").val(0);
	$("#requestInfo").submit();
}

// 对多选参数的选择请求
function generateUserChoiceMultiple(thisObj) {
	var userChoiceJSON = "";
	var paramId = parseInt($(thisObj).next("input.userchoiceinput").attr("paramid"));
	var relTable = $(thisObj).next("input.userchoiceinput").attr("reltable");
	var optionStandard = parseInt($(thisObj).next("input.userchoiceinput").attr("optionstandard"));
	var optionUnit = $(thisObj).next("input.userchoiceinput").attr("optionunit");
	
	var optionChoiceList = $(thisObj).parent().find("input.optionentityinput:checked");
	if(optionChoiceList.length == 0) {
		alert("you must choose something before submit");
		return false;
	}
	
	var optionChoiceJSON = "{";
	for(var i=0; i<optionChoiceList.length; i++) {
		var optionId = parseInt($(optionChoiceList[i]).attr("optionid"));
		var optionValue = $(optionChoiceList[i]).val();
		optionChoiceJSON += "&quot;"+optionId+"&quot;:&quot;"+encodeURI(optionValue)+"&quot;";
		if(i != optionChoiceList.length-1)
			optionChoiceJSON += ",";
	}
	optionChoiceJSON += "}";
	
	userChoiceJSON = "["+
		paramId+","+
		"&quot;"+relTable+"&quot;,"+
		optionStandard+","+
		"&quot;"+optionUnit+"&quot;,"+
		optionChoiceJSON+"]";
	
	if($("#userchoiceparam_"+paramId).length == 0) {
		$("#requestInfo").append('<input type="hidden" name="userChoice" id="userchoiceparam_'+paramId+'"'+
							'value="'+userChoiceJSON+'" />');
	} else {
		$("#userchoiceparam_"+paramId).val(userChoiceJSON);
	}
	
	var oldParamId = $("#paramId").val();
	var oldReSelectParamId = $("#reSelectParamId").val();
	var oldChangeStandardParamId = $("#changeStandardParamId").val();
	
	$("#paramId").val(paramId);
	$("#reSelectParamId").val(0);
	$("#changeStandardParamId").val(0);
	
	var url = $("#prjPath").val()+"/CheckSeriesExist?r="+Math.random();
	$.ajax({
		url: url,
		data: $('#requestInfo').serialize(),
		type: "POST",
        success: function(data) {
			if(data == "1") $("#requestInfo").submit();
			else {
				alert("No product meets your choice!");
				
				$(thisObj).parent().find("input:checked").attr("checked","");
				
				$("#userchoiceparam_"+paramId).remove();
				$("#paramId").val(oldParamId);
				$("#reSelectParamId").val(oldReSelectParamId);
				$("#changeStandardParamId").val(oldChangeStandardParamId);
				
				return false;
			}
        }
	});
}

// 撤销选择请求
function regenerateUserChoice(paramId, paramUnit) {
	$("#userchoiceparam_"+paramId).remove();
	$("#paramId").val(0);
	$("#reSelectParamId").val(paramId);
	$("#reSelectParamUnit").val(paramUnit);
	$("#requestInfo").submit();
}

// 撤销关键词搜索
function reSearchKeyWord() {
	$("#keyWord").val("");
	$("#requestInfo").submit();
}

// 异步提交方案
function asynSubmit() {
	var url = $("#prjPath").val()+"/CheckSeriesExist?r="+Math.random();
	$.ajax({
		url: url,
		data: $('#requestInfo').serialize(),
		type: "POST",
        success: function(data) {
			if(data == "1") $("#requestInfo").submit();
			else {
				alert("No product meets your choice!");
				return false;
			}
        }
	});
}

// 关键字搜索
function searchKeyWord() {
	$("#keyWord").val(encodeURI($("#param_search_text").val()));
	$("#requestInfo").submit();
}
