
function loadTheaterList(panel_id, theaters_hldr_id, more_div_hldr_id, zip, theaterId, block_num, specific_day, reload)
{
    var panel = getDiv(panel_id);
    var theaters = null;
    var more_div = null;
    theaters_hldr = getDiv(theaters_hldr_id);
    more_div_hldr = getDiv(more_div_hldr_id);
    
    if (theaters_hldr) {
        var tbls = theaters_hldr.getElementsByTagName("TABLE");
        if (tbls.length > 0) {
            theaters = tbls[0];
        }
    }
    if (more_div_hldr) {
        var divs = more_div_hldr.getElementsByTagName("DIV");
        if (divs.length > 0) {
            more_div = divs[0];
        }
    }
    if (panel) {
        
        makeTheaterRequest(panel, theaters, more_div, zip, theaterId, block_num, specific_day, reload);
    }
}

function makeTheaterRequest(panel, theaters, more_div, zip, theaterId, block_num, specific_day, reload) {

    var startTime = "";
   
    if (specific_day != null) {
        startTime = encodeHtml(specific_day);
    }
    
    panel.style.cursor = "wait";
    
    var url =  getBaseURL() + "listings/jacks/theaterlisting.aspx?startTime=" + startTime + "&zipcode=" + zip + "&block=" + block_num + "&full=" + reload;
        
    var http_request = false;
    
    if (window.XMLHttpRequest) { 
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');

        }
    } 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) {
        
        return false;
    }
	http_request.onreadystatechange = function() {writeTheaterPanel(http_request, panel, theaters, more_div, block_num, reload);};
    http_request.open('GET', url, true);
    http_request.send(null);
}

function writeTheaterPanel(http_request, panel, theaters, more_div, block_num, reload) {
    if (http_request.readyState == 4) 
    {
        if (theaters) {
        theaters.style.cursor = "default";
        }
        panel.style.cursor = "default";
        
        if (http_request.status == 200) 
        {
           panel.innerHTML = "<DIV>HI</DIV>";
        } 
    }
}

function loadCablePanel(path, panel_id, genre_menu, sort_by_menu, per_pg_menu, range_to_get, time_change, specific_day) {
    var panel = getDiv(panel_id);
    if (panel && genre_menu && per_pg_menu) {
        panel.className="dim";
        panel.style.cursor = "wait";
        makeCableRequest(path, panel, genre_menu, sort_by_menu, per_pg_menu, range_to_get, time_change, specific_day);
    }
}

function writeCablePanel(http_request, panel, path) {
    if (http_request.readyState == 4) {
        panel.style.cursor = "default";
        if (http_request.status == 200) {
			var responseHTML = http_request.responseText;

            panel.innerHTML = responseHTML;

            setCableDates(panel, path);
        } else {
            clearCableDates();
            setCableError(panel);
        }
        panel.className="";
    }
}
function getHeadEndId()
{
    var headendid = "";
    var headendcookie = getCookie("__TEMP_PHDZ");
    if (headendcookie == null)
    {
        headendcookie = getCookie("__REELZ_PHDZ");
    }
 
    if (headendcookie != null)
    {
         var values = headendcookie.split('|');
         if (values != null && values.length >=2)
            headendid = values[1];
    }
    return headendid;
}
function makeCableRequest(path, div, genre_menu, sort_by_menu, per_pg_menu, range_to_get, time_change, specific_day) {
    var startTime = "";

    if (specific_day != null) {
        startTime = encodeHtml(specific_day);
    } else {
        startTime = getCookie("__START_TIME"+path);
        if (startTime == null) { startTime = ""; }
    }
    var sortBy = "";
    if (sort_by_menu != null) {
        sortBy = sort_by_menu.value;
    }
    
    var url =  getBaseURL() + path + "?startTime=" + startTime + "&genre=" + genre_menu.value + "&sortBy=" + sortBy + "&perPage=" + per_pg_menu.value + "&range=" + range_to_get + "&change=" + time_change + "&headendid=" + getHeadEndId();

    var http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
        }
    } 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) {
        setCableError(div);
        return false;
    }
	http_request.onreadystatechange = function() {writeCablePanel(http_request, div, path);};
    http_request.open('GET', url, true);
    http_request.send(null);
}

