﻿var the_url;
var it;
var spec_descs = new Array();
var short_descs = new Array();

function re_fill_type(bustype) {
    fill_type($('q').options[$('q').selectedIndex].value, bustype, "Y");
}
function fill_type(q, bustype, is_post_back) {
    if (q == "") {
        it = "Activities"
    } else {
        it = q;

    }
    switch (q) {
        case "Activities":
            the_url = "http://discovery.cor.gov/public/cvb/cvbweb.nsf/getSpecialsActivities";
            break;
        case "Dining":
            //the_url = "http://discovery.cor.gov/public/cvb/cvbweb.nsf/getSpecialsRestaurants";
            the_url = "http://discovery.cor.gov/public/cvb/cvbweb.nsf/getSpecialsCuisines";
            break;
        case "Accommodations":
            the_url = "http://discovery.cor.gov/public/cvb/cvbweb.nsf/getSpecialsAccommodations";
            break;
        case "Shopping":
            the_url = "http://discovery.cor.gov/public/cvb/cvbweb.nsf/getSpecialsShopping";
            break;
        case "Transportation":
            the_url = "http://discovery.cor.gov/public/cvb/cvbweb.nsf/getSpecialsTransportation";
            break;
        case "Vendors":
            the_url = "http://discovery.cor.gov/public/cvb/cvbweb.nsf/getSpecialsVendors";
            break;
        case "Venues":
            the_url = "http://discovery.cor.gov/public/cvb/cvbweb.nsf/getSpecialsVenues";
            break;
        default:
            the_url = "http://discovery.cor.gov/public/cvb/cvbweb.nsf/getSpecialsActivities";
            
    }


    new Ajax.Request('request_proxy.aspx',
           {
               method: "get",
               parameters: {
                   url: the_url
               },
               onSuccess: function(transport) {
                   var op;
                   var resp = transport.responseText || "no response text";
                   resp = resp.replace("[", "");
                   resp = resp.replace("]", "");
                   var obj = resp.evalJSON();
                   if (obj.response == "success") {
                       var list;
                       switch (q) {
                           case "Activities":
                               list = Object.values(obj.specialsactivitiesbusinesstypes);
                               break;
                           case "Dining":
                               //list = Object.values(obj.specialsrestaurantsbusinesstypes);
                               list = Object.values(obj.specialsrestaurantscuisines);
                               break;
                           case "Accommodations":
                               list = Object.values(obj.specialsaccommodationsbusinesstypes);
                               break;
                           case "Shopping":
                               list = Object.values(obj.specialsshoppingbusinesstypes);
                               break;
                           case "Transportation":
                               list = Object.values(obj.specialstransportationbusinesstypes);
                               break;
                           case "Vendors":
                               list = Object.values(obj.specialsvendorsbusinesstypes);
                               break;
                           case "Venues":
                               list = Object.values(obj.specialsvenuesbusinesstypes);
                               break;
                           default:
                               list = Object.values(obj.specialsactivitiesbusinesstypes);
                       }
                       /*
                       op = document.createElement('option');
                       op.text = "All";
                       op.value = "all";
        
                       try {
                       $('q').add(op, null);
                       } catch (ex) {
                       $('q').add(op);
                       }
                       */
                       var li = -1;
                       var si = 0;
                       $('bustype').options.length = 0;
                       list.each(function(s) {
                           li++;
                           if (li == 0 && bustype == "") {
                               si = li;
                           }
                           if (s.toLowerCase() == bustype.toLowerCase()) {
                               si = li;
                           }
                           op = document.createElement('option');
                           op.text = s;
                           op.value = s;
                           try {
                               $('bustype').add(op, null);
                           } catch (ex) {
                               $('bustype').add(op);
                           }
                       }

                       );

                       $('bustype').selectedIndex = si;
                       if (is_post_back != "Y") {
                           find_first_items();
                       } else {
                           get_list();
                       }

                   }
               }
           });
}

