/**
 * author:aliued-wd zhujunbiao
 */
//<![CDATA[
function AlibabaCookie(name,value){
	this.name = name;
	this.value = value;
}
function AlibabaCookies(name,time){
	this.childs = new Array();
	this.time = time;
	this.name = name;
}
	AlibabaCookies.prototype.init = function(){
		if(document.cookie){
			var cookieStrArr = document.cookie.split("; ");
			var cookieValueStr = "";
			for(var i=0;i<cookieStrArr.length;i++){
				if(cookieStrArr[i].indexOf(this.name)==0){
					cookieValueStr = cookieStrArr[i].substring(this.name.length+1,cookieStrArr[i].length);
					var cookieValueStrArr = cookieValueStr.split("|");
					for(var j=0;j<cookieValueStrArr.length;j++){
						this.add(cookieValueStrArr[j].split("=")[0],cookieValueStrArr[j].split("=")[1]);
					}
				}
			}
		}
	}
	AlibabaCookies.prototype.rebulidCookie = function(){
		var cookieStr = "__uimain__=";
		for(var i=0;i<this.childs.length;i++){
			cookieStr = cookieStr + this.childs[i].name + "=" + this.childs[i].value + "|";
		}
		if(cookieStr.length>11)
			cookieStr = cookieStr.substring(0,cookieStr.length-1);
		if(this.time!=null&&this.time!=''){
			cookieStr = cookieStr + "; expires=" + time +";";
		}else{
			cookieStr = cookieStr + "; expires=Fri, 31 Dec 2100 23:59:59 GMT;";
		}

		document.cookie = cookieStr;
	}
	AlibabaCookies.prototype.isHave = function(name,value){
		var isHave = false;
		for(var i=0;i<this.childs.length;i++){
			if(this.childs[i].name == name){
				this.childs[i].value = value;
				return true;
			}
		}
		return isHave;
	}
	AlibabaCookies.prototype.add = function(name,value){
			this.childs[this.childs.length] = new AlibabaCookie(name,value);
			this.rebulidCookie();
	}
	AlibabaCookies.prototype.set = function(name,value){
		if(this.isHave(name,value)){
			this.rebulidCookie();
		}else{
			this.add(name,value);
		}
	}
	AlibabaCookies.prototype.get = function(name){
		var cookieStr = "";
		for(var i=0;i<this.childs.length;i++){
			if(this.childs[i].name == name){
				cookieStr = this.childs[i].value;
				break;
			}
		}
		return cookieStr;
	}
	
	
/**
 * MoveBox对象/
 * @param {Object} obj 移动的层对象/
 * @param {Object} indexNum 代表当前移动层在MoveBox对象组的序列/
 * @param {Object} stat 当前移动层的状态/
 */
function MoveObj(obj,indexNum,stat){
	this.obj = obj;
	this.indexNum = indexNum;
	this.isOpen = stat;
}
/**
 * MoveBox对象组/
 * @param {Object} obj
 */
function MoveBox(obj){
	this.childs = new Array();
	this.obj = obj;
}
	MoveBox.prototype.init = function(){
		
	}
	/**
	 * MoveBox对象组的add方法,向MoveBox对象组添加移动层对象/
	 * @param {Object} obj
	 * @param {Object} indexNum
	 */
 	MoveBox.prototype.add = function(obj,indexNum){
		this.childs[this.childs.length] = new MoveObj(obj,indexNum,true);
	}
/**
 * 最大或最小化层的显示/
 * @param {Object} sName 层的名称/
 * @param {Object} srcObj 用来控制最大或最小化层的显示的图片对象/
 */
function show_div(sName,srcObj){
	var sObj = $(sName);
	var sHeight = sObj.scrollHeight;
	if(sObj.style.display==""||sObj.style.display=="block"){
		sObj.style.display = "none";
		srcObj.src = "images2/4.gif";
		srcObj.alt = "最大化";
		srcObj.title = "最大化";
		rebuildMoveBox(sObj.parentNode,sHeight,1,false);
	}else{
		sObj.style.display = "block";
		srcObj.src="images2/3.gif";
		srcObj.alt = "最小化";
		srcObj.title = "最小化";
		sHeight = sObj.scrollHeight;
		rebuildMoveBox(sObj.parentNode,sHeight,2,true);
	}
}
function $(nId){
	return document.getElementById(nId);
}

