var thumbs_url;
var big_url;
var img_url;
var main_xml;
var main_message;
var main_picture_id = 0;
var images_max;
var main_id;
var documenttype;
var language = 'de';
var start_id;

function init(mid)
{
	if(mid)
	{
		start_id = mid;
	}
	else
	{
		start_id = getURLValues('mid');
	}
	getDomain();
}

function initialize()
{
	var css = document.getElementById('css');
	
	if(getURLValues('case') == 'print')
	{
		css.href = 'src/print.css';
		documenttype = 'print';
		language = getURLValues('language');	
	}
	else if(getURLValues('case') == 'preview')
	{
		css.href = 'src/blog.css';
		documenttype = 'preview';
	}
	else
	{
		css.href = 'src/blog.css';
		documenttype = 'html';
	}
	
	var myAjax = new Ajax();
	myAjax.url = 'src/blog.php';
	myAjax.onSuccess=fillContent;
	myAjax.onError=errorHandler;
	myAjax.params = 'case=content&mid='+start_id+"&language="+language;
	myAjax.method = 'POST';
	myAjax.doRequest();
}

function errorHandler(e)
{
	alert('Error: ' + e);
}

function getDomain()
{
	var myAjax = new Ajax();
	myAjax.url = 'domain.php';
	myAjax.onSuccess=setDomain;
	myAjax.onError=errorHandler;
	myAjax.method = 'POST';
	myAjax.doRequest();
}

function setDomain(txt, xml)
{
	thumbs_url = txt+"fotos/small/";
	big_url = txt+"fotos/big/";
	img_url = txt+"src/img/";
	
	initialize();
}

function openWindow(url, name, width, height, status, scroll, resize){
 	fenster = window.open(url, this.name, "width="+width+", height="+height+", status="+status+", scrollbars="+scroll+", resize="+resize);
 	fenster.focus();
}

function getTranslations(e)
{
	var translation_array = new Array();
	translation_array['prev'] 					= {de:'vorherigen Bericht ansehen', en:'to previous report'};
	translation_array['next'] 					= {de:'nächsten Bericht ansehen', en:'to next report'};
	translation_array['comment'] 				= {de:'Kommentar schreiben', en:'write a comment'};
	translation_array['print'] 					= {de:'Bericht drucken', en:'print the diary entry'};
	translation_array['rss'] 						= {de:'RSS-Feed', en:'rss feed'};
	translation_array['comment_by'] 		= {de:'Kommentar von', en:'comment by'};
	translation_array['comment_about'] 	= {de:'Kommentare zum Bericht von: ', en:'Comments about the diary entry by: '};
	translation_array['send_comment'] 	= {de:'Kommentar abschicken!', en:'Submit comment!'};
	translation_array['no_comment'] 		= {de:'Keinen Kommentar schreiben!', en:"cancel"};
	translation_array['submit'] 				= {de:'senden', en:'submit'};
	translation_array['name'] 					= {de:'Dein Name', en:'Your name here'};
	translation_array['email'] 					= {de:'Deine E-Mail-Adresse', en:'Your e-mail address here'};
	translation_array['comment_here'] 	= {de:'Dein Kommentar', en:'Enter your comment here'};
	translation_array['cancel'] 				= {de:'abbrechen', en:'cancel'};
	translation_array['wrote_at'] 			= {de:'schrieb am', en:'wrote at'};
	translation_array['read_more'] 			= {de:'...Text weiter lesen', en:'...read more'};
	translation_array['in_english'] 		= {de:'english', en:'deutsch'};
	translation_array['newsletter_txt'] = {de:'Ich möchte eine E-Mail bei jedem neuen Bericht erhalten', en:'Please send me an e-mail on every new diary entry!'};
	translation_array['saved']					= {de:'Eintrag wurde gespeichert!', en:'Your comment was saved successfully!'};
	translation_array['maps']						= {de:'Google-Maps öffnen', en:'Open Google-Maps'};
	translation_array['show_map']				= {de:'(Karte anzeigen)', en:'(Show map)'};
	
	return translation_array[e][language];
}

