var imagesXmlResponse;
var productXmlResponse;
var imageArray = new Array();
var productArray = new Array();
var currentItem;
var fadeInOut;

var myMethod ="m"+"a"+"i"+"l"+"t"+"o"+":";
var mySite = "@"+"littlestar-design"+"."+"com";
function doar(correspondent){
   location = myMethod + correspondent + mySite + "?" + mySite + " - From [Please add your name here]" ;
}

function setImageNav () {
	var sBuffer = new StringBuffer();
	sBuffer.append('<ul class="hMenu">');
	for (var i = 0;i < imageArray.length; i++) {
		sBuffer.append('<li id="galleryButton' + i + '" class="button" onclick="setPortfolioImg(');
		sBuffer.append(i);
		sBuffer.append(');">');
		sBuffer.append(i + 1);
		sBuffer.append('</li>');
	}
	sBuffer.append('</ul>');
	$('galleryNav').innerHTML = sBuffer.toString();
}

function setPortfolioImg (num) {
	currentItem = num;
	fadeInOut = new Fx.Tween('portfolioImg');
	fadeInOut.start("opacity",0).chain(function() {
		$('portfolioImg').setProperty('src', imageArray[num].imgUrl.src).fade('in');
	});
	$('moreInfo').innerHTML = imageArray[num].imgName;
	for (var i = 0;i < imageArray.length;i++) {
		$('galleryButton' + i).className = 'button';
	}
	$('galleryButton' + num).className += ' current';
	var imgCounter = num + 1;
	$('counter').innerHTML = '<img src="Images/counter' + imgCounter + '.gif" alt="' + imgCounter + '" width="60px" height="50px" />';
	/*$('counter').innerHTML = imgCounter;*/
}

function getImageData(container, theUrl,theSync) {
	var oXml = new XmlHttpReq();
	oXml.open('GET',theUrl,theSync);
	oXml.onreadystatechange = function() {
		if(oXml.readyState != 4) {
			document.getElementById(container).innerHTML = 'loading...'
			return;
		}
		else {
			try {
				imagesXmlResponse = oXml.responseXML;
				var items = imagesXmlResponse.getElementsByTagName('item')
				for (var i = 0;i < items.length;i++) {
					imageArray[i] = new Object();
					var kids = items[i].childNodes;
					for (var j = 0;j < kids.length;j ++) {
						if (kids[j].nodeName == 'title') {
							imageArray[i].imgName = kids[j].firstChild.nodeValue;
						}
						if (kids[j].nodeName == 'url') {
							var img = new Image();
					   		img.src = 'Data/Portfolio/' + kids[j].firstChild.nodeValue;
							imageArray[i].imgUrl = img;
						}
					}
					document.getElementById(container).innerHTML = '<img id="portfolioImg" width="542px" height="328px" alt="" />';
					$('galleryNav').innerHTML = '<p>Loading...</p>';
					setImageNav();
					setPortfolioImg(0);
				}
				isLoadedData = true;
			}
			catch (e) {
				console.log("Problems...: on #" + i + " " + imageArray[i].imgName + ": " + e);
			}
			return imageArray;
		}
	};
	oXml.send(null);
}

function getproductData (container, theUrl,theSync) {
	var oXml = new XmlHttpReq();
	oXml.open('GET',theUrl,theSync);
	oXml.onreadystatechange = function() {
		if(oXml.readyState != 4) {
			return;
		}
		else {
			try {
				var category = displayItem('category');
				if (category == '') {
					category = 'tables';
				}
				productXmlResponse = oXml.responseXML;
				var items = productXmlResponse.getElementsByTagName('item')
				for (var i = 0;i < items.length;i++) {
					productArray[i] = new Object();
					var kids = items[i].childNodes;
					for (var j = 0;j < kids.length;j ++) {
						if (kids[j].nodeName == 'title') {
							productArray[i].productTitle = kids[j].firstChild.nodeValue;
						}
						if (kids[j].nodeName == 'url') {
							var img = new Image();
					   		img.src = 'Data/Products/Fullsize/' + kids[j].firstChild.nodeValue;
							productArray[i].imgUrl = img;
						}
						if (kids[j].nodeName == 'id') {
							productArray[i].productId = kids[j].firstChild.nodeValue;;
						}
						if (kids[j].nodeName == 'category') {
							productArray[i].category = kids[j].firstChild.nodeValue;;
						}
					}
				}
				isLoadedData = true;
			}
			catch (e) {
				console.log("Problems...: on #" + i + " " + productArray[i].imgName + ": " + e);
			}
			return productArray;
		}
	};
	oXml.send(null);
}

function displayItem (key){
	var page = new PageQuery();
	var keyValue = unescape(page.getValue(key));
	return keyValue;
}

function popUp (prodId) {
	for (var i in productArray) {
		if (productArray[i].productId == prodId) {
			document.getElementById('currentProcudt').src = productArray[i].imgUrl.src;
			document.getElementById('productTitle').innerHTML = productArray[i].productTitle;
			break;
		}
	}
	show ('productDetails');
}

function dismiss() {
	hide('productDetails');
}

function makeOrder() {
	hide('productTable');
	hide('makeOrder');
	var currentId;
	var i = 0;
	while (i < productArray.length) {
		currentId = productArray[i].productId;
		document.getElementById('product' + currentId).checked = document.getElementById('preProduct' + currentId).checked;
		if (!document.getElementById('preProduct' + currentId).checked) {
			document.getElementById('product' + currentId).parentNode.style.display = 'none';
		}
		else {
			document.getElementById('product' + currentId).parentNode.style.display = 'block';
		}
		i++;

	}
	show('orderForm');
}

function cancelOrder() {
	/*alert(navigator.appVersion);
	window.location.reload();*/
	hide('orderForm');
	show('productTable');
	show('makeOrder');
}

function validate() {
	try {
		var validator = new FormValidator(0);
	}
	catch (e) {
		alert(e);
	}
	if (!validator.isEmpty('mib')) {
		return false;
	}
	var errBuffer = new StringBuffer();
	if (!validator.validatePhone('phone')) {
		errBuffer.append(messages.phone_empty + '\n')
	}
	if (errBuffer != '') {
		alert(errBuffer.toString());
		return false;
	}
	else {
		return true;
	}
}

function init () {
	var container;
	if ($('imgHolder') || $('prodHolder')) {
		var category = ('' == displayItem('cat'))?1:displayItem('cat');
		if (document.getElementById('imgHolder')) {
			getImageData('imgHolder','imagesSrc.php?lang=' + currentLang + '&cat=' + category, true);
			container = 'img';
		}
		else {
			getproductData('prodHolder','productsSrc.php?lang=' + currentLang, true);
			container = 'prod';
		}
	}
}
window.onload = init;