function changeSrc(org,srcObj){
	if(org==1){
		if(srcObj.src=="images2/4a.gif"||srcObj.src=="images2/4.gif"){
			srcObj.src = "images2/4a.gif";
			srcObj.alt = "最大化";
			srcObj.title = "最大化";
		}else{
			srcObj.src = "images2/3a.gif";
			srcObj.alt = "最小化";
			srcObj.title = "最小化";
		}
	}else{
		if(srcObj.src=="images2/3a.gif"||srcObj.src=="images2/3.gif"){
			srcObj.src = "images2/3.gif";
			srcObj.alt = "最小化";
			srcObj.title = "最小化";
		}else{
			srcObj.src = "images2/4.gif";
			srcObj.alt = "最大化";
			srcObj.title = "最大化";
		}
	}
}
function changeSrc1(org,srcObj){
	if(org==1){
		srcObj.src= "images2/1a.gif";
		srcObj.alt = "向上移";
		srcObj.title = "向上移";
	}else{
		srcObj.src= "images2/1.gif";
		srcObj.alt = "向上移";
		srcObj.title = "向上移";
	}
}

/**
 * 刷新cookie
 * @param {Object} moveBox
 */
function rebuildCookie(moveBox){
	var sValue="";
	for(var i=0;i<moveBox.childs.length;i++){
		sValue = sValue + moveBox.childs[i].indexNum+"a";
	}
	sValue = sValue.substring(0,sValue.length-1);
	//ResponseCookies("moveBoxCookie", sValue);
	alibabaCookie.set("lmb",sValue);
}
var speed = 5;//设置默认的移动速度为5px/秒.
var screenHeight;
var moveBoxHeight = 1420;
var moveFlag = true;
/**
 * moveBox初始化方法/
 * @param {Object} moveBox
 */
