/**
 * @author Bob
 */
var globject = {};
globject.appid = "9uD09BTV34Hepx4B2WP_v7tT6DRr4fOdHXd0dj1iRKYVOjMffzxJA_l4F4o-";
globject.mapurl = "http://local.yahooapis.com/MapsService/V3.4/mapImage?appid=" +
    globject.appid; //+ "&street=701+First+Avenue&city=Sunnyvale&state=CA";

globject.CatArr = [];
    
globject.navmouseover = function(p)
{
    var elem = document.getElementById(p);
            elem.className = "navtblhover";
}

globject.navmouseout = function(p)
{
    var elem = document.getElementById(p);
            elem.className = "navtbl";
}
    
globject.init = function()
{
    String.prototype.trim = function() 
    {
	    return this.replace(/^\s+|\s+$/g,"");
    }
    
    globject.search = {}; //JSON representation of search data
    
    globject.waiter = new YAHOO.widget.Panel("waiter",  
				{ width:"240px", 
					fixedcenter:true, 
					close:false, 
					draggable:false, 
					modal:true,
					visible:false,
					effect:{effect:YAHOO.widget.ContainerEffect.FADE, duration:0.1} 
				}) ;
                
    globject.waiter.setHeader("Searching Yard Sales...");
	globject.waiter.setBody("<img src=\"http://us.i1.yimg.com/us.yimg.com/i/us/per/gr/gp/rel_interstitial_loading.gif\"/>");
	globject.waiter.render(document.body);
    
    globject.flyout = document.getElementById("flyout");
    globject.flyoutimg = document.getElementById("flyoutImg");
    var dd0 = new YAHOO.util.DD(globject.flyout);
    
    //Track how many yard sales are selected for printing
    globject.printcount = 0;
    globject.tdResults = document.getElementById("tdResults");
    
    //Track which step the user is on
    globject.onstep = 0;
    
    //The number of yardsales that meet search criteria
    globject.displayCount = 0;    
    //The number of unfiltered yard sales
    globject.returnCount = 0;
    
    //An array of category ids that are selected from the
    //list of categories
    globject.catarr = [];
    
    globject.lastDist = 0;
    globject.lastZip = 0;
    
    //Setup wizard description rows
    globject.stephint = document.getElementById("stephint");
    globject.stephinttxt = document.createTextNode("");
    globject.stephint.appendChild(globject.stephinttxt);
    
    globject.stepnbr = document.getElementById("stepnbr");
    globject.stepnbrtxt = document.createTextNode("");
    globject.stepnbr.appendChild(globject.stepnbrtxt); 
    
    //make a calendar
    globject.calE1 = new YAHOO.widget.Calendar("calE1", "calendar", 
    {"MULTI_SELECT":true, "mindate":new Date(), "title":"Yardsale Dates"});
    //globject.calE1.selectEvent.subscribe(showDates);
    //calE1.deselectEvent.subscribe(remDates);
    globject.calE1.render();
    
    globject.tzo = new Date().getTimezoneOffset() * 60000;   
    
    //globject.FirstKeyword = globject.addKeyword();
    
    //globject.keywords = [];
    
    //Begin Wizard
    globject.showStep1();

}// end init


globject.SetCategory = function(p_catid)
{
    var elem = document.getElementById(p_catid);
    
    if(elem.checked)
    {
        globject.CatArr.push(p_catid);
    }
    else
    {
        for(var i = 0; i < globject.CatArr.length; i++)
        {
            if(globject.CatArr[i] == p_catid)
            {
                 globject.CatArr.splice(i,1);
            }           
        }
    }
}

