
// HANDLE WINDOW.ONLOAD:s ----------------------------------------------------

if (document.getElementById && document.getElementsByTagName && document.createTextNode) {
	window.onload = init;
}

var onLoads = new Array;

function init() {
	for (var i = 0; i < onLoads.length; i++) {
		eval(onLoads[i]);
	}
}

function addOnLoad(func) {
	onLoads[onLoads.length] = func;
}


// EXTRA FUNCTIONS -----------------------------------------------------------

function getElementsByClassName(elementType, className) {
	allElements = document.getElementsByTagName('BODY')[0].getElementsByTagName(elementType);
	for( i = 0 ; i < allElements.length ; ++i ) {
		if( allElements[i].className == 'form_basic' ) {
			return allElements[i];
		}
	}
}


// SIDEBAR ------------------------------------------------------------------

addOnLoad("INSIDE_sidebar.init()");

var INSIDE_sidebar = {
	init : function() {
		$(".categories a").wrapInner("<span></span>");
	}
}



// FIX ALIGNED IMAGES -------------------------------------------------------

addOnLoad("INSIDE_images.init()");

var INSIDE_images = {
	init : function() {
		var imgs = document.getElementById('content').getElementsByTagName('img');
		for( i = 0 ; i < imgs.length ; ++i ) {
			// Assign a class to the img to replace the HTML align-attribute
			if( imgs[i].getAttribute('align') == 'left' || imgs[i].getAttribute('align') == 'right' ) {
				imgs[i].className = imgs[i].getAttribute('align');
				imgs[i].removeAttribute('align');
			}	else if( imgs[i].className.indexOf('alignleft') != -1 ) {
				imgs[i].className = 'left';
			}	else if( imgs[i].className.indexOf('alignright') != -1 ) {
				imgs[i].className = 'right';
			}
		}
		
		// Remove all alt-attributes that contains only the image-name
		$("#content .post img[alt$='.jpg']").removeAttr("alt");
		$("#content .post img[alt$='.gif']").removeAttr("alt");
		$("#content .post img[alt$='.png']").removeAttr("alt");				
		
		// Fix the images that contains a by-line by wrapping the image with a container together with the text from the alt-attribute
		// If an A-tag wraps the image it will also add a hover-effect
		$("#content .post img[alt!='']").wrap('<span></span>');
		var posts = $("#content .post");
		for( j = 0 ; j < posts.length ; ++j ) {
		
		var imgs = posts[j].getElementsByTagName('img');
		for( i = 0 ; i < imgs.length ; ++i ) {
			if( imgs[i].parentNode.className != 'snap_noshots' ) {
			if( imgs[i].className == 'left' ) {
				imgs[i].removeAttribute('style');			
				if( imgs[i].parentNode.parentNode.tagName.toLowerCase() == 'a' ) {
					imgs[i].parentNode.parentNode.className = 'img_left';				
					imgs[i].parentNode.parentNode.style.width = imgs[i].offsetWidth + 'px';
					imgs[i].parentNode.parentNode.title = imgs[i].alt;
					imgs[i].parentNode.className = '';
					INSIDE_images.EF_hover( imgs[i].parentNode.parentNode, posts[j].id );
				} else {
					imgs[i].parentNode.className = 'img_left';				
					imgs[i].parentNode.style.width = imgs[i].offsetWidth + 'px';
					INSIDE_images.EF_hover( imgs[i].parentNode, posts[j].id );				
				}
			} else if( imgs[i].className == 'right' ) {
				imgs[i].removeAttribute('style');
				if( imgs[i].parentNode.parentNode.tagName.toLowerCase() == 'a' ) {
					imgs[i].parentNode.parentNode.className = 'img_right';				
					imgs[i].parentNode.parentNode.style.width = imgs[i].offsetWidth + 'px';
					imgs[i].parentNode.parentNode.title = imgs[i].alt;
					imgs[i].parentNode.className = '';
					INSIDE_images.EF_hover( imgs[i].parentNode.parentNode, posts[j].id );										
				} else {
					imgs[i].parentNode.className = 'img_right';				
					imgs[i].parentNode.style.width = imgs[i].offsetWidth + 'px';	
					INSIDE_images.EF_hover( imgs[i].parentNode, posts[j].id );									
				}
			} else {
				if( imgs[i].parentNode.parentNode.tagName.toLowerCase() == 'a' ) {
					imgs[i].parentNode.parentNode.className = 'img_large';				
					imgs[i].parentNode.parentNode.style.width = imgs[i].offsetWidth + 'px';	
					imgs[i].parentNode.parentNode.title = imgs[i].alt;					
					INSIDE_images.EF_hover( imgs[i].parentNode.parentNode, posts[j].id );								
				} else {
					imgs[i].parentNode.className = 'img_large';				
					imgs[i].parentNode.style.width = imgs[i].offsetWidth + 'px';	
					INSIDE_images.EF_hover( imgs[i].parentNode, posts[j].id );													
				}				
			}
			imgs[i].byline = document.createElement('span');
			imgs[i].byline.className = 'byline';
			imgs[i].byline.appendChild(document.createTextNode(imgs[i].getAttribute('alt')));
			imgs[i].parentNode.appendChild(imgs[i].byline);
			imgs[i].removeAttribute('alt');
			imgs[i].className = '';			
			}
			}
			$('a[@rel=lightbox-' + posts[j].id + ']').lightbox();
		} 
	},
	
	EF_hover : function( obj, postID ) {
		var obj_over = document.createElement('span');
				obj_over.className = 'EF_over';
				obj_over.style.width = ( obj.offsetWidth - ( 12 * 2 ) ) + 'px';
				obj_over.style.top = ( ( obj.offsetHeight / 2 ) - 16 ) + 'px';
				obj.appendChild( obj_over );
				obj.className = obj.className + ' EF_over';
				
				// Add hover via Javascript for IE6
				if( navigator.userAgent.indexOf('MSIE 6.0') != -1  ) {
					obj.onmouseover = function() {
						if( this.getElementsByTagName('span')[2] && this.getElementsByTagName('span')[2].className.indexOf('EF_over') != -1 ) {
							this.getElementsByTagName('span')[2].style.visibility = 'visible';
						} else if( this.getElementsByTagName('span')[1] && this.getElementsByTagName('span')[1].className.indexOf('EF_over') != -1 ) {
							this.getElementsByTagName('span')[1].style.visibility = 'visible';
						} else if( this.getElementsByTagName('span')[0] && this.getElementsByTagName('span')[0].className.indexOf('EF_over') != -1 ) {
							this.getElementsByTagName('span')[0].style.visibility = 'visible';
						}						
					}
					obj.onmouseout = function() { 
						if( this.getElementsByTagName('span')[2] && this.getElementsByTagName('span')[2].className.indexOf('EF_over') != -1 ) {
							this.getElementsByTagName('span')[2].style.visibility = 'hidden';
						} else if( this.getElementsByTagName('span')[1] && this.getElementsByTagName('span')[1].className.indexOf('EF_over') != -1 ) {
							this.getElementsByTagName('span')[1].style.visibility = 'hidden';
						} else if( this.getElementsByTagName('span')[0] && this.getElementsByTagName('span')[0].className.indexOf('EF_over') != -1 ) {
							this.getElementsByTagName('span')[0].style.visibility = 'hidden';
						}		
					}				
				}
				// Add the Lightbox effect
				obj.rel = 'lightbox-' + postID;		
	}
}