/*
 * Funções gerais
 */
function URLEncode (clearString) {
	var output = '';
	var x = 0;
	clearString = clearString.toString();
	var regex = /(^[a-zA-Z0-9_.]*)/;
	while (x < clearString.length) {
		var match = regex.exec(clearString.substr(x));
		if (match != null && match.length > 1 && match[1] != '') {
			output += match[1];
			x += match[1].length;
		} else {
			if (clearString[x] == ' ') {
				output += '+';
			} else {
				var charCode = clearString.charCodeAt(x);
				var hexVal = charCode.toString(16);
				output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
			}
		  	x++;
		}
	}
	return output;
}

function urldecode(str){
	return decodeURIComponent((str + '').replace(/\+/g, '%20'));
}

function ci_createExternalLinks() {
	if (d.getElementsByTagName) {
		var anchors = d.getElementsByTagName('a');
		for (i = 0; i < anchors.length; i++) {
			anchor = anchors[i]
			if (anchor.getAttribute('href') && anchor.getAttribute('rel') == 'blank') { 
				anchor.target = '_blank';
			}
		}
	}
}

function request_vars(xml,tag,i){
	var tagsel=xml.getElementsByTagName(tag).item(i)
	if(tagsel){
		if(tagsel.firstChild)return tagsel.firstChild.data
	}
}

function request_vars(xml,tag,i){
	var tagsel=xml.getElementsByTagName(tag).item(i)
	if(tagsel){
		if(tagsel.firstChild)return tagsel.firstChild.data
	}
}

function ci_remove(obj,valor){
	for(var i=obj.length-1;i>=valor;i--)obj.remove(i)
	var optGrps=obj.getElementsByTagName('optgroup')
	if(optGrps){
		for(var gr=optGrps.length-1;gr>=0;gr--)obj.removeChild(optGrps[gr])
	}
}

function ci_append(obj,varId,varValor){
	var OptNew=d.createElement('option')
  OptNew.value=varId
	OptNew.text=varValor
  try{obj.add(OptNew,null)} // standards compliant // doesn't work in IE
  catch(e){obj.add(OptNew)} // IE only
}

function ci_append_grupo(obj, grupo) {
	var OptNewGroup = d.createElement('optgroup');
	OptNewGroup.label = grupo;
	obj.appendChild(OptNewGroup);
}

function setHeaderElement(elemento) {
/*
	$('#logo').attr('src', '../../img/' + elemento + '/logo.gif');
	
	$('div#change-element img').each(function(){
		if (this.alt == elemento) {
			this.src = '../../img/' + elemento + '/chg_element_on.png';			
		} else {
			this.src = '../../img/' + this.alt + '/chg_element_off.png';
		}
	});
	*/
	$('body').removeClass('agua ar fogo terra').addClass(elemento);
}

function saveCookieCi(name,value,days) {
	if(days){
		var date=new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires='; expires='+date.toGMTString();
	} else {
		expires='';
	}
	var cookie = name+'='+value+expires+';';
	
	if (location.hostname != 'localhost') {
		cookie += 'domain=ci.com.br;';
	}
	
	cookie += 'path=/';
	
	d.cookie=cookie;	
}

function preChangeStyle (elemento_new) {
	saveCookieCi(site + 'Elemento', elemento_new, 365);
	//changeStyle(elemento_new);
	
	setHeaderElement(elemento_new);
	
	try {
		$('#home-simuladores iframe:visible').contents().find('body').removeClass('agua ar fogo terra').addClass(elemento_new);
	} catch (e) {
		//Se ocorrer o erro não altera o elemento
	}
	
	if (getElm('logo_header_frame')) {
		getElm('logo_header_frame').src = '../../img/new/logo/header_frame/ci_'+elemento_new+'.gif' // logo header_frame
	}
	if (getElm('logo_googlemaps')) { 
		getElm('logo_googlemaps').src='../../img/new/logo/ci_googlemaps_'+elemento_new+'.gif';
	}
	if (getElm('logo_googlemaps_virgula')) { 
		getElm('logo_googlemaps_virgula').src='../../img/new/logo/virgula_'+elemento_new+'.gif';
	}
	
	if (is.ie && is.v < 7) {
		//png_check();
	} else {
		favicon.change('../../favicon_' + elemento_new + '.ico');
	} 
	// Menu
	elemento = elemento_new;
}

/*
 * Box de Fotos
 */
function Ci_boxfotos(container) {
	this.container = container;
	this.time = 4500;
	this.efeitotime = 10;
	this.atual = 0;
	this.proximo = 1;
	this.timeout;
	this.paused = false;
	this.paused_time = 0;
	this.slideThumbs_animation = false;
	this.id = Ci_boxfotos.instances.length;
	this.thumbsArea = 3;
	this.limit_esquerda = 0;
	this.limit_direita = 0;
	Ci_boxfotos.instances[this.id] = this;
	
	this.getTableLeft = function() {
		var left = this.table.css('left');
		left = parseInt(left, 10);
		if (isNaN(left)) {
			left = 0;
		}
		return left;
	};
}

