Ikariam Yardımcı Araç Türkçe

By BaRyU Last update Mar 14, 2008 — Installed 1,577 times. Daily Installs: 3, 0, 1, 1, 1, 2, 1, 2, 0, 3, 1, 0, 1, 4, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 2, 0
// ==UserScript==
// @name           Ikariam Yardımcı Araç
// @autor          BaRyU
// @email          maganda_47@hotmail.com
// @namespace      Ikariam
// @description    Ikariam'a bazı yararlı kısayollar ekler.
// @include        http://*.ikariam.net/*
// @exclude        http://board.ikariam.*/
// ==/UserScript==
/*-------------------------------------
Propriétés du script
--------------------------------------*/
var DEBUT=new Date();
var url=document.URL;
var name='KronosLanguage';
var myLanguage = GM_getValue(name+"_","");
if(myLanguage=='') myLanguage='en';

var url=document.URL;//on récupére l'url du site.

if(/fr/.test(url))//en fonction de l'url on prend les regex(dépend de la langue du site).
	var regex=new Array(
		new RegExp(/Terrain|construire/),
		new RegExp(/J/),
		new RegExp(/h/),
		new RegExp(/m/),
		new RegExp(/s/));
	
else if(/org/.test(url))
	var regex=new Array(
		new RegExp(/Free|build/),
		new RegExp(/D/),
		new RegExp(/h/),
		new RegExp(/m/),
		new RegExp(/s/));
else
	var regex=new Array(
		new RegExp(/Terrain|construire/),
		new RegExp(/J/),
		new RegExp(/h/),
		new RegExp(/m/),
		new RegExp(/s/));

//En fonction du language du naviguateur on va utiliser un langage associé.
switch(myLanguage){
	case 'fr':
	var lang=new Array(
		' Fini à ',
		'Fermer',
		'Upgrader plus tard.',
		'File de construction',
		'Ajouter un bâtiment.',
		'Construire dans',
		'heures','minutes et',
		'secondes',
		'valider',
		'Langue utilisée :',
		'Temps d\'exécution',
		'Pas de bâtiment en attente.',
		'Bois',
		'Luxe');
	break;
	
	case 'en':
	var lang=new Array(
	' bitişi ',
	'Kapat',
	'Sonra yükselt.',
	'Inşa listesi',
	'Inşa ekle.',
	'Inşa edilme',
	'saat',
	'dakika ve',
	'saniye',
	'onayla',
	'Kullanılan dil :',
	'Geçikme zamanı',
	'Inşa yok ve bekleniyor.',
	'Odun',
	'Lux');
	break;
	/*
        case 'sp'://Thank to A.Rosemary
        var lang=new Array(
        ' termina a las ',
        'Cerrar',
        'Actualizar más tarde.',
        'Lista de construcción',
        'Añadir edificio.',
        'Construir en',
        'horas',
        'minutos y',
        'segundos',
        'confirmar',
        'Idioma usado :',
        'Tiempo de ejecución');
        break;
	*/
	default:
	var lang=new Array(
	' Fini à ',
	'Fermer',
	'Upgrader plus tard.',
	'File de construction',
	'Ajouter un bâtiment.',
	'Construire dans',
	'heures',
	'minutes et',
	'secondes',
	'valider',
	'Langue utilisée :',
	'Temps d\'exécution',
	'Pas de bâtiment en attente.',
	'Bois',
	'Luxe');
	break;
}