function getURLValues(name){

	var url = window.location.search;
	var Ausdruck = new RegExp("("+name+"=)(.*?)(&|$)")
  Ausdruck.exec(url);
 	return RegExp.$2;
}

function validate_email(email){
	
	var Ausdruck = new RegExp("^[A-Za-z\'0-9]+([._-][A-Za-z\'0-9]+)*@([A-Za-z0-9]+([._-][A-Za-z0-9]+))+$");
	var result_array = Ausdruck.exec(email);
	
	if(Ausdruck.exec(email)){
	
		return true;
	}else{
	
		return false;
	}
}

function validate_texts(mc){
	
	if(	mc.value && mc.value != '' && mc.value.toLowerCase() != mc.std_value.toLowerCase()){
		
		return true;
	}else{
	
		return false;
	}
}

function fillContent(txt, xml)
{
			
	if(txt != 'leer')
	{
		if(document.getElementById('start_head_container'))
		{
			var paypal_mc = document.getElementById('paypal_mc');
			
			paypal_mc.style.display = 'none';
			
			var pagelink = document.getElementById('start_head_container');
			pagelink.style.cursor = documenttype == 'html' ? 'pointer' : 'default';
			pagelink.onclick = function(){
				
				if(documenttype == 'html'){
				
					location.href = 'start.html';
				}
			}
			
			var paypal = xml.getElementsByTagName('paypal');
			paypal = paypal[0];
			
			if(paypal){
				
				var amount = paypal.getAttribute('amount');
				var currency = paypal.getAttribute('currency');
				var subject = paypal.getElementsByTagName('subject');
				var altTitle = paypal.getElementsByTagName('altTitle');
				paypal_mc.title = altTitle[0].firstChild.data;
				
				subject = subject[0].firstChild.data;
				
				var email = paypal.getElementsByTagName('email');
				email = email[0].firstChild.data;
				
				if(amount && currency && subject && email){
					//http://www.paypal.com/de_DE/i/btn/btn_donate_SM.gif
					paypal_mc.innerHTML = '<form name="_xclick" action="https://www.paypal.de/cgi-bin/webscr" method="post"><input type="hidden" name="cmd" value="_xclick"><input type="hidden" name="business" value="'+email+'"><input type="hidden" name="item_name" value="'+subject+'"><input type="hidden" name="currency_code" value="'+currency+'"><input type="hidden" name="amount" value="'+amount+'"><input type="image" src="src/img/donate.png" border="0" name="submit" alt="'+paypal_mc.title+'"></form>';

					paypal_mc.style.display = 'block';
				}
			}
			
			return 0;
		}
		
		if(document.getElementById('head_container')){

			var homelink = document.getElementById('head_container');
			homelink.style.cursor = documenttype == 'html' ? 'pointer' : 'default';
			homelink.onclick = function(){
			
				if(documenttype == 'html'){
				
					location.href = 'index.html';
				}
			}
		}
		
		main_xml = xml;
		var title = main_xml.getElementsByTagName('title');
		title = title[0].firstChild.data;
		document.title = title;
		
		if(documenttype == 'print'){
			fillImages();
			fillTexts();
			setPrintStyles();
		}else{
			
			fillImages();
			fillNavigation();
			fillTexts();
			fillComments();
			hideInputComment();
		}
	}
}

function setPrintStyles(){
	
	var pictures_container = document.getElementById('pictures_container');
	var message_body = document.getElementById('message_body');
	
	if(pictures_container.getElementsByTagName('img').length == 0){
		
		pictures_container.style.width = '0px';
		pictures_container.style.height = '0px';
		pictures_container.style.visibility = 'hidden';
		
		message_body.style.cssFloat = 'left';
		message_body.style.width = '660px';
		
		print();
	}
}

