//ROTINAS PARA TRANSIÇÃO DE IMAGENS
var transicoes_imagens = new Array(), num_transicoes_imagens = 0;

function trocar_imagem_agora(imagem_atual) {
	transicoes_imagens[imagem_atual].avancar_imagem();
}
function criar_intervalos() {
	for (i = 0; i < num_transicoes_imagens; i++) {
		transicoes_imagens[i].img = document.getElementById(transicoes_imagens[i].nome_img);
  	setTimeout('setInterval("trocar_imagem_agora('+i+')", 3000);', 300 * i);
	}
}
function transicao_imagem(nome_img, qtd_img, larg_num) {
	this.nome_img = nome_img;
	this.quantidade = qtd_img;
	this.largura_numero = larg_num;
	this.img_atual = 1;
	//função que troca imagem
	this.avancar_imagem = function() {
		if (this.img) {
  		strnum_antigo = justificar_numero(this.img_atual, this.largura_numero);
	  	this.img_atual++;
		  if (this.img_atual > this.quantidade) this.img_atual = 1;
  		strnum_novo = justificar_numero(this.img_atual, this.largura_numero);
	  	//substituir o antigo pelo novo
		  novo_nome = this.img.src.replace(new RegExp(strnum_antigo), strnum_novo);
  		this.img.src = novo_nome;
		}
	}
	//this.intervalo = setInterval('trocar_imagem_agora('+num_transicoes_imagens+')', 3000);
}

function nova_transicao(nome_img, qtd_img, larg_num) {
	transicoes_imagens[num_transicoes_imagens] = new transicao_imagem(nome_img, qtd_img, larg_num);
	num_transicoes_imagens++;
}


//rotinas auxiliares
function justificar_numero(jnumero, jtamanho) {
	numerostr = String(jnumero);
	while (numerostr.length < jtamanho) numerostr = '0' + numerostr;
	return numerostr;
}

function getLeft(obj) {
	var res = obj.offsetLeft;
	pai = obj;
	while (pai = pai.offsetParent) {
		res += pai.offsetLeft;
	}
	return res;
}
function getTop(obj) {
	var res = obj.offsetTop;
	pai = obj;
	while (pai = pai.offsetParent) {
		res += pai.offsetTop;
	}
	return res;
}

function escapeHTML(str)
{
	return str;
  var div = document.createElement('div');
  var text = document.createTextNode(str);
  div.appendChild(text);
  return div.innerHTML;
}