var autor='Kronos(Merwin)';
var name='Kronos';
var version=' 0.2a';
/*-------------------------------------
Création de div, br, link etc...
-------------------------------------*/
function urlBase()
{
	var href= location.href;
	var arret= href.indexOf('?');
	href=href.substr(0,arret);
	return href;
}
function wood(urlSite)
{
	GM_xmlhttpRequest( {
			method: 'GET',
			url : urlSite,
			onload: function(reponse) {
				var wood='';
				wood=reponse.responseText;
					wood=wood.match(/id="valueResource" >\+[0-9]*</);
					if(wood.length!=0){
						wood=wood[0].match(/\+[0-9]*/);
						var idIle=idIleRecup();
						var chemin=document.getElementById('Kronos');
						chemin.appendChild(createBr());
						chemin.appendChild(createLink(lang[13]+'('+wood+')','index.php?view=resource&type=resource&id='+idIle));
					}
				}
		});
}
function trade(urlSite)
{
	GM_xmlhttpRequest( {
			method: 'GET',
			url : urlSite,
			onload: function(reponse) {
				var ress='', trade='';
				var text=reponse.responseText;
				var debut=text.indexOf('id="mainview');
				var fin=text.indexOf('id="valueWorkCosts');
				text=text.substr(debut,fin);
				ress=text.match(/<h1>[a-zA-Zè ]*<\/h1>/);
				ress=ress[0].replace(/<h1>/,'');
				ress=ress.replace(/<\/h1>/,'');
				trade=text.match(/id="valueResource" >\+[0-9]*</);
				if(trade.length!=0){
					trade=trade[0].match(/\+[0-9]*/);
					var idIle=idIleRecup();
					var chemin=document.getElementById('Kronos');
					chemin.appendChild(createBr());
					chemin.appendChild(createLink(ress+'('+trade+')','index.php?view=tradegood&type=tradegood&id='+idIle));
				}
				}
		});
}
function urlParse(url,param)//on récupére une des valeurs get d'une url(son nom est le param.
{
	var chaine=url;//On récupére l'url du site.
	
	chaine=chaine.substring(1);
	var dz=chaine.indexOf("#",0);
	if(dz!=-1) {
	chaine=chaine.substring(0,dz);}
	chaine=chaine+"&";
	if(chaine.indexOf(param,0)!=-1){
	var pos=chaine.indexOf(param,0);
	var pos2=chaine.indexOf("=",pos);
	var pos3=chaine.indexOf("&",pos);
	contenu=chaine.substring(pos2+1,pos3);}
	return contenu;
}