globject.getCategories = function()
{
    document.getElementById("cats_wi").className = "step_visible";
    var xhr = new CROWCODER.ajax.YuiConxn();
    xhr.postdata = "?method=getAllCategories";
	xhr.sUrl = "../services/services.aspx";                 
    xhr.callback.success = buildCats;        
    xhr.callback.failure = showFail;
    xhr.makeCall();
    
    function buildCats(o)
    {
        var lst = document.createElement("UL");
        var lst2 = document.createElement("UL");
        lst.id = "catlist";
        var arr = eval("(" + o.responseText + ")");
        
        for(var i = 0; i < arr.categories.length; i++)
        { 
            var li = document.createElement("LI");        
            var cbx = document.createElement("INPUT");
            cbx.type = "checkbox";
            cbx.value = arr.categories[i].cat_id;
            cbx.onclick = globject.category_On_Select;
            li.appendChild(cbx);
            li.appendChild(document.createTextNode(arr.categories[i].cat_nam));
            if(i < arr.categories.length/2)
            {lst.appendChild(li);}
            else{lst2.appendChild(li);}            
        }
        document.getElementById("cats_wi").className = "step_hidden";        
        document.getElementById("cats").appendChild(lst);
        document.getElementById("cats2").appendChild(lst2);
    }
    function showFail(o)
    {
        throw new Error("Failed to Return Category List");
    }
}
/*
globject.category_On_Select = function()
{
    if(this.checked)
    {
        globject.catarr.push(this.value);
    }
    else
    {
        for(var i = 0; i < globject.catarr.length; i++)
        {
            if(globject.catarr[i] == this.value)
            {
                globject.catarr.splice(i, 1);
            }
        }
    }
}
*/
globject.getSrchResults = function()
{
    //DEBUG
    globject.getSearch();
    //alert(globject.search.toJSONString());
    //return;
    
    globject.waiter.show();

    if(!globject.validate())
    {
        return;
    }
    
    globject.clearResults();
    globject.printcount = 0;
    globject.displayCount = 0;
    
    var zip;
    var within;    
    var txtzip = document.getElementById("txtZip");
    var txtwithin = document.getElementById("txtWithin");
    
    //Filter results if distance was not increased, otherwise do a new search
    if(globject.ysResponse && (globject.lastDist >= txtwithin.value) &&
        (globject.lastZip == txtzip.value))
    {
       globject.showResults(globject.ysResponse);
        return;
    }
    
    zip = txtzip.value;
    within = txtwithin.value;
    globject.lastDist = txtwithin.value;
    globject.lastZip = txtzip.value;
    
    var xhr = new CROWCODER.ajax.YuiConxn();
    xhr.sUrl = "../services/services.aspx";
    xhr.postdata = "?method=getSrchResults&srchjson=" +
       encodeURIComponent(globject.search.toJSONString());
	                  
    xhr.callback.success = doSuccess;        
    xhr.callback.failure = showFail;
    xhr.makeCall();    
    
    function doSuccess(o)
    {
        if(o.responseText == "error")
        {
            var errmsg = document.createTextNode("Error displaying yard sales.");
            globject.tdResults.appendChild(errmsg);
        }
        else
        {
            //alert("success");
            globject.ysResponse = o;
            globject.showResults(o); 
            globject.waiter.hide();
               
        }
    }
    
    function showFail(o)
    {
        alert("Sorry, a search error has ocurred. Please try again.");
        window.location = "http://www.yardsaleseason.com/members/Search.htm";
        //globject.waiter.hide();
        //var ndm = document.getElementById("NoDataMsg");
        //ndm.className = "step_visible";
    }
}

globject.validate = function()
{
    var zip = document.getElementById("txtZip");
    var within = document.getElementById("txtWithin");
    
    if(isNaN(zip.value) || zip.value.length == 0)
    {
        zip.value = "";
        globject.waiter.hide();
        globject.showStep1();        
        alert("Zip code must be numeric");  
        zip.focus();      
        return false;
    }    
    
    if(isNaN(within.value) || within.value.length == 0)
    {
        within.value = "";
        globject.waiter.hide();
        globject.showStep1();        
        alert("Within distance must be numeric");
        within.focus();
        return false;
    }
    
    return true;
}

/***
 * Shows the search wizard and hide the search results
 */
globject.showWiz = function ()
{
    document.getElementById("wiztable").className = "step_visible";
    globject.tdResults.className = "step_hidden";
    document.getElementById("NoDataMsg").className = "step_hidden";
    document.getElementById("resultBtns").className = "step_hidden";
}