Ci_boxfotos.instances = [];
Ci_boxfotos.prototype.init = function() {
	thumbs = $('table.thumbs td', this.container);
	x = thumbs.eq(0);
	var thumb_vazio = '<img src="/_default/img/px.gif" style="background-color:#efefef" />';
	if (thumbs.length < this.thumbsArea) {
		last = thumbs.eq(thumbs.length - 1);
		for (var i = 0; i < Math.floor((this.thumbsArea - thumbs.length) / 2); i++) {
			x.clone(true).insertBefore(x).addClass('disabled').html(thumb_vazio);
		}
		for (var i = 0; i < Math.ceil((this.thumbsArea - thumbs.length) / 2); i++) {
			last.clone(true).insertAfter(last).addClass('disabled').html(thumb_vazio);
		}
		var slotsDisponiveis = thumbs.length;
	} else {
		var slotsDisponiveis = this.thumbsArea;
	}
	for (var i = 1; i <= Math.floor(slotsDisponiveis / 2); i++) {
		x = thumbs.eq(thumbs.length - i).insertBefore(x);
		this.limit_esquerda = thumbs.length - i;
	}
	this.limit_direita = this.limit_esquerda - 1;
	this.table = $('table.thumbs', this.container);
	this.thumb_width = thumbs.eq(0).width();
	this.thumbs_i = thumbs.length;
	this.timer(0);
}
	
Ci_boxfotos.prototype.action = function(acao) {
	if (acao == this.atual || this.slideThumbs_animation || this.thumbs_i < 2) {
		return;
	}
	clearTimeout(this.timeout);
	
	switch (acao) {
		case 'pause':
			if (this.paused) {
				this.paused = false;
				this.timer(this.paused_time);
			} else {
				this.paused = true;
			}
			return;
		case 'back':
			this.slideThumbs_animation = true;
			this.proximo = this.atual - 1;
			break;
		default:
			this.slideThumbs_animation = true;
			if (isNaN(acao)) {
				this.proximo = this.atual + 1;
			} else {
				this.proximo = acao;
			}
	}
	var images = $('ul.images li', this.container);
	var thumbs = $('ul.thumbs img', this.container);
	
	if (this.proximo >= images.length) {
		this.proximo = 0;
	} else if (this.proximo < 0) {
		this.proximo = images.length - 1;
	}
		
	//alert(this.atual +'-'+ proximo)
	thumbs.eq(this.atual).removeClass('on');
	thumbs.eq(this.proximo).addClass('on');
	images.eq(this.atual).css('z-index', 1);
	images.eq(this.proximo).css('z-index', 0);
	images.eq(this.proximo).show();
	//images.eq(this.atual)[0].boxfotos = this;
	
	this.fadeOutCallback = function() {
		this.anterior = this.atual;
		this.atual = this.proximo;
		if (!this.paused) {
			this.timer(0);
		}
		this.slideThumbs(this.atual, true, 5000);
	};
	
	images.eq(this.atual)[0].obj = this;
	images.eq(this.atual).fadeOut('slow', function() {
		this.obj.fadeOutCallback();
	});
}

Ci_boxfotos.prototype.timer = function(time) {
	if (time <= this.time) {
		this.paused_time = time;
		$('#home-mediabox-counter-ok').width((time / this.time) * 100 + '%');
		this.timeout = setTimeout('Ci_boxfotos.instances['+this.id+'].timer(' + (time + 100) + ')', 100);
	} else {
		this.action();
	}
}

Ci_boxfotos.prototype.slideThumbs = function(dir, slide, time) {
	if (slide) {
		dif_1 = this.atual - this.anterior;
	} else {
		if (!this.slideThumbs_animation) {
			dif_1 = (dir == 'back') ? -1 : 1;
			this.action(this.atual + dif_1);
		}
		return false;
	}
	
	if (dif_1 < 0) {
		dif_1 = this.thumbs_i + dif_1;
	}
	if (dif_1 > this.thumbs_i / 2) {
		dif_1 = dif_1 - this.thumbs_i;
	}
	
	// Necessário quando quantidade é menor
	if (this.thumbs_i < this.thumbsArea) {
		if (this.anterior == this.limit_esquerda && this.atual == this.limit_direita && this.atual > 0) {
			dif_1 += this.thumbs_i;
		} else if (this.anterior == this.limit_direita && this.atual == this.limit_esquerda) {
			dif_1 -= this.thumbs_i;
		}
	}	
	
	this.animationCallback = function() {
		this.slideThumbs_animation = false;
		for (var i = 0; i < this.clonecells.length; i++) {
			if (dif_1 < 0) {
				thumbs.eq(thumbs.length - (i + 1)).remove();
			} else {
				thumbs.eq(i).remove();
			}
		}
		this.table.css('left', 0)
	}
	
	thumbs = $('table.thumbs td');
	this.clonecells = new Array();
	
	var new_left;
	
	if (dif_1 < 0) {
		for (var i = 0; i < (dif_1 * -1); i++) {
			this.clonecells[i] = thumbs.eq(thumbs.length-(1 + i)).clone(true).insertBefore(thumbs.eq(0));
			thumbs = $('table.thumbs td');
			this.table.css('left', this.getTableLeft() - this.thumb_width)
		}
		new_left = 0
	} else {
		for (var i = 0; i < dif_1; i++) {
			this.clonecells[i] = thumbs.eq(i).clone(true).insertAfter(thumbs.eq(thumbs.length-1));
			thumbs = $('table.thumbs td');
		}
		new_left = (this.getTableLeft() + (this.thumb_width * -1)) * dif_1;
	}
	
	this.table[0].obj = this;
	
	$('table.thumbs', this.container).animate(
		{left: new_left + 'px'},
		function() {
			this.obj.animationCallback()
		}
	);
}