function find_first_items() {
        bustype = $('bustype').options[$('bustype').selectedIndex].value;
        var the_url_test = the_url + "?openagent&q=" + encodeURI(bustype);
        new Ajax.Request('request_proxy.aspx',
           {
               method: "get",
               parameters: {
                   url: the_url_test
               },
               onSuccess: function(transport) {
                   var resp = transport.responseText || "no response text";

                   var obj;
                   try {
                       obj = resp.evalJSON()
                   } catch (ex) {
                       alert("Error");
                   }
                   if (obj.response == "success") {
                       switch (it) {
                           case "Activities":
                               list = obj.specialsactivities;
                               break;
                           case "Dining":
                               //list = obj.specialsrestaurants;
                               list = obj.specialscuisines;
                               break;
                           case "Accommodations":
                               list = obj.specialsaccommodations;
                               break;
                           case "Shopping":
                               list = obj.specialsshopping;
                               break;
                           case "Transportation":
                               list = obj.specialstransportation;
                               break;
                           case "Vendors":
                               list = obj.specialsvendors;
                               break;
                           case "Venues":
                               list = obj.specialsvenues;
                               break;
                           default:
                               list = obj.specialsactivities;
                       }
                       //alert(list.length);
                       if (list.length > 0) {
                           get_list();
                       } else {
                           if ($('bustype').selectedIndex < ($('bustype').options.length - 1)) {
                               $('bustype').selectedIndex++;
                               find_first_items();
                           } else {
                               $('bustype').selectedIndex = 0;
                               get_list();
                           }
                       }
                   }
               }
           });
 
   
}



