var $j = jQuery.noConflict();
jQuery.fn.exists = function(){return jQuery(this).length>0;}

function initArea(el,theArea,align,fixPos){
  elPos= el.offset();
  elWidth= el.width()+parseInt(el.css("paddingLeft"))+parseInt(el.css("paddingRight"))-fixPos;
  elHeight= el.height()+(0+parseInt(el.css("paddingTop")))+(0+parseInt(el.css("paddingBottom")));
  
  if(theArea.css("padding-left")){loginPaddingLeft=parseFloat(theArea.css("padding-left"));}else{loginPaddingLeft=0;}
  if(theArea.css("padding-right")){loginPaddingRight=parseFloat(theArea.css("padding-right"));}else{loginPaddingRight=0;}
  if(theArea.css("padding-top")){loginPaddingTop=parseFloat(theArea.css("padding-top"));}else{loginPaddingTop=0;}
  if(theArea.css("padding-bottom")){loginPaddingBottom=parseFloat(theArea.css("padding-bottom"));}else{loginPaddingBottom=0;}
  
  loginWidth = theArea.width() + loginPaddingLeft + loginPaddingRight;
  loginHeight = theArea.height() + loginPaddingTop + loginPaddingBottom;
  
  if(align=="right"){
    leftPos=elPos.left-(loginWidth-elWidth);
  }else if(align=="left"){
    leftPos=elPos.left;
  }
  topPos=elPos.top+elHeight;
  
  theArea.css('position','absolute');
  theArea.css('left',leftPos+"px");
  theArea.css('top',topPos+"px");
}

function showArea(el,theArea){
  if(theArea.css("display")=="none"){
    theArea.slideDown();
    el.addClass("appBtnActive");
    msj=$j(el).attr("title");
    if(msj){
      $j("#txtComentario",theArea).text(msj);
    }
  }else{
    hideArea(el,theArea);
  }
}

function hideArea(el,theArea){
  if(theArea.css("display")!="none"){
    theArea.slideUp();
    el.removeClass("appBtnActive");
  }
}

function scrollTo(target){
  var targetOffset = target.offset().top;
  $j('html,body').animate({scrollTop: targetOffset}, 1000);
  return false;
}

function addTopLinksAfter(theElements, theTarget){
  $j(theTarget).attr('id','gotoTOC');
  theElements.each(function(){
    enlace=document.createElement("a");
    $j(enlace).html("Ir arriba");
    $j(enlace).addClass('enlaceIrArriba');
    $j(this).after($j(enlace));
    $j(enlace).click(function(){scrollTo($j("#gotoTOC")); return false;});
  });
}


$j(document).ready(function(){

  if($j("#btn-myspeak").exists()){
    initArea($j("#btn-myspeak"),$j("#loginArea"),"right",12);
    $j("#btn-myspeak").click(function(){showArea($j("#btn-myspeak"),$j("#loginArea"));return false;});
  }
  
  if($j("#btnPideInformacion").exists()&&$j("#formularioInformacion").exists()){
    $j("#btnPideInformacion").click(function(){scrollTo($j("#areaInformacion"));showArea($j("#btnPideInformacion"),$j("#formularioInformacion"));return false;});
    $j("#formularioInformacion").hide();
  }
  
  if($j("#bannerInfo").exists()){
    $j("#bannerInfo").click(function(){scrollTo($j("#areaInformacion"));showArea($j("#bannerInfo"),$j("#formularioInformacion"));return false;});
    $j("#cerrarFormularioInformacion").click(function(){showArea($j("#cerrarFormularioInformacion"),$j("#formularioInformacion"));return false;});
  }
  
  if($j("#btnAprenderIdiomas").exists() && $j("#menuIdiomas").exists()){
    initArea($j("#btnAprenderIdiomas"),$j("#menuIdiomas"),"left",0);
    $j("#btnAprenderIdiomas").click(function(){showArea($j("#btnAprenderIdiomas"),$j("#menuIdiomas"));return false;});
    $j("#btnAprenderIdiomas").blur(function(){hideArea($j("#btnAprenderIdiomas"),$j("#menuIdiomas"));return false;});
  }
  
  if($j("#btnTraducciones").exists()){
    initArea($j("#btnTraducciones"),$j("#menuTraducciones"),"left",0);
    $j("#btnTraducciones").click(function(){showArea($j("#btnTraducciones"),$j("#menuTraducciones"));return false;});
    $j("#btnTraducciones").blur(function(){hideArea($j("#btnTraducciones"),$j("#menuTraducciones"));return false;});
  }
  
  if($j(".toc").exists()){
    addTopLinksAfter($j(".notaTexto h2"),$j(".toc")[0]);
    $j(".toc ol li a").each(function(){
      $j(this).click(function(){
        enlace=$j(this).attr('href'); 
        if (enlace.indexOf("#") != -1) {
          enlace=enlace.substr(location.href.indexOf("#"));
          scrollTo($j(enlace));
        }
        return false;
      });
    });
  }
});
$j(window).resize(function(){
  if($j("#btn-myspeak").exists()){initArea($j("#btn-myspeak"),$j("#loginArea"),"right",12);}
  if($j("#btnAprenderIdiomas").exists()&&$j("#menuIdiomas").exists()){initArea($j("#btnAprenderIdiomas"),$j("#menuIdiomas"),"left",0);}
  if($j("#btnTraducciones").exists()&&$j("#menuTraducciones").exists()){initArea($j("#btnTraducciones"),$j("#menuTraducciones"),"left",0);}
});
