var a_blogs = new Array();
var a_blogPosts = new Array();

function blog(ob)
{
	this.makeDiv = function()
	{
		var container = document.createElement('div');
		for(var i=0, ln=this.blogPosts.length; i<ln; i++) {
			container.appendChild(this.blogPosts[i].makePost(false));
		}
		makeBlogTeaserDiv(container,this.parentId);
	}
	
	this.dbId = ob.dbId;
	this.blogPosts = Array();
	this.alias = ob.alias;
	this.parentId = ob.parentId;

	for(var i=0, ln=ob.blogPosts.length; i<ln; i++) {
		this.blogPosts[i] = new blogPost(ob.blogPosts[i]);
	}

	this.makeDiv();
}

function blogPost(ob)
{
	this.url = ob.url;
	this.topic = ob.topic;
	this.posted = ob.posted;
	this.alias = ob.alias;
	this.authorId = ob.authorId;
	
	this.makePost = function(showAlias)
	{
		var container = document.createElement('div');
		
		if( this.alias == 'gomorron' || this.alias == 'fridas' )
		{
			container.className = "blogContainer";
			var datum = this.posted.split(" ");
			container.innerHTML = '<a class="blogLink" href="http://blog.st.nu/'+this.alias+'" target="_blank" onfocus="this.blur()">'+datum[0]+' - '+this.topic+'</a>';
		}
		else
		{
			container.className = 'row';
			
			var spanDiv = document.createElement('span');
			spanDiv.className = 'articleDate';
			spanDiv.appendChild(document.createTextNode(this.posted));
			
			var linkDiv = document.createElement('div');
			linkDiv.className = 'linkDiv';
			var aLink = document.createElement('a');
			aLink.href = this.url;
			aLink.target = '_blank';
			aLink.innerHTML = this.topic;
			if( showAlias )
			{
				var authorDiv = document.createElement('i');
				authorDiv.className = 'author';
				authorDiv.innerHTML += '&nbsp;- '+makeReadable(this.alias.replace(/\//gi,""))+'';
			}
			
			var clearer = document.createElement('div');
			clearer.className = 'clearer';
			
			linkDiv.appendChild(aLink);
			if( showAlias && authorDiv ) linkDiv.appendChild(authorDiv);
			container.appendChild(spanDiv);
			container.appendChild(linkDiv);
			
			container.appendChild(clearer);
		}
		return container;
	}
}

function getBlog(alias,numPosts,insertionId)
{
	if( alias.length > 0 && numPosts > 0 && document.getElementById(insertionId) )
	{
		var url = "";
		
		if( alias == "senaste" )
		{
			url = 'http://blog.st.nu/polopolyGetLatest.php?';
		}
		else
		{
			url = 'http://blog.st.nu/polopolyGetBlog.php?';
			url += 'alias='+alias;
		}
		
		url += '&numPosts='+numPosts;
		url += '&parentId='+insertionId;

		var jsonObj = new JSONscriptRequest(url);
		jsonObj.buildScriptTag();
		jsonObj.addScriptTag();
	}
}

function makeBloggerTeaser(arr) 
{
	if( arr ) {
		for(var i=0, ln=arr.length; i<ln; i++) { a_blogs[i] = new blog(arr[i]); }
	}
}

function makeBlogTeaser(arr,parentId)
{
	if( arr && parentId )
	{
		for(var i=0, ln=arr.length; i<ln; i++) { a_blogPosts[i] = new blogPost(arr[i]); }
		
		var container = document.createElement('div');
		for(var i=0, ln=arr.length; i<ln; i++) {
			container.appendChild(a_blogPosts[i].makePost(true));
		}
		makeBlogTeaserDiv(container,parentId);
	}
}

function makeBlogTeaserDiv(postsDiv,parentId)
{
	if( parentId )
	{
		var container = document.createElement('div');
		container.className = "articleTeaser";
		container.appendChild(postsDiv);
		var parent = document.getElementById(parentId).parentNode;
		parent.insertBefore(container,document.getElementById(parentId).nextSibling);
		parent.removeChild(document.getElementById(parentId));
	}
}

function makeReadable(mini)
{
	switch( mini )
	{
		case "nasti": return "Nu &auml;r skrivaren trasig igen";
		case "ledarbloggen": return "Ledarbloggen";
		case "fridas": return "Fridas blogg";
		case "tikare": return "Tikar-bloggen";
		case "maitraiders": return "Maitraiders";
		case "niccis": return "Nicola Stewart";
		case "korslaget": return "K&ouml;rslaget";
		case "kennedy": return "Kennedy Katende";
		case "vaningochvilla": return "V&aring;ning &amp; Villa"; 
		default: return "bloggare";
	}
}