// JavaScript Document

// load animation img
var oLoadingImg = new Image();
oLoadingImg.src = "img/loading.gif";

bLoading=1;


// fast alignment
function alignBefore(){
	if(document.getElementById('site')){
		align('site');
	}else{
		t=setTimeout(alignBefore,100);
	}
}

alignBefore();


// open video
function openVideo(b,v){
	// open or close?
	if(b){
		document.getElementById('video').style.display='block';
		// call video for v
		document.getElementById('video_player').src="video_player.asp?v="+v;
		
	}else{
		document.getElementById('video').style.display='none';
		// stop video
		document.getElementById('video_player').src="";
	}
}


// shouter
function shout(b,t){
	if(t==undefined){
		t='';
	}
	
	document.getElementById('shouter').innerHTML=t;
	
	if(b){
		document.getElementById('shouter').style.visibility = "visible";
	}else{
		document.getElementById('shouter').style.visibility = "hidden";
	}
}


// follow the mouse
function followMouse(o,event){
	//alert(e);
	event = event || window.event;
	
	if (event.pageX == null){
		// IE case
		var d= (document.documentElement && 
		document.documentElement.scrollLeft != null) ?
		document.documentElement : document.body;
		docX= event.clientX + d.scrollLeft;
		docY= event.clientY + d.scrollTop;
	}else{
		// all other browsers
		docX= event.pageX;
		docY= event.pageY;
	}
	
	// posx and posy contain the mouse position relative to the document
	//alert(document.getElementById(o).style.visibility);
	
	document.getElementById(o).style.top = (docY-40)+"px";
	document.getElementById(o).style.left = (docX+0)+"px";
	
}


// loading page
function loadingPage(event){
/*
	//alert(e);
	event = event || window.event;
	
	if (event.pageX == null){
		// IE case
		var d= (document.documentElement && 
		document.documentElement.scrollLeft != null) ?
		document.documentElement : document.body;
		docX= event.clientX + d.scrollLeft;
		docY= event.clientY + d.scrollTop;
	}else{
		// all other browsers
		docX= event.pageX;
		docY= event.pageY;
	}
	
	// posx and posy contain the mouse position relative to the document
	
	document.getElementById("loadingAnimation").style.top = (docY+30)+"px";
	document.getElementById("loadingAnimation").style.left = (docX+20)+"px";
	
	//alert(document.getElementById("loadingAnimation").style.top);
	
	if(bLoading){
		document.getElementById("loadingAnimation").style.visibility = "visible";
	}else{
		document.getElementById("loadingAnimation").style.visibility = "hidden";
	}
*/
}


// Cross-browser implementation of element.addEventListener()
function addListener(element, type, expression, bubbling){
	bubbling = bubbling || false;
 
	if(window.addEventListener)	{ // Standard
		element.addEventListener(type, expression, bubbling);
		return true;
	} else if(window.attachEvent) { // IE
		element.attachEvent('on' + type, expression);
		return true;
	} else return false;
}
//addListener(getElementById('img_set'),'mousemove',followMouse);



// makeLigatures
/*
function makeLigatures(){
	for(div in document.getElementsByTagName('div')){
		var t = new String(document.getElementsByTagName('div')[div].innerHTML);
		
		//alert(t);
		
		// Replace ff
		t = t.replace(/ff/g, "&#188;");
		// Replace fl
		t = t.replace(/fl/g, "&#189;");
		// Replace th
		t = t.replace(/th/g, "&#178;");
		// Replace ee
		t = t.replace(/ee/g, "&#179;");
		// Replace =)
		t = t.replace("=)", "&#181;");
		// Replace =(
		t = t.replace("=(", "&#182;");
	
		// Show result
		div.innerHTML = t;
	}
}
*/


// openVideo (2_lateral)


// showContato
function showContato(b){
	/*
	var IE = document.all?true:false
	if (!IE) document.captureEvents(Event.MOUSEMOVE)
	//document.onmousemove = getMouseXY;
	var tempX = 0
	var tempY = 0
	tempX = event.clientX + document.body.scrollLeft;
	tempY = event.clientY + document.body.scrollTop;
	document.getElementById("contato").style.display='block';
	document.getElementById("contato").style.top=tempY-40;
	document.getElementById("contato").style.left=tempX-250;
	*/
	if(b){
		// open
		document.getElementById("contato").style.visibility="visible";
	}else{
		// close
		document.getElementById("contato").style.visibility="hidden";
	}
}


function pageLoaded(){
	if(document.getElementById("mais")){
		document.getElementById("mais").src="img/mais.png";
	}
	bLoading=0;
	
	// highlight menu
	//alert(p);
	if(p>0&&p<6&&p!=undefined){
		document.getElementById("menu_"+p).className="menu_hl";
	}else if(p>6&&p!=undefined){
		document.getElementById("menu_5").className="menu_hl";
	}
}

// loading animation
function loading(b, o){
//	if(!bLoading){
		if(b){
			document.getElementById(o).src="img/loading.gif";
		}else{
			document.getElementById(o).src="img/mais.png";
			bLoading=0;
		}
//	}
	//alert(document.getElementById(o).src);
}


