function byId() {return document.getElementById(arguments[0])}
function byTag(elem, tag) {if (!tag) {tag = elem; elem = document}return elem.getElementsByTagName(tag);}
function byClass(classname, type, elem) {
	var r = [];if (!type) type = "*";
	var arr = elem ? byTag(elem, type) : byTag(type);
	var re = new RegExp("(^|\\s)" + classname + "(\\s|$)");
	for (var i=0; i<arr.length; i++) {var m = arr[i];if (re.test(m.className)) {r.push(m);}}
	return r;
}

function ajax( options ) {
	options = {
		type: options.type || "POST",
		url: options.url || "",
		timeout: options.timeout || 5000,
		onComplete: options.onComplete || function(){},
		onError: options.onError || function(){},
		onSuccess: options.onSuccess || function(){},
		data: options.data || ""
	}
	if (typeof XMLHttpRequest == 'undefined') {
		XMLHttpRequest = function() {
			return new ActiveXObject(
				navigator.appVersion.indexOf("MSIE 5.5")>=0 ? "Microsoft.XMLHTTP" : "Msxml2.XMLHTTP"
			)
		}
	}
	var xml = new XMLHttpRequest();
	xml.open(options.type == "POST" ? "POST" : "GET", options.url, true);
	var timeoutLength = options.timeout;
	var requestDone = false;
	setTimeout(function(){
		requestDone = true;
	}, timeoutLength);
	xml.onreadystatechange = function(){
		
		if ( xml.readyState == 4 && !requestDone ) {
			if ( httpSuccess( xml ) ) {
				options.onSuccess( httpData( xml, options.type ) );
			} else {
				options.onError();
			}
			options.onComplete();
			xml = null;
		}
	}

	xml.send(null);
	function httpSuccess(r) {
		try {
			return !r.status && location.protocol == "file:" ||
			( r.status >= 200 && r.status < 300 ) ||
			r.status == 304 ||
			navigator.userAgent.indexOf("Safari") >= 0 && typeof r.status == "undefined";
		} catch(e){}
		return false;
	}

	function httpData(r,type) {
		var ct = r.getResponseHeader("content-type");
		var data = !type && ct && ct.indexOf("xml") >= 0;
		
		data = type == "xml" || data ? r.responseXML : r.responseText;
		
		if ( type == "script" ) eval.call( window, data );
		return data;
	}
}


function checkSearch(){
	if(byId('_keyword').value == '' || byId('_keyword').value == '请输入要搜索的关键字'){
		alert('关键字不能为空！');
		byId('_keyword').focus();
		return false;
	}
}

function ScrollPanel(element, w) {
	var w = w;
	var speed = 0.5;
	var interval
	if ( byTag(element, "LI").length <= 5) {
		return;
	}
	var ul = byTag(element, "UL")[0];
	ul.innerHTML += ul.innerHTML;
	var lis = byTag(element, "LI");
	ul.style.width = (lis.length) * w + "px";

	ul.onmouseover = function() {
		clearInterval(interval)
	}
	ul.onmouseout = function() {
		interval = setInterval(loop,10);
	}

	ul.style.left = "0px";
	ul.style.position = "absolute";
	ul.parentNode.style.position = "relative";
	var p = 0;

	interval = setInterval(loop,10);
	function loop(){
		p -= speed;
		if (p <= -lis.length/2 * w) {

			p = 0;
		}
		ul.style.left = p + "px";
	}
}


function addBookmark(title,url) 
{
	if (window.sidebar) 
	{ 
		window.sidebar.addPanel(title, window.location.href,""); 
	} 
	else if( document.all ) 
	{
		window.external.AddFavorite( window.location.href, title);
	} else if( window.opera && window.print ) 
	{
		return true;
	}
}
function setHomepage(domain)
{
	if (document.all)
	{
		try
		{
			document.body.style.behavior='url(#default#homepage)';
			document.body.setHomePage(domain);
		}
		catch(e)
		{alert(e.description);}
	}
	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',domain);
	}
}
