<!--// JavaScript write by Kinvix(chaoneng.huo@163.com) of China (c) Fiying Workstation http://JUI.KDV.cn @ 2008.05 

//全局计时器
var _timeContainer={interval:30,step:5};

//大量DOM节点的高效通用追加方法封装
function addHtml(oParentNode, sHTML) {
	sHTML=oParentNode.innerHTML+sHTML;
	
     if(window.addEventListener) {// for MOZ
         var oRange = oParentNode.ownerDocument.createRange();
         oRange.setStartBefore(oParentNode);
         var oFrag = oRange.createContextualFragment(sHTML);
         oParentNode.appendChild(oFrag);
     }
     else {// for IE5+
         oParentNode.insertAdjacentHTML("beforeEnd", sHTML);
     }
} 
//大量DOM节点的高效通用更换方法封装(FF未完成哦)
function setHtml(oParentNode, sHTML){
     if(window.addEventListener) {// for MOZ
         var oRange = oParentNode.ownerDocument.createRange();
         oRange.setStartBefore(oParentNode);
         var oFrag = oRange.createContextualFragment(sHTML);
         oParentNode.appendChild(oFrag);
     }
     else {// for IE5+
     	oParentNode.innerHTML="";
         oParentNode.insertAdjacentHTML("beforeEnd", sHTML);
     }
} 
if(typeof(HTMLElement) != "undefined") 
{ 
	HTMLElement.prototype.contains = function(obj) 
	{   
		 while(obj != null &&  typeof(obj.tagName) != "undefind")   
		  { 
			if(obj == this) 
			return true; 
			Obj = obj.parentNode; 
		  }    
			return false;   
	};   
} 
function Scroll(obj, h, s){
    if(obj == undefined){return false;}
    var h = h || 200;
    var s = s || 1.2;
    var obj = typeof(obj)=="string"?document.getElementById(obj):obj;
    var status = obj.getAttribute("status")==null;
    var oh = parseInt(obj.offsetHeight);
    obj.style.height = oh;
    obj.style.display = "block";
 obj.style.overflow = "hidden";
    if(obj.getAttribute("oldHeight") == null){
        obj.setAttribute("oldHeight", oh);
    }else{
        var oldH = Math.ceil(obj.getAttribute("oldHeight"));
    }
    var reSet = function(){
        if(status){
            if(oh < h){
                oh = Math.ceil(h-(h-oh)/s);
                obj.style.height = oh+"px";
            }else{
                obj.setAttribute("status",false);
                window.clearInterval(IntervalId);
            }
        }else{
            obj.style.height = oldH+"px";
            obj.removeAttribute("status");
            window.clearInterval(IntervalId);
        }
		obj.style.height=="0px"?obj.style.display="none":obj.style.display="block";
    }
    var IntervalId = window.setInterval(reSet,10);
 return status;
}
//DOM删除节点的通用方法封装
function removeNodes(name) {
     var nodes = document.getElementsByTagName(name);
     if (nodes) {
         for(var i=nodes.length-1;i>=0;i--){
             var node = nodes[i];
             node.parentNode.removeChild(node);
         }
     }
}
function removeNodeById(id) {
     var node = document.getElementById(id);
     if (node) {
         node.parentNode.removeChild(node);
     }
}
function removeNodeByClass(tag,clazz) {
     var nodes = document.getElementsByTagName(tag);
     if (nodes) {
         for(var i=nodes.length-1;i>=0;i--) {
             var node = nodes[i];
             if (node.className==clazz) {
                 node.parentNode.removeChild(node);
             }
         }
     }
	 
}
Array.prototype.indexOf=function(vItem){
	for(var i=0;i<this.length;i++)
	{
		if(vItem==this[i]){
			return i;
			}
	}
	return -1;
}
if(typeof(HTMLElement)!="undefined" && !window.opera) 
	{ 
		HTMLElement.prototype.__defineGetter__("outerHTML",function() 
		{ 
			var a=this.attributes, str="<"+this.tagName, i=0;for(;i<a.length;i++) 
			if(a[i].specified) 
				str+=" "+a[i].name+'="'+a[i].value+'"'; 
			if(!this.canHaveChildren) 
				return str+" />"; 
			return str+">"+this.innerHTML+"</"+this.tagName+">"; 
		}); 
		HTMLElement.prototype.__defineSetter__("outerHTML",function(s) 
		{ 
			var r = this.ownerDocument.createRange(); 
			r.setStartBefore(this); 
			var df = r.createContextualFragment(s); 
			this.parentNode.replaceChild(df, this); 
			return s; 
		}); 
		HTMLElement.prototype.__defineGetter__("canHaveChildren",function() 
		{ 
			return !/^(area|base|basefont|col|frame|hr|img|br|input|isindex|link|meta|param)$/.test(this.tagName.toLowerCase()); 
		}); 
} 
function scrollShow(obj, count, ht, delay)
{
 var end = (count * 2 - 1) * ht;
 var offset = 0;
 var stop = false;
 obj.innerHTML += obj.innerHTML;
 obj.onmouseover = function(){stop = true};
 obj.onmouseout = function(){stop = false};
 function scrollStart()
 {
  if(!stop)
  {
   if (offset >= end)
   {
    obj.scrollTop = offset = (count - 1) * ht;
   }
   obj.scrollTop = offset;
   offset ++;
  }
  if (offset % ht == 0)
  {
   setTimeout(scrollStart, delay);
   return false;
  }
  setTimeout(scrollStart, 5);
 }
 setTimeout(scrollStart, delay);
}
function getBrowserType()
{
	if (window.navigator.userAgent.indexOf("Firefox")>=1)
	{
		return "fx";
	}
	else if (window.navigator.userAgent.indexOf("MSIE 6.0")>=1)
	{
		return "ie6";
	}
	else if (window.navigator.userAgent.indexOf("MSIE 7.0")>=1)
	{
		return "ie7";
	}
	else if (window.navigator.userAgent.indexOf("Chrome")>=1)
	{
		return "google";
	}
	else
	{
		return "";
	}
}
//阻止浏览器的默认行为
function stopDefault(e){
	if(e && e.preventDefault)
		e.preventDefault();
	else{
		window.event.returnValue=false;
	}
		return false;
}
//阻止冒泡事件
function stopBubble(e){
	if(e&&e.stopPropagation)
		e.stopPropagation();
	else{
		window.event.cancelBubble=true;
	}
}
//CSS样式通用操作
function getStyle( elem, name ) {
    if (elem.style[name])
        return elem.style[name];
    else if (elem.currentStyle)
        return elem.currentStyle[name];
    else if (document.defaultView && document.defaultView.getComputedStyle) {
        name = name.replace(/([A-Z])/g,"-$1");
        name = name.toLowerCase();
        var s = document.defaultView.getComputedStyle(elem,"");
        return s && s.getPropertyValue(name);

    } else {return null;}
}

