﻿var submitFlag = true;

function gotoMenu(url, id) {
	$(ObjId("mainMenuForm.mainMenuName")).val(id);
	doSubmit(document.forms[0], url);
}

function gotoProduct(url, menuName, subMenuName) {
	$(ObjId("mainMenuForm.mainMenuName")).val(mainMenuName);
	$(ObjId("mainMenuForm.subMenuName")).val(subMenuName);
	$(ObjId('mainMenuForm.curSubMenuId')).val("");
	doSubmit(document.forms[0], url);
}
function menuSubmit(form, url) {
	
	if (null == form || null == url) {
		alert("提交时产生意外的错误！");
	} else {
		try {
			form.action = url;
			form.method = "post";
		    form.submit();
		} catch(e) {
			alert("提交时产生意外的错误，请重试！");
			submitFlag = true;
		}
		
	}
}


/*
 * form的提交
 * 参数 form   提交用的form
 *      url    提交到的URL
 * 返回参数 无
 */
function doSubmit(form, url) {
	
	if (null == form || null == url) {
		alert("提交时产生意外的错误！");
	} else {
		if (submitFlag) {
			submitFlag = false;
			try {
				form.action = url;
				form.method = "post";
			    form.submit();
			} catch(e) {
				alert("提交时产生意外的错误，请重试！");
				submitFlag = true;
			}
		} else {
			alert("正在提交中， 请稍候再点击！");
		}
		
	}
}

/*
 * 删除记录的提交
 * 参数 form   提交用的form
 *      url   提交到的URL
 * 返回参数 无
 */
function doDelete(form, url) {
	if (confirm("记录删除将不可恢复，请您确认！")) {
		doSubmit(form, url);
	}
}

/*
 * 根据id取Html节点
 * 参数 id   节点id号
 * 返回参数 element Html的节点
 */
function ObjId(id) {
    if (null == document.getElementById(id)) {
		return document.getElementsByName(id)[0];
	} else {
		return document.getElementById(id);
	}
}

/*
 * 弹出服务端传回的操作结果信息
 * 参数 infoName 存放在页面接受操作结果信息的变量名
 * 返回参数 无
 */
function operationResultView(infoName,appElement) {
	if($(ObjId(infoName)).val() != "") {
		if(appElement == undefined) {
			alert($(ObjId(infoName)).val());
		} else {
			$(ObjId(appElement)).parent().append("<font color=\"red\">" + $(ObjId(infoName)).val() + "</font>");
		}
		$(ObjId(infoName)).val("");
	}
}

/*
 * 对FCK控件值为null时进行处理
 * 参数 fckName FCK控件名称
 * 返回参数 无
 */
function dealWithFck(fckName) {
	if($(ObjId(fckName)).val() == "null") {
		$(ObjId(fckName)).val("");
	}
}

/*
 * 带分页检索前的准备
 * 参数 className   即是检索条件的对象名，也是这些检索控件的class样式名
 * 返回参数 无
 */
function pagingSearch(className) {
	for (var i = 0; i < $("." + className).length; i++) {
		var name = $("." + className).eq(i).attr("name");
		var value = $("." + className).eq(i).val();
		$(ObjId(className + "." + name)).val(value);
	}
	$(ObjId("paging.pageNo")).val(1);
}

/* 
 根据服务端JSON数据， 生成客户端树的字符串 
服务端JSON数据为画面上的HIDDEN数据

         参数 jsonHidden  服务端JSON数据，hidden标签中取出
* */
function createTree(jsonHidden) {
	/* 服务端组织好的JSON数据 */
	var objMenu = eval($(ObjId(jsonHidden)).val());
	if ("undefined" == typeof(objMenu)) {
		return "";
	}
	/* 保存相同父节点的List数据 */
	var subArr = null;
	var parentMap = new ObjMap(); 
	
	for (var i = 0; i < objMenu.length; i++) {
		
		var subArr = parentMap.get(objMenu[i].parentId);
		if ("undefined" == typeof(subArr) || null == subArr) {
			subArr = new Array();
		}
		subArr.push(objMenu[i]);
		
		parentMap.put(objMenu[i].parentId, subArr);
	}
	
	/* 组织父子节点关间，放入list */
	var arrMenu = new Array();
	for (var i = 0; i < objMenu.length; i++) {
	
		/* 设置子节点 */
		subArr = parentMap.get(objMenu[i].menuId);
		if (null != subArr) {
			objMenu[i].isFolder = true;
			objMenu[i].listSubMenu = subArr;
		} else {
			objMenu[i].isFolder = false;
			objMenu[i].listSubMenu = null;
		}
		
		/* 设置顶层节点 */
		if ("0" == objMenu[i].parentId) {
			//objMenu[i].parentId = "";
			arrMenu.push(objMenu[i]);
		}
	}
	return arrMenu;
	
	
}

