
var __REST                = '/rest/'

// initialize photo widget
var initPhotoWidget = function () {

$('photoWidget').down('.lblStatus').update("Set " + (__photoWidgetPage +1) /* zero indexed */ + " of " + __photoWidgetMaxPages)

// Remove View More Photos
$('btnPhotoWidgetMore').remove()

//-- dynamically create Prev. and Next photo widget navigation buttons
var btnPrev = new Element('a', { 'href': '#', 'style': 'margin:.2em 1em;', 'class': 'lightLink strong', 'id': 'btnPhotoWidgetPrev', 'title': 'Previous set of photos' }).update('&laquo; Prev.')
var btnNext = new Element('a', { 'href': '#', 'style': 'margin:.2em 1em;', 'class': 'lightLink strong', 'id': 'btnPhotoWidgetNext', 'title': 'Next set of photos' }).update('Next &raquo;')

//-- set events for dynamic buttons
btnPrev.onclick = function () { widgetPrevPhotos(); return false;} 
btnNext.onclick = function () { widgetNextPhotos(); return false;} 
	
//-- append nav buttons to photo widget
var buttonContainer = $('photoWidgetButtons')
buttonContainer.appendChild(btnPrev)
buttonContainer.appendChild(btnNext)
	
} // initPhotoWidget ()

var widgetPrevPhotos = function(){

//$('btnPhotoWidgetPrev').update("Please wait...")
//$('btnPhotoWidgetPrev').setOpacity(.2)
$('photoWidget').down('.lblStatus').update("<img src='global/ui/wait_spinner_mini.gif' />&nbsp;Loading...")

// page check test
var intTempPage = ((__photoWidgetPage -1)<=0)? 0 : (__photoWidgetPage -1) // -1 is next set (cannot fall below zero)

new Ajax.Request(__REST, 
{
method:'post',
parameters: { action:'photoSet', page: intTempPage, count: __photoWidgetCount}, // fake next page
onSuccess: function(transport){
var response = transport.responseXML || "no response text"

updatePhotoWidget(response) // update photo widget and send response
					
__photoWidgetPage = intTempPage
window.location.hash = "snuggs" + __photoWidgetPage // assign next page

//$('btnPhotoWidgetPrev').setOpacity(1).update("&laquo; Prev.")
$('photoWidget').down('.lblStatus').update("Set " + (__photoWidgetPage +1) /* zero indexed */ + " of " + __photoWidgetMaxPages )

},
onFailure: function(){ alert('Something went wrong...') }
}) // AJAX
		
} // widgetPrevPhotos()

var widgetNextPhotos = function(){

$('photoWidget').down('.lblStatus').update("<img src='global/ui/wait_spinner_mini.gif' />&nbsp;Loading...")

// page check test
var intTempPage = ((__photoWidgetPage +1) >= __photoWidgetMaxPages)? (__photoWidgetMaxPages -1) :  (__photoWidgetPage +1)// -1 is next set (cannot fall below zero)

new Ajax.Request(__REST, 
{
method:'post',
parameters: { action:'photoSet', page: intTempPage, count: __photoWidgetCount}, // fake next page
onSuccess: function(transport){
var response = transport.responseXML || "no response text"
				
updatePhotoWidget(response)

__photoWidgetPage = intTempPage	
window.location.hash = "snuggs" + __photoWidgetPage // assign next page

//$('btnPhotoWidgetNext').setOpacity(1).update("Next &raquo;")
$('photoWidget').down('.lblStatus').update("Set " + (__photoWidgetPage +1) /* zero indexed */ + " of " + __photoWidgetMaxPages )

},
onFailure: function(){ alert('Something went wrong...') }
}) // AJAX
		
} // widgetNextPhotos()

// update photo widget
var updatePhotoWidget = function(xmlSet) {

var arrThumbs      = $$('#photoWidget .photoWidgetThumb img')
var xmlResponseSet = xmlSet.getElementsByTagName('photo')

for(var i=0;i<xmlResponseSet.length;i++) {
// set image properties
arrThumbs[i].setAttribute('src',   xmlResponseSet[i].getAttribute('url'))
arrThumbs[i].setAttribute('title', xmlResponseSet[i].getAttribute('title'))
// scoot up to the a href link wrapper
arrThumbs[i].up().setAttribute('href',  xmlResponseSet[i].getAttribute('url'))
arrThumbs[i].up().setAttribute('title', xmlResponseSet[i].getAttribute('title'))
} // for()

} // updatePhotoWidget()

// fuse load event for window
Event.observe(window, 'load', function(event) {
// initialize photo widget
initPhotoWidget();
})
