function NvScroll() {
this.version = "0.2";
this.name = "NvScroll";
this.divId = "list";
this.item = new Array();
this.itemcount = 0;
this.currentspeed = 0;
this.scrollspeed = 50;
this.pausedelay = 1000;
this.pausemouseover = false;
this.stop = false;
this.height = 100;
this.width = 100;
this.stopHeight=0;
this.i=0;
this.reloadData = 0;
this.scrollTimer;
this.stopTimer ;
this.rollingTimer ;
this.add = function () {
var text = arguments[0];
this.item[this.itemcount] = text;
this.itemcount = this.itemcount + 1;
};
this.clearitem = function () {
clearTimeout(this.scrollTimer) ;
clearTimeout(this.stopTimer) ;
clearTimeout(this.rollingTimer) ;
this.stop = true ;
this.item = new Array();
this.itemcount = 0;
this.i=0;
this.reloadData = 0;
var oList ;
oList = document.getElementById(this.divId) ;
if(oList){
oList.innerHTML = "" ;
}
}
this.start = function () {
if ( this.itemcount == 1 ) {
this.add(this.item[0]);
}
this.display();
this.currentspeed = this.scrollspeed;
this.stop = true;
this.scrollTimer = setTimeout(this.name+'.scroll()',this.currentspeed);
this.stopTimer = window.setTimeout(this.name+".stop = false", this.pausedelay);
};
this.display = function () {
var htmlCode;
htmlCode = '
';
for(var i = 0; i < this.itemcount; i++) {
htmlCode += '
';
htmlCode += this.item[i];
htmlCode += '
';
}
htmlCode += '
';
var oList ;
oList = document.getElementById(this.divId) ;
if(oList){
oList.innerHTML=htmlCode;
}
};
this.scroll = function () {
if ( this.pause == true ) {
this.scrollTimer = window.setTimeout(this.name+".scroll()",this.pausedelay);
this.pause = false;
} else {
this.currentspeed = this.scrollspeed;
if ( !this.stop ) {
for (var i = 0; i < this.itemcount; i++) {
obj = document.getElementById(this.name+'item'+i).style;
obj.top = parseInt(obj.top) - 1;
if ( parseInt(obj.top) <= this.height * (-1) ) obj.top = this.height * (this.itemcount-1);
if ( parseInt(obj.top) == 0 ) {
this.currentspeed = this.pausedelay;
this.i = i;
}
}
}
if( !this.stop && i == this.itemcount && parseInt(obj.top) == 0 && this.reloadData == 1 ) {
this.reloadData = 0;
}
else {
this.scrollTimer = window.setTimeout(this.name+".scroll()",this.currentspeed);
}
}
};
this.rolling = function () {
if ( this.stop == false ) {
this.next();
}
this.rollingTimer = window.setTimeout(this.name+".rolling()",this.scrollspeed);
}
this.onmouseover = function () {
//if( this.i < 5 ) msg('msg_01');
//else msg('msg_02');
if ( this.pausemouseover ) {
this.stop = true;
}
for( var i = 0; i < 10; ++i ) {
var ii = i + 1;
if( ii < 10 ) ii = "r0" + ii;
else ii = "r" + ii;
var itemObj = document.getElementById(ii);
if( itemObj ) {
if( i == this.i ) itemObj.style.fontWeight='bold';
else itemObj.style.fontWeight='normal';
}
}
};
this.onmouseout = function () {
if ( this.pausemouseover ) {
this.stop = false;
}
};
this.next = function() {
for (i = 0; i < this.itemcount; i++) {
obj = document.getElementById(this.name+'item'+i).style;
if ( parseInt(obj.left) < 1 ) {
width = this.width + parseInt(obj.left);
break;
}
}
for (i = 0; i < this.itemcount; i++) {
obj = document.getElementById(this.name+'item'+i).style;
if ( parseInt(obj.left) < 1 ) {
obj.left = this.width * (this.itemcount-1);
} else {
obj.left = parseInt(obj.left) - width;
}
}
}
this.prev = function() {
for (i = 0; i < this.itemcount; i++) {
obj = document.getElementById(this.name+'item'+i).style;
if ( parseInt(obj.left) < 1 ) {
width = parseInt(obj.left) * (-1);
break;
}
}
if ( width == 0 ) {
total_width = this.width * (this.itemcount-1);
for (i = 0; i < this.itemcount; i++) {
obj = document.getElementById(this.name+'item'+i).style;
if ( parseInt(obj.left) + 1 > total_width ) {
obj.left = 0;
} else {
obj.left = parseInt(obj.left) + this.width;
}
}
} else {
for (i = 0; i < this.itemcount; i++) {
obj = document.getElementById(this.name+'item'+i).style;
if ( parseInt(obj.left) < 1 ) {
obj.left = 0;
} else {
obj.left = parseInt(obj.left) + width;
}
}
}
}
this.unext = function () {
this.onmouseover();
this.next();
window.setTimeout(this.name+".onmouseout()",this.pausedelay);
}
this.uprev = function () {
this.onmouseover();
this.prev();
window.setTimeout(this.name+".onmouseout()",this.pausedelay);
}
}