function fillNavigation(){

	var message = main_xml.getElementsByTagName('message');
	message = message[0];
	main_id = message.getAttribute('mid');
	var prev = message.getAttribute('prev');
	var next = message.getAttribute('next');
	
	var nav_mc = document.getElementById('message_navi');
	
	nav_mc.innerHTML = '';
	
	var nav_prev = document.createElement('img');
	nav_prev.src = img_url+'prev.gif';
	nav_prev.message_id = prev;
	
	nav_prev.onclick = function(){ 
		
		hideInputComment();
		main_picture_id = 0;
		init(prev);
	}
	
	nav_prev.className = "link";
	nav_prev.title = getTranslations('prev');
	
	var nav_mail = document.createElement('img');
	nav_mail.src = img_url+'mail.gif';
	nav_mail.title = getTranslations('comment');
	nav_mail.className = "link";
	nav_mail.onclick = function(){showInputComment()};
	
	var nav_print = document.createElement('img');
	nav_print.src = img_url+'print.gif';
	nav_print.title = getTranslations('print');
	nav_print.className = "link";
	nav_print.onclick = function(){
		openWindow('start.html?mid='+main_id+'&case=print&language='+language, "Printout the diary entry", 715, 800, 'no', 'yes', 'yes');
	};
	
	var nav_rss = document.createElement('img');
	nav_rss.src = img_url+'rss.gif';
	nav_rss.onclick = function(){ showRss(); }
	nav_rss.title = getTranslations('rss');
	nav_rss.className = "link";
	
	var nav_next = document.createElement('img');
	nav_next.src = img_url+'next.gif';
	nav_next.onclick = function(){ 
	
		hideInputComment();
		main_picture_id = 0;
		init(next); 
	}
	
	nav_next.className = "link";
	nav_next.title = getTranslations('next');
	
	if(prev) { 
		
		nav_mc.appendChild(nav_prev) 
	}else{
		
		nav_mail.style.margin = "0 0 0 15px";
	}
	nav_mc.appendChild(nav_mail);
	nav_mc.appendChild(nav_print);
	nav_mc.appendChild(nav_rss);
	
	if(next) { 
		nav_mc.appendChild(nav_next);
	}else{
		
		nav_rss.style.margin = "0 15px 0 2px";
	}
	
	if(documenttype == 'preview'){
	
		nav_mail.onclick =
		nav_prev.onclick =
		nav_print.onclick =
		nav_rss.onclick =
		nav_next.onclick = '';

		nav_mail.style.cursor =
		nav_prev.style.cursor =
		nav_print.style.cursor =
		nav_rss.style.cursor =
		nav_next.style.cursor = 'default';
	}
	
}

function getImageArray()
{
	var images_array = main_xml.getElementsByTagName('images');
	images_array = images_array[0].getElementsByTagName('image');
	
	images_max = images_array.length-1;
	
	return images_array;
}

function getImage(id, type)
{
	var img_array 	= getImageArray();
	var path 				= documenttype == 'big' ? big_url : thumbs_url;
		
	var img 				= document.createElement("img");
	img.src 				= path + img_array[id].getAttribute('src');
	img.fileName 		= img_array[id].getAttribute('src');
	img.title 			= img_array[id].firstChild ? img_array[id].firstChild.data : '';
	img.w 					= img_array[id].getAttribute('width');
	img.h 					= img_array[id].getAttribute('height');
	img.origW 			= img.w;
	img.origH 			= img.h;
	img.picture_id	= id;
			
	if(img.w >= img.h)
	{
		var w = 312;
    var h	= img.h*w/img.w;
	}
	else
	{
		var h = 234;
    var w	= img.w*h/img.h;
	}
			
	img.w = w;
	img.h = h;
	
	return img;
}