globject.showResults = function(o)
{    
    var wiztbl = document.getElementById("wiztable");
    var ndm = document.getElementById("NoDataMsg");
    wiztbl.className = "step_hidden";
    ndm.className = "step_hidden";
    
    globject.ylist = eval("(" + o.responseText + ")");
    globject.returnCount = globject.ylist.ysdata.length;
    var rdata = globject.ylist.ysdata;
    
    //alert(globject.ylist.ysdata.length);
    if(globject.ylist.ysdata.length == 0)
    {
        //alert("no data");
        //resultsTbl.className = "step_visible";
       ndm.className = "step_visible";       
    }
    else
    {
        ndm.className = "step_hidden";
        
        for(var i = 0; i < globject.ylist.ysdata.length; i++)
        {
            if(! globject.testYs(globject.ylist.ysdata[i]))
            {
                continue;
            }
            
            globject.displayCount += 1;
            
            var tmpDiv = document.createElement("div");           
            tmpDiv.id = "ys" + i;
            tmpDiv.className = "noprint";
            var parGenl = document.createElement("span");
            var sel4prnt = document.createElement("INPUT");
            sel4prnt.id = "cb" + i;
            sel4prnt.type = "checkbox";
            sel4prnt.className = "noprint";
            sel4prnt.onclick = globject.selectForPrint;
            parGenl.appendChild(sel4prnt);
            parGenl.appendChild(document.createTextNode(
                rdata[i].ys_name + "   "));
            
            parGenl.appendChild(document.createElement("BR"));
            parGenl.appendChild(document.createTextNode(
                rdata[i].ys_addr1));
            parGenl.appendChild(document.createElement("BR"));
            if(rdata[i].ys_addr2)
            {
                parGenl.appendChild(document.createTextNode(
                    rdata[i].ys_addr2));
            }    
            parGenl.appendChild(
                document.createTextNode(rdata[i].ys_city +
                ", " + globject.padZip(rdata[i].ys_zip)));
            parGenl.appendChild(document.createElement("BR"));
            parGenl.appendChild(document.createTextNode("DISTANCE: " + 
                    Math.floor(rdata[i].ys_dist) + " miles"));
            parGenl.appendChild(document.createElement("BR"));        
            parGenl.appendChild(document.createTextNode(
                globject.getTime(rdata[i].datearr[0].start) +
                " - " + globject.getTime(rdata[i].datearr[0].end)));
            parGenl.appendChild(document.createElement("BR")); 
            parGenl.appendChild(document.createTextNode("DATES: "));
            
            var tmpstr = "";
            for(var j = 0; j < globject.ylist.ysdata[i].datearr.length; j++)
            {
                var dt = new Date(parseInt(rdata[i].datearr[j].start));
                tmpstr += CROWCODER.JsUtils.getDisplayDate(dt) + ", ";
            }
            parGenl.appendChild(document.createTextNode(tmpstr.substr(0, tmpstr.length-2)));
            parGenl.appendChild(document.createElement("BR"));

            tmpstr = "CATEGORIES: ";                                        
            for(var j = 0; j < globject.ylist.ysdata[i].catarr.length; j++)
            {
                tmpstr += rdata[i].catarr[j].cat_nam + ", ";                                        
            }  
            parGenl.appendChild(document.createTextNode(tmpstr.substr(0, tmpstr.length-2)));
            parGenl.appendChild(document.createElement("BR"));
            
            parGenl.appendChild(document.createTextNode("DESCRIPTION: " +
                rdata[i].ys_list));
            parGenl.appendChild(document.createElement("BR"));
                
            // Images
            if(rdata[i].imgarr.length)
            {
               for(var j = 0; j < rdata[i].imgarr.length; j++)
                {
                    var tmplink = document.createElement("span");
                    tmplink.className = "fauxlink";
                    tmplink.onmouseover = globject.showFlyout;
                    tmplink.src = globject.ylist.ysdata[i].imgarr[j];
                    var _photo = document.createTextNode("photo" + (j +1) + "  ");
                    tmplink.appendChild(_photo);
                    parGenl.appendChild(tmplink);
                } 
            }
            else
            {
                var tmpspan = document.createElement("SPAN");
                var tmpChild = document.createTextNode("No Photos");
                tmpspan.appendChild(tmpChild);
                tmpspan.className = "noprint";
                parGenl.appendChild(tmpspan);                  
            }
            tmpDiv.appendChild(parGenl);
            var _map = document.createElement("a");
            _map.className = "noprint";
            _map.href = globject.getMapUrl(rdata[i], tmpDiv);
            _map.target = "blank";
            _map.appendChild(document.createTextNode("Map"));
            
            parGenl.appendChild(document.createElement("BR"));    
            parGenl.appendChild(_map);
                                                    
            parGenl.appendChild(document.createElement("HR"));
            
            globject.tdResults.appendChild(tmpDiv);
            /*
            var t = tmpDiv.appendChild(globject.tblFactory(i));
            
            t.rows[1].cells[0].appendChild(
                document.createTextNode(globject.ylist.ysdata[i].ys_name));

            t.rows[1].cells[0].appendChild(document.createElement("br"));
            t.rows[1].cells[0].appendChild(
                document.createTextNode(globject.ylist.ysdata[i].ys_addr1));
            t.rows[1].cells[0].appendChild(document.createElement("br"));
            t.rows[1].cells[0].appendChild(
                document.createTextNode(globject.ylist.ysdata[i].ys_city));
            t.rows[1].cells[0].appendChild(document.createElement("br"));
            t.rows[1].cells[0].appendChild(
                document.createTextNode(globject.padZip(
                    globject.ylist.ysdata[i].ys_zip)));
            t.rows[1].cells[0].appendChild(document.createElement("br"));
            t.rows[1].cells[0].appendChild(
                document.createTextNode("Distance: " + 
                    Math.floor(globject.ylist.ysdata[i].ys_dist) + " miles"));
            t.rows[1].cells[0].appendChild(document.createElement("br"));
            t.rows[1].cells[0].appendChild(document.createTextNode(
                globject.getTime(globject.ylist.ysdata[i].datearr[0].start) +
                " - " + globject.getTime(globject.ylist.ysdata[i].datearr[0].end)));
            t.rows[1].cells[0].appendChild(document.createElement("br"));
           
            for(var j = 0; j < globject.ylist.ysdata[i].datearr.length; j++)
            {
                var br;
                var dt = new Date(parseInt(globject.ylist.ysdata[i].datearr[j].start));
                br = t.rows[1].cells[1].appendChild(
                    document.createTextNode(CROWCODER.JsUtils.getDisplayDate(dt)));
                t.rows[1].cells[1].appendChild(document.createElement("br"));                  
            }
            
            for(var j = 0; j < globject.ylist.ysdata[i].catarr.length; j++)
            {
                t.rows[1].cells[3].appendChild(
                    document.createTextNode(globject.ylist.ysdata[i].catarr[j].cat_nam));
                t.rows[1].cells[3].appendChild(document.createElement("br"));                        
            }            
            
            if(globject.ylist.ysdata[i].imgarr.length)
            {
               for(var j = 0; j < globject.ylist.ysdata[i].imgarr.length; j++)
                {
                    var tmplink = document.createElement("a");
                    tmplink.href = globject.ylist.ysdata[i].imgarr[j];
                    tmplink.target = "blank";
                    tmplink.appendChild(document.createTextNode("photo" + (j +1)));
                    t.rows[1].cells[4].appendChild(tmplink);
                        t.rows[1].cells[4].appendChild(document.createElement("br"));
                } 
            }
            else
            {
                t.rows[1].cells[4].appendChild(
                        document.createTextNode("No Photos")); 
            }
            
                
            t.rows[1].cells[2].appendChild(
                document.createTextNode(
                    globject.ylist.ysdata[i].ys_list));
             */   
            //globject.tdResults.appendChild(tmpDiv);
            
            //tmpDiv.appendChild(document.createElement("br"))
           /* 
            var _map = document.createElement("a");
            _map.href = globject.getMapUrl(globject.ylist.ysdata[i], t.rows[1]);
            _map.target = "blank";
            _map.appendChild(document.createTextNode("Map"));
            t.rows[1].cells[0].appendChild(_map);
            */
            document.getElementById("resultBtns").className = "step_visible";
            
        }    
        if(globject.displayCount == 0)
        {
           ndm.className = "step_visible";           
        }    
        else
        {
            globject.tdResults.className = "step_visible";
        }
    }
    globject.waiter.hide();
}