function setCableError(div) {
    div.innerHTML = "<div class=\"error\"><p>There was an error getting the data.</p></div>";
}
function setCableLoading(div) {
    div.innerHTML = "<div class=\"load\"><p>Loading ...</p></div>";
}

function encodeHtml(str) {
    var encodedHtml = escape(str);
    encodedHtml = encodedHtml.replace(/\//g,"%2F");
    encodedHtml = encodedHtml.replace(/\?/g,"%3F");
    encodedHtml = encodedHtml.replace(/=/g,"%3D");
    encodedHtml = encodedHtml.replace(/&/g,"%26");
    encodedHtml = encodedHtml.replace(/@/g,"%40");
    return encodedHtml;
} 

function setCableDates(div, path) {    
    var flds = div.getElementsByTagName("INPUT");
    if (flds.length>1) {
        setCookie("__START_TIME"+path, flds[flds.length-1].value);
    }
}

function setTheaterDates(div) {
    var currentDate = getDiv("currentDate");
    var currentDateTop = getDiv("currentDateTop");
    var flds = div.getElementsByTagName("INPUT");
    //for (var i = 0; i < flds.length; i++) {
    //    flds[i]
    //}
    // the last two fields
    if (flds.length>0) {
        if (currentDate != null) {
            var regExp = /<img[^>]+>/i;
            var matches = regExp.exec(currentDate.innerHTML);
            //alert(matches);
            if (matches && matches.length > 0) {
                currentDate.innerHTML = matches[0] + flds[flds.length-1].value;
            }
        }
        if (currentDateTop != null) {
            var regExp = /<img[^>]+>/i;
            var matches = regExp.exec(currentDateTop.innerHTML);
            //alert(matches);
            if (matches && matches.length > 0) {
                currentDateTop.innerHTML = matches[0] + flds[flds.length-1].value;
            }
        }
    }
}

function clearCableDates() {
    var currentDate = getDiv("currentDate");
    var currentDateTop = getDiv("currentDateTop");
    if (currentDate) {
        var regExp = /<img[^>]+>/i;
        var matches = regExp.exec(currentDate.innerHTML);
        //alert(matches);
        if (matches && matches.length > 0) {
            currentDate.innerHTML = matches[0] + "";
        }
    }
    if (currentDateTop) {
        var regExp = /<img[^>]+>/i;
        var matches = regExp.exec(currentDateTop.innerHTML);
        //alert(matches);
        if (matches && matches.length > 0) {
            currentDateTop.innerHTML = matches[0] + "";
        }
    }
}

function loadVODPanel(listing_type, panel_id, station_menu, genre_menu, sort_menu, per_pg_menu, current_pg, page_change, myRatingFromDB) {
    var panel = getDiv(panel_id);
    if (panel && sort_menu) {
        panel.className="dim";
            panel.style.cursor = "wait";
        makeVODRequest(listing_type, panel, station_menu, genre_menu, sort_menu, per_pg_menu, current_pg, page_change, myRatingFromDB);
    }
}

function writeVODPanel(http_request, panel) {
    if (http_request.readyState == 4) {
        panel.style.cursor = "default";
        //alert(http_request.responseText);
        if (http_request.status == 200) {
			var responseHTML = http_request.responseText;
            panel.innerHTML = responseHTML;
            var scripts = panel.getElementsByTagName("SCRIPT");
            for (var i = 0; i < scripts.length; i++) {
                eval(scripts[i].innerHTML);
            }
            // header in the reviews section
	        if (is_ie) {
		        var div = getDiv("hdr_my_rev");
		        if (div) {
			        div.className = div.className + "";
		        }
	        }
        } else {
            setVODError(panel);
        }
        panel.className="";
    }
}

function makeVODRequest(listing_type, div, station_menu, genre_menu, sort_menu, per_pg_menu, current_pg, page_change, myRatingFromDB, showUserRating) {
    var per_pg = 15;
    if (per_pg_menu != null) {
        per_pg = per_pg_menu.value
    }
    var station_id = "";
    if (station_menu != null) {
        station_id = station_menu.value
    }
    var genre = "";
    if (genre_menu != null) {
        genre = genre_menu.value
    }
    var url =  getBaseURL() + 
        "listings/jacks/vodtable.aspx?listingType=" + listing_type + 
        "&stationId=" + station_id + 
        "&genre=" + genre + 
        "&sortBy=" + sort_menu.value + 
        "&perPage=" + per_pg + 
        "&currentPage=" + current_pg + 
        "&pageChange=" + page_change + 
        "&myRatingFromDB=" + myRatingFromDB + 
        "&pepper=" + Math.floor(Math.random()*902349394);
    var http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
        }
    } 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) {
        setError(div);
        return false;
    }
		http_request.onreadystatechange = function() {writeVODPanel(http_request, div);};
    http_request.open('GET', url, true);
    http_request.send(null);
	//}
}

