// JavaScript Document

//定义系统中隐藏节点的cookie名称
var name = "cixi";

//获取
function getCookie (name) {
	
	var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
	if (arr != null) return unescape(arr[2]);
	
	return '';
}


//设置
function setCookie (name, value) {
	
	var Days = 30; //此 cookie 将被保存 30 天
	var exp  = new Date();    //new Date("December 31, 9998");
	exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
	document.cookie = name + "="+ escape(value) +";path=/;expires="+ exp.toGMTString();
	//window.location.href=window.location.href;
}


//删除Cookie
function delCookie (name) {
	
	var exp = new Date();
	exp.setTime (exp.getTime() - 1 * 24 * 60 * 60 * 1000);
	var cval = "del";
	document.cookie = name + "=" + cval + ";path=/;expires="+ exp.toGMTString();
	//window.location.href=window.location.href;
}


//分析cookis
function innerCookie (name) {
	
	var _id_zong = new Array();		//首页中定制栏目的总数数组
	var zong；						//该数据的长度变量
	
	try {
		//主要用取取出首页中定制栏目的个数
		while (true) {
			//返回该数据的长度
			zong = _id_zong.length;

			if (document.getElementById("_" + zong)) {											//检测对象是否存在
				_id_zong[zong] = document.getElementById("_" + zong).id.replace("_", "");		//存在就取出该对象ID
			} else if (document.getElementById("_" + (zong + 1))) {					//如果没有找到则向上跳一级检测，主要是为了防止断号
				_id_zong[zong] = document.getElementById("_" + zong).id.replace("_", "");		//存在就取出该对象ID
			} else if (document.getElementbyId("_" + (zong + 2))) {								//向上跳两级
				_id_zong[zong] = document.getElementById("_" + zong).id.replace("_", "");		//存在就取出该对象ID
			}else {
				break;																//如果向上跳两级也没有找到，则默认已结束，跳出长度检测
			}
		}
	} catch (e) {
	}
	
	//取出cookie
	var cv = getCookie(name);
	
	if (cv) { //如果有定制的cookis数据
		var cookies_values = cv.split("+");
		var paichu = "";		//该变量的值用于在下面检测中排除
		
		for (var j = 0; j < cookies_values.length; j++) {
			for (var i = 0; i < _id_zong.length; i++) {
				try {
					//如果该栏目编号在排除队列中不存在话就执政状态检测
					if (paichu.indexOf(_id_zong[i]) < 0) {
						//如果cookie中有该栏目编号就隐藏该栏目
						if (_id_zong[i] == cookies_values[j]) {
							document.getElementById("_" + _id_zong[i]).style.display = "none";
							//当该栏目已经检测过了后就将该栏目从检测队列中排除,以至于不再重复检测
							paichu += _id_zong[i];
						} else {
							document.getElementById("_" + _id_zong[i]).style.display = "block";
						}
					}
				} catch (e) {
				}
			}
		}
		
		
		if (cv .indexOf("14") >= 0 && cv.indexOf("15") >= 0) {
			document.getElementById("_14_15_wai").style.display = "none";
		}
		
		if (cv .indexOf("16") >= 0 && cv.indexOf("17") >= 0) {
			document.getElementById("_16_17_wai").style.display = "none";
		}
		
		if (cv .indexOf("18") >= 0 && cv.indexOf("19") >= 0) {
			document.getElementById("_18_19_wai").style.display = "none";
		}
	} else {
		for (var i = 0; i < _id_zong.length; i++) {
			document.getElementById("_" + _id_zong[i]).style.display = "block";
		}
	}
}

















function fun_chushihua () {
	
	fun_dingzhi_xinxi();					//调用设置的信息
	fun_dingzhi_tu();						//调用首页定制的图片呈现方式
}


//将用户定制的信息呈现到页面中（）
function fun_dingzhi_xinxi () {
	
	//获取cookie值
	var cookie_zhi = getCookie(name);
	
	//先验证cookie值是否不为空，否则将不执政复选框打勾的操作
	if (cookie_zhi) {
		//分割cookie值
		var zhi = cookie_zhi.split("+");
		for (var i = 0; i < zhi.length; i++) {
			//将分割后的cookie值所对应的复选框的勾去掉，以表示该栏目在首页没有被显示
			document.getElementById("_" + zhi[i]).checked = false;
			//
			document.getElementById("__" + zhi[i]).style.filter = "gray";
		}
		
		//回收
		var zhi = null;
	}	
	
	//回收
	cookie_zhi = null;
}


//首页定制的图片呈现方式函数 （）
function fun_dingzhi_tu () {
	
	var dingzhi_tu = document.getElementById("dingzhi_tu");			//获取图片定制的标识节点
	var dingzhi_tu_img = document.getElementsByTagName("IMG");		//获取该节点中的所有IMG子节点
	var dingzhi = document.getElementById("dingzhi");
	var dingzhi_input = document.getElementsByTagName("INPUT");
	
	//遍历IMG节点
	for (var i = 0; i < dingzhi_tu_img.length; i++) {
		//检测该节点是否有指定id，有表示该图片是所指定的定制图片
		if (dingzhi_tu_img[i].id) {
			fun_shijian(dingzhi_tu_img, i);		//调用图片的事件
		}
	}
	
	for (var i = 0; i < dingzhi_input.length; i++) {
		if (dingzhi_input[i].id) {
			fun_fuxuankuang_shijian(dingzhi_input, i);
		}
	}	
	
	//回收
	dingzhi_tu 		= null;
	dingzhi_tu_img 	= null;
	dingzhi			= null;
	dingzhi_input	= null;
}


