var hideoriginalText='ocultar<br />original';
var showoriginalText='exibir<br />original';
var hidetransText='ocultar<br />tradução';
var showtransText='exibir<br />tradução';
var cinemaModeText='<strong><img src="/wp-content/themes/musicaetraducao2/images/expand-arrow.png" alt=" " /> modo<br />cinema!</strong>';
var conventionalModeText='<img src="/wp-content/themes/musicaetraducao2/images/collapse-arrow.png" alt=" " /> modo<br />normal';

// Initial function that calls another functions
function pageLoader() {
    externalLinks(); // External links get a "target=_blank"
    transHider(); // Creates the "hide original" button
    searchForm();
    cinemaMode();
}

// Links pointing to "outside" get a "target=_blank"
function externalLinks(){
    $("a[href^=http]:not([href^="+location.protocol+"//"+location.hostname+"])").addClass("external");
    $("a.external").attr("target","_blank");
}

function searchForm(){
    $('input[name=s]').focus(searchFocus);
    $('input[name=s]').blur(searchBlur);
    searchBlur();
    var sForm=$('input[name=s]').parent();
    sForm.find('input.botao').click(searchSubmit);
}
function searchFocus(){
    if($('input[name=s]').val()==$('input[name=s]').attr('title')) $('input[name=s]').val('');
}
function searchBlur(){
    var st=$('input[name=s]').val();
    if(st && st.replace(/\s/gi,'')=='') $('input[name=s]').val($('input[name=s]').attr('title'));
}
function searchSubmit(){
    var sVal=$('input[name=s]').val().replace(/\s/gi,'');
    if($('input[name=s]').val()==$('input[name=s]').attr('title')) sVal='';
    return sVal!='';
}

// Creates the "hide original" button
function transHider(){
    $("div.content_body").each(function (){
        if(this.innerHTML.toLowerCase().indexOf("<em lang")>-1 || this.innerHTML.toLowerCase().indexOf("<strike")>-1) createHideTrans(this);
    });
}
function createHideTrans(d){
	emclasses();
    saveLines();

	var antesde=d.childNodes[0];

	/*
	var la2=document.createElement("a");
	la2.innerHTML=hidetransText;
	la2.setAttribute("href","#");
	la2.className="toggleT";
	var l2=document.createElement("div");
	l2.appendChild(la2);
	l2.className="toggle_content";
	d.insertBefore(l2,antesde);
	$(la2).click(showHideTrans);
	*/

	var la=document.createElement("a");
	la.innerHTML=hideoriginalText;
	la.setAttribute("href","#");
	la.className="toggleO";
	var l=document.createElement("div");
	l.appendChild(la);
	l.className="toggle_content";
	d.insertBefore(l,antesde);
	$(la).click(showHideOriginal);
}
var originalLines=new Array();
//var transLines=new Array();
function saveLines(){
    //var transLines=$("div.content_body").html().match(/\<em[^\<]*\<\/em\>\<br\>([^\<]*)\</gi);
    //for(l=0;l<transLines.length;l++) transLines[l]=transLines[l].replace(/\<em[^\<]*\<\/em\>\<br\>/gi,'').replace(/\<$/gi,'');
    
    var conta=0;
    lines=$("div.content_body em[lang=en-US]");
    for(l=0;l<lines.length;l++){
        var line=lines[l];
        originalLines[conta]=$(line).html();
        $(line).next().addClass("hidebr");
        var lspan=document.createElement("span");
        lspan.className="span-aux";
        lspan.id="span-"+conta;
        $(line).wrap(lspan);
        conta++;
    }
}
function showHideOriginal(e){
	var lht=$(".toggle_content a.toggleO");
	var odiv=$("div.content_body")[0];
	
	if($(odiv).hasClass("hideoriginal")){
		lht.html(hideoriginalText);
    	$(odiv).removeClass("hideoriginal");
    	includeOriginal();
	}else{
		lht.html(showoriginalText);
    	$(odiv).addClass("hideoriginal");
    	excludeOriginal();
	}
	return false;
}
function includeOriginal(){
    $(".span-aux").each(function(){
        var nline=this.id.replace(/\D/gi,'');
        var line=document.createElement("em");
        line.className="lang_en-US";
        line.setAttribute("lang","en-US");
        line.innerHTML=originalLines[nline];
        
        var lbr=document.createElement("br");
        lbr.className="hidebr";
        
        this.appendChild(line);
        this.appendChild(lbr);
    });
}
function excludeOriginal(){
    $(".span-aux em[lang=en-US]").replaceWith('');
    $("br.hidebr").replaceWith('');
}

