document.onkeydown = keyPressHandler;

function loadXMLDoc(dname) {
    var xmlDoc;
    if (window.XMLHttpRequest){
        xmlDoc=new window.XMLHttpRequest();
        xmlDoc.open("GET",dname,false);
        xmlDoc.send("");
        return xmlDoc.responseXML;
    }
    // IE 5 and IE 6
    else if (ActiveXObject("Microsoft.XMLDOM")){
        xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async=false;
        xmlDoc.load(dname);
        return xmlDoc;
    }
    alert("Error loading document");
    return null;
}

function getAllPhotos(dname){
	var xmlDoc = loadXMLDoc(dname);
	if(window.dock == false)
		window.basePath = (xmlDoc.getElementsByTagName('photos')[0]).getAttributeNode('path').nodeValue;
	return xmlDoc.getElementsByTagName('photo');
}

function initialize(){
	if(window.dock == false){
		var xmlFileName = document.getElementById('gal_xmlFile').firstChild.nodeValue;
		window.photos = getAllPhotos(xmlFileName);
	}
	else{
		var xmlFileName = document.getElementById('dock_xmlFile').firstChild.nodeValue;
		window.photos_dock = getAllPhotos(xmlFileName);
	}
}

function getPhotoIndexByName(photoName){
	var i = 0;
	for(i=0;i<window.photos.length;i++){
		if((window.basePath + window.photos[i].getAttributeNode('url').nodeValue) == photoName){
	        return i;
		}
	}	
	return -1;
}

function getPhotoIndexByName_dock(photoName){
	var i = 0;
	for(i=0;i<window.photos_dock.length;i++){
		var tmp = window.photos_dock[i].getAttributeNode('image').nodeValue.split("/");
		tmp = tmp[tmp.length - 1];
		if(('dock_menu/big/' + tmp) == photoName){
	        return i;
		}
	}	
	return -1;
}

function setCurrentPhotoIndex(photoName){
    window.currentPhotoIndex = getPhotoIndexByName(photoName);
}

function setCurrentPhotoIndex_dock(photoName){
    window.currentPhotoIndex = getPhotoIndexByName_dock(photoName);
}

function getNextPhoto(){
	var nextIndex = window.currentPhotoIndex;
	if(parseInt(window.currentPhotoIndex) < (window.photos.length - 1)){
		nextIndex = parseInt(window.currentPhotoIndex) + 1;
	}
	return window.basePath + (window.photos[nextIndex]).getAttributeNode('url').nodeValue;
}

function getPreviewsPhoto(){
	var previewsIndex = window.currentPhotoIndex;
	if(parseInt(window.currentPhotoIndex) > 0){
		previewsIndex = parseInt(window.currentPhotoIndex) - 1;
	}
	return window.basePath + window.photos[previewsIndex].getAttributeNode('url').nodeValue;
}

function getNextPhoto_dock(){
	var nextIndex = window.currentPhotoIndex;
	if(parseInt(window.currentPhotoIndex) < (window.photos_dock.length - 1)){
		nextIndex = parseInt(window.currentPhotoIndex) + 1;
	}
	var tmp = (window.photos_dock[nextIndex]).getAttributeNode('image').nodeValue.split("/");
	return "dock_menu/big/" + tmp[tmp.length - 1];
}

function getPreviewsPhoto_dock(){
	var previewsIndex = window.currentPhotoIndex;
	if(parseInt(window.currentPhotoIndex) > 0){
		previewsIndex = parseInt(window.currentPhotoIndex) - 1;
	}
	var tmp = (window.photos_dock[previewsIndex]).getAttributeNode('image').nodeValue.split("/");
	return "dock_menu/big/" + tmp[tmp.length - 1];
}

function keyPressHandler(e){
	var keynum;
	var keychar;
	var numcheck;

	if(window.event){ // IE
		keynum = window.event.keyCode;
	}
	else if(e.which){ // Netscape/Firefox/Opera
		keynum = e.which;
	}
	if(window.bigPic == true){
		if(keynum == 37){ //left arrow key
			if(window.dock == false){
				showbigpic(getPreviewsPhoto());
			}
			else{
				showbigpic_dock(getPreviewsPhoto_dock());
			}
		}
	
		if(keynum == 39){ //right arrow key
			if(window.dock == false){
				showbigpic(getNextPhoto());
			}
			else{
				showbigpic_dock(getNextPhoto_dock());
			}
		}
	}
	
}