function ajoutCSS(css,parent)
{
	var style = document.createElement('style');
	style.type = 'text/css';
	style.innerHTML = css;
	parent.appendChild(style);
	return style;
}
function createDiv(id,classN,html)// On ajoute un div 
{
	var body, div;// on initialise les variables body et div
	div = document.createElement('div');//on crée le div
	div.id = id;//on lui ajoute l'id
	div.className = classN;//le class
	
	div.appendChild(document.createTextNode(html));//on lui ajoute du texte
	
	//parent.appendChild(div);//et on l'ajoute au parent.
	
	return div;
}
function createLink(nom,href)
{
	var lien=document.createElement('a');//création d'un lien
	lien.setAttribute('href', href);//On ajoute le href
	lien.appendChild(document.createTextNode(nom));//On ajoute le text.
	
	return lien;
}
function link(href)
{
	location.href=href;
}
function createInput(name,type,size,value,id)//fonction de création input
{
	var input= document.createElement('input');
	input.setAttribute('name',name);
	input.setAttribute('type',type);
	if(size != '') input.setAttribute('size',size);
	if(value != '') input.setAttribute('value',value);
	input.setAttribute('id',id);
	return input;
}
function createBr()//fonction de création saut de ligne
{
	return document.createElement('br');
}
function levelBat()// Ajout d'un du level sur les batiments.
{

	var css = '.pointsLevelBat{' +
		'background-color:#FDF8C1;' + 
		'-moz-border-radius: 1em;' +
		'border: 2px solid #918B69;'+
		'border-radius: 1em;' +
		'font-family: Sylfaen, "Times New Roman", sans-serif;' +
		'font-size:12px;' +
		'font-weight:bold;' +
		'text-align:center;' +
		'position:absolute;' +
		'width:18px;' +
		'cursor: pointer;'+
		'height:15px;' +
		'visibility: visible;' +
		'margin-top: 10px;'+
		'margin-left: 25px;'+
		'z-index:50;}';
	var style=ajoutCSS(css,document.getElementById('Kronos'));
	var divContent=document.getElementById('locations');
	if(divContent)
	{
	var href,node,title;
		for(var i = 0; i < 15; i++)
		{
			node=document.getElementById('position'+i).getElementsByTagName('a')[0];
			title = node.title;
			href=node.href;
			if(!(regex[0].test(title)))
			{
				var num = /[0-9]*$/.exec(title);
				var href=node.href;
				div=createDiv('pointLevelBat' + i,'pointsLevelBat',num);
				document.getElementById('position'+i).appendChild(div);
				div.setAttribute('lien', href);
				div.addEventListener('click', function(){window.location.href = this.getAttribute('lien');},true);
				//document.getElementById('Kronos').appendChild(document.createTextNode(href));
				div.style.visibility = "visible";
				div.title = node.title;
			}
		}
	}
}
/*--------------------------------------------------------
Création des fonctions de temps.
---------------------------------------------------------*/
function mktimeMini(Tdays,Thours,Tminuts,Tseconds)//Transforme des variables en temps
{
	var Temps = (Tdays * 86400 + Thours*3600 + Tminuts * 60+ Tseconds*1);
	return Temps;
}
function setTextTime(temps)// Crée le temps de fin.
{
	var Temps = new Date();
	Temps.setTime(Temps.getTime() + temps*1000);
	if(Temps.getMinutes()<10)var Tminuts= '0'+Temps.getMinutes();
	else var Tminuts= Temps.getMinutes();
	if(Temps.getHours()<10)var Thours= '0'+Temps.getHours();
	else var Thours= Temps.getHours();
	if(Temps.getSeconds()<10)var Tseconds= '0'+Temps.getSeconds();
	else var Tseconds= Temps.getSeconds();
	var Temps = lang[0]+Thours+':'+Tminuts+':'+Tseconds;
	return Temps;
}


function constructionTempsFin()//Ajoute le temps de fin de construction des bâtiments.
{
	if(document.getElementById('cityCountdown'))
	{
		var remix= document.getElementById('cityCountdown').innerHTML;
		var sauv=remix;
		remix = remix.replace(regex[1],'');
		remix = remix.replace(regex[2],'');
		remix = remix.replace(regex[3],'');
		remix = remix.replace(regex[4],'');
		var regexp=/ /;
		var tableau=remix.split(regexp);
		var tempsFin = 0;
		if(regex[1].test(sauv) && regex[2].test(sauv)) tempsFin= mktimeMini(tableau[0],tableau[1],0,0);
		else if(regex[2].test(sauv) && regex[3].test(sauv)) tempsFin= mktimeMini(0,tableau[0],tableau[1],0);
		else if(regex[3].test(sauv) && regex[4].test(sauv)) tempsFin= mktimeMini(0,0,tableau[0],tableau[1]);
		else if(regex[1].test(sauv)) tempsFin= mktimeMini(tableau[0],0,0,0);
		else if(regex[2].test(sauv)) tempsFin= mktimeMini(0,tableau[0],0,0);
		else if(regex[3].test(sauv)) tempsFin= mktimeMini(0,0,tableau[0],0);
		else if(regex[4].test(sauv)) tempsFin= mktimeMini(0,0,0,tableau[0]);
		TempsFin2 = setTextTime(tempsFin);
		var test = document.createElement('div');
		test.className='timetofinish';
		var middle = document.createElement('span');
		middle.className='middle';
		var text = document.createTextNode(TempsFin2)
		middle.appendChild(text);
		var after = document.createElement('span');
		after.className='after';

		for(var i = 0; i<15;i++)
		{
			var parent = document.getElementById('position'+i);
			var nbDiv=parent.getElementsByTagName('div');
			if(nbDiv.length > 1)
			{
				if(parent.getElementsByTagName('div')[0].className=='constructionSite')
				{
					parent=parent.getElementsByTagName('div')[1];
					parent.removeChild(parent.getElementsByTagName('span')[3]);
					parent.appendChild(middle);
					parent.appendChild(after);
				}
			}
		}
	}
}
/*---------------------
Ajout du panel dans le menu
---------------------*/
function panelInfo()//Ajoute un element en plus dans le menu.
{
	var panel= document.createElement('div');
	panel.setAttribute('class', 'dynamic');
	var titre=document.createElement('h3');
	titre.setAttribute('class', 'header');
	titre.appendChild(document.createTextNode(name+version));
	var corps=document.createElement('div');
	corps.setAttribute('class','content');
	corps.setAttribute('id','Kronos');
	var footer=document.createElement('div');
	footer.setAttribute('class','footer');
	var script=document.createElement('script');
	script.setAttribute('type','text/css');
	script.appendChild(document.createTextNode('#Kronos{font-align:center;}'));
	panel.appendChild(script);
	
	var saut= document.createElement('br');
	panel.appendChild(titre);
	panel.appendChild(corps);
	panel.appendChild(footer);
	if(document.getElementById('container2'))
	{
	document.getElementById('container2').insertBefore(panel, document.getElementById('mainview'));
	}

}
function options()
{
	var div=createElement('div');
}

