var xmlhttp;
var IE = document.all?true:false
function GetXmlHttpObject(){
	if(window.XMLHttpRequest){
		// code for IE7+, Firefox, Chrome, Opera, Safari
		return new XMLHttpRequest();
	}
	if(window.ActiveXObject){
		// code for IE6, IE5
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
	return null;
}
// Set Cookie
function setCookie(c_name,value,expiredays){
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+";path=/"+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
// Get Cookie
function getCookie(c_name){
	if(document.cookie.length>0){
		c_start=document.cookie.indexOf(c_name + "=");
		if(c_start!=-1){
			c_start=c_start + c_name.length+1;
			c_end=document.cookie.indexOf(";",c_start);
			if(c_end==-1){ c_end=document.cookie.length; }
			return unescape(document.cookie.substring(c_start,c_end));
		}
	}
	return "";
}
// Reverse Display //
function ReverseDisplay(d){
	if(document.getElementById(d).style.display == "none"){
		document.getElementById(d).style.display = "";
	}else{
		document.getElementById(d).style.display = "none";
	}
}
function Expand(d){
	if(document.getElementById(d).style.height == "100%"){
		document.getElementById(d).style.height = "0px";
	}else{
		document.getElementById(d).style.height = "100%";
	}
}
var favs = readData();
var update = new RegExp("\|");
if(favs == "" || favs == undefined || favs.match(update) > 0){
	saveData("");
}
var storageid = "kodo-favs";
function saveData(data){
	storageid = "kodo-favs";
	var expt = 360;
	if(!!window.localStorage){
		localStorage[storageid] = data;
		setCookie(storageid, "true", expt);
	}else{
		setCookie(storageid, data, expt);
	}
}
function readData(){
	storageid = "kodo-favs";
	if(!!window.localStorage){
		return localStorage[storageid];
	}else{
		return getCookie(storageid);
	}
}
function fav(id, title){
	favs = readData();
	var re = new RegExp(id);
	if(favs.match(re) > 0){
		alert("This post is already in your favs!");
	}else{
		favs = favs+"::"+id+"|"+title;
		saveData(favs);
		alert("Added to favourites!");
	}
}
function delFav(id){
	favs = readData();
	var re = new RegExp('::'+id+'\|.[^:]+');
	favs = favs.replace(re, "");
	saveData(favs);
	document.getElementById(id).innerHTML = "gone!";
	window.setTimeout(function (){
		document.getElementById(id).style.display = "none";
	}, 1000);
}
function showFavs(){
	if(favs == undefined || favs == ""){
		return;
	}
	list = favs.split("::");
	var favsDiv = document.getElementById("favsList");
	for(n in list){
		if(n == 0) continue;
		nlist = list[n].split("|");
		var newLi = document.createElement('li');
		newLi.setAttribute('id', nlist[0]);
		newLi.innerHTML = '<a href="/k/'+nlist[0]+'">'+nlist[1]+'</a>';
		favsDiv.appendChild(newLi);
	}
}
function reSize(){
	var width = window.getComputedStyle(document.getElementsByTagName("body")[0], null).getPropertyValue("width");
	document.getElementsByTagName("html").item(0).setAttribute("style", "background-position: "+(width.replace(/px/gi, "")-50)+"px center;");
	document.getElementById("code").style.height = (window.innerHeight-380)+"px";
}
if(!IE){
	document.captureEvents(Event.MOUSEMOVE);
}
document.onmousemove = getMouseXY;
var tempX = 0
var tempY = 0
function getMouseXY(e){
	if(IE){
		tempX = event.clientX+document.body.scrollLeft;
		tempY = event.clientY+document.body.scrollTop;
	}else{
		tempX = e.pageX;
		tempY = e.pageY;
	}
	if(tempX < 0){
		tempX = 0
	}
	if(tempY < 0){
		tempY = 0
	}  
	width = window.getComputedStyle(document.getElementsByTagName("body")[0], null).getPropertyValue("width");
	perc = tempX/width.replace(/px/gi, "");
	//perc = perc*(Math.floor(Math.random()*51)+20);
	perc = perc*20;
	//perc = perc*200;
	if(document.getElementById("logo") != undefined){
		document.getElementById("logo").style.webkitTransform = "rotateX("+(perc)+"deg) rotateY("+(perc)+"deg) rotateZ(-"+(perc)+"deg)";
	}
	return true
}
function insertTab(o, e){
	var kC = e.keyCode ? e.keyCode : e.charCode ? e.charCode : e.which;
	if(kC == 9 && !e.shiftKey && !e.ctrlKey && !e.altKey){
		var oS = o.scrollTop;
		if(o.setSelectionRange){
			var sS = o.selectionStart;
			var sE = o.selectionEnd;
			o.value = o.value.substring(0, sS) + "\t" + o.value.substr(sE);
			o.setSelectionRange(sS + 1, sS + 1);
			o.focus();
		}else if(o.createTextRange){
			document.selection.createRange().text = "\t";
			e.returnValue = false;
		}
		o.scrollTop = oS;
		if(e.preventDefault){
			e.preventDefault();
		}
		return false;
	}
	return true;
}
setInterval(function(){ favs = readData(); }, 500);