/*

(\_/)
(°×°)
(¨)(¨)

this is the work of the bunnyman

*/
// What to start @ the end of the page
function init(){
	facbookinit();
}
// facebook script init
function facbookinit(){
window.fbAsyncInit = function(){
		FB.init({appId: '', status: true, cookie: true, xfbml: true});
	};
	(function() {
		var e = document.createElement('script'); e.async = true;
		e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
		document.getElementById('fb-root').appendChild(e);
	}());
}
function vanish(e){
	e.style.display='none';
}
//---------------IE indexOf---------------//
if(!Array.indexOf){
	Array.prototype.indexOf = function(obj){
		for(var i=0; i<this.length; i++){
			if(this[i]==obj){
				return i;
			}
		}
		return -1;
	}
}
//---------------find class elements---------------//
function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}
//---------------Tweener Class---------------//
function Tweener(target,attr,dest,speed){
	if (typeof(this._Tweener_prototype_called) == 'undefined'){
		this._Tweener_prototype_called = true;
		Tweener.prototype.start = start;
	}

	var i = target.style[attr];
	this.attr 	= intval(i);
	this.dest 	= intval(dest);
	this.speed 	= intval(speed);
	this.accuracy = 10;
	this.start();
	
	function intval (mixed_var, base){
		var type = typeof( mixed_var );
		if (type === 'boolean'){
			return (mixed_var) ? 1 : 0;
		}else if(type === 'string'){
			tmp = parseInt(mixed_var, base || 10);
			return (isNaN(tmp) || !isFinite(tmp)) ? 0 : tmp;
		}else if(type === 'number' && isFinite(mixed_var) ){
			return Math.floor(mixed_var);
		}else{
			return 0;
		}
	}
	
	function start(){
		var myClass = this;
		var step = intval((this.dest - this.attr) / this.speed);
		this.attr += step;
		target.style[attr] = this.attr+"px";
		
		if (Math.round(step*this.accuracy)==0 || isNaN(step)){
			target.style[attr] = this.dest+"px";
		}else{
			function s(){myClass.start();}
			setTimeout(s,30);
		}
	}
}
//---------------Scroll To Top---------------//
function getScrollOfY(){
	var scrollOfY;
	if(typeof(window.pageYOffset)=='number'){
		scrollOfY = window.pageYOffset;
	}else if(document.body &&document.body.scrollTop){
		scrollOfY = document.body.scrollTop;
	}else if(document.documentElement&&document.documentElement.scrollTop){
		scrollOfY = document.documentElement.scrollTop;
	}
	return scrollOfY;
}
function scrollToTop(){
	lolightAll();
	y = getScrollOfY();
	if(y>3){
		window.scrollBy(0,-(y/3));
		scrolldelay = setTimeout('scrollToTop()',30);
	}else{
		window.scrollBy(0,-3);
	}
}
//---------------Scroll To ARTICLE---------------//
var o = 0;
var y = 0;
var r = 10;
var w_h = document.documentElement.clientHeight;
var oldY;
var maxY;
var _e;
var hilight = '#fff';
var lolight = '#f3f3f3';
function scrollItUp(){
	if(oldY!=getScrollOfY()){
		y = getScrollOfY();
		if(y>=(o+r) && -(o-y)>r){
			window.scrollBy(o,-((y-o)/3));
			oldY = y;
			scrolldelay = setTimeout('scrollItUp()',30);
		}else{
			window.scrollBy(o,0);
			_e.style.backgroundColor = hilight;
		}
	}else{
		window.scrollBy(o,0);
	}
}
function scrollItDown(){
	if(oldY!=getScrollOfY()){
		y = getScrollOfY();
		if(y<=o){
			window.scrollBy(o,(o-y)/3);
			oldY = y;
			scrolldelay = setTimeout('scrollItDown()',30);
		}else{
			window.scrollBy(o,0);
		}
	}else{
		window.scrollBy(o,0);
		_e.style.backgroundColor = hilight;
	}
}
function jumpto(id){
	if(document.documentElement.scrollTop==0){
		window.scrollBy(1,1); //(IE FIX)
	}
	var e = document.getElementById(id);
	_e = e;
	oldY = undefined;
	o = e.offsetTop-10;
	y = getScrollOfY();
	lolightAll();
	if(y>o){
		scrollItUp();
	}else{
		scrollItDown();
	}
}
function lolightAll(){
	var arr = getElementsByClass('post');
	for(i=0;i<arr.length;i++){
		arr[i].style.backgroundColor = lolight;
	}
}

function scrollThis(e,dir){
	var totalHeight = e.offsetHeight;
	var holderH = 92;
	if(!(e.style.marginTop)){
		e.style.marginTop=0+'px';
	}
	marginAmount = Number(e.style.marginTop.replace('px',''));
	if(dir=='down' && marginAmount>(-(totalHeight-holderH))){
		if((totalHeight-holderH+marginAmount)<holderH){
			myTweener = new Tweener(e,"marginTop",-(totalHeight-holderH),4);
		}else{
			myTweener = new Tweener(e,"marginTop",(marginAmount-holderH+30),4);
		}
	}else if(dir=='up' && marginAmount<0){
		if(-marginAmount<holderH){
			myTweener = new Tweener(e,"marginTop",0,4);
		}else{
			myTweener = new Tweener(e,"marginTop",(marginAmount+holderH-30),4);
		}
	}
}
function fold(e,h){
	if(!(e.style.height)){
		e.style.height = e.offsetHeight+'px';
	}
	myTweener = new Tweener(e,"height",h,6);
}
//---------------Photo Album---------------//
function image_tweener(){
	document.getElementById('image_holder').style.backgroundImage='';
	var e = document.getElementById('thisImg');
	e.style.width='auto';
	e.style.backgroundImage='none';
	e.style.visibility='visible';
	myTweener = new Tweener(e,'height',250,5);
}
function loadNewImage(e,url,title){
	document.getElementById('image_holder').style.backgroundImage='url(/images/loader.gif)';
	document.getElementById('image_holder').style.height='100px';
	var pic=new Image();
	pic.src= url;
	if(pic.complete){
		var _html="<img id='thisImg' src='"+url+"' alt='' title='' style='width:20px;height:20px;visibility:hidden;' /><div class='image_title_holder'><span class='image_title'>"+title+"</span></div>"
		e.innerHTML=_html;
		image_tweener();
	}
	else{
		var _html="<img id='thisImg' src='"+url+"' alt='' title='' style='width:20px;height:20px;visibility:hidden;' onLoad='image_tweener();' /><div class='image_title_holder'><span class='image_title'>"+title+"</span></div>"
		e.innerHTML=_html;
	}	
}