/*
 * Viajante CI
 */
function ci_viajanteci_moreFotos() {
	if ($('#fotos-container .foto').length < 18) {
		$('#foto_model').clone().removeAttr('id').show().appendTo('#fotos-container');
	} else {
		alert('Quantidade máxima de fotos atingida.');
	}
}

function ci_viajanteci_carregarPaises(objetoProduto, containerPais, paisSelecionado) {
	if (!objetoProduto.val() && $('#sel_pais_hidden_options').html()) {
		containerPais.html($('#sel_pais_hidden_options').html());
		$('#sel_cidade_hidden_options').find('option').appendTo('#sel_cidade');
		$('#sel_cidade').find('option:first').attr('selected', true);
		return;
	}
	
	$.ajax({
		url: '../../site/_ajax/viajanteci_carregarpaises.php',
		data: 'idTipoProduto=' + objetoProduto.val(),
		dataType: 'text',
		success: function(html) {
			if (!$('#sel_pais_hidden_options').html()) {
				$('#sel_pais_hidden_options').html(containerPais.html());
			}
			containerPais.html(html);
			
			if (paisSelecionado) {
				containerPais.find('option[value="' + paisSelecionado + '"]').attr('selected', 'true');
				ci_viajanteci_filtraPais(paisSelecionado, '#sel_cidade');
			} else {			
				var paises = new Array();
				var options = containerPais.find('option');
				if (options.length) {
					options.each(function(){
						if ($(this).val()) {
							paises.push($(this).val());
						}
					})
					
					if (paises.length) {
						ci_viajanteci_filtraPais(paises, '#sel_cidade');
					}
				}
			}
		}
	});
}

function ci_viajanteci_filtraPais(id_pais, sel_cidades) {
	var cur_val = $(sel_cidades).val();
	
	if (typeof(id_pais) == 'object') {
		var paises = new Array();
		var selector = '';
		for (key in id_pais) {
			if (selector != '') {
				selector+= ',';
			}
			selector += 'option.pais' + id_pais[key];
		}
		$(sel_cidades).find('option:gt(1)').appendTo(sel_cidades + '_hidden_options');
		$(sel_cidades + '_hidden_options').find(selector).appendTo(sel_cidades);
	} else if (id_pais) {
		$(sel_cidades).find('option:gt(1)').appendTo(sel_cidades + '_hidden_options');
		$(sel_cidades + '_hidden_options').find('option.pais' + id_pais).appendTo(sel_cidades);
	} else {
		$(sel_cidades + '_hidden_options').find('option').appendTo(sel_cidades);
	}
	if (cur_val) {
		$(sel_cidades).val(cur_val);
	} else {
		$(sel_cidades).find('option:first').attr('selected', true);
	}
}

/**
 * Usado no inserir depoimentos
 * 
 * @param object obj
 * @param int max
 */
function ci_checkLength(obj, max) {
	var texto = $(obj).val();
	if (texto.length > max) {
		texto = texto.substr(0, max);
		$(obj).val(texto);
	}
	$('#charCounter').text(max - texto.length);
}

function ci_viajanteci_filtro(url) {
	if ($('#sel_produto').val()) {
		url += '/produto.' + $('#sel_produto').val() + '.' + $('#sel_produto option:selected').attr('title') ;
	}
	if ($('#sel_pais').val()) {
		url += '/pais.' + $('#sel_pais').val() + '.' + $('#sel_pais option:selected').attr('title');
	}
	if ($('#sel_cidade').val()) {
		url += '/cidade.' + $('#sel_cidade').val() + '.' + $('#sel_cidade option:selected').attr('title');
	}
	location.href = url;
}

/*
 * Comentários
 */

function comentarioPaginationClick(id, id_tipo, commentsPerPage) {
	var links = $('#comentarios-pagination .pagination li a');
	links.click(function(){
		var url = $(this).attr('href');
		var matches = url.match(/([^?]*)(.*)/);
		var p_page = matches[2].replace('?p_page=', '');
		
		if (p_page) {
			ci_comments_getNewContent(id, id_tipo, p_page, commentsPerPage);
		}
		
				
		return false;
	});
}
	
function ci_saveComment(nome, email, texto, captcha, id, id_tipo) {
	$.ajax({
		url: '../../site/_ajax/salvarcomentarios.php',
		data: 'nome='+nome.val()+'&email='+email.val()+'&texto='+texto.val()+'&captcha='+captcha.val()+'&id='+id+'&id_tipo='+id_tipo,
		dataType: 'json',
		type: 'POST',
		success: function(comentarioSalvo) {
			if (comentarioSalvo) {
				if (comentarioSalvo != 'validation_error') {
					if (site == 'ciintranet') {
						ci_comments_getNewContent(id, id_tipo, 1, 8);
						$('.aviso').html('<p>Seu comentário foi enviado com sucesso!</p>');
					} else {
						$('.aviso').html('<p>Seu comentário foi enviado com sucesso!</p><p>Ele será encaminhado para um de nossos moderadores e em breve estará disponível.</p>');
					}
					$('#form-comentario').hide();
				} else {
					$('.aviso').html('<p>Código de validação incorreto, por favor tente novamente.</p>');
					var captcha = $('input#captcha');
					$('#form-comentario-ok').removeAttr('disabled');
					captcha.val('');
					captcha.focus();
				}
			} else {
				$('.aviso').html('<p>Não foi possível enviar o seu comentário, por favor tente mais tarde.</p>');
				$('#form-comentario').fadeIn();
				$('#form-comentario-ok').removeAttr('disabled');
			}
			$('.aviso').fadeIn();
		},
		error: function(e) {
			$('.aviso').fadeIn();
			$('.aviso').html('<p>Não foi possível enviar o seu comentário, por favor tente mais tarde.</p>');
			$('#form-comentario-ok').removeAttr('disabled');
		}
	});
}

