var inforum = false;
var inchat = false;
var wm = '';
var menu_id = '';
$(document).ready(function(){
    //new menu
	   $("#main-nav li").hover(function(){
	       var zmax = 0;
	       var mid = $(this).attr('id');
	       menu_id = mid.substr(5,1);
	       $('*').each(function() {
                var cur = parseInt($(this).css('z-index'));
                zmax = cur > zmax ? cur : zmax;
            });
            
            if(menu_id >= 4 && menu_id < 8){
                wm = is_swf_transparent('bswf');
                if(wm === false){
                    $("#bswf").hide();
                }
            }
            $(this).children('a.parent').addClass('activemenu');    	        
	        $(this).children('.submenuBox').css('z-index',zmax+100).show();
	       
	   
	   }, function(){
	       $(this).children('.submenuBox').hide();
	       $(this).children('a.parent').removeClass('activemenu');
	       if(menu_id >= 4){
	           if(wm === false){
	               $("#bswf").show();
	           }
	       }
	   
	   });
	   	
	   	//end new menu
	
	//make all links with rel external open in new window
	$("a[@rel='external']").click(function(){return !window.open($(this).attr("href"));});
	$("#user-submit").removeAttr("disabled");
	
	init_sidebar_de();

	// hide object e ipad
	var is_ios = false;
	var deviceAgent = navigator.userAgent.toLowerCase();
	if(deviceAgent.match(/(iphone|ipod|ipad)/)){
		is_ios =  true;
	}
	if(is_ios){
		$('object').remove();
	}else{
		$('.ios_flash').remove();
	}
});

function is_swf_transparent(container_id)
{
    var str = $('#'+container_id).html();
    if(str == null){
        return false;
    }
    var p = str.toLowerCase().indexOf("transparent");
    if(p > 0){
        return true;
    }else{
        return false;
    }
}

//ex. bannerTopMedium_,bannerTopMedium,bannerTopMedium_data
function banner_rotate(divid, container_id, data_container_id, bannerInterval)
{
    //try{ console.log('start banner rotate '+divid); }catch(err) { return true; };
    var rotating_banners_data_container = $("#"+data_container_id);
    var rotating_banners_container = $("#"+container_id);
    
    if(rotating_banners_data_container == null || rotating_banners_container == null){
        //try{ console.log('end banner rotate; divs are null'); }catch(err) { return true; };
        return true;
    }
    
    var tbanners = $("#"+data_container_id + ' > div').size();
    
    if(tbanners <= 1){
        //try{ console.log('end banner rotate; no images'); }catch(err) { return true; };
        return true;
    }
    
    var current_rot_banner = rotating_banners_data_container.attr('data');
    
    if(current_rot_banner > tbanners){
        current_rot_banner = 1;
    }
    var cbanner = $("#"+divid+current_rot_banner);
    if(bannerInterval == 0){
        bannerInterval = cbanner.atrr('data');
    }
    
    rotating_banners_container.fadeOut('fast', function() {
        rotating_banners_container.html(cbanner.html());
        rotating_banners_container.fadeIn('fast');
    });
    
    
    current_rot_banner++;
    rotating_banners_data_container.attr('data',current_rot_banner);
    
    //try{ console.log('ran banner rotate; next: '+current_rot_banner); }catch(err) { return true; };
    window.setTimeout(function(){banner_rotate(divid, container_id, data_container_id, bannerInterval);}, bannerInterval);
    
}


function init_sidebar_de(){
	$('div.comunidade ul.tab-controller a').click(function(){
		var elm_id = $(this).attr('id');
		$(this).addClass('active').parent().siblings().find('a').removeClass('active');
		$('div.comunidade div.module-content.'+elm_id).show().siblings('div.module-content').hide();
		return false;
	});
}

///////////////////////////////////////////  USERS //////////////////////////////////////////////////////////////////////////////