function showHideTrans(e){
	var lht=$(".toggle_content a.toggleT");
	var odiv=$("div.content_body")[0];
	
	if($(odiv).hasClass("hidetrans")){
		lht.html(hidetransText);
    	$(odiv).removeClass("hidetrans");
    	includeTrans();
	}else{
		lht.html(showtransText);
    	$(odiv).addClass("hidetrans");
    	excludeTrans();
	}
	return false;
}
function includeTrans(){
}
function excludeTrans(){
}

function emclasses(){
    $(".content_body strong>strike").each(function (){
        var texto=$(this).text();
        $(this).parent().replaceWith('<em lang="en-US">' + texto + '</em>');
    });
    $(".content_body strike>strong").each(function (){
        var texto=$(this).text();
        $(this).parent().replaceWith('<em lang="en-US">' + texto + '</em>');
    });
    $(".content_body em[lang=en-US]").addClass("lang_en-US");
}

function calcPx(obj, prop){
    var retorno=calcIntProp(obj, prop, 'px');
    if(!retorno) retorno=$(obj).attr(prop);
    retorno=parseInt('0'+retorno, 10);
    return retorno;
}
function calcIntProp(obj, prop, unit){
    return parseInt(($(obj).css(prop)+'').replace(unit,''), 10);
}
function cinemaMode(){
    if($('div#content div.content_info object')){
        var larguraObj=calcPx('div#content div.content_info object', 'width');
        var alturaObj=calcPx('div#content div.content_info object', 'height');
        $('div#content div.content_info object').attr('originalWidth', larguraObj);
        $('div#content div.content_info object').attr('originalHeight', alturaObj);

        $('div#content div.content_info object').before('<div class="toggle_content toggle_mode"><a href="#cinema">'+cinemaModeText+'</a></div>');
        $('div#content div.content_info div.toggle_mode a').click(function (){
            if($(this).attr('href')=='#cinema'){
                $(this).html(conventionalModeText).attr('href', '#');
                cinemaOn();
            }else{
                $(this).html(cinemaModeText).attr('href', '#cinema');
                cinemaOff();
            }
            return false;
        });
        if(window.location.hash.toLowerCase()=='#cinema') $('div#content div.content_info div.toggle_mode a').click();
    }
}
function cinemaOn(){
    $('#header, #comments, #footer, .commentform').hide();
    $('div#content').addClass('cinema');
    cinemaResize();
    $(window).bind('resize', cinemaResize);
    $('div#content ul.nav a').each(function (){
        this.href=this.href.replace('#cinema','')+'#cinema';
    })
    window.location.hash='#cinema';
}
function cinemaOff(){
    $('div#content').removeClass('cinema');
    $('#header, #comments, #footer, .commentform').show();
    
    var larguraObj=$('div#content div.content_info object').attr('originalWidth');
    var alturaObj=$('div#content div.content_info object').attr('originalHeight');
    cinemaObjResize(larguraObj, alturaObj);
    
    $(window).unbind('resize', cinemaResize);
    $('div#content ul.nav a').each(function (){
        this.href=this.href.replace('#cinema','');
    })
    window.location.hash='';
}
function cinemaResize(){
    var larguraObj=$('div#content div.content_info object').attr('originalWidth');
    var alturaObj=$('div#content div.content_info object').attr('originalHeight');

    var larguraInfo=calcPx('div#content div.content_info', 'width') - calcPx('div#content div.content_info', 'padding-right') - calcPx('div#content div.content_info', 'padding-left');
    var alturaProp=parseInt(larguraInfo*alturaObj/larguraObj, 10);
    cinemaObjResize(larguraInfo, alturaProp);
}
function cinemaObjResize(largura, altura){
    $('div#content div.content_info object, div#content div.content_info object embed').css({
        'width': largura+'px',
        'height': altura+'px',
    }).attr('width', largura).attr('height', altura);
}

// Calling a initial function that calls other functions...
$(document.ready=function(){pageLoader();});

