/**
 * SHARED VARS
**/
var imgsAccepted=/^(.*)\.(jpg||jpeg||JPG||JPEG||gif||GIF||bmp||BMP)*$/;
var imgsAcceptedAlert="jpg, gif e bmp";
var emailTest = /^[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[a-z]{2,4}|museum|travel)$/i;

/**
 * INITIALIZE
**/
$(document).ready(
	function (){
		// Generate Focus
		fc_genformfocus();
		
		// Efetue login go
		efetueLoginGo();
		
		// Tabs
		tabsShowHide();
		
		//Open New Window
		openNewWindow();
		
		// Show User Info
		showUserInfo();
		
		// Login Actions
		loginActions();
	
		// Busca Actions
		buscaActions();
	}
)

/**
 * SHARED FUNCTIONS
**/

//FORM FIELD SELECTED
function fc_genformfocus(obj){
	if (obj == undefined) obj = 'body';
	
	$(obj).find("input,textarea,select").focus(function(){fc_formfocus("on",this);});
	$(obj).find("input,textarea,select").blur(function(){fc_formfocus("off",this);});
}
function fc_formfocus(q,id){
	var classname="formsfield_focus";
	if (typeof(id) == 'string') {
		id = "#"+id;
	}

	if(q=="on"){
		$(id).addClass(classname);
	}else{
		$(id).removeClass(classname);
	}
}

// GET URL PARAMS
function getUrlParams (href, sep, pos) {
	if (sep == undefined) sep = BASE_URL;
	href = href.split(sep);
	href = href.pop();
	href = href.split('/');
	if (pos != undefined) href = href[pos];
	return href;
}

// EFETUE LOGIN GO
function efetueLoginGo(){
	$('.efetue-login-btn').live('click', function(e){
		$("#UsuarioLoginLogin").focus();
		e.preventDefault();
	});
}

// TABS SHOW HIDE
function tabsShowHide () {
	$('.tabs li a').click(function(e){
		var ident = getUrlParams($(this).attr('href'), '/tab:', 0);
		var area = $(this).parents('.tab-area');
		if (area.length < 1) area = $("#center");
		var objParent = $(this).parent();
		var tabs = $(this).parents('.tabs');
		var ajaxArea = $(area).find('.tab-'+ident);
		
		if (ident == "") {
			ident = getUrlParams($(this).attr('href'), '/tab-ajax:', 0);
			if (ident != "") {
				tabsAjax(this);
			}
		} else {
			$(tabs).find('li').removeClass('curr');
			$(objParent).addClass('curr');
			$(area).find('[class^=tab-]').hide();
			$(area).find('.tab-'+ident).show();
		}
		e.preventDefault();
	});
}

function tabsAjax (obj) {
	var href = $(obj).attr('href');
	var ident = getUrlParams(href, '/tab-ajax:', 0);
	var area = 	$(obj).parents('.tab-area');
	if (area.length < 1) area = $("#center");
	var objParent = $(obj).parent();
	var tabs = $(obj).parents('.tabs');
	var ajaxArea = $(area).find('.tab-'+ident);

	if ($(ajaxArea).html() == '') {
		$(obj).parent().addClass('tabloading');
		$.ajax({
			type: "GET",
			url: href,
			success: function(msg){
				
				if(msg==''){
					alert(LCS['opererror']);
					return false;
				}
				
				msgs = alertParse(msg);

				if (msgs == false) {
					$(ajaxArea).html(msg);
					$(tabs).find('li').removeClass('curr');
					$(objParent).removeClass('tabloading');
					$(objParent).addClass('curr');
					$(area).find('[class^=tab-]').hide();
					$(ajaxArea).show();
					$(ajaxArea).find('.tab-'+ident).show();
				} else {
					setAlert(msgs['message'], msgs['type']);
					$(objParent).removeClass('tabloading');
				}
				
				if ($.isFunction(eval("tabAjax_"+ident))) {
					eval("tabAjax_"+ident+"(ajaxArea)");
				} else {
					tabsPaging(ajaxArea);
				}

				fc_genformfocus(ajaxArea);
			}
		});
	} else {
		$(tabs).find('li').removeClass('curr');
		$(objParent).addClass('curr');
		$(area).find('[class^=tab-]').hide();
		$(ajaxArea).show();
	}
}

function tabsPaging (ajaxArea) {
	$(ajaxArea).find('.paging a').click(function(e){
		var href = $(this).attr('href');
		var ident = getUrlParams(href, '/tab-ajax:', 0);
		var ajaxArea = $(this).parents('.tab-'+ident);
		$(ajaxArea).find('.paging').html('<div class="smallloader_paging_02">');
		$.ajax({
			type: "GET",
			url: href,
			cache: false,
			success: function(msg){
				ajaxClick = true;
				if(msg==''){
					alert(LCS['opererror']);
					$(ajaxArea).find('.smallloader_paging_02').remove();
					return false;
				}
				$(ajaxArea).html(msg);
				tabsPaging(ajaxArea);
			}
		});
		e.preventDefault();
	});
}

