util={addOnLoad:function(fnc){if(window.onload){var existing=window.onload;window.onload=function(){fnc();existing();}}
else{window.onload=fnc;}},isset:function(variable){return(!(variable===undefined));},getKeyCode:function(e){return((window.event)?event.keyCode:e.charCode);},cmpObj:function(a){var o={};for(var i=0;i<a.length;i++)
{o[a[i]]='';}
return o;},compact:function(ar,i){var compacted=[];if(util.isset(i)){ar[i]=null;}
for(j in ar){if(util.isset(ar[j])&&(ar[j]!=null)){compacted.push(ar[j]);}}
return compacted;},getCaretPosition:function(elm){var iCaretPos=0;if(document.selection){elm.focus();var oSel=document.selection.createRange();oSel.moveStart('character',-elm.value.length);iCaretPos=oSel.text.length;}
else if(elm.selectionStart||elm.selectionStart=='0'){iCaretPos=elm.selectionStart;}
return(iCaretPos);},createCookie:function(name,value,days){if(days){var date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));var expires="; expires="+date.toGMTString();}
else{var expires="";}
value=escape($.toJSON(value));document.cookie=name+"="+value+expires+"; path=/";},readCookie:function(name){var nameEQ=name+"=";var ca=document.cookie.split(';');for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==' ')c=c.substring(1,c.length);if(c.indexOf(nameEQ)==0)return $.evalJSON((unescape(c.substring(nameEQ.length,c.length))));}
return null;},eraseCookie:function(name){createCookie(name,"",-1);},autoCompleteTLDs:["com","net","org","in","uk","fr","it"],isIE6:navigator.userAgent.toLowerCase().indexOf('msie 6')!=-1};String.prototype.ucfirst=function(){var f=this.charAt(0).toUpperCase();return f+this.substr(1);}
String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"");}
String.prototype.ltrim=function(){return this.replace(/^\s+/,"");}
String.prototype.rtrim=function(){return this.replace(/\s+$/,"");}
String.prototype.addSlashes=function(){var str='';str=this.replace(/\\/g,'\\\\');str=this.replace(/\'/g,'\\\'');str=this.replace(/\"/g,'\\"');str=this.replace(/\0/g,'\\0');return str;}
String.prototype.stripSlashes=function(){var str='';str=this.replace(/\\'/g,'\'');str=this.replace(/\\"/g,'"');str=this.replace(/\\\\/g,'\\');str=this.replace(/\\0/g,'\0');return str;}
function changeDivImage()
{var divstylen=new String();divstylen=document.getElementById("soegning").style.visibility;if(divstylen.toLowerCase()=="visible"||divstylen=="")
{document.getElementById("soegning").style.visibility="hidden";}
else
{document.getElementById("soegning").style.visibility="visible";}}
function showHideDiv()
{var divstyle=new String();divstyle=document.getElementById("saetFraSprog").style.visibility;if(divstyle.toLowerCase()=="visible"||divstyle=="")
{document.getElementById("saetFraSprog").style.visibility="hidden";}
else
{document.getElementById("saetFraSprog").style.visibility="visible";}}
$(document).ready(function(){tran.FraSprogListe();tran.hentSprog();if(url_src){tran.saetFraSprog(url_src);}
tran.hentfraTekst();$('#tilfOvstKnap').click(tran.toggleTilfoejOvs);$('#fraTekst').click(tran.fokusPaaInput).blur(tran.toemInput).keydown(tran.seInput).keyup(tran.opdaterHovedOmraade).keyup(tran.findAccents).bind('paste',tran.pasted);});tran={FraSprogListe:function(){var langs=[];for(j in tran.sprogEfterKode){langs.push(j);}
antSprog=langs.length;$('#saetFraSprog').prepend($('<div/>').attr('id','fraSprogBundt').append($('<ul/>').attr('id','fraFlereSprog-1')).append($('<ul/>').attr('id','fraFlereSprog-2')))
for(var i=-1;i<antSprog;i++){var code="auto",sprog="Automatisk",col=1;if(i>-1){code=langs[i];sprog=tran.sprogEfterKode[code];}
if(i>((antSprog-2)/2)){col=2;}
$('#fraFlereSprog-'+col).append($('<li/>').attr('class','fraSprogValg').append($('<a/>').attr('href','#').attr('id','fraSprog-'+code).click(function(){tran.saetFraSprog($(this).attr('id'));}).text(sprog)));if(code==tran.setfraTekstSprog){$('#fraSprog-'+code).addClass('on');}}
$('#saetFraSprog').mouseover(function(){$('#fraSprogBundt').show();}).mouseout(function(){$('#fraSprogBundt').hide();});},toggleTilfoejOvs:function(){if(tran.hovedOmraade=='input'){tran.visTilfoejFlereSprog();}
else{tran.visOvsInput();}
tran.opdaterAktivOvs();},visTilfoejFlereSprog:function(){if(tran.hovedOmraade!='tilfoejSprog'){tran.storeMainHtml=$('.ovsFlere').children().each(function(){$(this).hide();});}
else{$('#vlgOvsTbl').remove();}
tran.hovedOmraade='tilfoejSprog';var numInCol=9,c=0,currTr;tran.sletTilfoejOvsKnap();l=tran.sprogEfterKode;$('.ovsFlere').append($('<table/>').attr('id','vlgOvsTbl'));for(i in l){if(!(i in util.cmpObj(tran.Ovser))){if((c%numInCol)==0){currTr=$('<tr/>');$('#vlgOvsTbl').append(currTr);}
currTr.append($('<td/>').attr('class','selTranTd').append($('<a/>').attr('id','tilfOvstKnap-'+i).attr('href','#').attr('class','ovsKnap go3').click(function(){tran.tilfoejSprog($(this).attr('id'));tran.visTilfoejFlereSprog();}).text(l[i])));c++;}}},visOvsInput:function(){tran.hovedOmraade='input';tran.sletTilfoejOvsKnap();$('#vlgOvsTbl').remove();$('#fraTekst').show();},sletTilfoejOvsKnap:function(){if(tran.hovedOmraade=='tilfoejSprog'){$('#tilfOvstKnap').text('Færdig?').removeClass('addingTrans');}
else{if(tran.Ovser.length>0){$('#tilfOvstKnap').text('+ Flere').addClass('addingTrans');}
else{$('#tilfOvstKnap').text('Tilføj sprog').removeClass('addingTrans');}}},tilfoejSprog:function(code){code=tran.ekstraktKode(code);tran.Ovser.push(code);$('#Ovser').append($('<div/>').attr('id','tran-'+code).attr('class','aOversaetor').append($('<div/>').attr('class','sprog').text(tran.sprogEfterKode[code])).append($('<div/>').attr('id','ovsTekst-'+code).attr('class','oversatTekst')));translate.doOne(code);tran.opdaterAktivOvs();tran.opdaterInputVaerdi();tran.gemOvs();},huskOvs:function(code){code=tran.ekstraktKode(code);var l=tran.Ovser;for(i in l){if(l[i]==code){tran.Ovser=util.compact(l,i);}}
$('#tran-'+code).remove();tran.opdaterAktivOvs();tran.opdaterInputVaerdi();tran.sletTilfoejOvsKnap();tran.gemOvs();},gemOvs:function(){var ovsKoder=[];for(var t=0;t<tran.Ovser.length;t++){ovsKoder[t]=tran.Ovser[t];}
util.createCookie("Ovser",ovsKoder,30);},hentSprog:function(){var Ovser=util.readCookie('Ovser');if(url_trs){url_trs=url_trs.replace(/ /g,'').replace(/%20/g,'');Ovser=url_trs.split(',');}
if(Ovser){if(Ovser.length){for(var t=0;t<Ovser.length;t++){tran.tilfoejSprog(Ovser[t]);}}
if(tran.Ovser.length>0){document.getElementById('fraTekst').focus();}}},hentfraTekst:function(){if(url_txt){if(tran.Ovser.length<1){tran.tilfoejSprog('da');}
$('#fraTekst').val(url_txt.stripSlashes());tran.toemmerInput=false;translate.start();tran.opdaterHovedOmraade();}},opdaterAktivOvs:function(){var complete=false,c=0;while(!complete){$('#aktivOvser').empty();var j=0;for(i in tran.Ovser){$('#aktivOvser').append($('<li/>').attr('class','aktivOvs').append($('<a/>').attr('href','#').attr('id','aktivOvs-'+tran.Ovser[i]).attr('class','go3').text(tran.sprogEfterKode[tran.Ovser[i]]).click(function(){tran.huskOvs($(this).attr('id'));if(tran.hovedOmraade=='tilfoejSprog'){tran.visTilfoejFlereSprog();}})));if((j+1)==((tran.Ovser.length)-c)){break;}
j++;}
if($('#aktivOvs-'+tran.Ovser[0]).offset().top<$('#aktivOvs-'+tran.Ovser[j]).offset().top){c++;}
else{if(c){$('#aktivOvs-'+tran.Ovser[j]).parent().remove();$('#aktivOvser').append($('<li/>').attr('class','aktivOvs').append($('<a/>').attr('href','#').attr('id','aktOvs-flere').attr('class','go3').text((c+1)+' flere')).mouseover(function(){$('#flereAktOvser').show();}).mouseout(function(){$('#flereAktOvser').hide();}));var right=$('.ovsFlere').offset().left+$('.ovsFlere').width();$('#aktOvs-flere').parent().css('width',((right-10)-$('#aktOvs-flere').offset().left)+'px');$('#aktOvs-flere').parent().append($('<ul/>').attr('id','flereAktOvser'));var w=$('#aktOvs-flere').width();for(var k=j;k<tran.Ovser.length;k++){$('#flereAktOvser').append($('<li/>').attr('class','aktivOvs flereAktOvs').append($('<a/>').attr('href','#').attr('id','flereAktOvs-'+tran.Ovser[k]).text(tran.sprogEfterKode[tran.Ovser[k]]).css('width','auto').click(function(){tran.huskOvs($(this).attr('id'));if(tran.hovedOmraade=='tilfoejSprog'){tran.visTilfoejFlereSprog();}})));if($('#flereAktOvs-'+tran.Ovser[k]).width()>w){w=$('#flereAktOvs-'+tran.Ovser[k]).width();}
if((k+1)==tran.Ovser.length){$('#flereAktOvs-'+tran.Ovser[k]).addClass('go3');$('#flereAktOvs-'+tran.Ovser[k]).addClass('gob');}}
for(k=j;k<tran.Ovser.length;k++){$('#flereAktOvs-'+tran.Ovser[k]).css('width',w+'px');}}
$('#flereAktOvser').hide();complete=true;}
if(c>50){break;}}},saetFraSprog:function(code){code=tran.ekstraktKode(code);$('#fraSprog-'+tran.setfraTekstSprog).removeClass('on');tran.setfraTekstSprog=code;$('#fraSprog-'+tran.setfraTekstSprog).addClass('on');if(code=='auto'){$('#fraTekstSprog').html('automatisk');}
else{$('#fraTekstSprog').html(tran.sprogEfterKode[code]);}
translate.start();},ekstraktKode:function(code){if(code.indexOf('-')>-1){code=code.split('-');code=code[1];}
return code;},fokusPaaInput:function(){if(tran.toemmerInput&&(tran.Ovser.length>0)){$('#fraTekst').val('');tran.toemmerInput=false;}},opdaterInputVaerdi:function(){if(tran.toemmerInput){if(tran.Ovser.length>0){$('#fraTekst').val('Her skriver du sætningen du ønsker at få oversat!');}
else{$('#fraTekst').val('Vælg først de sprog du vil have oversat til!');}}},toemInput:function(){if($('#fraTekst').val().trim()==""){tran.toemmerInput=true;tran.opdaterInputVaerdi();}},seInput:function(e){if(tran.Ovser.length<1){e.stopPropagation();e.preventDefault();return false;}
else{var key=(window.event)?event.keyCode:e.keyCode;switch(key){case 9:tran.opdaterInputVaerdi();break;case 13:translate.start();e.stopPropagation();e.preventDefault();return false;break;case 32:translate.start();break;case 27:setTimeout(function(){$('#fraTekst').val("");},100);break;default:setTimeout("translate.ventOgStart('"+$('#fraTekst').val().length+"')",750);break;}}},pasted:function(){setTimeout(function(){translate.start();tran.opdaterHovedOmraade();},20);},opdaterHovedOmraade:function(){if($('#fraTekst').val().trim()!=""){$('#inhold-hoved').hide();$('#Ovser').show();}
else{$('#Ovser').hide();$('#inhold-hoved').show();}},findAccents:function(){var accents={"[`A":192,"[`a":224,"[`E":200,"[`e":232,"[`I":204,"[`i":236,"[`O":210,"[`o":242,"[`U":217,"[`u":249,"['A":193,"['a":225,"['E":201,"['e":233,"['I":205,"['i":237,"['O":211,"['o":243,"['U":218,"['u":250,"['Y":221,"['y":253,"[^A":194,"[^a":226,"[^E":202,"[^e":234,"[^I":206,"[^i":238,"[^O":212,"[^o":244,"[^U":219,"[^u":251,"[~A":195,"[~a":227,"[~N":209,"[~n":241,"[~O":213,"[~o":245,"[:A":196,"[:a":228,"[:E":203,"[:e":235,"[:I":202,"[:i":239,"[:O":214,"[:o":246,"[:U":220,"[:u":252,"[:Y":159,"[:y":255,"[!]":161,"[?]":191,"[C]":199,"[c]":231,"[OE":140,"[oe":156,"[ss":223,"[O]":216,"[o]":248,"[A]":197,"[a]":229,"[AE":198,"[ae":230,"[P]":222,"[p]":254,"[D]":208,"[d]":240,"[S]":138,"[s]":154,"[Z]":142,"[z]":158};var cPos=util.getCaretPosition(document.getElementById('fraTekst'));if(cPos-3>-1){var recent=$('#fraTekst').val().substr(cPos-3,4);var foundAccent=false;var rL=recent.length;for(var a in accents){if(recent.indexOf(a)>-1){recent=recent.replace(a,String.fromCharCode(accents[a]));foundAccent=true;}}
if(foundAccent){$('#fraTekst').val($('#fraTekst').val().substr(0,cPos-3)+recent.substr(0,recent.length)+$('#fraTekst').val().substr(cPos-3+rL));}}},transCSV:function(){var output=[];$.each(tran.Ovser,function(i,val){output.push(val);});return output.join(',');},Ovser:[],toemmerInput:true,hovedOmraade:'input',setfraTekstSprog:'auto',fraTekstSprog:'',fraTekstKode:'',sprogEfterKode:{"af":"Afrikaans","sq":"Albansk","ar":"Arabisk","bg":"Bulgarsk","da":"Dansk","en":"Engelsk","et":"Estisk","tl":"Filippinsk","fi":"Finsk","fr":"Fransk","gl":"Galicisk","el":"Græsk","iw":"Hebraisk","hi":"Hindi","nl":"Hollandsk","be":"Hviderussisk","id":"Indonesisk","ga":"Irsk","is":"Islandsk","it":"Italiensk","ja":"Japansk","yi":"Jiddisch","ca":"Katalansk","zh_CN":"Kinesisk|S","zh_TW":"Kinesisk|T","ko":"Koreansk","hr":"Kroatisk","lv":"Lettisk","lt":"Litauisk","ms":"Malaijsk","mt":"Maltesisk","no":"Norsk","pl":"Polsk","fa":"Persisk","pt":"Portugisisk","ro":"Rumænsk","ru":"Russisk","sr":"Serbisk","sk":"Slovakisk","sl":"Slovensk","es":"Spansk","sv":"Svensk","sw":"Swahili","th":"Thai","cs":"Tjekkisk","tr":"Tyrkisk","de":"Tysk","uk":"Ukrainsk","hu":"Ungarsk","vi":"Vietnamesisk","cy":"Walisisk"}};function dbg(str){if(console){console.info(str);}}
translate={start:function(){tran.value=encodeURI($('#fraTekst').val());if(!tran.toemmerInput){if(tran.setfraTekstSprog=='auto'){$.getJSON('http://ajax.googleapis.com/ajax/services/language/detect?callback=?&v=1.0&q='+tran.value,translate.bestemResultat);return false;}
else{tran.fraTekstKode=tran.setfraTekstSprog;translate.doAll();return false;}}},ventOgStart:function(then){var now=$('#fraTekst').attr('value').length;if(then>=(now-1)){translate.start();}},bestemResultat:function(result){result=result.responseData;if(!result){return;}
var language='unnamed';var code='';if(result.language){for(l in tran.sprogEfterKode){if(l==result.language){language=tran.sprogEfterKode[l];code=l;break;}}
tran.fraTekstSprog=language.toLowerCase();tran.fraTekstKode=code;$('#fraTekstSprog').html(tran.fraTekstSprog.ucfirst()+'<br/><span>automatisk</span>');translate.doAll();}},doAll:function(){for(var t=0;t<tran.Ovser.length;t++){var sprog=tran.Ovser[t];translate.doOne(sprog);}},doOne:function(sprog){sprog=sprog.replace('_','-');if(!tran.toemmerInput){$.getJSON('http://ajax.googleapis.com/ajax/services/language/translate?callback=?&v=1.0&q='+tran.value+'&langpair='+tran.fraTekstKode+'%7C'+sprog,function(result){result=result.responseData;if(!result){return;}
if(result.translatedText){sprog=sprog.replace('-','_');$('#ovsTekst-'+sprog).html(result.translatedText);}});}}};