globject.testYs = function(p_data)
{
    var datecheck = false;
    var categoryCheck = false;
    var descriptionCheck = false;
    
    var seldates = globject.calE1.getSelectedDates();
    //var keywrds = document.getElementById("keywords").value;
    
    //if dates are selected, filter out all yard sales that
    //do not occur on at least one of the selected dates
    if(seldates.length > 0)
    {
        for(var i = 0; i < p_data.datearr.length; i++)
        {
            var tmpdate = new Date(parseInt(p_data.datearr[i].start));
            var tmphrs = tmpdate.getHours()* 3600000;
            var tmpmins = tmpdate.getMinutes() * 60000;
            var cleanDate = new Date(tmpdate - (tmphrs + tmpmins));
            //alert(new Date(cleanDate));
            for(var j = 0; j < seldates.length; j++)
            {
                if(seldates[j].valueOf() == cleanDate.valueOf())
                {
                    datecheck = true;
                }
            }
        }
       //alert("new date");
    }
    else
    {
        datecheck = true;
    }
    
    if(globject.catarr.length > 0)
    {
        for (var i = 0; i < globject.catarr.length; i++)
        {
            for(var j = 0; j < p_data.catarr.length; j++)
            {
               if(parseInt(p_data.catarr[j].cat_id) == parseInt(globject.catarr[i]))
                {
                    categoryCheck = true;
                }
            }        
        }    
    }
    else
    {
        categoryCheck = true;
    }
    /*
    if(keywrds.length > 0)
    {
        var kywrdArr = keywrds.split(",");
        for(var i=0; i < kywrdArr.length; i++)
        {            
        //alert(p_data.ys_list.search(/CROWCODER.JsUtils.Trim(kywrdArr[i])/i) > 0);
            var wrd = CROWCODER.JsUtils.Trim(kywrdArr[i].toLowerCase());
            var srch = new RegExp(wrd);
            var retval = p_data.ys_list.toLowerCase().search(srch);
            
            if(retval > -1)
            {
                descriptionCheck = true;
            }
        }
    }
    else
    {
        descriptionCheck = true;
    }
    */
    //alert(categoryCheck + ", " + descriptionCheck + ", " + datecheck);
    if((globject.catarr.length == 0 && datecheck) ||((globject.catarr.length > 0 && categoryCheck) || 
        (descriptionCheck)) && datecheck)
    {
        return true;
    }
    else
    {
        return false;
    }    
}

