/*
	Portfolio Webscript V0.9
	
	Installation: 
	
	<script type="text/javascript" src="rsrc/portfolio.js">  </script>
	
	Portfolio einbinden:
	
	<div id="appPortfolioControll">
		<span><a href="javascript:appPortfolioOverview();">[*]</a></span>
		<span><a href="javascript:appPortfolioPrev();">[&lt;]</a></span>
		<span id="appPortfolioName">Portfolio</span>
		<span><a href="javascript:appPortfolioNext();">[&gt;]</a></span>
		<div id="appPortfolioThumbs" style="width: 100%; border: 1px solid green;"> </div>
		<span><img id="appPortfolioImage"> </img></span>
	</div>

	Portfoliolink:
		
	<a href="javascript: appPortfolioGet('portfolien/stille');"><img src="portfolien/stille/thumbnails/anglerstuhl_am_oulu_jaervi_fin.jpg" class="productThumbnail" /></a>
	
	Porfolio Resourcen:
	
	Im Verzeichnis portfolien auf dem webserver fŸr jedes Portfolio ein Verzeichnis anlegen.
	In jedem dieser Verzeichnisse thumbnails und images anlegen. Das PortfolioScript kann
	Xml Dateien, welche von Picasa exportiert wurden, verarbeiten.
		
	portfolien/stille/index.xml
*/

var appPortfolio_Path = '';
var appPortfolio_Name = '';
var appPortfolio_Selected = 0;
var appPortfolio_Count = 0;
var appPortfolio_Caption = '';
var appPortfolio_Names = new Array();
var appPortfolio_Thumbs = new Array();
var appPortfolio_Images = new Array();

function appPortfolioGet(url) {
	var xmlHttp = null;
	if (typeof XMLHttpRequest != 'undefined') {
		xmlHttp = new XMLHttpRequest();
	}
	if (!xmlHttp) {
		// Internet Explorer 6 und Šlter
		try {
			xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try {
				xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) {
				xmlHttp  = null;
			}
		}
	}
	if (xmlHttp) {
		xmlHttp.open('POST', url + "/index.xml", true);
		xmlHttp.onreadystatechange = function () {
			if (xmlHttp.readyState == 4) {
				appPortfolio_Path = url;
				appPortfolioParseResponseXml(xmlHttp.responseXML);
				appPortfolioOverview();
			}
		};
		xmlHttp.send(null);
	}
}

function debugOut(stuff) {
	it = document.getElementById('debugConsole');
	it.value += stuff + "\n";
}

function appPortfolioParseResponseXml( listXml ) {
	rootNode = listXml.getElementsByTagName('album')[0];
	appPortfolio_Count = 0;
	appPortfolio_Images = new Array();
	appPortfolio_Widths = new Array();
	appPortfolio_Heights = new Array();
	appPortfolio_ImageNames = new Array();
	appPortfolio_Selected = null;
	
	appPortfolio_Name = rootNode.getElementsByTagName('albumName')[0].firstChild.nodeValue;

	it = document.getElementById('appPortfolioThumbs');
	it.innerHTML = '';
	
	imageNodes = rootNode.getElementsByTagName('images')[0].getElementsByTagName('image');
	for (i = 0; i < imageNodes.length; i ++) {
		thumbNail = imageNodes[i].getElementsByTagName('itemThumbnailImage')[0].firstChild.nodeValue;
		appPortfolio_Images[i] = imageNodes[i].getElementsByTagName('itemLargeImage')[0].firstChild.nodeValue;
		appPortfolio_Widths[i] = imageNodes[i].getElementsByTagName('itemWidth')[0].firstChild.nodeValue;
		appPortfolio_Heights[i] = imageNodes[i].getElementsByTagName('itemHeight')[0].firstChild.nodeValue;
		appPortfolio_ImageNames[i] = imageNodes[i].getElementsByTagName('itemCaption')[0].firstChild.nodeValue;

		imgTag = '<img class="appPortfolioThumbnails" onclick="javascript:appPortfolioSelect('+i+');"' + ' src="' + appPortfolio_Path + '/' + thumbNail.replace(/^\s+/, '').replace (/\s+$/, '') + '" alt="' + appPortfolio_ImageNames[i] + '"/>';
		it.innerHTML += imgTag;
		appPortfolio_Count ++;
	}

}

function appPortfolioInIE() {
	if (navigator.appName.indexOf("Microsoft") >= 0) {
		return 1;
   	} else {
   		return 0;
   	}
}

function appPortfolioSelect(j) {
	if (j <= appPortfolio_Count) {
		it = document.getElementById('appPortfolioImage');
		it.src = appPortfolio_Path + '/' + appPortfolio_Images[j];

		if (appPortfolioInIE()) {	
			it.style.width = appPortfolio_Widths[j] + "px";
			it.style.height = appPortfolio_Heights[j] + "px";
		} else {
			it.style.width = appPortfolio_Widths[j];
			it.style.height = appPortfolio_Heights[j];
		}
		
		it.style.display = 'inline';
		appPortfolio_Selected = j;
		
		document.getElementById('appPortfolioThumbs').style.display = 'none';
		
		it = document.getElementById('appPortfolioName');
		it.innerHTML = appPortfolio_Name + '(' + (appPortfolio_Selected + 1) + ' / ' + appPortfolio_Count + ') ' + appPortfolio_ImageNames[appPortfolio_Selected];
	}
}

function appPortfolioNext() {
	if (appPortfolio_Selected == null) {
		appPortfolioSelect(0);
	} else {
		if (appPortfolio_Selected < appPortfolio_Count - 1) {
			appPortfolioSelect(appPortfolio_Selected + 1);
		}
	}
}

function appPortfolioPrev() {
	if (appPortfolio_Selected > 0) {
		appPortfolioSelect(appPortfolio_Selected - 1);
	}
}

function appPortfolioOverview() {
	document.getElementById('appPortfolioThumbs').style.display = 'block';
	document.getElementById('appPortfolioImage').style.display = 'none';
	document.getElementById('appPortfolioName').innerHTML = appPortfolio_Name + " - " + appPortfolio_Count;
}
