var assetNodes = "";
var totalAssets = 0;
var totalNumberOfPages = 0;
var currentPageNumber = 0;
var currentCategory = "";
var currentAssetIndex = 0;
var asset2Highlight = 0;
var assetGlobalIndex = 0;
var assetID = "";
var passedAssetID = "";
var siteUrl = "";
var galleryTitle = "";

function loadImages(pageNumber, categoryID) {    
    jQuery.get("/syndication/xmlcall.aspx",
      { pageNumber: pageNumber, galleryid: categoryID, assetID: passedAssetID},
      function(data){
        renderXml(data);
      }
    ,"xml");    
}

function renderXml(xmlDoc) {
    var docElement = xmlDoc.documentElement;
    if(docElement) {
        var globalInfoNode = docElement.getElementsByTagName("mediatype")[0];
        assetNodes = docElement.getElementsByTagName("asset");
        totalAssets = globalInfoNode.getAttribute("assetcount");
        totalNumberOfPages = globalInfoNode.getAttribute("numPages");
        currentPageNumber = globalInfoNode.getAttribute("currentpage");
        siteUrl = globalInfoNode.getAttribute("sBaseUrl");
        galleryTitle = globalInfoNode.getAttribute("galleryName");
        currentCategory = globalInfoNode.getAttribute("galleryid");
        var categoryTitleUrl = globalInfoNode.getAttribute("categoryTitleUrl");       
       
        if(categoryTitleUrl != "") {
            jQuery("#imgCourseHeader").attr({src:categoryTitleUrl});
        } else {
            jQuery("#imgCourseHeader").attr({src:"/twd_imgs/blank.gif"});
        }
         jQuery("#galleryTitle").text(galleryTitle);
        
        jQuery("#spanTotalAssets").text(totalAssets);
        if(currentPageNumber == 1 ) { 
            jQuery("#imgPrevPage").attr("src","/images/slide_arrow_left_off.gif"); 
        } else {
            jQuery("#imgPrevPage").attr("src","/images/slide_arrow_left.gif");
        }
        //alert(totalNumberOfPages + " " + currentPageNumber + " " + totalNumberOfPages)
        if(totalNumberOfPages == 1 || currentPageNumber == totalNumberOfPages) {             
            jQuery("#imgNextPage").attr("src","/images/slide_arrow_right_off.gif"); 
        } else {
            jQuery("#imgNextPage").attr("src","/images/slide_arrow_right.gif"); 
        }        
        jQuery("#divSlideShow").text("");
        for(var i=0;i<assetNodes.length;i++) {
            jQuery("#divSlideShow").append("<div class=\"photo_thumb\" id=\"thumb_"+i+"\" name=\"thumb_"+i+"\" onMouseOver=\"this.className='photo_thumb_glow'\"  onMouseOut=\"this.className='photo_thumb'\"><a href=\"javascript:loadAsset("+i+");javascript:countHits();\"><img id=\"thumbImg_"+i+"\" src=\""+assetNodes[i].getAttribute("thumbfilename")+"\" border=\"0\" width=\"63\" height=\"62\" /></a></div>");
        }
        if(assetNodes.length>0) {
            if(passedAssetID != "") {
                for(var i=0;i<assetNodes.length;i++) {
                    if(passedAssetID == assetNodes[i].getAttribute("id")) {
                        loadAsset(i);
                    }
                }
            } else {
                loadAsset(eval(asset2Highlight));
            }
        }
    }
}

function getAssetInfo(i,attr) {
    if(assetNodes.length>0) {
        var assetNode = assetNodes[i];
        return assetNode.getAttribute(attr);
    } else {
        return "";
    }
}

function selectAsset(id) {
    for(var i=0;i<assetNodes.length;i++) {
        if(assetNodes[i].getAttribute("id") != 'undefined' && assetNodes[i].getAttribute("id") == id) {
            loadAsset(i);
        }
    }
}