function get_list(){
    bustype = $('bustype').options[$('bustype').selectedIndex].value;
    var the_url_test = the_url + "?openagent&q=" + encodeURI(bustype);
    var sd = "";
    var ld = "";
    var detail_url = "";
    $('TheList').innerHTML = "<div style=\"text-align:center\"><img src=\"images/ajax-loader.gif\"></div>";
    //alert(the_url_test);
    new Ajax.Request('request_proxy.aspx',
           {
               method: "get",
               parameters: {
                   url: the_url_test
               },
               onSuccess: function(transport) {
                   var resp = transport.responseText || "no response text";

                   var obj;
                   try {
                       obj = resp.evalJSON()
                   } catch (ex) {
                       alert("Error");
                   }
                   if (obj.response == "success") {
                       switch (it) {
                           case "Activities":
                               list = obj.specialsactivities;
                               detail_url = "activities_details.aspx?id=";
                               break;
                           case "Dining":
                               //list = obj.specialsrestaurants;
                               list = obj.specialscuisines;
                               detail_url = "dining_details.aspx?id=";
                               break;
                           case "Accommodations":
                               list = obj.specialsaccommodations;
                               detail_url = "accommodations_details.aspx?id=";
                               break;
                           case "Shopping":
                               list = obj.specialsshopping;
                               detail_url = "shopping_details.aspx?id=";
                               break;
                           case "Transportation":
                               list = obj.specialstransportation;
                               detail_url = "transportation_details.aspx?id=";
                               break;
                           case "Vendors":
                               list = obj.specialsvendors;
                               detail_url = "vendors_details.aspx?id=";
                               break;
                           case "Venues":
                               list = obj.specialsvenues;
                               detail_url = "venue_details.aspx?id=";
                               break;
                           default:
                               list = obj.specialsactivities;
                               detail_url = "activities_details.aspx?id=";

                       }
                       //alert(list.length);
                       if (it != "Dining") {
                           clr = "#EEEEEE";
                           if (list.length > 0) {
                               var html = "<table width=\"100%\" style=\"border-collapse:collapse;\">\r\n";
                               html += "<tr><td colspan=\"3\" class=\"list_line\">&nbsp;</td></tr>\r\n";
                               var row = 0;
                               list.each(function(s) {
                                   if (clr == "#EEEEEE") {
                                       clr = "#FFFFFF";
                                   } else {
                                       clr = "#EEEEEE";
                                   }

                                   html += "<tr bgcolor=\"" + clr + "\"><td class=\"list_text\" valign=\"top\" align=\"left\">";
                                   html += "<a href=\"" + detail_url + s.id + "\" class=\"list_link\">" + s.name + "</a></td>";
                                   html += "<td class=\"list_text\" valign=\"top\" style=\"text-align:left\">" + s.address;
                                   html += "<br />" + s.city + ", " + s.state + " " + s.zipcode + "</td>";
                                   html += "<td class=\"list_text\" valign=\"top\" align=\"left\" style=\"padding-left:20px;\">" + s.phone;
                                   if (s.website != "") {
                                       if (s.website.indexOf("http://") >= 0) {
                                           html += "<br><a href=\"" + s.website + "\" target=\"_blank\" class=\"list_link\">Website</a>";
                                       } else {
                                           html += "<br><a href=\"http://" + s.website + "\" target=\"_blank\" class=\"list_link\">Website</a>";
                                       }
                                   }

                                   html += "</td></tr>\r\n";

                                   if (s.offerlink1 != "") {
                                       html += "<tr bgcolor=\"" + clr + "\"><td colspan=\"3\" class=\"list_line\">&nbsp;</td></tr>";
                                       html += "<tr bgcolor=\"" + clr + "\">\r\n";
                                       html += "<td valign=\"top\" class=\"list_text\" width=\"200\" align=\"left\">";
                                       html += s.start1 + " - " + s.end1 + "</td>\r\n";

                                       html += "<td valign=\"top\" class=\"list_text\" width=\"360\" align=\"left\" id=\"SpecDesc" + row + "\">";
                                       spec_descs[row] = s.specialdescription1;
                                       //alert(s.specialdescription1);
                                       spec_descs[row] = spec_descs[row].replace("<p>", "");
                                       spec_descs[row] = spec_descs[row].replace("</p>", "");

                                       spec_descs[row] += "...<a href=\"javascript:void(0);\" onclick=\"hide_long_desc(" + row + ")\">Less</a>";
                                       if (s.specialdescription1 != "") {
                                           if (s.specialdescription1.length > 100) {
                                               short_descs[row] = s.specialdescription1.substr(0, 100);
                                               short_descs[row] += "...<a href=\"javascript:void(0);\" onclick=\"show_long_desc(" + row + ")\">More</a>";
                                           } else {
                                               short_descs[row] = s.specialdescription1;
                                           }
                                           short_descs[row] = short_descs[row].replace("<p>", "");
                                           short_descs[row] = short_descs[row].replace("</p>", "");
                                       } else {
                                           short_descs[row] = "&nbsp;";
                                       }
                                       html += short_descs[row] + "</td>\r\n";
                                       html += "<td valign=\"top\" class=\"list_text\" align=\"left\" style=\"padding-left:20px;\">";

                                       if (s.offerlink1.indexOf("http://") >= 0) {
                                           html += "<a href=\"" + s.offerlink1 + "\" class=\"list_link\" target=\"_blank\">Offer</a>";
                                       } else {
                                           html += "<a href=\"http://" + s.offerlink1 + "\" class=\"list_link\" target=\"_blank\">Offer</a>";
                                       }
                                       html += "</td></tr>\r\n";

                                       html += "</tr>\r\n";
                                       row++;
                                   }
                                   if (s.offerlink2 != "") {
                                       html += "<tr bgcolor=\"" + clr + "\"><td colspan=\"3\" class=\"list_line\">&nbsp;</td></tr>";
                                       html += "<tr bgcolor=\"" + clr + "\">\r\n";
                                       html += "<td valign=\"top\" class=\"list_text\" width=\"200\" align=\"left\">";
                                       html += s.start2 + " - " + s.end2 + "</td>\r\n";

                                       html += "<td valign=\"top\" class=\"list_text\" width=\"360\" align=\"left\" id=\"SpecDesc" + row + "\">";
                                       spec_descs[row] = s.specialdescription2;
                                       //alert(s.specialdescription2);
                                       spec_descs[row] = spec_descs[row].replace("<p>", "");
                                       spec_descs[row] = spec_descs[row].replace("</p>", "");

                                       spec_descs[row] += "...<a href=\"javascript:void(0);\" onclick=\"hide_long_desc(" + row + ")\">Less</a>";
                                       if (s.specialdescription2 != "") {
                                           if (s.specialdescription2.length > 100) {
                                               short_descs[row] = s.specialdescription2.substr(0, 100);
                                               short_descs[row] += "...<a href=\"javascript:void(0);\" onclick=\"show_long_desc(" + row + ")\">More</a>";
                                           } else {

                                               short_descs[row] = s.specialdescription2;
                                           }
                                           short_descs[row] = short_descs[row].replace("<p>", "");
                                           short_descs[row] = short_descs[row].replace("</p>", "");
                                       } else {
                                           short_descs[row] = "&nbsp;";
                                       }
                                       html += short_descs[row] + "</td>\r\n";
                                       html += "<td valign=\"top\" class=\"list_text\" align=\"left\" style=\"padding-left:20px;\">";

                                       if (s.offerlink2.indexOf("http://") >= 0) {
                                           html += "<a href=\"" + s.offerlink2 + "\" class=\"list_link\" target=\"_blank\">Offer</a>";
                                       } else {
                                           html += "<a href=\"http://" + s.offerlink2 + "\" class=\"list_link\" target=\"_blank\">Offer</a>";
                                       }
                                       html += "</td></tr>\r\n";

                                       html += "</tr>\r\n";
                                       row++;
                                   }
                                   if (s.offerlink3 != "") {
                                       html += "<tr bgcolor=\"" + clr + "\"><td colspan=\"3\" class=\"list_line\">&nbsp;</td></tr>";
                                       html += "<tr bgcolor=\"" + clr + "\">\r\n";
                                       html += "<td valign=\"top\" class=\"list_text\" width=\"200\" align=\"left\">";
                                       html += s.start3 + " - " + s.end3 + "</td>\r\n";

                                       html += "<td valign=\"top\" class=\"list_text\" width=\"360\" align=\"left\" id=\"SpecDesc" + row + "\">";
                                       spec_descs[row] = s.specialdescription3;
                                       //alert(s.specialdescription3);
                                       spec_descs[row] = spec_descs[row].replace("<p>", "");
                                       spec_descs[row] = spec_descs[row].replace("</p>", "");

                                       spec_descs[row] += "...<a href=\"javascript:void(0);\" onclick=\"hide_long_desc(" + row + ")\">Less</a>";
                                       if (s.specialdescription3 != "") {
                                           if (s.specialdescription3.length > 100) {
                                               short_descs[row] = s.specialdescription3.substr(0, 100);
                                               short_descs[row] += "...<a href=\"javascript:void(0);\" onclick=\"show_long_desc(" + row + ")\">More</a>";
                                           } else {
                                               short_descs[row] = s.specialdescription3;
                                           }
                                           short_descs[row] = short_descs[row].replace("<p>", "");
                                           short_descs[row] = short_descs[row].replace("</p>", "");
                                       } else {
                                           short_descs[row] = "&nbsp;";
                                       }
                                       html += short_descs[row] + "</td>\r\n";
                                       html += "<td valign=\"top\" class=\"list_text\" align=\"left\" style=\"padding-left:20px;\">";

                                       if (s.offerlink3.indexOf("http://") >= 0) {
                                           html += "<a href=\"" + s.offerlink3 + "\" class=\"list_link\" target=\"_blank\">Offer</a>";
                                       } else {
                                           html += "<a href=\"http://" + s.offerlink3 + "\" class=\"list_link\" target=\"_blank\">Offer</a>";
                                       }
                                       html += "</td></tr>\r\n";

                                       html += "</tr>\r\n";
                                       row++;
                                   }
                                   html += "<tr bgcolor=\"" + clr + "\"><td colspan=\"3\" class=\"list_line\">&nbsp;</td></tr>\r\n";
                               });
                               html += "</table>";
                               $('TheList').innerHTML = html;
                           } else {
                               var html3 = "<table width=\"100%\">\r\n";
                               html3 += "<tr><td class=\"list_line\">&nbsp;</td></tr>\r\n";
                               html3 += "<tr><td class=\"list_text\" align=\"center\">No Specials Found</td></tr>\r\n";
                               html3 += "<tr><td class=\"list_line\">&nbsp;</td></tr></table>\r\n";
                               $('TheList').innerHTML = html3;
                           }
                       } else {
                           if (list.length > 0) {
                               var html2 = "<table width=\"100%\" style=\"border-collapse:collapse;\">\r\n";
                               html2 += "<tr><td colspan=\"4\" class=\"list_line\">&nbsp;</td></tr>\r\n";
                               var clr2 = "#EEEEEE";
                               list.each(function(s) {
                                   
                                   if (clr2 == "#EEEEEE") {
                                       clr2 = "#FFFFFF";
                                   } else {
                                       clr2 = "#EEEEEE";

                                   }
                                   
                                   html2 += "<tr bgcolor=\"" + clr2 + "\"><td class=\"list_text\" valign=\"top\" align=\"left\">";
                                   if (s.membershiptype != "B") {
                                       html2 += "<a href=\"" + detail_url + s.id + "\" class=\"list_link\">" + s.name + "</a>";
                                   } else {
                                       html2 += s.name;
                                   }
                                   html2 += "</td>";
                                   html2 += "<td class=\"list_text\" valign=\"top\" style=\"text-align:left\">" + s.address;
                                   html2 += "<br />" + s.city + ", " + s.state + " " + s.zip + "</td>";
                                   html2 += "<td class=\"list_text\" valign=\"top\" align=\"left\">" + s.phone;
                                   if (s.website != "") {
                                       if (s.website.indexOf("http://") >= 0) {
                                           html2 += "<br><a href=\"" + s.website + "\" target=\"_blank\" class=\"list_link\">Website</a>";
                                       } else {
                                           html2 += "<br><a href=\"http://" + s.website + "\" target=\"_blank\" class=\"list_link\">Website</a>";
                                       }
                                   }
                                   html2 += "<td class=\"list_text\" valign=\"top\" align=\"left\">";
                                   if (s.couponurl != "") {
                                       html2 += "<a href=\"" + s.couponurl + "\" target=\"_blank\" class=\"list_link\">Offer</a>";
                                   }
                                   html2 += "</td></tr>\r\n";

                                   html2 += "<tr bgcolor=\"" + clr2 + "\"><td colspan=\"4\" class=\"list_line\">&nbsp;</td></tr>\r\n";

                               });
                               
                               html2 += "</table>";
                               $('TheList').innerHTML = html2;
                           } else {
                               var html4 = "<table width=\"100%\">\r\n";
                               html4 += "<tr><td class=\"list_line\">&nbsp;</td></tr>\r\n";
                               html4 += "<tr><td class=\"list_text\" align=\"center\">No Specials Found</td></tr>\r\n";
                               html4 += "<tr><td class=\"list_line\">&nbsp;</td></tr></table>\r\n";
                               $('TheList').innerHTML = html4;
                           }
                       }
                   }
               }
           });

       }


       function show_long_desc(row) {
           $('SpecDesc' + row).innerHTML = spec_descs[row];
       }

       function hide_long_desc(row) {
           $('SpecDesc' + row).innerHTML = short_descs[row];
       }