        function toTop(id){
                document.getElementById(id).scrollTop=0
        }

        step=1
        function scrollDivDown(id){
                document.getElementById(id).scrollTop+=step
                timerDown=setTimeout("scrollDivDown('"+id+"')",1)
        }

        function scrollDivUp(id){
                document.getElementById(id).scrollTop-=step
                timerUp=setTimeout("scrollDivUp('"+id+"')",1)
        }

        function toBottom(id){
                document.getElementById(id).scrollTop=document.getElementById(id).scrollHeight
        }

        function toPoint(id){
                document.getElementById(id).scrollTop=100
        }
	
	function swap (it) {
		var filename = it.src;
		switch (filename.indexOf('o.jpg')) {
			case -1:
				it.src = filename.replace('.jpg', 'o.jpg');
				break;
			default:
				it.src = filename.replace('o.jpg', '.jpg');
				break;
		}
	}
	
	function toggleView(id) {
		display = document.getElementById(id).style.display;
		display = (display == 'none') ? 'block' : 'none';
		document.getElementById(id).style.display = display;
	}
	
	function transfer (nameValues) {
		if (!nameValues) return;

		var form = document.createElement('form');
		form.method = 'post';

		if ( nameValues.postURL ) 
			form.action = nameValues.postURL;

		for (varName in nameValues) {
			var input = document.createElement('input');
			input.type = 'hidden';
			input.name = varName;
			input.value = nameValues[varName];
			form.appendChild(input);
		}
		document.body.appendChild(form);
		form.submit();
	}


	function charLimit(input, limit) {
		var text = input.value;
		if (text.length > limit)
			input.value = text.substring(0, limit);
	}


	function HTTP (options) {
		var url = options.url;	// required
		var after = options.after;
		var error = options.error;
		var data = "action=" + options.action + "&" + options.data;

		var HTTPcallback = function () {
			if (request.readyState == 4){ // if xmlhttp shows "loaded"
				if (request.status == 200){  // if "OK"
					if (after)
						after(request.responseText);
				}
				else if (error)
					error();
			}

		}

		if (window.XMLHttpRequest) {	// Gecko
			var request = new XMLHttpRequest();
			request.onreadystatechange = function () { HTTPcallback() };
			request.open("POST", url, true);
			request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			request.send(data);
		}

		else if (window.ActiveXObject) { // IE
			var request = new ActiveXObject("Microsoft.XMLHTTP");
			if (request) {
				request.onreadystatechange = function() { HTTPcallback() };
				request.open("POST", url, true);
				request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
				request.send(data);
			}
		}
	}
        var DD = {
                timeout: 300,
                closetimer: 0,
                ddmenuitem: 0,

                // close layer when click-out
                init: function () {
                        document.onclick = DD.mclose;
                },

                // open hidden layer
                mopen: function (id) {
                        // cancel close timer
                        this.mcancelclosetime();

                        // close old layer
                        if (this.ddmenuitem)
                                this.ddmenuitem.style.display = 'none';

                        // get new layer and show it
                        this.ddmenuitem = document.getElementById(id);
                        this.ddmenuitem.style.display = 'block';
                },

                // close showed layer
                mclose: function () {
                        if (DD.ddmenuitem)
                                DD.ddmenuitem.style.display = 'none';
                },

                // go close timer
                mclosetime: function () {
                        this.closetimer = window.setTimeout(this.mclose, this.timeout);
                },

                // cancel close timer
                mcancelclosetime: function () {
                        if (this.closetimer) {
                                window.clearTimeout(this.closetimer);
                                this.closetimer = null;
                        }
                }
        }

        DD.init();
