function AlteraCorpoTexto(tamanho){
		a=document.getElementById("artigoTexto");
		a.className = "texto"+tamanho;
}

function changeURL(selObj,restore){
	var url = selObj.options[selObj.selectedIndex].value;
	if (url)
	  eval("window.location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

/* onload manager */
var onload_replaced = window.onload ;
var onload_functions_stack = new Array () ;
function onload_manager ( stacked , priority ) {
	var default_priority = 0 ;
	var size = onload_functions_stack.length ;
	if ( priority ) {
		onload_functions_stack[size] = new Array ( stacked , priority ) ;
	}
	else {
		onload_functions_stack[size] = new Array ( stacked , default_priority ) ;
	}
}
function onload_call () {
	onload_functions_stack.sort ( onload_sort ) ;
	for ( var i = 0 ;  i < onload_functions_stack.length ; i++ ) {
		if ( onload_functions_stack[i][0] ) {
			onload_functions_stack[i][0] () ;
		}
	}
}
function onload_sort ( a , b ) {
    if ( a[1] == b[1] ) return 0 ;
    if ( a[1] > b[1] ) return -1 ;
    return 1 ;
}
window.onload = onload_call ;
onload_manager ( onload_replaced ) ;
/* /onload manager */

/* gallery image */
function GallerySearchInPage ( localClass ) {
	if ( document.getElementsByTagName ) {
		var obj = document.getElementsByTagName ( "table" ) ;
		var tables = new Array () ;
		var count = 0 ;
		for ( var i = 0 , limit = obj.length ; i < limit ; i++ ) {
			if ( obj[i].className == localClass ) {
				tables[count++] = obj[i] ;
			}
		}
	}
	if ( tables.length > 0 ) {
		return tables ;
	}
	return false ;
}

function Gallery ( localClass , tables ) {

	// attribute
	this.localClass = localClass || "" ;
	this.tables = tables || null ;
	this.imageBorder = 0 ;
	this.imageWidth ;
	this.imageAmountVisible ;
	this.delay = 30 ;
	this.increment = 15 ;
	this.imagePrevious = "/images/arrow-previous.gif" ;
	this.imageNext = "/images/arrow-next.gif" ;
	this.imagePreviousDisable = "/images/arrow-previous-disable.gif" ;
	this.imageNextDisable = "/images/arrow-next-disable.gif" ;

	var movementStatus = new Array ( tables.length ) ;
	var itemPointer = new Array ( tables.length ) ;
	var amountItem = new Array ( tables.length ) ;
	var list = new Array ( tables.length ) ;
	var timer = new Array ( tables.length ) ;
	var flagSize = new Array ( tables.length ) ;

	// list auxiliary, used to check loaded images
	var listAuxiliary = new Array ( tables.length ) ;

	// method
	this.initialize = initialize ;
	this.addExtraItem = addExtraItem ;
	this.itemPrevious = itemPrevious ;
	this.itemNext = itemNext ;
	this.addNextPrevious = addNextPrevious ;
	this.scrollerNext = scrollerNext ;
	this.scrollerPrevious = scrollerPrevious ;

	function initialize () {

		// add UL
		for ( var i = 0 , limit = tables.length ; i < limit ; i++ ) {
			var currentItem , start , end ;
			var content = "" ;
			var container = tables[i].getElementsByTagName ( "div" ).item ( 0 ).getElementsByTagName ( "div" ).item ( 0 ) ;
			var newUl = "<ul class=\"setImage\"><\/ul>" ;
			amountItem[i] = imageSet[i].length ;
			container.innerHTML = newUl ;
			movementStatus[i] = false ;
			flagSize[i] = 0 ;

			// init aux
			listAuxiliary[i] = new Array () ;

			// check the current item
			for ( var j = 0 , limit_j = amountItem[i] ; j < limit_j ; j++ ) {
				if ( imageSet[i][j][2] == true ) {
					currentItem = j ;
				}
			}

			// initialize variable start and end
			if ( ( currentItem + ( this.imageAmountVisible - 1 ) ) < amountItem[i] ) {
				start = currentItem ;
				itemPointer[i] = start ;
			}
			else {
				start = currentItem - ( ( this.imageAmountVisible - 1 ) - ( amountItem[i] - ( currentItem + 1 ) ) ) ;
				itemPointer[i] = start ;
			}
			end = start ;
			if ( amountItem[i] <= this.imageAmountVisible ) {
				start = 0 ;
			}

			// add LIs
			list[i] = container.getElementsByTagName ( "ul" ).item ( 0 ) ;
			for ( var j = start , limit_j = ( end + this.imageAmountVisible ) ; j < limit_j ; j++ ) {
				if ( imageSet[i][j][2] == true ) {
					var contentClass = " class=\"current\"" ;
				}
				else {
					var contentClass = "" ;
				}
				content += "<li" + contentClass + "><a href=\"" + imageSet[i][j][0] + "\"><img src=\"" + imageSet[i][j][1] + "\" width=\"" + this.imageWidth + "\" height=\"" + this.imageWidth + "\" border=\"0\" alt=\"\" class=\"show\" id=\"" + imageSet[i][j][3] + "\"><\/a><\/li>" ;
				listAuxiliary[i][j] = imageSet[i][j][3] ;
			}
			list[i].innerHTML = content ;

			// add extra LIs
			this.addExtraItem ( start , i ) ;

			// change position
			if ( amountItem[i] > this.imageAmountVisible && currentItem > 0 ) {
				list[i].style.left = "-" + ( this.imageWidth + ( this.imageBorder * 2 ) ) + "px" ;
			}

			// add previous and next
			if ( amountItem[i] > this.imageAmountVisible ) {
				this.addNextPrevious ( tables[i] , itemPointer[i] , i ) ;
			}
		}
	}

	function addExtraItem ( start , table ) {

		// add item in first position
		if ( start != 0 ) {
			var item = document.createElement ( "li" ) ;
			item.innerHTML = "<a href=\"" + imageSet[table][start-1][0] + "\"><img src=\"" + imageSet[table][start-1][1] + "\" width=\"" + this.imageWidth + "\" height=\"" + this.imageWidth + "\" border=\"0\" alt=\"\" class=\"show\" id=\"" + imageSet[table][start-1][3] + "\"><\/a>" ;
			list[table].insertBefore ( item , list[table].getElementsByTagName ( "li" ).item ( 0 ) ) ;
			listAuxiliary[table][start-1] = imageSet[table][start-1][3] ;
		}

		// add item in last position
		if ( ( start + this.imageAmountVisible ) < imageSet[table].length ) {
			var pos = start + this.imageAmountVisible ;
			var item = document.createElement ( "li" ) ;
			item.innerHTML = "<a href=\"" + imageSet[table][pos][0] + "\"><img src=\"" + imageSet[table][pos][1] + "\" width=\"" + this.imageWidth + "\" height=\"" + this.imageWidth + "\" border=\"0\" alt=\"\" class=\"show\" id=\"" + imageSet[table][pos][3] + "\"><\/a>" ;
			list[table].appendChild ( item ) ;
			listAuxiliary[table][pos] = imageSet[table][pos][3] ;
		}
	}

	// control arrows
	function addNextPrevious ( table , currentItem , i ) {
		if ( currentItem != 0 ) {
			table.tBodies[0].rows[0].cells[0].innerHTML = "<a href=\"#\" onClick=\"gallery.itemPrevious ( this , " + i + " ) ; return false ;\" ondblclick=\"return false ;\"><img src=\"" + this.imagePrevious + "\" border=\"0\" alt=\"Anterior\"><\/a>" ;
		}
		else {
			table.tBodies[0].rows[0].cells[0].innerHTML = "" ;
		}
		if ( amountItem[i] > ( currentItem + this.imageAmountVisible ) ) {
			table.tBodies[0].rows[0].cells[2].innerHTML = "<a href=\"#\" onClick=\"gallery.itemNext ( this , " + i + " ) ; return false ;\" ondblclick=\"return false ;\"><img src=\"" + this.imageNext + "\" border=\"0\" alt=\"Próximo\"><\/a>" ;
		}
		else {
			table.tBodies[0].rows[0].cells[2].innerHTML = "" ;
		}
	}

	// control add previous item
	function itemPrevious ( obj , i ) {
		// check movement
		if ( movementStatus[i] ) {
			return ;
		}
		movementStatus[i] = true ;

		// insert before new element
		var newPos = itemPointer[i] - 2 ;
		if ( ( newPos >= 0 ) && ( imageSet[i][newPos][3] != listAuxiliary[i][newPos] ) ) {
			var elementNew = document.createElement ( "li" ) ;
			elementNew.innerHTML = "<a href=\"" + imageSet[i][newPos][0] + "\"><img src=\"" + imageSet[i][newPos][1] + "\" width=\"" + this.imageWidth + "\" height=\"" + this.imageWidth + "\" border=\"0\" alt=\"\" class=\"show\" id=\"" + imageSet[i][newPos][3] + "\"><\/a>" ;
			list[i].insertBefore ( elementNew , list[i].getElementsByTagName ( "li" ).item ( 0 ) ) ;
			list[i].style.left = "-" + ( 2 * ( ( 2 * this.imageBorder ) + this.imageWidth ) ) + "px" ; // back
			listAuxiliary[i][newPos] = imageSet[i][newPos][3] ;
		}

		// change position
		timer[i] = setInterval ( "gallery.scrollerPrevious (" + i + "," + this.increment + "," + this.imageBorder + "," + this.imageWidth + "," + itemPointer[i] + ")" , this.delay ) ;
		itemPointer[i]-- ;
	}

	// control add next item
	function itemNext ( obj , i ) {
		// check movement
		if ( movementStatus[i] ) {
			return ;
		}
		movementStatus[i] = true ;

		// append new element
		var newPos = itemPointer[i] + this.imageAmountVisible + 1 ;
		if ( ( newPos < imageSet[i].length ) && ( imageSet[i][newPos][3] != listAuxiliary[i][newPos] ) ) {
			var elementNew = document.createElement ( "li" ) ;
			elementNew.innerHTML = "<a href=\"" + imageSet[i][newPos][0] + "\"><img src=\"" + imageSet[i][newPos][1] + "\" width=\"" + this.imageWidth + "\" height=\"" + this.imageWidth + "\" border=\"0\" alt=\"\" class=\"show\" id=\"" + imageSet[i][newPos][3] + "\"><\/a>" ;
			list[i].appendChild ( elementNew ) ;
			listAuxiliary[i][newPos] = imageSet[i][newPos][3] ;
		}

		// change position
		timer[i] = setInterval ( "gallery.scrollerNext (" + i + "," + this.increment + "," + this.imageBorder + "," + this.imageWidth + "," + itemPointer[i] + ")" , this.delay ) ;
		itemPointer[i]++ ;
	}

	// change position / next
	function scrollerNext ( i , increment , imageBorder , imageWidth ) {
		var positionLeft = list[i].offsetLeft ;
		if ( ( flagSize[i] + increment ) >= imageWidth ) {
			list[i].style.left = ( positionLeft - ( ( imageBorder * 2 ) + ( imageWidth - flagSize[i] ) ) ) + "px" ;
			flagSize[i] = 0 ;
			movementStatus[i] = false ;
			clearInterval ( timer[i] ) ;
			this.addNextPrevious ( tables[i] , itemPointer[i] , i ) ;
			return ;
		}
		list[i].style.left = ( positionLeft - increment ) + "px" ;
		flagSize[i] += increment ;
	}

	// change position / previous
	function scrollerPrevious ( i , increment , imageBorder , imageWidth ) {
		var positionLeft = list[i].offsetLeft ;
		if ( ( flagSize[i] + increment ) >= imageWidth ) {
			list[i].style.left = ( positionLeft + ( ( imageBorder * 2 ) + ( imageWidth - flagSize[i] ) ) ) + "px" ;
			flagSize[i] = 0 ;
			movementStatus[i] = false ;
			clearInterval ( timer[i] ) ;
			this.addNextPrevious ( tables[i] , itemPointer[i] , i ) ;
			return ;
		}
		list[i].style.left = ( positionLeft + increment ) + "px" ;
		flagSize[i] += increment ;
	}
}
/* / gallery image */

function get_obj ( obj ) {
	if ( document.getElementById ) {
		if ( document.getElementById ( obj ) ) {
			return document.getElementById ( obj ) ;
		}
	}
	return null ;
}

function get_tag_obj ( tag , obj , nameClass ) {
	var localClass = nameClass || null ;
	if ( document.getElementsByTagName ) {
		if ( obj ) {
			var tmp = obj.getElementsByTagName ( tag ) ;
			if ( tmp ) {
				if ( localClass ) {
					for ( var i = 0 , limit = tmp.length ; i < limit ; i++ ) {
						if ( tmp[i].className == localClass ) {
							return tmp[i] ;
						}
					}
				}
				else {
					return tmp ;
				}
			}
		}
		else {
			var tmp = document.getElementsByTagName ( tag ) ;
			if ( tmp ) {
				if ( localClass ) {
					for ( var i = 0 , limit = tmp.length ; i < limit ; i++ ) {
						if ( tmp[i].className == localClass ) {
							return tmp[i] ;
						}
					}
				}
				else {
					return tmp ;
				}
			}
		}
	}
	return null ;
}

/* player */
var ap_instances = new Array () ;
function ap_stopAll ( playerID ) {
	for ( var i = 0 ; i < ap_instances.length ; i++ ) {
		try {
			if ( ap_instances[i] != playerID ) {
				document.getElementById ( "audioplayer" + ap_instances[i].toString () ).SetVariable ( "closePlayer" , 1 ) ;
			}
			else {
				document.getElementById ( "audioplayer" + ap_instances[i].toString () ).SetVariable ( "closePlayer" , 0 ) ;
			}
		}
		catch ( errorObject ) {
			// stop any errors
		}
	}
}
function loadPlayer () {
	var labelContent = "artigoTexto" ;
	var obj = get_obj ( labelContent ) ;
	if ( obj ) {
		var list = get_tag_obj ( "a" , obj ) ;
		if ( list ) {
			var index = 0 ;
			for ( var i = list.length - 1 ; i >= 0 ; i-- ) {
				var url = list.item ( i ).href ;
				if ( url.search ( /[a-z0-9_/:.-]+\.mp3/i ) != -1 ) {
					var newElement = document.createElement ( "div" ) ;
					var html = "" ;
					ap_instances[index] = index ;
					html += "<object type=\"application/x-shockwave-flash\" data=\"/media/player.swf\" id=\"audioplayer" + index + "\" height=\"24\" width=\"290\">" ;
					html += "<param name=\"movie\" value=\"/media/player.swf\">" ;
					html += "<param name=\"FlashVars\" value=\"playerID=" + index + "&amp;loop=no&amp;autostart=no&amp;slider=0x666666&amp;track=0xffffff&amp;border=0x666666&amp;loader=0x9fffb8&amp;soundFile=" + url + "\">" ;
					html += "<param name=\"quality\" value=\"high\">" ;
					html += "<param name=\"menu\" value=\"false\">" ;
					html += "<param name=\"wmode\" value=\"transparent\">" ;
					html += "<\/object>" ;
					newElement.innerHTML = html ;
					obj.replaceChild ( newElement , list.item ( i ) ) ;
					index++ ;
				}
			}
		}
	}
}
onload_manager ( loadPlayer ) ;
/* / player */

/* game */
function load_games () {
	var local_width = "100%" ;
	var local_height = "580" ;
	var local_div_width = "750px" ;
	var local_class_name = "game" ;
	var label_content = "artigoTexto" ;
	var obj = get_obj ( label_content ) ;
	if ( obj ) {
		var list = get_tag_obj ( "a" , obj ) ;
		if ( list ) {
			for ( var i = list.length - 1 ; i >= 0 ; i-- ) {
				var url = list.item ( i ).href ;
				if ( ( url.search ( /[a-z0-9_/:.-]+\.swf/i ) != -1 ) && ( list.item ( i ).className == local_class_name ) ) {
					var html = "" ;
					var newElement = document.createElement ( "div" ) ;
					newElement.style.width = local_div_width ;
					html += "<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0\" width=\"" + local_width + "\" height=\"" + local_height + "\" id=\"local-game\" align=\"middle\">" ;
					html += "<param name=\"allowScriptAccess\" value=\"sameDomain\">" ;
					html += "<param name=\"movie\" value=\"" + url + "\">" ;
					html += "<param name=\"quality\" value=\"high\">" ;
					html += "<param name=\"bgcolor\" value=\"#ffffff\">" ;
					html += "<embed src=\"" + url + "\" quality=\"high\" bgcolor=\"#ffffff\" width=\"" + local_width + "\" height=\"" + local_height + "\" name=\"local-game\" align=\"middle\" allowScriptAccess=\"sameDomain\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\">" ;
					html += "</object>" ;
					newElement.innerHTML = html ;
					obj.replaceChild ( newElement , list.item ( i ) ) ;
				}
			}
		}
	}
}
/* / game */

/* maps */
var CircuitMap = {
	encodedPoints : null ,
	encodedLevels : null ,
	latitude : null ,
	longitude : null ,
	objName : null ,
	_obj : null ,
	_zoom : 14 ,

	loadMap : function () {
		CircuitMap._obj = document.getElementById ( CircuitMap.objName ) ;
		if ( ( ! GBrowserIsCompatible () ) || ( ! CircuitMap._obj ) ) {
			return ;
		}
		var map = new GMap2 ( CircuitMap._obj ) ;

		var encodedPolyline = new GPolyline.fromEncoded ( {
		    color : "#d22f27" ,
		    weight : 5 ,
		    opacity : .7 ,
		    points : CircuitMap.encodedPoints ,
		    levels : CircuitMap.encodedLevels ,
		    zoomFactor : 32 ,
		    numLevels : 4
		} ) ;

		map.setCenter ( new GLatLng ( CircuitMap.latitude , CircuitMap.longitude ) , CircuitMap._zoom ) ;
		map.addControl ( new GSmallMapControl () ) ;
	    map.addControl ( new GMapTypeControl () ) ;
	    map.setMapType ( G_SATELLITE_MAP ) ;
		map.addOverlay ( encodedPolyline ) ;
	}
} ;
/* maps */
