
function getImgSize(imgSrc)
{
var newImg = new Image();
newImg.src = imgSrc;
var height = newImg.height;
var width = newImg.width;
return height + 'x' + width; 
//alert ('The image size is '+width+'*'+height);
}

function sizesEqual(size1, size2)
{
	//return ( size1 == size2 );
	return false;

}

function clickMe()
{
	var stuff = document.getElementById('additional');
	
	if (stuff.className == 'small_article' || count_data() == 1)
	{
		var pict  = getChildren('gallerydata_'+currentId(), 'DIV')[2].innerHTML;
		var thumb  = getChildren('gallerydata_'+currentId(), 'DIV')[1].innerHTML;
		if( !sizesEqual( getImgSize( pict ), getImgSize(thumb) ) ) 
		{
				swapSize();
		}
	}
	else if (stuff.className == 'big_article')
	{
		getInfo('next');
	}
}


function getInfo(type)
{
	var mainPlokk = document.getElementById('additional');
	var picture = document.getElementById('article_picture');
	var information_holder = document.getElementById('mydata_place');
	
	var position;
	var picture_url;
	var itemtype;

	if (type == 'prev')
	{
		position = prevId();
	}
	else if (type == 'next')
	{
		position = nextId();
	}

	itemtype = getChildren('gallerydata_'+position, 'DIV')[0].innerHTML;

	load_me();
	
	picture.onload = function ()
	{
		hideImageLoader();
	};
	

	if (mainPlokk.className == 'small_article')
	{
		picture_url  = getChildren('gallerydata_'+position, 'DIV')[1].innerHTML;
		pictureDesc  = getChildren('gallerydata_'+position, 'DIV')[3].innerHTML;
		picture.src = picture_url;
		picture.alt = pictureDesc;
		picture.title = pictureDesc;
		
	}
	else if (mainPlokk.className == 'big_article')
	{
			//picture.style.display = 'block';
			information_holder.style.display = 'block';
			picture_url = getChildren('gallerydata_'+position, 'DIV')[2].innerHTML;
			pictureDesc = getChildren('gallerydata_'+position, 'DIV')[3].innerHTML;
			picture.src = picture_url;
			picture.alt = pictureDesc;
			picture.title = pictureDesc;
	}

	changePos(position);
	findInfo(position, itemtype);
}

function load_me()
{
	var imgLoader = document.getElementById('image_loader');
	var myPic = document.getElementById('article_picture');

	imgLoader.style.top = Number(findPos(myPic)[1]) + Number(myPic.offsetHeight)/2 - Number(imgLoader.offsetHeight)/2 + 'px';
	imgLoader.style.left = Number(findPos(myPic)[0]) + Number(myPic.offsetWidth)/2 - Number(imgLoader.offsetWidth)/2 + 'px';
	hidemyPicTimeout = window.setTimeout('document.getElementById("image_loader").style.visibility = "visible"', 100);
}

function hideImageLoader()
{
	var imgLoader = document.getElementById('image_loader');
	window.clearTimeout(hidemyPicTimeout);
	imgLoader.style.visibility = 'hidden';
}


function findInfo(somenext, pictureType)
{
	var metadata = document.getElementById('picture_desc');
	var mysource = document.getElementById('author_desc');
	var mytypebox = document.getElementById('mysourcetype');

	metadata.innerHTML = getChildren('gallerydata_'+somenext, 'DIV')[3].innerHTML;
	mysource.innerHTML = getChildren('gallerydata_'+somenext, 'DIV')[4].innerHTML;

	
	try
	{
		var myGallery_pilt = document.getElementById('myGallery_pilt');
		if (myGallery_pilt)
		{
			if (getChildren('gallerydata_'+currentId(), 'DIV')[7].innerHTML)
			{
				myGallery_pilt.style.display = 'block';
				myGallery_pilt.style.marginLeft = (document.getElementById('article_picture').width-170)+'px';
			}
			else
			{
				myGallery_pilt.style.display = 'none';
			}
		}
	}
	catch (e)
	{
	}


	//mytypebox.innerHTML = pictureType+': ';
}


function changePos(nextPos)
{
	var pos = getClassElements('SPAN', 'current_pos');
	for (i=0;i<pos.length;i++)
	{
		pos[i].innerHTML = nextPos;
	}
}

