
jQuery.preloadImages = function()
{
	for(var i = 0; i<arguments.length; i++)
	{
		jQuery("<img>").attr("src", arguments[i]);
	}
}

function getLogoLeftCoord($j) {
  return $j('#site').offset().left;
}

function setLeftCoords($j) {
    var leftCoord = Math.round(parseFloat(getLogoLeftCoord($j)));
    $j('.flutuante').each(function(){
        var original_left = jQuery(this).data('left');
        var new_left = parseFloat(getLogoLeftCoord(jQuery)) + parseFloat(original_left);
        new_left = Math.round(new_left) + 'px';
        $j(this).css({left: new_left});
    });  
}

function initFlutuante($j) {
  $j('.flutuante').each(function(){
      var top = $j(this).css('top');
      var left = $j(this).css('left');
      //var new_left = parseFloat(left) + parseFloat(getLogoLeftCoord($j));
      var new_left = parseFloat(left);
      new_left = Math.round(new_left) + 'px';
      $j(this)
        .data('top',top)
        .data('left',left)
        .css({left: new_left, display: 'block'});
  });
}

function rotateBannerEvent() {
  rotateBanner(jQuery(this),false);
}

function rotateBanner(obj, goToIndex) {
  obj.stopTime('banner_rotativo');
  
  var interval = banner_interval;
  
  var current_banner_index = obj.data('current_banner');
  var nro_of_banners = obj.children('.banner_rotativo').length;
  
  var next_banner_index = current_banner_index + 1;
  
  if (goToIndex !== false) {
    next_banner_index = goToIndex;
    interval = 10000;
  }
  
  if (next_banner_index == nro_of_banners) {
    var next_banner_index = 0;
  }
  obj.data('current_banner',next_banner_index)
        .find('.banner_thumbs .thumb').removeClass('selected')
     .parents('.banner_thumbs:first')
        .find('.thumb:contains("' + (next_banner_index + 1) + '")').addClass('selected')
     .parents('.banners_rotativos:first')
        .children('.banner_rotativo:eq('+current_banner_index+')')
          .animate({opacity: 0}, 800, function(){
            jQuery(this)
              .css('display','none')
            .parents(':first')
              .children('.banner_rotativo:eq('+next_banner_index+')')
                .css({display: 'block', opacity: 0})
                .animate({opacity: 1}, 800, function(){
                    jQuery(this)
                      .parents(':first')
                        .oneTime(interval, 'banner_rotativo', rotateBannerEvent);
                });
          });
}

function createBannerMenu(obj) {
  var nro_of_banners = obj.children('.banner_rotativo').length;
  var menu = jQuery('<div></div>').attr('class','banner_thumbs');
  
  var index = nro_of_banners - 1;
  
  while (index >= 0) {
    menu.append('<span class="thumb"><span>'+(index+1)+'</span></span>');
    index--;
  }
  obj.append(menu).find('.banner_thumbs:first').each(function(){
      jQuery(this).children('.thumb').click(function(){
          //alert(jQuery(this).parents(':first').attr('class'));
          var menuCount = jQuery(this).parents(':first').children('.thumb').length;
          var menuIndex = jQuery(this).parents(':first').children('.thumb').index(this);
          var bannerIndex = menuCount - menuIndex - 1;
          var banner = jQuery(this).parents('.banners_rotativos:first');
          
          rotateBanner(banner, bannerIndex);
      });
  });
}

function initBannerRotativo($j) {
  $j('.banners_rotativos').each(function(){
      var nro_of_banners = jQuery(this).children('.banner_rotativo').length;
      if (nro_of_banners > 1) {
        createBannerMenu(jQuery(this));
        jQuery(this).find('.thumb:contains("1")').addClass('selected');
        jQuery(this)
          .data('current_banner',0)
          .children('.banner_rotativo:first')
            .show()
            .oneTime(300,'banner_rotativo_first_time', function(){
              jQuery(this)
                .parents(':first')
                  //.css('height',jQuery(this).css('height'))
                  .oneTime(banner_interval, 'banner_rotativo', rotateBannerEvent);
            });
      }
      else {
        jQuery(this)
          .children('.banner_rotativo:first')
            .show()
            .oneTime(300,'banner_rotativo_first_time', function(){
              jQuery(this)
                .parents(':first')
                  .css('height',jQuery(this).css('height'));
            });
      }
         
  });
}