function fillImages(){
	
	var bigImage 	= document.getElementById('bigPicture_mc');
	var thumb_mc 	= document.getElementById('smallPicture_mc');
	var zoom_mc 	= document.getElementById('zoom_mc');
	var picture_navi = document.getElementById('picture_navi');
	
	var img_array = getImageArray();
	
	bigImage.innerHTML = '';
	thumb_mc.innerHTML = '';

	zoom_mc.style.display = 'none';
	
	if(img_array.length > 0)
	{
		if(picture_navi.innerHTML == '')
		{
			var picture_prev 	= document.createElement('img');
			picture_prev.id 	= 'picture_prev';
			picture_prev.src 	= 'src/img/picture_prev.png';
			
			var picture_next 	= document.createElement('img');
			picture_next.id 	= 'picture_next';
			picture_next.src 	= 'src/img/picture_next.png';
			
			picture_navi.appendChild(picture_prev);
			picture_navi.appendChild(picture_next);
		}
		
		bigImage.className = 'bigPicture_img';
		
		for(var i = 0; i < img_array.length; i++)
		{
			var type = documenttype != 'print' ? 'big' : 'thumb';
			var img = getImage(i, type);
			
			img.style.cursor = documenttype != 'print' ? 'pointer' : 'default';

	  	img.onclick = function()
			{
				if(documenttype != 'print')
				{
					preloadImage(this.picture_id);
				}
			}
			
			thumb_mc.appendChild(img);
	
			if(i%6 != 0)
			{
				img.style.margin = '0 0 4px 4px';
			}
		}

		preloadImage(main_picture_id);
	}
	else
	{	
		picture_navi.style.display = 'none';	
		bigImage.className = 'bigPicture_empty';
	}
}

function fillTexts(){
	
	var message = main_xml.getElementsByTagName('message');
	message = message[0];

	var date = message.getElementsByTagName('date');
	date = date[0].firstChild.data;
	
	var city_txt = message.getElementsByTagName('city');
	city_txt = city_txt[0].firstChild.data;	
	
	var head_txt = message.getElementsByTagName('head');
	head_txt = head_txt[0].firstChild.data;
	
	var body_txt = message.getElementsByTagName('body');
	body_txt = body_txt[0].firstChild.data;
	
	main_message = body_txt;
	
	var date_mc = document.getElementById('message_date');
	date_mc.innerHTML = '';
	var date_txt = document.createElement('h2');
	date_txt.innerHTML = date;
	date_mc.appendChild(date_txt);
	
	if( message.getAttribute('english') == 1 && documenttype != 'print'){
		
		var flag = document.createElement('img');
		flag.src = language == 'de' ? 'src/img/flag_en.gif' : 'src/img/flag_de.gif';
		flag.id = 'flag_mc';
		
		var lang_mc = document.createElement("h2");
		lang_mc.id = 'lang_mc';
		lang_mc.innerHTML = getTranslations('in_english');
		
		flag.onclick = function(){
			lang_mc.onclick();
		}
		lang_mc.onclick = function(){
		
			language = language == 'de' ? 'en' : 'de';
			init(main_id);
		}
		
		date_mc.appendChild(flag);
		date_mc.appendChild(lang_mc);
	}

	var city 		= document.createElement("h2");
	var head 	= document.createElement("h1");
	var body 	= document.createElement("h3");
	
	city.innerHTML 			= city_txt;
	head.innerHTML 			= head_txt;
	body.innerHTML 			= body_txt;
	
	var city_mc = document.getElementById('message_city');
	city_mc.innerHTML = '';
	city_mc.appendChild(city);
	
	if( message.getAttribute('maps_xml') == 1 && documenttype != 'print'){
		
		city.innerHTML += ' ' + getTranslations('show_map');
		city.title = getTranslations('maps');
		city.className = "link";
		
		city.onclick = function(){

			showMaps();
		}
	}
	
	
	var head_mc = document.getElementById('message_head');
	head_mc.innerHTML = '';
	head_mc.appendChild(head);
	
	var body_mc = document.getElementById('message_body');
	body_mc.innerHTML = '';
	body_mc.appendChild(body);
}

