

	$(function() {
		
		//MUDA A CLASS DO ITEM SELECIONADO NO MEU DO TOPO
		$('ul#menu li a').click(function() {
			$('ul#menu li a').removeClass('selected');
			$(this).addClass('selected');
		})
		
		//FUNCTION  DO LOGIN TIA/MOODLE
		$('a.handlers').click(function() {
			$('a.handlers').removeClass('selected');
		//	$("#container_form_login form").fadeOut(100);
			$("#container_form_login form").hide();
			if($(this).hasClass('tia') == true) {
				$(this).addClass('selected');
				$('#form_tia').css('display','block');
			} else {
				$('.moodle').addClass('selected');
				$('#form_moodle').css('display','block');
			}
		});
		
		//REMOVE A CLASSE DO MENU SELECIONADO NO TOPO
		//QUANDO ALGUEM CLICA EM ALGUM ITEM DO MENU ESQUERDO
		$('ul#menu_inferior').click(function() {
				$('ul#menu li a').removeClass('selected');
		});	
		
		//LIGHTBOX
		$('a.lightbox').lightBox();
		$('li.mapa a').lightBox({fixedNavigation:false});

		
		//$("#loader").fadeOut(2000);
		
		//BORDA ARREDONDADAS
		$('img.banner').imgr({radius:"10px"});
		setInterval( "slideSwitch()", 5000 );
		
		//BARRA DE ROLAGEM JQUERY
		mCustomScrollbars();
		
		
		if(window.location.hash == "")
		{
			ajaxPage('home.php');
		}else{
			ajaxPage(base64_decode(window.location.hash.replace("#","")));
		}

	});
	
	
	function ajax(nomeForm, urlDestino, divRetorno, textoCarregando, callback)
	{
	
		if (textoCarregando == "") { textoCarregando = "Carregando..."; }

		if (callback != '') {
			ajaxGo({
				form: nomeForm,
				url: urlDestino,
				loading: textoCarregando,
				elem_return: divRetorno,
				callback: callback
			})
		} else {
			ajaxGo({
				form: nomeForm,
				url: urlDestino,
				loading: textoCarregando,
				elem_return: divRetorno
			})
		}
		
		$("#mcs_container").mCustomScrollbar("vertical",400,"easeOutCirc",1.05,"auto","yes","yes",10); 
		/*
		//$("#"+divRetorno).html(textoCarregando);
		$.ajax({
		  url: urlDestino,
		  cache: false,
		  success: function(html){
			
			$("#"+divRetorno).html("");
			$("#"+divRetorno).append(html);
			$("#mcs_container").mCustomScrollbar("vertical",400,"easeOutCirc",1.05,"auto","yes","yes",10); 
			
			/*$("div#scroolbar a").css("bottom","100%");
			$("div#scroolbar a").addClass("ui-state-focus");
			$("div#scroolbar").click();

		  }
		});
*/
	}

	
	function ajaxPage(urlDestino)
	{
		ajax("", urlDestino, "content", "", "");
		window.location.hash = base64_encode(urlDestino);
	}
	
	//BARRA DE ROLAGEM JQUERY
	function mCustomScrollbars(){
		$("#mcs_container").mCustomScrollbar("vertical",400,"easeOutCirc",1.05,"auto","yes","yes",10); 
	}

	/* function to fix the -10000 pixel limit of jquery.animate */
	$.fx.prototype.cur = function(){
		if ( this.elem[this.prop] != null && (!this.elem.style || this.elem.style[this.prop] == null) ) {
		  return this.elem[ this.prop ];
		}
		var r = parseFloat( jQuery.css( this.elem, this.prop ) );
		return typeof r == 'undefined' ? 0 : r;
	}

	/* function to load new content dynamically */
	function LoadNewContent(id,file){
		$("#"+id+" .customScrollBox .content").load(file,function(){
			mCustomScrollbars();
		});
	}

	
	//SLIDER BANNERS
	function slideSwitch() {
		var $active = $('#banner_rotativo DIV.active');

		if ( $active.length == 0 ) $active = $('#banner_rotativo DIV:last');

		// use this to pull the divs in the order they appear in the markup
		var $next =  $active.next().length ? $active.next()
			: $('#banner_rotativo DIV:first');

		// uncomment below to pull the divs randomly
		// var $sibs  = $active.siblings();
		// var rndNum = Math.floor(Math.random() * $sibs.length );
		// var $next  = $( $sibs[ rndNum ] );


		$active.addClass('last-active');

		$next.css({opacity: 0.0})
			.addClass('active')
			.animate({opacity: 1.0}, 5000, function() {
				$active.removeClass('active last-active');
			});
	}
	
	
		
	//##################################################################################	
	//##################################################################################
	// CRIPTOGRAFIA
	
	function utf8_encode (argString) {
		// http://kevin.vanzonneveld.net
		// +   original by: Webtoolkit.info (http://www.webtoolkit.info/)
		// +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
		// +   improved by: sowberry
		// +    tweaked by: Jack
		// +   bugfixed by: Onno Marsman
		// +   improved by: Yves Sucaet
		// +   bugfixed by: Onno Marsman
		// +   bugfixed by: Ulrich
		// *     example 1: utf8_encode('Kevin van Zonneveld');
		// *     returns 1: 'Kevin van Zonneveld'
		var string = (argString + ''); // .replace(/\r\n/g, "\n").replace(/\r/g, "\n");
		var utftext = "",
			start, end, stringl = 0;

		start = end = 0;
		stringl = string.length;
		for (var n = 0; n < stringl; n++) {
			var c1 = string.charCodeAt(n);
			var enc = null;

			if (c1 < 128) {
				end++;
			} else if (c1 > 127 && c1 < 2048) {
				enc = String.fromCharCode((c1 >> 6) | 192) + String.fromCharCode((c1 & 63) | 128);
			} else {
				enc = String.fromCharCode((c1 >> 12) | 224) + String.fromCharCode(((c1 >> 6) & 63) | 128) + String.fromCharCode((c1 & 63) | 128);
			}
			if (enc !== null) {
				if (end > start) {
					utftext += string.slice(start, end);
				}
				utftext += enc;
				start = end = n + 1;
			}
		}

		if (end > start) {
			utftext += string.slice(start, stringl);
		}

		return utftext;
	}

	function utf8_decode (str_data) {
		// http://kevin.vanzonneveld.net
		// +   original by: Webtoolkit.info (http://www.webtoolkit.info/)
		// +      input by: Aman Gupta
		// +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
		// +   improved by: Norman "zEh" Fuchs
		// +   bugfixed by: hitwork
		// +   bugfixed by: Onno Marsman
		// +      input by: Brett Zamir (http://brett-zamir.me)
		// +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
		// *     example 1: utf8_decode('Kevin van Zonneveld');
		// *     returns 1: 'Kevin van Zonneveld'
		var tmp_arr = [],
			i = 0,
			ac = 0,
			c1 = 0,
			c2 = 0,
			c3 = 0;

		str_data += '';

		while (i < str_data.length) {
			c1 = str_data.charCodeAt(i);
			if (c1 < 128) {
				tmp_arr[ac++] = String.fromCharCode(c1);
				i++;
			} else if (c1 > 191 && c1 < 224) {
				c2 = str_data.charCodeAt(i + 1);
				tmp_arr[ac++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));
				i += 2;
			} else {
				c2 = str_data.charCodeAt(i + 1);
				c3 = str_data.charCodeAt(i + 2);
				tmp_arr[ac++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}
		}

		return tmp_arr.join('');
	}	
		
		
			
	function base64_encode (data) {
		// http://kevin.vanzonneveld.net
		// +   original by: Tyler Akins (http://rumkin.com)
		// +   improved by: Bayron Guevara
		// +   improved by: Thunder.m
		// +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
		// +   bugfixed by: Pellentesque Malesuada
		// +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
		// -    depends on: utf8_encode
		// *     example 1: base64_encode('Kevin van Zonneveld');
		// *     returns 1: 'S2V2aW4gdmFuIFpvbm5ldmVsZA=='
		// mozilla has this native
		// - but breaks in 2.0.0.12!
		//if (typeof this.window['atob'] == 'function') {
		//    return atob(data);
		//}
		var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
		var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,
			ac = 0,
			enc = "",
			tmp_arr = [];

		if (!data) {
			return data;
		}

		data = this.utf8_encode(data + '');

		do { // pack three octets into four hexets
			o1 = data.charCodeAt(i++);
			o2 = data.charCodeAt(i++);
			o3 = data.charCodeAt(i++);

			bits = o1 << 16 | o2 << 8 | o3;

			h1 = bits >> 18 & 0x3f;
			h2 = bits >> 12 & 0x3f;
			h3 = bits >> 6 & 0x3f;
			h4 = bits & 0x3f;

			// use hexets to index into b64, and append result to encoded string
			tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
		} while (i < data.length);

		enc = tmp_arr.join('');

		switch (data.length % 3) {
		case 1:
			enc = enc.slice(0, -2) + '==';
			break;
		case 2:
			enc = enc.slice(0, -1) + '=';
			break;
		}

		return enc;
	}

	function base64_decode (data) {
		// http://kevin.vanzonneveld.net
		// +   original by: Tyler Akins (http://rumkin.com)
		// +   improved by: Thunder.m
		// +      input by: Aman Gupta
		// +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
		// +   bugfixed by: Onno Marsman
		// +   bugfixed by: Pellentesque Malesuada
		// +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
		// +      input by: Brett Zamir (http://brett-zamir.me)
		// +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
		// -    depends on: utf8_decode
		// *     example 1: base64_decode('S2V2aW4gdmFuIFpvbm5ldmVsZA==');
		// *     returns 1: 'Kevin van Zonneveld'
		// mozilla has this native
		// - but breaks in 2.0.0.12!
		//if (typeof this.window['btoa'] == 'function') {
		//    return btoa(data);
		//}
		var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
		var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,
			ac = 0,
			dec = "",
			tmp_arr = [];

		if (!data) {
			return data;
		}

		data += '';

		do { // unpack four hexets into three octets using index points in b64
			h1 = b64.indexOf(data.charAt(i++));
			h2 = b64.indexOf(data.charAt(i++));
			h3 = b64.indexOf(data.charAt(i++));
			h4 = b64.indexOf(data.charAt(i++));

			bits = h1 << 18 | h2 << 12 | h3 << 6 | h4;

			o1 = bits >> 16 & 0xff;
			o2 = bits >> 8 & 0xff;
			o3 = bits & 0xff;

			if (h3 == 64) {
				tmp_arr[ac++] = String.fromCharCode(o1);
			} else if (h4 == 64) {
				tmp_arr[ac++] = String.fromCharCode(o1, o2);
			} else {
				tmp_arr[ac++] = String.fromCharCode(o1, o2, o3);
			}
		} while (i < data.length);

		dec = tmp_arr.join('');
		dec = this.utf8_decode(dec);

		return dec;
	}
	//##################################################################################
	//##################################################################################

			