function saveElementPosition(event, ui) {
  //var left = Math.round(parseFloat(jQuery(this).offset().left));
  //var top = Math.round(parseFloat(jQuery(this).offset().top));
  //var site_left_coord = Math.round(parseFloat(getLogoLeftCoord(jQuery)));
  //left = left - site_left_coord;
  var left = Math.round(parseFloat(jQuery(this).css('left')));
  var top = Math.round(parseFloat(jQuery(this).css('top')));
  
  var id = this.getAttribute('id').split('_');
  id = id[1];
  jQuery.ajax({
      type: "POST",
      url: "/index.php",
      data: "action=saveElementPosition&id="+id+"&left="+left+"&top="+top,
      success: function(msg) {
        //alert( "Data Saved: " + msg );
      },
      error: function(){
        alert('N�o foi poss�vel salvar esta posi��o pois a requisi��o falhou');
      }
  });
}

function saveElementWidth(event, ui) {
  var width = Math.round(parseFloat(jQuery(this).css('width')));
  
  var id = this.getAttribute('id').split('_');
  id = id[1];
  jQuery.ajax({
      type: "POST",
      url: "/index.php",
      data: "action=saveElementWidth&id="+id+"&width="+width,
      success: function(msg) {
        //alert( "Data Saved: " + msg );
      },
      error: function(){
        alert('N�o foi poss�vel salvar esta posi��o pois a requisi��o falhou');
      }
  });
}

function insertBackLink(lastURL) {
    jQuery('.col2:first').append('<br /><div class="paginator"><a href="'+lastURL+'" class="newsMancheteLink">&lt &lt voltar</a></div><div class="cleaner"></div>')
}


function initSearchField($j) {
  $j('#search_field').bind('focus',function(e){ jQuery(this).val(''); });
  $j('#search_field').bind('blur',function(e){ jQuery(this).val('Busca no site'); });
}

function enableDrag() { 
	jQuery(".flutuante").css({cursor: 'pointer'})
		.draggable({stop: saveElementPosition });
	jQuery(".dynamicwidth").resizable({ alsoResize: '.dynamicwidth_wrapper', stop: saveElementWidth });
		 
}
function disableDrag() { jQuery(".flutuante").css({cursor: 'normal'}).draggable('destroy'); }

function initMenu() {
  var debug = jQuery('#menu_accordion h3').css({padding: '5px 5px 5px 5px', fontSize: '13px'})
  .parents('#menu_accordion')
  .accordion({header: "h3", event: "mouseover",
     icons: {
     header: "ui-icon-triangle-1-s",
     headerSelected: "ui-icon-triangle-1-s"
  }})
    .accordion("activate", "h3.menuSelecionado:first");// #menu_accordion
  
}

var menuTimers = new Array()

function hideMenu(menu) {
    menuTimers[menu]=setTimeout("doHideMenu('"+menu+"')",500);
}

function cancelHideMenu(menu) {
    clearTimeout(menuTimers[menu]);
}

function doHideMenu(menu) {
    cancelHideMenu(menu);
    jQuery('#'+menu).hide();
}

function doHideAllExcept(menu) {
    var elements = new Array( "menu_noticias", "menu_imprensa", "menu_estudante", "menu_cidadania", "menu_ideia" );
    for (var i=0; i<elements.length; i++) {
        if (menu != elements[i]) {
            doHideMenu(elements[i]);    
        }
    }
}

function showMenu(menu) {
    doHideAllExcept(menu);
    cancelHideMenu(menu);
    jQuery('#'+menu).show();
}

function initMenu(menu) {
  jQuery('.'+menu).hover(function(){
      showMenu(menu);
  },function(){
      hideMenu(menu);
  });
  
  jQuery('#'+menu).hover(function(){
      cancelHideMenu(menu);
  },function(){
      hideMenu(menu);
  });    
}

function initSearchField($j) {
  $j('#search_field').bind('focus',function(e){ jQuery(this).val(''); });
  $j('#search_field').bind('blur',function(e){ jQuery(this).val('Busca no site'); });
}