function submit_login(){
	$("#user-login-feedback").html('A enviar...');
	
	var user = $("#user").val();
    var pass = $("#password").val();
    
    if(user == '' || pass == ''){
    	$("#user-login-feedback").html('<span class="error">Introduza o login e a password.</span>');
    	return false;
    }
    
    $("#user-submit").attr("disabled","disabled");
    
    $.ajax({
              type:"POST",
              url: "users/login",
              data: "user="+user+"&password="+pass+"&ajx=1",
              success: function(msg){
                 $("#user-panel-new").html(msg); 
                 
                  if(inforum == true){
					//hack for when we're in the forum
					window.parent.document.location.reload();
					//if (top.frames.length>0)
        			//	setTimeout("top.location = window.location;",100);

     			  }else if(inchat == true){
     			    window.setTimeout(function() {
                        window.location.reload();
                    }, 300);
     			  }else{
					if(!msg.match(/user-login-feedback/)){ // no error message
						//window.location.reload();
						document.location.href = '/';
					}
				  }
                
              },
              error: function(msg){
                 $("#user-panel-new").html(msg);
              }

              
     });
     return false;
}

function logout()
{
	$("#feedback").html('A enviar...');
		
	    
    $.ajax({
              type:"GET",
              url: "users/logout/?xhr=1",
              success: function(msg){
                
                 $("#user-panel").html(msg); 
                 
                 if(inforum == true){
					//hack for when we're in the forum
					window.parent.document.location.reload();

     			  }else if(inchat = true){
     			    //wait a bit for chat
					window.setTimeout(function() {
                        window.location.reload()
                    }, 300);
     			  }
                
              },
              error: function(msg){
                 $("#user-panel").html(msg);
              }

              
     });

     return false;
}


///////////////////////////////////////////  \USERS //////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////  EMPRESAS //////////////////////////////////////////////////////////////////////////////

function init_empresas_de()
{  
    $(".lettersheader").unbind( 'click' );
    $(".empresatitle").unbind( 'click' );

    $(".lettersheader").bind('click', function () { 
      $("#empresas").html('A carregar..');
      var letter = $(this).attr('title');
      get_empresas(letter);
      return false;
    });

    $(".empresatitle").bind('click', function () { 
      $("#empresas").html('A carregar..');
      var id = $(this).attr('title');
      get_empresa_by_id(id); 
      return false;
    });
}


function get_empresa_by_id(id)
{
	var url = 'empresas/empresa_ajax/' + id;
  $.get(url, function(data){
      if(data == '') {
        data = 'Registo n&atilde;o encontrado.';
      }
      $("#empresas").html(data);
      init_empresas_de();
  });
}


function get_empresas(letter)
{
	var url = 'empresas/letter_ajax/' + letter;
  $.get(url, function(data){
      if(data == '') {
        data = 'N&atilde;o foram encontradas empresas a come&ccedil;ar pela letra ' + letter;
      }
      $("#empresas").html(data);
      init_empresas_de();
  });
}

/////////////////////////////////////////// \ EMPRESAS //////////////////////////////////////////////////////////////////////////////


///////////////////////////////////////////ARTICLES//////////////////////////////////////////////////////////////////////////////////

function submit_comment_to_noticia()
{
		$("#submit-comment").attr("disabled","disabled");
		$("#comment-feedback").html('A enviar...');
		
		var author = $("#comment-author").val();
		var email = $("#comment-email").val();
		var message = $("#comment-message").val();
		var articles_id = $("#articles-id").val();
		var city = $("#comment-city").val();
		
        $.ajax({
              type:"POST",
              url: "noticias/comment",
              data: "author="+author+"&message="+message+"&email="+email+"&articles_id="+articles_id+"&city="+city,
              success: function(msg){
                 $("#comment-feedback").html(msg); 
              },
              error: function(msg){
                 $("#comment-feedback").html(msg);
                 
              }

              
         });
	     $("#submit-comment").attr("enabled","enabled");
         return false;
}
/////////////////////////////////////////// \ ARTICLES /////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////BANNERS//////////////////////////////////////////////////////////////////////////////////


function load_banner(banner_id, elem_id)
{
  var url = 'banners/get/' + banner_id;
  $.get(url, function(data){
      if(data == '') {
        data = '<strong>Este espa&ccedil;o pode ser seu! Contacte-nos para saber como!</strong>';
      }
      $("#"+elem_id).html(data);
  });
}

/////////////////////////////////////////// \BANNERS ///////////////////////////////////////////////////////////////////////////////


///////////////////////////////////////////POLLS////////////////////////////////////////////////////////////////////////////////////