// function invoked on image load
function imgLoaded(target, img, oLoading, f, id){
	// refresh bool
	bLoading--;
	
	// refresh animation
	loading(0, oLoading);
	
	// display last img in front to fade
	if(document.getElementById(target+"b").style.backgroundImage!=""){
		setAlpha(document.getElementById(target), 100);
		var b_img=document.getElementById(target+"b").style.backgroundImage;
		document.getElementById(target).src=b_img.substring(b_img.indexOf("(")+1,b_img.indexOf(")"));
	}
	
	// display loaded img
	var img_loading=oImage.src;
	//if(img_loading.substr(img_loading.lastIndexOf("/")+1)==img){
		// prevent from loading other delayed imgs
		document.getElementById(target+"b").style.backgroundImage="url('images/"+img+"')";
	//}
	
	// show content
	eval(f);
	
	// fade out last img
	fadeOut(target, 1);
	
}

// load img for fade in/out img
function loadImg(target, img, oLoading, f, id){
	// refresh bool
	bLoading++;
	
	// turn loading animation on
	loading(1, oLoading);
	
	// wipe last pic out
	//document.getElementById(target).src="img/spacer.gif";
	
	// create an image object
	oImage = new Image();
	
	// set onload event, call loaded ftn
	oImage.onload=function (){
		imgLoaded(target, img, oLoading, f, id);
	}

	// preload the image file
	oImage.src='images/'+img;
	
}


// logo mouseover animation
function animateLogo(){
	document.getElementById("logo").src="img/logo_animada.gif";
}


// change over
function changeOver(b,o){
	var f=o.src;
	if(b){
		f=f.replace("0","1");
	}else{
		f=f.replace("1","0");
	}
	//alert(f);
	o.src=f;
}





// show content

var page=0;

function showContent(p,i){
	// loading
	//loading_img(1);
	
	// i undefined
	if(i==undefined){
		i="";
	}
	
	if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
		xmlhttp=new XMLHttpRequest();
	}else{// code for IE6, IE5
		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	xmlhttp.onreadystatechange=function(){
		if (xmlhttp.readyState==4 && xmlhttp.status==200){
			document.getElementById("content").innerHTML=xmlhttp.responseText;
			
			// titulo
			changeTitle(p);
			// loading
			//loading_img(0);
			
			if(p==1){
				eval(document.getElementById("js3").innerHTML);
			}
			
			//align();
		}
	}
	
	xmlhttp.open("GET",p+".asp?i="+i,true);
	xmlhttp.send();
}



/*
function loading_img(b){
	if(b){
		// liga
		document.getElementById('loading_img').src="img/loading4.gif";
	}else{
		document.getElementById('loading_img').src="img/spacer.gif";
	}
}
*/


aLegendas = new Array();
bLegenda=0;

aPhotos = new Array();
iPhoto=0;
function openGallery(b,img){
	if(b){
		// open
		alignGallery();
		document.getElementById('viewer').style.visibility="visible";
		document.getElementById('fader').style.visibility="visible";
		iPhoto=img-1;
	}else{
		// close
		document.getElementById('viewer').style.visibility="hidden";
		document.getElementById('fader').style.visibility="hidden";
		iPhoto=0;
	}
	openPhoto(1);
}

function openPhoto(b){
	if(b){
		if(iPhoto+1==aPhotos.length){
			iPhoto = 0;
		}else{
			iPhoto = iPhoto+1;
		}
		document.getElementById('photo').src="images/"+aPhotos[iPhoto];
	}else{
		if(iPhoto==0){
			iPhoto = aPhotos.length+1;
		}else{
			iPhoto = iPhoto-1;
		}
		document.getElementById('photo').src="images/"+aPhotos[iPhoto];
	}
	
	// ajusta photo
	//adjustPhoto();
	
	// mostra legenda ou não
	if(bLegenda){
		showLegenda(bLegenda);
	}
	
}


function showLegenda(b){
	if(b==2){
		if(bLegenda){
			bLegenda=0;
			b=0;
		}else{
			bLegenda=1;
			b=1;
		}
	}
	
	if(b){
		document.getElementById('legenda').innerHTML = aLegendas[iPhoto];
		bLegenda=1;
	}else{
		document.getElementById('legenda').innerHTML = '';
		bLegenda=0;
	}
}

function adjustPhoto(){
	document.getElementById('photo').style.visibility = 'hidden';
	var img = new Image();
	img.onload = function() {
		if(this.width>this.height){
			document.getElementById('photo').height='100%';
			//document.getElementById('photo').width='';
		}else{
			document.getElementById('photo').width='100%';
			//document.getElementById('photo').height='';
		}
		document.getElementById('photo').style.visibility = 'visible';
	}
	img.src = "images/"+aPhotos[iPhoto];
}


/**
*
*  URL encode / decode
*  http://www.webtoolkit.info/
*
**/
 
var Url = {
 
	// public method for url encoding
	encode : function (string) {
		return escape(this._utf8_encode(string));
	},
 
	// public method for url decoding
	decode : function (string) {
		return this._utf8_decode(unescape(string));
	},
 
	// private method for UTF-8 encoding
	_utf8_encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";
 
		for (var n = 0; n < string.length; n++) {
 
			var c = string.charCodeAt(n);
 
			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}
 
		}
 
		return utftext;
	},
 
	// private method for UTF-8 decoding
	_utf8_decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;
 
		while ( i < utftext.length ) {
 
			c = utftext.charCodeAt(i);
 
			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}
 
		}
 
		return string;
	}
 
}
