var js_var = {

}

jQuery.fn.focus_search = function(settings) {
	settings = jQuery.extend({
		value_default : 'Ingresa tu búsqueda'
	},settings);
	// Ingresamos en valor que indica la accion
	jQuery(this).attr('value',settings.value_default);
	// Guardamos  el valor en una variable
	var search_value = jQuery(this).val();
	// Reponer valor
	if ( jQuery.trim(search_value) != '' ) {
		jQuery(this).data( 'value_default', search_value )
	} else {
		jQuery(this).data( 'value_default', value_default )
	}
	jQuery(this).blur(function() {
		if ( jQuery(this).val() == '' ) {
			jQuery(this).val( jQuery(this).data('value_default') )
		}
	}).focus(function() {
		jQuery(this).select();
		if ( jQuery(this).val() == jQuery(this).data('value_default') ) {
			jQuery(this).val('');
		}
	});
}

jQuery.fn.av_heights = function(){
	tallest = 0;
	jQuery(this).each(function(){
		if ( jQuery(this).height() > tallest ) { tallest = $(this).height(); };
	})
	if (navigator.userAgent.match(/MSIE 6/)) jQuery(this).css({'height': tallest});
	else jQuery(this).css({'min-height': tallest});
}

// Tooltip
jQuery.fn.tooltip = function(settings) {
	settings = jQuery.extend({
		attr : 'title'
	},settings);
	var s = settings;
	jQuery(this).mousemove(function(e){
		var mouseX = e.pageX;
		var mouseY = e.pageY;
		var text = '<p title="'+jQuery(this).attr(s.attr)+'">'+jQuery(this).attr(s.attr)+'</p><span class="indi"></span>'
		jQuery(this).attr(s.attr,'');
		if(!document.getElementById("toolTip")){
			toolTip = document.createElement('div');
			jQuery(toolTip).hide().attr('id','toolTip').html(text);
			document.getElementsByTagName('body')[0].appendChild(toolTip);
		} else {
			var toolTipHeight = jQuery(toolTip).height();
		}
		if(parseInt(document.documentElement.clientWidth) < parseInt(toolTip.offsetWidth + mouseX)){
			if(navigator.userAgent.match(/MSIE/)) jQuery(toolTip).css({ 'top' : (mouseY-toolTipHeight-40)+'px'});
			else jQuery(toolTip).css({ 'top' : (mouseY-toolTipHeight-30)+'px'});
			jQuery(toolTip).css({ left : (mouseX-(toolTip.offsetWidth-20))+'px'}).addClass('alt-position');
		} else {
			jQuery(toolTip).css({ 'top' : (mouseY-toolTipHeight-33)+'px' , 'left' : (mouseX-29)+'px' }).removeClass('alt-position');
		}
		jQuery(toolTip).css({ 'position' : 'absolute', 'z-index' : 1000 }).show();
	});
	jQuery(this).mouseout(function(){
		jQuery(this).attr(s.attr,jQuery('#toolTip p').attr('title'));
		jQuery('#toolTip').remove();
	});
}

jQuery.fn.tab_nav = function(settings){
	var settings = jQuery.extend({
		parent_class: null,
		active_element : 'this',
		effect : 'slide',
		speed: null,
		active_class: 'active',
		close_tab : 'close',
		return_act : false
	}, settings);
	var s = settings;
	return this.each(function() {
		var classname_tab = jQuery(this).attr('class');
		var classname_tab = classname_tab.replace(s.active_class,'');
		jQuery(this).click(function() {
			var active_id = this.hash.replace('#','');
			// show active
			if(s.effect == 'slide') jQuery('#'+active_id).slideDown(s.speed);
			else if(s.effect == 'fade') jQuery('#'+active_id).fadeIn(s.speed);

			jQuery('.'+classname_tab, '.'+s.parent_class).each(function(){
				if(s.active_element != 'this') 
					jQuery(this).parents(s.parent_active).removeClass(s.active_class);
				else 
					jQuery(this).removeClass(s.active_class);
				var id = this.hash.replace('#','');
				// hide elements inactive
				if(id!=active_id){
					if(s.effect == 'slide') jQuery('#'+id).slideUp(s.speed);
					else if(s.effect == 'fade') jQuery('#'+id).fadeOut(s.speed);
				}
			});
			if(s.active_element != 'this') 
				jQuery(this).parents(s.active_element).addClass(s.active_class);
			else 
				jQuery(this).addClass(s.active_class);
			return s.return_act;
		});
		jQuery('.'+s.close_tab).click(function(){
			var close_id = this.hash.replace('#','');
			if(s.effect == 'slide'){
				jQuery('#'+close_id).slideUp(s.speed, function(){
					if(s.active_element != 'this') jQuery('.'+classname_tab, '.'+s.parent_class).parents(s.parent_active).removeClass(s.active_class);
					else jQuery('.'+classname_tab, '.'+s.parent_class).removeClass(s.active_class);
				});
			} else if(s.effect == 'fade') {
				jQuery('#'+close_id).fadeOut(s.speed, function(){
					if(s.active_element != 'this') jQuery('.'+classname_tab, '.'+s.parent_class).parents(s.parent_active).removeClass(s.active_class);
					else jQuery('.'+classname_tab, '.'+s.parent_class).removeClass(s.active_class);
				});
			}
			return s.return_act;
		});
	});
}