function fillComments(){
	
	var comments_mc = document.getElementById('comment_head');
	var comments = main_xml.getElementsByTagName('comments');
	
	comments = comments[0];
	comments = comments.getElementsByTagName('comment');
	comments_mc.innerHTML = '';
	
	if(comments.length > 0){

		var p = document.createElement('h2');
		var txt = document.createTextNode(getTranslations('comment_about'));
		comments_mc.appendChild(p);
		p.appendChild(txt);
	}

	for(var i=0; i<comments.length; i++){

		var a = document.createElement('a');
		a.onclick = function()
		{
			hideInputComment();
			showComment(this);
		}
		a.className = "link";

		var obj = new Object();
		obj.owner = comments[i].getAttribute('owner');
		obj.date = comments[i].getAttribute('date');
		obj.email = comments[i].getAttribute('email');
		obj.message = comments[i].firstChild.data;
		a.obj = obj;
		a.title = getTranslations('comment_by') + ' ' + obj.owner;

		var link = document.createTextNode(obj.owner);
		var spacer = document.createTextNode(', ');
		if(i!=0)
		{
			p.appendChild(spacer);
		}

		p.appendChild(a);
		a.appendChild(link);
	}
}

function editMessage(e){
	
	var message_mc = document.getElementById('message_body');
	
	if(e == 'short'){
		
		var message = main_message;
		message = message.substr(0,700);
		message = message.substr(0, message.lastIndexOf(' '));
		message_mc.innerHTML = message;
		message_mc.style.cssFloat = "none";
		
		var a = document.createElement('a');
		a.onclick = function(){editMessage('long')};
		a.className = "link";
		a.style.cssFloat = "right";

		var a_txt = document.createTextNode(getTranslations('read_more'));
		a.appendChild(a_txt);
		message_mc.appendChild(a);
	}else{
		
		message_mc.innerHTML = main_message;
		removeElement('comment_body');
	}
}

function showComment(comment){

	editMessage('short');

	var comments_container = document.getElementById('comments_container');
	var comment_body = document.createElement("div");
	comment_body.id = 'comment_body';
	
	var head_txt = comment.obj.owner + ' ' + getTranslations('wrote_at') + ' ' + comment.obj.date + ':';
	var body_txt = comment.obj.message;	
	var head = document.createElement("h1");
	var body = document.createElement("h3");
	
	head.innerHTML = head_txt;
	body.innerHTML = body_txt;
	
	comment_body.appendChild(head);
	comment_body.appendChild(body);
	
	if(old_comment_body = document.getElementById('comment_body')){
		
		comments_container.replaceChild(comment_body, old_comment_body)
	}else{
	
		comments_container.appendChild(comment_body);
	}
}

function showRss(){
	
	location = 'src/blog.php?case=rss';
}

function sendComment(){
	
	var name_mc = document.getElementById("input_name");
	var email_mc = document.getElementById("input_email");
	var message_mc = document.getElementById("input_message");
	var checkbox_mc = document.getElementById("checkbox");

	name_mc.className = !validate_texts(name_mc) ? 'input_aktiv' : 'input_normal';
	email_mc.className = !validate_email(email_mc.value) ? 'input_aktiv' : 'input_normal';
	message_mc.className = !validate_texts(message_mc) ? 'input_aktiv' : 'input_normal';
	
	if(validate_texts(name_mc)
	&& validate_email(email_mc.value)
	&& validate_texts(message_mc)){
	
		var name 		= encodeURIComponent(name_mc.value);
		var email 	= encodeURIComponent(email_mc.value);
		var message = encodeURIComponent(message_mc.value);
		
		var myAjax = new Ajax();
		myAjax.url = 'src/blog.php';
		myAjax.onSuccess=saveCommentComplete;
		myAjax.onError=errorHandler;
		myAjax.params = 'case=saveComment&mid='+main_id+'&name='+name+'&email='+email+'&message='+message+'&newsletter='+checkbox_mc.checked;
		myAjax.method = 'POST';
		myAjax.doRequest();
	}
}