function ci_comments_getNewContent(id, id_tipo, page, numberOfComments) {
	$.ajax({
		url: '../../site/_ajax/comentarios_retornaconteudo.php?p_page='+page,
		data: 'id=' + id + '&id_tipo=' + id_tipo + '&numberOfComments='+numberOfComments,
		dataType: 'text',
		type: 'POST',
		success: function(texto) {
			$('#comentarios-pagination').html(texto);
			comentarioPaginationClick(id, id_tipo, numberOfComments);
		}
	});
}

/*
 * FAQ
 */
function ci_faq_abrir(id, title, secao) {
	$('#faq-lightbox-content-' + id).clone().dialog({
		modal: true,
		zIndex: 10001,
		width: 660,
		dialogClass: 'faq-popup',
		title: title ? title : 'FAQ > ' + $('h1:first').text()
	});
}

/*
 * Lojas
 */
function ci_lojasCi_carregarCidades (estado, cidade, loja, mapa) {
	var estado = $(estado);
	var cidade = $(cidade);
	var loja = $(loja);
	
	loja.parent().hide();
	loja.empty();	
	
	cidade.empty();
	cidade.append('<option>Carregando...</option>');
	cidade.attr('disabled', 'true');
	$.ajax({
		url: "../_ajax/lojasci_carregarcidades.php?id=" + estado.val(),
		dataType: 'text',
		success: function(retorno) {
			cidade.empty();
			cidade.removeAttr('disabled'); // Fix para botão ok não ficar sobre o select
			if (retorno) {
				cidade.append('<option value="">Escolha a cidade</option>');
				cidade.append('<option value="">--------------------</option>');
				cidade.append(retorno);
				
				if (mapa) {
					var object = {
						id: estado.val(),
						sigla: estado.find('option:selected').attr('sigla'),
						nome: estado.find('option:selected').text()
					}; 
					
					goUrlEstado(object);
					
					if (cidade.val()) {
						mapa.toggleMarkers(Ci_GoogleMaps.ESTADOS, false);
						mapa.toggleMarkers(Ci_GoogleMaps.NOSSAS_LOJAS, false);
						mapa.toggleMarkers(Ci_GoogleMaps.CIDADES, true);
						mapa.fitBounds(cidade.val() + ', ' + estado.find('option:selected').attr('sigla'));
					}
				}
			} else {
				cidade.attr('disabled', 'true');
				cidade.append('<option value="">Cidades não encontradas</option>');
			}
		}
	});
}

function ci_lojasCi_carregarLojas (cidade, loja, id_loja, mapa) {
	var cidade = $(cidade);
	var loja = $(loja);
	loja.empty();
	
	$.ajax({
		url: "../_ajax/lojasci_carregarlojas.php?nomeCidade=" + URLEncode(cidade.val()),
		dataType: 'text',
		success: function(retorno) {
			loja.empty();
			loja.removeAttr('disabled'); // Fix para botão ok não ficar sobre o select
			if (retorno) {
				loja.append('<option value="">Escolha a unidade</option>');
				loja.append('<option value="">--------------------</option>');
				loja.append(retorno);
				loja.parent().show();
				if (mapa) {
					goUrlCidade(cidade.val(), cidade.find('option:selected').attr('estado'));
				}
			} else {
				loja.parent().hide();
				if (mapa && cidade.val()) {
					mapa.toggleMarkers(Ci_GoogleMaps.ESTADOS, false);					
					mapa.toggleMarkers(Ci_GoogleMaps.CIDADES, false);
					mapa.toggleMarkers(Ci_GoogleMaps.NOSSAS_LOJAS, true);
					mapa.fitBounds(cidade.val() + ', ' + cidade.find('option:selected').attr('estado'));
				}
			}
			if (id_loja) {
				loja.find('option.' + id_loja).attr('selected', true);
			}
		}
	});
}

function ci_lojasCi_lojaRefreshMapa(lojas, mapa) {
	var loja = lojas.find('option:selected');
	if (loja.attr('localizacao') && mapa) {
		mapa.fitBounds(loja.attr('localizacao'), true);
	}
}

function ci_lojasCi_goUrl(estado, cidade, loja) {
	var url;
	
	var optCidade = $(cidade).find('option:selected');
	var optLoja = $(loja).find('option:selected');
	var optEstado = $(estado).find('option:selected');
	
	url = optLoja.attr('url');
	if (!url) {
		url = optCidade.attr('url');
	}
	if (!url) {
		url = optEstado.attr('url');
	}
	if (!url) {
		alert('Por favor, selecione ao menos uma das opções.');
		return false;
	}
	saveCookie(site + 'nossasLojas', optEstado.attr('class') + ',' + optCidade.attr('class') + ',' + optLoja.attr('class'), 365);
	location.href = url;
}

function ci_lojas_eventos(loja_id) {
	$('#eventos_' + loja_id).slideToggle('normal');
}

