// NESTE ARQUIVO ESTÃO INCLUSOS API.JS, SCROLLBOX.JS E OUTRAS FUNÇÕES PARA O FUNCIONAMENTO
// DA BARRA DE SCROLL PERSONALIZADA.

//////////////////////////////////////////////////////////////////////
// INICIO ARQUIVO SCROLL
/////////////////////////////////////////////////////////////////////

//Be Sure to include the api.js file also.
//Objects
var styContainer;
var styContent;
var stySlider;
var objSlider;
var objUpButton;
var styUpButton;
var objDownButton;
var styDownButton;	

//Container info.
var intGlobalContainerHeight;
	
//Content info.
var	intContentStart;
var intGlobalContentHeight;
	
//slider info.
var	intGlobalSliderTop;
var	intGlobalSliderHeight;
var	blnDrag;
var	intMouseStart;
var	intSliderStart;
	
//arrow info.
var	intUpTop;
var	intUpHeight;
	
var	intGlobalDownTop;
var	intDownHeight;
	
function setScrollBox(strContainerName, intContainerHeight, strContentName, intContentHeight){
	intGlobalContainerHeight = intContainerHeight; 
	intGlobalContentHeight = intContentHeight;
	
	styContainer = eval(doc + strContainerName + sty);
	nest = is.ns4 ? doc + strContainerName + '"].' : ''
	styContent = eval(nest + doc + strContentName + sty);
	if(is.mac){styContent.position = 'absolute';}
	styContent.top = 0;
}
function setSlider(strSlider, intSliderTop, intSliderHeight){
	intGlobalSliderTop = intSliderTop;
	intGlobalSliderHeight = intSliderHeight;
	
	objSlider = eval(doc + strSlider + htm);
	stySlider = eval(doc + strSlider + sty);
	
	if(is.ns4){
		objSlider.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP);
		document.captureEvents(Event.MOUSEMOVE);
	}
	objSlider.onmousedown = startDrag;
	objSlider.onmouseup = endDrag;
	document.onmousemove = dragSlider;
	
}
function setUpButton(strUpButton, intUpTop, intUpHeight){
	intUpTop = intUpTop;
	intUpHeight = intUpHeight;
	
	objUpButton = eval(doc + strUpButton + htm);
	styUpButton	= eval(doc + strUpButton + sty);
	
	if(is.ns4){
		objUpButton.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP);
	}
	
	objUpButton.onmousedown = scrollButtonUp;
	objUpButton.onmouseup = stopScrollText;
}
function setDownButton(strDownButton, intDownTop, intDownHeight){
	intGlobalDownTop = intDownTop;
	intDownHeight = intDownHeight;
	
	objDownButton = eval(doc + strDownButton + htm);
	styDownButton	= eval(doc + strDownButton + sty);
	
	if(is.ns4){
		objDownButton.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP);
	}
	
	objDownButton.onmousedown = scrollButtonDown;
	objDownButton.onmouseup = stopScrollText;
}
function dragSlider(e){
	if(blnDrag){
		var dif = intMouseStart - parseInt(eval(ypos));
		if(intSliderStart - dif < intGlobalSliderTop){
			stySlider.top = intGlobalSliderTop;
			scrollText();
		}else if(intSliderStart - dif > intGlobalDownTop - intGlobalSliderHeight){
			stySlider.top = intGlobalDownTop - intGlobalSliderHeight;
			scrollText();
		}else{
			stySlider.top = intSliderStart - dif;
			scrollText();
		}
		return false;
	}
	return true;
}
function startDrag(e){
	//alert('down')
	intSliderStart = parseInt(stySlider.top);
	intContentStart = parseInt(styContent.top);
	intMouseStart = parseInt(eval(ypos));
	blnDrag = true;

}
function endDrag(e){
	//alert('up')
	blnDrag = false;

}

/*var timerID;
function scrollButtonDown(){
	if(parseInt(stySlider.top) <= intGlobalDownTop - intGlobalSliderHeight){
		stySlider.top = parseInt(stySlider.top) + 2;
		scrollText();
	}
	timerID = setTimeout('scrollButtonDown()', 1);
}
function scrollButtonUp(){
	if(parseInt(stySlider.top) >= intGlobalSliderTop){
		stySlider.top = parseInt(stySlider.top) - 2;
		scrollText();
	}
	timerID = setTimeout('scrollButtonUp()', 1);
}
*/

function stopScrollText(){
	clearTimeout(timerID);

}
function scrollText(){
	styContent.top = -parseInt((parseInt(stySlider.top) - intGlobalSliderTop) * (intGlobalContentHeight/intGlobalContainerHeight));
}
//////////////////////////////////////////////////////////////////////
// FIM SCROLL
/////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////
// Cross browser API
/////////////////////////////////////////////////////////////////////
function Is() {
    agent  = navigator.userAgent.toLowerCase();    this.mac   = (agent.indexOf("mac")         !=  -1);
    this.major = parseInt(navigator.appVersion);
    this.minor = parseFloat(navigator.appVersion);
    this.ns    = ((agent.indexOf('mozilla')   !=   -1) &&
                 ((agent.indexOf('spoofer')   ==   -1) &&
                 (agent.indexOf('compatible') ==   -1)));
    this.ns2   = (this.ns && (this.major      ==    3));
    this.ns3   = (this.ns && (this.major      ==    3));
    this.ns4b  = (this.ns && (this.major      ==    4) &&
                 (this.minor                  <= 4.03));
    this.ns4   = (this.ns && (this.major      ==    4));
    this.ns6    = (this.ns && (this.major     >=    5));
    this.ie    = (agent.indexOf("msie")       !=   -1);
    this.ie3   = (this.ie && (this.major      <     4));
    this.ie4   = (this.ie && (this.major      ==    4) &&
                 (agent.indexOf("msie 5.0")   ==   -1));
    this.ie5   = (this.ie && (this.major      ==    4) &&
                 (agent.indexOf("msie 5.0")   !=   -1));
    this.ie55  = (this.ie && (this.major      ==    4) &&
                 (agent.indexOf("msie 5.5")   !=   -1));
}

var is = new Is();

	if(is.ns6){
		doc = 'document.getElementById("'
	    sty = '").style';
	    htm = '")'
	    xpos = 'e.pageX';
	    ypos = 'e.pageY';
	    xLayer = 'e.layerX';
	    yLayer = 'e.layerY'; 
	    visible = 'visible';
		hidden = 'hidden';
			
	} else if(is.ie){
	    doc = 'document.all["';
	    sty = '"].style';
	    htm = '"]'
	    xpos = 'event.x';
	    ypos = 'event.y';
	    xLayer = 'event.x';
	    yLayer = 'event.y';
	    visible = 'visible';
		hidden = 'hidden';
	} else if(is.ns) {
	    doc = 'document["';
	    sty = '"]';
	    htm = '"].document'
	    xpos = 'e.pageX';
	    ypos = 'e.pageY';
	    xLayer = 'e.layerX';
	    yLayer = 'e.layerY'; 
	    visible = 'show';
		hidden = 'hide'; 
	}
//////////////////////////////////////////////////////////////////////////////
///						End API											  ///
////////////////////////////////////////////////////////////////////////////

