/* --------------------------------------------
Created by Mikael Norrgård 2010 (http://www.seesharp.fi) 
and Raine Rimpilä + Tapio Nurminen, 2009-2010 (www.floapps.com)

Released under the GPL license.
----------------------------------------------*/

var g_emptySpaceOnRight = 50;
var g_scrollbarWidth = 20;
var g_spaceForTop = 233;
var g_SecondRowAdded = false;
var g_onSecondRow = false;
var g_searchfilterHeight = 80;
var g_isMouseOverMenu = false;
var g_allVariantsClicked = false;

function initializeJavascript() {
	// Hide the prevnext links
	$("#prevNext").hide(0);
    
    $(window).resize( function () 
    {
        var newHeight = countColumnHeight();
        $("#dynamicColumns").find(".column").height(newHeight);
		$("#dynamicColumns").find(".helpercolumn").height(newHeight-118);
    });
    
    /*$('a.addNew').click(function(event) 
    {
        event.preventDefault();

		$('.helperwrapper').remove();

        newColumn(0);        
        $('#dynamicColumns').show(400);
    });*/

	//$("a.iframe").fancybox();
    
    /*$('a.permalink').click(function(event) 
    {
        event.preventDefault();
        togglePermalink();
    });*/

	$(function() { 
		// find all the input elements with title attributes
		$('input[title!=""]').hint();
	});

	$('#quicksearch').keyup(function(e)
	{	
		if(e.keyCode == 13 && $(this).val().length > 0) {
			document.searchForm.submit();
		}
	});

	$('.submitSearch').click(function()
	{	
		if($('#quicksearch').val().length > 0 && $('#quicksearch').hasClass("blur") == false) {
			document.searchForm.submit();
		}
	});

	$('.submitAdvSearch').click(function()
	{	
		document.searchCriteria.submit();
	});

    $('.hidden,#navBar').hide();

    setNavigationScript();

	$("input[name='limitSearch']").live('change', rdoLimitSearchChange);
	$("input[name='personType']").live('change', rdoPersonTypeChange);
	$(".personOptions span").live('click', personListLetterClicked);
	$("span.personDesc", ".personlist").live('click', personDescClicked);

	// Lästextens visningslägen TODO Remove
    $('span.toggleSettings').click(function() 
    {
        if ($(this).data('status') == "open") {
            $(this).text(g_lang["visning"]).data('status', 'closed'); }
        else {
            $(this).text(g_lang["visning_gom"]).data('status', 'open'); }
        $('#settings').toggle(400);
    });

	$('a.smallwindow').live('click', openSmallWindow);
	$('a.bigwindow').live('click', openBigWindow);
    
    $('a.varianter').live('click', showAllVariants);

	$('.ms_style').live('click', msStyleChange);

	$("input[name='rdoFont']").change(rdoFontChange);

	$("#fontSize").change(fontSizeChange);

	$('#paragraphBreak').click(paragraphBreakChange);

	if ($('#personShow').attr('checked')) 
    {
        $('<style type="text/css" id="personStyle">span.person {background-color: #e5bb71;} span.person[id] {cursor:pointer;}</style>').appendTo("head");
        $('span.person').live('click', openPersonData);/*.each(function (index, element) {
            $(element).attr('title', $(element).data('titleData'));
        });*/
		SetupTooltips("ttPerson");
    }
    $('#personShow').click(showPersonSpans);

	if ($('#choiceShow').attr('checked')) 
    {
        $('<style type="text/css" id="choiceStyle">span.corr {background-color: #b9b9b9;cursor: default;} span.corr_red {background-color: #b9b9b9;cursor: default;} span.reg {background-color: #cacaca;}</style>').appendTo("head");
		SetupTooltips("ttChanges");
	}
	$('#choiceShow').click(showChoiceSpans);

	if ($('#placeShow').attr('checked')) 
    {
        $('<style type="text/css" id="placeStyle">span.placeName {background-color: #b5d58c;} span.placeName[id] {cursor:default;}</style>').appendTo("head");
		SetupTooltips("ttPlace");
	}
	$('#placeShow').click(showPlaceSpans);

	if ($('#foreignShow').attr('checked')) 
    {
        $('<style type="text/css" id="foreignStyle">span.foreign {background-color: #a0cbd4;cursor: default;}</style>').appendTo("head");
		SetupTooltips("ttLang");
	}
	$('#foreignShow').click(showForeignSpans);

	//$('#organisationShow').click(showOrganisationSpans);

	if ($('#titleShow').attr('checked')) 
    {
        $('<style type="text/css" id="titleStyle">span.title {background-color: #f6e65b;}</style>').appendTo("head");
    }
	$('#titleShow').click(showTitleSpans);

	if ($('#pbztsShow').attr('checked')) 
    {
        $('<style type="text/css" id="pbztsStyle">.pb_zts {color: #d58205;}</style>').appendTo("head");
    }
	else
	{
		$('<style type="text/css" id="pbztsStyle">.pb_zts {display: none;}</style>').appendTo("head");
	}
	$('#pbztsShow').click(showPbztsSpans);

	if ($('#pborigShow').attr('checked')) 
    {
        $('<style type="text/css" id="pborigStyle">.pb_orig {color: #c34be1;cursor:pointer;}</style>').appendTo("head");
    }
	else
	{
		$('<style type="text/css" id="pborigStyle">.pb_orig {display: none;}</style>').appendTo("head");
	}
	$('#pborigShow').click(showPborigSpans);
    
    if ($('#commentShow').attr('checked')) {
		$('<style type="text/css" id="commentStyle">.comment {cursor: pointer;}</style>').appendTo("head");
        $(".commentScrollTarget").live('click', scrollToComment);
		SetupTooltips("ttComment");
    }
    else {
        $('<style type="text/css" id="commentStyle">.comment {display: none;}</style>').appendTo("head"); }
    $('#commentShow').click(toggleNotes);

	// --------------------------
    
    
    $('.toggleNext').live('click', function () 
    {
		toggleExpandSymbol($(this).children('.toggleParentNext'));
        $(this).next('div').eq(0).toggle(400);
    });
	$('.toggleParentNext').live('click', function () 
    {
		if($(this).hasClass('expand'))
			toggleExpandSymbol($(this));
		else
			toggleExpandSymbol($(this).prev('.expand'));
        $(this).parent().next('div').eq(0).toggle(400);
    });
    
    $('.closeColumn').live('click', closeColumn);
    
    $(".variantScrollTarget").live('click',highlight);

	$(".anchorScrollTarget").live('click',highlightAnchor);

	$(".pb_orig").live('click', scrollToFacsimilePage)

	$("a.reference").live('click',showReference);
	$("a.textreference").live('click',showTextReference);
	$("a.xreference").live('click',showXReference);

    $("p.footnote").live('click',showFootnoteReference);
	$("span.footnoteindicator").live('click',showFootnote);

    $(".newWindowIcon").live('click',openNewWindow);

	$("a.calendarlink").live('click',loadCalendar);
    
    setFacsimileEvents();
    
    $(".ajaxCall").live('click', ajaxColumnData);
	$(".item_link").live('click', ajaxNewItem);
	$(".chkLimit").click(function () {
		if($(this).is(':checked'))
			$("#limitall").removeAttr("checked"); 
		});

	$("a.fancy").live('click', function (event) {
		event.preventDefault();
		$.fancybox({'href' : $(this).attr('href'), 'titleShow' : false});
	}); 


	SetupTooltips("ttMs");
	SetupTooltips("ttVariant");
	SetupTooltips("ttFoot");
	SetupTooltips("ttEditor");
	// Initialize the persName tooltip logic
	//SetupPersnameTooltips();

	// Hashchange plugin
	$(window).hashchange(hashChanged);

}

function toggleExpandSymbol(oObject)
{
	if(oObject.hasClass('expanded')) {
		oObject.removeClass('expanded'); 
		oObject.html('<img src="images/expand-plus.gif"/>'); }
	else {
		oObject.addClass('expanded'); 
		oObject.html('<img src="images/expand-minus.gif"/>'); }
}

function setNavigationScript() {

	// Check for mouseclick, hide menu when it is shown
	$(document).mousedown(function() {
		if(!g_isMouseOverMenu)
		{
			if(isMenuVisible())
			{
				$('#navLevels > div').stop(true, true).hide(400);
			}
		}
	});

    // show 1st level navs
    $('a#show1').click(function() 
    {
		if($('#navLevel1').is(":visible") == false)
		{
            $('#navLevels > div').stop(true, true).hide(0);
            $('#navLevel1').show(400);
		}
		return false;
    });

	$('a#show1').mouseenter(function() 
    {
		if(isMenuVisible() == true && $('#navLevel1').is(":visible") == false)
		{
            $('#navLevels > div').stop(true, true).hide(0);
            $('#navLevel1').show(400);
		}
    });

    $('a#show2').click(function() 
    {
		if($('#navLevel2').is(":visible") == false)
		{
            $('#navLevels > div').stop(true, true).hide(0);
            $('#navLevel2').show(400);
		}
		return false;
    });

	$('a#show2').mouseenter(function() 
    {
		if(isMenuVisible() == true && $('#navLevel2').is(":visible") == false)
		{
            $('#navLevels > div').stop(true, true).hide(0);
            $('#navLevel2').show(400);
		}
    });

    $('a#show3').click(function() 
    {
		if($('#navLevel3').is(":visible") == false)
		{
			$('#navLevels > div').stop(true, true).hide(0);
			$('#navLevel3').show(400);
		}
		return false;
    });

	$('a#show3').mouseenter(function() 
    {
		if(isMenuVisible() == true && $('#navLevel3').is(":visible") == false)
		{
            $('#navLevels > div').stop(true, true).hide(0);
            $('#navLevel3').show(400);
		}
		return false;
    });

    $('a#show4').click(function() 
    {
		if($('#navLevel4').is(":visible") == false)
		{
			$('#navLevels > div').stop(true, true).hide(0);
			$('#navLevel4').show(400);
		}
		return false;
    });

	$('a#show4').mouseenter(function() 
    {
		if(isMenuVisible() == true && $('#navLevel4').is(":visible") == false)
		{
            $('#navLevels > div').stop(true, true).hide(0);
            $('#navLevel4').show(400);
		}
    });

    $('a#show5').click(function() 
    {
		if($('#navLevel5').is(":visible") == false)
		{
			$('#navLevels > div').stop(true, true).hide(0);
			$('#navLevel5').show(400);
		}
		return false;
    });

	$('a#show5').mouseenter(function() 
    {
		if(isMenuVisible() == true && $('#navLevel5').is(":visible") == false)
		{
            $('#navLevels > div').stop(true, true).hide(0);
            $('#navLevel5').show(400);
		}
    });

    // show 2nd + 3rd level navs
    $('#navLevels a.show').click(showSubNav);

    // hide navigation
    $('#navLevel2 a, #navLevel3 a, #navLevel4-1 a, #navLevel5 a, #navLevel1-1-1 a').click(function() 
    {
        $('#navLevels > div').stop(true, true).hide(400);
    });
    
    $('#navLevels').mouseleave(function ()
	{
		$('#navLevels > div').stop(true, true).delay(1000).hide(400);
		g_isMouseOverMenu = false;
	});
    $('#navLevels').mouseenter(function ()
	{
		$('#navLevels > div').clearQueue();
		g_isMouseOverMenu = true;
	});

	//$(".comment").live('mouseenter', showLemma);
	//$(".comment").live('mouseleave', hideLemma);

}

