// JavaScript Document

/*
var getElementsByClassName = function (searchClass, node,tag) {       if(document.getElementsByClassName){           return  document.getElementsByClassName(searchClass)       }else{           node = node || document;           tag = tag || "*";           var classes = searchClass.split(" "),           elements = (tag === "*" && node.all)? node.all : node.getElementsByTagName(tag),           patterns = [],           returnElements = [],           current,           match;           var i = classes.length;           while(--i >= 0){               patterns.push(new RegExp("(^|\\s)" + classes[i] + "(\\s|$)"));           }           var j = elements.length;           while(--j >= 0){               current = elements[j];               match = false;               for(var k=0, kl=patterns.length; k                  match = patterns[k].test(current.className);                   if (!match)  break;               }               if (match)  returnElements.push(current);           }           return returnElements;       }   }
																																																																																																																																																																																																																																																	  
																																																																																																																																																																																																																																																	 function getCookie( name ) {       var start = document.cookie.indexOf( name + "=" );       var len = start + name.length + 1;       if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {           return null;       }       if ( start == -1 ) return null;       var end = document.cookie.indexOf( ';', len );       if ( end == -1 ) end = document.cookie.length;       return unescape( document.cookie.substring( len, end ) );   }   function setCookie( name, value, expires, path, domain, secure ) {       var today = new Date();       today.setTime( today.getTime() );       if ( expires ) {           expires = expires * 1000 * 60 * 60 * 24;       }       var expires_date = new Date( today.getTime() + (expires) );       document.cookie = name+'='+escape( value ) +           ( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) + //expires.toGMTString()           ( ( path ) ? ';path=' + path : '' ) +           ( ( domain ) ? ';domain=' + domain : '' ) +           ( ( secure ) ? ';secure' : '' );   }   function deleteCookie( name, path, domain ) {       if ( getCookie( name ) ) document.cookie = name + '=' +               ( ( path ) ? ';path=' + path : '') +               ( ( domain ) ? ';domain=' + domain : '' ) +               ';expires=Thu, 01-Jan-1970 00:00:01 GMT';   } 
																																																																																																																																																																																																																																																	 
																																																																																																																																																																																																																																																	 function setStyle(el,prop,value){      if(prop == "opacity" && !+"\v1"){        //IE7 bug:filter 滤镜要求 hasLayout=true 方可执行（否则没有效果）        if (!el.currentStyle || !el.currentStyle.hasLayout) el.style.zoom = 1;        prop = "filter";        if(!!window.XDomainRequest){          value ="progid:DXImageTransform.Microsoft.Alpha(style=0,opacity="+value*100+")";        }else{          value ="alpha(opacity="+value*100+")"      }      }      el.style.cssText += ';' + (prop+":"+value);    }    function getStyle(el, style){      if(!+"\v1"){        style = style.replace(/\-(\w)/g, function(all, letter){          return letter.toUpperCase();        });        return el.currentStyle[style];      }else{        return document.defaultView.getComputedStyle(el, null).getPropertyValue(style)      }    } 有关setStyle还可以看我另一篇博文，毕竟现在设置的样式都是内联样式，与html混杂在一起。

function $() {       var elements = [];       for (var i = 0; i < arguments.length; i++) {           var element = arguments[i];           if (typeof element == 'string')               element = document.getElementById(element);           if (arguments.length == 1)               return element;           elements.push(element);       }       return elements;   }

*/
function getPosition(o)
{

    var temp={};
    temp.left=temp.right=temp.top=temp.bottom=0;
    var oWidth=o.offsetWith,oHeight=o.offsetheight;
    while(o!=document.body)
    {
        temp.left+=o.offsetLeft;
        temp.top+=o.offsetTop;
        var border=parseInt(o.offsetParent.currentStyle.borderWidth);
        if(border)
        {
            temp.left+=border;
            temp.top+=border;
        }
        o=o.offsetParent;
    }
    temp.right=temp.left+oWidth;
    temp.bottom=temp.top+temp.oHeight;
    return temp;
}

