﻿function reportError(msg,url,line) {
	var str = "You have found an error as below: \n\n";
	str += "Err: " + msg + " on line: " + line;
	//alert(str);
	return true;
}

window.onerror = reportError; 



function marquee_init() {
	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) {
	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() {
	var direction = "";
	direction = obj_marquee.getAttribute("direction");
	if(direction != null) marquee_show(direction);
	direction = obj_marquee.getAttribute("direction2");
	if(direction != null) marquee_show(direction);
	return;
}

marquee_init();
repeat = setInterval("marquee_doit()",marquee_spd);

marquee.onmouseover = function() {clearInterval(repeat);}
marquee.onmouseout = function() {repeat=setInterval("marquee_doit()",marquee_spd);}