function initMoveBox(moveBox,isReInit){
	screenHeight = $("menu_list_div").offsetTop;
	$("menu_list").style.height = moveBoxHeight + "px";//初始化关键层menu_list的高度/
	var clientHeight = 0;//调整高度的参数/
	if(getExplorerType()==1){
		clientHeight = $("screen").offsetTop;
	}else{
		clientHeight = -10;
	}
	clientHeight = clientHeight + screenHeight;
	if(isReInit==true){
		clientHeight = clientHeight - moveBoxHeight + $("menu_list").scrollHeight;
	}
	/**初始化MoveBox所包含的层*/
	var list_menu_1 = $("list_menu_1");
	var list_menu_2 = $("list_menu_2");
	var list_menu_3 = $("list_menu_3");
	var list_menu_4 = $("list_menu_4");
	var list_menu_5 = $("list_menu_5");
	
	var list_menu_1_str = "<div id='list_menu_1' class='list_menu_class'>"+list_menu_1.innerHTML+"</div>";
	var list_menu_2_str = "<div id='list_menu_2' class='list_menu_class'>"+list_menu_2.innerHTML+"</div>";
	var list_menu_3_str = "<div id='list_menu_3' class='list_menu_class'>"+list_menu_3.innerHTML+"</div>";
	var list_menu_4_str = "<div id='list_menu_4' class='list_menu_class'>"+list_menu_4.innerHTML+"</div>";
	var list_menu_5_str = "<div id='list_menu_5' class='list_menu_class'>"+list_menu_5.innerHTML+"</div>";
	/**根据是否有cookie来初始化MoveBox层的显示和MoveBox对象的初始化*/
	if(alibabaCookie.get("lmb")!=null&&alibabaCookie.get("lmb")!=""){
		var cookieArr_0 = alibabaCookie.get("lmb").split("a");
		var innerHTMLstr = "";
		for(var i=0;i<cookieArr_0.length;i++){
			if(cookieArr_0[i]==0)
				innerHTMLstr = innerHTMLstr + list_menu_1_str;
			if(cookieArr_0[i]==1)
				innerHTMLstr = innerHTMLstr + list_menu_2_str;
			if(cookieArr_0[i]==2)
				innerHTMLstr = innerHTMLstr + list_menu_3_str;
			if(cookieArr_0[i]==3)
				innerHTMLstr = innerHTMLstr + list_menu_4_str;
			if(cookieArr_0[i]==4)
				innerHTMLstr = innerHTMLstr + list_menu_5_str;	
		}
		$("menu_list_div").innerHTML = innerHTMLstr;
		for(var i=0;i<cookieArr_0.length;i++){
			if(cookieArr_0[i]==0){
				moveBox.add($("list_menu_1"),0);			
			}
			if(cookieArr_0[i]==1){
				moveBox.add($("list_menu_2"),1);			
			}
			if(cookieArr_0[i]==2){
				moveBox.add($("list_menu_3"),2);			
			}
			if(cookieArr_0[i]==3){
				moveBox.add($("list_menu_4"),3);			
			}
			if(cookieArr_0[i]==4){
				moveBox.add($("list_menu_5"),4);				
			}	
		}
		for(var i=0;i<moveBox.childs.length;i++){
			moveBox.childs[i].obj.style.position = "absolute";
			//moveBox.childs[i].obj.style.top = offsetTopArr[i]-1430+clientHeight+"px";
			moveBox.childs[i].obj.style.top = clientHeight+"px";
			clientHeight = clientHeight + moveBox.childs[i].obj.scrollHeight;
			
		}
		for(var i=0;i<moveBox.childs.length;i++){
			if(i == 0){
				moveBox.childs[i].obj.getElementsByTagName("div")[0].getElementsByTagName("div")[2].innerHTML = "";
			}else{
				moveBox.childs[i].obj.getElementsByTagName("div")[0].getElementsByTagName("div")[2].innerHTML = "<span onclick=\"moveUp($('"+moveBox.childs[i].obj.id+"'));event.cancelBubble=true\"><img onmouseover=\"changeSrc1(1,this)\" onmouseout=\"changeSrc1(2,this)\" src=\"images2/1.gif\" /></span>";
			}
		}
	}else{
		moveBox.add($("list_menu_1"),0);
		moveBox.add($("list_menu_2"),1);
		moveBox.add($("list_menu_3"),2);
		moveBox.add($("list_menu_4"),3);
		moveBox.add($("list_menu_5"),4);
		for(var i=0;i<moveBox.childs.length;i++){
			moveBox.childs[i].obj.style.position = "absolute";
			//moveBox.childs[i].obj.style.top = offsetTopArr[i]-1430+clientHeight+"px";
			moveBox.childs[i].obj.style.top = clientHeight+"px";
			clientHeight = clientHeight + moveBox.childs[i].obj.scrollHeight;
			
		}
	}
}
/**
 * 重新构建MoveBox对象/
 * @param {Object} sObj
 * @param {Object} heigth 2个将要移动层的高度差/
 * @param {Object} sType 1:关闭2：展开/
 * @param {Object} stat
 */