function isElementHasClass( item , className )
{
	if(!item){
		return false;
	}	
	if(!item.className){
		return false;
	}
	return item.className.match(new RegExp('(\\s|^)'+className+'(\\s|$)'));
}
function replaceElementClass( item , newClass , oldClass )
{
	if( !isElementHasClass( item , oldClass )   ) {
		if(!isElementHasClass( item , newClass ) ) 	item.className +=  " " + newClass;
	}
	else{
		var reg = new RegExp('(\\s|^)'+oldClass+'(\\s|$)');
		item.className=item.className.replace(reg, " " +newClass);
	}
	return  1;
	
}
function addElementClass( item , className ){

    if( !isElementHasClass( item , className )){
		item.className +=  " " + className;
	}
     	
}
function addElementsClass( item , className ){
	if(!(item instanceof Array)){
		item = [item]
	}
	for(var i = 0;i<item.length;i++){
		addElementClass(item[i],className)
	}
     	
}
function setElementClass( item , className ){
	if( item.className === className ) return ;
	item.className = className ;
}
function removeElementClass( item , className )
{

    if (isElementHasClass(item,className)) {
         var reg = new RegExp('(\\s|^)'+className+'(\\s|$)');
		item.className=item.className.replace(reg,' ');
   }
 }
function removeElementsClass( item , className )
{
	if(!(item instanceof Array)){
		item = [item]
	}
	for(var i = 0;i<item.length;i++){
		removeElementClass(item[i],className)
   }
 }
function getElementByClass( element , className , tag ){
    var result = null;
     var list = getElementsByClass( element , className , tag )	;
     if(list.length >0 ) result =  list[0]; 
	  list = null;
	  return result;

}
function getParentElementByClass( node , className ){
	node = node.parentNode;
	while( node &&  !isElementHasClass( node , className ) ) node = node.parentNode;
	return node;
}
function getStyle(o,n){
	if(o.currentStyle){
		return o.currentStyle[n];
	}
	return document.defaultView.getComputedStyle(o,null)[n];
}
function getElementsByClass( node , className , tag ){
 	if( !node) return [];
	if( node.getElementsByClassName){
	    return  node.getElementsByClassName(className);
	}else{
		if(typeof(tag) === "undefined") tag = "*" ;
		var classes = className.split(" ");
		var elements = (tag === "*" && node.all)? node.all : node.getElementsByTagName(tag);
		var patterns = [];
		var returnElements = [];
		var current,match;
		var i = classes.length;
		while(--i >= 0){ 
			patterns.push(new RegExp("(^|\\s)" + classes[i] + "(\\s|$)")); 
		}
		var  len  = elements.length;
		var j=-1;
		while( ++j  < len ){
          current = elements[j];
		  match = false;
			   for(var k=0, kl=patterns.length; k<kl; k++){
				   match = patterns[k].test(current.className);
				 if (!match)  break;
		   }
			   if (match)  returnElements.push(current); 
			}
       
			return returnElements;
	 } 
	
     return [];	 
}

 //lys
//事件管理类
var Event = {
	addEvent: function(obj, evType, fn){
		if (obj.addEventListener) {
			obj.addEventListener(evType, fn, false);
			return true;
		}
		else {
			if (obj.attachEvent) {
				var r = obj.attachEvent("on" + evType, fn);
				EventCache.add(obj, evType, fn);
				return r;
			}
			else {
				return false;
			}
		}
	},
	removeEvent: function(obj, evType, fn){
		if (obj.removeEventListener) {
			obj.removeEventListener(evType, fn, false);
			return true;
		}
		else {
			if (obj.detachEvent) {
				var r = obj.detachEvent("on" + evType, fn);
				return r;
			}
			else {
				return false;
			}
		}
	},
	getEvent: function(e){
		e = window.event || e;
		e.leftButton = false;
		if (e.srcElement == null && e.target != null) {
			e.srcElement = e.target;
			e.leftButton = (e.button == 1);
			e.toElement = e.relatedTarget;
		}
		else {
			if (e.target == null && e.srcElement != null) {
				e.target = e.srcElement;
				e.leftButton = (e.button == 0);
			}
			else {
				if (e.srcElement != null && e.target != null) {
				}
				else {
					return null
				}
			}
		}
		if (document.body && document.documentElement) {
			e.mouseX = e.pageX || (e.clientX + Math.max(document.body.scrollLeft, document.documentElement.scrollLeft));
			e.mouseY = e.pageY || (e.clientY + Math.max(document.body.scrollTop, document.documentElement.scrollTop));
		}
		else {
			e.mouseX = -1;
			e.mouseY = -1;
		}
		return e;
	},
	stopEvent: function(e){
		if (e && e.cancelBubble != null) {
			e.cancelBubble = true;
			e.returnValue = false;
		}
		if (e && e.stopPropagation && e.preventDefault) {
			e.stopPropagation();
			e.preventDefault();
		}
		return false;
	}
};
var EventCache=function(){
	var listEvents = [];
	return {
		listEvents: listEvents,
		add: function(node, sEventName, fHandler, bCapture){
			listEvents[listEvents.length] = arguments;
		},
		flush: function(){
			var i, item;
			for (i = listEvents.length - 1; i >= 0; i = i - 1) {
				item = listEvents[i];
				if (item[0].removeEventListener) {
					item[0].removeEventListener(item[1], item[2], item[3]);
				};
				if (item[1].substring(0, 2) != "on") {
					item[1] = "on" + item[1];
				};
				if (item[0].detachEvent) {
					item[0].detachEvent(item[1], item[2]);
				};
				item[0][item[1]] = null;
			};
		}
	};
}();
Event.addEvent(window,"unload",EventCache.flush);


