// JavaScript Document

var thumbOffsetX = 390;
var thumbOffsetY = 250;


var req;
var minipicArray = new Array();
var medpicArray = new Array();
var bigpicArray = new Array();
var bigpicWidth;
var showWhat = 0;
var reqXML;
var backBtn;
var nextBtn;
var fadeSpeed = 1;
var page_refresh =1 ;
var tgcat;



var args = location.search.substring(1); 
var pairs = args.split("&");  
for (var i=0; i<pairs.length; i++) { 
    var pair = pairs[0].split("="); 
     if (pair[0] == "p") { 
          showWhat = pair[1]; 
     }
}



function showOutline() {
	var which = showOutline.arguments[0];
	
	which.setAttribute("class", "whiteBrdr");
	which.setAttribute("className", "whiteBrdr");
	/*
		if (which.style) { 
			which=which.style; 
			which.border =  'thin solid #FFFFFF';
		}
	*/
}

function hideOutline() {
	var which = hideOutline.arguments[0];
	which.setAttribute("class", "smallThumb");
	which.setAttribute("className", "smallThumb");
}





function showMainImage() {
	//var img = new Image;
	//img.src = "images/main2.jpg";
	var whichPic = document.getElementById('bigImg');
	//whichPic.src = "images/big2.jpg";
	whichPic.onLoad = fadeIn();
	whichPic.src = bigpicArray[showWhat];
//	waitForIt();
 	
}

function waitForIt() {
	var whichPic = document.getElementById('bigImg');

	if (whichPic.complete == true) {
		fadeIn();
	
	} else {
	
	waitForIt();
	}
}

function myShowMedImage() {
	var myArgs = myShowMedImage.arguments;
	var callingImage = myArgs[0];
	var whichImage = myArgs[1];
	var medImage, newSrc;
	
	showOutline(callingImage);
        return;
	showPreview();
	
	if (document.getElementById) {
		if (document.imageArray[whichImage] != null) {
			newSrc = document.imageArray[whichImage].src;
			medImage = document.getElementById('medPreview');
			medImage.src = newSrc;
		}
	}

}



function showPreview() {
	var medDiv;
	if (document.getElementById) {
		medDiv = document.getElementById('medLayer');
		bigDiv = document.getElementById('bigImg');
		Position.clone(bigDiv,medDiv,{
			offsetLeft: thumbOffsetX,
			offsetTop: thumbOffsetY,
			setWidth: false,
			setHeight: false
		});
		if (medDiv.style) { 
			medDiv=medDiv.style;
			medDiv.visibility= 'visible';
		}
	}
}

function hidePreview() {
	hideOutline(hidePreview.arguments[0]);
	return;
	var medDiv;
	if (document.getElementById) {
		medDiv = document.getElementById('medLayer');
		if (medDiv.style) { 
			medDiv=medDiv.style; 
			medDiv.visibility= 'hidden';
		}
	}
}




function fadeOut() {
	showWhat = fadeOut.arguments[0];
  new Effect.Opacity('bigImg',
    { duration: fadeSpeed, 
      transition: Effect.Transitions.linear, 
      from: 1.0, to: 0.0,
	  afterFinish: showMainImage });

}

function fadeIn() {
	new Effect.Opacity('bigImg',
    { duration: fadeSpeed, 
      transition: Effect.Transitions.linear, 
      from: 0, to: 1.0
	  });


}

function reloadPage() {
	//alert("host:" + window.location.host + "   pathname:" + window.location.pathname + "   search:" + window.location.search);
	var newURL = window.location.pathname + "?p=" + showWhat + "&cat="+tgcat +"#more";
	window.location = newURL;
}



function doWhat() {
	//onmousedown="fadeOut(' + i + ')"
	showWhat = doWhat.arguments[0];
	if (page_refresh == 1) {
		reloadPage(showWhat);
	} else {
		fadeOut(showWhat);
		
	}
	
}



function preloadImages() {
  if(document.images) {
    if(!document.imageArray) document.imageArray = new Array();
    var i,j = document.imageArray.length;
    for(i=0; i<medpicArray.length; i++)  {
        document.imageArray[j] = new Image;
        document.imageArray[j++].src = medpicArray[i];
    }
  }
}