function getHeight( elem ) {//获取元素的高
	//alert(getStyle( elem, "height" ));
    return parseInt( getStyle( elem, "height" ) );
}

function getWidth( elem ) {//获取元素的宽
    return parseInt( getStyle( elem, "width" ) );
}

function fullHeight(elem) {//返回当前元素的高
    if ( getStyle( elem, "display" ) != "none" ){
	//alert(elem.offsetHeight || getHeight( elem ))
        return elem.offsetHeight || getHeight( elem );//返回可见区域的高或者是元素的高
	}
		//重新设置元素的样式并返回可见区域的高或者是元素的高
    var old = resetCSS( elem, {
        display: "",
        visibility: "hidden",
        position: "absolute"
    });
    var h = elem.clientHeight || getHeight( elem );
    restoreCSS( elem, old );
    return h;
}

function fullWidth( elem ) {//返回当前元素的宽
    if ( getStyle( elem, "display" ) != "none" )
        return elem.offsetWidth || getWidth( elem );
    var old = resetCSS( elem, {
        display: "",
        visibility: "hidden",
        position: "absolute"
    });
    var w = elem.clientWidth || getWidth( elem );
    restoreCSS( elem, old );
    return w;
}

function pageX(elem) {//返回当前元素与窗体的左边距
    var p = 0;
    while ( elem.offsetParent ) {//一直循环到body块
        p += elem.offsetLeft;	//加上元素的左边距
        elem = elem.offsetParent;//把当前元素改变至上一级容器
    }
    return p;
}
function pageY(elem) {//返回当前元素与窗体的上边距
    var p = 0;
    while ( elem.offsetParent ) {
        p += elem.offsetTop;
        elem = elem.offsetParent;
    }
    return p;
}