/*
  生动循环数据，并生成tree的字符串数据
* */
function autoIterator(arrMenu) {
	var htmlRtn = "";
	htmlRtn = htmlRtn + "<ul id='browser' class='lightTreeview treeview-black'>";
	for (var i = 0; i < arrMenu.length; i++) {
		var temp = ""; 
		/* 递归子节点信息 */
		if (arrMenu[i].isFolder) {
			temp = autoIterator(arrMenu[i].listSubMenu);
		}
		/* 加入当前节点信息，并将其下的所以子节点信息加入 */
		var subCss = "";
		if ("undefined" == typeof(arrMenu[i].listSubMenu) || null == arrMenu[i].listSubMenu) {
			subCss = "treeview-file";
		} else {
			subCss = "treeview-folder";
		}
		htmlRtn = htmlRtn + "<li><div class='" + subCss 
						  + "'><a href='###' onclick=\"itemClik('" 
						  + arrMenu[i].menuId + "','" 
						  + arrMenu[i].menuName + "','" 
						  + arrMenu[i].level + "','"
						  + arrMenu[i].displayType + "','"
						  + arrMenu[i].parentId + "','" 
						  + arrMenu[i].pageNumber  + "','"
						  + arrMenu[i].rowNumber + "')\">" + arrMenu[i].menuName + "</a></div>" + temp + "</li>";
						 
	}
	htmlRtn = htmlRtn + "</ul>";
	return htmlRtn;
}

function autoCreateTree(arrMenu) {
	var htmlRtn = "";
	htmlRtn = htmlRtn + "<ul id='browser' class='lightTreeview treeview-black'>";
	for (var i = 0; i < arrMenu.length; i++) {
		var temp = ""; 
		/* 递归子节点信息 */
		if (arrMenu[i].isFolder) {
			temp = autoCreateTree(arrMenu[i].listSubMenu);
		}
		/* 加入当前节点信息，并将其下的所以子节点信息加入 */
		var subCss = "";
		var onclick = "";
		if ("undefined" == typeof(arrMenu[i].listSubMenu) || null == arrMenu[i].listSubMenu) {
			subCss = "treeview-file";
			onclick = "<a href='###' onclick=\"menuForword('" + arrMenu[i].menuId + "','" + arrMenu[i].displayType + "')\">";
		} else {
			subCss = "treeview-folder";
		}
		htmlRtn = htmlRtn + "<li><div class='" + subCss 
						  + "'>" + onclick 
						  + arrMenu[i].menuName + "</a></div>" + temp + "</li>";
	}
	htmlRtn = htmlRtn + "</ul>";
	return htmlRtn;
}

/*
 * 全选指定CSS的checkbox
 * 返回参数 无
 */
 var checkboxFlag = true;
function allCheck(cssClass) {
	
	$("." + cssClass).attr("checked", checkboxFlag);
	checkboxFlag = !checkboxFlag;
}

/*
 * 检查是否有选中的复选框，同时记录被选中的下标
 * 参数 要检查的类
 * 返回参数 是否有被选中的值
 */
function checkBox(classCheckbox) {
	var flag = false;
	$("." + classCheckbox).each(function (index, domEle) {
		if (true == $(domEle).attr("checked")) {
			flag = true;
		}
	});
	if (!flag) {
		alert("\u5fc5\u987b\u81f3\u5c11\u9009\u62e9\u4e00\u9879\uff01");
	}
	return flag;
}

/*
 * 切换列表行颜色
 */
function overRow(obj,color){
	obj.style.backgroundColor=color;
}

function outRow(obj,color){
	obj.style.backgroundColor=color;
}

/*
 * 选择全部
 */
function checkAll(obj){
	var ckBox = $(":checkbox");
	for(i = 0; i < ckBox.length; i++ ){
		ckBox[i].checked = obj.checked;
	}
}