/* removido Google maps v3
function ci_loja_googlemaps(loja_id, localizacao) {
	ll = localizacao.split(',');
	$('#googleMapsPosDiv').appendTo('#googleMapsPosDiv_' + loja_id);
	ci_mapa(23, loja_id, ll[0], ll[1], 15);
	ci_ancora_scroll('googleMapsPosDiv_' + loja_id, -200);
}
*/
/*
 * Social
 */
var tamanhoTexto = 13; // 11px

function socialClick (clickedObj, divToShow) {
	if ($(clickedObj).hasClass('on')) {
		$(clickedObj).removeClass('on');
		$('#social_bar_content').slideUp();
		$('#social_label').text('');
	} else {
		$('#social_bar_content').show().find('> div:not(#social_close)').hide();
		$('#social_bar > div.on').removeClass('on');
		$(clickedObj).addClass('on');
		$(divToShow).slideDown();
	}	
}

$(document).ready(function() {
	// Formata a tabela sendfriend
	$('div#sendfriend th:eq(2)').css({'height' : '40px'});
	$('div#sendfriend th:eq(2)').append('<br /><span>(separados por vírgula)</span>');
	$('div#sendfriend td:eq(4)').css({'padding-top' : '5px'});
	$('input#sendfriend_send').addClass('button_ci');
	
	$('#social_bar .social_item').mouseover(function(){
		$('#social_label').text($(this).find('img').attr('title'));
	}).mouseout(function(){
		var titleatual = $('#social_bar > div.on').find('img').attr('title');
		$('#social_label').text(titleatual ? titleatual : '');
	});

	// Eventos click
	$('#reduzir_texto').click(function(){
		if (tamanhoTexto > 9) {
			tamanhoTexto = tamanhoTexto - 2;
			$('.text, .text a, .text p', '#content').css('font-size', tamanhoTexto + 'px');
		}
	});
	
	$('#aumentar_texto').click(function(){
		if (tamanhoTexto < 19) {
			tamanhoTexto = tamanhoTexto + 2;
			$('.text, .text a, .text p', '#content').css('font-size', tamanhoTexto + 'px');
		}
	});
	
	$('div#gerar_link').click(function(){
		socialClick(this, '#embedded-gerar-link');
	});
	
	$('div#gerar_link_curto').click(function(){
		socialClick(this, '#embedded-link-curto');
	});
	
	$('div#versao_guardar').click(function(){
		var query = ($(this).attr('query') ? $(this).attr('query') + '&' : '?') + 'guardar=true';
		openPopup(location.pathname + query, 'voceprecisasaber', 700, 530, 'scrollbars=1,status=1');
	});
	
	$('div#versao_impressao').click(function(){
		var query = ($(this).attr('query') ? $(this).attr('query') + '&' : '?') + 'print=true';
		var contentClass = $('#content').attr('class');
		height = 700;
		if (contentClass.indexOf('layout_3') >= 0 || contentClass.indexOf('layout_1') >= 0) {
			width = 1024;
		} else {
			width = 800;
		}
		openPopup(location.pathname + query, 'voceprecisasaber', width, height, 'scrollbars=1,status=1');
	});
	
	$('div#enviar_amigo').click(function(){
		socialClick(this, '#sendfriend');
	});
	
	$('div#compartilhar').click(function () {
		socialClick(this, '#bookmark');
	});
	
	// /Eventos click
	// Submit do sendfriend
	$('input#sendfriend_send').click(function(){
		if (DFcheckForm(document.getElementById('interadminForm'), true, true)) {
			$('input#sendfriend_send').attr({disabled: 'disabled', value: 'Aguarde ...'});
			
			$.ajax({
				contentType: 'application/x-www-form-urlencoded; charset=iso-8859-1',
				type: "post",
				url: "../misc/social_sendfriend.php",
				data: {
					quantidade: 1,
					url: $('form#interadminForm [name="url"]').val(),
					title: $('form#interadminForm [name="title"]').val(),
					template: $('form#interadminForm [name="template"]').val(),
					
					// FIXME Precisa postar os campos automaticamente
					
					"varchar_1[0]": $('form#interadminForm [name="varchar_1[]"]').val(),
					"varchar_1_xtra[0]": $('form#interadminForm [name="varchar_1_xtra[]"]').val(),
					"varchar_3[0]": $('form#interadminForm [name="varchar_3[]"]').val(),
					"varchar_3_xtra[0]": $('form#interadminForm [name="varchar_3_xtra[]"]').val(),
					"varchar_2[0]": $('form#interadminForm [name="varchar_2[]"]').val(),
					"varchar_2_xtra[0]": $('form#interadminForm [name="varchar_2_xtra[]"]').val(),
					"text_1[0]": $('form#interadminForm [name="text_1[]"]').val(),
					"text_1_xtra[0]": $('form#interadminForm [name="text_1_xtra[]"]').val(),
					
					// URL
					"varchar_key[0]": $('form#interadminForm [name="url"]').val(),
					"varchar_key_xtra[0]": '0'
				},
				success: function(response) {
					$('div#sendfriend_response div.response').html(response);
					$('div#sendfriend_form').hide();
					$('div#sendfriend_response').show();
				}
			});
		}
	});
	// Restaurar form do sendfriend
	$('input#sendfriend_new').click(function () {
		$('input#sendfriend_send').attr({value: 'Enviar'});
		$('input#sendfriend_send').removeAttr('disabled');
		
		// Reseta os valores dos campos
		$('form#interadminForm [name="varchar_1[]"]').val('');
		$('form#interadminForm [name="varchar_3[]"]').val('');
		$('form#interadminForm [name="varchar_2[]"]').val('');
		$('form#interadminForm [name="text_1[]"]').val('');
		
		$('div#sendfriend_response').hide();
		$('div#sendfriend_form').show();
	});
	// Botão fechar
	$('div#social_close').click(function () {
		$('#social_bar > div.on').click();
	});
});