function resetCSS( elem, prop ) {//重新设置当前元素的样式表
    var old = {};
    for ( var i in prop ) {
        old[ i ] = elem.style[ i ];
        elem.style[ i ] = prop[i];
    }
    return old;
}

function restoreCSS( elem, prop ) {//恢复样式
    for ( var i in prop )
        elem.style[ i ] = prop[ i ];
}



//视觉效果

function show( elem ) {//显示当前元素
    elem.style.display = elem.$oldDisplay || "block";
}
function hide( elem ) {//隐藏当前元素
    var curDisplay = getStyle( elem, "display" );
    if ( curDisplay != "none")
        elem.$oldDisplay = curDisplay;
    elem.style.display = "none";
}
function setOpacity(elem, level){//处理图片的半透明效果
	try{
		if(elem.filters){//如果无素有这filters这个属性，以IE的方式处理图片的半透明效果
			if(!elem.filters.alpha){
				elem.style.filter='alpha(opacity="'+level+'");';
			}else{
				elem.filters.alpha.opacity=level;
			}
			
			if(level==100){
				elem.style.filter="";
			}
		}else{
			elem.style.opacity = level / 100;//以Mozilla的方式处理图片的半透明效果
		}
	}catch(e){}
}
function setFlash(elem, level){//处理图片的半透明效果
	if(elem.filters){
		var tempFilter=elem.style.filter;
		//alert(tempFilter+"; "+elem.style.filter)
		if(!elem.filters.alpha){
			elem.style.filter='alpha(opacity="'+level+'") '+tempFilter;
		}else{
			elem.filters.alpha.opacity=level;
		}
	}	else{
		elem.style.opacity = level / 100;
	}
}
function fadeIn(elem, level, callback){//设置元素的渐变效果
	level=level||100;
	setOpacity( elem, 0 );
	show( elem );
	
	for ( var i = 0; i <= level ; i += 5 ) {
		(function(){
	        var pos = i; 
	        var timer=setTimeout(function(){
	            if(elem){setOpacity( elem, pos );}
	        }, ( pos + 1 ) * 10 );
					//timer=clearTimeout(timer);
	    })();
	}
}
function setWave(elem, strength){//设置元素的水波效果
	if(elem.filters){
		if(!elem.filters.blur){
			elem.style.filter="wave(add='0',phase='6',freq='2',LightStrength='0',strength='0');";
		}
		/*img2.filters.wave.freq=step; //改变波纹频率
img2.filters.wave.strength=step+40; //改变波纹振幅*/
		elem.filters.wave.strength=(100-strength)/2;
		elem.filters.wave.lightstrength=(100-strength)/2;
		if(strength==100){
			elem.style.filter="";
		}
	}	else{
		elem.style.opacity = strength / 100;
	}
}
function waveIn( elem ) {//设置水波渐变特效
		
    setWave( elem, 0 );
    show( elem );

    for ( var i = 0; i <= 100; i += 5 ) {
				(function(){
            var pos = i; 
            setTimeout(function(){
                setWave( elem, pos );
            }, ( pos + 1 ) * 10 );
        })();
    }
}