globject.selectForPrint = function()
{
    var theid = this.id.substr(2, this.id.length);
    var tbl = document.getElementById("ys" + theid);    
    tbl.className = "yesprint";
    var cb = document.getElementById(this.id);
    
    if(cb.checked)
    {
        tbl.className = "tprint";  
        globject.printcount += 1;  
    }
    else
    {
        tbl.className = "tnoprint";
        globject.printcount -= 1;
    }        
}

/*
globject.KeywordAndFocus = function()
{
    var elem = globject.addKeyword();
    elem.focus();
}

globject.addKeyword = function()
{
    var keywordList = document.getElementById("keywords");
    var newrow = keywordList.insertRow(keywordList.rows.length - 1);
    var newdata = newrow.insertCell(0);
    var imgtd = newrow.insertCell(1);
    newdata.className = "noborder";
    imgtd.className = "noborder";
    var keyword = document.createElement("input");
    keyword.type = "text";
    keyword.size = 20;
    newrow.kw = keyword;
    newdata.appendChild(keyword);
    var delimg = document.createElement("img");
    delimg.src = "../images/delete_16.gif";
    delimg.alt = "Delete Keyword"
    delimg.onclick = globject.DelKeyword;
    imgtd.appendChild(delimg);
    
    return keyword;     
}

globject.DelKeyword = function()
{
    var keywordList = document.getElementById("keywords");
    //alert(this.parentNode.parentNode.rowIndex);
    keywordList.deleteRow(this.parentNode.parentNode.rowIndex);
    if (keywordList.rows.length > 1)
    {
        globject.FirstKeyword = keywordList.rows[0].cells[0].firstChild;
         globject.FirstKeyword.focus();      
    }
    else
    {
        globject.FirstKeyword = null;
    }   
}
*/