function saveCommentComplete(txt, xml)
{	
	var tmp_comment = xml.getElementsByTagName('comment')[0];
	var comments 	= main_xml.getElementsByTagName('comments')[0];
	
	var comment = main_xml.createElement('comment')
	comment.setAttribute('owner', tmp_comment.getAttribute('owner'));
	comment.setAttribute('date', tmp_comment.getAttribute('date'));
	
	var commentCData = main_xml.createCDATASection(tmp_comment.childNodes[0].nodeValue);
	comment.appendChild(commentCData);

	comments.appendChild(comment);

	if(xml){
			
		alert(getTranslations('saved'));
	}else{
	
		alert(txt);
	}
	
	hideInputComment();
	fillComments();
}

function hideInputComment(){

	removeElement('input_comment');
	removeElement('comment_body');
}

function showInputComment(){

	editMessage('short');
	removeElement('comment_body');
	setInputComment();
}

function setStandardEvents_Input(mc){
	
	mc.onfocus = function(){
		
		if(!validate_texts(this)){
			
			this.value = '';
			this.className = 'input_normal';

		}
	}
	
	mc.onblur = function(){
		
		if(!validate_texts(this)){
			
			this.value = this.std_value;
		}
	}
	
	mc.title = mc.std_value;
}

function setInputComment(){
	
	var comments_container = document.getElementById('comments_container');
	
	var input_comment = document.createElement("div");
	input_comment.id = 'input_comment';
	
	var name_mc = document.createElement("input");
	name_mc.id = 'input_name';
	
	var email_mc = document.createElement("input");
	email_mc.id = 'input_email';

	var message_mc = document.createElement("textarea");
	message_mc.id = 'input_message';
	
	name_mc.value =
	name_mc.std_value = getTranslations('name');
	
	email_mc.value =
	email_mc.std_value = getTranslations('email');
	
	message_mc.value =
	message_mc.std_value = getTranslations('comment_here');
	
	setStandardEvents_Input(name_mc);
	setStandardEvents_Input(email_mc);
	setStandardEvents_Input(message_mc);

	var cancel_mc = document.createElement("div");
	cancel_mc.innerHTML = getTranslations('cancel');
	cancel_mc.id = 'cancel_btn';
	cancel_mc.title = getTranslations('no_comment');
	cancel_mc.onclick = function(){ hideInputComment();	}
	
	var submit_mc = document.createElement("div");
	submit_mc.innerHTML = getTranslations('submit');
	submit_mc.id = 'submit_btn';
	submit_mc.title = getTranslations('send_comment');
	submit_mc.onclick = function(){ sendComment(); }
	
	var newsletter_mc = document.createElement("div");
	newsletter_mc.id = 'newsletter_mc';

	var check = document.createElement("img");
	var on = img_url + 'checkbox_on.gif';
	var off = img_url + 'checkbox_off.gif';
	
	check.id = 'checkbox';
	check.checked = 1;
	check.src = on;
	
	newsletter_mc.onclick = function(){
		
		if(check.checked == 1){
			
			check.src = off;
			check.checked = 0;
		}else{
			
			check.src = on;
			check.checked = 1;
		}
	}
	
	var checkText = document.createElement("h3");
	checkText.id = 'checkText';
	checkText.innerHTML = getTranslations('newsletter_txt');
	
	input_comment.appendChild(name_mc);
	input_comment.appendChild(email_mc);
	input_comment.appendChild(message_mc);
	input_comment.appendChild(newsletter_mc);
	newsletter_mc.appendChild(check);
	newsletter_mc.appendChild(checkText);
	input_comment.appendChild(cancel_mc);
	input_comment.appendChild(submit_mc);
	
	if(old_input_comment = document.getElementById('input_comment')){
		
		comments_container.replaceChild(input_comment, old_input_comment);
	}else{
	
		comments_container.appendChild(input_comment);
	}
}