function initSlideMenu($j) {
    
 		$j("#slide_menu_wrapper span.menu_item").hover(function(){
		 	jQuery(this).animate({ marginTop: 10, opacity: 1 }, { duration: 500, queue: false, easing: "swing" }); 
		},function(){
		 jQuery(this).animate({ marginTop: 0, opacity: 0.5 }, { duration: 500, queue: false, easing: "swing" });
		 //jQuery(this).animate({ marginTop: 0, opacity: 1 }, { duration: 500, queue: false, easing: "swing" });
		});

    var offset = $j("#slide_menu").offset();
		var nav_width  = Math.round($j("#slide_menu").width() * 1);
		var nav_height  = Math.round($j("#slide_menu").height() * 1);
		var left = Math.round(offset.left);
		var top = Math.round(offset.top);
		
		var last_img_offset = $j("#slide_menu_wrapper span.menu_item:last").offset();
		var last_img_width = $j("#slide_menu_wrapper span.menu_item:last").width();
		var last_left = Math.round(last_img_offset.left - left);
		
		var last_position = Math.round(last_left + last_img_width);
		var max_delta = last_position - nav_width;
		
		//$j("#offset").text("left: " + left + ", top: " + top);
		
 		$j("#slide_menu").mousemove(function(e){
			var mouse_left = (e.pageX - left);
			var mouse_top = (e.pageY - top);
			
			var mouse_top_percent = Math.round((mouse_top * 100) / nav_height);
			var mouse_left_percent = Math.round((mouse_left * 100) / nav_width);
			if (mouse_left_percent < 15) { 
				mouse_left_percent = 0; 
			}
			else if (mouse_left_percent > 85) {
			 mouse_left_percent = 100;
			}		 
      var pageCoords = "( " + mouse_left_percent + ", " + mouse_top_percent + " )";
      //$j("#coords_a").text("( e.pageX, e.pageY ) - " + pageCoords);
			
			var delta = Math.round((max_delta * (mouse_left_percent / 100)));

			
      $j("#slide_menu_wrapper").animate({ 
        marginLeft: "-"+delta+"px"
      }, { duration: 700, queue: false, easing: "swing" } );
			
    });
}

function enviaContato() {
	jQuery('#formContato').submit(function(){
	 		jQuery('.contactFormInput, .contactFormInputError, .contactFormTextArea, .contactFormTextAreaError').each(function(){
			 if (jQuery(this).val() == jQuery(this).data('label')) {
				 jQuery(this).val('');
			 }
			});
	   return true;
	}).submit();
	//javascript: document.getElementById('formContato').submit();
}

function initMouseOverImages($j) {
  $j('.mouse_over_img img').each(function(){
    var hover_src = jQuery(this).attr('title');
    var image = new Image();
    image.src = hover_src;
    jQuery(this)
      .data('hover_src',hover_src)
      .data('original_src',jQuery(this).attr('src'))
      .attr('title','')
      .hover(
        function () {
          jQuery(this).attr('src',jQuery(this).data('hover_src'));
        }, 
        function () {
          jQuery(this).attr('src',jQuery(this).data('original_src'));
        });
  });
}

var banner_interval = 8000;

jQuery.noConflict();
jQuery(document).ready(function(){
   
  //jQuery('body').append('<div id="ie6warning" title="Atualize seu navegador"><map name="avisoexplorer6map"><area shape="rect" alt="" coords="50,327,181,372" href="http://www.eway.com.br" target="_blank"><area shape="rect" alt="" coords="325,332,675,506" href="http://www.microsoft.com/windows/internet-explorer/?ocid=ie8_s_cfa09975-7416-49a5-9e3a-c7a290a656e2" target="_blank"></map><img usemap="#avisoexplorer6map" src="http://files.modifique.com.br/image/aviso_explorer6.jpg" alt="" border="0" /></div>').find('#ie6warning').dialog({autoOpen: true, modal: true, height: 564, width: 726, resizable: false });
  jQuery('.flutuante').each(function(){
    jQuery(this).css({border: 'none'});   
  }); 

  jQuery(document).pngFix();
  
  $j = jQuery;
  initSlideMenu($j);
  /*
	initMenu('menu_noticias');
  initMenu('menu_imprensa');
  initMenu('menu_estudante');
  initMenu('menu_cidadania');
  initMenu('menu_ideia');
	

  jQuery('.menu_home, .menu_contato').hover(function(){
      doHideAllExcept('menu_home');
  },function(){});  
  */
	
  //initFlutuante($j);
  initMouseOverImages($j)
  
  initBannerRotativo($j);
  //initSearchField($j);

  //setLeftCoords($j);
  $j(window).resize(function(){
      //setLeftCoords(jQuery)
  });
	
	jQuery('.contactFormInput, .contactFormInputError, .contactFormTextArea, .contactFormTextAreaError').each(function(){
	 var label = jQuery(this).parent().prev().text();
	 jQuery(this).parent().prev().text('');
	 
	 if (jQuery(this).val() == '') {
		 jQuery(this).data('label',label).val(label)
	 }
	 //jQuery(this).css({border: '1px solid red'});
	})
	.focus(function(){
		if (jQuery(this).val() == jQuery(this).data('label')) {
		  jQuery(this).val('');
		};
	})
	.blur(function(){
		if (jQuery(this).val() == '') {
		   jQuery(this).val(jQuery(this).data('label'));
		}
	});
	
  // Insere evento de click nas imagens flutuantes vHost
  //jQuery('#elemento_119 img, #elemento_142 img, #elemento_162 img, #elemento_169 img').css('cursor','pointer').toggle(function(){replay(1);},function(){stopSpeech();});
  
});