/*
 * Google Site Search
 */
function buildSearchBoxValue(searchBox, searchCombo) {
	searchBoxValue = searchBox.val();
	searchBox.val(searchBoxValue + ' ' + searchCombo.val());
}

$(document).ready(function() {
	$('form#cse-search-box-header input#q').keypress(function(e){
		if (e.which == 13) {
			$('form#cse-search-box-header input[name="sa"]').click();
			return false;
		}
	});
});

function esconderTipoDeTelefone(object) {
	var dropdown = $('select.tipo_de_telefone[name!="' + object.attr('name') + '"]');
	var option = dropdown.find('option[value="' + object.val() + '"]');
	dropdown.find('option').removeAttr('disabled');
			
	if (option.val()) {
		option.attr('disabled', true);
	}
	
	// FIX para IE6
	if ($.browser.msie && parseFloat($.browser.version) < 7) {		
		var objectOptionSelected = object.find('option:selected');
		var dropdownOptionSelected = dropdown.find('option:selected');
		
		if (objectOptionSelected.val() && (dropdownOptionSelected.val() == objectOptionSelected.val())) {
			alert("Tipo de Telefone já selecionado.");
			object.find("option:first").attr("selected", "selected");
		}
		
	}	
}

/**
 * Verifica se o nome foi preenchido com sobrenome.
 * 
 * @param string id
 * @return bool
 */
function ci_checkNomeCompleto(id) {
	var object = $('#' + id);
	object.removeClass('DF-alert');
	if (object.val().trim().split(' ').length < 2) {
		object.addClass('DF-alert').focus();
		alert('Favor preencher o campo nome completo (nome e sobrenome).');
		return false;
	}
	return true;
}
/**
 * Verifica se a data de nascimento é válida.
 * 
 * @param string id_dia
 * @param string id_mes
 * @param string id_ano
 * @return bool
 */
function ci_checkDataNascimento(id_dia, id_mes, id_ano) {
	var error_msg = '';
	var dia = $('#' + id_dia);
	var mes = $('#' + id_mes);
	var ano = $('#' + id_ano);
	
	if (ano.val()) {
		var inicioDosTempos = new Date(1902,1,1);
		var today = new Date();
		var data_nascimento = new Date(ano.val(), mes.val(), dia.val());
		
		if (data_nascimento.toString() == "Invalid Date" || data_nascimento.toString() == "NaN" || typeof(data_nascimento) == 'undefined') {
			error_msg = 'Data de nascimento inválida.';
		} else if (ano.val() < 100) {
			error_msg = 'Ano deve ser preenchido no formato YYYY.';
		} else if (mes.val() > 12 || dia.val() > 31) {
			error_msg = 'Dia/Mês inválidos na data de nascimento.';
		} else if (data_nascimento > today) {
			error_msg = 'Data de nascimento não pode ser no futuro.';
		} else if (data_nascimento < inicioDosTempos) {
			error_msg = 'Data de nascimento não pode ser menor que 01/01/1902.';
		}
	}
	
	ano.removeClass('DF-alert');
	mes.removeClass('DF-alert');
	dia.removeClass('DF-alert');
	
	if (error_msg != '') {
		alert(error_msg);
		ano.addClass('DF-alert');
		mes.addClass('DF-alert');
		dia.addClass('DF-alert');
		return false;
	}
	return true;
}


function goUrlEstado(object, mapaObj) {
	if (this.ci_data && (!object.id || !object.sigla)) {
		object = this.ci_data;
	}
	
	if (mapaObj) {
		mapa = mapaObj;
	}
	
	mapa.fitBounds('BR-' + object.sigla);
	mapa.toggleMarkers(Ci_GoogleMaps.ESTADOS, false);
	mapa.toggleMarkers(Ci_GoogleMaps.NOSSAS_LOJAS, false);
	mapa.toggleMarkers(Ci_GoogleMaps.CIDADES, true);
	
	var columnright = $('div#nossaslojas-rightcolumn');
	
	var instance = object;
	
	columnright.find('div.container').html('<div style="text-align: center"><br /><br /><br /><br /><img src="../../img/preloader.gif" alt="Carregando" title="Carregando" /></div>');
	
	$.ajax({
		url: '../../site/_ajax/lojasci_googlemaps_estado.php',
		data: 'id=' + object.id,
		dataType: 'text',
		type: 'GET',
		success: function(html) {
			
			columnright.find('h2:first').text(object.nome);
			columnright.find('div.container').html(html);
		}
	});
}