function removeElement(element){
	
	var element_obj;
	
	if(element_obj = document.getElementById(element)){
	
		var parent_node = element_obj.parentNode;
		parent_node.removeChild(element_obj);
	}
}

function getAdminModus(){
	
	return false;
}

function  getMid(){
		
	return main_id;
}

function showMaps(){
	
	var maps_mc 	= document.getElementById('maps_container');
	
	var key 			= main_xml.getElementsByTagName('mapkey');
	key 					= key[0].firstChild.data;
	var maincolor = main_xml.getElementsByTagName('document');
	maincolor 		= maincolor[0].getAttribute('maincolor');

	maps_mc.innerHTML = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="maps" width="100%" height="100%"	codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab#version=9,0,29,0"><param name="movie" value="blog_Multiupload/googleMaps.swf" /><param name="wmode" value="transparent"><param name="flashvars" value="key='+key+'&maincolor='+maincolor+'"/><param name="quality" value="high" /><param name="bgcolor" value="#869ca7" /><param name="allowScriptAccess" value="sameDomain" /><embed src="blog_Multiupload/googleMaps.swf" quality="high" bgcolor="#869ca7" wmode="transparent" width="100%" height="100%" name="maps" align="middle" play="true" loop="false" quality="high" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" flashvars="key='+key+'&maincolor='+maincolor+'" /></object>';
	maps_mc.style.display = 'block';
}

function closeMaps()
{
	var maps_mc = document.getElementById('maps_container');
	
	maps_mc.innerHTML = '';
	maps_mc.style.display = 'none';
	
	var bigImg_mc = document.getElementById('bigPicture_mc');
	var bigImg = bigImg_mc.getElementsByTagName('img');
	bigImg = bigImg[0];
}

function showImage(img)
{
	var bigPicture_mc = document.getElementById('bigPicture_mc');
	var src 	= img.src;
	var title = img.title;
	
	var bigImg = bigPicture_mc.getElementsByTagName('img');
	var bigTxt = bigPicture_mc.getElementsByTagName('h4');

	if(bigImg.length == 0){
		
		bigImg = document.createElement("img");
		bigImg.src = src;
		
		var h4 = document.createElement("h4");
		var txt = document.createTextNode(title);
		
		bigPicture_mc.appendChild(bigImg);
		bigPicture_mc.appendChild(h4);
		h4.appendChild(txt);
	}
	else
	{
		bigImg = bigImg[0];
		bigImg.src = src;
		bigTxt[0].id = 'picture_title';
		bigTxt[0].innerHTML = title;
	}
	
	var zoom_mc = document.getElementById('zoom_mc');
	
	if((img.origW > 312 || img.origH > 234) && documenttype != 'print')
	{
		bigImg.title = title;
		bigImg.origW = img.origW;
		bigImg.origH = img.origH;
		
		bigImg.zoomable = true;
		zoom_mc.className = 'zoom_in';
		zoom_mc.style.marginLeft = (-341 + (312 - img.w)/2 + img.w - 16) + 'px';
		zoom_mc.style.display = 'block';
		
		setBigImage(bigImg);
			
		bigImg.onclick = function()
		{
			showBigImage(bigImg);
		}
		
		zoom_mc.onclick = function()
		{
			bigImg.onclick();
		}
		
		bigImg.style.cursor = 'pointer';
	}
	else
	{
		zoom_mc.style.display = 'none';
		zoom_mc.onclick 			= null;
		bigImg.onclick 				= null;
		bigImg.style.cursor 	= 'default';
		bigImg.zoomable 			= false;
	}
	
	bigImg.style.width 	= img.w+'px';
	bigImg.style.height = img.h+'px';
	
	if(images_max > -1)
	{
		var next = document.getElementById('picture_next');
		var prev = document.getElementById('picture_prev');
		var picture_navi = document.getElementById('picture_navi');

		picture_navi.style.marginLeft = (-341+(312-img.w)/2)+'px';
		picture_navi.style.display = 'block';
		
		next.onclick = function(){
			
			preloadImage(main_picture_id+1)
		}
		
		prev.onclick = function(){

			preloadImage(main_picture_id-1)
		}
	}
	
	if(documenttype == 'print')
	{
		print();
	}
}

