﻿/*
 * By ximenchuixue, QQ:149561420, Email:sabesabe3314@163.com
 */
var ximen = {
	$1:function(o){
		return document.getElementById(o);
	},
	loadReady:function(func) {
		var oldonload = window.onload;
		if(typeof oldonload != "function") {
			window.onload = func;
		} else {
			window.onload = function() {
				oldonload();
				func();
			}
		}
	},
	bind:function(o,eType,fn) {
		if(o.addEventListener) { o.addEventListener(eType,fn,false); }
		else if(o.attachEvent) { o.attachEvent("on" + eType,fn); }
		else { o["on" + eType] = fn; }
	},
	stopEvent:function(e) {
		e = e || window.event;
		e.stopPropagation && (e.preventDefault(),e.stopPropagation()) || (e.cancelBubble = true,e.returnValue = false);
	},
	getStyle:function(o) { return o.currentStyle||document.defaultView.getComputedStyle(o,null); },
	getChild:function(o,s) {
		var x;
		if(s == "first") { x = o.firstChild; while(x.nodeType != 1) { x = x.nextSibling; } }
		else { x = o.lastChild; while(x.nodeType != 1) { x = x.previousSibling; } }
		return x;
	},
	isIE:/MSIE/.test(navigator.userAgent)
};



/*
 * Tags切换类
 */
function Tags(cfg) {
	this.nameSpace = cfg.nameSpace;
	this.tags = cfg.tags;
	this.init();
}
Tags.prototype = {
	tagsEvent:function(e,n,that) {
		var et = e.target || e.srcElement,
			items = et.parentNode.parentNode.getElementsByTagName('div'),
			lists = et.parentNode.parentNode.parentNode.getElementsByTagName('dd');
		for(var i = 0, l = items.length; i < l; i++) {
			items[i].className = '';
			lists[i].style.display = 'none';
		}
		et.parentNode.className = 'now';
		lists[n].style.display = 'block';
	},
	bindEvent:function() {
		var that = this, items = this.tags.getElementsByTagName('dt')[0].getElementsByTagName('div');
		for(var i = 0, l = items.length; i < l; i++) {
			(function(j) {
				that.nameSpace.bind(items[i],'mouseover',function(event) { that.tagsEvent(event,j,that) });
			})(i);
		}
	},
	setFirstContent:function() {
		this.tags.getElementsByTagName('dd')[0].style.display = 'block';
	},
	init:function() {
		this.setFirstContent();
		this.bindEvent();
	}
}



/*
 * 图片切换Tags公用方法
 */
function TagsPics(cfg) { 
	var picContainer=cfg.picArea;
	var btnContainer=cfg.picClick;
	var interval=5000;
	var step=cfg.nameSpace.isIE?25:5;
	var linkList=[];
	var linkListTmp=picContainer.getElementsByTagName("a");
	for (var i=0;i<linkListTmp.length;i++){
		linkListTmp[i].style.display="none";
		linkList.push(linkListTmp[i]);
	}
	var link=document.createElement("a");
	link.style.display="none";
	picContainer.appendChild(link);
	if (!linkList.length)
		return;
	function goAdFunc(i){
		return function(){
			goAd(i);
		};
	}
	if (btnContainer){
		btnContainer.innerHTML="";
		var btnList=[];
		for (var i=0;i<linkList.length;i++){
			var btnTmp=document.createElement("li");
			if (!i)
				btnTmp.className="pic_current";
			btnTmp.innerHTML=i+1;
			btnList.push(btnTmp);
			btnContainer.appendChild(btnTmp);
			btnTmp.onclick=goAdFunc(i);
		}
	}
	var clock,running=false,current=0,next=0,target=null;
	if (cfg.nameSpace.isIE){
		picContainer.style.position="relative";
		picContainer.style.filter="progid:DXImageTransform.Microsoft.Fade(duration=1)";
	}
	linkList[current].style.display = "";
	if (linkList.length == 1) return;
	function goAd(i){
		if (i!==null){
			if (i==next)
				return;
			else
				target=i;
		}
		clearTimeout(clock);
		if (running)
			return;
		running=true;
		current=next;
		next=(next+1)%linkList.length;
		if (target!==null)
			next=target;
		target=null;
		link.parentNode.insertBefore(linkList[current],link);
		linkList[current].style.position="relative";
		linkList[next].style.position="absolute";
		linkList[next].style.display="";
		btnList[current].className="";
		btnList[next].className="pic_current";
		function transComplete(){
			linkList[current].style.display="none";
			linkList[current].style.filter="";
			running=false;
			clock=setTimeout(function(){
				goAd(null);
			},target===null?interval:200);
		}
		var alpha=100,
			iClock=setInterval(function(){
			alpha=Math.max(alpha-step,0);
			linkList[current].style.opacity=alpha/100;
			linkList[current].style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+alpha+")";
			if (!alpha){
				clearInterval(iClock);
				linkList[current].style.opacity=100;
				transComplete();
			}
		},20);
	}
	clock=setTimeout(function(){
		goAd(null);
	},interval);
}


/*
 * 主菜单切换
 */
function Menu(cfg) {
	this.obj = cfg.obj;
	this.nameSpace = cfg.nameSpace;
	this.init();
}

Menu.prototype = {
	menuEvent:function(e, display) {
		var et = e.target || e.srcElement;
		if(et.parentNode.getElementsByTagName('div')[0]) et.parentNode.getElementsByTagName('div')[0].style.display = display;
	},
	setChange:function() {
		var that = this, items = that.obj.getElementsByTagName('li');
		for(var i = 0, l = items.length; i < l; i++) {
			that.nameSpace.bind(items[i].getElementsByTagName('a')[0],'mouseover',function(event) { that.menuEvent(event, 'block'); });
			that.nameSpace.bind(items[i].getElementsByTagName('a')[0],'mouseout',function(event) { that.menuEvent(event, 'none'); });
			if(items[i].getElementsByTagName('div')[0]) {
				items[i].getElementsByTagName('div')[0].onmouseover = function() {
					this.style.display = 'block';
					this.parentNode.getElementsByTagName('a')[0].className = this.parentNode.getElementsByTagName('a')[0].className == 'cur' ? 'cur' : 'now';
				}
				items[i].getElementsByTagName('div')[0].onmouseout = function() {
					this.style.display = 'none';
					this.parentNode.getElementsByTagName('a')[0].className = this.parentNode.getElementsByTagName('a')[0].className == 'cur' ? 'cur' : '';
				}
			}
		}
	},
	init:function() {
		this.setChange();
	}
}

/*
* 企业成员展开收缩
*/
function linksShow(o, foldText, openText) {
   var linksContent = o.parentNode.parentNode.getElementsByTagName('td')[0].getElementsByTagName('div')[0];
   if (o.className == 'links_open') {
      o.innerHTML = openText;
      linksContent.style.height = 'auto';
      o.className = 'links_fold';
   } else {
      o.innerHTML = foldText;
      linksContent.style.height = '18px';
      o.className = 'links_open';
   }
}