globject.tblFactory = function(p)
{
    var t = document.createElement("table");
    t.border = "1";
    t.width = "100%";
    t.className = "tnoprint";
    t.id = "t" + p;
    var h = t.insertRow(0);
    var cb = document.createElement("input");
    cb.type = "checkbox";
    cb.onclick = globject.selectForPrint;
    cb.id = "cb" + p;    
    var selcell = h.insertCell(0);
    h.className = "reshdr";
    selcell.appendChild(cb);
    selcell.appendChild(
        document.createTextNode("Select For Print"));        
    h.insertCell(1).appendChild(document.createTextNode("DATES"));
    h.insertCell(2).appendChild(document.createTextNode("DESCRIPTION"));
    h.insertCell(3).appendChild(document.createTextNode("CATEGORIES"));
    h.insertCell(4).appendChild(document.createTextNode("PHOTOS"));
    var r = t.insertRow(1);
    r.className = "ysdatarw";
    r.insertCell(0);
    r.insertCell(1);
    r.insertCell(2);
    r.insertCell(3);
    r.insertCell(4);
    return t;
        
    globject.displayCount += 1;
}//end tblFactory

globject.clearResults = function()
{
    var cnt = globject.tdResults.childNodes.length;
    for(var i=0; i< cnt; i++)
    {
        globject.tdResults.removeChild(globject.tdResults.childNodes[0]);    
    }
}

globject.padZip = function(p_zip)
{
    var l = p_zip.length;
    var s = p_zip.toString();
    for(var i = 0; i < 5 - l; i++)
    {
        s = "0" + s;
    }
    return s;
}//padZip

globject.getTime = function(p)
{
    var tmpdate = new Date(parseInt(p));
    var tzo = tmpdate.getTimezoneOffset() * 60000;   
    var thedate = new Date(parseInt(p) + (tzo * -1));
    var hrs = thedate.getUTCHours();
    var mins = thedate.getUTCMinutes();
    if(mins == 0)
    {
        mins = "00";
    }
    if(hrs > 12)
    {
        return (hrs -12) + ":" + mins + " pm";
    }
    else
    {
        return hrs + ":" + mins + " am";    
    }
}//end getTime

globject.getMapUrl = function(p, p_div)
{
    return "Map.htm?street=" + 
            encodeURIComponent(p.ys_addr1) +
            "&zip=" + encodeURIComponent(p.ys_zip) +
            "&htmldata=" + encodeURIComponent(p_div.innerHTML);
}

globject.printSelected = function()
{
    if(globject.printcount > 0)
    {
        window.print();        
    }
    else
    {
        alert("There are no yardsales selected for printing");
    }
    
}

globject.showStep1 = function()
{
    globject.hideSteps();    
    globject.onstep = 1
    document.getElementById("step1").className = "cur_step";
    document.getElementById("step_one").className = "step_visible";
    document.getElementById("s1").className = "current";
    globject.stephinttxt.data = "Enter your zip code and the distance you are willing to travel.";
    globject.stepnbrtxt.data = "Step 1 of 5";
    globject.hideNextPrev();
    document.getElementById("txtZip").focus();
}

globject.showStep2 = function()
{
    globject.hideSteps();    
    globject.onstep = 2
    document.getElementById("step2").className = "cur_step";
    document.getElementById("step_two").className = "step_visible";
    document.getElementById("s2").className = "current";
    globject.stephinttxt.data = "Select the dates you want to check for yard sales. " +
        "Skip this step to search all dates.";
    globject.stepnbrtxt.data = "Step 2 of 5";
    globject.hideNextPrev();
}

globject.showStep3 = function()
{
    globject.hideSteps();    
    globject.onstep = 3
    document.getElementById("step3").className = "cur_step";
    document.getElementById("step_three").className = "step_visible";
    document.getElementById("s3").className = "current";
    globject.stephinttxt.data = "Choose the categories to search by. " +
        "Skip this step to search all categories.";
    globject.stepnbrtxt.data = "Step 3 of 5";
    globject.hideNextPrev();
}
/*
globject.showStep4 = function()
{
    globject.hideSteps();    
    globject.onstep = 4
    document.getElementById("step4").className = "cur_step";
    document.getElementById("step_four").className = "step_visible";
    document.getElementById("s4").className = "current";
    globject.stephinttxt.data = "By entering keywords, you can limit your " +
       "results to yard sales that have at least one of your keywords " +
       "in the description. Use the + sign button to add additional keywords.";
    globject.stepnbrtxt.data = "Step 4 of 5";
    if(globject.FirstKeyword)
    {
        globject.FirstKeyword.focus();    
    }
    globject.hideNextPrev();
}
*/
globject.showStep4 = function()
{
    globject.hideSteps();    
    globject.onstep = 4
    document.getElementById("step4").className = "cur_step";
    document.getElementById("step_four").className = "step_visible";
    document.getElementById("s4").className = "current";
    globject.stephinttxt.data = "Submit search...";
    globject.stepnbrtxt.data = "Step 4 of 4";
    globject.hideNextPrev();    
}