jQuery.fn.toggleText = function(a, b) {
	return this.each(function() {
		var text = jQuery(this).text() == a ? b : a;
		jQuery(thi.tabs).text(text).attr('title',text);
	});
};

$(document).ready(function(){
	// hide
	$('.hide').hide();

	// focus input search
	$('#s').focus_search();

	// tooltip
	if($('.table')) $('.table td[title]').tooltip();

	// colapsables
	$('.tab').tab_nav({ parent_class: 'nav-top', speed: 'slow', close_tab : 'close-tab' });
	$('.tab-mapa').tab_nav({ parent_class: 'nav-cats-mapa', speed: 'slow' });
	$('.tab-mapa-lista').tab_nav({ parent_class: 'nav-cats-mapa-lista', speed: 'slow' });
	$('.tab-content').tab_nav({ parent_class: 'content-nav', effect : 'fade', speed: 'slow' });

	// Print
	$('.print').click(function(){ print(); });

	// Target
	$('.out, .pdf').attr('target','_blank');

	// Back history
	$('.previous-link').attr('href','javascript:history.go(-1)');

	// Menu Sidebar
	if($.id('#menu_sidebar')){
		$('ul li ul','#menu_sidebar').hide();
		$('ul li.active ul','#menu_sidebar').show();
		$('ul li.active ul li ul','#menu_sidebar').hide();
		$('ul li.active ul li.active ul','#menu_sidebar').show();
		$('li a.level0','#menu_sidebar').click(function(){
			if($(this).parents('li').attr('class')!='active' && $(this).parents('li').attr('class')!='active parent'){
				var id = this.hash.replace('#','');
				$('li ul','#menu_sidebar').hide('fast');
				$('#'+id).show('fast');
				$('#menu_sidebar > ul > li.active').removeClass('active');
				$(this).parents('li').addClass('active');
			}
			return false;
		});
	}

	// colapsables
	$('.view-details').live('click', function(){
		var id = this.hash.replace('#','');
		$(this).toggleClass("colapse");
		$(this).parent().toggleClass("active");
		$(this).toggleText('Ver Más','Ocultar detalle');
		$("div","#"+id).toggle("normal");
		$("#"+id[1]).slideToggle("normal").toggleClass('active');
		return false;
	});

	// Descripcion ramo
	$('.description-class-link').live('click', function(){
		var id = this.hash.replace('#','');
		$('#'+id).slideToggle();
		return false;
	});

	// Infraestructura
	if($.id('#photos')){
		$('#photos').innerfade({ 
			animationtype: "fade",
			speed: "normal",
			timeout: 8000,
			type: "sequence",
			containerheight: 400,
			thumblistclass: "paginate-gallery"
		});
	}
	if($.id('#photos-entry')){
		$('#photos-entry').innerfade({ 
			animationtype: "fade",
			speed: "normal",
			timeout: 8000,
			type: "sequence",
			containerheight: 270,
			thumblistclass: "paginate-gallery"
		});
	}

	// Selects
	$('.location-select').change( function(){
 		if ($(this).val()=="") return;
 		window.open($(this).val(),"_self","");
	});

	$('.get-map-udd').click(function(){
		$('#loading').show();
		type = $(this).attr('rel');
		subtype = $(this).attr('rev');
		name = this.hash.replace('#','');
		if(type == 'Mapa') $('a', '.box-info-mapa').removeClass('active');
		if(type == 'Lista') $('a', '.box-info-mapa-lista').removeClass('active');
		$(this).addClass('active');
		$.get('index.php',{ getmapaudd : true , name : name , type : type , subtype : subtype }, function(data){
			if(type == 'Mapa') $('#mapa').html(data);
			if(type == 'Lista') $('#lista').html(data);
			$('#loading').hide();
		});
		return false;
	});

	if(navigator.userAgent.match(/Firefox/)){
		$('.malla-curricular table').css({ 'border-collapse':'inherit' }).css({ 'border-colapse':'collapse' });
	}
	if(!navigator.userAgent.match(/MSIE 6/)){
		$('.over').mouseover(function(){ $(this).css('opacity','.85'); }).mouseout(function(){ $(this).css('opacity','1'); });
		$('#loading').css({ '-moz-border-radius': '10px', '-webkit-border-radius': '10px', 'border-radius': '10px', 'opacity': '0.85' });
	} else if(navigator.userAgent.match(/MSIE/)) {
		$('.submit_search').attr('value','');
	}
});

window.onload = function(){
	if($.id('#gallery-widget')){
		$('#gallery-widget').jCarouselLite({
			btnNext: ".next-carousel",
			btnPrev: ".prev-carousel",
			visible : 2
		});
	}
	if($.id('#recent-publications')){
		$('.gallery-publications li').each(function(){
			var height = $(this).height();
			var new_height = height + 13;
			$(this).height(new_height);
		});
		$('.gallery-publications').jCarouselLite({
			btnNext: ".next-carousel-publications",
			btnPrev: ".prev-carousel-publications",
			visible : 3
		});
	}
}

jQuery.extend({
	id : function(id) {
		var id = id.split("#");
		return document.getElementById(id[1])?true:false;
	}
});