function processLunchContents(http_request) 
{
    if (http_request.readyState == 4) 
	{
	    if (http_request.status == 200)
		{
		    //alert(http_request.responseText);
			try
			{
			    var xmldoc = http_request.responseText;
				var contentDiv = document.getElementById('innerContent');
				document.getElementById('mainHeader').className = "";
				contentDiv.innerHTML = xmldoc;
			}
			catch (e){alert(e);}
	    } 
		else 
		{
			alert('There was a problem with the request.');
		}
	}
}	

function makeLunchRequest(url) 
{
	try
	{
	    document.getElementById('mainHeader').className = "saving";
	    var http_request = false;

        if (window.XMLHttpRequest) 
		{ // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) 
			{
                http_request.overrideMimeType('text/xml');
                // See note below about this line
            }
        }
		else if (window.ActiveXObject) 
		{ // IE
            try 
			{
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } 
			catch (e) 
			{
                try 
				{
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch (e) {}
            }
        }

        if (!http_request) 
		{
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
        http_request.onreadystatechange = function() { processLunchContents(http_request); };
        http_request.open('GET', url, true);
        http_request.send(null);
    }
	catch (e){alert(e);}
}
			
function pageInit()
{
    try
    {
	    var curDate = new Date();
	    var dayString = "00" + curDate.getDate();
	    var monthString = "00" + (curDate.getMonth()+1);
        dayString = dayString.substring(dayString.length - 2);
        monthString = monthString.substring(monthString.length - 2);
        var dateStr = monthString + "/" + dayString + "/" + curDate.getFullYear();
        document.getElementById("endDate").value = dateStr;
        document.getElementById("startDate").value = "05/02/2005";
			    
        refreshData();
    }
	catch(e){alert("Error in Init - "+e);}
}

function refreshData()
{
    var sd = new Date(document.getElementById("startDate").value);
    var ed = new Date(document.getElementById("endDate").value);
	var start = getSQLDate(sd);
	var end = getSQLDate(ed);
    var qStr = "?START=" + start + "&END=" + end;
    var section = getSelectedSection();
    var sub = getSelectedSubSection();
    var ord = getSelectedOrdSection();
    if (section.innerHTML.indexOf("Location") > -1 )
        qStr += "&CAT=L";
    else if (section.innerHTML.indexOf("Date") > -1 )
        qStr += "&CAT=D";
    if (sub.innerHTML.indexOf("Visits") > -1 )
        qStr += "&SUB=Q";
    else if (sub.innerHTML.indexOf("Alphabetical") > -1 )
        qStr += "&SUB=A";
    else if (sub.innerHTML.indexOf("Money") > -1 )
        qStr += "&SUB=C";
    else if (sub.innerHTML.indexOf("Day") > -1 )
        qStr += "&SUB=D";
    else if (sub.innerHTML.indexOf("Week") > -1 )
        qStr += "&SUB=W";
    if (ord.innerHTML.indexOf("Most") > -1 )
        qStr += "&ORD=D";
    else if (ord.innerHTML.indexOf("Newest") > -1 )
        qStr += "&ORD=D";
    else if (ord.innerHTML.indexOf("Z to A") > -1 )
        qStr += "&ORD=D";
    else
        qStr += "&ORD=A";
    //alert(qStr);
    makeLunchRequest('http://www.flamingsheep.com/Projects/Lunch/getlunchdata.php' + qStr);
}
			
function getSelectedSection()
{
    try
    {
        labels = document.getElementsByTagName("a");
        for( var i = 0; i < labels.length; i++ )
        {
            if( labels[i].className == 'sectionSelected' )
            {
                return labels[i];
            }
        } 
    }
    catch(e)    {alert("ERROR");}
}

function getSelectedSubSection()
{
    try
    {
        labels = document.getElementsByTagName("a");
        for( var i = 0; i < labels.length; i++ )
        {
            if( labels[i].className == 'subSelected' )
            {
                return labels[i];
            }
        } 
    }
    catch(e)    {alert("ERROR");}
}

function getSelectedOrdSection()
{
    try
    {
        labels = document.getElementsByTagName("a");
        for( var i = 0; i < labels.length; i++ )
        {
            if( labels[i].className == 'ordSelected' )
            {
                return labels[i];
            }
        } 
    }
    catch(e)    {alert("ERROR");}
}
			
function getSQLDate(dateStr)
{
    var dayString = "00" + dateStr.getDate();
    var monthString = "00" + (dateStr.getMonth()+1);
    dayString = dayString.substring(dayString.length - 2);
    monthString = monthString.substring(monthString.length - 2);
    return dateStr.getFullYear() + "/" + monthString + "/" + dayString;
}

function catChange(newCat)
{
    try
    {
        links = document.getElementsByTagName("a");
        for( var i = 0; i < links.length; i++ )
        {
            if( links[i].id.indexOf('Link') > -1 && links[i].id.indexOf('sub') && links[i].id.indexOf('ord') < 0 )
            {
                if ( links[i].id == newCat )
                {
                    links[i].className = "sectionSelected";
                    links[i].bgColor = '#c0c0c0';
                }
                else
                {
                    links[i].className = "";
                    links[i].bgColor = '#e8e8e8';
                }
            }
        }
        if (newCat=='locationLink')
            setSubByLoc();
        else if (newCat=='dateLink')
            setSubByDate();
        var selectedSub;
        if (document.getElementById('subLink1').className=="subSelected")
            selectedSub = document.getElementById('subLink1').innerHTML;
        else if (document.getElementById('subLink2').className=="subSelected")
            selectedSub = document.getElementById('subLink2').innerHTML;
        else
            selectedSub = document.getElementById('subLink3').innerHTML;
        setOrd(selectedSub);
        refreshData();
    }
    catch(e)    {alert("ERROR");}
}

function subChange(newSub)
{
    try
    {
        links = document.getElementsByTagName("a");
        for( var i = 0; i < links.length; i++ )
        {
            if( links[i].id.indexOf('subLink') > -1 )
            {
                if ( links[i].id == newSub )
                {
                    links[i].className = "subSelected";
                    links[i].bgColor = '#c0c0c0';
                }
                else
                {
                    links[i].className = "";
                    links[i].bgColor = '#e8e8e8';
                }    
            }
        }
        setOrd(document.getElementById(newSub).innerHTML);
        refreshData();
    }
    catch(e)    {alert("ERROR");}
}

function ordChange(newOrd)
{
    try
    {
        links = document.getElementsByTagName("a");
        for( var i = 0; i < links.length; i++ )
        {
            if( links[i].id.indexOf('ordLink') > -1 )
            {
                if ( links[i].id == newOrd )
                {
                    links[i].className = "ordSelected";
                }
                else
                {
                    links[i].className = "";
                    //links[i].bgColor = '#a0a0a0';
                }    
            }
        }
        refreshData();
    }
    catch(e)    {alert("ERROR - " + e);}
}

function setOrd(newSub)
{
    if ( newSub.indexOf("Alphabetical") > -1 )
        setOrdByAlphabet();
    else if ( (newSub.indexOf("Day") > -1) || (newSub.indexOf("Week") > -1) )
        setOrdByDate();
    else
        setOrdByQuantity();
}

function setSubByLoc()
{
    document.getElementById('subLink1').innerHTML = 'By Visits';
    document.getElementById('subLink2').innerHTML = 'Alphabetical';
    document.getElementById('subLink3').innerHTML = 'By Money Spent';
}

function setSubByDate()
{
    document.getElementById('subLink1').innerHTML = 'By Day';
    document.getElementById('subLink2').innerHTML = 'By Week';
    document.getElementById('subLink3').innerHTML = 'By Money Spent';
}

function setOrdByDate()
{
    document.getElementById('ordLink1').innerHTML = 'Newest First';
    document.getElementById('ordLink2').innerHTML = 'Oldest First';
}

function setOrdByQuantity()
{
    document.getElementById('ordLink1').innerHTML = 'Most First';
    document.getElementById('ordLink2').innerHTML = 'Least First';
}

function setOrdByAlphabet()
{
    document.getElementById('ordLink1').innerHTML = 'A to Z';
    document.getElementById('ordLink2').innerHTML = 'Z to A';
}

function datePickerClosed(dateField)
{
    refreshData();
}