function swapSize()
{
	var picturePlace = document.getElementById('additional');
	var mypics = document.getElementById('article_picture');

	var imgbox = document.getElementById('imgbox');
	
	
	var minus = '-';
	var plus = '+';
	var p_m = getClassElements('LABEL', 'nothing', picturePlace);
	var itemTyyp = getChildren('gallerydata_'+currentId(), 'DIV')[0].innerHTML;

	if (picturePlace.className == 'small_article')
	{
		imgbox.className = "imgbox imgbox-wide";



	load_me();
	mypics.src = getChildren('gallerydata_'+currentId(), 'DIV')[2].innerHTML;
	mypics.onload = function ()
	{
		growPics(picturePlace, p_m, plus, mypics);
		hideImageLoader();
	};
		
	}
	else if (picturePlace.className == 'big_article')
	{
		imgbox.className = "imgbox";
		changeWithSmall(picturePlace, p_m, minus, mypics);
	}
}

function growPics(obj, mymagnet, sLuup, mypics)
{

	var pictype = getChildren('gallerydata_'+currentId(), 'DIV')[0].innerHTML;
	var hiddenNavigation = document.getElementById('hidden_navi_bar');
	var info_place = document.getElementById('mydata_place');
	var pic = document.getElementById('article_picture');
	
	change_plus_minus(mymagnet, sLuup);
	obj.className = 'big_article';

	if (hiddenNavigation != null)
		hiddenNavigation.style.display = 'block';

	
	pic.onload = function ()
	{
		hideImageLoader();
	};
	
}

function changeWithSmall(obj, mymagnet, mydecrem, mypics)
{
	var itemTyyp = getChildren('gallerydata_'+currentId(), 'DIV')[0].innerHTML;
	var ylemNavi = document.getElementById('hidden_navi_bar');
	var allkiriDiv = document.getElementById('mydata_place');
	

	//change_plus_minus(mymagnet, mydecrem);

	if (ylemNavi != null)
		ylemNavi.style.display = 'none';

	mypics.src = getChildren('gallerydata_'+currentId(), 'DIV')[1].innerHTML;

	obj.className = 'small_article';

}


function change_plus_minus(pmArr, new_plus_minus)
{
	for (i=0;i<pmArr.length;i++)
	{
		var arr = pmArr[i].src.split('/');
		arr[arr.length-1] = new_plus_minus;
		pmArr[i].src = arr.join('/');
	}
}


function getData( id )
{
	var andmeBox = document.getElementById('gallerydata_'+id);
}

function prevId()
{
	var prevId;

	if (currentId() == 1)
		prevId = count_data();
	else
		prevId = currentId() - 1;

	return parseInt(prevId);
}

function nextId()
{
	var nextId;

	if (currentId() == count_data())
		nextId = 1;
	else
		nextId = currentId() + 1;

	return parseInt(nextId);
}

function currentId()
{
	var id = getClassElements('SPAN', 'current_pos')[0].innerHTML;
	return parseInt(id);
}

function count_data()
{
	var amount = getClassElements('SPAN', 'pictures_amount')[0].innerHTML;
	return parseInt(amount);
}

function findPos(obj)
{
	var curleft = curtop = 0;
	if (obj.offsetParent)
	{
		do
		{
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		}
		while (obj = obj.offsetParent);
	}
	return [curleft,curtop];
}


function stripTags(str)
{
	return str.replace(/(<([^>]+)>)/ig,'');
}

function trim(str)
{
	return str.replace(/^\s+|\s+$/g,'');
}

function ltrim(str)
{
	return str.replace(/^\s+/,'');
}

function rtrim(str)
{
	return str.replace(/\s+$/,'');
}

function swapDisplay(id)
{
	var element = document.getElementById(id);
	if(element != null)
	{
		if (element.style.display == 'block')
			element.style.display = 'none';
		else
			element.style.display = 'block';
	}
}

function removeChildren(elem)
{
	if (elem.hasChildNodes())
	{
		while (elem.childNodes.length > 0)
		{
			elem.removeChild(elem.firstChild);
		}
	}
}




function getClassElements(htmlTag, elemClass, container)
{
	if (container == null)
	{
		container = document;
	}
	
	var classElements = Array();
	var elements = container.getElementsByTagName(htmlTag);
	

	for (var i=0;i<elements.length;i++)
	{
		if (elements[i].className == elemClass)
		{
			classElements.push(elements[i]);
		}
	}
	return classElements;
}

function getChildren(contId, node)
{
	var cont = document.getElementById(contId);
	var myChilds = cont.childNodes;
	var childs = Array();

	for (i=0;i<myChilds.length;i++)
	{
		if (myChilds[i].nodeName == node)
			childs.push(myChilds[i]);
	}
	return childs;
}