function getFileNameForUrl(url) {
    return url;
    //return url.substr(url.lastIndexOf('/') + 1, url.length);
	
}
var jUI = {
	imgTween:function(obj,args){
		obj.setAttribute("oldSrc",args[0]);
		Event.addEvent(obj,"mouseover",jUI.imgTweenActive);
		Event.addEvent(obj,"mouseout",jUI.imgTweenActive);
	},
	imgTweenActive:function(e){
		var el = Event.getEvent(e).srcElement;
		var _temSrc = getFileNameForUrl(el.src)

		el.src=el.src.replace(_temSrc,el.getAttribute("oldSrc"));
		el.setAttribute("oldSrc",_temSrc);

		
	},
	overShowPic:function(obj,args){
		obj.setAttribute('targetObjID',args[0]);
		obj.setAttribute('imgUrl',args[1]);
		obj.setAttribute('selected','false');

		Event.addEvent(obj,"mouseover",function(){jUI.showPicActive(obj)});
	},	
	showPic:function(obj,args){
		obj.setAttribute('targetObjID',args[0]);
		obj.setAttribute('imgUrl',args[1]);
		obj.setAttribute('selected','false');

		Event.addEvent(obj,"click",function(){jUI.showPicActive(obj)});
	},
	showPicActive:function(el){

		//var el = Event.getEvent(e).srcElement;
		document.getElementById(el.getAttribute('targetObjID')).src=el.getAttribute('imgUrl');
		var _same = el.parentNode.children;
		for (var i=0;i<_same.length;i++){
			if (_same[i].getAttribute("selected")!='') {
				_same[i].setAttribute("selected",'false');
				removeElementClass(_same[i],'focus');				
			}
		}
		el.setAttribute('selected','true');
		addElementClass(el,'focus');		
	},
	tabChannel:function(obj,args){
		//args[0]:targetObj,args[1]:grounpName 
		obj.setAttribute('targetObjID',args[0]);
		if(!args[1]){
			obj.setAttribute('tweenClassName',"");
		}else{
			obj.setAttribute('tweenClassName',args[1]);
		}
		if(!args[2]){
			obj.setAttribute('tabChannelGroup','tabChannel');
		}else{
			obj.setAttribute('tabChannelGroup',args[2]);
		}
		Event.addEvent(obj,"click",jUI.tabChannelActive);

	},
	tabChannelActive:function(e){
		var _tc;
		var el = Event.getEvent(e).srcElement;
		var grounpName = el.getAttribute('tabChannelGroup');
		while(!grounpName){
		    el=el.parentNode;
		    grounpName = el.getAttribute('tabChannelGroup');
		}
		var _targetObj = document.getElementById(el.getAttribute('targetObjID'));
		var _els = el.parentNode.children;
		for(var i=0;i<_els.length;i++){
			if(_els[i].getAttribute('tabChannelGroup')==grounpName){
				document.getElementById(_els[i].getAttribute('targetObjID')).style.display="none";
				//_els[i].className="";
				//
				if(_els[i].getAttribute('tweenClassName')==""){
					removeElementClass(_els[i],"focus")
				}else{
					_tc = _els[i].getAttribute('tweenClassName');
					_els[i].setAttribute("tweenClassName",_els[i].className);
					_els[i].className = _tc;

				}
			}
		}
		_targetObj.style.display="block";
		if(el.getAttribute('tweenClassName')==""){
			addElementClass(el,"focus");
		}else{
				_tc = el.getAttribute('tweenClassName');
				el.setAttribute("tweenClassName",el.className);
				el.className = _tc;			
		}


	}	
};
jUI.objHash=new Array();
jUI.init = function (){

	var _all = document.getElementsByTagName("*");
	for(var i=0;i<_all.length;i++){
		
		var _u = _all[i].getAttribute("jUI")

		if(_u){
	
			var _uJson = eval("("+_u+")");

			for(var j in _uJson){
				
				var _args = _uJson[j]
				if (j.substr(0,3)=='Jaf') {

					jUI.objHash.push(new jUI[j](_all[i],_args));
				} else {
					jUI[j](_all[i],_args);
				}
				
			}
		}
	}
}