function setBlur(elem, strength){//设置元素的filter.blur模糊
	if(elem.filters){
		if(!elem.filters.blur){
			elem.style.filter="blur(add='0',strength='0',direction='325');";
		}
		elem.filters.blur.strength=(100-strength)/5;
		if(strength==100){
			elem.style.filter="";
		}
	}	else{
		elem.style.opacity = strength / 100;
	}
}


function blurIn( elem ) {//设置元素的模糊渐变

    setBlur( elem, 0 );
    show( elem );

    for ( var i = 0; i <= 100; i += 5 ) {
				(function(){
            var pos = i; 
            setTimeout(function(){
                setBlur( elem, pos );
            }, ( pos + 1 ) * 10 );
        })();
    }
}


function slideDown( elem ){//元素向下展开效果
	var h = fullHeight( elem );
    elem.style.height = '0px';
    show( elem );
		//alert(elem.style.height)
    
    for ( var i = 0; i <= 100; i += 5 ) {
				(function(){
            var pos = i;
            setTimeout(function(){
							elem.style.height = ((pos/100)*h)+"px";
            }, ((pos+1)*10));
        })();
    }
}
function slideRight( elem ){//元素向右展开效果
	var w = fullWidth( elem );
    elem.style.width = '0px';
    show( elem );
  
    for ( var i = 0; i <= 100; i += 5 ) {
				(function(){
            var pos = i;
            setTimeout(function(){
							elem.style.width = ((pos/100)*w)+"px";
            }, ((pos+1)*10));
        })();
    }
}

function slideOut( elem ){//元素同是向下向右展开
	slideRight( elem );
	slideDown( elem );
}

function dreamIn( elem ){//设置元素水波渐变和模糊渐变同步进行
	if(elem.filters){
		if(!elem.filters.blur){
			elem.style.filter="blur(add='0',strength='0',direction='325') wave(add='0',phase='6',freq='2',LightStrength='0',strength='0');";
		}
		blurIn( elem );
		waveIn( elem );
	}else{
		fadeIn(elem);
	}
	
}


function getViewDimensions(){//获取窗口长和宽返回将封装为一个对象（X,Y)
	var winWidth = 0;
	var winHeight = 0;
	//获取窗口宽度
	if(window.innerWidth){
		winWidth = window.innerWidth;
	}
	else if((document.body) && (document.body.clientWidth)){
		winWidth = document.body.clientWidth;
	}
	//获取窗口高度
	if(window.innerHeight){
		winHeight = window.innerHeight;
	}
	else if((document.body) && (document.body.clientHeight)){
		winHeight = document.body.clientHeight;
	}
	//通过深入Document内部对body进行检测，获取窗口大小
	if(document.documentElement  && document.documentElement.clientHeight && document.documentElement.clientWidth){
		winHeight = document.documentElement.clientHeight;
		winWidth = document.documentElement.clientWidth;
	}
	//结果输出框
	//document.form1.availHeight.value= winHeight;
	//document.form1.availWidth.value= winWidth;
	return {x:winWidth,y:winHeight};
}
//getViewDimensions();
//调用函数，获取数值
//window.onresize=getViewDimensions;


//iTab切换
function iTab(parentId,index){
	var o=$E(parentId);
	cleanWhitespace(o);//调用jos.old.js方法
	var leng=o.childNodes.length;
	var i;
	var m;
	var tempClassName;
	var currentStyle;
	
	for(i=0;i<leng;i++){
		
		if(o.childNodes[i].className && o.childNodes[i].className.indexOf("On")!=-1){
			tempClassName=o.childNodes[i].className.split("On")[0];
			
			
		}else if(o.childNodes[i].className!=null&&o.childNodes[i].className.indexOf("Off")!=-1){
			tempClassName=o.childNodes[i].className.split("Off")[0];
			
		}else{
			continue;
		}
		if(index.constructor==Array){
			currentStyle="Off";
			for(m=0;m<index.length;m++){
				if(i==index[m]){
					currentStyle="On";
				}
			}
			o.childNodes[i].className=tempClassName+currentStyle;
		}else{
			if(i==index){
				o.childNodes[i].className=tempClassName+"On";
			}else{
				o.childNodes[i].className=tempClassName+"Off";
			}
		}
	}
	
}

