<!-- CBS Interactive Edward Guangzu Wang gwang@cbs.com -->

post_reg(); // if coming from registration set cookies first

var form_options = {
    url: cgi_script,
    dataType: 'jsonp'
};

//this variable will contain all the json data by media_id: mid12345
var data_by_mid = {};

// this global hold return data from ajax call
var ajax_data;

var media_to_play;

var license_ids = '';
var play_id = '';

var ajax_options ={
    url: psp_script,
    dataType: "jsonp"
};

$(function(){
    // disable autocomplete
    // $("#tag_string1").autocomplete(cgi_script + "?school=" + school, {multiple: true, mustMatch: true, matchContains: false, autoFill:true});
    $("#date1").datepicker();
    $("#date2").datepicker();

    // hide navigation column, wide carousel
    set_layout('wide');

    //$("#tabs").tabs();

    // setup cookies
    $.cookies.setOptions({
        //expiresAt: new Date(2020, 1, 1)
    });

    $('<div id="loading"><img src="http://grfx.cstv.com/graphics/ajax-loader.gif" /></div>').appendTo("#vip-bottom-wrap").hide().css({margin:'auto',position:'absolute',left:'40%',top:'50%','z-index':'9001'});

    // set default action and other weird stuff
    //$('#tabs').bind('tabsselect', function(event, ui){
    $('#tabs').tabs({
      select:  function(event, ui){
          //var tab = $(ui.tab).attr('href');
          var tab = ui.index;
          $("#tag_string").val('');

          var tabname = $(ui.tab).attr('href');
          if (tabname == '#recent') {
            $("#event_type").val('');
            $('#num_per_page').val(more_videos);
            $("#no_pager").val(1);
            $("#search_by").val('');
            $("#search_value").val('');
            $("#skip_recent").val('0');
            $("#loading").show();
            $("#vip-col-2, #pager, #pager-top").hide();
            $("#video_search_form").ajaxSubmit(form_options);
            $("#skip_recent").val('');
            set_layout('wide');
          }
          else if (tabname == '#sport') {
            $("#event_type").val('');
            $('#num_per_page').val(less_videos);
            $("#no_pager").val('');
            $('#'+last_sport_id).click();
            set_layout('narrow');
          }
          else if (tabname == '#channel') {
            $("#event_type").val('');
            $('#num_per_page').val(less_videos);
            $("#no_pager").val('');
            set_layout('narrow');
            $('#' + last_type_id).click();
          }
          else if (tabname == '#featured') {
            $("#event_type").val('');
            $('#num_per_page').val(more_videos);
            $("#no_pager").val('');
            $("#search_by").val('featured');
            $("#search_value").val('1');
            $("#loading").show();
            $("#vip-col-2, #pager, #pager-top").hide();
            $("#video_search_form").ajaxSubmit(form_options);
            set_layout('wide');
          }
          else if (tabname == '#university') {
            $("#event_type").val('');
            $('#num_per_page').val(more_videos);
            $("#no_pager").val('');
            $("#search_by").val('channel_id');
            $("#search_value").val('550');
            $("#loading").show();
            $("#vip-col-2, #pager, #pager-top").hide();
            $("#video_search_form").ajaxSubmit(form_options);
            set_layout('wide');
          }
          else if (tabname == '#live') {
            //$('#num_per_page').val(less_videos);
            $('#num_per_page').val(50);
            $("#no_pager").val('');
            $("#search_by").val('');
            $("#search_value").val('');
            $("#event_type").val('live_pre');
            $("#loading").show();
            $("#vip-col-2, #pager, #pager-top").hide();
            $("#video_search_form").ajaxSubmit(form_options);
            set_layout('wide');
          }
          else if (tabname == '#confschool') {

            $("#event_type").val('');
            $('#num_per_page').val(less_videos);
            $("#no_pager").val('');

            if (search_by && search_value) {
              $("#search_by").val(search_by);
              $("#search_value").val(search_value);
            }
            else if( (typeof last_school_sport_id == 'string') && last_school_sport_id != '') {
              $("#search_by").val('school_sport_code');
              $("#search_value").val(last_school_sport_id);
              $('#'+last_school_id).parent("li").children("ul").css("display", 'block');
              $('#'+last_school_sport_id).click();
            }
            else {
              if (last_school_id == 'all') {
                $("#search_by").val('school_code');
                $("#search_value").val('all');
                $("#loading").show();
                $("#vip-col-2, #pager, #pager-top").hide();
                $("#video_search_form").ajaxSubmit(form_options);
              }
              else {
                 if ($.cookies.get('last_school_state')) {
                    last_school_state = $.cookies.get('last_school_state');
                     if (last_school_state == 'block') {
                        $('#'+last_school_id).parent("li").children("ul").css("display", 'block');
                    } else {
                       $('#'+last_school_id).parent("li").children("ul").css("display", 'none');
                     }
                 }
                 $('#'+last_school_id).click();
              }
            }
            //$("#video_search_form").ajaxSubmit(form_options);
            set_layout('narrow');
          }
          else if (tabname == '#free') {
            $("#event_type").val('');
            $('#num_per_page').val(more_videos);
            $("#no_pager").val('');
            $("#search_by").val('is_free');
            $("#search_value").val('1');
            $("#loading").show();
            $("#vip-col-2, #pager, #pager-top").hide();
            $("#video_search_form").ajaxSubmit(form_options);
            set_layout('wide');
          }
          else if (tabname == '#confdn') {
            $("#event_type").val('');
            $('#num_per_page').val(less_videos);
            $("#no_pager").val('');

            if( (typeof last_conf_channel_id == 'string') && last_conf_channel_id != '') {
              $("#search_by").val('conf_channel');
              $("#search_value").val(last_conf_channel_id);
              $('#'+last_conf_channel_id).click();
            }
            else{
              var s_value = conf_code + "_mt_75"; //default to media 75 of the conf_code
              $("#search_by").val('conf_channel');
              $("#search_value").val(s_value);
              $("#loading").show();
              $("#vip-col-2, #pager, #pager-top").hide();
              $("#video_search_form").ajaxSubmit(form_options);
              $('#'+s_value).click();
            }

            set_layout('narrow');
          }
        }
      });

    // most recently video for the  first time
    $("#no_pager").val(1);

    // get url parameter string, for sport, channels, media_type, etc
    // this is old trick, keep it just for back compatibility
    var search_by = $.url.param('search_by');
    var search_value = $.url.param('search_value');
    var tabs_map;
	var live_i;

	if (typeof(is_conf) != "undefined" && is_conf == 1) {
     tabs_map = $.parseJSON('{ "school_code" : 2, "sport" : 3, "media_type" : 0, "channel_id" : 0, "featured" : 4 }');
	 live_i = 5;
	}
	else if (typeof(conf_code) != "undefined" && conf_code) {
     tabs_map = $.parseJSON('{ "conf_code": 1, "sport" : 2, "media_type" : 3, "channel_id" : 3, "featured" : 4 }');
	 live_i = 5;
	}
	else {
     tabs_map = $.parseJSON('{ "sport" : 1, "media_type" : 2, "channel_id" : 2, "featured" : 3 }');
	 live_i = 4;
	}
    if(typeof search_by == 'string' && typeof search_value == 'string' && tabs_map[search_by] ){
        $("#search_by").val(search_by);
        $("#search_value").val(search_value);
        $('#tabs').tabs('option','selected', tabs_map[search_by]);
    }

    // keywords (keyword, tag, tags)
    var keywords = $.url.param('keywords') || $.url.param('keyword') || $.url.param('tag') || $.url.param('tags');
    if(typeof keywords == 'string' ){
        $("#tag_string1").val(keywords);
        $("#no_pager").val('');
        $("#tag_btn").click(do_tag_search);
    }

    var url_map = $.parseJSON('{ "sport" : { "name"  : "#sport", "value" : "m-basebl", "type"  : "", "flag" : "1" }, "school_code" : { "name"  : "#confschool", "value" : "all", "type" : "" }, "channel_id" : { "name"  : "#channel", "value" : "all", "type"  : "channel_" }, "media_type" : { "name" : "#channel", "value" : "75", "type"  : "media_" }, "conf_channel" : { "name" : "#confdn", "value" : "", "type" : "" }, "recent" : { "name"  : "#recent", "value" : "" }, "featured" : { "name"  : "#featured", "value" : "1" }, "live" : { "name"  : "#live", "value" : "1" } }');

    
    var search_school = '';
    var search_sport = '';
    var search_by = '';
    var search_value = '';
    var p_key = '';
    var p_val = '';
    var param_flag = 0;
    var loc = window.location;
    var args = '';

    if (loc) {
      args = loc.search.substring(1);
      var pairs = args.split("&");

      for (i=0;i<pairs.length;i++) {
        var pair = pairs[i].split("=");
        p_key = pair[0];
        p_val = pair[1];
        
        if (typeof(url_map[p_key]) != "undefined") {
          if (p_key == "sport") {
            search_sport = p_val;
          }
          else if (p_key == "school_code") {
            search_school = p_val;
          }
          param_flag = 1;

          if (p_key == "live" || p_key == "featured") {
            param_flag = 3;
          }
        }
      }

      if (!param_flag) {
        for (var key in url_map) {
          var re = new RegExp(url_map[key].name, "");
          var result = re.exec(loc);
          if (result != null) { 
            search_by = key;
            search_value = url_map[key].value;

            if ( key == "conf_channel" && typeof(conf_code) != "undefined" && conf_code) {
              search_value = conf_code + "_mt_75";
            }

            param_flag = 2;
            break;
          }
        }
      }
    }

    if (search_school && search_sport) {
      search_value = search_school + "_" + search_sport;
      search_by = "school_sport_code";
      $('.search-links li').removeClass('on');
      $("#" + search_value).parent('li').addClass('on');
      $('#'+last_school_id).parent("li").children("ul").css("display", 'none');
      $('#'+search_school).parent("li").children("ul").css("display", 'block');
      $("#event_type").val('');

      $("#tabs").tabs('option', 'selected', tabs_map["school_code"]);
    }
    else if (param_flag > 0) {
      if(p_key) {search_by = p_key};
      if(p_val) {search_value = p_val};
      $("#search_by").val(search_by);
      $("#search_value").val(search_value);
      $("#no_pager").val('');

      if (typeof(url_map[search_by].type) != "undefined") {
        $('#num_per_page').val(less_videos);
        set_layout('narrow');
        $('.search-links li').removeClass('on');

        if (search_by == "channel_id" && param_flag == 2) {
          if (typeof(is_conf) != "undefined" && is_conf == 1) {
            $("#channel_all").parent('li').addClass('on');
          }
          else {
            $("#search_by").val("media_type");
            $("#search_value").val("75");
            $("#media_75").parent('li').addClass('on');
          }
        }
        else {
          $("#" + url_map[search_by].type + search_value).parent('li').addClass('on');
        }
      }
      else {
        $('#num_per_page').val(more_videos);
        set_layout('wide');
      }

      if (search_by == "live") {
        $("#event_type").val('live_pre');
        $("#tabs").tabs('option', 'selected', live_i);
      }
      else {
        $("#event_type").val('');
        $("#tabs").tabs('option', 'selected', tabs_map[search_by]);
      }
    }
    //if it is a conference page, default to channel
    else if (typeof(is_conf) != "undefined" && is_conf == 1) {
      //$("#search_by").val('media_type');
      //$("#search_value").val('75');
      $("#search_by").val('channel_id');
      $("#search_value").val('all');
      // put selected indicator
      $('.search-links li').removeClass('on');
      $("#channel_all").parent('li').addClass('on');
      $("#no_pager").val('');
      $('#num_per_page').val(less_videos);
      $("#tabs").tabs('option', 'selected', tabs_map["channel_id"]);
      set_layout('narrow');
    }
    //else default to most recent
    else {
      $("#search_by").val('');
      $("#search_value").val('');
      $("#skip_recent").val('0');
    }

    var media_id = $.url.param('media') || $.url.param('media_id');
    $('#media_id').val(media_id);
    $("#loading").show();

    if (param_flag != 3) {
      $("#video_search_form").ajaxSubmit(form_options);
    }

    $("#skip_recent").val('');
    $('#media_id').val('');
    $("#no_pager").val('');

    // the link that return ajax search results
    $(".search-links a").click(function() {
        // put selected indicator
        $('.search-links li').removeClass('on');
        $(this).parent('li').addClass('on');

        //set cookies
        var search_name = this.name;
        var search_id   = this.id;

        if (search_name == 'sport') {
          $.cookies.set('last_sport', search_id);
          last_sport_id = search_id;

        } else if (search_name == 'channel_id' || search_name == 'media_type'){
          $.cookies.set('last_type', search_id);
          last_type_id = search_id;

        } else if (search_name == 'school_code'){

          $.cookies.del('last_school_sport');
          $.cookies.set('last_school', search_id);

          last_school_id = search_id;
          last_school_sport_id = 0;

          last_school_state = $('#'+last_school_id).parent("li").children("ul").css("display");

          $('ul.search-links ul').css('display', 'none');

          if (last_school_state == 'block') {
            $('#'+last_school_id).parent("li").children("ul").css("display", 'none');
            $.cookies.set('last_school_state', 'block');
          } else {
            $('#'+last_school_id).parent("li").children("ul").css("display", 'block');
            $.cookies.set('last_school_state', 'none');
          }

        } else if (search_name == 'school_sport_code') {
          $.cookies.set('last_school_sport', search_id);
          last_school_sport_id = search_id;
        } else if (search_name == 'conf_channel') {
          $.cookies.set('last_conf_channel', search_id);
          last_conf_channel_id = search_id;
        }

        $("#page_num").val("1");
        // don't combine w keyword search
        $("#tag_string1").val('');

        $("#search_by").val(search_name);
        var id = search_id.replace(/channel_|media_/, "");
        $("#search_value").val(id);
        $("#loading").show();
        $("#vip-col-2, #pager, #pager-top").hide();
        $("#video_search_form").ajaxSubmit(form_options);

        return false;
    });

    // text box search
    var do_tag_search = function(){
        if($('#tag_string1').val().length > 2){
            $("#search_by").val('');
            $("#search_value").val('');
            $("#page_num").val("1");
            //form_options.resetForm = true;
            $("#loading").show();
            $("#vip-col-2, #pager, #pager-top").hide();

            $("#video_search_form").ajaxSubmit(form_options);
            $('.search-links li').removeClass('on');
        }else{
            $('#confirm_msg').text("Keyword need to be at least 3 characters long");
        }
        return false;
    };

    // keyword search
    $("#tag_btn").click(do_tag_search);

    // in case of a submit button, enter pressed

    $("#video_search_form").submit(do_tag_search);

    // advanced search
    $("#advanced_search").click(function(){
        $("#page_num2").val("1");
        $("#loading").show();
        $("#vip-col-2, #pager, #pager-top").hide();

        $("#advanced_search_form").ajaxSubmit(form_options);
        return false;
    });

    //reset advanced search form
    $("#reset_advanced_form").click(function(){
        $("#advanced_search_form").resetForm();
        return false;
    });

    // some utilities
    // open/close advanced search block
    $('#displayAdvancedSearch').toggle(function(){
         $('#displayAdvancedSearch').html('Advanced Search <<');
        $("#adv-search-form").slideDown('slow');
    }, function(){
         $('#displayAdvancedSearch').html('Advanced Search >>');
        $("#adv-search-form").slideUp('slow');
    });
    $("#closeAdvancedSearch").click(function(){
        $('#displayAdvancedSearch').click();
        return false;
    });

    // appending some
    //$("#holder-story-ad").append("#story-ad");
    //$("#holder-bannder").append("#banner");

    //make search items (sports, channels, media_types) sortable
    //$('.search-links').sortable();

    // a status for ajax call, conside progressbar
    $('#confirm_msg').ajaxStart(function(){
        $(this).text('Loading...');
    });

    // apply label to tags search boxes
    $('label.tags').labelOver('over');

    //hide adv-search-form when regular search is used
    $('#tag_string1').focus(function(){
        if( $('#adv-search-form').is(':visible') )
            $('#displayAdvancedSearch').click();
    });

    // play_media: clicked the media
    $('.play_media').live('click',function(){
        var mid = this.id;
        //get json data on the media just clicked
        var mid_data = data_by_mid[mid];
        media_to_play = mid_data;
        if(is_playable(mid_data)){
            $('html, body').animate({scrollTop:0}, 'slow');
            sendVideoToPlayer(mid_data);
        }

        return false;
    });

    $("#psp_subs_msg").dialog({
        title: 'Premium Content',
        bgiframe: false,
        width: 550,
        height: 390,
        modal: true,
        autoOpen: false,
        draggable: false,
        resizable: false,
        closeOnEscape: true,
        buttons: {
            Close: function(){
                $(this).dialog('close');
            }
        }

    });


});

    function set_layout(type){
        if(type == 'narrow'){
            $('#vip-col-1, #col_spacer').show();
            $('#carousel').toggleClass('carousel-wide', false).toggleClass('carousel-narrow', true);
            $('#no-carousel-events').toggleClass('wide', false).toggleClass('narrow', true);
        }else if(type == 'wide'){
            $('#vip-col-1, #col_spacer').hide();
            $('#carousel').toggleClass('carousel-narrow', false).toggleClass('carousel-wide', true);
            $('#no-carousel-events').toggleClass('narrow', false).toggleClass('wide', true);

        }
    }


    function is_playable(mid_data){
        var mid = mid_data.media_id;

        // play the video
        license_ids = mid_data.license_ids;
        if(license_ids  == null) return true;

        //alert(license_ids);

        // a cookie for media_id
        //$.cookies.set("media_id", mid);
        //$.cookies.set("license_ids", license_ids);


        //put redirect url on cookie and hidden form field
        var redir = unescape(location.href);
        // clean up # and parameter
        redir = redir.replace(/\#/, '');
        redir = redir.replace(/\?media.*$/, '');


        // append media_id
        redir += '?media=' + mid;
        $.cookies.set("redir", redir);
        $("#redir").val(redir);

        reg_redir_url = reg_redir_url || redir;
        sub_redir_url = sub_redir_url || redir;
        login_redir_url = login_redir_url || redir;

        // user reg cookie
        var aa_user = $.cookies.get('aauser');
        if(aa_user == null) {
            $("#login-user-link").click();
            return false;
        }

        var aa_name = $.cookies.get('aaname');
        var psp_info = $.cookies.get('psp_info') || '';

        //check user_subs against license ids
        ajax_options.data = ({psp_action: "check_user_subs", lids: license_ids, psp_info: psp_info, user: aa_user, first_name: aa_name, redir : escape(redir)});
        $.ajax(ajax_options);
    }


function callback_play_log(data){
    play_id = data.play_id;
    $.cookies.set("play_id",play_id);
}

//jsonp callback for check_user_subs
function callback_check_user_subs(data){
    // update psp_info cookie 1st
    var psp_info = data.psp_info;
    if(psp_info != '') {
        $.cookies.set('psp_info', psp_info);
    }else{
        alert("network error, please try again later");
    }

    // match up?
    var subscription = data.subscription;
    if(subscription == 'Y') {
        //$('html, body').animate({scrollTop:0}, 'slow');
        sendVideoToPlayer(media_to_play);
        return false;
    }

    // check user_id
    var user_id = data.user_id;
    if(user_id == ''){
        logout();
        $("#login-user-link").click();
        return false;
    }

    // subscription page
    var p_link = 'https://reg.cstv.com/ajax_psp/?psp_action=display_products'
    p_link += '&school=' + data.school;
    //p_link += "&email=" + encodeURIComponent(data.email);
    p_link += "&license_ids=" + data.license_ids;
    //p_link += "&redir=" + data.redir;
    p_link += "&redir=" + sub_redir_url;
    //p_link += "&c=" + data.c;
    //p_link += "&first_name=" + data.first_name;
    location.replace(p_link);

    return false;
}


function killStorePortal(){
    $("#vip-store").hide();
}

//////////* THESE FUNCTIONS USED TO COMMUNICATE WITH THE FLASH PLAYER *////////////////
var flvPlayerLoaded = false;
function videoPlayerReady() {	//flash will call this when it's loaded
	flvPlayerLoaded = true;
}
function loadVideoPlayer(o) {	//makes sure the player has loaded before telling it to call a video
	if (flvPlayerLoaded) {
		if (o) {
			sendVideoToPlayer(o);
		} else {
			sendToVideoPlayer();
		}
	} else {					//keep checking until player loads
		var t = setTimeout("loadVideoPlayer()", 500, o);
	}
}
function killVideoPlayer() {	//makes sure the player has loaded before telling it to call a video
	if (flvPlayerLoaded) {
		document.getElementsByName(vidPlyrID)[0].tellVideoToStop();
	}
}
function sendVideoToPlayer(o) {	//makes sure the player has loaded before telling it to call a video
	if (flvPlayerLoaded) {
        // log the play
        ajax_options.data = ({psp_action: "play_log", id: o.media_id, aauser: $.cookies.get('aauser')});
        $.ajax(ajax_options);
		document.getElementsByName(vidPlyrID)[0].sendVideoObject(o);
	}
}
function sendToVideoPlayer() {
    document.getElementsByName(vidPlyrID)[0].sendVideoToPlay();
}
function onVideoPlayStart(value) {
}
function onCompanionAd(companion) {
	if (companion.creative) {
		var compSize = companion.creativeWd + "x" + companion.creativeHt;
		switch (compSize) {
			case "300x250" :
				var adCnt = document.getElementById("holder-story-ad");
//		        adCnt.innerHTML = "";
		        if (companion.creativeType == "img" && companion.creative.slice(-10) != "spacer.gif") {
		            adCnt.innerHTML = "<a href=\"" + companion.clickurl + "\" target=\"_blank\"><img src=\"" + companion.creative + "\" width=\"" + companion.creativeWd + "\" height=\"" + companion.creativeHt + "\" alt=\"Advertisement\" border=\"0\"></a>";
		        }
			break;
		}
	} else {
		//no companion to show
	}
}
///////////////////////////////* END FLASH FUNCTIONS *//////////////////////////////////

// main call back function for display video data
function displayVideo(data){

$("#vip-col-2").show();
$("#loading").hide();

// clean up msg first
$("#confirm_msg").html('');
$("#error_msg").html('');

//error handle
if(data.error){
    $("#error_msg").html(data.error);
    return;
}

//deep link
if(data.media != '' && data.media != null){
        media_to_play = data.media;
    if(is_playable(data.media)){
        //alert("inside  check license");
        loadVideoPlayer(data.media);
    }
}else{
    loadVideoPlayer();
}

var event_type = data.event_type;

// for ulive
var school = data.school;

if(event_type == 'live_pre') {
    //alert("Live Event");
    var html_bk = "<table class='calendar-vip'>";
    if(data.rows.length == 0){
         html_bk += "<tr class='calendar-date-vip'><td colspan='5'>There are no upcoming events.</td></tr>";
    }

    for(var i=0; i<data.rows.length; i++){
        var day = data.rows[i];
        html_bk += "<tr class='calendar-date-vip'><td colspan='5'>" + day.events[0].media_date + "</td></tr>";
        //html_bk += "<tr class='calendar-headers-vip'><td>Sport</td><td>opp/event</td><td>Time</td><td>Coverage</td></tr>";
        html_bk += "<tr class='calendar-headers-vip'><td>Sport</td>";
        if(school == 'cs' || (typeof(is_conf) != "undefined" && is_conf == 1)) {
          html_bk += "<td>School</td>";
        }

        html_bk += "<td>opp/event</td><td>Event Time</td><td>Coverage</td></tr>";

        for(var j=0; j<day.events.length; j++) {
            var row = day.events[j];
            var title = row.subtitle;
            var media_date = row.media_date;
            var media_time = row.media_time;
            var media_id   = row.media_id;
            var school_code = row.school_code;
            var sport_code = row.sport;
            var sport_short_name = row.short_name;
            var gt_link = row.gt_partial_url;
            var is_video = row.is_video;
            var media_id = row.media_id;
            var navname  = row.navname;
            var state_flag = row.state_flag;

            var mid_key = "mid"+media_id;

            var media_type = is_video == 1 ? 'video' : 'audio';
            //var img_icon =  "http://grfx.cstv.com/schools/usc/graphics/usc-09-"+ media_type + "-bullet.gif";
            var img_icon_gold =  "http://grfx.cstv.com/graphics/aa-10-icon-"+ media_type + "-gold.gif";
            var img_icon_silver =  "http://grfx.cstv.com/graphics/aa-10-icon-"+ media_type + ".gif";

            if(school == 'cs' || (typeof(is_conf) != "undefined" && is_conf == 1)) {
              html_bk += "<tr class='calendar-body-vip'><td width='145'>" + sport_short_name + "</td>";
              html_bk += "<td>" + navname + "</td>";
            }
            else {
              html_bk += "<tr class='calendar-body-vip'><td width='145'><a href='/sports/" + sport_code + "/" + school_code + "-" + sport_code + "-body.html'>" + sport_short_name + "</a></td>";
            }

            html_bk += "<td>" + title + "</td><td>" + media_time + "</td>";

            // media link
            html_bk += "<td>";
            if(state_flag == 'Live')
                html_bk += "<a href='?media="+media_id+"' class='play_media' id='" + mid_key + "'><img src='" + img_icon_gold + "' alt='"+ media_type + "' height='12' width='19'></a>&nbsp;&nbsp; ";
            else
                html_bk += "<img src='" + img_icon_silver + "' alt='"+ media_type + "' height='12' width='19'>";

            // gt link
            if(gt_link != null)
                html_bk += "<a href=\"JavaScript:window.open('"+ gt_link + "','GameTrackermbasebl','toolbar=no,resizeable=no,scrollbars=no,width=976,height=700'); void('');\"><Gametracker><img src='http://grfx.cstv.com/schools/usc/graphics/usc-09-gt-bullet.gif' alt='gt' width='19' height='12' /></a>";

            html_bk += "</td>";
            html_bk += "</tr>";
        }
    }
    html_bk += "</table>";
    $("#video_content").html(html_bk);
    $("#confirm_msg").html('');
    $("#pager_top, #pager").hide();
    $("#carousel").hide();
    $("#no-carousel-events").hide();
}else{
    var html_bk = "";
    var car_html= "";
    for(var i=0; i<data.rows.length; i++){
        var row = data.rows[i];
        var thumb = row.thumbnail_url;
        var title = row.subtitle;
        var media_date = row.media_date;
        var media_time = row.media_time;
        var media_id   = row.media_id;
        var school_code = row.school_code;
        var sport_code = row.sport;
        var sport_short_name = row.short_name;
        //var sport_name = row.sport_info.sport_name;
        var opp_logo = row.opp_logo;
        var state_flag = row.state_flag;
        var is_video   = row.is_video;
        var clicks     = row.clicks;
        var navname    = row.navname;

        // add to data_by_mid
        var mid_key = "mid"+media_id;
        data_by_mid[mid_key] = row;

        // spin off js action from link
        if(is_video == 1){
            play_thumb  = "<img src='" + thumb + "' border='0' alt='Thumbnail-Launch Video' width='140' height=105>";
            play_icon = "<img src='http://grfx.cstv.com/graphics/schools-10-vip-btn-play-video.gif' border='0' alt='"+title+"' />";
            play_btn = "<img src='http://grfx.cstv.com/graphics/vip-10-btn-watch.gif' border='0' alt='"+title+"' />";
        } else {
            play_thumb  = "<img src='" + thumb + "' border='0' alt='Thumbnail-Launch Audio' width='140' height=105>";
            play_icon = "<img src='http://grfx.cstv.com/graphics/vip-10-icon-audio.gif' border='0' alt='"+title+"' />";
            play_btn = "<img src='http://grfx.cstv.com/graphics/vip-10-btn-listen.gif' border='0' alt='"+title+"' />";
        }

        // Mark the premium content
        var license_ids = row.license_ids;
        if(license_ids != null){
            play_btn = "<img src='http://grfx.cstv.com/graphics/vip-10-btn-subscription.gif?' border='0' alt='"+title+"' />";
        }

        var play_link = "<a href='?media="+media_id+"' class='play_media' id='" + mid_key + "'>";
        var play_link_end = "</a>";
        if(state_flag == "Pre-Game"){
                play_link ="";
                play_link_end = "";
        }

        if(state_flag == "Archived"){
            html_bk += "<div class='vip-thumb-wrap'><div class='vip-photo-block'>" + play_link;

            // thumbnail
            if(opp_logo == 1) { html_bk += "<div class='opp_logo'>"; }
            html_bk += play_thumb;
            if(opp_logo == 1) { html_bk += "</div>"; }
            html_bk += "</a>";

            // icon
            html_bk += "<div class='vip-play-bt'>" + play_icon +"</div></div>";

            // play btn
            html_bk += "<div class='vip-thumb-content'>" + play_link + play_btn + "</a>";
            //html_bk += "<h1>" + title + "</h1>"+ sport_short_name + " | " + media_date + " Views:" + clicks + "</div></div>";
            html_bk += "<h1>" + title + "</h1>";
            if(school == 'cs') html_bk += navname + " | ";
            html_bk += sport_short_name + " | " + media_date;
            html_bk +=  "</div></div>";

        }else {
            // fill jcarousel with data
            car_html += "<li>";

            car_html += "<div class='vip-thumb-wrap-car";
            if(state_flag == "Pre-Game"){car_html += " off2";}
            car_html += "'><div class='vip-photo-block-car'>" + play_link;
            if(opp_logo == 1) { car_html += "<div class='opp_logo'>"; }
            car_html += play_thumb;
            if(opp_logo == 1) { car_html += "</div>"; }
            car_html += play_link_end;
            car_html += "<div class='vip-play-bt-car'>" + play_icon +"</div></div>";
            car_html += "<div class='vip-thumb-content-car'>" + play_link + play_btn + play_link_end;
            car_html += "<h1>" + title + "</h1>";
            if(school == 'cs') car_html += navname + " | ";
            car_html += sport_short_name + " | " + media_date + " " + media_time + "</div></div>";
            car_html += "</li>";

        }
        // end carousel

    }
    $("#video_content").html(html_bk);

    if(car_html !=""){
        $("#carousel").show();
        $("#mycarousel").html(car_html);
        $('#mycarousel').jcarousel();
        $("#no-carousel-events").hide();
    }else{
        $("#carousel").hide();
        $("#no-carousel-events").show();
    }

    //confirm msg
    if(data.no_pager){
        $("#confirm_msg").html('');
    } else {
        $("#confirm_msg").html(data.total_records + " content item(s) found.");
    }

} // end event_type if

    // set pager
    // no_pager is MOST RECENT
    if(data.total_pages > 1){
        $("#pager_top, #pager").show();
        if(data.advanced_form){
            $("#pager").pager({ pagenumber: data.page_num, pagecount: data.total_pages, buttonClickCallback: PagerClick2 });
            $("#pager_top").pager({ pagenumber: data.page_num, pagecount: data.total_pages, buttonClickCallback: PagerClick2 });
            $('#pager_top .page-number').wrapAll('<div class="page-number-wrapper" />');
            $('#pager .page-number').wrapAll('<div class="page-number-wrapper" />');
        }else{
            $("#pager").pager({ pagenumber: data.page_num, pagecount: data.total_pages, buttonClickCallback: PagerClick });
            $("#pager_top").pager({ pagenumber: data.page_num, pagecount: data.total_pages, buttonClickCallback: PagerClick });
            $('#pager_top .page-number').wrapAll('<div class="page-number-wrapper" />');
            $('#pager .page-number').wrapAll('<div class="page-number-wrapper" />');
        }
    }else{
        $("#pager_top, #pager").hide();
    }


}

// pager callback function
function PagerClick(num){
    $("#page_num").val(num);
    $("#loading").show();
    $("#vip-col-2, #pager, #pager-top").hide();
    $("#video_search_form").ajaxSubmit(form_options);
    return false;
}

function PagerClick2(num){
    $("#page_num2").val(num);
    $("#loading").show();
    $("#vip-col-2, #pager, #pager-top").hide();
    $("#advanced_search_form").ajaxSubmit(form_options);
    return false;
}

// a labelOver plugin
// by http://remysharp.com/2007/03/19/a-few-more-jquery-plugins-crop-labelover-and-pluck/#labelOver
jQuery.fn.labelOver = function(overClass) {
    return this.each(function(){
        var label = jQuery(this);
        var f = label.attr('for');
        if (f) {
            var input = jQuery('#' + f);

            this.hide = function() {
              label.css({ textIndent: -10000 })
            }

            this.show = function() {
              if (input.val() == '') label.css({ textIndent: 0 })
            }

            // handlers
            input.focus(this.hide);
            input.blur(this.show);
          label.addClass(overClass).click(function(){ input.focus() });

            if (input.val() != '') this.hide();
        }
    })
}

/*
    jquery_modal_login.js start
    include jquery_modal_login_body.js which holds the modal login html body
*/
$(function() {
    $("#jquery_modal_login").dialog({
        title: 'Subscriber Log-In',
        bgiframe: false,
        width: 550,
        height: 395,
        modal: true,
        autoOpen:  false,
        draggable: false,
        resizable: false,
        closeOnEscape: true,
        buttons: {
            Close: function() {
                $(this).dialog('close');

                //add class so button takes global button style
                $(":button:contains('Close')").addClass("button close");

                //
                // if user manually closes window then only redirect on successful login
                //
                if ($.cookies.get('aauser') && $.cookies.get('aaname')) {
                    redirect();
                }
            },
            'Log in': function() {
                //
                // clean up any messages being displayed
                //
                $('#status_msg').text('');
                $('#email_error').text('');
                $('#password_error').text('');

                //add class so button takes global button style - j.d.
                 $(":button:contains('Log in')").addClass("button signin");

                $(":button:contains('Log in')").attr("disabled","disabled"); // disable button for trigger fingers

                var form_data = $('#login_form').serialize(); // args need name attributes in form

                $.ajax({
                    async: true,       // must be true for json
                    type: 'GET',       // must be GET for json
                    dataType: 'jsonp', // use jsonp since cross-domain
                    url: 'https://' + reg_domain + '/ajax_login/',
                    data: form_data,
                    error: function(xhr, text_status, error_thrown) {
                        $('#status_msg').text('Cannot contact server (error_thrown=[' + error_thrown + '], text_status=[' + text_status + '])');
                        error = true;
                        $(":button:contains('Log in')").removeAttr("disabled"); // enable this button to allow user to login later
                    }
                });
            }
        }
    });

    //
    // use live() to keep the click handler active when #login-user-link gets swapped out dynamically
    //
    $('#login-user-link').live('click', function() {
        //
        // clean up old messages
        //
        $('#status_msg').text('');
        $('#email_error').text('');
        $('#password_error').text('');

        //
        // load the jquery modal login html into its div then open it
        //
        var jquery_modal_login_body = '\
        <p><div id="status_msg" style="color: #ff0000"></div></p> \
        <table border="0" cellspacing="0" cellpadding="0" width="100%"> \
        <tr> \
            <td> \
                <form id="login_form" name="login_form" method="post"> \
                <fieldset> \
                <input type="hidden" name="school_code" value="' + school + '"> \
                <input type="hidden" name="action" value="process"> \
                <input type="hidden" name="redir" value=""> \
                <table border="0" cellspacing="2" cellpadding="2" align="center"> \
                <tr> \
                    <td valign="top" colspan="2" align="left"><strong>Log in to Your Account</strong><div class="spacer5">&nbsp;</div></td> \
                    <td valign="top" align="right"> \
                        <a href="https://' + reg_domain + '/register/?school_code=' + school + '&license_ids=' + license_ids + '&redir=' + reg_redir_url + '"><strong>New user? Click here to subscribe.</strong></a> \
                    </td> \
                </tr> \
                <tr> \
                    <td valign="top" align="right">Email:</td> \
                    <td valign="top" colspan="2"> \
                        <input type="text" id="email" name="email" value="" size=20 maxlength=64 /> \
                        <div id="email_error" style="color: #ff0000"></div> \
                    </td> \
                </tr> \
                <tr> \
                    <td valign="top" align="right">Password:</td> \
                    <td valign="top" colspan="2"> \
                        <input type="password" id="password" name="password" size=20 maxlength=12 value="" /> \
                        <div id="password_error" style="color: #ff0000"></div> \
                    </td> \
                </tr> \
                <tr> \
                    <td>&nbsp;</td> \
                    <td align="left" colspan="2"> \
                        <a href="https://' + reg_domain + '/password/?school_code=' + school + '">Forgot your Password</a>? \
                    </td> \
                </tr> \
                <tr> \
                    <td>&nbsp;</td> \
                    <td align="left" colspan="2"> \
                        <input type="checkbox" name="stay_signed_in" value="1" style="margin: 0; padding:0;" />&nbsp; \
                        Keep me logged in (<span style="font-size: 8pt;">Uncheck if on a shared computer</span>)</td> \
                </tr> \
                </table> \
                </fieldset> \
                </form> \
            </td> \
        </tr> \
        <tr><td><div class="spacer30">&nbsp;</div></td></tr> \
        <tr> \
            <td valign="top" align="center"> \
                Your email log-in can be used with other CBS sites. To see a full list <a href="https://' + reg_domain + '/aa_ureg/aa_products/" target="_blank">click here</a> \
            </td> \
        </tr> \
        <tr><td class="spacer30">&nbsp;</div></td></tr> \
        <tr> \
            <td align="center"> \
                <a href="http://cbssportscs.custhelp.com/" target="_blank">Customer Service</a> | \
                <a href="http://legalterms.cbsinteractive.com/privacy" target="_blank">Privacy Policy</a> | \
                <a href="http://www.cbsinteractive.com/info/tou" target="_blank">Terms & Conditions</a> \
            </td> \
        </tr> \
        <tr><td class="spacer10">&nbsp;</div></td></tr> \
        <tr> \
            <td align="center"> \
                <a href="http://collegenetwork.cbssports.com/" target="_blank"><img src="http://grfx.cstv.com/graphics/new-footer-06-black-logo.png"  \
                width="316" height="44" alt="CBS College Sports" border="0"/></a> \
            </td> \
        </tr> \
        </table>';

        $('#jquery_modal_login').html(jquery_modal_login_body);
        $('#jquery_modal_login').dialog('open');
        $('#email').focus();
    });

    load_login_html();
});

function load_login_salutation(name) {
    var salutation = (name == '') ? 'Welcome' : 'Welcome ' + name;
    var your_account_url = 'https://' + reg_domain + '/ajax_psp/?psp_action=your_account_home&school=' + school;
    your_account_url = "<a href=\"Javascript:window.open('" + your_account_url + "', 'YourAccountInfo', 'width=1000,height=800,toolbar=yes,resizable=yes,scrollbars=yes'); void('');\">Your Account</a>";

    var login_html = '<strong>' + salutation + '!</strong></a>&nbsp;&nbsp;| &nbsp;&nbsp;' + your_account_url + ' | &nbsp;&nbsp;<a href="#" onClick="return logout();">Sign Out</a>';
    $('#login-wrap').html(login_html);

    return;
}

//
// If we have a cookie then update the login message.
//
function load_login_html() {
    var user = $.cookies.get('aauser');
    var name = $.cookies.get('aaname');

    if (user != null && name != null) {
        load_login_salutation(name);
    }
}

//
// get date 2 weeks out
//
function get_cookie_expiration() {
    var exp_date = new Date();
    exp_date.setDate(exp_date.getDate() + 14); // days

    return exp_date;
}

function set_cookie(name, val, expiration) {
    var path = '/';
    document.cookie = name + '=' + val + ";path=" + path + ";expires=" + expiration;
    return;
}

//
// if the redir cookie exists then go there pronto
//
function redirect() {
    var redir_url = $.cookies.get('redir');
    if (redir_url) {
        location.href = $.cookies.get('redir');
    }

    return;
}

//
// make sure server has callback(json_obj) wrapping the json obj
//
function jsonp_callback(data) {
    var exp_date = get_cookie_expiration();

    if (data.success_flag == true) {
        if (data.stay_signed_in) {
            set_cookie('aauser', data.cookie, exp_date);
        }
        else {
            set_cookie('aauser', data.cookie, '');
        }

        //
        // display saluation on VIP page regardless if they have a name or not
        //
        if (data.stay_signed_in) {
            set_cookie('aaname', data.name, exp_date);
        }
        else {
            set_cookie('aaname', data.name, '');
        }

        load_login_salutation(data.name);

        //
        // if user login is valid then just close modal window and continue
        //
        $(":button:contains('Log in')").removeAttr("disabled"); // enable this button to allow user to login later
        $('#jquery_modal_login').dialog('close');
        redirect();
    }
    else {
        error = true;
        if (data.error_code == 1 || data.error_code == 2 || data.error_code == 11) {
            $('#password').val(''); // clear password
            $('#email_error').text(data.message);
            $('#email').focus();
        }
        else if (data.error_code == 3 || data.error_code == 12) {
            $('#password').val(''); // clear password
            $('#password_error').text(data.message);
            $('#password').focus();
        }
        else if (data.error_code == 13 || data.error_code == 14) {
            $('#status_msg').text(data.message);
            $('#email').focus();
        }
        else {
            //
            // api error
            //
            $('#status_msg').text(data.message);
            $('#email').focus();
        }

        $(":button:contains('Log in')").removeAttr("disabled"); // enable this button to allow user to login later
    }
}

//
// global school is defined in VIP page
//
function logout() {
    var expire_date = 'Thu, 01-Jan-1970 00:00:01 GMT';
    set_cookie('aauser', '', expire_date);
    set_cookie('aaname', '', expire_date);
    set_cookie('redir', '', expire_date);
    set_cookie('psp_info', '', expire_date);
    set_cookie('media_id', '', expire_date);
    set_cookie('license_ids', '', expire_date);

    //logout from ureg server
    $.ajax({
           async: true,       // must be true for json
           type: 'GET',       // must be GET for json
           dataType: 'jsonp', // use jsonp since cross-domain
           url: 'https://' + reg_domain + '/ajax_login/',
           data: "school_code=" + school + "&logout=1",
           error: function(xhr, text_status, error_thrown) {
                  $('#status_msg').text('Cannot contact server (error_thrown=[' + error_thrown + '], text_status=[' + text_status + '])');
                  error = true;
           }
     });

    var login_html = '<a href="#" id="login-user-link">Login</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href="https://' + reg_domain + '/register/?school_code=' + school + '">Subscribe</a>';
    $('#login-wrap').html(login_html);

    return true;
}

function get_query_string(arg_name) {
    var args = window.location.search.substring(1);
    var pairs = args.split("&");

    for (i=0;i<pairs.length;i++) {
        var pair = pairs[i].split("=");
        if (pair[0] == arg_name) {
            return pair[1];
        }
    }
}

//
// called after reg; expire cookie at end of session since registering
//
function post_reg() {
    var c = get_query_string('c');
    var first_name = get_query_string('first_name');

    if (c && first_name) {
        set_cookie('aauser', c, '');
        set_cookie('aaname', first_name, '');
    }

    // add a psp_info
    var psp_info = get_query_string('psp_info');
    if(psp_info){
        set_cookie('psp_info', psp_info, '');
    }
}
/* jquery_modal_login.js end */


/* 8/7/2010 check about_aa.html link */
$(function(){
    var about_aa_link = $("#about_aa_link").attr("href");
    $.ajax({
        url: about_aa_link,
        type: 'HEAD',
        error: function(){$("#about_aa_list").hide();},
        success: function(){$("#about_aa_list").show();}
    });

});


