function flagOpen ( ) {
    if ( flagState != "busy" ) {
	flagState="busy";
	flagSchedule="open";
	$("img#flag_open").fadeIn(500, function () {
	$("img#flag_closed").fadeOut(1000, function() { flagState="open"; checkFlag(); }) });
    } else {
	flagSchedule="open";
    }
}

function flagClosed ( ) {
    if ( flagState != "busy" ) {
	flagState="busy";
	flagSchedule="closed";
	$("img#flag_closed").fadeIn(500, function () {
	$("img#flag_open").fadeOut(1000, function() { flagState="closed"; checkFlag(); }) });
    } else {
	flagSchedule="closed";
    }
}

function checkFlag ( ) {
    if ( flagState != flagSchedule ) {
	if ( flagSchedule == "open" ) { flagOpen(); }
	if ( flagSchedule == "closed" ) { flagClosed(); }
    }
}

var fillIndex=0;
var referenceIndex=0;
var maxReferences=0;
var referenceTarget="#";
var flagState="closed";
var flagSchedule="closed";

function pageInit ( ) {
    
    maxReferences=referencesObject.length;

    // Flag click
    $('#flag_open').click(function ( ) {
	window.location.href=referenceTarget;
    });

    if ( $.browser.msie ) {
	document.getElementById("flag_open").style.display="block";
	document.getElementById("flag_closed").style.display="none";
    } else {
	// Flag Over
	$("#flag").mouseenter(function ( ) {
	flagOpen();
	});
	
	// Flag out
	$("#flag").mouseleave(function ( ) {
	flagClosed();
	});
    }
    
    fillReferences();
}

function fillReferences ( ) {
    
    var currentReferencePicture=referencesObject[referenceIndex][0];
    var handleCurrentPicture=document.getElementById("current_reference_"+fillIndex);
    var currentReferenceTarget=referencesObject[referenceIndex][2];
    
    var currentFillIndex=fillIndex;

    referenceIndex++;
    if ( referenceIndex >= maxReferences ) { referenceIndex=0; }
    fillIndex++;
    if ( fillIndex >1 ) { fillIndex=0; }

    var nextReferencePicture=referencesObject[referenceIndex][0];
    var handleNextPicture=document.getElementById("current_reference_"+fillIndex);

    handleCurrentPicture.style.display="none";
    handleCurrentPicture.style.zIndex=1;
    handleCurrentPicture.src=referencesPath+currentReferencePicture;
    referenceTarget="#";
    $("#current_reference_"+currentFillIndex).fadeIn(1000, function() {
	handleCurrentPicture.style.zIndex=0;
	referenceTarget=currentReferenceTarget;
	handleNextPicture.style.display="none";
	handleNextPicture.style.zIndex=1;
    } );
    window.setTimeout("fillReferences()",3500);	
    
}

