var timer; 
var current_location = 1;
var next_location = 1; 
var pics_loaded = 0;
var onoff = 0;
var direction = 1;
var timeout_value;
var images = new Array;
var photo_urls = new Array;
var photo_big_url ="Meerwasser_Aquarium/Anfang-Elche1_gross.jpg";
var photo_big_urls = new Array;
var photo_captions = new Array;
var transitionNames = new Array;
var transitions = new Array;
var current_transition = 15;
var loop = 1;
transitions[0] = "progid:DXImageTransform.Microsoft.Fade(duration=1)";
transitions[1] = "progid:DXImageTransform.Microsoft.Blinds(Duration=1,bands=20)";
transitions[2] = "progid:DXImageTransform.Microsoft.Checkerboard(Duration=1,squaresX=20,squaresY=20)";
transitions[3] = "progid:DXImageTransform.Microsoft.Strips(Duration=1,motion=rightdown)";
transitions[4] = "progid:DXImageTransform.Microsoft.Barn(Duration=1,orientation=vertical)";
transitions[5] = "progid:DXImageTransform.Microsoft.GradientWipe(duration=1)";
transitions[6] = "progid:DXImageTransform.Microsoft.Iris(Duration=1,motion=out)";
transitions[7] = "progid:DXImageTransform.Microsoft.Wheel(Duration=1,spokes=12)";
transitions[8] = "progid:DXImageTransform.Microsoft.Pixelate(maxSquare=10,duration=1)";
transitions[9] = "progid:DXImageTransform.Microsoft.RadialWipe(Duration=1,wipeStyle=clock)";
transitions[10] = "progid:DXImageTransform.Microsoft.RandomBars(Duration=1,orientation=vertical)";
transitions[11] = "progid:DXImageTransform.Microsoft.Slide(Duration=1,slideStyle=push)";
transitions[12] = "progid:DXImageTransform.Microsoft.RandomDissolve(Duration=1,orientation=vertical)";
transitions[13] = "progid:DXImageTransform.Microsoft.Spiral(Duration=1,gridSizeX=40,gridSizeY=40)";
transitions[14] = "progid:DXImageTransform.Microsoft.Stretch(Duration=1,stretchStyle=push)";
transitions[15] = "special case";
var transition_count = 15;
// Browser capabilities detection ---
// - assume only IE4+ and NAV6+ can do image resizing, others redirect to low 
if (is_ie4up || is_nav6up) {
    //-- it's all good ---
} else {
    //-- any other browser we go low-tech ---
    document.location = slideShowLow;
}
// - IE5.5 and up can do the blending transition.
var browserCanBlend = (is_ie5_5up);
function openBigPic(location){
	var imageName = photo_big_urls[location]
	var imageWidth = 500;
	var imageHeight = 500;
	var posLeft = 10;
	var posTop = 10;
	var alt = 'Royal-Exclusiv';
	var imageType="jepg";
	var count;
	newWindow = window.open("about:blank","title","width="+imageWidth+",height="+imageHeight+",scrollbars=no,resizable=yes");
	newWindow.document.open();
	newWindow.document.write('<html><head><title>' +alt+ '</title>\n ');
	newWindow.document.write('<script language="JavaScript">\n ');
	newWindow.document.write('var isLoad = false; \n ');
   	newWindow.document.write(' function set_size(){\n ');
   	newWindow.document.write(' if(isLoad) return;\n ');
   	newWindow.document.write(' isLoad = true;\n ');
   	newWindow.document.write(' var hoehe=document.images[0].height;\n ');
   	newWindow.document.write(' var breite=document.images[0].width;\n ');
   	newWindow.document.write(' var h=screen.availHeight;\n ');
   	newWindow.document.write(' var b=screen.availWidth;\n ');
   	newWindow.document.write(' if (h<=hoehe) hoehe=h;\n ');
   	newWindow.document.write(' if (b<=breite) breite=b;\n ');
   	newWindow.document.write(' window.resizeTo(breite,hoehe);\n ');
   	newWindow.document.write(' window.moveTo((b-breite)*0.5,(h-hoehe)*0.5);\n ');
   	newWindow.document.write(' waitText.style.display="none";\n ');
   	newWindow.document.write(' }\n ');
   	newWindow.document.write(' </SCRIPT>\n ');
	newWindow.document.write('</head><body bgcolor="#FFFFFF" leftmargin="0" topmargin="0" marginheight="0" marginwidth="0" onBlur="self.close()">\n '); 
	newWindow.document.write('<div id="waitText">Bild wird geladen...<br></div>\n');
	newWindow.document.write('<div align="center"><img src="'+ imageName +'" border="0" onLoad="set_size()"></div>\n');
	newWindow.document.write('</body>\n</html>\n');
	newWindow.document.close();
	newWindow.focus();
}
function stopOrStart() {
    if (onoff) {
	stop();
    } else {
	play();
    }
}
function toggleLoop() {
    if (loop) {
	loop = 0;
    } else {
	loop = 1;
    }
}
function changeElementText(id, newText) {
    element = document.getElementById(id);
    //status = element;
    element.innerHTML = newText;
}
function stop() {
    changeElementText("stopOrStartText", "start");
    onoff = 0;
    status = "Slide show is stoped, click on [start] to resume.";
    clearTimeout(timer);
}
function play() {
    changeElementText("stopOrStartText", "stop");
    onoff = 1;
    status = "Slide show started...";
    go_to_next_photo();
}
function changeDirection() {
    if (direction == 1) {
	direction = -1;
	changeElementText("changeDirText", "change direction to forward");
    } else {
	direction = 1;
	changeElementText("changeDirText", "change direction to backward");
    }
    preload_next_photo();
}
function change_transition() {
    current_transition = document.TopForm.transitionType.selectedIndex;
}

