//<![CDATA[
//AUTHOR:JULLYCAT(ZHANGYANJUN)

/**获取DOM中id
 * @param {object} id 获取的id值
 */

$=function(id){
	return document.getElementById(id);
}

/**自定义多重类对象
 * @param {Object} namespace 自定义类名
 */
Namespace = new Object();
Namespace.register = function(namespace){
	var nsArray = namespace.split('.');
	var sEval = "";
    var sNS = "";
	for (var i = 0; i < nsArray.length; i++){
        if (i != 0) sNS += ".";
        sNS += nsArray[i];
        sEval += "if (typeof(" + sNS + ") == 'undefined') " + sNS + " = new Object();"
    }
    if (sEval != "") eval(sEval);
}

Namespace.register("Hc.util.setDiv");

/**
 *应用类方法定义
 */
(function(){
	var initheight,totalheight;
	Hc.util.setDiv = {
		/**
		 *初始化弹性显示DOM对象
		 *@method init
		 *@param (el,con,nums,overclassname,outclassname,speed,maxheight) tab前缀，显示内容前缀，tab个数，覆盖tab样式，离开tab样式，弹开速度，显示内容框高度
		 */
		init:function(el,con,nums,overclassname,outclassname,speed,maxheight){
			var arg = new Array();
			for(i=0;i<arguments.length;i++){
				arg[i] = arguments[i];
			}
			for(j=1;j<=parseInt(arg[2]);j++){
				tagBox = $(arg[0] + j);
				hidBox = $(arg[1] + j);
				tagBox.m = j;
				hidBox.m = j;
				tagBox.onmouseover=function(){Hc.util.showDiv.slideshow(arg,this.m);};
				tagBox.onmouseout=function(){Hc.util.showDiv.slideshow(arg,this.m);};
				hidBox.onmouseover=function(){Hc.util.showDiv.slideshow(arg,this.m);};
//				hidBox.onmouseout=function(){Hc.util.showDiv.slideshow(arg,this.m);};
			}
			Hc.util.showDiv.slideshow(arg,1);
		},
		/**
		 *构建移动DOM对象
		 *@method build
		 *@param (el,className,targetName) 父层对象，及移动对象使用的样式，移动对象的tagName
		 */
		build:function(el,className,targetName,cookiename,mspace,argAdArr,argAdTag,argAdCname){
			totalheight = 0;
			var ctrHeight;
			var mb_arr = new Array();
			var adTagArr = new Array();
			var adParentArr = new Array();
			var childtag = el.getElementsByTagName(targetName);
			var adArr,adTag,adCname;
			adArr = argAdArr;
			adTag = argAdTag;
			adCname = argAdCname;
			for(i=0;i<childtag.length;i++){
				if(childtag[i].className==className){
					adParentArr.push(childtag[i]);
				}
			}
			for(var n=0;n<adParentArr.length;n++){
				//位置固定版块
					if(adArr!=null && adTag!=null && adCname!=null){
						adTagArr = adParentArr[n].getElementsByTagName(adTag);
						for(var j=0;j<adTagArr.length;j++){
							if(adTagArr[j].className == adCname){
								adTagArr[j].innerHTML = adArr[n];
								break;
							}
						}
					}
					//位置固定版块
					with(adParentArr[n].style){
						position = "absolute";
						top = totalheight + "px";
					}
					if(adParentArr[n].scrollHeight==0) ctrHeight = parseInt(childtag[i].style.height);
					else ctrHeight = adParentArr[n].scrollHeight;
					if(mspace!=null && mspace!="") totalheight = totalheight + ctrHeight + mspace;
					else totalheight = totalheight + ctrHeight;
					mb_arr[mb_arr.length] = adParentArr[n].id;
			}
			el.style.height = totalheight + "px";
			Hc.util.move.init(el,mb_arr,cookiename);
		},
		/**
		 *获取cookie重置移动DOM对象
		 *@method rebuild
		 *@param (movebox,cookieValue) 父层对象，cookie截取后的字符
		 */
		rebuild:function(movebox,cookieValue,cookiename,mspace,argAdArr,argAdTag,argAdCname){
			var ctrHeight;
			var totalheight = 0;
			var mb_arr = cookieValue.split("&");
			var adTagArr = new Array();
			var adArr,adTag,adCname;
			adArr = argAdArr;
			adTag = argAdTag;
			adCname = argAdCname;
			for(var i=0;i<mb_arr.length;i++){
				//位置固定版块
				if(adArr!=null && adTag!=null && adCname!=null){
					adTagArr = $(mb_arr[i]).getElementsByTagName(adTag);
					for(var j=0;j<adTagArr.length;j++){
						if(adTagArr[j].className == adCname){
							adTagArr[j].innerHTML = adArr[i];
						}
					}
				}
				//位置固定版块
				$(mb_arr[i]).style.position = "absolute";
				$(mb_arr[i]).style.top = totalheight + "px";
				if(parseInt($(mb_arr[i]).scrollHeight)==0) {ctrHeight = parseInt($(mb_arr[i]).style.height);}
				else ctrHeight = $(mb_arr[i]).scrollHeight;
				if(mspace!=null && mspace!="") totalheight = totalheight + ctrHeight + mspace;
				else totalheight = totalheight + ctrHeight;
			}
			movebox.style.height = totalheight + "px";
			Hc.util.move.init(movebox,mb_arr,cookiename);
		},

		/**
		 *tab效果DOM对象初始化
		 *@method tabDivinit
		 *@param (nums,tab,con,curClassName,speed,oEvent) tab个数，tab前缀，显示内容前缀，tab当前时的样式，切换速度，设置控制切换的事件，tab非当前样式
		 */
		tabDivinit:function(nums,tab,con,curClassName,speed,oEvent,outcname){
			var t = oEvent;
			var arg = new Array;
			for(i=0;i<arguments.length;i++){
				arg[i] = arguments[i];
			}
			for(var j=0;j<arg[0];j++){
				var curtab = $(arg[1] + j);
				curtab.n = j;
				switch(t){
					case 'click':
						curtab.onclick = function(){Hc.util.showDiv.show(arg,this.n);};
						break;
					default:
						curtab.onmouseover = function(){Hc.util.showDiv.show(arg,this.n);};
						break;
				}
			}
			return arg;
		}
	};
})();