function setBigImage(image)
{
	var container = document.getElementById('photoshow_mc');
	var container_bg = document.getElementById('photoshow_bg');
	var preloader = document.getElementById('photoshow_preloader_mc');
	
	preloader.style.width 	= image.origW + 'px';
	preloader.style.height 	= image.origH + 'px';
	
	var img = document.createElement('img');
	img.src = image.src;
	
	container.innerHTML = '';
	container.appendChild(img);
	
	var close_mc 	= document.createElement('div');
	close_mc.id 	= 'PhotoShowClose';
	close_mc.style.left = (image.origW - 16) + 'px';
	
	var close_img = document.createElement('img');
	close_img.src = 'src/img/close.png';
	
	close_img.onclick = function()
	{
		container_bg.style.display = 'none';
	}
	
	close_mc.appendChild(close_img);
	container.appendChild(close_mc);
	
	var navi = document.createElement('div');
	navi.id = 'bigPhotoShowNavi';
	
	var picture_prev 	= document.createElement('img');
	picture_prev.id 	= 'picture_prev';
	picture_prev.src 	= 'src/img/picture_prev.png';
		
	var picture_next 	= document.createElement('img');
	picture_next.id 	= 'picture_next';
	picture_next.src 	= 'src/img/picture_next.png';
	
	picture_next.onclick = function()
	{
		preloadImage(main_picture_id+1)
	}
	
	picture_prev.onclick = function()
	{
		preloadImage(main_picture_id-1)
	}
	
	navi.appendChild(picture_prev);
	navi.appendChild(picture_next);
	container.appendChild(navi);
	
	if(image.title != '')
	{
		var title_mc 	= document.createElement('div');
		title_mc.id = 'photoshow_title';
		var title_txt = document.createElement('h2');
		
		title_txt.innerHTML = image.title;
		title_txt.style.maxWidth = (image.origW) + 'px';
		title_txt.style.width = 'auto';
		
		title_mc.appendChild(title_txt);
		container.appendChild(title_mc);
	}
}

function showBigImage(image)
{
	var container_bg = document.getElementById('photoshow_bg');
	var container = document.getElementById('photoshow_mc');

	container_bg.style.display = 'block';
	container_bg.style.width = document.body.clientWidth ? document.body.clientWidth + 'px' : 0;
}

function preloadImage(id)
{	
	if(id > images_max)
	{
		main_picture_id = 0;
	}
	else if(id < 0)
	{
		main_picture_id = images_max;
	}
	else
	{
		main_picture_id = id;
	}
	
	var img 			= getImage(main_picture_id, 'thumb');
	var tmp_img		= new Image();
	
	tmp_img.src 	= big_url + img.fileName;
	tmp_img.title = img.title ? img.title.toString() : ''; 
	tmp_img.w			= img.w;
	tmp_img.h			=	img.h;
	tmp_img.origW	= img.origW;
	tmp_img.origH	= img.origH;
			
	setPreloader(true);
	checkImageLoadingStatus(tmp_img);
}

function checkImageLoadingStatus(img){

	if(img.complete)
	{
		setPreloader(false);
		showImage(img);	
	}
	else
	{
		window.setTimeout(function(){ checkImageLoadingStatus(img); }, 500);
	}
}

function setPreloader(stat)
{
	var preloader_mc = document.getElementById('preloader_mc');
	var preloader_showPicture = document.getElementById('photoshow_preloader_mc');
	
	if(stat)
	{
		preloader_mc.style.display = 'block';
		preloader_showPicture.style.display = 'block';
	}
	else
	{
		preloader_mc.style.display = 'none';
		preloader_showPicture.style.display = 'none';
	}
}