function readingXMLGallery() {
	var generalSection;
	var picsSection;
	if (window.XMLHttpRequest) {
		
		generalSection = reqXML.childNodes[0].childNodes[0];
		bigpicWidth = generalSection.childNodes[0].childNodes[0].nodeValue;
		backBtn = generalSection.childNodes[1].childNodes[0].nodeValue;
		nextBtn = generalSection.childNodes[2].childNodes[0].nodeValue;
		fadeSpeed = generalSection.childNodes[3].childNodes[0].nodeValue;
		picsSection = reqXML.childNodes[0].childNodes[1];
		//alert("got here" + bigpicWidth);
	
	//generalSection = reqXML.childNodes[0].childNodes[0];
	//bigpicWidth = generalSection.childNodes[0].textContent;
	//backBtn = generalSection.childNodes[1].textContent;
	//nextBtn = generalSection.childNodes[2].textContent;
	//picsSection = reqXML.childNodes[0].childNodes[1];
	} else {
		
	generalSection = reqXML.childNodes[1].childNodes[0];
	bigpicWidth = generalSection.childNodes[0].text;
	backBtn = generalSection.childNodes[1].text;
	nextBtn = generalSection.childNodes[2].text;
	picsSection = reqXML.childNodes[1].childNodes[1];
	}	
	
	var numPics = picsSection.childNodes.length;
	//document.write(numPics);

	minipicArray.length = 0;
	medpicArray.length = 0;
	bigpicArray.length = 0;

	
	for (i=0;i<numPics;i++) {
		if (window.XMLHttpRequest) {
		var miniPic = picsSection.childNodes[i].childNodes[0].childNodes[0].nodeValue;
		var medPic = picsSection.childNodes[i].childNodes[1].childNodes[0].nodeValue;
		var bigPic = picsSection.childNodes[i].childNodes[2].childNodes[0].nodeValue;
		
		//var miniPic = picsSection.childNodes[i].childNodes[0].textContent;
		//var medPic = picsSection.childNodes[i].childNodes[1].textContent;
		//var bigPic = picsSection.childNodes[i].childNodes[2].textContent;
		} else {
		var miniPic = picsSection.childNodes[i].childNodes[0].text;
		var medPic = picsSection.childNodes[i].childNodes[1].text;
		var bigPic = picsSection.childNodes[i].childNodes[2].text;
		}
		//document.write(miniPic);
		minipicArray.push(miniPic);
		medpicArray.push(medPic);
		bigpicArray.push(bigPic);
	}
	preloadImages();
}




function processReqChange() 
{
    // only if req shows "complete"
    if (req.readyState == 4) {
        // only if "OK"
		//alert("ok");

        if (req.status == 200) {
            // ...processing statements go here...
			//alert("good to go");
			reqXML = req.responseXML;
			readingXMLGallery();
        } else {
            //alert("There was a problem retrieving the XML data:\n" +req.responseText + req.statusText);
			reqXML = req.responseXML;
			readingXMLGallery();
        }
    }
	//alert("not four");
}


function loadXMLDoc(url) 
{
   // branch for native XMLHttpRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", url, false);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open("GET", url, false);
            req.send();
        }
    }

	processReqChange();
}






function printTable() {

	xml_file     = printTable.arguments[0];
	page_refresh = printTable.arguments[1];
	tgcat	     = printTable.arguments[2];

	loadXMLDoc(xml_file);

	//var whichPic = document.getElementById('bigImg');
	//whichPic.src = "images/big2.jpg";
	//whichPic.src = bigpicArray[showWhat];
	document.writeln('<div id="bigImgyLayer"><img src="' +  bigpicArray[showWhat] + '" id="bigImg" name="bigImg"></div>');

	document.writeln('<div id="medLayer"><img src="images/med.jpg" width="144" height="102" id="medPreview" name="medPreview"></div>');

	document.writeln('<table border="0" width="' + bigpicWidth + '">');
	document.writeln('<tr>');
	document.writeln('<td align="left">');
	document.writeln('<a href="#" onmousedown="showLast()"><img src="' +  backBtn + '" border="0"></a>');
	document.writeln('</td>');	
	document.writeln('<td align="right">');
	document.writeln('<a href="#" onmousedown="showNext()"><img src="' + nextBtn + '" border="0"></a>');
	document.writeln('</td>');	
	document.writeln('</tr>');
	document.writeln('</table>');


	document.writeln('<table border="0" cellspacing="0" cellpadding="0" width="' + bigpicWidth + '">');
	document.writeln('<tr>');
	document.writeln('<td>');
	for (i=0;i<minipicArray.length;i++) {
		var theText = minipicArray[i];
		document.write('<a href="javascript:;" onmouseover="myShowMedImage(this,' + i + ')" onmouseout="hidePreview(this)" onmousedown="doWhat(' + i + ')" class="smallThumb">');
		document.write('<img src="' + theText + '" width="30" height="20" border="0">');
		//document.writeln(theText);
		document.writeln('</a>');
	}
	document.writeln('</td>');
	document.writeln('</tr>');
	document.writeln('</table>');

}





function showNext() {

	if (showWhat == (minipicArray.length -1)) {
		showWhat = 0;
	} else {
		showWhat++;
	}
	doWhat(showWhat);

}


function showLast(){

	if (showWhat == 0) {
		showWhat = minipicArray.length -1;
	} else {
		showWhat--;
	}

	doWhat(showWhat);
}

function gety (obj) {
	var rv = 0;
	while( obj != null ) {
		rv += obj.offsetTop;
		obj = obj.offsetParent;
	}
	return rv;
}


function getx (obj) {
	var rv = 0;
	while( obj != null ) {
		rv += obj.offsetLeft;
		obj = obj.offsetParent;
	}
	return rv;
}



