﻿//简化获取对象方法.
function $(id) {
    return (typeof id == "string" ? document.getElementById(id) : id);
}
function $N(name) {
    return document.getElementsByName(name);
}
function $TN(name, root) {
    return root ? $(root).getElementsByTagName(name) : document.getElementsByTagName(name);
}
function exist(id) {
    return $(id) != null;
}
function $class(className) {
    return document.getElementsByClassName(className);
}
function $NodeClass(node, classname) {
    return getElementsByClassName(node, classname);
}

//判断IE;
function isIE() {
	if(window.ActiveXObject)
		return true;
	else
		return false;
}

//按class名称获取对象数组.--整个文档
document.getElementsByClassName = function(theName){ 
　　　　var j = 0; 
　　　　var array = []; 
　　　　for(var i = 0;(e = document.getElementsByTagName("*")[i]); i++){ 
　　　　　　if(e.className == theName){ 
　　　　　　　　array[j] = e; 
　　　　　　　　j++; 
　　　　　　} 
　　　　} 
　　　　return array; 
}

//按class名称获取对象数组.--局部元素
function getElementsByClassName(node, classname)
{
    var a = [];
    var re = new RegExp('\\b' + classname + '\\b');
    var els = node.getElementsByTagName("*");
    for(var i=0,j=els.length; i<j; i++)
        if(re.test(els[i].className))a.push(els[i]);
    return a;
}

//加入收藏夹.
function addFav(url,siteName){
    if (document.all){
         window.external.addFavorite(url,siteName);
    }
    else if (window.sidebar){
          window.sidebar.addPanel(siteName, url, "");
    }
}

//设为首页.
function setHomepage(url){
	if (document.all){
        document.body.style.behavior='url(#default#homepage)';
       document.body.setHomePage(url);
	}
    else if (window.sidebar){
    	if(window.netscape){
			try{ 
            	netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); 
         	} 
         	catch (e){ 
   				alert( "该操作被浏览器拒绝，如果想启用该功能，请在地址栏内输入 about:config,然后将项 signed.applets.codebase_principal_support 值该为true" ); 
         	}
    	} 
    	var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components. interfaces.nsIPrefBranch);
    	prefs.setCharPref('browser.startup.homepage',url);
	}
}

//flash加载函数.
////'src'type:text;'w','h'type:num.
function flash(src,w,h){
document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase=" http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="'+w+'" height="'+h+'">');
document.write('<param name="movie" value="'+src+'"><param name="quality" value="high"><param name="menu" value="false">');
document.write('<param name="wmode" value="transparent">');
document.write('<embed src="'+src+'" width="'+w+'" height="'+h+'" quality="high" pluginspage=" http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" menu="false" wmode="transparent"></embed>');
document.write(' </object>');
}

//二级菜单显示代码.
function navSonShow(id,topNavSonClass)
{
	var box = $(topNavSonClass);
	var obj = $(id);
	if (box){
		var children = box.childNodes;		
		for(var i = 0; i < children.length; i++){
			if(children[i].nodeType == 1 && children[i] != null ){
				children[i].style.display = "none";
			}
		}
	}
	if (obj){
		obj.style.display = "block";
	}
}

//获取js传递过来的参数.
//传递的格式必须类似:aaa.html?x=M&y=N
//使用方法:在接收页面使用window.location.href.getQueryString("x")获取.
String.prototype.getQueryString = function(name)   
{   
  var reg = new RegExp("(^|&|\\?)" + name + "=([^&]*)(&|$)"),r;   
  if (r=this.match(reg)) return unescape(r[2]);
  return null;   
};

//设置多标签的hot.
function setHot(obj,classID) {
	var classElements = $NodeClass($(obj).parentNode,classID);
	for (var i = 0; i < classElements.length; i++ ) {
		classElements[i].className = '';
	}
	$(obj).className = classID;
}

//X方向(从右往左)滚动代码
function scrollX() {
	var speed=30;
	var box1 = $("marquePic1");
	var box2 = $("marquePic2");
	var dm = $("demo");
	box2.innerHTML = box1.innerHTML;
	function Marquee(){ 
		if(dm.scrollLeft >= box1.scrollWidth){ 
			dm.scrollLeft=0;
		}
		else{
			dm.scrollLeft++;
		}
	}
	var MyMar=setInterval(Marquee,speed);
	dm.onmouseover=function() {clearInterval(MyMar);} 
	dm.onmouseout=function() {MyMar=setInterval(Marquee,speed);} 
}

