jQuery(document).ready(function($){

	/**
	 * SIMPLE SLIDER
	 * 
	 */
	if( $('#deps').length > 0 ){
		// contar depoimentos
		var lis = $('#deps ul li').length;
		// largura do holder
		$('#deps ul').width( lis * 525 );
		$('#deps ul').attr('rel', 1);
		$('#deps ul li:first').addClass('current');
		
		$('#deps .btn_nav').click(function(){
			slide_go( $(this) );
		});
	}
	
	function slide_go( obj ){
		var holder = $('#deps ul');
		var active_slide = Number(holder.attr('rel'));
		var pos = holder.position();
		
		// definir direção e valor
		var direction = ( $(obj).attr('id') == 'dep_prev' ) ? 'prev' : 'next';
		var valor = ( direction == 'prev' ) ? '+=525' : '-=525';
		
		if( direction == 'next' ){
			if( active_slide < lis ){
				var new_active = active_slide + 1;
				holder.attr('rel', new_active);
				var valor = '-=525';
				// mover slide
				holder.animate({'left': valor }, 1000, 'swing');
			}
		}
		else if( direction == 'prev' ){
			if( active_slide > 1 ){
				var new_active = active_slide - 1;
				holder.attr('rel', new_active);
				var valor = '+=525';
				// mover slide
				holder.animate({'left': valor }, 1000, 'swing');
			}
		}
	}
	
	
	
	/**
	 * SIMPLE SLIDER
	 * 
	 */
	// atribuir click nos botões
	$('#btn_openclose div').click(function(){
		openclose_banner();
	});


	/**
	 * CADASTRO NEWSLETTER
	 */
	// iniciar
	$('#newsletter_form').submit(function(){
		enviarCadastro('#newsletter_form');
		return false;
	});
	
	var pontinhos = 0;
	var txt_pontinhos = "";
	var nome, email, setor;

	function makeRequest(url){
		http_request = false;
		
		if(window.XMLHttpRequest){ // Mozilla, Safari,...
			http_request = new XMLHttpRequest();
			
			if(http_request.overrideMimeType){
				// set type accordingly to anticipated content type
				//http_request.overrideMimeType('text/xml');
				http_request.overrideMimeType('text/html');
			}
		}
		else if(window.ActiveXObject){ // IE
			try{
				http_request = new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch(e){
				try{
					http_request = new ActiveXObject("Microsoft.XMLHTTP");
				}
				catch(e) {}
			}
		}
		
		if(!http_request){
			alert('Cannot create XMLHTTP instance');
			return false;
		}

		http_request.onreadystatechange = alertContents;
		http_request.open('GET', url, true);
		http_request.send(null);
	}

	function alertContents(){
		$("#newsletter_form #msg").slideDown();
		if(http_request.readyState == 4){
			if (http_request.status == 200){
				result = http_request.responseText;
				if(result == "ok"){
					var txt = "<span style='color:green'>Os seus dados foram cadastrados com sucesso!</span>";
					//alert(txt);
				}
				else if(result == "erro_email"){
					var txt = "<span style='color:red'>ERRO: O endereço de email que você está tentando cadastrar já consta em nosso banco de dados. Obrigado.</span>";
					//resetForm();
					//alert(txt + "\n\nObrigado.");
				}
				$("#newsletter_form #msg").html(txt);
			}
			else{
				$("#newsletter_form #msg").html("<span style='color:red'>Ocorreu um problema com a comunicação com o servidor. Tente novamente mais tarde.\n\nObrigado.</span>");
			}
		}
		else{
			if(pontinhos > 3){
				pontinhos = 0;
				txt_pontinhos = "";
			}
			
			txt_pontinhos += ".";
			pontinhos++;
			
			$("#newsletter_form #msg").text("Processando" + txt_pontinhos + "");
		}
	}

	function changeColor(obj){
		obj.style.color = "#666666";
	}
	
	function enviarCadastro(obj_id){
		$("#newsletter_form #msg").slideUp();
		var obj = $(obj_id);
		var error_id = 0; // esquema 1=nome, 2=email e 4=setor
		
		obj.find('li > input, li > select').each(function(){
			var $name = $(this).attr('name');
			var $value = $(this).val();
			if( $name == "nome" ){
				if( $value == "" || $value == "seu nome" ){
					error_id += 1;
				}
				else{
					nome = $value;
				}
			}
			else if( $name == "email" ){
				if( $value == "" || $value == "seu email" ){
					error_id += 2;
				}
				else{
					email = $value;
				}
			}
			else if( $name == "setor" ){
				if( $value == "" || $value == "setor" ){
					error_id += 4;
				}
				else{
					setor = $value;
				}
			}
		});
		
		switch ( error_id ){
			case 0:
				break;
			case 1:
				alert("Dados incompletos. Por favor, insira um nome.");
				return;
			case 2:
				alert("Dados incompletos. Por favor, insira um email");
				return;
			case 3:
				alert("Dados incompletos. Por favor, insira um nome e um email");
				return;
			case 4:
				alert("Dados incompletos. Por favor, selecione um setor");
				return;
			case 5:
				alert("Dados incompletos. Por favor, insira um nome e selecione um setor");
				return;
			case 6:
				alert("Dados incompletos. Por favor, insira um email e selecione um setor");
				return;
			case 7:
				alert("Dados incompletos. Por favor, insira um nome, um email e selecione um setor");
				return;
			default:
				alert("Erro");
				return;
		}
		
		/**/
		if(!emailCheck(email)){
			alert("O endereço de email que você está tentando cadastras não é válido.\nVerifique o endereço e tente novamente.\n\nObrigado.");
			return;
		}
		makeRequest("cadastro_newsletter.asp?nome=" + nome + "&email=" + email + "&setor=" + setor);
		/**/
	}
	
	/**/
	function emailCheck (emailStr) {
		var checkTLD = 1;
		var knownDomsPat = /^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
		var emailPat = /^(.+)@(.+)$/;
		var specialChars = "\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
		var validChars = "\[^\\s" + specialChars + "\]";
		var quotedUser = "(\"[^\"]*\")";
		var ipDomainPat = /^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
		var atom = validChars + '+';
		var word = "(" + atom + "|" + quotedUser + ")";
		var userPat = new RegExp("^" + word + "(\\." + word + ")*$");
		var domainPat = new RegExp("^" + atom + "(\\." + atom +")*$");
		var matchArray = emailStr.match(emailPat);
		
		if(matchArray == null){
			return false;
		}
		
		var user = matchArray[1];
		var domain = matchArray[2];
		
		for(i = 0; i < user.length; i++){
			if(user.charCodeAt(i) > 127){
				return false;
			}
		}
		
		for(i = 0; i < domain.length; i++){
			if(domain.charCodeAt(i) > 127){
				return false;
			}
		}

		if(user.match(userPat) == null){
			return false;
		}

		var IPArray = domain.match(ipDomainPat);
		
		if(IPArray != null){
			for(var i = 1; i <= 4; i++){
				if(IPArray[i] > 255){
					return false;
				}
			}
			
		return true;
		}
	 
		var atomPat = new RegExp("^" + atom + "$");
		var domArr = domain.split(".");
		var len = domArr.length;
		
		for(i = 0; i < len; i++){
			if(domArr[i].search(atomPat) == -1){
				return false;
			}
		}
		
		if(checkTLD && domArr[domArr.length-1].length != 2 && domArr[domArr.length-1].search(knownDomsPat) == -1){
			return false;
		}

		if(len < 2){
			return false;
		}

		return true;
	}
	/**/
});


/**
 * BANNER OPEN/CLOSE HOME
 * 
 */
function openclose_banner(){
	if( jQuery('#banner_home').is(':visible') ){
		jQuery('#banner_home').slideUp(1800, function(){
			jQuery( '#message_home' ).slideDown(1000, function(){
				jQuery('#btn_openclose div').toggleClass('btn_open');
			});
		});
	}
	else{
		jQuery('#message_home').slideUp(1000, function(){
			jQuery('#banner_home').html( jQuery('#banner_home').html() ).slideDown(1800, function(){
				jQuery('#btn_openclose div').toggleClass('btn_open');
			});
		});
	}
}
