var thisURL = document.location.href;
var splitURL = thisURL.split("#");
var photoId = splitURL[1] - 1;
var photoId = (!photoId)? 0 : photoId;
var borderSize = 4;
var photoDir = "pictour/";
var photoArray = new Array(
	new Array("OPScreenTH.png", "450", "311",
	"Das zentrale Dokumentenarchiv speichert die Dokumente und Dateien automatisch im 128 Bit verschlüsselten AES Rijndael Algorithmus.<br><br>AES ist ein im Jahre 2001 vom National Institute of Standards and Technology (NIST) als Advanced Encryption spezifizierter Verschlüsselungsstandard und bietet ein außerordentlich hohes Maß an kryptographischer Sicherheit, Geschwindigkeit und Effizienz.<br><br><div align='center'><a href='pictour/OPScreen.htm' target='_blank'><img src='pictour/Zoom.gif' width='88' height='18' border='0'></a></div>"),

	new Array("OPSplittscreenTH.png", "450", "311",
	"Es können mehrere Office-n-PDF-Datenbanken gleichzeitig, neben- oder übereinander  geöffnet werden, um z. B. Dokumente zwischen diesen bequem per Drag & Drop austauschen.<br><br>So hat z. B. der Außendienst immer die passenden Unterlagen beim Kunden vor Ort.<br><br><div align='center'><a href='pictour/OPSplittscreen.htm' target='_blank'><img src='pictour/Zoom.gif' width='88' height='18' border='0'></a></div>"),
	
	new Array("OPImportTH.png", "450", "311",
	"Sie können einzelne Dokumente einem Ordner in Office-n-PDF hinzufügen oder mithilfe des integrierten Import-Assistenten schnell hunderte Dokumente unterschiedlicher Formate inklusive der vorhandenen Verzeichnisstruktur auf einmal archivieren.<br><br>Falls Ihre Dokumente derzeit in diversen Verzeichnissen und Unterverzeichnissen abgelegt sind, arbeiten Sie folglich sofort mit Ihrer vertrauten Ordnerstruktur innerhalb Office-n-PDF weiter!<br><br><div align='center'><a href='pictour/OPImport.htm' target='_blank'><img src='pictour/Zoom.gif' width='88' height='18' border='0'></a></div>"),

	new Array("OPCheckInOutTH.png", "450", "311",
	"Sie können Dokumente aus Office-n-PDF auschecken, d. h. Sie zeigen anderen Benutzern an, dass Sie an dem Dokument arbeiten.<br><br>Das Auschecken durch einen anderen Benutzer ist währenddessen nicht möglich bis Sie dieses wieder eingecheckt haben. Dabei werden die jeweiligen Versionen in der Dokumentenhistorie protokolliert und verwaltet.<br><br><div align='center'><a href='pictour/OPCheckInOut.htm' target='_blank'><img src='pictour/Zoom.gif' width='88' height='18' border='0'></a></div>"),
	
	new Array("OPSucheTH.png", "450", "311",
	"Die Volltextsuche durchsucht blitzschnell die gesamte Office-n-PDF-Datenbank. Eine Trefferliste sorgt zudem für den schnellen Überblick.<br><br>Neben der Volltextsuche lassen sich Dokumente aber auch nach Dateinamen, Verfasser, Thema, PDF-Stichworten oder vorher festgelegten Schlagworten schnell wiederfinden, weiterleiten oder z. B. als Termin für eine Besprechung festlegen.<br><br><div align='center'><a href='pictour/OPSuche.htm' target='_blank'><img src='pictour/Zoom.gif' width='88' height='18' border='0'></a></div>"),
	
	new Array("OPRechercheTH.png", "450", "311",
	"Wörter oder auch Textstellen lassen sich schnell online über Google, Wikipedia oder Woerterbuch.info nachschlagen.<br><br><div align='center'><a href='pictour/OPRecherche.htm' target='_blank'><img src='pictour/Zoom.gif' width='88' height='18' border='0'></a></div>"),
	
	new Array("OPKommentareTH.png", "450", "311",
	"Um Anmerkungen einzufügen oder bestimmte Stellen im Dokument zu markieren, stehen Ihnen diverse Werkzeuge zur Verfügung.<br><br>Fügen Sie beispielsweise an beliebiger Stelle des Dokuments eine Kommentarwolke mit einer Freihand-Notiz oder zu einer Textpassage eine Erläuterung ein und heben Sie wichtige Textstellen mit einem Textmarker hervor.<br><br><div align='center'><a href='pictour/OPKommentare.htm' target='_blank'><img src='pictour/Zoom.gif' width='88' height='18' border='0'></a></div>"),

	new Array("OPKennungTH.png", "450", "311",
	"Ordnen Sie den Dokumenten Icons zu.<br><br>Wählen Sie aus hunderten Kennungssymbolen und werten Sie Ihre Dokumente mit visuellen Kennungsfilter aus.<br><br><div align='center'><a href='pictour/OPKennung.htm' target='_blank'><img src='pictour/Zoom.gif' width='88' height='18' border='0'></a></div>"),

	new Array("OPVerfallTH.png", "450", "311",
	"Dokumente sind oftmals nach einer bestimmten Zeit veraltet bzw. müssen nicht mehr aufbewahrt werden. Damit sie nicht unnötig Ihre Datenbank belasten, können Sie jedes Dokument validieren.<br><br>Sobald das Verfallsdatum erreicht wird, löscht sich das Dokument von ganz alleine. Ihre Datenbank bleibt somit schlank und übersichtlich.<br><br><div align='center'><a href='pictour/OPVerfall.htm' target='_blank'><img src='pictour/Zoom.gif' width='88' height='18' border='0'></a></div>"),
	
	new Array("OPAufgabenTH.png", "450", "311",
	"Dokumente lassen sich als Aufgabe oder Termin mit Microsoft Outlook verknüpfen.<br><br>Microsoft Outlook erinnert Sie somit an Ihre auf Wiedervorlage gelegten Dokumente z. B. bei Abgabefristen.<br><br><div align='center'><a href='pictour/OPAufgaben.htm' target='_blank'><img src='pictour/Zoom.gif' width='88' height='18' border='0'></a></div>"),

	new Array("OPMailarchivTH.png", "450", "311",
	"Neben Dokumente verschiedener Dateiformate können Sie auch E-Mails direkt aus Microsoft Outlook archivieren. Dabei bleibt auch hier das Original der E-Mail unverändert erhalten.<br><br>E-Mails mit Dateianhängen werden folglich auch mit Anhängen archiviert.<br><br><div align='center'><a href='pictour/OPMailarchiv.htm' target='_blank'><img src='pictour/Zoom.gif' width='88' height='18' border='0'></a></div>"),

	new Array("OPWordAddInTH.png", "450", "311",
	"Über ein Add-In können Sie jedes Microsoft Word Dokument direkt und ohne Umwege sofort in Microsoft Word archivieren.<br><br>Bereits archivierte Dokumente lassen sich so auch leicht aktualisieren (auf Wunsch gleich mit der vollständigen Dokumentenhistorie).<br><br><div align='center'><a href='pictour/OPWordAddIn.htm' target='_blank'><img src='pictour/Zoom.gif' width='88' height='18' border='0'></a></div>"),

	new Array("OPRechteTH.png", "450", "311",
	"Die Professional-Edition erlaubt die Vergabe von Benutzer- und Gruppenberechtigungen für einzelne Dokumente oder ganze Ordnerstrukturen innerhalb der Baumstruktur des Office-n-PDF.<br><br>So kann leicht festgelegt werden, wer welche Dokumente lesen, sperren, drucken, exportieren oder löschen darf.<br><br><div align='center'><a href='pictour/OPRechte.htm' target='_blank'><img src='pictour/Zoom.gif' width='88' height='18' border='0'></a></div>"),

	new Array("OPAdminTH.png", "450", "311",
	"Die Professional-Edition unterstützt den Einsatz des Microsoft SQL-Server (auch die kostenlose Express-Edition).<br><br>Die Datenbankpflege und Rechteverwaltung erledigen Sie bequem und übersichtlich mithilfe der Administrationsverwaltung.<br><br><div align='center'><a href='pictour/OPAdmin.htm' target='_blank'><img src='pictour/Zoom.gif' width='88' height='18' border='0'></a></div>"),
	
	new Array("OPEditDBTH.png", "450", "311",
	"Es lassen sich 'Öffentliche' (für alle im Netzwerk vorhandenen Benutzer) und so genannte 'Persönliche' (privat für einzelne Anwender) Datenbanken verwalten.<br><br>Unabhängig hiervon können beide Formen der Datenbanken natürlich auch mit einem Kennwortschutz versehen und einzelnen Benutzergruppen zugeordnet werden.<br><br><div align='center'><a href='pictour/OPEditDB.htm' target='_blank'><img src='pictour/Zoom.gif' width='88' height='18' border='0'></a></div>"),

	new Array("OPEditGrpTH.png", "450", "311",
	"Es lassen sich beliebig viele Benutzergruppen anlegen. Die enthaltenen Rechte sind vererbbar, wodurch auch eine verschachtelte Rechtevergabe zum Kinderspiel wird.<br><br><div align='center'><a href='pictour/OPEditGrp.htm' target='_blank'><img src='pictour/Zoom.gif' width='88' height='18' border='0'></a></div>"),

	new Array("OPEditUserTH.png", "450", "311",
	"Über die Benutzerverwaltung kann die Administration bestimmen, welcher Anwender in welchen Benutzergruppen und in welcher Form Zugriffsberechtigungen (Lesen, Bearbeiten, Drucken, Löschen) besitzt.<br><br><div align='center'><a href='pictour/OPEditUser.htm' target='_blank'><img src='pictour/Zoom.gif' width='88' height='18' border='0'></a></div>"),
	
	new Array("AllEditions.png", "430", "300",
	"Office-n-PDF gibt es in drei Editionen.<br><br><a href='preisliste.htm'>Weitere Details und Preise zu den drei Editionen erhalten Sie hier!</a>")
	);