globject.hideSteps = function()
{
    document.getElementById("step_one").className = "step_hidden";
    document.getElementById("step1").className = "step";
    document.getElementById("s1").className = "idle";
    document.getElementById("step_two").className = "step_hidden";
    document.getElementById("step2").className = "step"
    document.getElementById("s2").className = "idle";
    document.getElementById("step_three").className = "step_hidden";
    document.getElementById("step3").className = "step"
    document.getElementById("s3").className = "idle";
    document.getElementById("step_four").className = "step_hidden";
    document.getElementById("step4").className = "step"
    document.getElementById("s4").className = "idle";
    //document.getElementById("step_five").className = "step_hidden";
   // document.getElementById("step5").className = "step"
    //document.getElementById("s5").className = "idle";    
}

globject.moveBack = function()
{
    switch(globject.onstep)
    {
        case 2:
            globject.showStep1();
            break;
        case 3:
            globject.showStep2();
            break;
        case 4:
            globject.showStep3();
            break;
        case 5:
            globject.showStep4();
            break;        
    }
}

globject.moveNext = function()
{
    switch(globject.onstep)
    {
        case 1:
            globject.showStep2();
            globject.onstep = 2;
            break;
        case 2:
            globject.showStep3();
            globject.onstep = 3;
            break;
        case 3:
            globject.showStep4();
            globject.onstep = 4;
            break;
            
        case 4:
            globject.showStep5();
            globject.onstep = 5;
            break;
            /*
        case 5:
            globject.showStep6();
            globject.onstep = 6;
            break;
            */
    }    
}

globject.hideNextPrev = function()
{
    var nxt = document.getElementById("btnNext");
    var prv = document.getElementById("btnPrev");
    
    switch(globject.onstep)
    {
        case 1:
            nxt.className = "step_visible";
            prv.className = "step_hidden";
            break;
        case 2:
            nxt.className = "step_visible";
            prv.className = "step_visible";
            break;
        case 3:
            nxt.className = "step_visible";
            prv.className = "step_visible";
            break;
        case 4:
            nxt.className = "step_hidden";
            prv.className = "step_visible";
            break;
        case 5:
            nxt.className = "step_hidden";
            prv.className = "step_visible";
            break;
    }
}  

globject.showFlyout = function()
{
    var pos = YAHOO.util.Dom.getXY(this);
    pos[1] = pos[1] - 100;
    YAHOO.util.Dom.setXY(globject.flyout, pos);
    globject.flyoutimg.src = this.src;
    globject.flyout.className = "flyoutShow"; 
    /*
    var thelink = document.getElementById('sh1');
    var pos = YAHOO.util.Dom.getXY(thelink);
    pos[1] = pos[1] -50;
    YAHOO.util.Dom.setXY(globject.flyout, pos);
    globject.flyoutimg.src = thelink.src;
    globject.flyout.className = "flyoutShow";
    */        
}

globject.hideFlyout = function()
{
    globject.flyout.className = "flyoutHid";    
}
window.onload = function(){globject.init();}

globject.getSearch = function()
{
    if (globject.validate())
    {
        //var keywordList = document.getElementById("keywords");
        //var arrK = keywordList.rows;
        var tmpVal;
        
        tempdates = globject.calE1.getSelectedDates();
        
        //globject.search.keywords = [];
        globject.search.dates = [];
        for (var i = 0; i < tempdates.length; i ++)
        {
            globject.search.dates.push(tempdates[i].getTime());
        }
        
        globject.search.zip = document.getElementById("txtZip").value;
        globject.search.within = document.getElementById("txtWithin").value;
        globject.search.cats = globject.CatArr;
        globject.search.email = document.getElementById("email2").value;    
    }
}