function rebuildMoveBox(sObj,heigth,sType,stat){
	if(sType==1){
		var indexNum_r;
		for(var i=0;i<moveBox.childs.length;i++){
			if(moveBox.childs[i].obj==sObj){
				indexNum_r = i;
				moveBox.childs[i].isOpen = stat;
				break;
			}
		}
		for(var i=0;i<moveBox.childs.length;i++){
			if(i>indexNum_r){
				moveBox.childs[i].obj.style.top = parseInt(moveBox.childs[i].obj.style.top)-heigth+"px";
			}
		}
		moveBox.obj.style.height =parseInt(moveBox.obj.style.height)-heigth+"px";
	}else{
		var indexNum_r;
		for(var i=0;i<moveBox.childs.length;i++){
			if(moveBox.childs[i].obj==sObj){
				indexNum_r = i;
				moveBox.childs[i].isOpen = stat;
				break;
			}
		}
		for(var i=0;i<moveBox.childs.length;i++){
			if(i>indexNum_r){
				moveBox.childs[i].obj.style.top = parseInt(moveBox.childs[i].obj.style.top)+heigth+"px";
			}
		}
		moveBox.obj.style.height =parseInt(moveBox.obj.style.height)+heigth+"px";
	}
}
var tempObjI;//当前触发的层在moveBox对象数组中的位置/
function moveUp(moveObj){
	aliclick(this,'?tracelog=ui_chinaindex_070418_leftMenu');
	$("pop_left_menu").style.display = "none";
	if(moveFlag == true){
		try{
			for(var i=0;i<moveBox.childs.length;i++){
				if(moveBox.childs[i].obj==moveObj){
					if(i>0){
						tempObjI = i;
						exchangeMoveUp(getTwoDiv(moveBox.childs[i].indexNum));				
					}
					break;
				}
			}
		}catch(e){
		}
		moveFlag = false;
	}
}


/**
 * 根据序列获得将要移动的两个层对象/
 * @param {Object} indexNum
 */
function getTwoDiv(indexNum){
	var divArr = new Array();
	for(var i=0;i<moveBox.childs.length;i++){
		if(moveBox.childs[i].indexNum==indexNum){
			var divArr0Father = getMoveWithIndexNum(indexNum);
			var tempIndex = divArr0Father.indexNum;
			divArr[0] = divArr0Father.obj;
			divArr[1] = moveBox.childs[i].obj;
			divArr0Father.indexNum = indexNum;
			divArr0Father.obj = divArr[1];
			moveBox.childs[i].obj = divArr[0];
			moveBox.childs[i].indexNum = tempIndex;
			divArr[0].style.zIndex = "77";
			divArr[1].style.zIndex = "88";
			break;
		}
	}
	rebuildCookie(moveBox);//更新COOKIE的值/
	return divArr;
}
/**
 * 根据序列获得和这个序列所属的层相关的，将要一起移动的层/
 * @param {Object} indexNum
 */
function getMoveWithIndexNum(indexNum){
	for(var i=0;i<moveBox.childs.length;i++){
		if(moveBox.childs[i].indexNum==indexNum){
			return moveBox.childs[i-1];
		}
	}
}
/**
 * 2个层的交换移动/
 * @param {Object} divArr
 */
function exchangeMoveUp(divArr){
	var moveDiv1 = divArr[0];
	var moveDiv2 = divArr[1];
	moveObj(moveDiv1,moveDiv2,speed);
}
/**
 * 获取当前层对象的状态，是否打开/
 * @param {Object} obj
 */
function getObjStat(obj){
	for(var i=0;i<moveBox.childs.length;i++){
		if(moveBox.childs[i].obj==obj){
			return moveBox.childs[i].isOpen;
		}
	}
}

function changeObjStat(obj,stat){
	for(var i=0;i<moveBox.childs.length;i++){
		if(moveBox.childs[i].obj==obj){
			moveBox.childs[i].isOpen = stat;
		}
	}
}
/**
 * 获取浏览器版本/
 */
function getExplorerType(){
	var ua = navigator.userAgent.toLowerCase();
	if(window.ActiveXObject){
		return 1;
	}else if((ua.indexOf('firefox')>-1)){
		return 2;
	}else if((ua.indexOf('opera')>-1)){
		return 3;
	}
}
function getColorByCookie(){
	var colorName = alibabaCookie.get("color");
	var colorValue = "#F4F2F1";
	if(colorName=="gray"){
		colorValue = "#F4F2F1";
	}else if(colorName=="orange"){
		colorValue = "#FFF1F1";
	}else if(colorName=="blue"){
		colorValue = "#EDF2F8";
	}else if(colorName=="green"){
		colorValue = "#F2F7EE";
	}else if(colorName=="red"){
		colorValue = "#F9EBF1";
	}
	return colorValue;
}
var oStart;//被移动层对象/
var oEnd;//触发移动层对象/
var oStartY;
var oEndY;
/**
 * 移动对象方法/
 * @param {Object} oStart1
 * @param {Object} oEnd1
 * @param {Object} speed1
 */