var photoNum = photoArray.length;
Object.extend(Element, {
	getWidth: function(element) {
   	element = $(element);
   	return element.offsetWidth; 
	},
	setWidth: function(element,w) {
   	element = $(element);
    	element.style.width = w +"px";
	},
	setHeight: function(element,h) {
   	element = $(element);
    	element.style.height = h +"px";
	},
	setSrc: function(element,src) {
    	element = $(element);
    	element.src = src; 
	},
	setHref: function(element,href) {
    	element = $(element);
    	element.href = href; 
	},
	setInnerHTML: function(element,content) {
		element = $(element);
		element.innerHTML = content;
	}
});

var Slideshow = Class.create();
Slideshow.prototype = {
	initialize: function(photoId) {
		this.photoId = photoId;
		this.photo = 'Photo';
		this.photoBox = 'Container';
		this.prevLink = 'PrevLink';
		this.nextLink = 'NextLink';
		this.captionBox = 'CaptionContainer';
		this.caption = 'Caption';
		this.counter = 'Counter';
		this.loader = 'Loading';
	},
	getCurrentSize: function() {
		// Get current height and width, subtracting CSS border size
		this.wCur = Element.getWidth(this.photoBox) - borderSize;
		this.hCur = Element.getHeight(this.photoBox) - borderSize;
	},
	getNewSize: function() {
		// Get current height and width
		this.wNew = photoArray[photoId][1];
		this.hNew = photoArray[photoId][2];
	},
	getScaleFactor: function() {
		this.getCurrentSize();
		this.getNewSize();
		// Scalars based on change from old to new
		this.xScale = (this.wNew / this.wCur) * 100;
		this.yScale = (this.hNew / this.hCur) * 100;
	},
	setNewPhotoParams: function() {
		// Set source of new image
		Element.setSrc(this.photo,photoDir + photoArray[photoId][0]);
		// Set anchor for bookmarking
		Element.setHref(this.prevLink, "#" + (photoId+1));
		Element.setHref(this.nextLink, "#" + (photoId+1));
	},
	setPhotoCaption: function() {
		// Add caption from gallery array
		Element.setInnerHTML(this.caption,photoArray[photoId][3]);
		Element.setInnerHTML(this.counter,((photoId+1)+'/'+photoNum));
	},
	resizePhotoBox: function() {
		this.getScaleFactor();
		new Effect.Scale(this.photoBox, this.yScale, {scaleX: false, duration: 0.3, queue: 'front'});
		new Effect.Scale(this.photoBox, this.xScale, {scaleY: false, delay: 0.5, duration: 0.3});
		// Dynamically resize caption box as well
		Element.setWidth(this.captionBox,this.wNew-(-borderSize));
	},
	showPhoto: function(){
		new Effect.Fade(this.loader, {delay: 0.5, duration: 0.3});
		// Workaround for problems calling object method "afterFinish"
		new Effect.Appear(this.photo, {duration: 0.5, queue: 'end', afterFinish: function(){Element.show('CaptionContainer');Element.show('PrevLink');Element.show('NextLink');}});
	},
	nextPhoto: function(){
		// Figure out which photo is next
		(photoId == (photoArray.length - 1)) ? photoId = 0 : photoId++;
		this.initSwap();
	},
	prevPhoto: function(){
		// Figure out which photo is previous
		(photoId == 0) ? photoId = photoArray.length - 1 : photoId--;
		this.initSwap();
	},
	initSwap: function() {
		// Begin by hiding main elements
		Element.show(this.loader);
		Element.hide(this.photo);
		Element.hide(this.captionBox);
		Element.hide(this.prevLink);
		Element.hide(this.nextLink);
		// Set new dimensions and source, then resize
		this.setNewPhotoParams();
		this.resizePhotoBox();
		this.setPhotoCaption();
	}
}

var myrules = {
	'#Photo' : function(element){
		element.onload = function(){
			var myPhoto = new Slideshow(photoId);
			myPhoto.showPhoto();
		}
	},
	'#PrevLink' : function(element){
		element.onmouseover = function(){
			
		}
		element.onclick = function(){
			var myPhoto = new Slideshow(photoId);
			myPhoto.prevPhoto();
			
		}
	},
	'#NextLink' : function(element){
		element.onmouseover = function(){
			
		}
		element.onclick = function(){
			var myPhoto = new Slideshow(photoId);
			myPhoto.nextPhoto();
			
		}
	},
	a : function(element){
		element.onfocus = function(){
			this.blur();
		}
	}
};

Behaviour.addLoadEvent(init);
Behaviour.apply();
function init() {
	var myPhoto = new Slideshow(photoId);
	myPhoto.initSwap();
}