function hashChanged()
{
	var iOldItemId = g_itemId;
	var iOldSectionId = g_sectionId;
	var iOldPositionId = g_positionId;

	g_hashParameters = null;
	g_hashParameters = getUrlHashVars();
	if(g_bookId > 0)
	{
		if(isset(g_hashParameters["itemId"])) { 
			g_itemId = g_hashParameters["itemId"]; }
		else {
			g_itemId = g_firstItemId;
		}
		if(isset(g_hashParameters["sectionId"])) { 
			g_sectionId = g_hashParameters["sectionId"]; }
		if(isset(g_hashParameters["positionId"])) { 
			g_positionId = g_hashParameters["positionId"]; }
		else {
			g_positionId = ''; }
		if(g_itemId != iOldItemId || g_sectionId != iOldSectionId)
		{
			$('.mainText').html('<p class="noIndent" style="text-align:center"><img src="images/ajax-loader.gif"/></p>');
			$("#ajaxLoader").show(0);
			if(g_sectionId.length>0) {
				$.post("interface.php?p=texts&bookId="+g_bookId+"&itemId="+g_itemId+"&sectionId="+g_sectionId, "", handleNewColumnData);
				$.post("ajax_prevnext.php?itemId="+g_itemId+"&sectionId="+g_sectionId, handlePrevNextData); }
			else {
				$.post("interface.php?p=texts&bookId="+g_bookId+"&itemId="+g_itemId, "", handleNewColumnData);
				$.post("ajax_prevnext.php?itemId="+g_itemId, handlePrevNextData); }
		}
		else if (iOldPositionId != g_positionId || g_bItemLinkClicked)
		{
			$("#ajaxLoader").show(0);
			//showMainColumnTextTab(3);
			scrollMainTextTo(g_positionId, false);
			$("#ajaxLoader").hide(0);
		}
	}

	g_bItemLinkClicked = false;
}

function updateAddressHash()
{
	window.location.hash = buildHashParams();
}

function replaceAddressHash()
{
	var sUrl = window.location.href;
	if(sUrl.indexOf("#") > -1) {
		sUrl = sUrl.substring(0, sUrl.lastIndexOf("#")+1); }
	else {
		sUrl += "#"; }
	sUrl += buildHashParams();
	window.location.replace(sUrl);
}

