﻿/******************************************/
// LAST UPDATED: 4-Jun-2008
//
// SUMMARY: 
// this js can be customized. it's used to submit ajax call to GalleryNET. 
// including submit a rating, or update a description, etc. 
//
// this is customizable, not neccessary to use this style.
//
/******************************************/
function get_ajax()
{
	var XMLHttpRequestObject = false; 

    if (window.XMLHttpRequest) 
	{
		XMLHttpRequestObject = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) 
	{
		XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	return XMLHttpRequestObject;
}

function ajax_submitRate(obj)
{
    var rating = obj.value;
        
    var fnObj = document.getElementById("filename");
    var fname = "";
    if (fnObj!=null)
    {
        fname = fnObj.value;
    }
    
    var ajax = get_ajax();
    if (fname!= "" && ajax && ajax!=null)
    {
        ajax.open("GET", "RateSubmit.aspx?rate=" + rating + "&filename=" + fname);
        
        obj.checked = "checked";
        updateStatus("Submitting...");
        
        ajax.onreadystatechange = function ()
        {
            if (ajax.readyState == 4 && ajax.status == 200)
            {
                var currentRankObj = document.getElementById("currentRank");
                var totalObj = document.getElementById("total");
                var response = ajax.responseText;
                
                if (response != "")
                {
                    // up to you if you want to display the error message or not
                    if (response.indexOf("error:")>=0)
                    {
                        alert( response );
                    }
                    else
                    {
                        var idx = response.indexOf(",");
                        var currentRank = response.substring(0,idx);
                        var total = response.substring(idx+1);
                        
                        currentRankObj.innerText = currentRank;
                        totalObj.innerText = total;
                        
                        updateStatus("Done...");
        
                        var rankRowObj = document.getElementById("rankRow");
                        rankRowObj.style.visibility="hidden";
                    }
                }
            }
        }
        ajax.send(null);
    }
   
}

// TODO: maybe it's better to display a top-most panel for the updating message
function updateStatus(msg)
{
    var updatePanel = document.getElementById("updatePanel");
    if (updatePanel!=null)
        updatePanel.innerText = msg;
}

function ajax_updateDescription()
{
    // TODO
}

function ajax_updateComment()
{
    // TODO
}

function redirectAlbum(ddlId)
{
	var menu = document.getElementById(ddlId);
	var page = menu.options[menu.selectedIndex].value;
	if (page != "")
		window.location = "http://www.touring-adventures.com/" + page;
}