/**
 *显示隐藏类
 *@class showDiv
 */
(function(){
	var pos;
	var showpos;
	Hc.util.showDiv = {
		/**
		 *tab切换控制，切屏事件可设置
		 *@param arg是数组类,id为当前出发对象的编号
		 */
		show:function(arg,id){
			var curtab,curobj;
			curobj = this;
			var useArg = new Array;
			for(j=0;j<arg.length;j++){
				useArg[j] = arg[j];
			}
			for(var i=0;i<useArg[0];i++){
				curtab = $(useArg[1] +i);
				if(i==id){ 
					curtab.className = useArg[3];
					$(useArg[2]+i).style.display = "block";
				}else{
					curtab.className = useArg[6];
					$(useArg[2]+i).style.display = "none";
				}
			}	
		},

		/**
		 *tab自动切换控制，切屏事件自动设置
		 *@param arg是数组类
		 */
		autoshow:function(arg){
			var time1,curobj,curtab,curnum,bpos;
			curnum = 1;
			curobj = this;
			bpos = 0;
			var useArg = new Array;
			for(j=0;j<arg.length;j++){
				useArg[j] = arg[j];
			}
			this.show(useArg,0);
			function ctrl(){
				time1 = setInterval(function(){
					if(curnum>=useArg[0]) curnum=0;
					bpos = curnum;
					curobj.show(useArg,curnum);
					curnum++;
				},useArg[4])
			}
			ctrl();
			for(var i=0;i<useArg[0];i++){
				curtab = $(useArg[1] +i);
				switch(useArg[5]){
					case 'click':
						curtab.onclick = function(){curobj.show(useArg,this.n);};
						curtab.onmouseover = function(){clearInterval(time1);bpos=this.n;}
						break;
					default:
						curtab.onmouseover = function(){clearInterval(time1);curobj.show(useArg,this.n);bpos=this.n;};
						break;
				}
				$(useArg[2] +i).onmouseover = function(){clearInterval(time1);bpos++;}
				$(useArg[2] +i).onmouseout = function(){
//					bpos++;
//					if(bpos==useArg[0]) bpos=0;
//					curobj.show(useArg,bpos);
					curnum = bpos;
					ctrl();
				}
				curtab.onmouseout = function(){
//					if(bpos==useArg[0]) bpos=0;
//					curobj.show(useArg,bpos);
					curnum = bpos;
					ctrl();
				}
			}
		},
		/**
		 *由onmouseover和onmouseout事件触发，弹性显示
		 *@param arg是数组类，id是tab的后缀数字
		 */
		slideshow:function(arg,id){
			var curobj = new Array();
			for(j=0;j<arg.length;j++){
				curobj[j] = arg[j];
			}
			var tagBox,hidBox;
			var ctrl = 0;
			if((id!=pos)||(pos==null)){
				for(i=1;i<=parseInt(curobj[2]);i++){
					tagBox = $(curobj[0] + i);
					hidBox = $(curobj[1] + i);
					if(i==id){
						pos=id;
						tagBox.className = curobj[3];
						hidBox.style.display = "block";
	/*设置弹性效果
//						hidBox.style.overflow = "hidden";
//						hidBox.style.height = "0px";
//						var time1 = setInterval(function(){
//							var ids = id;
//							ctrl +=	curobj[5];
//							if(ctrl>curobj[6]) {
//								clearInterval(time1);
//								ctrl = curobj[6];
//							}
//							$(curobj[1] + ids).style.height = ctrl  + "px";
//						},30);
	*/
						hidBox.style.height = curobj[6] + "px";
					}else{
							hidBox.style.height = "0px";
							tagBox.className = curobj[4];
							hidBox.style.display = "none";
					}
				}
			}
		}
		
	}
})();