function preload_complete() {
}
function reset_timer() {
    clearTimeout(timer);
    if (onoff) {
	timeout_value = document.TopForm.time.value * 1000;
	timer = setTimeout('go_to_next_photo()', timeout_value);
    }
}
function wait_for_current_photo() {
    /* Show the current photo */
    if (!show_current_photo()) {
	/*
	 * The current photo isn't loaded yet.  Set a short timer just to wait
	 * until the current photo is loaded.
	 */
	status = "Loading picture...(" + current_location + " from " + photo_count + ").  please wait..." ;
	clearTimeout(timer);
	timer = setTimeout('wait_for_current_photo()', 500);
	return 0;
    } else {
	status = "Slide show started...";
	preload_next_photo();
	reset_timer();
    }
}
function go_to_next_photo() {
    /* Go to the next location */
    current_location = next_location;

    /* Show the current photo */
    if (!show_current_photo()) {
	wait_for_current_photo();
	return 0;
    }
    preload_next_photo();
    reset_timer();
}
function preload_next_photo() {
    /* Calculate the new next location */
    next_location = (parseInt(current_location) + parseInt(direction));
    if (next_location > photo_count) {
	next_location = 1;
	if (!loop) {
	    stop();
	}
    }
    if (next_location == 0) {
        next_location = photo_count;
	if (!loop) {
	    stop();
	}
    }
    /* Preload the next photo */
    preload_photo(next_location);
}
function show_current_photo() {
    /*
     * If the current photo is not completely loaded don't display it.
     */
    if (!images[current_location] || !images[current_location].complete) {
	preload_photo(current_location);
	return 0;
    }
    /* transistion effects */
    if (browserCanBlend){
	var do_transition;
	if (current_transition == (transition_count)) {
	    do_transition = Math.floor(Math.random() * transition_count);
	} else {
	    do_transition = current_transition;
	}
	document.images.slide.style.filter=transitions[do_transition];
	document.images.slide.filters[0].Apply();
    }
    document.slide.src = images[current_location].src;
    setCaption(photo_captions[current_location]);
	photo_big_url = photo_big_urls[current_location];
    if (browserCanBlend) {
	document.images.slide.filters[0].Play();
    }
    return 1;
}
function preload_photo(index) {
    /* Load the next picture */
    if (pics_loaded < photo_count) {
	/* not all the pics are loaded.  Is the next one loaded? */
	if (!images[index]) {
	    images[index] = new Image;
	    images[index].onLoad = preload_complete();
	    images[index].src = photo_urls[index];
	    pics_loaded++;
	}
    } 
}
function setCaption(text) {
    changeElementText("caption", " " + text);
}
