/**
 * Loads in a URL into a specified divName, and applies the function to
 * all the links inside the pagination div of that page (to preserve the ajax-request)
 * NOTES: useful to load recent news @left_sidebar and paginate content of news
 *
 * @param string href The URL of the page to load
 * @param string divName The name of the DOM-element to load the data into
 * @return boolean False To prevent the links from doing anything on their own.
 */
 function loadPiece(href,divName) {    
     $(divName).load(href, {}, function(){
         var divPaginationLinks = divName+" #pagination a";
         $(divPaginationLinks).click(function() {     
             var thisHref = $(this).attr("href");
             loadPiece(thisHref,divName);
             return false;
         });
     });
 }

/**
 * full path to app
 */
var base = '/';

function open_modal(url, data) {
   // Set the optional parameter if needed
   if ( data === undefined ) {
      data = '';
   }
   $.modal.close();
    $('#ajax-temp').load(base+url+'?'+(new Date()).getTime(), data, function() {
		$('#ajax-temp').modal({
			    containerId: 'content-container',
			    close:false,
			    onShow: function (dialog) {
			    dialog.setPosition; 


			var el = $(window);

			// fix a jQuery/Opera bug with determining the window height
			var h = $.browser.opera && $.browser.version > '9.5' && $.fn.jquery <= '1.2.6' ? document.documentElement['clientHeight'] :
				$.browser.opera && $.browser.version < '9.5' && $.fn.jquery > '1.2.6' ? window.innerHeight :
				el.height();

			var w = [h, el.width()];
				
			var hCenter = (w[0]/2) - ((dialog.container.height() || dialog.data.height())/2);
			var	vCenter = (w[1]/2) - ((dialog.container.width() || dialog.data.width())/2);

			//dialog.container.css({left: hCenter, top: vCenter});
			$('#content-container').css({left: vCenter, top: hCenter});
			}
		
			    });
	});

  }


$(function() {
    $(document).ajaxSend(function(event, rq, stt) {
		pageTracker._trackPageview('/ajax'+stt.url);
	    $.modal.close();
	    $("#loading").modal();
    });

    $(document).ajaxSuccess(function() {
	    $.modal.close();
	    resize_search();
    });
    
});

function resize_search() {
    var head = $('#header').width();
    var max_left = $('#button_advanced_search').position().left;
    var width_left = $('#button_advanced_search').width();

    // this seven because of margin used on object
    var slide_left = max_left+width_left+10;


    $('#header .head .submit').css('width', head-25);
    $('#button_advanced_search').css('width', head-35);
    
    $('#search_advanced').css('width', head+6);
    $('div.container').css('background-position', slide_left+'px top');
}

/**
 * workaround to fix bug(browser) w/ resize bind
 */
var resizeTimer = null;
$(window).bind('resize', function() {
    if (resizeTimer) clearTimeout(resizeTimer);
    resizeTimer = setTimeout(resize_search, 100);
});


$(document).ready(function() {
    //resize on every page fast_search
    resize_search();
    
    //useful to load subthemes @fast-search
    $("#SearchTheme").bind("change", function(e){
	$.getJSON(base+'sub_themes/listByTheme/'+this.value, function(jj) {
	    $('#SearchSubTheme').empty();
	    $('#SearchSubTheme').append("<option value='0'>sub-temas - todos</option>");
	    $.each(jj, function(id, obj){
		$('#SearchSubTheme').append("<option value="+id+">"+obj+
                                            "</option>");
	    });
	});
    });


    $('a#expand').live('click', function (event) {
      event.preventDefault();
      open_modal('users/my');
    });

    $('a#preferences').live('click', function(event) {
      event.preventDefault();
      open_modal('users/edit');
    });

    $('#save_user_button').live('click', function(event) {
      event.preventDefault();
      open_modal('users/edit',$('#useredit').serializeArray());
    });

    $('div#my h3').live('click', function (event) {
      $.modal.close();
    });



    $('.registrese').live('click', function (event) {
      event.preventDefault();
      open_modal('users/add');
	  
	  
    });

    $('#registrese_button').live('click', function(event) {
      event.preventDefault();
      open_modal('users/add',$('#useradd').serializeArray());
    });

    $('div#registre_box h3').live('click', function (event) {
	    $.modal.close();
    });



    
    // default to hide
    if ( $("#login_test").length > 0 ) {
	// show when click @login link
	$("a.load_login").live('click', function(event){
	    event.preventDefault();
	    open_modal('users/login');
	});
	
	// close box login
	$("#login h3").live('click', function (event) {
          $.modal.close();
	});
	
	$('#login_button').live('click', function(event) {
	    event.preventDefault();
	    open_modal("users/login", $('#userlogin').serializeArray());
	});
    }
    
    $('#button_advanced_search').click(function (event) {
	event.preventDefault();
        $('#search_ajax').load(base+"searches/advanced", 
			       $("#SearchAddForm").serializeArray());
	$('#search_advanced').toggle('slow');
    });
    
    $('#search_advanced h3').click(function (event) {
        $('#search_ajax').html('');
	$('#search_advanced').toggle('slow');
    });


    $('#reset_passwd').live('click', function (event) {
	event.preventDefault();
	$('.body_login').hide();
	$('.body_forget').hide();
	$('.body_reset').show();
    });

    $('#change_passwd').live('click', function (event) {
	event.preventDefault();
	$('.body_login').hide();
	$('.body_reset').hide();
	$('.body_forget').show();
    });

    $('.login_button_back').live('click', function (event) {
	event.preventDefault();
	$('.body_login').show();
	$('.body_reset').hide();
	$('.body_forget').hide();
    });

    $("#resetlogin").live('submit', function (event) {
	    event.preventDefault();
	});

    $('#reset_button').live('click', function (event) {
	event.preventDefault();
	open_modal('users/reset', $("#resetlogin").serializeArray());
    });
    $('#forget_button').live('click', function (event) {
	event.preventDefault();
      open_modal('users/forget', $("#forgetlogin").serializeArray());
    });
    $('#ajuda').live('click', function (event) {
	    event.preventDefault();
            var params = $(this).data("popup") || {};            

            if ($(this).attr("target"))
            {
                params.windowName = $(this).attr("target");
            }
	    params.width = '280';
	    params.height = '630';
	    params.resizeable = false;
	    params.left = screen.width-280;

            var windowObject = UTIL.popup.open(this.href, params);

            $(this).data("windowObject", windowObject);
    });

    $('#UserSenha').live('keyup', function(e) {
	if(e.keyCode == 13) {
	    e.preventDefault();
	    open_modal("users/login", $('#userlogin').serializeArray());
	}
    });

});
$(document).ready(function(){
    $('#slideshows').bind("contextmenu",function(e){
        return false;
    });
});