jUI.IE6Alert = function(){
	var browser=navigator.appName 
	var b_version=navigator.appVersion 
	var version=b_version.split(";"); 
	var trim_Version=version[1].replace(/[ ]/g,""); 

	if(!(browser=="Microsoft Internet Explorer" && trim_Version=="MSIE6.0")){ 
		return;
	}
	var ie6Alert = document.createElement("iframe");
	ie6Alert.id="alertIframe";
	ie6Alert.className="siteBrowserAlert";
	
	ie6Alert.marginWidth =0;
	ie6Alert.marginHeight =0;
	ie6Alert.frameBorder =0;
	ie6Alert.frameSpace =0;
	ie6Alert.hspace =0;
	ie6Alert.vspace=0;
	document.body.appendChild(ie6Alert);






	var info="由于您的浏览器为已被抛弃的[ <span style='color:red;font-weight:blod'>IE6.0</span> ]：本站一些页面做采用的技术不能得到完全支持，得不到理想的展示效果，建议更新您的浏览器至IE8或Firefox";
	var css= '<style>body{margin: 0px;padding:0px;font-family:"微软雅黑","宋体";	font-size:12px;	padding:0px;	width:100%;	background-color:red;	border:1px solid #FFFF99;background:#FFFFDD;overflow:hidden}</style>';	

	
	document.frames["alertIframe"].document.write(css+info);
}
jUI.createTemDom = function(){
	if(jUI.temDom == null){
		//document.createDocumentFragment()
		jUI.temDom = document.createElement("div");	
	}
	return jUI.temDom;
};
jUI.JafTextArea = function(obj,cls){


	this.cls = cls;
	this.keyObj = obj;
	this.jafDom = null;

	this.init();
}
jUI.JafTextArea.prototype = {
	htmlCode:'<table class="jafArea" border=0 cellspacing="0" cellpadding="0" ><tr><td class="areaTopLeft" ></td><td class="areaTopMiddle"></td><td class="areaTopRight"></td></tr><tr><td class="areaMiddleLeft"><td class="areaContent"></td><td class="areaMiddleRight"></td></tr><tr><td  class="areaBottomLeft"></td><td class="areaBottomMiddle"></td><td  class="areaBottomRight"></td></tr></table>',
	createJafDom:function(){
		
		var _temDom = jUI.createTemDom();
		_temDom.innerHTML = this.htmlCode;
		var _tab = _temDom.children[0];
	
		_tab.style.display = "none";
		
		this.keyObj.parentNode.insertBefore(_tab,this.keyObj);
		this.jafDom =  _tab;
		addElementClass(_tab,this.cls)
		
		
	},
	init:function (){
	
		var obj = this.keyObj;
		
		if(obj.getAttribute("UIRender")=='true'){
			this.jafDom = obj.parentNode.parentNode.parentNode;
			return this;
		}
		var _width = obj.offsetWidth;		
		this.createJafDom();
			

		var borderWidth = parseInt(getStyle(getElementByClass(this.jafDom,'areaTopLeft'),'width'));
		var borderHeight = parseInt(getStyle(getElementByClass(this.jafDom,'areaTopLeft'),'height'));
		if(isNaN(borderWidth)){borderWidth=0}
		if(isNaN(borderHeight)){borderHeight=0}		

		this.keyObj.style.width = Math.max(parseInt(getStyle(this.keyObj,'width').replace('auto','0')) -2*(borderWidth) ,0)+"px";

		//this.keyObj.style.height = parseInt(getStyle(this.keyObj,'height').replace('auto','0')) -2*(borderHeight)+"px";
		
		this.jafDom.style.display = "block";
		getElementByClass(this.jafDom,'areaContent').appendChild(this.keyObj);
		addElementClass(this.keyObj,'noBorder');
		

		this.keyObj.setAttribute("UIRender",'true');
		return this;
		
	}

}
jUI.documentReady = function(){
	Event.addEvent(window,"load",jUI.init);
	
	Event.addEvent(window,"load",jUI.IE6Alert);
}
jUI.documentReady();