function idIleRecup()
{
	//récupération de l'id de la ville :
	if(document.getElementById('cityNav'))
	{
		var text=document.getElementById('cityNav').innerHTML;
		var debut=text.indexOf('view=island&amp;id=');
		var fin=text.length;
		text=text.substr(debut,fin);

		var fin=text.indexOf('" tabindex');
		var href=text.substr(19,fin-19);
		return href;
	}
}
/*------------------------
   /\
/  !   \    Function Principal.
------
------------------------*/
function principal()
{
	panelInfo();
	var chemin=document.getElementById('Kronos');
	var idIle=idIleRecup();
	var base=urlBase();
	wood(base+'?view=resource&type=resource&id='+idIle);
	trade(base+'?view=tradegood&type=tradegood&id='+idIle);
	constructionTempsFin();
	levelBat();



	var list=document.createElement('div');//List des batiments.

	chemin.appendChild(list);
	
	var script = document.createElement('style');
	script.setAttribute('type','text/css');
	script.appendChild(document.createTextNode('\n.popup\n{\nz-index: 1000;\nposition: absolute;\ntop: 30%;\nleft: 35%;\nwidth: 400px;\nheight: 250px;\nbackground-color: #DBB562;\nborder: 3px solid #CE9928;\n}'));
	chemin.appendChild(script);// On inscrit les styles dans le script
	chemin.appendChild(document.createTextNode(lang[10]+' '+navigator.language));
	var FIN=new Date();
	
	chemin.appendChild(createBr());
	chemin.appendChild(document.createTextNode(lang[11]+' : '+(FIN-DEBUT)+'ms'));
	//document.getElementById('Kronos').appendChild(document.createTextNode(myLanguage));
}
principal();//Appel de la fonction principal.









/********************
GreaseMonkey Settings :
********************/
GM_registerMenuCommand("Dili Degiştir", promptLanguage);
function promptLanguage()
{
	var name='Script Dili';
	var myLanguage = GM_getValue(name+"_","");
	var newLanguage = false;
	while(newLanguage!='fr' && newLanguage!='tr' && newLanguage!='pt' && newLanguage!='sp')
	{
	var newLanguage = prompt("Ikariam Koloni Aracı :\n Hangi dili kullanıyorsun?\n(fr:Fransızca; tr:Türkçe; pt: Portekizce) \nLanguage: " +myLanguage);
		if(newLanguage=='fr' || newLanguage=='tr' || newLanguage=='pt' || newLanguage=='sp')
		{
			GM_setValue(name+"_",newLanguage);
			break;
		}
	}
}