//复杂框的事件 （触发对象， 对象编号）
function fun_fuxuankuang_shijian (duixiang, bianhao) {
	
	//复杂框的单击事件
	duixiang[bianhao].onclick = function () {
		this.checked = this.checked ? false : true;		//多一道该对象的打勾状态，因为后面也有一次所以必须再切换一次以达成效果
		fun_guanlian(this.id.replace("_", ""));			//调用复选框与图片关联函数
	};
}


//图片的相关事件 （触发对象， 对象编号）
function fun_shijian (duixiang, bianhao) {
	
	//先获取该对象的起始参数，保存以至于下面再切换回该效果
	var filter_gray = duixiang[bianhao].style.filter;
	var border_color = duixiang[bianhao].style.borderColor;
	
	//鼠标单击事件
	duixiang[bianhao].onclick = function () {
		//var duixiang_style_filter = this.style.filter;					//获取该对象的滤镜效果
		var duixiang_bianhao = this.id.replace("__", "");					//获取该对象的ID数字段，用于cookie操作
		//var xianshi = duixiang_style_filter == "gray" ? 0 : 1;			//检测该对象将要显示还是隐藏	0：显示， 1：隐藏（被点击变灰）
		
		//this.style.filter = duixiang_style_filter == "gray" ? "" : "gray";//切换该对象的滤镜效果
		
		//fun_dingzhi_tu_caozuo(xianshi, duixiang_bianhao);					//调用cookie对点击图片的操作
		fun_guanlian(duixiang_bianhao);										//调用复选框与图片关联函数
		
		//回收
		duixiang_style_filter = null;
		duixiang_bianhao	  = null;
		//xianshi				  = null;
	};
	
	//鼠标经过事件
	duixiang[bianhao].onmouseover = function () {
		//this.style.filter = "gray";
		//边框颜色设为灰色，以突出显示
		this.style.borderColor = "gray";
	};
	
	//鼠标离开事件
	duixiang[bianhao].onmouseout = function () {
		//this.style.filter = filter_gray;
		//边框颜色切换回原来的白色
		this.style.borderColor = border_color;
	};
}


//点击后关联的操作 （对象编号）
function fun_guanlian (bianhao) {
	
	try {
		//获取相应的复选框与图片对象
		var fuxuankuang = document.getElementById("_" + bianhao).checked;
		var tupian		= document.getElementById("__" + bianhao).style.filter;
		
		document.getElementById("_" + bianhao).checked = fuxuankuang ? false : true;				//切换复选框的勾选状态
		document.getElementById("__" + bianhao).style.filter = tupian == "gray" ? "" : "gray";		//切换图片的滤镜效果
		
		//回收
		fuxuankuang = null;
		tupian		= null;
	} catch (e) {
	}
}


//定制图被点击后的操作 （是否将显示[0：显示， 1：隐藏]， 该对象的ID编号数字段）
function fun_dingzhi_tu_caozuo (xianshi, bianhao) {
	
	//获取cookie值，放入该缓存变量中
	var cookie_zhi = getCookie(name);
	
	//检测cookie内容是否为空
	if (cookie_zhi) {
		//验证被点击的图片代表要显示该栏目还是隐藏[0：显示， 1：隐藏）
		if (xianshi) {
			cookie_zhi += "+" + bianhao;						//向cookie缓存变量添加图片所代表的栏目编号
		} else {	//如果是要显示，则将该图片代表的栏目编号从缓存变量中释放出来
			cookie_zhi = cookie_zhi.replace("+" + bianhao, "");	//释放图片代表的栏目编号
		}
	} else {	//cookie为空的话只需要将要隐藏的编号添加到缓存变量中去
		if (xianshi) {
			cookie_zhi = bianhao;
		}
	}
	
	//提交到cookie中进行操作
	setCookie(name, cookie_zhi);
	
	//回收
	cookie_zhi = null;
}


//定制操作提交函数（定制表）
function fun_tijiao (biao) {
	
	var huancun_zhi = "";									//去掉勾的复选框的缓存变量
	var biao_input = biao.getElementsByTagName("INPUT");	//取得该表中的所有input节点
	
	//遍历input节点
	for (var i = 0; i < biao_input.length; i++) {
		//如果该节点的是复选框，且其勾是被取消了的，就将该复选框的值添加到缓存变量中去
		if (biao_input[i].type == "checkbox" && !biao_input[i].checked) {
			//再验证缓存变量是否为空，第一次添加信息时前面不需要加分割符号“+”
			if (huancun_zhi) {
				huancun_zhi += "+" + biao_input[i].value;
			} else {
				huancun_zhi += biao_input[i].value;
			}
		}
	}
	
	//将缓存信息添加至cookie中去
	setCookie(name, huancun_zhi);
	
	//回收
	huancun_zhi = null;
	biao_input 	= null;
	biao 		= null;
	
	return true;
}