function moveObj(oStart1,oEnd1,speed1){
	oStart = oStart1;
	oEnd = oEnd1;
	speed = speed1;
	oStartY = parseInt(oEnd.style.top);
	oEndY = parseInt(oStart.style.top);
	//oStart.className="list_menu_class1";
	oStart.getElementsByTagName("div")[0].className="main_sec main_sec_bg1";/**移动开始改变被移动层的样式*/
	
	oEnd.style.background = getColorByCookie();
	var oStart_tempStat = getObjStat(oStart);
	var oEnd_tempStat = getObjStat(oEnd);
	changeObjStat(oStart,oEnd_tempStat);
	changeObjStat(oEnd,oStart_tempStat);

	simpleMove1();
	simpleMove2();
	moveFlag = false;
}
/**
 * 被移动层的移动方法/
 */
function simpleMove1(oStart_stat,oEnd_stat){
	var yStart = parseInt(oStart.style.top);
	var yEnd = oStartY+(oEnd.scrollHeight-oStart.scrollHeight);

	if(getObjStat(oStart)==false&&getObjStat(oEnd)==true){
		yEnd = yEnd -0;
	}
	if(getObjStat(oStart)==true&&getObjStat(oEnd)==false){
		yEnd = yEnd +0;
	}


	if(yStart<yEnd){
		moveY(oStart,1,speed,yEnd);
		setTimeout("simpleMove1()",1);
	}
	if(yStart>yEnd){
		moveY(oStart,2,speed,yEnd);
		setTimeout("simpleMove1()",1);
	}
	if(yStart==yEnd){
		//oStart.style.background = "#fff";
		//oStart.className="list_menu_class";
		/**移动结束还原被移动层的样式*/
		oStart.getElementsByTagName("div")[0].className = "main_sec main_sec_bg";
		
		if(tempObjI==1){
			oStart.getElementsByTagName("div")[0].getElementsByTagName("div")[2].innerHTML = "<span onclick=\"moveUp($('"+oStart.id+"'));event.cancelBubble=true\"><img onmouseover=\"changeSrc1(1,this)\" onmouseout=\"changeSrc1(2,this)\" src=\"images2/1.gif\" /></span>";
			oEnd.getElementsByTagName("div")[0].getElementsByTagName("div")[2].innerHTML = "";
		}
		if(oStart.scrollHeight<=oEnd.scrollHeight){
			oEnd.style.background = "";
			moveFlag = true;
		}
	}
}
/**
 * 触发移动层的移动方法/
 */
function simpleMove2(){
	var yStart = parseInt(oEnd.style.top);
	var yEnd = oEndY;
	if(yStart<yEnd){
		moveY(oEnd,1,speed,yEnd);
		setTimeout("simpleMove2()",1);
	}
	if(yStart>yEnd){
		moveY(oEnd,2,speed,yEnd);
		setTimeout("simpleMove2()",1);
	}
	if(yStart==yEnd){
		if(oStart.scrollHeight>=oEnd.scrollHeight){
			oEnd.style.background = "";
			moveFlag = true;
		}
	}
}
/**抽象化Y的移动*/
function moveY(obj,ySpeenType,speed,yEnd){
	if(ySpeenType==1){
		if((parseInt(obj.style.top)+speed)>yEnd){
			obj.style.top = yEnd+"px";
		}else{
			obj.style.top = parseInt(obj.style.top)+speed+"px";
		}
	}
	if(ySpeenType==2){
		if((parseInt(obj.style.top)-speed)<yEnd){
			obj.style.top = yEnd+"px";
		}else{
			obj.style.top = parseInt(obj.style.top)-speed+"px";
		}
	}
}

//]]>