function HCmarquee(id,mw,mh,mr,sr,ms,pause){
	
	var obj=document.getElementById(id);
	obj.ss=false; //stop tag
	obj.mr=mr; //marquee rows
	obj.sr=sr; //marquee display rows
	obj.mw=mw; //marquee width
	obj.mh=mh; //marquee height
	obj.ms=ms; //marquee speed
	obj.pause=pause; //pause time
	obj.pt=0; //pre top
	obj.st=0; //stop time
	obj.mul=1;
	obj.con="";
	with(obj){
		style.width=mw+"px";
		style.height=mh+"px";
		noWrap=false;
		onmouseover=stopm;
		onmouseout=startm;
		scrollTop=0+"px";
		scrollLeft=0+"px";
	}

	if(obj.mr!=1){
				obj.tt=mh*mr/sr;
				obj.ct=mh; //current top
				obj.innerHTML+=obj.innerHTML;
				setInterval(scrollUp,obj.ms);
	}
	function scrollUp(){
		if(obj.ss==true) return;
		obj.ct+=1;
		if(obj.ct==obj.mh+1){
			obj.st+=1; obj.ct-=1;
			if(obj.st==(obj.pause*obj.mul)){
				obj.ct=0; obj.st=0;
				if(obj.mul==1) obj.mul = 1;
				else obj.mul = 1;
			}
		}else {
			obj.pt=(++obj.scrollTop);
			if(obj.pt==obj.tt){obj.scrollTop=0;}
		}
	}

	function stopm(){obj.ss=true;}
	function startm(){obj.ss=false;}
	
}

