/*
Author: mg12
Update: 2008/11/13
Author URI: http://www.neoease.com/
changes by Xu.hel
*/
//<a href="#" onclick="goTop();return false;">Go Top</a>
(function(){
function $(id){return document.getElementById(id);}
function setStyleDisplay(id, status){$(id).style.display=status;}
function goTop(acceleration, time){
	acceleration=acceleration || 0.1;
	time=time || 16;
	var dx=0;
	var dy=0;
	var bx=0;
	var by=0;
	var wx=0;
	var wy=0;
	if (document.documentElement){
		dx=document.documentElement.scrollLeft || 0;
		dy=document.documentElement.scrollTop || 0;
	}
	if (document.body){
		bx=document.body.scrollLeft || 0;
		by=document.body.scrollTop || 0;
	}
	var wx=window.scrollX || 0;
	var wy=window.scrollY || 0;
	var x=Math.max(wx, Math.max(bx, dx));
	var y=Math.max(wy, Math.max(by, dy));
	var speed=1 + acceleration;
	window.scrollTo(Math.floor(x / speed), Math.floor(y / speed));
	if(x > 0 || y > 0){
		var invokeFunction="Studio.goTop(" + acceleration + ", " + time + ")"
		window.setTimeout(invokeFunction, time);
	}
}
function switchTab(showPanels, hidePanels, activeTab, activeClass, fadeTab, fadeClass){
	$(activeTab).className=activeClass;
	$(fadeTab).className=fadeClass;
	var panel, panelList;
	panelList=showPanels.split(',');
	for (var i=0; i < panelList.length; i++){
		var panel=panelList[i];
		if ($(panel)){setStyleDisplay(panel, 'block');}
	}
	panelList=hidePanels.split(',');
	for (var i=0; i < panelList.length; i++){
		panel=panelList[i];
		if ($(panel)){setStyleDisplay(panel, 'none');}
	}
}
function loadCommentShortcut(){
	$('comment').onkeydown=function(moz_ev){
		var ev=null;
		if (window.event){ev=window.event;} else {ev=moz_ev;}
		if (ev != null && ev.ctrlKey && ev.keyCode == 13){$('submit').click();}
	}
}
function getElementsByClassName(className, tag, parent){
	parent=parent || document;
	var allTags=(tag == '*' && parent.all) ? parent.all : parent.getElementsByTagName(tag);
	var matchingElements=new Array();
	className=className.replace(/\-/g, '\\-');
	var regex=new RegExp('(^|\\s)' + className + '(\\s|$)');
	var element;
	for (var i=0; i < allTags.length; i++){
		element=allTags[i];
		if (regex.test(element.className)){matchingElements.push(element);}
	}
	return matchingElements;
}
window['JStudio']={};
window['JStudio']['$']=$;
window['JStudio']['setStyleDisplay']=setStyleDisplay;
window['JStudio']['goTop']=goTop;
window['JStudio']['switchTab']=switchTab;
window['JStudio']['loadCommentShortcut']=loadCommentShortcut;
window['JStudio']['getElementsByClassName']=getElementsByClassName;
})();