﻿
    var marquee_spd = 100; 
    function marquee_init(marqueeName)
    {
        var obj_marquee=document.getElementById(marqueeName)
	    var obj_unit = obj_marquee.firstChild;
	    var marquee_high = parseInt(obj_marquee.style.height);
	    var marquee_wide = parseInt(obj_marquee.style.width);
	    var unit_high = obj_unit.offsetHeight;
	    var unit_wide = obj_unit.offsetWidth;
	    var m = 0, n = 0, i = 0;
	    var tmp = null;

    	m = Math.ceil(marquee_wide / unit_wide);
    	n = Math.ceil(marquee_high / unit_high);

	    obj_unit.style.width = marquee_wide * (m + 1);
	    obj_unit.rows[0].cells[0].style.width = obj_marquee.style.width;

	    for(i = 0; i < m; i++) {
		    tmp = obj_unit.rows[0].insertCell(-1);
		    tmp.innerHTML = obj_unit.rows[0].cells[0].innerHTML;
		    tmp.style.width = marquee_wide;
	    	tmp = null;
	    }

	    for(i = 0; i < n; i++) {
		    obj_marquee.appendChild(obj_unit.cloneNode(true));
    	}

	    return;
    }

    function marquee_show(direction,marqueeName)
    {
        var obj_marquee=document.getElementById(marqueeName)
	    switch(direction) {
		    case "up":
			    if(obj_marquee.scrollTop >= obj_marquee.children[1].offsetTop) {
				    obj_marquee.scrollTop -= obj_marquee.firstChild.offsetHeight;
		    	} else {
				obj_marquee.scrollTop++;
			    }
	 		    break;
		    case "down":
			    if(obj_marquee.scrollTop <= 0) {
			    	obj_marquee.scrollTop += obj_marquee.firstChild.offsetHeight;
			    } else {
			    	obj_marquee.scrollTop--;
		    	}
		    	break;
	    	case "left":
		    	if(obj_marquee.scrollLeft >= obj_marquee.firstChild.rows[0].cells[0].offsetWidth) {
			    	obj_marquee.scrollLeft -= obj_marquee.firstChild.rows[0].cells[0].offsetWidth;
		    	} else {
			    	obj_marquee.scrollLeft++;
		    	}
		    	
		    	break;
	    	case "right":
			    if(obj_marquee.scrollLeft <= 0) {
			    	obj_marquee.scrollLeft += obj_marquee.firstChild.rows[0].cells[0].offsetWidth;
		    	} else {
		    		obj_marquee.scrollLeft--;
		    	}
		    	break;
		    default:
		    	break;
	    }
	    return;
    }

    function marquee_doit(marqueeName)
    {
	    var direction = "";
        	direction = obj_marquee.getAttribute("direction");
    	if(direction != null) marquee_show(direction,marqueeName);
        	direction = obj_marquee.getAttribute("direction2");
    	if(direction != null) marquee_show(direction,marqueeName);
    	return;
    }
    
   function marquee_doitParam(marqueeName)
   {
      return function()
      {
         marquee_doit(marqueeName);
      }
   }

  function startMove(marqueeName)
    {
      obj_marquee=document.getElementById(marqueeName)
      marquee_init(marqueeName);
      var repeat = setInterval(marquee_doitParam(marqueeName), marquee_spd);
      obj_marquee.onmouseover = function() { clearInterval(repeat); }
      obj_marquee.onmouseout = function() { repeat = setInterval(marquee_doitParam(marqueeName), marquee_spd);}
  }