function loadAsset(i) {
    if(assetNodes.length>0) {
        currentAssetIndex = i;
        
        var assetNode = assetNodes[i];
        var assetTitle = assetNode.getAttribute("title");
        assetID = assetNode.getAttribute("id");
        var assetThumbUrl = assetNode.getAttribute("thumbfilename");
        var assetUrl = assetNode.getAttribute("filename");
        var assetWidth = assetNode.getAttribute("imgWidth");
        var assetHeight = assetNode.getAttribute("imgHeight");
        var assetDesc = assetNode.getAttribute("description");
        var assetCopyright = assetNode.getAttribute("copyright");
        var assetPublishDate = assetNode.getAttribute("publishDate");
        assetGlobalIndex = Number(assetNode.getAttribute("index"))+1;
        var assetLargeUrl = assetNode.getAttribute("largefilename");
                
        if(assetCopyright != "") assetCopyright = "Photo Credit: " + assetCopyright;
        
        jQuery("#divPhotoTitle").text(assetTitle);
        jQuery("#divPhotoText").text(assetDesc);
        jQuery("#divPhotoCredits").html(assetPublishDate + "<br />"+assetCopyright);
        
        jQuery("#imgLargeImage").fadeOut(1000, function() { loadLargeImage(assetUrl,assetTitle);});

        var currentAssetNum = i+1;
        jQuery("#spanCurrentAsset").text(assetGlobalIndex);
        
        if(i==0 && currentPageNumber == 0) {
            jQuery("#imgPrevPhoto").css({display:"none"}); 
        } else {
             jQuery("#imgPrevPhoto").css({display:"block"}); 
        }
        
        if((Number(assetGlobalIndex)) == totalAssets) {
            jQuery("#imgNextPhoto").css({display:"none"}); 
        } else {
             jQuery("#imgNextPhoto").css({display:"block"}); 
        }
        for(var j=0;j<assetNodes.length;j++) {
            jQuery("#thumb_"+j).fadeTo("slow", 1);
        }
        jQuery("#thumb_"+i).fadeTo("slow", 0.33);

        jQuery("#hrefLargeImage").attr({href:assetLargeUrl,title: assetTitle});

        if(jQuery("*").index( jQuery('#TB_overlay')[0] ) >-1) {
			jQuery("#TB_window").remove();
			jQuery("body").append("<div id='TB_window'></div>");
			tb_show(assetTitle, assetLargeUrl, null);
        }
        
    }
}

function loadLargeImage(src,alt) {
    jQuery('#loader').addClass('loading')
    jQuery("#imgLargeImage").attr({ src: src, alt: alt });
    mooZ = null;
}

jQuery(function () {
 
  // wrap our new image in jQuery, then:
  jQuery("#imgLargeImage")
    // once the image has loaded, execute this code
    .load(function () {
      // set the image hidden by default    
      jQuery(this).hide();
    
      // with the holding div #loader, apply:
      jQuery('#loader')
        // remove the loading class (so no background spinner), 
        .removeClass('loading')
        // then insert our image
        .append(this);
    
      // fade our image in to create a nice effect
      jQuery(this).fadeIn();
    })
    
    // if there was an error loading the image, react accordingly
    .error(function () {
      // notify the user that the image could not be loaded
    })
    
      
});


function showNextImage() {
    var assetIndex2Show = currentAssetIndex+1;
    assetID = "";
    if(assetIndex2Show < assetNodes.length) {
        loadAsset(assetIndex2Show);
    } else if(assetIndex2Show >= assetNodes.length && assetIndex2Show <= totalAssets) {
        var nextPageNum = Number(currentPageNumber)+1;
        asset2Highlight = 0;
        loadImages(nextPageNum,currentCategory);
    }
}

function showPrevImage() {
    var assetIndex2Show = currentAssetIndex-1;
    assetID = "";
    passedAssetID = "";    
    if(assetIndex2Show >= 0) {
        loadAsset(assetIndex2Show);
    } else if(assetIndex2Show < 0 && Number(currentPageNumber)>1) {        
        asset2Highlight = "assetNodes.length-1";
        loadImages(Number(currentPageNumber)-1,currentCategory);
    }
}

function showNextPage() {   
    var nextPageNumber = Number(currentPageNumber)+1;
    //alert(nextPageNumber + "< totalNumberOfPages " + totalNumberOfPages)
    if(nextPageNumber <= totalNumberOfPages) {
        assetID = "";
        passedAssetID = "";
        loadImages(nextPageNumber,currentCategory);    
    }
}

function showPrevPage() {
    var nextPageNumber = Number(currentPageNumber)-1;
    if(nextPageNumber >= 1) {
        assetID = "";
        passedAssetID = "";
        loadImages(nextPageNumber,currentCategory);    
    }
}

function loadCategory(obj) {
    var selected = obj.options[obj.selectedIndex].value;
    asset2Highlight = 0;
    assetID = "";
    passedAssetID = "";
    loadImages(0,selected);  
}



     function refreshads()
    {
        if (document.getElementById('frameads'))
        {
        document.getElementById('frameads').src="/includes/static/ad.htm";
        }
    }
    
    function countHits()
    {
        document.getElementById('galleryhits').src="/includes/static/galleryitems.aspx?title=" + galleryTitle;
    }