function goUrlCidade(nome, estado, mapaObj) {
	if (this.ci_data && (!nome || typeof(nome) == 'object') && !estado) {
		var nome = this.ci_data.nome;
		var estado = this.ci_data.estado;	
	}	
	
	if (mapaObj) {
		mapa = mapaObj;
	}
	
	mapa.fitBounds(nome + ',' + estado);
	mapa.toggleMarkers(Ci_GoogleMaps.ESTADOS, false);
	mapa.toggleMarkers(Ci_GoogleMaps.CIDADES, false);
	mapa.toggleMarkers(Ci_GoogleMaps.NOSSAS_LOJAS, true);
	
	var columnright = $('div#nossaslojas-rightcolumn');
	
	var instance = this;
	
	columnright.find('div.container').html('<div style="text-align: center"><br /><br /><br /><br /><img src="../../img/preloader.gif" alt="Carregando" title="Carregando" /></div>');
	
	$.ajax({
		url: '../../site/_ajax/lojasci_googlemaps_cidade.php',
		data: 'nome=' + nome + '&estado=' + estado,
		dataType: 'text',
		type: 'GET',
		success: function(html) {			
			columnright.find('h2:first').text(nome + ', ' + estado);
			columnright.find('div.container').html(html);
		}
	});
}

function goUrlLoja(id) {	
	if (this.ci_data && (!id || typeof(id) == 'object')) {
		var id = this.ci_data.loja;
	}
	
	var instance = this;
	
	$.ajax({
		url: '../../site/_ajax/lojasci_geturlsavecookie.php',
		data: 'id=' + id,
		dataType: 'json',
		type: 'GET',
		success: function(object) {
			if (object) {
				saveCookie(site + 'nossasLojas', object.estado.attributes.id + ',' + object.cidade.attributes.id + ',' + object.loja.attributes.id, 365);
				/*
				// Infowindow
				var infowindow = new google.maps.InfoWindow({
					content: '',
					pixelOffset: new google.maps.Size(-5, 40)
				});
				
				// Pega o conteúdo da infowindow por ajax
				$.get('../../site/_ajax/googlemaps_infowindow.php', this.ci_data, function(response_html){
					instance.infowindow.setContent(response_html);
					instance.infowindow.open(instance.map, marker_instance);
				});
				*/
				location.href = object.url;
			}	
		}
	});
}

function viajanteCi_blog_responderComentario(idComentario) {
	$("#form-" + idComentario).toggle();
}

function checkfalecomaci() {
	if (!ci_checkNomeCompleto('cad_nomecompleto')) {
		return false;
	}
	if (!ci_checkDataNascimento('dt_dia_aniversario', 'dt_mes_aniversario', 'dt_ano_aniversario')) {
		return false;
	}
	
	$('#message').removeClass('DF-alert');
	if ($('#message').val().indexOf('<a') !== -1) {
		alert('Favor não utilizar HTML (tag <a>) no conteúdo da mensagem.');
		$('#message').addClass('DF-alert');
		return false;
	}
	
	return checkvalues_optin();
}

function checkvalues_optin(){
	if(getElm('optin_parceiros').checked)getElm('optin_parceiros').value=1;
	else getElm('optin_parceiros').value=0;
	if(getElm('optin').checked)getElm('optin').value=1;
	else getElm('optin').value=0;
	var DFcheck = DFcheckForm(d.frm,false,true);
	return DFcheck;
}

var falecomaci_enderecos = [];
function falecomaci_set_endereco() {
	var key = $("input:checked[name='radio_endereco']", '#cep_dialog').val();
	if (falecomaci_enderecos && key) {
		endereco = falecomaci_enderecos[key];
		$('#endereco').val(endereco.Tipo + ' ' + endereco.Logradouro);
		if (endereco.Logradouro) {
			$('#numend').focus();
		}
		$('#cidade').val(endereco.Cidade);
		$('#compl').val(endereco.Complemento);
		$('#uf').val(endereco.Uf);
	}
	$('#cep_dialog').dialog('close');
}

var last_cep = '';
function falecomaci_cep(from_click) {
	var cep = $('#cep_0').val() + $('#cep_1').val();
	if (from_click && cep.length != 8) {
		alert('Preencha o CEP.');
		return;
	}
	if (cep.length != 8 || cep == last_cep) {
		return;
	}
	last_cep = cep;
	
	$('<div id="cep_dialog" title="Selecione o seu endereço" style="display:none; background-color:white;">' +
		'<center><img src="../../img/preloader.gif" alt="" border="0" />' +
		'<br /><br />Procurando CEP...</center></div>').dialog({
		modal: true,
		close: function(event, ui) {
			$(this).remove();
		}
	});
	$.ajax({
 		url: '../../site/_ajax/cadastro_cep_ajax.php?cep=' + cep,
		dataType: 'json',
		success: function (ends) {
			var cep_dialog = $('#cep_dialog');
			if (!cep_dialog.length) {
				return
			}
			cep_dialog.empty();
			var radios = '';
			
			if (ends.length) {
				for (key in ends) {
					var end = ends[key];
					radios += '<label><input type="radio" name="radio_endereco" value="' + key + '" ' + ((key > 0) ? '' : 'checked') + ' /> ' + end.Tipo + ' ' + end.Logradouro + ' - ' + end.Cidade + '</label><br />';
				}
				falecomaci_enderecos = ends;
			} else {
				radios = 'Nenhum endereço encontrado para esse CEP.<br />';
			}
			cep_dialog.append(radios + '<br /><center><input type="button" value="OK" onclick="falecomaci_set_endereco();" /></center>');
		},
		error: function () {
			$('#cep_dialog').remove();
		},
		timeout: 10000
	});
}