// Global variable definitions
var JSON_ID = "id";
var JSON_ANSWER = "answer";
var JSON_VOTES = "votes";



$(document).ready(function() {

    $("#pollForm").submit(formProcess);

    if ($("#pollresults").length > 0 ) {
        animateResults();
    }
      
    $("#getResults").click(function() {
    	$("#pollcontainer").fadeOut("slow",function() {
    		$("#pollcontainer").empty();
    		$.getJSON("polls/getresults",loadResults);
    	});
    });

});



function formProcess(event) {

    event.preventDefault();

    var myPollId = $('#pollId').val();
    var myAnswerId = $('input[@name=answer]:checked').val();

    $("#pollcontainer").fadeOut("slow",function() {
    	$("#pollcontainer").empty();
    	$.post("polls", {pollId: myPollId, answerId: myAnswerId}, function(data) {loadResults(data);} , "json");
    });
}



function animateResults() {

  $("#pollresults div").each(function(){
      var percentage = $(this).next().text();
      $(this).css({width: "0%"}).animate({
				width: percentage}, 'slow');
  });

}



function loadResults(data) {

  var totalVotes = 0;
  var percent;

  for (id in data) {
    totalVotes = totalVotes+parseInt(data[id][JSON_VOTES]);
  }
  
  var htmlRes = "<div id='pollresults'><dl class='graph'>\n";

  for (id in data) {
    percent = Math.round((parseInt(data[id][JSON_VOTES])/parseInt(totalVotes))*100);
    htmlRes = htmlRes+"<dt class='bar-title'>"+data[id][JSON_ANSWER]+"</dt><dd class='bar-container'><div id='bar"+data[id][JSON_ID]+"'style='width:0%;'>&nbsp;</div><strong>"+percent+"%</strong></dd><br class='clear'/>\n";
  }
  
  htmlRes = htmlRes+"</dl></div>\n";

  
  $("#pollcontainer").append(htmlRes).fadeIn("slow",function(){
    animateResults();});
  $("#pollmodule").append("Total de votos: "+totalVotes+"");
  

}

/////////////////////////////////////////// \POLLS //////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////// \POPUP //////////////////////////////////////////////////////////////////////////////////

function PopUp(page, myWidth, myHeight) {
	newWind=window.open(page,"popUp","width="+myWidth+",height="+myHeight+",toolbar=no,status=no,scrollbars=yes,location=no,menubar=no,directories=no,resizable=no");
	if(newWind.opener == null) {
		newWind.opener = window;
	}
	else {
		newWind.focus();
	}
}


/////////////////////////////////////////// POPUP ///////////////////////////////////////////////////////////


function PopUpNoScroll(url) {
	newwindow=window.open(url,'name','height=700,width=580');
	if (window.focus) {newwindow.focus();}
	return false;
}

//////////////////////////////////////////boxminute////////////////////////////////////////////////////
var boxminute_contents = '';
var boxminute_lastupdate = '';
var boxminute_feedback = '';
var boxminute_outer = '';
function boxminute_ini()
{
    boxminute_contents = $("#boxminute_contents");
    boxminute_lastupdate = $("#boxminute_lastupdate");
    boxminute_feedback = $("#boxminute-feedback");
    boxminute_outer = $("#boxminute_outer");
    boxminute_outer.animate({scrollTop: boxminute_contents.outerHeight()});
}
function boxminute_refresh()
{
    
    var boxminute_lastupdate_value = boxminute_lastupdate.html();
    boxminute_feedback.html('A actualizar..');
    //do ajax request
    $.ajax({
              type:"GET",
              url: "boxminute/refresh/",
              dataType: 'json',
              data: "last_update="+boxminute_lastupdate_value+'&rand='+Math.random()*11,
              success: function(msg){
                 //alert(msg);
                 if(msg !== ''){
                    
                    boxminute_contents.html(msg.body+'<br/>');
                    boxminute_feedback.html('');
                    //scroll down
                    boxminute_outer.animate({scrollTop: boxminute_contents.outerHeight()});
                    //update date
                    boxminute_lastupdate.html(msg.modified);
                 }
              },
              error: function(msg){
                 boxminute_feedback.html('');
                 
              }

              
         });

}

