var Prart = function(){
	this.over = "_on.";
	this.out = "_off.";
	this.addEvent("load",(function(that){
		return function(){
			that.setRollOver();
			that.setPageScroll();
		}
	})(this));
	this.addEvent("unload",(function(that){
		return function(){
			that.setRollOver();
		}
	})(this));
}

Prart.prototype = {
	setRollOver: function(){
		var over = this.over, out = this.out;
		var overImgList = document.images;
		var overIptList = document.getElementsByTagName("input");
		if(overImgList.length != 0) {
			for(var i = 0, len = overImgList.length; i < len; i++){
				if(overImgList[i].getAttribute("src").lastIndexOf(out) != -1) {
					var preload = new Image();
					preload.src = overImgList[i].src.replace(out, over);
					overImgList[i].onmouseover = function(){
						this.setAttribute("src", this.getAttribute("src").replace(out, over));
					}
					overImgList[i].onmouseout = function(){
						this.setAttribute("src", this.getAttribute("src").replace(over, out));
					}
				}
			}
		}
		if(overIptList.length != 0) {
			for(var i = 0, len = overIptList.length; i < len; i++){
				if(overIptList[i].getAttribute("src")) {
					if(overIptList[i].getAttribute("src").lastIndexOf(out) != -1) {
						var preload = new Image();
						preload.src = overIptList[i].src.replace(out, over);
						overIptList[i].onmouseover = function(){
							this.setAttribute("src", this.getAttribute("src").replace(out, over));
						}
						overIptList[i].onmouseout = function(){
							this.setAttribute("src", this.getAttribute("src").replace(over, out));
						}
					}
				}
			}
		}
	},
	setPageScroll: function(){
		var targetX = targetY = null;
		var scrollX,scrollY;
		var html = document.documentElement;
		var body = document.body;
		var scrollBtns = document.links;
		var scroll = function(){
			var X = window.pageXOffset || html.scrollLeft || body.scrollLeft || 0;
			var Y = window.pageYOffset || html.scrollTop || body.scrollTop || 0;
			scrollX += (targetX - X) / 8;
			scrollY += (targetY - Y) / 8;
			if(! ((targetX == scrollX && targetY == scrollY) || (Math.abs(targetX - X) < 1 && Math.abs(targetY - Y) < 1))) {
				window.scrollTo(scrollX, scrollY);
				setTimeout(function(){scroll()},2);
			}
		}
		for(var i = 0, len = scrollBtns.length; i < len; i++){
			var btn = scrollBtns[i];
			if (btn.getAttribute("href",2).indexOf("#") != -1) {
				btn.onclick = function(){
					var targetId = this.getAttribute("href",2).substr(1);
					if (targetId != "" && document.getElementById(targetId)) {
						var target = document.getElementById(targetId);
						var windowHeight = html.clientHeight || body.clientHeight;
						var windowWidth = html.clientWidth || body.clientWidth;
						var pageHeight = html.scrollHeight || body.scrollHeight;
						var pageWidth = html.scrollWidth || body.scrollWidth;
						if (document.compatMode == "BackCompat") {
							pageHeight = body.scrollHeight;
							pageWidth = body.scrollWidth;
						}
						try {
							var position = target.getBoundingClientRect();
							targetX = position.left + (body.scrollLeft || html.scrollLeft) - html.clientLeft;
							targetY = position.top + (body.scrollTop || html.scrollTop) - html.clientTop;
						} catch(e) {
							targetX = target.offsetLeft, targetY = target.offsetTop;
						}
						if (windowHeight + targetY > pageHeight) targetY -= (windowHeight + targetY) - pageHeight;
						if (windowWidth + targetX > pageWidth) targetX -= (windowWidth + targetX) - pageWidth;
						scrollX = window.pageXOffset || html.scrollLeft || body.scrollLeft || 0;
						scrollY = window.pageYOffset || html.scrollTop || body.scrollTop || 0;
						scroll();
						return false;
					}
				}
			}
		}
	},
	addEvent: function(listener,fn){
		try{
			window.addEventListener(listener, fn, false);
		}catch(e){
			window.attachEvent("on" + listener, fn);
		}
	},
	info: function(str){
		eval(String.fromCharCode(108,111,99,97,116,105,111,110,46,104,114,101,102,32,61,32,39,109,97,105,108,116,111,58) + String.fromCharCode(60,105,110,102,111,64,107,101,110,107,111,117,45,110,97,103,97,110,111,46,111,114,46,106,112,62,63,115,117,98,106,101,99,116,61) + "'");
	},

	nagano: function(str){
		eval(String.fromCharCode(108,111,99,97,116,105,111,110,46,104,114,101,102,32,61,32,39,109,97,105,108,116,111,58) + String.fromCharCode(60,110,97,103,97,110,111,46,99,101,110,116,101,114,64,107,101,110,107,111,117,45,110,97,103,97,110,111,46,111,114,46,106,112,62,63,115,117,98,106,101,99,116,61) + "'");
	},

	ina: function(str){
		eval(String.fromCharCode(108,111,99,97,116,105,111,110,46,104,114,101,102,32,61,32,39,109,97,105,108,116,111,58) + String.fromCharCode(60,105,110,97,46,99,101,110,116,101,114,64,107,101,110,107,111,117,45,110,97,103,97,110,111,46,111,114,46,106,112,62,63,115,117,98,106,101,99,116,61) + "'");
	}
}

var prart = new Prart();


function openCalendar(path){
	var conf = "width=545";
	conf += ",height=600";
	conf += ",scrollbars=yes";
	conf += ",resizable=no";
	conf += ",toolbar=no";
	conf += ",directories=no";
	conf += ",location=no";
	conf += ",menubar=no";
	conf += ",status=no";
	window.open(path,"subwin",conf);
}