function carregarTrabalhoVoluntarioProgramas(tipoProjeto, pais) {
	var trabalhoVoluntarioPrograma = $('#trabalhovoluntario-programas');
	$('option', trabalhoVoluntarioPrograma).remove();
	trabalhoVoluntarioPrograma.append('<option>Carregando...</option>');
	trabalhoVoluntarioPrograma.attr('disabled', 'true');
	$.ajax({
		url: '../../site/_ajax/trabalhovoluntario_carregarprogramas.php',
		data: 'tipoProjeto=' + tipoProjeto + '&pais=' + pais,
		dataType: 'text',
		type: 'GET',
		success: function(html) {
			$('option', trabalhoVoluntarioPrograma).remove();
			trabalhoVoluntarioPrograma.removeAttr('disabled'); // Fix para botão ok não ficar sobre o select
			if (html) {
				trabalhoVoluntarioPrograma.append(html);
			} else {
				trabalhoVoluntarioPrograma.attr('disabled', 'true');
				trabalhoVoluntarioPrograma.append('<option value="">Programas não encontradas</option>');
			}
		}
	});
}


function produtosInteresseAlterar() {
	$('#produtos-tipos').slideDown();
	$('#produto-interesse-alterar').hide();
	
	$('#usuario-logado .interesses').addClass('edit');
	
	return false;
}

function produtosInteresseSalvar(email) {
	/*$('#produto-interesse-alterar').show();
	$('#produtos-tipos').hide();
	
	$('#usuario-logado .interesses').removeClass('edit');*/
	
	var produtosInteresse = '';
	
	if ($('input[name="produtos[]"]:checked').length) {
		var i = 0;
		$('input[name="produtos[]"]:checked').each(function() {
			if (i > 0) {
				produtosInteresse += ',';
			}
			i++;
			produtosInteresse += $(this).val();
		});
	}
	
	$.ajax({
		url: '../../site/_ajax/cadastro_produtosinteresse.php',
		type: 'POST',
		data: 'email=' + email + '&produtos=' + produtosInteresse,
		dataType: 'text',
		success: function(html) {
			//$('#usuario-logado .interesses').find('.interesses-nomes').html(html);
			window.location.reload()
		}
	});
}

function minhaContaChangeContainer(container, li) {
	$('.minhaconta-viajanteci').hide();
	container.show();
	$('#minhaconta-change-viajanteci li').removeClass('on');
	li.addClass('on');	
}

function afterFacebookConnect() {
	FB.getLoginStatus(function(response) {
		if (response.status == "connected") {
			location.href = fullpath + 'cadastro/check_login_facebook.php';
		} else {
			// user clicked Cancel 
		}
	}); 
}

var ci_attachedGS = false;
var ci_loadedGS = false;
function ci_loadGoogleSearch() {
	if (!ci_loadedGS) {
		// Foi loadado por outro script
		if (!window['google']['search']) {
			var oldGoogleLoadTag = google.loader.writeLoadTag; 
			google.loader.writeLoadTag = function(tipo, url, async) {
				// Necessário para deixar o load async
				oldGoogleLoadTag(tipo, url, true);
			};
			// Carregando search, equivalente a google.load('search', 1) 
			var searchScript = document.createElement('script');
			searchScript.src = 'http://www.google.com/uds/?file=search&v=1';
			searchScript.async = true;
			searchScript.onload = function () {
				setTimeout(ci_attachGoogleSearch, 200);
			};
			document.body.appendChild(searchScript);
			
			if (is.ie) {
				setTimeout(ci_attachGoogleSearch, 1500);
			}
		} else {
			// Já foi loadado, necessário apenas attach no campo
			ci_attachGoogleSearch();
		}
		ci_loadedGS = true;
	}
}
function ci_attachGoogleSearch() {
	if (!ci_attachedGS) {
		google.search.CustomSearchControl.attachAutoCompletion(
			'004360718527322760925:l_rlwrauyga',
			document.getElementById('q'),
			'cse-search-box-header'
		);
		ci_attachedGS = true;
	}
}

function form_passagem_request_validation(form){
	var match = form.gateway_dep.value.trim().match(/\([a-z]{3}\)$/i);
	if (match && match[0]) {
		form.gateway_dep.value = match[0].substr(1, 3);
	}
	form.dest_ret.value = form.gateway_dep.value;
	
	var match = form.dest_dep.value.trim().match(/\([a-z]{3}\)$/i);
	if (match && match[0]) {
		form.dest_dep.value = match[0].substr(1, 3);
	}	
	form.gateway_ret.value = form.dest_dep.value;
	
	if ((Number(document.farerequest.nb_adu.value)+Number(document.farerequest.nb_chd.value)+Number(document.farerequest.nb_inf.value))>9) {
		alert("Error: total number of passenger must be between 1 and 9")
		return false;
	}else{
		return true;
	}
}

function strpos (haystack, needle, offset) {
    // Finds position of first occurrence of a string within another  
    // 
    // version: 1103.1210
    // discuss at: http://phpjs.org/functions/strpos
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Onno Marsman    
    // +   bugfixed by: Daniel Esteban
    // +   improved by: Brett Zamir (http://brett-zamir.me)
    // *     example 1: strpos('Kevin van Zonneveld', 'e', 5);
    // *     returns 1: 14
    var i = (haystack + '').indexOf(needle, (offset || 0));
    return i === -1 ? false : i;
}
