O CEO da Microsoft, Steve Ballmer, e o CEO da Skype, Tony Bates, anunciam que eles entraram em um acordo definitivo sob o qual a Microsoft ira adquirir hoje a Skype S.A., uma empresa lider em comunicacoes na Internet, do grupo de investidores liderado pela Silver Lake por US$ 8,5 bilhoes.O Skype ira oferecer suporte a dispositivos como o Xbox e Kinect, Windows Phone e uma vasta gama de dispositivos do Windows, e a Microsoft ira conectar usuarios do Skype com o Lync, Outlook, Xbox Live e outras comunidades. A Microsoft continuara a investir e apoiar os clientes do Skype em outras plataformas que nao os da Microsoft, como Linux e Mac OS X. Veja abaixo o Live Webcast do pronunciamento:Ligacoes externasMicrosoft to Acquire Skype: Combined companies will benefit consumers, businesses and increase market opportunity (em ingles)Microsoft will acquire Skype (em ingles) Uma boa pratica em programacao e separar o codigo por proposito. As paginas web podem ser separadas em tres partes: estrutura (HTML), apresentacao (CSS) e funcionalidade (JavaScript). Em relacao ao CSS, essa separacao pode ser feita atraves de classes e ids declaradas em um arquivo externo e, aplicadas aos elementos HTML. Ja em JavaScript, usa-se event listeners. Aprenda neste tutorial o que sao e como usa-los.Clique aqui e aprenda a desenvolver com jQuery!O que e um evento?Evento sao acoes relacionadas ao estado da pagina e seus elementos. Quando voce clica um botao, e lancado o evento onclick, por exemplo.O que e um event listener?Um event listener e uma funcao associada a um evento de um elemento HTML. Dentro dessa funcao, o comando this serve como uma referencia ao elemento que acionou o event listener. E comum o uso de atributos relacionados a eventos, como onclick e onfocus, mas deste modo, nao ha separacao e a funcao fica comprimida em uma linha, o que nao e bom para scripts grandes. Tambem e possivel chamar uma funcao atraves desses atributos, mas desta forma se perde um pouco da flexibilidade. A forma ideal e adiciona-los usando a funcao addEventListener(), ou o atributo relacionado ao evento, dentro do JavaScript. Veja o exemplo:window.onload = function() // Quando a pagina estiver carregada{ // onmouseover document.getElementById('alerta').addEventListener('mouseover', function() { this.style.color = 'red'; // Modifica a cor do texto }, false); // onmouseout document.getElementById('alerta').onmouseout = function() { this.style.color = 'black'; // Modifica a cor do texto }}<input type="button" value="Pressione-me" id="alerta" />E importante que os event listeners sejam adicionados apenas apos a pagina ter sido carregada completamente (por isso o uso do evento window.onload). A funcao elemento.addEventListener(type, listener, useCapture) recebe tres parametros: o primeiro e uma string contendo o nome do evento (sem o "on", por exemplo: "click" para o evento onclick), o segundo e um ponteiro para a funcao que sera o event listener.Flexibilidade dos event listenersUma das vantagens do event listener sobre os atributos de eventos do HTML e a sua flexibilidade, permitindo escolher a funcao a ser usada atraves de uma dada condicao. Veja o exemplo:function eventListener1(){ this.style.color = 'black';}function eventListener2(){ this.style.color = 'red';}window.onload = function() // Quando a pagina estiver carregada{ // Aplica este event listener