function inicia_ajax() {
  var ajax = null;
  try {
    ajax = new XMLHttpRequest();
  } catch(ee) {
    try {
       ajax = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(eee) {
      try {
        ajax = new ActiveXObject("Microsoft.XMLHTTP");
      } catch(eeee) {
        ajax = false;
      }
    }
  }
  return ajax;
}

function addEvent(obj, evType, fn) {
  if (obj.addEventListener){ 
    obj.addEventListener(evType, fn, false); 
    return true; 
  } else if (obj.attachEvent){ 
    var r = obj.attachEvent("on"+evType, fn); 
    return r; 
  } else { 
    return false; 
  } 
}

//variáveis
pasta = 'over/';
imgs = new Array();
//localiza o texto da imagem over ou normal
function get_src(nome, over) {
	inicio_texto = nome.substring(0, nome.indexOf('imagens/') + 8);
	fim_texto = nome.substring(nome.lastIndexOf('/') + 1, nome.length);
	if (over) nome = inicio_texto + pasta + fim_texto;
	else nome = inicio_texto + fim_texto;
	return nome;
}

//altera as imagens normal/over
function mudar_imagem(img, over) {
	img.src = get_src(img.src, over);
}

//carrega as imagens de rollover antecipadamente
function carregar_imagens() {
	for (i = 0; i < document.images.length; i++) {
		img_item = document.images[i]; objmenu = false; alvo = img_item;
		while ((alvo = alvo.offsetParent) && (!objmenu)) if (alvo.id == 'tabela_menu') objmenu = true;
		if (objmenu) {
			//verifica link superior
			ligacao = img_item.parentNode;
			if (ligacao && ligacao.title) {
               img_item.alt = ligacao.title;
			} else {
              continue;
            }
			//carrega imagens
			imgs[i] = new Image();
			imgs[i].src = get_src(img_item.src, true);
			//prepara eventos
			img_item.onmouseover = function(evt) {
				evt = evt?evt:event;
				alvo = evt.target?evt.target:evt.srcElement;
				if (alvo.id) mostrar_menu(alvo.id, true);
				if (typeof(alvo) != 'undefined' && alvo.parentNode.title && typeof(mudar_imagem) != 'undefined' && (alvo.src.indexOf('current') == -1)) mudar_imagem(alvo, true);
				if (alvo.alt) window.status = alvo.alt;
				return true;
			}
			img_item.onmouseout = function(evt) {
				evt = evt?evt:event;
				alvo = evt.target?evt.target:evt.srcElement;
				if (typeof(alvo) != 'undefined' && alvo.parentNode.title && typeof(mudar_imagem) != 'undefined' && (alvo.src.indexOf('current') == -1)) mudar_imagem(alvo, false);
				window.status = '';
				//return true;
			}
		}
	}
}

// ------ ROTINAS PARA MUDAR IMAGEM DA "GALERIA" NA TELA -------
function alterar_galeria(cat, numero) {
	if (img = document.getElementById('imagem_' + cat)) {
		numero = String(numero);
		if (numero.length == 1) numero = '0' + numero;
		img.src = cat + '/' + numero + '.jpg';
	}
}


// ROTINAS PARA EVITAR A SELEÇÃO DE TEXTO
var pode = false;

function habilita_selecao() {
	pode = true;
	selecao_de_texto();
}

function selecao_de_texto() {
	if (!pode) {
		document.body.oncontextmenu = function() { return false;	};
		document.body.ondragstart = function() {	return false;	};
		document.body.onselectstart = function() {	return false;	};
	} else {
		document.body.oncontextmenu = null;
		document.body.ondragstart = null;
		document.body.onselectstart = null;
	}
}

//ROTINA PARA FORÇAR ATUALIZAÇÃO DE IMAGEM
function atualizar_imagem(img) {
	if (img) img.onclick = function() {
		temp = img.src.indexOf('?');
		if (temp > 0) novo_src = img.src.substr(0, temp);
		else novo_src = img.src;
		img.src = novo_src + '?' + Math.ceil(Math.random() * 100000);
	}
}

// ------ ROTINAS PARA FRAMES -------
function frame_root() {
	obj = window;
	cont = 0;
	while (typeof(window.parent) != 'undefined' && cont < 10) {
		obj = window.parent;
		cont++;
	}
	return obj;
}

function atualiza_titulo() {
	if (obj = frame_root()) {
		obj.document.title = document.title;
	}
}
//verifica se existe um frame pai
function verifica_frame() {
	//se a URL do frame pai não é diferente da URL frame atual, então redireciona para a raiz
	if (obj = frame_root()) {
		if (String(document.location) == String(obj.document.location)) {
			pagina = encodeURI(document.location);
			obj.location = '/?frameurl=' + pagina;
		}
	}
}

function dimensiona_iframe() {
	//evento para redimensionar
	dimensionamento = function() {
		//redimensionamento de iframe
		FFVersion = navigator.userAgent.substring(navigator.userAgent.indexOf("Firefox")).split("/")[1];
		FFextraHeight = (parseFloat(FFVersion) >= 0.1) ? 40 : 0;

		//ponteiros para frame, pai e tabela
		var iframe = window.parent.document.getElementById('FConteudo');
		var tpai = window.parent.document.getElementById('TPai');
		var tabela = document.getElementById('TConteudo');		
		//tira o 100% que atrapalha
		var tabela100 = window.parent.document.getElementById('TN100');
		var tabela1002 = window.parent.document.getElementById('TN1002');
		tabela100.style.height = '1px';
		tabela1002.style.height = '1px';

		//realiza alteração de altura
		if (iframe && !window.opera) {
			//iframe.style.display="block"
			if (iframe.contentDocument && iframe.contentDocument.body.offsetHeight) { //ns6 syntax
				iframe.height = iframe.contentDocument.body.offsetHeight + FFextraHeight; 
			} else if (iframe.Document && iframe.Document.body.scrollHeight) {//ie5+ syntax
				iframe.height = iframe.Document.body.scrollHeight;
			}
			//volta o 100%
			volta100 = function() {
				var tabela100 = window.parent.document.getElementById('TN100');
				var tabela1002 = window.parent.document.getElementById('TN1002');
				tabela100.style.height = '100%';
				tabela1002.style.height = '100%';
			}
			setTimeout(volta100, 250);
		}
	}
	
	//inicia evento
	addEvent(window, 'load', dimensionamento);
}


//rotina que inicia o que é necessário para as páginas logo após a tag <body>
function inicio_pagina(frame) {
	if (frame) {
		verifica_frame();
		dimensiona_iframe();
		atualiza_titulo();
	} else {
	}
	selecao_de_texto();
}

//Scripts para os submenus
  
  var menu_atual = -1; //submenu atualmente exibido
  var desl_x = 1, desl_y = -5;	//posicionamento dos submenus
  var submenu_racas = 1; //variáveis auxiliares com 'códigos' ou 'ids' de cada submenu
	
	function verifica_id(id) {
		if (typeof(id) == 'string') {
		  if (id == 'img_racas') id = submenu_racas;
			else id = 0;
		}
		return id;
	}
	
	//pega a referência para o div contendo o submenu
	function pega_menu_atual(id) {
		id = verifica_id(id);
  	switch (id) {
			case submenu_racas: return document.getElementById('sm_racas');
			default: return null;	
		}
	}
	//pega a referência para a imagem que abre o submenu (para pegar a posição)
	function pega_imagem_atual(id) {
		id = verifica_id(id);
	  switch (id) {
		  case submenu_racas: return document.getElementById('img_racas');
			default: return null;
		}	
	}
	//coloca o submenu na posição correta
	function posiciona_submenu(obj, img) {
		//calcula posições
		var offsetTrail = img, offsetLeft = 0, offsetTop = 0;
    while (offsetTrail) {
      offsetLeft += offsetTrail.offsetLeft;
      offsetTop += offsetTrail.offsetTop;
      offsetTrail = offsetTrail.offsetParent;
    }
		if (navigator.userAgent.indexOf("Mac") != -1 && typeof document.body.leftMargin != "undefined") {
      offsetLeft += document.body.leftMargin;
      offsetTop += document.body.topMargin;
    }
		//aplica no objeto
		//centralizado
		obj.style.left = (offsetLeft + desl_x + parseInt(img.offsetWidth / 2) - obj.offsetWidth / 2) + 'px';
		obj.style.top = (offsetTop + parseInt(img.offsetHeight) + desl_y) + 'px';
		//esquerda
		//obj.style.left = (offsetLeft + desl_x) + 'px';
		//obj.style.top = (offsetTop + parseInt(img.offsetHeight) + desl_y) + 'px';
	}
	//recupera os objetos do submenu e posiciona
	function posiciona_submenu_id(id) {
	  obj = pega_menu_atual(id);
	  img = pega_imagem_atual(id);
		if (obj && img) {
		  posiciona_submenu(obj, img);
			return true;
		} else return false;
	}
	//torna todos os menus invisíveis
	function limpa_menus() {
		obj = pega_menu_atual(submenu_racas);
		if (obj) obj.style.visibility = 'hidden';
	}
	//mostra ou oculta o submenu
  function mostrar_menu(id) {
	  limpa_menus();
		if (posiciona_submenu_id(id)) {
		  if (obj = pega_menu_atual(id)) {
  			obj.style.visibility = '';
	  	  menu_atual = id;
			}
		}
	}
	//se o mouse não está sob o menu ou a imagem, então fecha os menus
	function testa_menu(evt) {
	  //pega o elemento com o mouse
  	evt = (evt) ? evt : event;
		target = (evt.target) ? evt.target : evt.srcElement;
		//pega objetos de menu
	  obj = pega_menu_atual(menu_atual);
	  img = pega_imagem_atual(menu_atual);
		//verifica se o mouse está sobre os elementos do menu
	  limpa = true;
		if (obj && img) {
		  i = 0;
		  while (limpa && target && i++ < 50) {
			  if (obj == target || img == target) limpa = false;
			  else target = target.offsetParent;
			}
		}
		//se não estiver, tira os menus
	  if (limpa) {
		  limpa_menus();
			menu_atual = -1;
			//defaultStatus = "Marina Artes!!!";
  	}
	}

	//muda a cor do fundo da opção
	function seleciona_opcao(celula, sel) {
	  if (celula) {
			if ((l = pega_link_celula(celula)) != null) {
				if (sel) {
					l.style.color = '#4D7634';
				} else {
					l.style.color = '';
				}
			}
		  //if (sel) celula.style.backgroundColor = '#CCCCCC';
			//else celula.style.backgroundColor = '';
		  //if (sel) celula.className = 'op_sel';
			//else celula.className = 'op_normal';
		}
	}
	
	//teste se o mouse saiu do menu
	//document.onmousemove = testa_menu;
	
	function pega_link_celula(celula) {
		//localiza o link cujo pai é a célula passada
		vl = document.links;
		link_atual = null;
		total_links = vl.length;
		for (i = 0; i < total_links; i++) {
			if (vl[i].offsetParent == celula) {
				link_atual = vl[i];
				break;
			}
		}
		//retorna o link
		if (link_atual) return link_atual;
		else return null;
	}

	//abre o link do menu espeficidado
	function abrir_pagina(celula) {
		//localiza o link cujo pai é a célula passada
		vl = document.links;
		link_atual = null;
		total_links = vl.length;
		for (i = 0; i < total_links; i++) {
			if (vl[i].offsetParent == celula) {
				link_atual = vl[i];
				break;
			}
		}
		//abre o link
		if (link_atual) location.href = link_atual.href;
		else alert('Não foi possível localizar o link...');
	}

/* ------------------------------------------------------------------------------------------*/
//POPUP NOVO 
/* ------------------------------------------------------------------------------------------*/

var popup_div = null;
var popup_div_carregando = null;
var popup_div_imagem = null;
var popup_div_fundo = null;

function popup_exibicao(estado) {
	if (estado == undefined) estado = 0;
	switch (estado) {
		case 1: //espera
			if (popup_div) popup_div.style.visibility = 'visible';	
			if (popup_div_fundo) popup_div_fundo.style.visibility = 'visible';
			if (popup_div_carregando) popup_div_carregando.style.visibility = 'visible';
			if (popup_div_imagem) popup_div_imagem.style.visibility = 'hidden';
			break;
		case 2: //foto
			if (popup_div) popup_div.style.visibility = 'visible';	
			if (popup_div_fundo) popup_div_fundo.style.visibility = 'visible';
			if (popup_div_imagem) popup_div_imagem.style.visibility = 'visible';
			if (popup_div_carregando) popup_div_carregando.style.visibility = 'hidden';
			break;
		default: //todos ocultos
			if (popup_div_fundo) popup_div_fundo.style.visibility = 'hidden';
			if (popup_div_imagem) popup_div_imagem.style.visibility = 'hidden';
			if (popup_div_carregando) popup_div_carregando.style.visibility = 'hidden';
			if (popup_div) popup_div.style.visibility = 'hidden';	
	}
}

function alinhar_div() {
	var top = 0;
	if (popup_div && popup_div_fundo) {
		if (window.pageYOffset) top = window.pageYOffset;
	    else top = (document.body.scrollTop) ? document.body.scrollTop : (document.body.documentElement ? document.body.documentElement.scrollTop : 0);
		popup_div.style.top = top + 'px';
	}
	return top;
}

function adicionar_popup_novo_pagina() {
	if (!popup_div)	{
		//div principal
		popup_div = document.createElement("div");
		popup_div.style.visibility = 'hidden';	
		popup_div.style.position = "absolute";
		popup_div.style.width = "100%";
		popup_div.style.height = "100%";
		popup_div.style.left = "0px";
		popup_div.style.textAlign = "center";
		
		//document.body.appendChild(popup_div);
		
		//div de fundo
		popup_div_fundo = document.createElement("div");
		popup_div_fundo.style.background = "#228822";
		popup_div_fundo.style.position = "absolute";
		popup_div_fundo.style.width = "100%";
		popup_div_fundo.style.height = "100%";
		popup_div_fundo.style.left = "0px";
		if (popup_div_fundo.style.MozOpacity == undefined) {
			popup_div_fundo.style.filter = "alpha(style=0,opacity=20)"; //internet explorer
		} else {
			popup_div_fundo.style.MozOpacity = 20/100; //mozila/netscape
		}
		popup_div.appendChild(popup_div_fundo);
		
		//div com mensagem de carregamento
		popup_div_carregando = document.createElement("div");
		popup_div_carregando.style.position = "relative";
		if (!window.event) popup_div_carregando.style.width = "200px";
		popup_div_carregando.style.top = "50%";
		popup_div_carregando.style.margin = "auto";
	
		var div_carregando_interno = document.createElement("div");
		div_carregando_interno.style.position = "relative";
		div_carregando_interno.style.background = "#FFFFFF";
		div_carregando_interno.style.border = "solid 2px #000000";
		div_carregando_interno.style.width = "200px";
		//div_carregando_interno.style.height = "100px";
		div_carregando_interno.innerHTML = "<br>Aguarde...<br><br>";
		div_carregando_interno.style.marginTop = "-50px";
		
		popup_div_carregando.appendChild(div_carregando_interno);
		
		popup_div.appendChild(popup_div_carregando);
		
		//div com imagem
		popup_div_imagem = document.createElement("div");
		popup_div_imagem.style.position = "relative";
		popup_div_imagem.style.top = "0px";
		popup_div_imagem.style.margin = "auto";
		popup_div_imagem.style.textAlign = "center";
		popup_div.appendChild(popup_div_imagem);
		
		//arrumar eventos
		addEvent(window, 'scroll', alinhar_div);
		addEvent(document, 'scroll', alinhar_div);
		alinhar_div();
		
		popup_exibicao();
		
		//adiciona na página
		document.body.appendChild(popup_div);
		
		popup_div_fundo.onclick = function() {
			popup_exibicao(0);
		}
	}
}

function filtrarHTML(html) {
	var p1 = html.toUpperCase().indexOf('<BODY>');
	var p2 = html.toUpperCase().indexOf('</BODY>');
	return html.substring(p1 + 6, p2 - 1);
}

function ajusta_posicao_foto() {
	var foto = document.getElementById('img_foto');
	if (foto && foto.src) {
		foto.onclick = function() {
			popup_exibicao(0);
		}
		var botao_fechar = document.getElementById('img_fechar');
		if (botao_fechar) botao_fechar.onclick = function() {
			popup_exibicao(0);
		}
		if (foto.width <30 || foto.height < 30) {
			setTimeout(ajusta_posicao_foto, 250);
		} else {
			var div_foto = document.getElementById('div_foto');
			if (div_foto) {
				popup_div_imagem.style.top = popup_div.offsetHeight / 2 -  div_foto.offsetHeight / 2;
				popup_div_imagem.style.width = foto.width + 50;
				popup_exibicao(2);
			} else {
				setTimeout(ajusta_posicao_foto, 250);
			}
		}
	}
}

function carregar_popup_novo(url) {
	var ajax = inicia_ajax();
	if (ajax) {
		popup_exibicao(1);
		//carrega página com ajax
		ajax.open("GET", url, true);
		ajax.onreadystatechange = function() {
			if (ajax.readyState == 4) {
				if (ajax.status == 200) {
					popup_div_imagem.innerHTML = filtrarHTML(ajax.responseText);
					setTimeout(ajusta_posicao_foto, 250);
				} else {
					alert('Ocorreu um erro ao carregar a imagem!');
					popup_exibicao();
				}
     		}
		}
		ajax.send(null);
	}
}

function abrir_popup_novo(url) {
	if (!popup_div) {
		adicionar_popup_novo_pagina();
	}
	carregar_popup_novo(url);
}

/* ------------------------------------------------------------------------------------------*/

//addEvent(window, 'load', adicionar_popup_novo_pagina);
//addEvent(window, 'load', selecao_de_texto);
//addEvent(document, 'mousemove', testa_menu);
//addEvent(window, 'load', criar_intervalos);
addEvent(window, 'load', carregar_imagens);
window.defaultStatus = "Canil Christal Kramer";