//设置table的间隔行样式.
function setTabLine(tableId,doubleLineClassName) {
	if (isIE()) {
		var children = $(tableId).childNodes[0].childNodes;
	}
	else {
		var children = $(tableId).childNodes[1].childNodes;
	}
	for(var i = 0; i < children.length; i++ ){
			if(children[i].nodeType == 1 && children[i] != null && children[i].tagName.toLowerCase() == 'tr' ){
				children[i].className = doubleLineClassName;
				if (isIE()) {
					i++;
				}
				else {
					i = i + 2;
				}
			}
		}
}

//设置table的间隔行样式_扩展.
//支持class批量设置同一页面中多个表格的样式.
function setTabLineEx(isClass,tableIdOrClassName,doubleLineClassName) {
	if (isClass) {
		var tableArray = $class(tableIdOrClassName);
		for (var i = 0; i < tableArray.length; i++ ) {
			tableArray[i].id = 'tableArray'+i;
			setTabLine(tableArray[i].id,doubleLineClassName);
		}
	}
}

//设置字体大小.
function ContentSize(boxObject,size)
{
	if(!boxObject){
		return;
	}
	var contentChild = boxObject.childNodes;
	boxObject.style.fontSize = size + 'px';
	//再对该层内包含的直接html子节点设置fontSize属性
	for(var i = 0; i < contentChild.length; i++){
		if(contentChild[i].nodeType == 1){
			contentChild[i].style.fontSize = size + 'px';
		}
	}
}

//滚动新闻展示效果
//转载请注明:http://www.heycoffee.com
// 参数1：ID    		
// 参数2：实例化对象的名称（跟var 前的相同）
// 参数3：间隔时间      
// 参数4：初始化时，默认哪个先显示,第一个为0.
// 调用示例:
// 步骤一:包含jquery.js.
// 步骤二:一个标有id的div中间夹个ul和li.
// 步骤三:var 变量=new scrollNews("#id","变量", 1000 , 3);
function scrollNews(selector,Entry,time,StartIndex)
{
	var _self=this;
	this.Selector=selector;
	this.Entry=Entry;
	this.time = time;
	this.i=StartIndex||0;
	this.Count=$(this.Selector+" ul li").length;
	$(this.Selector+" ul li").hide();//全部隐藏
	$(this.Selector+" ul li").eq(this.i).show();//第i个显示
	$(this.Selector).bind("mouseenter",function(){
	    	if(_self.sI){clearInterval(_self.sI);}
	}).bind("mouseleave",function(){
			_self.showIndex(_self.i++);
	})
	/*生成激活OL项目*/
	for(var j=0;j<this.Count;j++)
		$(this.Selector+" .activeOL").append('<li><a onclick="'+this.Entry+'.showIndex('+j+');" href="#"><img src="images/crystal.gif"></a></li>');
	$(this.Selector+" ol li a").eq(this.i).addClass("active");
	this.sI=setInterval(this.Entry+".showIndex(null)",this.time);
	
	this.GetSelector=function(){return this.Selector;}
	this.showIndex=function(index)
	{
		this.i++;//显示下一个
		if(this.sI){clearInterval(this.sI);}
		this.sI=setInterval(this.Entry+".showIndex()",this.time);
		if (index!=null)
		{
			this.i=index;
		}
		if(this.i==this.Count)
			this.i=0;
		$(this.Selector+" ul li").hide();
		$(this.Selector+" ul li").eq(this.i).slideDown();
		$(this.Selector+" ol li a").removeClass("active");
		$(this.Selector+" ol li a").eq(this.i).addClass("active");
	}
}

//间歇滚动代码
//调用方法:
//rollBox(id,22,50,3000); 
/**rollBox(图层id,一次滚动高度,速度,停留时间);**/
function rollBox(id,lh,speed,delay){ 
var t; 
var p=false; 
var o=$(id); 
o.innerHTML+=o.innerHTML; 
o.onmouseover=function(){p=true} 
o.onmouseout=function(){p=false} 
o.scrollTop = 0; 
function start(){ 
t=setInterval(scrolling,speed); 
if(!p) o.scrollTop += 2; 
} 
function scrolling(){ 
if(o.scrollTop%lh!=0){ 
o.scrollTop += 2; 
if(o.scrollTop>=o.scrollHeight/2) o.scrollTop = 0; 
}else{ 
clearInterval(t); 
setTimeout(start,delay); 
} 
} 
setTimeout(start,delay); 
}