//---分割---------------------------------------------------------------//

var moveStep=5;
var moveTime=10;
var tempTimer = new Array();

function setDivPosition(tempTimer_id, scroll_obj_ids, scroll_xy, scroll_obj_size, position_num){
	var scroll_obj_id = scroll_obj_ids.split(",");
	var scroll_obj = $E(scroll_obj_id[0]);
	//alert(scroll_obj_id[0])
	var start_position = 0;
	var scroll_obj_size;
	var position_num;
	var obj_Allsize;
	var obj_position;
	var to_position;
	var obj_StandSize;

	if(position_num == null){
		if(scroll_xy=='x'){
			obj_position = scroll_obj.scrollLeft;
			
			obj_Allsize = scroll_obj.scrollWidth;
			obj_StandSize = scroll_obj.clientWidth;
		}
		else {
			obj_position = scroll_obj.scrollTop;
			obj_Allsize = scroll_obj.scrollHeight;
			obj_StandSize = scroll_obj.clientHeight;
		}
		
		lastSize = obj_Allsize - obj_position;

		if(lastSize>=obj_StandSize && lastSize<(obj_StandSize*2)) scroll_goto(scroll_obj_ids , scroll_xy , start_position); //to_position = start_position;
		else to_position = parseInt(obj_position/scroll_obj_size) * scroll_obj_size + scroll_obj_size;

		
	}
	else to_position = position_num * scroll_obj_size;

	if(tempTimer[tempTimer_id]) clearInterval(tempTimer[tempTimer_id]);
	tempTimer[tempTimer_id] = setInterval("scroll_to('" + scroll_obj_ids + "', '" + scroll_xy + "', " + to_position + ")", moveTime);
}


function scroll_goto(scroll_obj_ids, scroll_xy, to_position){
	var scroll_obj_id = scroll_obj_ids.split(",");
	var scroll_obj = $E(scroll_obj_id[0]);
	var obj_position;
	var scroll_xy;
	var to_position;

	if(scroll_xy=='x'){
		obj_position = scroll_obj.scrollLeft;
		var temp_step = to_position;
		for(var i=0; i<scroll_obj_id.length; i++){
			scroll_obj = $E(scroll_obj_id[i]);
			scroll_obj.scrollLeft = temp_step;
			
		}
	}
	else{
		obj_position = scroll_obj.scrollTop;
		var temp_step = to_position;
		for(var i=0; i<scroll_obj_id.length; i++){
			scroll_obj = $E(scroll_obj_id[i]);
			scroll_obj.scrollTop = temp_step;
		}
	}
}

//获取下一步的位置数据算法一
function getAddNumber(start_num, end_num, step_num){
	var return_num=(end_num-start_num)/step_num;
	if(return_num>=-1 && return_num<0){return_num = -1;}
	if(return_num<=1 && return_num>0){return_num = 1;}
	return_num = Math.round(return_num);
	return return_num;
}

//获取下一步的位置数据算法二
function getSinNumber(start_num, end_num, step_num){
	var return_num=(end_num-start_num)/step_num;
	if(return_num>=-1 && return_num<0){return_num = -1;}
	if(return_num<=1 && return_num>0){return_num = 1;}
	return_num = parseInt(return_num);
	return return_num;
}
//获取下一步的位置数据算法三
function getTanNumber(start_num, end_num, step_num){
	var return_num=(end_num-start_num)/step_num;
	if(return_num>=-1 && return_num<0){return_num = -1;}
	if(return_num<=1 && return_num>0){return_num = 1;}
	return_num = parseInt(return_num);
	return return_num;
}