// Open in new Window
function openNewWindow () {
	$('.newwindow').live('click', function(e){
		var href = $(this).attr('href');
		var params = '';
		var width = getUrlParams (href, '/width:', 0);
		var height = getUrlParams (href, '/height:', 0);
		if (width != '') params += "width="+width+",";
		if (height != '') params += "height="+height;
		params += ",scrollbars=yes";
		
		window.open(href, null, params);
		e.preventDefault();
	});
}

// Show Login Info
function showUserInfo (ob){
	if (ob == undefined) ob = ''; else ob += ' ';
	$(ob+".show-user-info").live('click', function(e){
		var href = $(this).attr('href');
		var usuario = getUrlParams(href, '/', 0);
		$('.userInfo-area').remove();
		
		// Gera Area
		var obj = $('<div></div>');
		obj.addClass('userInfo-area');
		obj.css('left', e.pageX-8);
		obj.css('top', e.pageY-8);
		obj.html('<div class="userInfo-loader"></div>');
		$("body").prepend(obj);

		$.ajax({
			type: "GET",
			url: BASE_URL+'/usuarios/viewmain/'+usuario,
			cache: false,
			success: function(msg){
				if(msg==''){
					alert(LCS['opererror']);
					return false;
				}
				
				obj.html('<div class="userInfo-fade display-none">'+msg+'</div>');
				obj.addClass('userInfo-areaBg');
				obj.css('left', obj.position().left-125);
				$('.userInfo-fade').fadeIn('fast');
				$(".userInfo-area").draggable({cursor:'move', scroll:false});
				
				$(".userInfo-fechar").click(function(e){
					$('.userInfo-area').fadeOut('fast', function() {
						$('.userInfo-area').remove();
					});
					e.preventDefault();									 
				});
			}
		});
		e.preventDefault();
	});
}

/**
 * BUSCA
**/
function buscaActions () {
	var buscaText = '';
	$("#buscaText").focus(function(){
		if (buscaText == '') {
			buscaText = $("#buscaText").val();
			$("#buscaText").removeClass("busca-texto-off");
			$("#buscaText").val("");
		}
	});
	$("#buscaText").blur(function(){
		if ($("#buscaText").val() == '') {
			$("#buscaText").val(buscaText);
			$("#buscaText").addClass("busca-texto-off");
			buscaText = '';
		}
	});
}

/**
 * LOGIN
**/
function loginActions(){
	$('#UsuarioLoginForget').click(function(e){
		$("#UsuarioLoginForm").fadeOut('fast', function(){$("#UsuarioFpForm").fadeIn('fast');});
		e.preventDefault();
	});
	
	$('#UsuarioFpBack').click(function(e){
		$("#UsuarioFpForm").fadeOut('fast', function(){$("#UsuarioLoginForm").fadeIn('fast');});
		e.preventDefault();
	});
	
	$('#UsuarioLoginResend').click(function(e){
		$("#UsuarioLoginForm").fadeOut('fast', function(){$("#UsuarioRscForm").fadeIn('fast');});
		e.preventDefault();
	});
	
	$('#UsuarioRscBack').click(function(e){
		$("#UsuarioRscForm").fadeOut('fast', function(){$("#UsuarioLoginForm").fadeIn('fast');});
		e.preventDefault();
	});
	
	$('#UsuarioLoginForm').submit(function(e){
		$('#UsuarioLoginSubmit').attr('disabled', 'true');
		if ($("#UsuarioLoginRemember:checked").length > 0) var remember = 1; else var remember = 0;
		$.ajax({
			type: 'POST',
			url: $(this).attr('action'),
			data: 'data[Usuario][login]='+$("#UsuarioLoginLogin").val()+'&data[Usuario][senha]='+$("#UsuarioLoginSenha").val()+'&data[Usuario][remember]='+remember+'&data[Usuario][invisible]='+$("#UsuarioLoginInvisible").val(),
			success: function (msg) {
				$('#UsuarioLoginSubmit').removeAttr('disabled');
				var msgs = alertParse(msg);
				if (msgs['type'] == 'success') {
					document.location.reload();
				} else {
					setAlert(msgs['message'], msgs['type']);
				}
			},
			error: function () {setAlert(LCS['opererror'], 'error'); $('#UsuarioLoginSubmit').removeAttr('disabled');}
		});
		e.preventDefault();
	});
}