itu sozluk renklensin

By togisama Last update Aug 1, 2009 — Installed 91 times. Daily Installs: 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

There are 12 previous versions of this script.

// ==UserScript==
// @name           itu sozluk renklensin
// @namespace      http://www.itusozluk.com/userinfo.php?user=togisama 
// @description   Yazarların kendi girilerini ve kankalarının girilerini farklı renkte gormesini saglayan bir betik
// @include        http://www.itusozluk.com/*
// ==/UserScript==

var xmlHttp;

getMyName();

function createXMLHttpRequest() {

	if (window.ActiveXObject) 
		xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

	else if (window.XMLHttpRequest)
		xmlHttp = new XMLHttpRequest();
	
}

function getMyName() {

	createXMLHttpRequest();
	var url = "http://www.itusozluk.com/user.php";

	xmlHttp.open("GET", url, true);

	xmlHttp.onreadystatechange = handleStateChange;
	xmlHttp.send(null);
}

function getMyFriends() {

	var url = "http://www.itusozluk.com/ben.php?op=kanka";

	xmlHttp.open("GET", url, true);

	xmlHttp.onreadystatechange = handleFriendsChange;
	xmlHttp.send(null);
}

function handleStateChange() {

	if(xmlHttp.readyState == 4) 
		if(xmlHttp.status == 200) 
			parseResults();
}

function handleFriendsChange() {

	if(xmlHttp.readyState == 4) 
		if(xmlHttp.status == 200) 
			parseFriends();
}

function parseFriends() {

	var myFriends=getFriends(xmlHttp.responseText);
	var giriler;
        var giriCol,backCol;

	for(var i=0;i<myFriends.length;i++)
	{
		giriler=getUserEntries(myFriends[i]);
		
		if(giriler.length>0)
		{
			giriCol=getFontColor(giriler[0].firstChild);
			backCol=getBackColor();
	
			for(var j=0;j<giriler.length;j++)
				setFontColor(giriler[j].firstChild,giriCol,backCol,200,-60);
		}
	}
}

function getFriends(friendstext)
{
	var friends = new Array();

	friendstext=friendstext.substring(friendstext.indexOf('knk'),friendstext.length);

	while(friendstext.indexOf(';knk')>=0)
	{
		friendTemp= friendstext.substring(friendstext.indexOf('\',')+2,friendstext.indexOf('\'\)\;'));
		
		friends.push(friendTemp.substring(friendTemp.indexOf('\',')+3,friendTemp.length));	

		friendstext=friendstext.substring(friendstext.indexOf(';knk')+4,friendstext.length);
	}
	
	friendTemp= friendstext.substring(friendstext.indexOf('\',')+2,friendstext.indexOf('\'\)\;'));
		
	friends.push(friendTemp.substring(friendTemp.indexOf('\',')+3,friendTemp.length));

	return friends;
}

function parseResults() {

	var username=getUserName(xmlHttp.responseText);
	var giriler=getUserEntries(username);
        var giriCol,backCol;

	if(giriler.length>0)
	{
		giriCol=getFontColor(giriler[0].firstChild);
		backCol=getBackColor();

		for(var i=0;i<giriler.length;i++)
			setFontColor(giriler[i].firstChild,giriCol,backCol,40,40);
	}
	
	getMyFriends();
}

function setFontColor(giri,giriCol,backCol,delta,grad)
{
	var r,g,b;
	var indelta=delta;
	var yeniCol = new Array();

	for(var i=0;i<3;i++)
	{
		indelta=indelta+grad;
		if(giriCol[i]<backCol[i])
		{
			yeniCol[i]=(giriCol[i]-indelta);
			if(yeniCol[i]<0)
				yeniCol[i]=giriCol[i]+indelta;
		}
		else
		{
			yeniCol[i]=(giriCol[i]+indelta);
			if(yeniCol[i]>255)
				yeniCol[i]=giriCol[i]-indelta;
		}

		

	}

	giri.style.color="rgb("+ yeniCol[0] +","+ yeniCol[1] +","+ yeniCol[2] +")";

}


function getFontColor(giri)
{
	var rgbVal = new Array();
	var giriColor=document.defaultView.getComputedStyle(giri,'').getPropertyValue("color");

	rgbVal.push(parseInt(giriColor.substring(giriColor.indexOf('(')+1,giriColor.indexOf(','))));
	
	var g= giriColor.substring(giriColor.indexOf(',')+1,giriColor.length);
	rgbVal.push(parseInt(g.substring(g.indexOf(',')+1,g.indexOf(')'))));
	rgbVal.push(parseInt(g.substring(0,g.indexOf(','))));

	return rgbVal;
}

function getBackColor()
{
	var rgbVal = new Array();

	var backColor=document.bgColor.toString();

	rgbVal.push(HexToR(backColor));
	rgbVal.push(HexToG(backColor));
	rgbVal.push(HexToB(backColor));

	return rgbVal;
}

function getUserName(response)
{
	var uname = response.substring(xmlHttp.responseText.indexOf("userinfo.php?user=")+18,xmlHttp.responseText.indexOf("userinfo.php?user=")+51);

	uname=uname.substring(0,uname.indexOf("',"));

	return uname;
}

function getUserEntries(uname)
{
	var entries = new Array();
	var authname;
	var allEntries=document.getElementsByTagName("li");
		
	for(var i=0; i<allEntries.length; i++)
	{
		authname=allEntries[i].childNodes[1].childNodes[0].childNodes[1].childNodes[0].nodeValue;

		if(uname.toString()==authname.toString())
			entries.push(allEntries[i]);
	}

	return entries;
}

function HexToR(h) {return parseInt((cutHex(h)).substring(0,2),16)}
function HexToG(h) {return parseInt((cutHex(h)).substring(2,4),16)}
function HexToB(h) {return parseInt((cutHex(h)).substring(4,6),16)}
function cutHex(h) {return (h.charAt(0)=="#") ? h.substring(1,7):h}