function scroll_to(scroll_obj_ids, scroll_xy, to_position){
	var scroll_obj_id = scroll_obj_ids.split(",");
	var scroll_obj = $E(scroll_obj_id[0]);
	var obj_position;
	var scroll_xy;
	var to_position;

	if(scroll_xy=='x'){
		obj_position = scroll_obj.scrollLeft;
		var temp_step = getAddNumber(obj_position, to_position, moveStep);
		//alert(temp_step);
		
		for(var i=0; i<scroll_obj_id.length; i++){
			scroll_obj = $E(scroll_obj_id[i]);
			scroll_obj.scrollLeft += temp_step;
		}
	}
	else{
		obj_position = scroll_obj.scrollTop;
		var temp_step = getAddNumber(obj_position, to_position, moveStep);
		for(var i=0; i<scroll_obj_id.length; i++){
			scroll_obj = $E(scroll_obj_id[i]);
			scroll_obj.scrollTop += temp_step;
		}
	}
}

//xActionStyle
function xMoveTo(element, start, end, timerId, callback, step){
	var i;
	var j=end.length;
	//var unit="";
	
	
	
	if(_timeContainer[timerId]){
		clearInterval(_timeContainer[timerId]);
	}
	
	for(i in start){
		if(element.style[i]&&element.style[i]==end[i]+"px"){
			j--;
		}else{
			element.style[i]=start[i]+"px";
		}
	}
	if(j!=0){
		_timeContainer[timerId] = setInterval(function(){xMoving();}, _timeContainer.interval);
	}
	
	//不断执行变化的方法
	function xMoving(){
		var m;
		var nextStep;
		var currentPos;
		var isEnd=true;
		step=step||_timeContainer.step;	
	
		for(m in end){
			currentPos=parseInt(element.style[m]);
			nextStep= getAddNumber(currentPos, end[m], step);
			currentPos+= Math.round(nextStep);
			element.style[m]=currentPos+"px";
			
			if(nextStep!=0){
				isEnd=false;
			}
		}
		
		if(isEnd){
			clearInterval(_timeContainer[timerId]);
			if(callback){
				try{
					(callback)();
				}catch(e){}
			}
			
		}
		
	}

}




//xFlash
function xFlash(element, posA, posB, posC, posD, timerId, callback, step, time ){
	posD=posD||posA;

	var i;
	var start=posA;
	var end=posB;
	var count=0;

	
	
	if(_timeContainer[timerId]){
		clearInterval(_timeContainer[timerId]);
	}
	
	for(i in posA){
			element.style[i]=posA[i]+"px";
	}
	
	_timeContainer[timerId] = setInterval(function(){xFlashing();}, _timeContainer.interval);
	
	
	//不断执行变化的方法
	function xFlashing(){
		var m;
		var nextStep;
		var currentPos;
		var isEnd=true;
		step=step||_timeContainer.step;	
	
		for(m in end){
			currentPos=parseInt(element.style[m]);
			nextStep= getAddNumber(currentPos, end[m], step);
			currentPos+= Math.round(nextStep);
			element.style[m]=currentPos+"px";
			
			if(nextStep!=0){
				isEnd=false;
			}
		}
		
		if(isEnd){
			
			if(count>=0&&count<time*2-1){
				if(count%2==0){
					start=posB;
					end=posC;
				}else{
					start=posC;
					end=posB;
				}
			}else if(count==time*2-1){
				start=posB;
				end=posD;
			}else if(count>=time*2){
				clearInterval(_timeContainer[timerId]);
				try{
					(callback)();
				}catch(e){}
			}
			count++;
		}
	}
}




//-->