function setVODError(div) {
    div.innerHTML = "<div class=\"bod\"><div class=\"vod_ld\"><div class=\"inner\"><p style=\"color:red\">There was an error getting the data</p></div></div></div>" +
	    "<div class=\"ft\"><div class=\"lf\"><div class=\"rt\"></div></div></div>"
}

function loadReviewsPanel(panel_id, per_pg_menu, current_pg, page_change) {
    var panel = getDiv(panel_id);
    if (panel) {
        panel.className="dim";
        panel.style.cursor = "wait";
        makeReviewsRequest(panel, per_pg_menu, current_pg, page_change);
    }
}

function writeReviewPanel(http_request, panel) {
    if (http_request.readyState == 4) {
        panel.style.cursor = "default";
        if (http_request.status == 200) {
			var responseHTML = http_request.responseText;
            panel.innerHTML = responseHTML;
        } else {
            setVODError(panel);
        }
        panel.className="";
    }
}

function makeReviewsRequest(div, per_pg_menu, current_pg, page_change) {
    var per_pg = 10;
    if (per_pg_menu != null) {
        per_pg = per_pg_menu.value
    }
    var url =  getBaseURL() + 
        "listings/jacks/myreviews.aspx?perPage=" + per_pg + 
        "&currentPage=" + current_pg + 
        "&pageChange=" + page_change + 
        "&pepper=" + Math.floor(Math.random()*902349394);
    //alert(url);
    var http_request = false;
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/xml');
        }
    } 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) {
        setError(div);
        return false;
    }
		http_request.onreadystatechange = function() {writeVODPanel(http_request, div);};
    http_request.open('GET', url, true);
    http_request.send(null);
	//}
}

function setDateHilite(cell, tbl_1_id, tbl_2_id) {
    var tbl_1_id =getDiv(tbl_1_id);
    var tbl_2_id =getDiv(tbl_2_id);
    realSetDateHilite(cell, tbl_1_id);
    realSetDateHilite(cell, tbl_2_id);
}

function realSetDateHilite(cell, tbl) {
    if (tbl) {
        var cells = tbl.getElementsByTagName("TD");
        for (var i = 0; i < cells.length; i++) {
		    cells[i].className = cells[i].className.replace(/curr/, "lv");
		    
            if (cells[i].className != "tdy" && cells[i].innerHTML == cell.innerHTML) {
		        cells[i].className = cells[i].className.replace(/lv/, "curr");
            }
        }
    }
}
function writeAlVODPanel(http_request, panel) {
    if (http_request.readyState == 4) {
        panel.style.cursor = "default";
        //alert(http_request.responseText);
        if (http_request.status == 200) {
            var responseHTML = http_request.responseText;
            panel.innerHTML = responseHTML;
            var scripts = panel.getElementsByTagName("SCRIPT");
            for (var i = 0; i < scripts.length; i++) {
                eval(scripts[i].innerHTML);
            }
            // header in the reviews section
            if (is_ie) {
                var div = getDiv("hdr_my_al");
                if (div) {
                    div.className = div.className + "";
                }
            }
        } else {
            setVODError(panel);
        }
        panel.className = "";
    }
}