// aOverrides is called from aUI()
// This helps for things like Cufon that need to be setup again after an AJAX call

var t; // setTimeout

//function aOverrides()
$(document).ready(function(){
    $(document).mouseup(function(){
        clearTimeout(t);
        var ucp_cookie=getCookie("ucp_nat");
        if(ucp_cookie==null||ucp_cookie==""||ucp_cookie=='standard') return;
        //alert('mouseup!');
        if(window.getSelection!=undefined) 
            text=window.getSelection();
        else if(document.getSelection!=undefined) 
            text=document.getSelection();
        else if(document.selection&&document.selection.createRange()) 
            text=document.selection.createRange().text;
        else text='';
        $('#googletts').remove();
        text=String(text);
        document.getElementById("dummydiv").innerHTML="";
        if(text.replace(/\s/g,'')!=""){
            //text=text.replace(/&/g," and ").replace(/@/g,' at ').replace('"','').replace("'",'').replace('www.','www dot ').replace('.co',' dot co').replace('.net',' dot net').replace('.org',' dot org');
            //alert(text);
            readLongText(split_more(text));
        }
    });
    //for 1.5
    //$(".a-area-body").prepend("<img src='http://www.intelliot.com/blog/wp-content/uploads/2007/12/speaker-icon.jpg' width=28 height=28 style='cursor:pointer' onclick='readLongText(split_more(jQuery.trim($(\".a-area-body\").text())))'></img>")
    //for 1.4
    //$(".a-area-body").prepend("<img src='http://www.intelliot.com/blog/wp-content/uploads/2007/12/speaker-icon.jpg' width=28 height=28 style='cursor:pointer' onclick='readLongText(split_more(document.getElementById(\"a-content\").innerText))'></img>")
});

function readText(text){
    googletts_url="http://translate.google.com/translate_tts?tl=en&q=";
    //document.getElementById("dummydiv").innerHTML='<embed src="'+googletts_url+text+'" hidden="true" autostart="true" loop="false"></embed>';
    document.getElementById("dummydiv").innerHTML='<object width="0" height="0"'
        +'classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"'
        +'codebase="http://www.apple.com/qtactivex/qtplugin.cab">'
        +'<param name="src" value="'+googletts_url+text+'" />'
        +'<param name="autoplay" value="true">'
        +'<param name="controller" value="false">'
        +'<embed src="'+googletts_url+text+'" width="0" height="0"'
        +'autoplay="true" controller="false" pluginspage="http://www.apple.com/quicktime/download/">'
        +'</embed>'
        +'</object>';
}

function split_more(text){
    //text=String(txt);
    text=text.replace(/\n/g,'.').replace(/UCP/g,' U C P ').replace(/&/g," and ").replace(/@/g,' at ').replace(/"/g,'').replace(/'/g,'').replace(/www\./g,'www dot ').replace(/\.co/g,' dot co').replace(/\.net/g,' dot net').replace(/\.org/g,' dot org');
    //alert(text);
    var ar=text.split(/[\.\?!;\\\/]/g);
    var len=97;
    var newAr=new Array();
    var txt;
    var m;
    for(i in ar){
        txt=ar[i];
        //alert(txt);
        while(txt.length>len){
            k=txt.substr(0,len);
            m=k.lastIndexOf(',');
            if(m==-1){
                m=k.lastIndexOf(':');}
            if(m==-1){
                m=k.lastIndexOf(' through ');}
            if(m==-1){
                m=k.lastIndexOf(' since ');}
            if(m==-1){
                m=k.lastIndexOf(' during ');}
            if(m==-1){
                m=k.lastIndexOf(' by ');}
            if(m==-1){
                m=k.lastIndexOf(' in ');}
            if(m==-1){
                m=k.lastIndexOf(' on ');}
            if(m==-1){
                m=k.lastIndexOf(' -');}
            if(m==-1){
                m=k.lastIndexOf(' ');}
            if(m==-1){
                m=k.lastIndexOf('%20');}
            //alert(m);
            if(m==-1) break; // error.Skip it.
            if(m>0){
                newAr.push(txt.substr(0,m));}
            txt=txt.substr(m+1).replace(/^\s+/,'');
        }
        newAr.push(txt);
    }
    return newAr;
}

function readLongText(ar){
    if(ar.length==0) return;
    var temp='';
    while(temp=='') temp=ar.shift();
    var timeout=getLatency(temp);
    readText(temp);
    t=setTimeout(function(){readLongText(ar);},timeout);
}

function readWholePage(classname){
    //classname='a-area-body';
    readLongText(split_more(jQuery.trim(getElementsByClassName(classname)[0].innerText)));
    /*
    if(document.getElementsByClassName!=undefined){
        readLongText(split_more(jQuery.trim(document.getElementsByClassName(classname)[0].innerText)));
    }
    else{
        i=0;
        a=document.getElementsByTagName("div");
        while(elem=a[i++]){
            if(elem.className==classname){
                readLongText(split_more(jQuery.trim(elem.innerText)));
                break;
            }
        }
    }*/
}

function getLatency(text){
    var count=0;
    var time=200; // init latency
    text=String(text);
    // latency by spaces
    count=text.split(/\s/g).length;
    time+=count*220;
    // latency by vowels
    count=text.split(/[aeiouy]/g).length;
    time+=count*200;
    // latency by digits
    count=text.split(/\d/g).length;
    time+=count*500;
    // latency by capital letters
    count=text.split(/[A-Z]/g).length;
    time+=count*200;
    
    return time;
}