function buildHashParams()
{
	var hash = "itemId="+g_itemId;
	if(g_sectionId.length>0) {
		hash += "&sectionId="+g_sectionId; }
	if(g_positionId.length>0) {
		hash += "&positionId="+g_positionId; }
	hash += "&columns="+JSON.stringify(tabsToArray()).replace(/\"/g, '|');
	return hash;
}

function ajaxNewItem()
{
	// Add current state to history before updating
	//g_bLoadingColumns = true;
	//window.location.hash = window.location.hash;
	g_bItemLinkClicked = true; // This trigger is needed for scrolling to top of text
	window.location.hash = $(this).attr("href").substring($(this).attr("href").lastIndexOf("#")+1);
	showMainColumnTextTab(3);
	return false;
}

function showMainColumnTextTab(iIndex)
{
	for (i=0;i<=3;i++)
	{
		$('#column1Tab'+i).hide(0);
	}
	$('#column1Tab'+iIndex).show(0);
	// TODO: simple way not not working in IE, must check if attribute ends with value
	for (i=0;i<=3;i++)
	{
		$("a[href$='#column1Tab"+i+"']").removeClass('selected');
	}
	$("a[href$='#column1Tab"+iIndex+"']").addClass('selected');
}

function tabsToArray()
{
	//timeDiff.setStartTime();

	var tabsData = new Array();

	$.each( $("#dynamicColumns .columnwrapper"), function()
    {
		var tabInfo = new Array(2);

        $.each( $(".idTabs li a", $(this)), function(index)
        {
            if ($(this).hasClass("selected")) {

				var sTmp = $(this).attr("href").substring($(this).attr("href").lastIndexOf("#"));

				if($(".personOptions", sTmp).length > 0) {
					tabInfo[0] = "pr"; }
                else {
					tabInfo[0] = index; }
				
				if($(".version_select", sTmp).length > 0) {
					tabInfo[1] = parseInt($(".version_select", sTmp).val(), 10); }
				else if($(".facsimile_select", sTmp).length > 0) {
					tabInfo[1] = parseInt($(".facsimile_select", sTmp).val(), 10); }
				else if($(".manuscript_select", sTmp).length > 0) {
					if($(".manuscript_select", sTmp).closest(".column").find(".ms_style").hasClass("changes_visible"))
						tabInfo[1] = parseInt($(".manuscript_select", sTmp).val(), 10); 
					else
						tabInfo[1] = parseInt($(".manuscript_select", sTmp).val(), 10) + 1; 
				}
				else {
					tabInfo[1] = -1; }
			}
        });

		tabsData.push(tabInfo);
    });

	return tabsData;
	//alert(timeDiff.getDiff() + "ms, " + JSON.stringify(tabsData));
}

function tabsFromArray(tabsArray)
{
	//var tabsArray = JSON.parse(tabsData);
	var currentColumn = $('.columnwrapper:first');
	var width = 10;

	if(tabsArray.length > 0)
	{
		showMainColumnTextTab(tabsArray[0][0]);
	}

	if(tabsArray.length > 1)
	{
		width = getColumnWidthsToBeAfterAdding(tabsArray.length-1);
		setColumnWidths(width);

		var i = 0;
		var wrapper = null;

		for (var field in tabsArray) {
			if(i > 0)
			{
				if(tabsArray[i][0] == "pr")
				{
					wrapper = createColumnWrapper(width, g_personColumnData);
					currentColumn.after(wrapper);
					initPersonColumn(wrapper);
					wrapper.find('.column').addClass('noScroll').addClass('personColumn');
					$.post("ajax_personlist.php?letter="+g_personListLetter, "", handlePersonListData);
				}
				else
				{
					wrapper = createColumnWrapper(width);
					currentColumn.after(wrapper);
					initColumn(wrapper, tabsArray[i][0], false);
					if(tabsArray[i][0] == 1)
					{
						$(".version_select", wrapper).val(tabsArray[i][1]);
						//$(".version_select", wrapper).change();
					}
					else if(tabsArray[i][0] == 2)
					{
						$(".facsimile_select", wrapper).val(tabsArray[i][1]);
						//$(".facsimile_select", wrapper).change();
					}
					else if(tabsArray[i][0] == 3)
					{
						if(tabsArray[i][1] % 2 == 1) {
							$(".ms_style", wrapper).removeClass("changes_visible").addClass("changes_hidden").html(g_lang["med_andringar"]);
							$(".manuscript_select", wrapper).val(tabsArray[i][1]-1);
						}
						else {
							$(".manuscript_select", wrapper).val(tabsArray[i][1]);
						}

						
						//$(".manuscript_select", wrapper).change();
					}

					$(".version_select", wrapper).change();
					$(".manuscript_select", wrapper).change();
					$(".facsimile_select", wrapper).change();
				}
				wrapper.show();
				currentColumn = wrapper;
			}
			i++;
        }
	}
	g_bLoadingColumns = false;
	$('#dynamicColumns').show();
}

function showSubNav()
{
    //hide now shown subnav
    $(this).closest('div').children('div').stop(true, true).hide(0);
    
	// TODO: Find a solution for navlevels, seems to be one step off
    $(this).closest('div').children('div').eq(findAnchorIndexInParallelAnchors(this)+1).show(400);

	return false;
}

function isMenuVisible()
{
	if($('#navLevel1').is(":visible") || $('#navLevel2').is(":visible") || $('#navLevel3').is(":visible") || $('#navLevel4').is(":visible") || $('#navLevel5').is(":visible")) {
		return true; }
	else {
		return false; }
}

function scrollMainTextTo(elementId, bTimeout)
{
	if(elementId.length > 0) {
		if(bTimeout)
			setTimeout("$('#column1Tab3').scrollTo('."+elementId+"', 500,  {offset:-30})", 1000);
		else
			$("#column1Tab3").scrollTo("."+elementId, 500,  {offset:-30});
	}
	else {
		$("#column1Tab3").scrollTop(0);
	}
}

function showReference()
{
	var sAnchor = $(this).attr("href");
	sAnchor = "#"+sAnchor.substring(sAnchor.lastIndexOf("#")+1);

	$("#column1Tab1").scrollTo(sAnchor, 500,  {offset:-30});

	return false;
}

function showTextReference()
{
	var sAnchor = $(this).attr("href");
	//alert(sAnchor.substring(sAnchor.lastIndexOf("/"), sAnchor.IndexOf(" ")-1));
	//sAnchor = sAnchor.substring(sAnchor.lastIndexOf("#"));

	//var g_itemId = "";
	//var g_sectionId = "";

	if (g_sectionId == sAnchor.substring(sAnchor.indexOf("#")+1, sAnchor.indexOf(" ")))
    {
		$("#column1Tab3").scrollTo(sAnchor.substring(sAnchor.lastIndexOf("#")), 500,  {offset:-30});
	}
	else
	{
		window.location.hash = "itemId="+g_itemId+"&sectionId="+sAnchor.substring(sAnchor.indexOf("#")+1, sAnchor.indexOf(" "))+"&positionId="+sAnchor.substring(sAnchor.lastIndexOf("#")+1);
		showMainColumnTextTab(3);
		//g_sectionId = sAnchor.substring(sAnchor.lastIndexOf("/"), sAnchor.indexOf(" "));
		//g_positionId = sAnchor.substring(sAnchor.lastIndexOf("#"));
		//$.post("interface.php?p=texts&bookId="+g_bookId+"&itemId="+g_itemId+"&sectionId="+g_sectionId+"&positionId="+g_positionId, "", handleNewColumnData);
		//$.post("ajax_prevnext.php?itemId="+g_itemId+"&sectionId="+g_sectionId, handlePrevNextData);
		//alert(sAnchor.substring(sAnchor.lastIndexOf("/"), sAnchor.indexOf(" ")));
	}

	//$("#column1Tab3").scrollTo(sAnchor, 500,  {offset:-30});

	return false;
}

function showXReference()
{
	if($(this).hasClass("ref_introduction"))
	{
		var sAnchor = $(this).attr("href");
		sAnchor = "."+sAnchor.substring(sAnchor.lastIndexOf("#")+1);

		$('#column1Tab0').hide(0);
		$('#column1Tab2').hide(0);
		$('#column1Tab3').hide(0);
		$('#column1Tab1').show(0);
		$("a[href$='#column1Tab0']").removeClass('selected');
		$("a[href$='#column1Tab2']").removeClass('selected');
		$("a[href$='#column1Tab3']").removeClass('selected');
		$("a[href$='#column1Tab1']").addClass('selected');
		$("#column1Tab1").scrollTo(sAnchor, 500,  {offset:-30});

		$(sAnchor).html("<img src='images/asterix.png'/>");
		setTimeout("$('"+sAnchor+"').html('');", 2000);
	}
	else if($(this).hasClass("ref_illustration"))
	{
		$.fancybox({'href' : 'fancy_image.php?showinternallink=false&id='+$(this).attr('href').substring($(this).attr('href').lastIndexOf("#")+1), 'titleShow' : false});
		//var win = window.open('illustration.php?id='+$(this).attr('href').substring($(this).attr('href').lastIndexOf("#")+1) ,'mywindow','width=820,height=800,toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,copyhistory=no,resizable=yes');
		//win.focus();
		//return false;
	}
	else if($(this).hasClass("ref_readingtext"))
	{
		var sAnchor = $(this).attr("href");
		if (g_itemId == sAnchor.substring(sAnchor.indexOf("#")+1, sAnchor.indexOf(" ")) && g_sectionId == sAnchor.substring(sAnchor.indexOf(" ")+1, sAnchor.lastIndexOf(" ")))
		{
			$("#column1Tab3").scrollTo(sAnchor.substring(sAnchor.lastIndexOf("#")), 500,  {offset:-30});
		}
		else
		{
			window.location.hash = "itemId="+sAnchor.substring(sAnchor.indexOf("#")+1, sAnchor.indexOf(" "))+"&sectionId="+sAnchor.substring(sAnchor.indexOf(" ")+1, sAnchor.lastIndexOf(" "))+"&positionId="+sAnchor.substring(sAnchor.lastIndexOf("#")+1);
			showMainColumnTextTab(3);
		}
		//(sAnchor.substring(sAnchor.lastIndexOf("#"), sAnchor.indexOf(" ")));
	}
	return false;
}

function findAnchorIndexInParallelAnchors(anchor) 
{
    var childrenSet = $(anchor).closest('div').children().filter(':not(div)').find('a.show');
    if (childrenSet.size() == 0) {
        childrenSet = $(anchor).closest('div').children('a.show'); }
    return childrenSet.index(anchor);
}

function countColumnHeight() 
{
    return $(window).height()-g_spaceForTop;
}

function openSmallWindow()
{
	var win = window.open($(this).attr('href'),'mywindow','width=400,height=300,toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,copyhistory=no,resizable=yes');
	win.focus();
	return false;
}

function openBigWindow()
{
	var win = window.open($(this).attr('href'),'mywindow','width=650,height=500,toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,copyhistory=no,resizable=yes');
	win.focus();
	return false;
}

function setFacsimileEvents() {
    //to open the biggest image in a new window
    $(".newWindowImage").live('click', function ()
    {
		var element = $(this).closest('.column');
		var iFacsIndex = $('.facsimile_select', element).val();
		var iPageNr = $('.facsimile_page', element).val();

        //var newClass = findClassWith(this, /^\d/);
        //window.open("facsimile.php?id="+g_facsimiles[iFacsIndex]['facs_id']+"&page="+iPageNr);
		var win = window.open("facsimile.php?id="+itemColumnData[g_lang["faksimil"]][iFacsIndex]['facs_id']+"&page="+iPageNr,'mywindow','width=900,height=700,toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,copyhistory=no,resizable=yes');
		win.focus();
        return false;
    });
    
    //triggers on enter in the input box to show page requested
    $('.facsimile_page').live('keyup', function(e) 
    {
          if(e.keyCode == 13) {

			var element = $(this).closest('.column');
			var iFacsIndex = $('.facsimile_select', element).val();
			var iVal = parseInt($(this).val());

			if(isNaN(iVal)) {
				iVal = parseInt(itemColumnData[g_lang["faksimil"]][iFacsIndex]['page_nr']); }

			if(iVal > (parseInt(itemColumnData[g_lang["faksimil"]][iFacsIndex]['pages']) - parseInt(itemColumnData[g_lang["faksimil"]][iFacsIndex]['pre_page_count']))) {
				iVal = parseInt(itemColumnData[g_lang["faksimil"]][iFacsIndex]['pages']) - parseInt(itemColumnData[g_lang["faksimil"]][iFacsIndex]['pre_page_count']); }
			else if (iVal <= (0 - parseInt(itemColumnData[g_lang["faksimil"]][iFacsIndex]['pre_page_count']))) {
				iVal = 1 - parseInt(itemColumnData[g_lang["faksimil"]][iFacsIndex]['pre_page_count']); }

			$(this).val(iVal);

			prevNextButtonCheck(iVal, element);
			updateImage(element);
            //scrollToIfPresent($(this).val(), $(this).closest('.column'));
          }
    });
    
    $('.next').live('click', function ()
    {
        var element = $(this).closest('.column');
		var iFacsIndex = $('.facsimile_select', element).val();
        var newVal = parseInt($('.facsimile_page', element).val())+1;

		if(newVal <= (parseInt(itemColumnData[g_lang["faksimil"]][iFacsIndex]['pages']) - parseInt(itemColumnData[g_lang["faksimil"]][iFacsIndex]['pre_page_count']))) {
			$('.facsimile_page', element).val(newVal);
			prevNextButtonCheck(newVal, element);
			updateImage(element);
		}
        //if (scrollToIfPresent(newVal, element))
        //    $('.facsimile_page', element).val(newVal);
            
    });
    
    $('.prev').live('click', function ()
    {
        var element = $(this).closest('.column');
		var iFacsIndex = $('.facsimile_select', element).val();
        var newVal = parseInt($('.facsimile_page', element).val())-1;
		if(newVal > (0 - parseInt(itemColumnData[g_lang["faksimil"]][iFacsIndex]['pre_page_count']))) {
			$('.facsimile_page', element).val(newVal);
			prevNextButtonCheck(newVal, element);
			updateImage(element);
		}
        //if (scrollToIfPresent(newVal, element))
        //    $('.facsimile_page', element).val(newVal);
            
    });

	$('.goToFirstPage').live('click', function ()
    {
        var element = $(this).closest('.column');
		var iFacsIndex = $('.facsimile_select', element).val();
        var newVal = parseInt(itemColumnData[g_lang["faksimil"]][iFacsIndex]['page_nr']);
		$('.facsimile_page', element).val(newVal);
		prevNextButtonCheck(newVal, element);
		updateImage(element);
        //if (scrollToIfPresent(newVal, element))
        //    $('.facsimile_page', element).val(newVal);
            
    });

    //updates bigger image to the one clicked on the thumbnails
    /*$(".thumbnails img").live('click', function() 
    {
        var element = $(this).closest('.column');
        $(".thumbnails img", element).removeClass('highlight');
        g_imgId = $(this).attr('src').split('/').pop();
        updateImage(element);
        
        $(this).addClass('highlight');
    });*/
}

function newColumn(selectedTab, selectedVariant, selectVariantTab) 
{    
	//$('#addNewButton').remove();

    var width = getColumnWidthsToBeAfterAdding(1);    
    setColumnWidths(width);    
    
    var wrapper = createColumnWrapper(width);
    $("#dynamicColumns").append(wrapper);
    
    if (selectedVariant) {
        wrapper.find('.version_select').val(selectedVariant); }
    
    if (selectVariantTab) {
        selectedTab = findVariantTab(g_lang["varianter"]); }
    initColumn(wrapper, selectedTab, false);
    
    wrapper.show();
    //updatePermalink();
	//createAddNewColumnClickEvent();
    if (g_onSecondRow) 
    {
        setTimeout("$('body').scrollTo( '+=100px', '+=0px');", 1500);
    }
    return wrapper;

}

function createAddNewColumnClickEvent()
{
	$('#addNewButton').click(function(event) 
    {
        event.preventDefault();

		$('.helperwrapper').remove();

        newColumn(0);  
		//updateFont();
		createAddNewButton();
        $('#dynamicColumns').show(400);
    });
}

function defaultColumn(selectedTab, bHelper) 
{
    var width = getColumnWidthsToBeAfterAdding(2);    
    setColumnWidths(width);    
    
    var wrapper = createColumnWrapper(width, defaultColumnData, true);
	$("#dynamicColumns").append(wrapper);    
    $(".hidden", wrapper).hide();
    initColumn(wrapper, selectedTab, true);
    wrapper.show();
	if(bHelper != null && bHelper == true)
	{
		var helperWrapper = createColumnWrapperForHelper(width);
		$("#dynamicColumns").append(helperWrapper);
		$(".hidden", helperWrapper).hide();
		helperWrapper.show();
	}
	
    //updatePermalink();
	createAddNewButton();
	//createAddNewColumnClickEvent();
}

function getColumnWidthsToBeAfterAdding(columns) 
{   
    var columnAreaWidth = getColumnAreaWidth();
    var columnCountToBe = $("#dynamicColumns").find(".columnwrapper").size() + columns;
	var widthToFitAll = columnAreaWidth / columnCountToBe;
    
    if (widthToFitAll > g_minWidth) 
    {
        g_onSecondRow = false;
		g_SecondRowAdded = false;

        if (widthToFitAll > g_maxWidth) {
            return g_maxWidth; }
        else {
            return widthToFitAll; }
    }
    
    while (widthToFitAll < g_minWidth) 
    { 
		g_onSecondRow = true;
        columnCountToBe--;
		if(g_SecondRowAdded == false && !($.browser.msie) ) {
			widthToFitAll = columnAreaWidth / columnCountToBe - g_scrollbarWidth / columnCountToBe;
			g_SecondRowAdded = true;
		}
		else {
			widthToFitAll = columnAreaWidth / columnCountToBe; }
    }
    if (isNaN(widthToFitAll)) {
        return g_minWidth; }
    
    if (widthToFitAll > g_maxWidth) {
        return g_maxWidth; }

    return widthToFitAll;
}

function getColumnAreaWidth() 
{
    var width = 0;
    //var element = $("#dynamicColumns");
    //while (element != null && element.attr('offsetWidth') < 1) {
    //    element = element.parent(); }
    width = $('body').width()-g_emptySpaceOnRight; //element.attr('offsetWidth')-g_emptySpaceOnRight;

    if (width < g_minWidth) {
        return g_minWidth; }
    return width;
}


function setColumnWidths(setWidth) 
{
    $("#dynamicColumns").find(".columnwrapper").css('width', setWidth);
}

function createColumnWrapperForHelper(width) 
{
	var wrapper;

	wrapper = $('<div class="wrapper helperwrapper" style="display:none;"><img style="position: absolute;top: -30px; left: 14px;" src="images/helper_arrow_frame.png" /></div>');

	var tab = null;
	tab = $('<div class="helpercolumn container"><p class="noIndent">'+g_lang["instruktioner"]+'</p></div>');

	wrapper.append(tab);

    $(".helpercolumn", wrapper).height(countColumnHeight()-118);
    
    wrapper.css('width', width-100);
    return wrapper;
}

function createColumnWrapper(width, data, noCloseButton) 
{
    var columnData;
    if (typeof(data) != "undefined") {
        columnData = data; }
    else {
        columnData = itemColumnData; }
    var idnum = getNextId();
    
    var wrapper;
    if (noCloseButton) {
        var wrapper = $('<div class="wrapper columnwrapper" style="display:none;">'); }
    else {
        var wrapper = $('<div class="wrapper columnwrapper" style="display:none;"><div class="closeColumn" id="'+idnum+'">X</div>'); }

	/*if (noCloseButton)
        var wrapper = $('<div class="wrapper columnwrapper" style="display:none;">');
    else
        var wrapper = $('<div class="wrapper columnwrapper" style="display:none;"><div class="closeColumn" id="'+idnum+'">X</div>');*/
	
	var tabList = $('<ul class="idTabs"></ul>');
    wrapper.append(tabList);

    var tab = null;
    var selectText = "";
    var i = 0;

    for (var field in columnData) 
    {
        tabList.append('<li><a href="#column'+idnum+'Tab'+i+'">'+field+'</a></li>');
        tab = $('<div id="column'+idnum+'Tab'+i+'" class="column"></div>');
        if (typeof(columnData[field]) != "object") 
        {
            tab.append(columnData[field]);
            if ($('.commentScrollTarget', tab).size() > 0) {
                tab.addClass("commentScrollable"); }
        }
        else 
        {
			if(field == g_lang["varianter"])
			{
				var showAll = "";
				var variantSelect = $('<select class="version_select" name="version" size="1" style="width: 230px"></select>');
				var subcolumntop = $('<div class="subcolumnTop"></div>');
				if(g_allVariantsClicked == false) {
					showAll = $('<a href="#" class="varianter" onmouseover="Tip(\''+g_lang["visa_alla"]+'\', WIDTH, 0)">'+g_lang["alla"]+'</a>'); }
				subcolumntop.append(variantSelect);
				subcolumntop.append(showAll);
				subcolumntop.append('<a class="smallwindow" href="doc.php?docid=105" style="float:right;"><img src="images/information.png"/></a>');
				subcolumntop.append('<span class="variantType"></span>');
				tab.append(subcolumntop);
				tab.append('<div class="container variantText subcolumnBottom variantScrollable"></div>');
				// TODO: Behövs detta alls?
				//if (g_variantTexts == null) {
				//	createVariantTexts(columnData[field]); }
				for (var variantField in columnData[field]) {
					variantSelect.append('<option value="'+variantField+'">'+columnData[field][variantField]['title']+'</option>'); }
				tab.addClass("noScroll");
			}
			else if(field == g_lang["manuskript"])
			{
				var manuscriptSelect = $('<select class="manuscript_select" name="manuscript" size="1" style="width: 235px"></select>');
				var subcolumntop = $('<div class="subcolumnTopHigh"></div>');
				subcolumntop.append(manuscriptSelect);
				subcolumntop.append('&nbsp;<a class="smallwindow" href="doc.php?docid=106" style="float:right;"><img src="images/information.png"/></a><br/><span class="button lightbutton ms_style changes_visible">'+g_lang["utan_andringar"]+'</span>');
				tab.append(subcolumntop);
				tab.append('<div class="manuscriptText subcolumnBottomMedium"></div>');
				//if (g_manuscriptTexts == null) {
				//	createManuscriptTexts(columnData[field]); }
				for(var i=0; i<columnData[field].length; i++) {
					if(i % 2 == 0) {
						manuscriptSelect.append('<option value="'+i+'">'+columnData[field][i]['title']+'</option>');
					}
				}
				
				//for(var manuscriptField in columnData[field]) {
				//	manuscriptSelect.append('<option value="'+manuscriptField+'">'+columnData[field][manuscriptField]['title']+'</option>'); }
				tab.addClass("noScroll");
			}
			else if(field == g_lang["faksimil"])
			{
				//var subColumnTop = $('<div class="subcolumnTop"></div>');
				var facsimileSelect = $('<select class="facsimile_select" name="facsimile_select" size="1" style="width: 240px"></select>');
				tab.append(facsimileSelect);
				tab.append($('<br/><span class="button lightbutton prev">&lt;&lt;</span><form onsubmit="return false;" style="display:inline;"><input type="text" class="facsimile_page" value="1" style="width:30px;" /></form><span class="button lightbutton next">&gt;&gt;</span><span class="button lightbutton goToFirstPage">'+g_lang["forsta"]+'</span><span class="button lightbutton newWindowImage">'+g_lang["nytt_fonster"]+'</span>'));

				//tab.append(subColumnTop);
				tab.append($('<div  class="bigImageContainer"><img src="" class="bigImage" /></div>'));
				
				//tab.append($('<div class="subcolumnTop"></div>').append(facsimileSelect));
				//if (g_facsimiles == null) {
				//	createFacsimiles(columnData[field]); }
				for (var facsimileField in columnData[field]) {
					facsimileSelect.append('<option value="'+facsimileField+'">'+columnData[field][facsimileField]['title']+'</option>'); }
			}
        }
        wrapper.append(tab);
        i++;
    }
    $(".column", wrapper).height(countColumnHeight());
    
    wrapper.css('width', width);
    return wrapper;
}

function getNextId() 
{
    return ++g_currentId;
}

/*function createVariantTexts(data)
{
    g_variantTexts = {};
    for (var variantField in data) {
        g_variantTexts[variantField] = data[variantField]['text']; }
}

function createManuscriptTexts(data)
{
    g_manuscriptTexts = {};
    for (var manuscriptField in data) {
        g_manuscriptTexts[manuscriptField] = data[manuscriptField]['text']; }
}

function createFacsimiles(data)
{
    g_facsimiles = {};
    for (var facsimileField in data) {
        g_facsimiles[facsimileField] = data[facsimileField]; }
}*/

function closeColumn() 
{
	var bHasAddNewButton = false;

    if ($("#dynamicColumns").children().length == 1) {
        $("#dynamicColumns").hide(400); }

	if($(this).parents('.columnwrapper').children('#addNewButton').size() > 0)
	{
		bHasAddNewButton = true;
	}

    $(this).parents('.columnwrapper').remove();

	//createAddNewButton();
    setColumnWidths(getColumnWidthsToBeAfterAdding(0));
    setTimeout(replaceAddressHash, 250);
	if(bHasAddNewButton == true) {
		createAddNewButton(); }
}

function createAddNewButton()
{
	$('#addNewButton').remove();
	$('.columnwrapper').last().prepend('<div id="addNewButton">+</div>');
	createAddNewColumnClickEvent();
}

/*function findVariantTab(data) 
{
    var columnData;
    if (typeof(data) != "undefined") {
        columnData = data; }
    else {
        columnData = itemColumnData; }//defaultColumnData;
    var i = 0;
    for (var field in columnData) 
    {
        if (field == g_lang["varianter"]) 
        {
            break;
        }
        i++;
    }
    return i;        
}*/

function findTab(sTabName) 
{
    var i = 0;
    for (var field in itemColumnData) 
    {
        if (field == sTabName) 
        {
            break;
        }
        i++;
    }
    return i;        
}

function initColumn(element, selectedTab, bDefaultColumn) 
{
	var settings = null;
	if(bDefaultColumn) {
		settings = { 'start':selectedTab, 'click': tabChangedDefault, 'change':true}; }
	else {
		settings = { 'start':selectedTab, 'click': tabChanged, 'change':true}; }
	$(".idTabs", element).idTabs(settings,false);

    $(".version_select", element).change(changeVariant); //TODO in jQuery 1.4 make live
	$(".manuscript_select", element).change(changeManuscript); //TODO in jQuery 1.4 make live
	$(".facsimile_select", element).change(changeFacsimile); //TODO in jQuery 1.4 make live
	if(g_bLoadingColumns == false) {
		$(".version_select", element).change();
		$(".manuscript_select", element).change();
		$(".facsimile_select", element).change();
	}
	$(".bigImage", element).load(facsimileLoaded).each(function() {
		if(this.complete || (jQuery.browser.msie && parseInt(jQuery.browser.version) == 6)) {
			$(this).trigger("load"); }
	});
    $(".note.hidden", element).hide();
    /*$('.hideTitle', element).each(function (index, element) {
       $(element).data('titleData', $(element).attr('title')).attr('title', '');
    });*/
	if(bDefaultColumn == false) {
		initFacsimile(element); }
}

function tabChangedDefault(id) {
	if(g_bLoadingColumns == false)
	{
		setTimeout(replaceAddressHash, 500);
	}
    return true;
}

function tabChanged(id) {
	if (!$('#commentShow').attr('checked'))
	{
		if (parseInt(id.charAt(id.length-1)) == findTab(g_lang["komm"]))
		{
			$('#commentShow').attr('checked', 'checked');
			addCommentData();
		}
	}
	if(g_bLoadingColumns == false)
	{
		setTimeout(replaceAddressHash, 500);
	}
    return true;
}

//faximile images are expected to be in folders following pattern faksimil/<bookid>/<size>/
//and named with each page number represented in the image and separated by |, e.g. 1.jpg, 1|2.jpg

function facsimileLoaded()
{
	var element = $(this).closest('.column');

	if(!jQuery.browser.msie)
	{
		var iHeight = $(this).attr('height');
		var iWidth  = $(this).attr('width');

		$(".bigImageContainer", element).css('max-height', iHeight + 'px');
		$(".bigImageContainer", element).css('max-width', iWidth + 'px');
	}

	$(".bigImageContainer", element).scrollTop('0');
	$(".bigImageContainer", element).scrollLeft('0');

	$(this).fadeIn(300);
}

function initFacsimile(element)
{
        
    //$(".newWindowImage", element).addClass('1'); 
	
	var iFacsIndex = $('.facsimile_select', element).val();

    $(".bigImageContainer", element).scrollview();
    /*if (undefined === window.page) {
        if ($('.thumbnails img', element).size() > 0)
        {
            var classList = $('.thumbnails img', element).eq(0).attr('class').split(' ');
            page = classList[0];
        } else
            page = '1';
    }
    scrollToIfPresent(page, element);
    $('.thumbnails .'+page, element).click();
    $(".facsimile_page", element).val(page);*/
	prevNextButtonCheck(itemColumnData[g_lang["faksimil"]][iFacsIndex]['page_nr'], element);
	updateImage(element);
}

function updateImage(element)
{
	var iFacsIndex = $('.facsimile_select', element).val();
	var iPageNr = $('.facsimile_page', element).val();

	var iImageNr = parseInt(iPageNr) + parseInt(itemColumnData[g_lang["faksimil"]][iFacsIndex]['pre_page_count']);

	$(".bigImage", element).fadeOut(100);

    //$(".bigImage", element).attr("src", "bilder/spinning.gif");
    $(".bigImage", element).attr("src", g_media_prefix+"faksimil/"+itemColumnData[g_lang["faksimil"]][iFacsIndex]['facs_id']+"/"+itemColumnData[g_lang["faksimil"]][iFacsIndex]['size']+"/"+iImageNr+".jpg");
    
	//$(".bigImageContainer", element).scrollTop('0');
	//$(".bigImageContainer", element).scrollLeft('0');

	//$(".bigImage", element).fadeIn(300);
	//var file = g_imgId.split('.');
    //var pages = file[0].split('|');
    //$(".newWindowImage", element).attr("class", pages[0]).addClass('newWindowImage');
}

/*function scrollToIfPresent(myClass, element) {
    if ($('.'+myClass, $('.thumbnails', element)).length > 0) 
    {
        $('.thumbnails', element).scrollTo('.'+myClass);
        return true;
    }
    return false;
}*/

function prevNextButtonCheck(iVal, element)
{
	var iFacsIndex = $('.facsimile_select', element).val();

	if(iVal <= (1 - parseInt(itemColumnData[g_lang["faksimil"]][iFacsIndex]['pre_page_count']))) {
		$(".prev", element).addClass("disabled_button prev_disabled");
		$(".prev", element).removeClass("prev");
	}
	else if($(".prev_disabled", element).hasClass("disabled_button"))
	{
		$(".prev_disabled", element).addClass("prev");
		$(".prev_disabled", element).removeClass("disabled_button prev_disabled");
	}

	if(iVal >= (parseInt(itemColumnData[g_lang["faksimil"]][iFacsIndex]['pages']) - parseInt(itemColumnData[g_lang["faksimil"]][iFacsIndex]['pre_page_count']))) {
		$(".next", element).addClass("disabled_button next_disabled");
		$(".next", element).removeClass("next");
	}
	else if($(".next_disabled", element).hasClass("disabled_button"))
	{
		$(".next_disabled", element).addClass("next");
		$(".next_disabled", element).removeClass("disabled_button next_disabled");
	}
}

function changeVariant() 
{
    //$(this).closest('.column').find(".variantText").html(g_variantTexts[$(this).val()]);
	$(this).closest('.column').find(".variantText").html( itemColumnData[g_lang["varianter"]][$(this).val()]["text"] );

	if(itemColumnData[g_lang["varianter"]][$(this).val()]["type"] == 1)
		$(this).closest('.column').find(".variantType").html( g_lang["grundtext"] );
	else
		$(this).closest('.column').find(".variantType").html('');
	
	//updateFont();
    setTimeout(replaceAddressHash, 250);
}

function changeManuscript() 
{
	doChangeManuscript($(this));
}

function doChangeManuscript(oElement) 
{
	var oColumn = oElement.closest('.column');
	var iTmpAdd = 0;
	if(oColumn.find(".ms_style").hasClass("changes_hidden")) {
		iTmpAdd = 1; }
    oColumn.find(".manuscriptText").html( itemColumnData[g_lang["manuskript"]][ parseInt(oColumn.find(".manuscript_select").val())+iTmpAdd ]["text"] );
    setTimeout(replaceAddressHash, 250);
}

function msStyleChange()
{
	if($(this).hasClass("changes_visible")) {
		$(this).removeClass("changes_visible");
		$(this).addClass("changes_hidden");
		$(this).html(g_lang["med_andringar"]);
	}
	else {
		$(this).removeClass("changes_hidden");
		$(this).addClass("changes_visible");
		$(this).html(g_lang["utan_andringar"]);
	}
	doChangeManuscript($(this));
}

function changeFacsimile() 
{
	try
	{
		//alert(g_facsimiles[$(this).val()]['page_nr']);
		var element = $(this).closest('.column');
		var iPageNr = itemColumnData[g_lang["faksimil"]][$(this).val()]['page_nr'];

		$(".facsimile_page", element).val(iPageNr);
		prevNextButtonCheck(iPageNr, element);
		updateImage(element);
		//updateFont();
		setTimeout(replaceAddressHash, 250);
	}
	catch (err)
	{ }
}

function showFootnoteReference()
{
	var element = $(this).closest('.column');
	element.scrollTo("."+$(this).attr("id"), 500,  {offset:-50});
}

function showFootnote()
{
	var scrollTargetId = findClassWith(this, /^ftn\d/g);
	var element = $(this).closest('.column');
	element.scrollTo("#"+scrollTargetId, 500,  {offset:-50});
}

// this looks from the classes of 'this' for something beginning with 'var' and a digit, and scrolls
// all variants to items with that class.
// since this does not need any input parameters, it can be set via $(".variantScrollTarget").click(highlight);
// to all appropriate elements
function highlight() 
{
    var variantScrollTargetClass = findClassWith(this, /^var\d/g);
    if (variantScrollTargetClass != "") 
    {

		$(".variantScrollable").each( function(index) {
			try
			{
				$(this).scrollTo("."+variantScrollTargetClass, 500,  {offset:-100});
			}
			catch(err)
			{}
		});

        //$(".variantScrollable").scrollTo("."+variantScrollTargetClass, 500,  {offset:-100});
        flash(".variantScrollable ."+variantScrollTargetClass);
    }
}

function highlightAnchor() 
{
    var anchorScrollTargetClass = findClassWith(this, /^struct\d/g);
    if (anchorScrollTargetClass != "") 
    {
		$(".variantScrollable").each( function(index) {
			try
			{
				$(this).scrollTo("."+anchorScrollTargetClass, 500,  {offset:-100});
			}
			catch(err)
			{}
		});

		flashAnchor(".variantScrollable ."+anchorScrollTargetClass.substring(0, anchorScrollTargetClass.length-1));

        //$(".variantScrollable").scrollTo("."+variantScrollTargetClass, 500,  {offset:-100});
        //flash(".variantScrollable ."+variantScrollTargetClass);
    }
}

function scrollToComment() 
{
    var commentScrollTargetClass = findClassWith(this, /^en\d/g);

	$("#lem"+$(this).attr("id").substring(2)).css("display", "inline");

    if (commentScrollTargetClass != "") {
		$("#column1Tab3").scrollTo("."+commentScrollTargetClass, 1000, {offset:countColumnHeight()/-2});
        $(".commentScrollable").scrollTo("."+commentScrollTargetClass, 1000, {offset:countColumnHeight()/-2});
        flash(".commentScrollable ."+commentScrollTargetClass);
    }
	
	setTimeout("$('#lem"+$(this).attr("id").substring(2)+"').css('display', 'none');", g_boldTime);
}

function showLemma()
{
	$("#lem"+$(this).attr("id").substring(2)).css("display", "inline");
}
function hideLemma()
{
	$("#lem"+$(this).attr("id").substring(2)).css("display", "none");
}

// just setting it to bold, and then a timeout for normal, since browsers, nor jquery do not seem to be able to animate bolding
function flash(targetClass) {

	$(targetClass).addClass("var_bold"); 
	setTimeout(function() {$(targetClass).removeClass("var_bold");}, g_boldTime);
}

function flashAnchor(targetClass) {
    $(targetClass+"a").find("img").attr("src", "images/ms_arrow_right_animated.gif"); 
	$(targetClass+"b").find("img").attr("src", "images/ms_arrow_left_animated.gif"); 
    setTimeout(function() {$(targetClass+"a").find("img").attr("src", "images/ms_arrow_right.png");}, g_boldTime);
	setTimeout(function() {$(targetClass+"b").find("img").attr("src", "images/ms_arrow_left.png");}, g_boldTime);
}

function scrollToFacsimilePage() {

	var sPageNumber = $(this).html().substring( 1 , $(this).html().length-1 );
	var selectedTab = findTab(g_lang["faksimil"]);
	var iFacsWrapperIndex = -1;

	$('.wrapper').each(function(index) {
		if( $(".idTabs a",$(this)).eq(selectedTab).hasClass("selected") ) {
			if(iFacsWrapperIndex == -1) {
				iFacsWrapperIndex = index;
			}
		}
	});

	if(iFacsWrapperIndex == -1)
	{
		// Remove the helper column if it exists
		$('.helperwrapper').remove();
		// Create new column
		var wrapper = newColumn(selectedTab);
		createAddNewButton();
		iFacsWrapperIndex = $(".wrapper").size()-1;
	}

	var facsWrapper = $(".wrapper").eq(iFacsWrapperIndex);

	$('.facsimile_select', facsWrapper).val(0);
	$('.facsimile_page', facsWrapper).val(parseInt(sPageNumber));
	prevNextButtonCheck(parseInt(sPageNumber), facsWrapper);
	updateImage(facsWrapper);
}

function toggleNotes() 
{
	// Remove the helper column if it exists
	$('.helperwrapper').remove();

    if ($(this).is(':checked')) 
    {	
		//if($('.columnwrapper').size() < 2)
		if($(".commentScrollable", ".wrapper").length == 0)
		{
			var selectedTab = findTab(g_lang["komm"]);
			var wrapper = newColumn(selectedTab);
			wrapper.addClass('commentShow');
		}
        addCommentData();
		SetupTooltips("ttComment");
		$.cookie("topelius_commentShow", 1, { expires: 400 });
		$.post("ajax_guisettings.php?guisetting=commentShow&value=1", "", handleGuiSettingData);
		//updateFont();
    }
    else 
    {
        $('.commentShow').remove();
        setColumnWidths(getColumnWidthsToBeAfterAdding(0));
        //if ($('#commentStyle').size() == 0) {
        $('#commentStyle').remove();
		$('<style type="text/css" id="commentStyle">.comment {display: none;}</style>').appendTo("head"); //}
        //$('#commentStyle').text(".comment {display: none;}");
        $(".commentScrollTarget").die('click', scrollToComment);
		DisableTooltips("ttComment");
		$.cookie("topelius_commentShow", 0, { expires: 400 });
		$.post("ajax_guisettings.php?guisetting=commentShow&value=0", "", handleGuiSettingData);
    }
    //updatePermalink();
	createAddNewButton();
}

function addCommentData()
{
    //$('#commentStyle').text(".comment {display: inline;}");
    $('#commentStyle').remove();
	$('<style type="text/css" id="commentStyle">.comment {cursor: pointer;}</style>').appendTo("head");
    $(".commentScrollTarget").live('click', scrollToComment);
}

function showAllVariants() 
{	
	g_allVariantsClicked = true;

    var width = 10;
    var currentColumn = $(this).closest('.columnwrapper');
    
    var selectedTab = findTab(g_lang["varianter"]);
    var selectedVariant = 0;
    
    var wrapper;
    var selectOptions = $(".version_select:first option", $(this).closest('.columnwrapper'));
    
    width = getColumnWidthsToBeAfterAdding(selectOptions.size()-1);
    
    setColumnWidths(width); 
    
    selectOptions.each(function(index, element) 
    {
        if (!$(element).attr('selected'))
        {
            var wrapper = createColumnWrapper(width);
            currentColumn.after(wrapper);
            wrapper.find('.version_select').val($(element).val());        
            initColumn(wrapper, selectedTab, false);
            wrapper.show(400);
            currentColumn = wrapper;
        }
    }); 
    //updatePermalink();
	//updateFont();
	createAddNewButton();
    return false;
    
}

function rdoLimitSearchChange()
{
	$("#ajaxLoader").show(0);
	g_personListType = $("input[name='limitSearch']:checked").val();
	$.cookie("topelius_personList", g_personListType, { expires: 400 });
	$.post("ajax_guisettings.php?guisetting=personList&value="+g_personListType, "", handleGuiSettingData);
	$.post("ajax_personlist.php?letter="+g_personListLetter+"&bookid="+g_bookId+"&list="+g_personListType+"&type="+g_personType, "", handlePersonListData);
}

function rdoPersonTypeChange()
{
	$("#ajaxLoader").show(0);
	g_personType = $("input[name='personType']:checked").val();
	$.cookie("topelius_personType", g_personType, { expires: 400 });
	$.post("ajax_guisettings.php?guisetting=personType&value="+g_personType, "", handleGuiSettingData);
	$.post("ajax_personlist.php?letter="+g_personListLetter+"&bookid="+g_bookId+"&list="+g_personListType+"&type="+g_personType, "", handlePersonListData);
}

function personListLetterClicked()
{
	$.post("ajax_personlist.php?letter="+$(this).html().trim()+"&bookid="+g_bookId+"&list="+g_personListType+"&type="+g_personType, "", handlePersonListData);
}

function personDescClicked()
{
	personDescToggle($(this));
}

function personDescToggle(element)
{
	if(!element.parent().hasClass("loaded"))
	{
		$("#ajaxLoader").show(0);
		var personId = findClassWith(element, /^(pe|fi|my)\d/g);
		if (personId.length > 0)  {
			$.post("ajax_personinfo.php?pid="+personId, "", handlePersonDescData);
		}
	}
}

function handlePersonDescData(data)
{
	var dataObj = eval('('+data+')');
	if (typeof(dataObj.personInfo) != 'undefined')
    {
		if(dataObj.personInfo.length < 1)
			$("span."+dataObj.personId, ".personlist").parent().append('<br/>Ingen information tillgänglig.');
		else {
			var sLimit = "all";
			if(g_personListType!="site")
				sLimit = g_bookId;
			//$("span."+dataObj.personId, ".personlist").parent().append('<br/>'+dataObj.personInfo+'<br/><a href="index.php?p=search&personid='+dataObj.personId+'&personname='+encodeURI(dataObj.personName.replace("<b>","").replace("</b>",""))+'&limit='+sLimit+'">visa förekomster</a>');
			$("span."+dataObj.personId, ".personlist").parent().append('<br/>'+dataObj.personInfo+'<br/><a href="index.php?p=search&personid='+dataObj.personId+'&limit='+sLimit+'">visa förekomster</a>');
		}
		$("span."+dataObj.personId, ".personlist").parent().addClass("loaded");
	}
	$("#ajaxLoader").hide(0);
}

/*function togglePermalink() 
{
    //updatePermalink();
    //$('#permalink').toggle();
}*/

/*function updateFont()
{
	if ($("input[name='rdoFont']:checked").val() == 'georgia') {
		$('.container p').css("font-family","Georgia, serif");
		$('.container a').css("font-family","Georgia, serif");
		$('.container h2').css("font-family","Georgia, serif");
		$('.container h3').css("font-family","Georgia, serif");
		$('.container h4').css("font-family","Georgia, serif");
		$('.container h5').css("font-family","Georgia, serif");
		$('.container td').css("font-family","Georgia, serif");
	}
	else {
		$('.container p').css("font-family","Verdana, sans-serif");
		$('.container a').css("font-family","Verdana, sans-serif");
		$('.container h2').css("font-family","Verdana, sans-serif");
		$('.container h3').css("font-family","Verdana, sans-serif");
		$('.container h4').css("font-family","Verdana, sans-serif");
		$('.container h5').css("font-family","Verdana, sans-serif");
		$('.container td').css("font-family","Verdana, sans-serif");
	}
	var iFontSizeAdd = $('#fontSize').val() - 1;
	$('.container p').css("font-size","1."+iFontSizeAdd+"em");
	$('.container a').css("font-size","1."+iFontSizeAdd+"em");
	$('.container td').css("font-size","1."+iFontSizeAdd+"em");
	iFontSizeAdd = 1 + iFontSizeAdd;
	$('.container h5').css("font-size","1."+iFontSizeAdd+"em");
	iFontSizeAdd = 1 + iFontSizeAdd;
	$('.container h4').css("font-size","1."+iFontSizeAdd+"em");
	iFontSizeAdd = 1 + iFontSizeAdd;
	$('.container h3').css("font-size","1."+iFontSizeAdd+"em");
	iFontSizeAdd = 1 + iFontSizeAdd;
	$('.container h3.mainheader').css("font-size","1."+iFontSizeAdd+"em");
	if ($('#paragraphBreak').is(':checked')) 
	{
		$('.container p').css("text-indent","0px");
		$('.container p').css("padding-bottom","1em");
	}
	else
	{
		$('.container p').css("text-indent","30px");
		$('.container p').css("padding-bottom","0px");
	}
}*/

function rdoFontChange()
{
	if ($("input[name='rdoFont']:checked").val() == 'georgia') {

		$('#fontFaceStyle').remove();
		$('<style type="text/css" media="all" id="fontFaceStyle">div.container p, div.container > a, div.container h2, div.container h3, div.container h4, div.container h5, div.container td, .tooltipContent { font-family: Georgia, serif;}</style>').appendTo("head");

		/*$('.container p').css("font-family","Georgia, serif");
		$('.container a').css("font-family","Georgia, serif");
		$('.container h2').css("font-family","Georgia, serif");
		$('.container h3').css("font-family","Georgia, serif");
		$('.container h4').css("font-family","Georgia, serif");
		$('.container h5').css("font-family","Georgia, serif");

		$('.container td').css("font-family","Georgia, serif");*/
		$.cookie("topelius_font", "georgia", { expires: 400 });
		$.post("ajax_guisettings.php?guisetting=font&value=georgia", "", handleGuiSettingData);
	}
	else {

		$('#fontFaceStyle').remove();
		$('<style type="text/css" media="all" id="fontFaceStyle">div.container p, div.container > a, div.container h2, div.container h3, div.container h4, div.container h5, div.container td  { font-family: Verdana, sans-serif;}</style>').appendTo("head");
		
		/*$('.container p').css("font-family","Verdana, sans-serif");
		$('.container a').css("font-family","Verdana, sans-serif");
		$('.container h2').css("font-family","Verdana, sans-serif");
		$('.container h3').css("font-family","Verdana, sans-serif");
		$('.container h4').css("font-family","Verdana, sans-serif");
		$('.container h5').css("font-family","Verdana, sans-serif");
		$('.container td').css("font-family","Verdana, sans-serif");*/
		$.cookie("topelius_font", "verdana", { expires: 400 });
		$.post("ajax_guisettings.php?guisetting=font&value=verdana", "", handleGuiSettingData);
	}
}

function fontSizeChange()
{
	/*var iFontSizeAdd = $(this).val() - 1;
	$('.container p').css("font-size","1."+iFontSizeAdd+"em");
	$('.container a').css("font-size","1."+iFontSizeAdd+"em");
	$('.container td').css("font-size","1."+iFontSizeAdd+"em");
	iFontSizeAdd = 1 + iFontSizeAdd;
	$('.container h5').css("font-size","1."+iFontSizeAdd+"em");
	iFontSizeAdd = 1 + iFontSizeAdd;
	$('.container h4').css("font-size","1."+iFontSizeAdd+"em");
	iFontSizeAdd = 1 + iFontSizeAdd;
	$('.container h3').css("font-size","1."+iFontSizeAdd+"em");
	iFontSizeAdd = 1 + iFontSizeAdd;
	$('.container h3.mainheader').css("font-size","1."+iFontSizeAdd+"em");*/

	var iFontSizeAdd = $(this).val() - 1;
	var sStyle = '<style type="text/css" media="all" id="fontSizeStyle">div.container p, div.container > a, div.container td { font-size: 1.' + iFontSizeAdd + 'em;} ';
	iFontSizeAdd += 1;
	sStyle += 'div.container h5 { font-size: 1.' + iFontSizeAdd + 'em;} ';
	iFontSizeAdd += 1;
	sStyle += 'div.container h4 { font-size: 1.' + iFontSizeAdd + 'em;} ';
	iFontSizeAdd += 1;
	sStyle += 'div.container h3 { font-size: 1.' + iFontSizeAdd + 'em;} ';
	iFontSizeAdd += 1;
	sStyle += 'div.container h3.mainheader { font-size: 1.' + iFontSizeAdd + 'em;}</style>';

	$('#fontSizeStyle').remove();
	$(sStyle).appendTo("head");

	$.cookie("topelius_fontSize", $(this).val(), { expires: 400 });
	$.post("ajax_guisettings.php?guisetting=fontSize&value="+$(this).val(), "", handleGuiSettingData);
}

function paragraphBreakChange()
{
	if ($(this).is(':checked')) 
	{
		$('#paragraphStyle').remove();
		$('<style type="text/css" media="all" id="paragraphStyle">div.container p { text-indent: 0px; padding-bottom: 1em;} span.paragraph_number { position:absolute; } @media print { span.paragraph_number { left: -30px; } } @media screen { span.paragraph_number { left: -15px; } }</style>').appendTo("head");
		//$('.container p').css("text-indent","0px");
		//$('.container p').css("padding-bottom","1em");
		$.cookie("topelius_paragraphBreak", 1, { expires: 400 });
		$.post("ajax_guisettings.php?guisetting=paragraphBreak&value=1", "", handleGuiSettingData);
	}
	else
	{
		$('#paragraphStyle').remove();
		$('<style type="text/css" media="all" id="paragraphStyle">div.container p { text-indent: 30px; padding-bottom: 0px;} span.paragraph_number { position:absolute; } @media print { span.paragraph_number { left: -60px; } } @media screen { span.paragraph_number { left: -45px; } }</style>').appendTo("head");
		//$('.container p').css("text-indent","30px");
		//$('.container p').css("padding-bottom","0px");
		$.cookie("topelius_paragraphBreak", 0, { expires: 400 });
		$.post("ajax_guisettings.php?guisetting=paragraphBreak&value=0", "", handleGuiSettingData);
	}
}

function showPersonSpans()
{
    if ($(this).is(':checked')) 
    {
        if ($('#personStyle').size() == 0) {
            $('<style type="text/css" id="personStyle">span.person {background-color:#e5bb71;} span.person[id] {cursor:pointer;}</style>').appendTo("head"); }
        $('span.person').live('click', openPersonData);/*.each(function (index, element) {
            $(element).attr('title', $(element).data('titleData'));
        });*/
		SetupTooltips("ttPerson");
		$.cookie("topelius_personShow", 1, { expires: 400 });
		$.post("ajax_guisettings.php?guisetting=personShow&value=1", "", handleGuiSettingData);
    }
    else 
    {
        $('#personStyle').remove();
        $('span.person').die('click', openPersonData)/*.each(function (index, element) {
            $(element).attr('title', '');
        });*/
		DisableTooltips("ttPerson");
		$.cookie("topelius_personShow", 0, { expires: 400 });
		$.post("ajax_guisettings.php?guisetting=personShow&value=0", "", handleGuiSettingData);
    }
}

function showChoiceSpans()
{
    if ($(this).is(':checked')) 
    {
        if ($('#choiceStyle').size() == 0) {
            $('<style type="text/css" id="choiceStyle">span.corr {background-color: #b9b9b9;cursor: default;} span.corr_red {background-color: #b9b9b9;cursor: default;} span.reg {background-color: #cacaca;}</style>').appendTo("head"); }
		SetupTooltips("ttChanges");
		$.cookie("topelius_choiceShow", 1, { expires: 400 });
		$.post("ajax_guisettings.php?guisetting=choiceShow&value=1", "", handleGuiSettingData);
    }
    else 
    {
        $('#choiceStyle').remove();
		DisableTooltips("ttChanges");
		$.cookie("topelius_choiceShow", 0, { expires: 400 });
		$.post("ajax_guisettings.php?guisetting=choiceShow&value=0", "", handleGuiSettingData);
    }
}

function showPlaceSpans()
{
    if ($(this).is(':checked')) 
    {
        if ($('#placeStyle').size() == 0) {
            $('<style type="text/css" id="placeStyle">span.placeName {background-color:#b5d58c;} span.placeName[id] {cursor:default;}</style>').appendTo("head"); }
		SetupTooltips("ttPlace");
		$.cookie("topelius_placeShow", 1, { expires: 400 });
		$.post("ajax_guisettings.php?guisetting=placeShow&value=1", "", handleGuiSettingData);
    }
    else 
    {
        $('#placeStyle').remove();
		DisableTooltips("ttPlace");
		$.cookie("topelius_placeShow", 0, { expires: 400 });
		$.post("ajax_guisettings.php?guisetting=placeShow&value=0", "", handleGuiSettingData);
    }
}

function showForeignSpans()
{
    if ($(this).is(':checked')) 
    {
        if ($('#foreignStyle').size() == 0) {
            $('<style type="text/css" id="foreignStyle">span.foreign {background-color: #a0cbd4;cursor: default;}</style>').appendTo("head"); }
		SetupTooltips("ttLang");
		$.cookie("topelius_foreignShow", 1, { expires: 400 });
		$.post("ajax_guisettings.php?guisetting=foreignShow&value=1", "", handleGuiSettingData);
    }
    else 
    {
        $('#foreignStyle').remove();
		DisableTooltips("ttLang");
		$.cookie("topelius_foreignShow", 0, { expires: 400 });
		$.post("ajax_guisettings.php?guisetting=foreignShow&value=0", "", handleGuiSettingData);
    }
}

/*function showOrganisationSpans()
{
    if ($(this).is(':checked')) 
    {
        if ($('#organisationStyle').size() == 0)
            $('<style type="text/css" id="organisationStyle">span.orgName {background-color: #c0b1cd;cursor: pointer;}</style>').appendTo("head");
    }
    else 
    {
        $('#organisationStyle').remove();
    }
}*/

function showTitleSpans()
{
    if ($(this).is(':checked')) 
    {
        if ($('#titleStyle').size() == 0)
            $('<style type="text/css" id="titleStyle">span.title {background-color: #f6e65b;}</style>').appendTo("head");
		$.cookie("topelius_titleShow", 1, { expires: 400 });
		$.post("ajax_guisettings.php?guisetting=titleShow&value=1", "", handleGuiSettingData);
    }
    else 
    {
        $('#titleStyle').remove();
		$.cookie("topelius_titleShow", 0, { expires: 400 });
		$.post("ajax_guisettings.php?guisetting=titleShow&value=0", "", handleGuiSettingData);
    }
}

function showPbztsSpans()
{
	if ($('#pbztsStyle').size() > 0)
		$('#pbztsStyle').remove();

    if ($(this).is(':checked')) 
    {
        $('<style type="text/css" id="pbztsStyle">.pb_zts {color: #d58205;}</style>').appendTo("head");
		$.cookie("topelius_pbztsShow", 1, { expires: 400 });
		$.post("ajax_guisettings.php?guisetting=pbztsShow&value=1", "", handleGuiSettingData);
    }
    else 
    {
        $('<style type="text/css" id="pbztsStyle">.pb_zts {display: none;}</style>').appendTo("head");
		$.cookie("topelius_pbztsShow", 0, { expires: 400 });
		$.post("ajax_guisettings.php?guisetting=pbztsShow&value=0", "", handleGuiSettingData);
    }
}

function showPborigSpans()
{
	if ($('#pborigStyle').size() > 0)
		$('#pborigStyle').remove();

    if ($(this).is(':checked')) 
    {
        $('<style type="text/css" id="pborigStyle">.pb_orig {color: #c34be1;cursor:pointer;}</style>').appendTo("head");
		$.cookie("topelius_pborigShow", 1, { expires: 400 });
		$.post("ajax_guisettings.php?guisetting=pborigShow&value=1", "", handleGuiSettingData);
    }
    else 
    {
        $('<style type="text/css" id="pborigStyle">.pb_orig {display: none;}</style>').appendTo("head");
		$.cookie("topelius_pborigShow", 0, { expires: 400 });
		$.post("ajax_guisettings.php?guisetting=pborigShow&value=0", "", handleGuiSettingData);
    }
}

function openPersonData()
{
	
    var target = $(this).attr("id");//findClassWith(this, /^target\d/g);
	if(target.length > 0)
	{
		$("#ajaxLoader").show(0);
		if($(".personColumn").length == 0)
		{
			var wrapper = createPersonColumn($(this).closest('.columnwrapper'));
			createAddNewButton();
			wrapper.show(400);
			setTimeout(replaceAddressHash, 410);
		}
		//target = target.substr(6);
		if ($("."+target, $(".personlist")).size() > 0)
		{
			setTimeout(function() {$(".personColumn").find('.personlist').scrollTo('.'+target, 1000); $("#ajaxLoader").hide(0); personDescToggle($('.'+target, '.personlist'));}, 410); //timeout to ensure the element is completely visible
		}
		else
		{	
			$.post("ajax_personlist.php?pid="+target+"&bookid="+g_bookId+"&list="+g_personListType, "", handlePersonListData);
			//alert(target);
		}
	}
}

function createPersonColumn(element)
{
	$('.helperwrapper').remove();
	var width = getColumnWidthsToBeAfterAdding(1);
	setColumnWidths(width);
	var wrapper = createColumnWrapper(width, g_personColumnData);
	//$(".personlist", wrapper).height(countColumnHeight()-g_searchfilterHeight);
	element.after(wrapper);
	initPersonColumn(wrapper);
	wrapper.find('.column').addClass('noScroll').addClass('personColumn');
	return wrapper;
}

function initPersonColumn(element) 
{
    var settings = {'change':true};
    $(".idTabs", element).idTabs(settings,false);
    $(".hidden", element).hide();
}

function handlePersonListData(data)
{
	var dataObj = eval('('+data+')');
	if (typeof(dataObj.personList) != 'undefined') {
		$(".personlist").html(dataObj.personList);
		g_personListLetter = dataObj.letter;
		if(dataObj.personId.length > 0) {
			if ($("."+dataObj.personId, $(".personlist")).size() > 0) {
				$(".personColumn").find('.personlist').scrollTo('.'+dataObj.personId, 1000);
				personDescToggle($('.'+dataObj.personId, '.personlist'));
				$("input[name='personType']:radio[value='"+dataObj.personType+"']").attr("checked", "checked");
				g_personType = dataObj.personType;
				$.cookie("topelius_personType", g_personType, { expires: 400 });
				$.post("ajax_guisettings.php?guisetting=personType&value="+g_personType, "", handleGuiSettingData);
			}
		}
	}
	$("#ajaxLoader").hide(0);
}

function openNewWindow()
{
    var img = $(this).attr('src').split('/').pop();
    var win = window.open("imagepage.php?image="+img);
	win.focus();
}

function loadMap(mapElement) 
{
  if (GBrowserIsCompatible()) {
    var map = new GMap2(mapElement);
    map.addControl(new GLargeMapControl());
    map.addControl(new GOverviewMapControl());
    map.addControl(new GScaleControl());
    map.addMapType(G_PHYSICAL_MAP);
    map.addControl(new GMapTypeControl());
    map.setCenter(new GLatLng(60.164, 25), 14);
    map.setZoom(12);

    for (i = 0; i < markers.length; i++) {
        addMarker(markers[i], map); }

  }
}

var markers = 
    [
        {"lat" : 60.14, "lng": 25.04, "img" : "1.jpg", "height" : 50, "width" : 70},
        {"lat" : 60.15, "lng": 24.87, "img" : "2.jpg", "height" : 70, "width" : 50}
    ];
    
function addMarker(marker, map)
{
    var icon = new GIcon(G_DEFAULT_ICON, "bilder/thumbnails/"+marker["img"]);
    icon.iconSize = new GSize(marker["width"], marker["height"]);
    icon.iconAnchor = new GPoint(marker["width"]/2, marker["height"]/2);
    icon.imageMap = [0,0, marker["width"]-1,0, marker["width"]-1,marker["height"]-1, 0,marker["height"]-1];
    var gmarker = new GMarker(new GLatLng(marker["lat"], marker["lng"]), {"icon" : icon});
    map.addOverlay(gmarker);
    GEvent.addListener(gmarker, "click", function() {newWindow(marker["img"]);});
}

function newWindow(img)
{
    var win = window.open("imagepage.php?image="+img);
	win.focus();
}

function loadCalendar()
{
	var sClassName = "month" + $(this).attr("href").substring( $(this).attr("href").lastIndexOf('=')+1 );

	if(!$(this).parent("p").hasClass(sClassName))
	{
		$(this).parent("p").addClass( sClassName );
		$.post($(this).attr("href"), "", handleCalendarData);
	}
	return false;
}

function ajaxColumnData()
{
	// show ajax loader animation	
	$("#ajaxLoader").show(0);

    var href = $(this).attr('href');
    href = href.split('itemId=');
    
    href = href[1].split('&');
    g_itemId = href[0];
    //updatePermalink();
    $.post($(this).attr('href'), "", handleNewColumnData);
	$.post("ajax_prevnext.php?itemId="+g_itemId, "", handlePrevNextData);
    return false;
}

function handleCalendarData(data)
{
	var calData = eval('('+data+')');
	$(".month"+calData.month).after(calData.calendarData);
}

function handleNewColumnData(data)
{
	// Clear data variables
	//g_variantTexts = null;
	//g_manuscriptTexts = null;
	//g_facsimiles = null;

	if(isset(g_hashParameters["columns"])) {
		g_tabsData = JSON.parse(g_hashParameters["columns"].replace(/\|/g, '"')); }
	else {
		g_tabsData = []; }
	if(g_tabsData.length > 1) {
		g_bLoadingColumns = true; }

	// Hide all columns except the first
	if(g_bHelperShown == true)
	{
		$("#dynamicColumns").children('.columnwrapper').each(function() {
			if ( $(this).children('.closeColumn').length > 0 )
			{
				$(this).remove();
			}
		});
		setColumnWidths(getColumnWidthsToBeAfterAdding(0));
	}

    var dataObj = eval('('+data+')');
	/*if (typeof(dataObj.volumeData) == 'object') //&& dataObj.volumeData.length > 0) 
	{
		defaultColumnData = dataObj.volumeData;
		bCreateDefaultColumn = true;
	}
	else
	{
		window.location.hash = "bookId=1&itemId=1_2";
	}*/
    if (typeof(dataObj.maintext) != 'undefined') {
		
		defaultColumnData[g_lang["lastext"]] = dataObj.maintext;

        $('.mainText').html(dataObj.maintext);
		// TODO: hardcoded, fix this
		if(g_bHelperShown == true && g_bLoadingColumns == false)
		{
			showMainColumnTextTab(3);
		}
	}
    if (typeof(dataObj.extraColumns) != 'undefined') {
        itemColumnData = dataObj.extraColumns;

		// count variants
		var iCountVariants = 0;
		for (var field in itemColumnData[g_lang["varianter"]]) {
			iCountVariants++;
		}
		if(iCountVariants < 2)
			g_allVariantsClicked = true;
		else
			g_allVariantsClicked = false;
		// end count

	}
	
	if (typeof(dataObj.title) != 'undefined') {
		// TODO: half hardcoded, fix this
		//$('#breadcrumb').html('<a href=\"./\">Hem</a> &gt; <a href=\"./?p=texts\">Den digitala utgåvan</a> &gt; <a href=\"#\">Ljungblommor</a> &gt; <a href=\"#\">'+dataObj.title+'</a>');
	}

	// hide ajax loader animation	
	$("#ajaxLoader").hide(0);

	// scroll to the start of the text-div
	if(g_positionId.length > 0)
		scrollMainTextTo(g_positionId, true);
	else
		$('#column1Tab3').scrollTo('0px','0px');

	// reset global variables
	//g_allVariantsClicked = false;

	/*if(bCreateDefaultColumn) {
		defaultColumn();
	}
	else
	{*/
	if(g_bHelperShown == true)
	{
		if(!g_bLoadingColumns)
		{
			if($('#commentShow').attr('checked')) {
				$('.helperwrapper').remove();
				newColumn(0);  
			}
		}
	}
	else {
		g_bHelperShown = true; }
	//}

	if(g_tabsData.length > 0)
	{
		tabsFromArray(g_tabsData);
	}
	//setTimeout(update
	//updateFont();
	createAddNewButton();
}

function handlePrevNextData(data)
{
    var dataObj = eval('('+data+')');
    if (typeof(dataObj.prevnext) != 'undefined') {
        $('#prevNext').html(dataObj.prevnext);

		// show the prevnext links
		$("#prevNext").show(400);
	}
	if (typeof(dataObj.breadcrumb) != 'undefined') {
        $('#breadcrumb').html(dataObj.breadcrumb);
	}
}

function handleGuiSettingData(data)
{
	// No action required at the moment
}



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;
}
