//---------------------------------------------------------------------------//
//                                                                           //
//                             File: cricket.js                              //
//                             Desc: Javascript source                       //
//                           Author: Vidya Mandyam                           //
//                         Copyright 2008 Plusmo Inc                         //
//                                                                           //
//---------------------------------------------------------------------------//


//---------------------------------------------------------------------------//
// GLOBALS

var _gData=null;  //JSON result
var _gData1=null; //JSON result
var _gData2=null; //JSON result

var _gHttp=null;  // XMLHttp handle - Game Schedule
var _gHttp1=null; // XMLHttp handle - Curr Week, Team News
var _gHttp2=null; // XMLHttp handle - Team Schedule

var _gTimer=0;
var _gPhotoTimer=0;

var _gImgCnt=0;
var _gCurrPhoto=0;
var _gImgList= new Array();
var _gPhotoIndex=0;
var _gCurrMiniPhoto=0;

var _gNewsCnt=0;
var _gNewsList= new Array();

var _gInDL=0;
var _gPodState=0;
var _gPodsArr = new Array();
var _gPodsCnt=0;
var _gPodsList;

//var BASEURL = "http://static.plusmo.com/data/cricket/web/";
var BASEURL = "http://sports.plusmo.com/w/cricket/s/web/";

var NEWSLOC= BASEURL;
var PHOTOLOC= BASEURL;

var _gCountries = new Array();
var _gCurrTeam="def";

var _gCurrMatchid=0;
var _gPbpType=0;

var _gEvents=new Array();
var _gEventCnt=0;


var _gCurrentPage;
var _gPageIds = [
   "homePageView",
   "teamView",
   "teamPageView",
   "matchView",
   "pbpView",
   "newsView",
   "photoView",
   "podcastView",
   "moreView",
   "shareView",
   "aboutView"
];

var _gState=0

TEAMS = [
   { "cc":"ind", "name":"India" },
   { "cc":"pak", "name":"Pakistan" },
   { "cc":"aus", "name":"Australia" },
   { "cc":"eng", "name":"England" },
   { "cc":"zaf", "name":"South Africa" },
   { "cc":"lka", "name":"Sri Lanka" },
   { "cc":"win", "name":"West Indies" },
   { "cc":"nzl", "name":"New Zealand" },
   { "cc":"zwe", "name":"Zimbabwe" },
   { "cc":"ban", "name":"Bangladesh" },
   { "cc":"bmu", "name":"Bermuda" },
   { "cc":"can", "name":"Canada" },
   { "cc":"ire", "name":"Ireland" },
   { "cc":"ken", "name":"Kenya" },
   { "cc":"nld", "name":"Netherlands" },
   { "cc":"sco", "name":"Scotland" },
   { "cc":"usa", "name":"USA" }
];


//---------------------------------------------------------------------------//
// functions


addEventListener("load", function(){setTimeout(updateLayout, 0);}, false);
var currentWidth = 0;
var currentHeight = 0;
function updateLayout() {
   if (window.innerWidth != currentWidth) {
      currentWidth = window.innerWidth;
      currentHeight = window.innerHeight;
      var orient = currentWidth == 320 ? "profile" : "landscape"; 
      document.body.setAttribute("orient", orient);
      setTimeout(function() { window.scrollTo(0, 1); }, 100);            
      var panelWidth = currentWidth - 20;
      $('events').style.left=(currentWidth-126)/2+'px';
      $('events').style.top=(currentHeight-126)/2+'px';
      window.scrollTo(0,1);
   }
   $('menu').style.top='0px';
   $('menu').style.background='url(img/toolbg.png) top repeat';
   $('front').style.height=window.innerHeight+'px';

   if(_gCurrentPage=="shareView"||_gCurrentPage=="moreView"||_gCurrentPage=="aboutView")
      hide('footerView');   
   else
      show('footerView');   

   if(_gCurrentPage=="homePageView"||_gCurrentPage=="pbpView")
      show('adbanner');   
   else
      hide('adbanner');   
}
setInterval(updateLayout, 400);


window.onload = init;
function init() {
   $('front').style.height=window.innerHeight+'px';
   initCric();
   getSchedule(1);
   window.setTimeout(getAds,250);
   window.setTimeout(start, 3000);
   hide('fp11');
   hide('fp12');
   hide('fp21');
   hide('fp22');
}

function getAds() {
   var url = "http://sports.plusmo.com/w/cricket/d/getad/getAd";
   var req = getHttp();
   req.open('GET',url, true);
   req.onreadystatechange = function() {
     if(req.readyState == 4 && req.status == 200) {
        data=req.responseText;
        $('adbanner').innerHTML=data;
        window.setTimeout(getAds,30000);
     }
   }
   req.send(null);
}


function scrollup() {
   window.scrollTo(0,1);
}


function start() {
   hide('front');
   show('main');
   showMain();
}

function getNewsPhotos() {
   getNewsArticles();
}


function getNewsArticles() {
   var url = NEWSLOC+"news.xml?r="+Math.random();
   try {
      if (_gHttp2 && _gHttp2.readyState!=0) {
         _gHttp2.abort();
         _gHttp2=getHttp();
      }
   }
   catch(e) {
      //alert(e.message);
   }

   var buffer = "";
   _gNewsCnt=0;
   _gNewsList.length = 0;

   if(_gHttp2) {
      _gHttp2.open('GET', url, true);
      _gHttp2.onreadystatechange = function() {
         if((_gHttp2) && _gHttp2.readyState == 4 && _gHttp2.status == 200) {
            //buffer = _gHttp2.responseText.parseJSON();
            //var xmlDoc = _gHttp2.responseXML;
            var xmlDoc = (new DOMParser()).parseFromString(_gHttp2.responseText, "text/xml");
            var nodes=xmlDoc.childNodes[0];
            var x=nodes.childNodes;
            for(var i=0; i<x.length; i++) {
                if(x[i].nodeName == 'n') {
                   var y=x[i].childNodes;
                   _gNewsList[_gNewsCnt]=new Object(); 
                   for(var j=0; j<y.length; j++) {
                      if(y[j].nodeName == 'h') {
                         h=y[j].childNodes[0].nodeValue;
                         _gNewsList[_gNewsCnt].h=h; 
                      }
                      else if(y[j].nodeName == 'c') {
                         c=y[j].childNodes[0].nodeValue;
                         _gNewsList[_gNewsCnt].c=c; 
                      }
                   }
                   _gNewsCnt++;
                }
            }
            showMiniNews();
            getPhotos();
         }
         else {
             // alert("wait");
            // wait for the call to complete
         }
      }
      _gHttp2.send(null);
      window.setTimeout(getNewsPhotos, 60*60*1000);
   }
   else {
      //alert("No gHttp");
   }
}


function getPhotos() {
   var url = NEWSLOC+"image.xml?r="+Math.random();
   try {
      if (_gHttp2 && _gHttp2.readyState!=0) {
         _gHttp2.abort();
         _gHttp2=getHttp();
      }
   }
   catch(e) {
      //alert(e.message);
   }

   var buffer = "";
   _gImgCnt=0;
   _gImgList.length = 0;

   if(_gHttp2) {
      _gHttp2.open('GET', url, true);
      _gHttp2.onreadystatechange = function() {
         if((_gHttp2) && _gHttp2.readyState == 4 && _gHttp2.status == 200) {
            //buffer = _gHttp2.responseText.parseJSON();
            //var xmlDoc = _gHttp2.responseXML;
            var xmlDoc = (new DOMParser()).parseFromString(_gHttp2.responseText, "text/xml");
            var nodes=xmlDoc.childNodes[0];
            var x=nodes.childNodes;
            for(var i=0; i<x.length; i++) {
                if(x[i].nodeName == 'image') {
                   var y=x[i].childNodes;
                   _gImgList[_gImgCnt]=new Object(); 
                   for(var j=0; j<y.length; j++) {
                      if(y[j].nodeName == 'path') {
                         pic=y[j].childNodes[0].nodeValue;
                         _gImgList[_gImgCnt].pic=pic;
                         icon=pic.substring(0, pic.length-4);
                         tag = pic.substring(pic.length-4, pic.length);
                         icon=icon+".icon"+tag
                         _gImgList[_gImgCnt].icon=icon;
                      }
                      else if(y[j].nodeName == 'caption') {
                         caption=y[j].childNodes[0].nodeValue;
                         _gImgList[_gImgCnt].caption=caption; 
                      }
                      else if(y[j].nodeName == 'copyright_name') {
                         copy=y[j].childNodes[0].nodeValue;
                         _gImgList[_gImgCnt].copy=copy; 
                      }
                   }
                   _gImgCnt++;
                }
            }
            showMiniPhotos();
         }
         else {
             // alert("wait");
            // wait for the call to complete
         }
      }
      _gHttp2.send(null);
      window.setTimeout(getNewsPhotos, 60*60*1000);
   }
}


function initCric() {
   _gHttp = getHttp(); // getGameSched HTTP handle
   _gHttp1 = getHttp(); // getCurrWeek HTTP handle
   _gHttp2 = getHttp(); // getCurrWeek HTTP handle
   window.setTimeout(updateCric, 100);
   window.setTimeout(showMiniLive, 150);
   window.setTimeout(lazyload,10000);
//   window.setTimeout(cyclePhotos,1000);
}

function lazyload() {
   window.setTimeout(getNewsPhotos, 200);
   window.setTimeout(doPodcast, 500);
   window.setTimeout(doEvents, 600);
/*
   show('fp11');
   $('fp11').style.display = "";
   show('fp12');
   $('fp12').style.display = "";
   show('fp21');
   $('fp21').style.display = "";
   show('fp22');
   $('fp22').style.display = "";
*/
}


function updateCric() {
   getCricStatusBox();
   window.setTimeout(updateCric, 20000);
}

function getCricStatusBox() {
   var url = BASEURL + "json/jcric_status.json";

   try {
      if (_gHttp1 && _gHttp1.readyState!=0) {
         _gHttp1.abort();
         _gHttp1=getHttp();
      }
   }
   catch(e) {
      //alert(e.message);
   }

   if(_gHttp1) {
      //alert("url"+url);
      _gHttp1.open('GET', url+"?r="+Math.random(), true);
      _gHttp1.onreadystatechange = function() {
         if((_gHttp1) && _gHttp1.readyState == 4 && _gHttp1.status == 200) {
            _gData1=_gHttp1.responseText.parseJSON();
            updateStatusBox();
            updateTeamStat("def");
            _gState=1;
         }
      }
      _gHttp1.send(null);
   }
   else {
      //alert("No gHttp");
   }
}

function updateStatusBox() {
   try {
      var stat = _gData1.resultSet.status;
      var statLen = _gData1.resultSet.status.length;
      var buffer = "";
   } catch(err) {return;}

   cnt=0;
   for(var i=0; i<statLen;i++) {
      if(stat[i].key == "generic_query_display") 
         c="def";
      else
         c=stat[i].team_name;

      if (stat[i].title)
         title=stat[i].title;
      else
         title="";

      if (stat[i].text1)
        text1=stat[i].text1;
      else
         text1="";

      if (stat[i].text2)
         text2=stat[i].text2;
      else
         text2="";

      if (stat[i].text3)
         text3=stat[i].text3;
      else
         text3="";

      if (stat[i].text4)
         text4=stat[i].text4;
      else
         text4="";

      if (stat[i].matchid1)
         matchid1=stat[i].matchid1;
      else
         matchid1=0;

      if (stat[i].matchid2)
         matchid2=stat[i].matchid2;
      else
         matchid2=0;

      if (stat[i].matchid3)
         matchid3=stat[i].matchid3;
      else
         matchid3=0;

      if (stat[i].matchid4)
         matchid4=stat[i].matchid4;
      else
         matchid4=0;

      _gCountries[c] = new Object();
      _gCountries[c].title=title;
      _gCountries[c].txt1=text1;
      _gCountries[c].txt2=text2;
      _gCountries[c].txt3=text3;
      _gCountries[c].txt4=text4;
      _gCountries[c].mid1=matchid1;
      _gCountries[c].mid2=matchid2;
      _gCountries[c].mid3=matchid3;
      _gCountries[c].mid4=matchid4;

   }
}

function updateTeamStat(team) {
   _gCurrTeam=team;
   if(team=='def') {
      var t=_gCountries[team];
      buffer = "";

      if (t.title != "") {
         if (t.title.indexOf("There is no live match")>=0) {
            $('status').innerHTML=buffer;
            return;
         }
         buffer += '<div class="pgTitle">'+t.title+'</div>\n';
      }

      buffer += '<div><table width="100%">\n';
      if (t.mid1!=0 && t.mid2!=0 && t.mid3!=0 && t.mid4!=0) {
         buffer += '<tr class="modd">';
         buffer += '<td align="left">'+t.txt1+'</td>'
         buffer += '<td width="20%" align="center"><a href="javascript:void(0);" onclick="getPbp('+t.mid1 +'); return false;" title="Commentary"><img src="img/commentary_lnk.png" /></a></td>';
         buffer += '</tr>';
         buffer += '<tr class="meven">';
         buffer += '<td align="left">'+t.txt2+'</td>'
         buffer += '<td width="20%" align="center"><a href="javascript:void(0);" onclick="getPbp('+t.mid2 +'); return false;" title="Commentary"><img src="img/commentary_lnk.png" /></a></td>';
         buffer += '</tr>';
         buffer += '<tr class="modd">';
         buffer += '<td align="left">'+t.txt3+'</td>'
         buffer += '<td width="20%" align="center"><a href="javascript:void(0);" onclick="getPbp('+t.mid3 +'); return false;" title="Commentary"><img src="img/commentary_lnk.png" /></a></td>';
         buffer += '</tr>';
      }
      else if (t.mid1!=0 && t.mid2!=0 && t.mid3!=0 && t.mid4==0) {
         buffer += '<tr class="modd">';
         buffer += '<td align="left">'+t.txt1+'<br/></td>'
         buffer += '<td width="20%" align="center"><a href="javascript:void(0);" onclick="getPbp('+t.mid1 +'); return false;" title="Commentary"><img src="img/commentary_lnk.png" /></a></td>';
         buffer += '</tr>';
         buffer += '<tr class="meven">';
         buffer += '<td align="left">'+t.txt2+'<br/></td>'
         buffer += '<td width="20%" align="center"><a href="javascript:void(0);" onclick="getPbp('+t.mid2 +'); return false;" title="Commentary"><img src="img/commentary_lnk.png" /></a></td>';
         buffer += '</tr>';
         buffer += '<tr class="modd">';
         buffer += '<td align="left">'+t.txt3+'<br/>'+t.txt4+'</td>'
         buffer += '<td width="20%" align="center"><a href="javascript:void(0);" onclick="getPbp('+t.mid3 +'); return false;" title="Commentary"><img src="img/commentary_lnk.png" /></a></td>';
         buffer += '</tr>';
      }
      else if (t.mid1==0 && t.mid2!=0 && t.mid3==0 && t.mid4!=0) {
         buffer += '<tr class="modd">';
         buffer += '<td align="left">'+t.txt1+'<br/>'+t.txt2+'</td>'
         buffer += '<td width="20%" align="center"><a href="javascript:void(0);" onclick="getPbp('+t.mid2 +'); return false;" title="Commentary"><img src="img/commentary_lnk.png" /></a></td>';
         buffer += '</tr>';
         buffer += '<tr class="meven">';
         buffer += '<td align="left">'+t.txt3+'<br/>'+t.txt4+'</td>'
         buffer += '<td width="20%" align="center"><a href="javascript:void(0);" onclick="getPbp('+t.mid4 +'); return false;" title="Commentary"><img src="img/commentary_lnk.png" /></a></td>';
         buffer += '</tr>';
      }
      else if (t.mid1!=0 && t.mid2==0 && t.mid3==0 && t.mid4==0) {
         buffer += '<tr class="meven">';
         buffer += '<td align="left">'+t.txt1+'<br/>'+t.txt2+'<br/><span class="regular">'+t.txt3+'</span><br/><span class="regular">'+t.txt4+'</span></td>'
         buffer += '<td width="20%" align="center"><a href="javascript:void(0);" onclick="getPbp('+t.mid1 +'); return false;" title="Commentary"><img src="img/commentary_lnk.png" /></a></td>';
         buffer += '</tr>';
      }
      buffer += '</table></div>';
      $('status').innerHTML=buffer;
   }
   else {
      var buff="";
      var desc="";
      var t=_gCountries[team];
      if (t.title!="")
         buff += '<div class="pgTitle">'+t.title +'</div>\n';
      buff += '<div><table width="100%"><tr>\n';
      buff += '<td align="left">'+t.txt1+'<br/>'+t.txt2+'<br/>'+t.txt3+'<br/>'+t.txt4+'</td>';
      buff += '</tr></table></div>';

      for (i=0; i<TEAMS.length; i++) {
         desc="";
         if(TEAMS[i].cc==team) {
            desc += '<div class="pgTitle1">\n';
            desc += '<table><tr>\n'
            desc += '<td valign="middle"><img src="img/'+TEAMS[i].cc+'_small.gif" /></td>\n';
            desc += '<td>'+TEAMS[i].name+'</td>';
            desc += '</tr></table>\n';
            desc += '</div>\n';
            break;
         }
      }
      _gPbpType=0;
      hideAll();
      _gCurrentPage='teamPageView';
      $('teamData').innerHTML=desc+'<div class="todd">'+buff+'</div>';
      hide('titleBar');
      getSchedule(2);
      show('teamPageView');
   }
}

function getTeams() {
   var buff = "";
   buff += "<table cellspacing='0' cellpadding='0' border='0' width='100%'>\n";
   row=0;
   for (i=0; i<TEAMS.length; i++) {
      if(row%2==0)
         buff += "<tr class='todd'>\n";
      else
         buff += "<tr class='teven'>\n";
      buff += '<td align="left" valign="middle" style="padding-left:15px"><a href="javascript:void(0);" onclick='+"'"+'updateTeamStat('+'"'+TEAMS[i].cc+'"'+'); return(false);'+"'"+'><img src="img/'+TEAMS[i].cc+'_medium.gif" /></a></td>';
      buff += '<td align="left" style="font-size:10pt" class="link1"><a href="javascript:void(0);" onclick='+"'"+'updateTeamStat('+'"'+TEAMS[i].cc+'"'+'); return(false);'+"'"+'>&nbsp;&nbsp;&nbsp;&nbsp;'+TEAMS[i].name+'</a></td>';
      buff += '<td align="center" width="20%"><a href="javascript:void(0);" onclick='+"'"+'updateTeamStat('+'"'+TEAMS[i].cc+'"'+'); return(false);'+"'"+'><img src="img/arrow.png" /></a></td>\n';
      buff += "</tr>\n";
      row++;
   } 
   buff += "</table>\n";

   $('team').innerHTML=buff;
}


function getMatches(mini) {
   var url = BASEURL + "json/jcric_live.json";
   if (mini==0) {
      show('loading');
      hide('matchData');
   }

   try {
      if (_gHttp && _gHttp.readyState!=0) {
         _gHttp.abort();
         _gHttp=getHttp();
      }
   }
   catch(e) {
      //alert(e.message);
   }

   if(_gHttp) {
      //alert("url"+url);
      _gHttp.open('GET', url+"?r="+Math.random(), true);
      _gHttp.onreadystatechange = function() {
         if((_gHttp) && _gHttp.readyState == 4 && _gHttp.status == 200) {
            _gData = _gHttp.responseText.parseJSON();
            if(mini==0)
               displayMatches();
            else
               displayMiniLive();
         }
      }
      _gHttp.send(null);
   }
   else {
      //alert("No gHttp");
   }
}

function showMiniLive() {
   getMatches(1);
   window.setTimeout(showMiniLive, 10000);
}

function findIPLMatch() {
   try {
      var live = _gData.resultSet.live;
      var liveLen = _gData.resultSet.live.length;
   } catch(err) {return;}
   var found=-1;
   var IPLTeams=Array("brc", "csk", "dch", "dda", "kkr", "kxp", "min", "rro");

   for(var i=liveLen-1; i>=0; i--) {
      for(var j=0; j<IPLTeams.length; j++) {
         if (live[i].t1CC == IPLTeams[j]) {
            found=i;
            break;
         } 
      } 
   }
   if(found==-1)
     found=0;

   return found;
}


function displayMiniLive() {
   try {
      var live = _gData.resultSet.live;
      var liveLen = _gData.resultSet.live.length;
      var buffer = "";
      var ind=0;
      var start=0;
      var end=0;
   } catch(err) {return;}

   ind=findIPLMatch();

   if(ind==0) {
     start=0;
     end=4;
     if(end>liveLen) end=liveLen;
   }
   else {
     start=0;
     end=1;
   }

   buffer += '   <td colspan="2" align="left">';
   for(ind=start;ind<end;ind++) {
      buffer += "   <table width='100%' cellspacing='0' cellpadding='2' border='0'><tr>";
      buffer += '   <td align="center" width="35%">';
      buffer += "<img src='img/" + live[ind].t1CC + "_small.gif' />";
      buffer += "&nbsp;vs.&nbsp;";
      buffer += "<img src='img/" + live[ind].t2CC + "_small.gif' />";
      buffer += "<br/>" + live[ind].t1Name + "<br/>vs.<br/>" + live[ind].t2Name;
      buffer += "</td><td align='left'>\n";
      sd = new Date(live[ind].startDate*1000);
      st = formatDate(sd, "NNN d");
      if (live[ind].winner) {
         buffer += '<b>'+live[ind].winner+ '</b>';
      }
      buffer += "<br/>\n";
      if (live[ind].lastUpdated) {
         var lu = new Date(live[ind].lastUpdated*1000);
         st = "Last Updated: "+formatDate(lu, "NNN d, yy hh:mm a");
         buffer += "<span class='specialNote'>"+st+" (GMT)</span>\n";
      }
      buffer += " </td>";
      buffer += "</td><td align='center' width='20%'>\n";
      buffer += '<a href="javascript:void(0);" onclick="getPbp('+live[ind].id +'); return false;"><img src="img/commentary_lnk.png" /></a></td>\n';
      buffer += "</tr></table>";
      buffer += "<br/>\n";
   }
   buffer += '   </td>';
   $('miniLive').innerHTML=buffer;
}

function displayMatches() {
   try {
      var live = _gData.resultSet.live;
      var liveLen = _gData.resultSet.live.length;
      var buffer = "";
   } catch(err) {return;}

   buffer += '<div class="button">\n';
   buffer += '   <table border="0" width="100%" cellspacing="0" cellpadding="0"><tr>\n';
   buffer += '      <td align="right"><a href="javascript:void(0);" onclick="javascript:showLive();return(false);" title="Current Matches"><img src="img/current.png" /></a></td>\n';
   buffer += '      <td align="left"><a href="javascript:void(0);" onclick="javascript:showSched();return(false);" title="Upcoming Matches"><img src="img/upcoming_on.png" /></a></td>\n';
   buffer += '   </tr></table>\n';
   buffer += '</div>\n';
   $('titleBar').innerHTML=buffer;
   show('titleBar'); 
   buffer="";
  
   buffer += "<table width='100%' cellspacing='0' cellpadding='2' border='0'>\n";

   var row=0;
   for (i=0; i<liveLen; i++) {
      if(row%2==0)
         buffer += "<tr class='todd'><td class='link1'>\n";
      else
         buffer += "<tr class='teven'><td class='link1' width='40%'>\n";
      desc = "<img src='img/" + live[i].t1CC + "_small.gif' />";
      desc += "&nbsp;vs.&nbsp;";
      desc += "<img src='img/" + live[i].t2CC + "_small.gif' />";
      desc += "<br/>" +  live[i].t1Name + "&nbsp;vs.&nbsp;" + live[i].t2Name;
      sd = new Date(live[i].startDate*1000);
      st = formatDate(sd, "NNN d");
      desc += "<br/>"+live[i].innName+' Inning, '+st+"</a> \n";

      buffer += desc+"</td><td class='link1' align='left'>\n";
      buffer += "<br/>\n";
      if (live[i].winner) {
         buffer += live[i].winner;
      }
      buffer += "<br/>\n";
      if (live[i].result) {
         buffer += live[i].result;
      }
      buffer += "<br/>\n";
      if (live[i].lastUpdated) {
         var lu = new Date(live[i].lastUpdated*1000);
         st = "Last Updated: "+formatDate(lu, "NNN d, yy hh:mm a");
         buffer += "<span class='specialNote'>"+st+" (GMT)</span>\n";
      }

      buffer += "</td><td align='center' width='20%'>\n";
      if(live[i].id != "None") {
         buffer += '<a href="javascript:void(0);" onclick="getPbp('+live[i].id +'); return false;"><img src="img/arrow.png" /></a>\n';
      }
      else {
         buffer += '<a href="#"><img src="img/arrow.png" /></a>\n';
      }
      buffer += " </td></tr>\n";
      row++;
   }
   buffer += "</table>\n";

   $('matchData').innerHTML=buffer;
   hide('loading');
   show('matchData');
}

function getSchedule(type) {
   var url = BASEURL + "json/jcric_sched.json";

   if (type==0) {
      show('loading');
      hide('matchData');
   }

   try {
      if (_gHttp && _gHttp.readyState!=0) {
         _gHttp.abort();
         _gHttp=getHttp();
      }
   }
   catch(e) {
      //alert(e.message);
   }

   if(_gHttp) {
      //alert("url"+url);
      _gHttp.open('GET', url+"?r="+Math.random(), true);
      _gHttp.onreadystatechange = function() {
         if((_gHttp) && _gHttp.readyState == 4 && _gHttp.status == 200) {
            var response =  _gHttp.responseText.parseJSON();
            displaySched(response,type);
         }
      }
      _gHttp.send(null);
   }
   else {
      //alert("No gHttp");
   }
}

function displaySched(response,type) {
   try {
      var sched = response.resultSet.schedule;
      var schedLen = response.resultSet.schedule.length;
      var buffer = "";
      var found = 0;
   } catch(err) {return;}

   if(type==0) {
      buffer += '<div class="button">\n';
      buffer += '   <table border="0" width="100%" cellspacing="0" cellpadding="0"><tr>\n';
      buffer += '      <td align="right"><a href="javascript:void(0);" onclick="javascript:showLive();return(false);" title="Current Matches"><img src="img/current_on.png" /></a></td>\n';
      buffer += '      <td align="left"><a href="javascript:void(0);" onclick="javascript:showSched();return(false);" title="Upcoming Matches"><img src="img/upcoming.png" /></a></td>\n';
      buffer += '   </tr></table>\n';
      buffer += '</div>\n';
      $('titleBar').innerHTML=buffer;
      show('titleBar');
      buffer="";
   }
   else {
      hide('titleBar');
   }

   buffer += "<table width='100%'>\n";

   row=0;
   for (i=0; i<schedLen; i++) {
      if(type==2) {
         if ((sched[i].t1Flag!=_gCurrTeam)&&(sched[i].t2Flag!=_gCurrTeam))
            continue;
         found=1;
      }
      if(type==0) {
         if(row%2==0)
            buffer += "<tr class='todd'>\n";
         else
            buffer += "<tr class='teven'>\n";

         buffer += "<td align='center' valign='middle'>";
         buffer += "<table width='100%'><tr>";
         buffer += "<td align='center' vlaign='middle' width='25%'>";
         buffer += "<img src='img/" + sched[i].t1Flag + "_small.gif' />";
         buffer += "<br/>" + sched[i].t1Name + "</td>\n";
         buffer += "<td align='center'>vs.</td>\n";
         buffer += "<td align='center' valign='middle' width ='25%'>";
         buffer += "<img src='img/" + sched[i].t2Flag + "_small.gif' />";
         buffer += "<br/>" + sched[i].t2Name + "</td></tr></table></td>\n";
         var sd = new Date(sched[i].startDate*1000);
         st = formatDate(sd, "NNN d, yy <br/><b>hh:mm a</b>");
         buffer += "<td align='center' valign='middle' width='40%'>" + st + " (GMT)</td>\n";
         buffer += "</tr>\n";
      }
      else {
         buffer += "<tr>\n";
         buffer += "<td align='center' valign='middle' width ='25%'>";
         buffer += "<img src='img/" + sched[i].t1Flag + "_small.gif' />";
         buffer += "<br/>" + sched[i].t1Name + "</td>\n";
         buffer += "<td align='center'>vs.</td>\n";
         buffer += "<td align='center' valign='middle' width ='25%'>";
         buffer += "<img src='img/" + sched[i].t2Flag + "_small.gif' />";
         buffer += "<br/>" + sched[i].t2Name + "</td>\n";
         var sd = new Date(sched[i].startDate*1000);
         st = formatDate(sd, "NNN d, yy <br/><b>hh:mm a</b>");
         buffer += "<td align='center' valign='middle' width='35%'>" + st + " (GMT)</td>\n";
         buffer += "</tr>\n";
      }

      if (type==1) {
         if (i==0) break;
      }
      row++;
   }
   buffer += "</table>\n";

   if (type==1) {
      $('minisched').innerHTML=buffer;
      _gState=2;
   }
   else if (type==2) {
      if (found) {
         var desc='<div class="ttitle">Upcoming Matches</div>\n';
         desc +=  '<div class="teven">'+buffer+'</div>';
         $('teamSched').innerHTML=desc;
      }
      else {
         $('teamSched').innerHTML='<div class="ttitle">No Scheduled Matches</div>\n';
      }
      hideAll();
      _gCurrentPage='teamPageView';
      show(_gCurrentPage);
   }
   else {
      $('matchData').innerHTML=buffer;
      hide('loading');
      show('matchData');
   }
}

function doPodcast() {
   if(_gInDL==1) {
      window.setTimeout(doPodcast, 100);
      return;
   }

   if(_gPodState==0) {
      _gInDL=1;
      var url = NEWSLOC+"tony.xml";
      getPodcast(url)
      window.setTimeout(doPodcast, 100);
   }
   else if(_gPodState==1) {
      _gInDL=1;
      var url = NEWSLOC+"1on1.xml";
      getPodcast(url)
      window.setTimeout(doPodcast, 100);
   }
   else if(_gPodState==2) {
      _gInDL=1;
      var url = NEWSLOC+"boycs.xml";
      getPodcast(url)
      window.setTimeout(doPodcast, 100);
   }
   else if(_gPodState==3) {
      _gInDL=1;
      var url = NEWSLOC+"rtable.xml";
      getPodcast(url)
      window.setTimeout(doPodcast, 100);
   }
   else if(_gPodState==4) {
      _gInDL=1;
      var url = NEWSLOC+"cimin.xml";
      getPodcast(url)
      window.setTimeout(doPodcast, 100);
   }
   else if(_gPodState==5) {
      _gInDL=0;
      _gPodState=0;
      window.setTimeout(doPodcast, 60*60*1000);
   }
}

function getPodcast(url) {
   var request1=getHttp();
   var buffer = "";

   _gPodsCnt=0;
   _gPodsList = new Array();
   _gPodsList.length = 0;

   if(request1) {
      request1.open('GET', url, true);
      request1.onreadystatechange = function() {
         if((request1) && request1.readyState == 4 && request1.status == 200) {
            //var xmlDoc = request1.responseXML;
            var xmlDoc = (new DOMParser()).parseFromString(request1.responseText, "text/xml");
            var rss=xmlDoc.childNodes[0];
            var child=rss.childNodes;
            var node=child[1];
            var x=node.childNodes;
            for(var i=0; i<x.length; i++) {
                if(x[i].nodeName == 'item') {
                   var y=x[i].childNodes;
                   _gPodsList[_gPodsCnt]=new Object(); 
                   for(var j=0; j<y.length; j++) {
                      if(y[j].nodeName == 'title') {
                         tit=y[j].firstChild.nodeValue;
                         _gPodsList[_gPodsCnt].title=tit; 
                      }
                      else if(y[j].nodeName == 'guid') {
                         lnk=y[j].firstChild.nodeValue;
                         _gPodsList[_gPodsCnt].url=lnk; 
                      }
                   }
                   _gPodsCnt++;
                }
            }
            _gPodsArr[_gPodState]=_gPodsList;
            _gPodState++;
            _gInDL=0;
         }
         else {
             // alert("wait");
            // wait for the call to complete
         }
      }
      request1.send(null);
   }
   else {
      //alert("No gHttp");
   }
}

function updatePbp() {
   if(_gPbpType==0) {
      return;
   }

   _gCurrentPage='pbpView';
   hideAll();
   hide('matchView');
   show('pbpView');
   if(_gPbpType==1) {
      getPbp(_gCurrMatchid);
    }
   else if(_gPbpType==2) {
      getScore(_gCurrMatchid,0);
    }
}

function getPbp(matchid) {
   var url = BASEURL + "json/jcricPbp_"+matchid+".json";
   _gCurrMatchid=matchid;

   try {
      if (_gHttp && _gHttp.readyState!=0) {
         _gHttp.abort();
         _gHttp=getHttp();
      }
   }
   catch(e) {
      //alert(e.message);
   }

   if(_gHttp) {
      //alert("url"+url);
      _gHttp.open('GET', url+"?r="+Math.random(), true);
      _gHttp.onreadystatechange = function() {
         if((_gHttp) && _gHttp.readyState == 4 && _gHttp.status == 200) {
            var response = _gHttp.responseText.parseJSON();
            showPbp(response,matchid);
            if(_gTimer)
               window.clearTimeout(_gTimer);
            _gTimer = window.setTimeout(updatePbp, 15000);
         }
      }
      _gHttp.send(null);
   }
   else {
      //alert("No gHttp");
   }
}

function showPbp(response,matchid) {
   try {
      var score = response.resultSet.game.scorecard;
      var pbp = response.resultSet.game.pbp;
      var pbpLen = response.resultSet.game.pbp.length;
      var buffer = "";
   } catch(err) {return;}

   if (score) {
      buffer += '<div class="button">\n';
      buffer += '   <table border="0" width="100%" cellspacing="0" cellpadding="0"><tr>\n';
      buffer += '      <td align="right"><a href="javascript:void(0);" onclick="getScore('+matchid+','+score.innid+'); return false;"><img src="img/scorecard_lnk.png" /></a>&nbsp;&nbsp;&nbsp;\n';
      buffer += '      <a href="javascript:void(0);" onclick="getPbp('+matchid+'); return false;"><img src="img/refresh_lnk.png" /></a>&nbsp;&nbsp;&nbsp;</td>\n';
      buffer += '   </tr></table>\n';
      buffer += '</div>\n';
      $('titleBar').innerHTML=buffer;
      show('titleBar');

      buffer="";
      buffer += '<table border="0" cellspacing="0" cellpadding="0" width="100%">\n';
      buffer += '    <tr class="tbody">\n';
      buffer += '      <td width="50%"><img src="img/'+score.country1+'_small.gif"/>&nbsp;<span style="font-size:12pt">'+score.runs1+'/'+score.wickets1+'</span></td>\n';
      buffer += '      <td  align="right" width="50%"><img src="img/'+score.country2+'_small.gif"/>&nbsp;<span style="font-size:12pt">'+score.runs2+'/'+score.wickets2+'</span></td>\n';
      buffer += '    </tr>\n';
      buffer += '    <tr class="tbody">\n';
      buffer += '      <td><span style="color:#911a1a">'+score.batter1+'</span> '+score.b1runs+'</td>\n';
      buffer += '      <td align="right"><span style="color:#911a1a">'+score.batter2+'</span> '+score.b2runs+'</td>\n';
      buffer += '    </tr>\n';


      buffer += '</table>\n';

      buffer += '<div style="padding:2px;"><table border="0" cellspacing="1" cellpadding="0" width="100%">\n';
      for (i=0; i<pbpLen; i++) {
         if (pbp[i].post != "") {
            buffer += '<tr class="teven"><td colspan="2">'+pbp[i].post+'</td></tr>\n';
         }
         buffer += '<tr class="tbody"><td valign="top"><img src="img/'+pbp[i].img+'" /></td>\n'
         buffer += '<td><span style="color:#0000ff; font-weight:bold">['+pbp[i].over+'.'+pbp[i].ball+']</span>'
         buffer += ' <span style="color:#0000ff; font-weight:bold">'+pbp[i].summary+'</span>\n';
         buffer += '<br/>'+pbp[i].bowler+' to '+pbp[i].batsman+', '+pbp[i].comment+'</td></tr>\n';
         if (pbp[i].pre != "") {
            buffer += '<tr class="todd"><td colspan="2">'+pbp[i].pre+'</td></tr>\n';
         }
      }
   }
   buffer +="</table></div>\n";

   hideAll();
   _gCurrentPage='pbpView';
   _gPbpType=1;
   $('pbpView').innerHTML=buffer;
   show('pbpView');
}

function isEventDone(evnt) {
   var i;
   for(i=0; i<_gEventCnt; i++) {
      if ((evnt.ballid == _gEvents[i].ballid) && (evnt.id == _gEvents[i].id)) {
        return true;
      }
   }
   return false;
}

function addEvent(evnt) {
   _gEvents[_gEventCnt]=new Object();
   _gEvents[_gEventCnt].ballid=evnt.ballid;
   _gEvents[_gEventCnt].id=evnt.id;
   _gEvents[_gEventCnt].type=evnt.type;
   _gEventCnt++;
}

function showEvents(response) {
   if(_gCurrentPage!='pbpView')
      return;

   try {
      var events = response.resultSet.events;
      var evLen = response.resultSet.events.length;
      var buffer = "";
   } catch(err) {return;}

   for (j=0; j<evLen; j++) {
      if(_gCurrMatchid == events[j].id) {
         if (!isEventDone(events[j])) {
            addEvent(events[j]);
            if (events[j].type==4) {
               blinkImage('four',6);
            }
            else if (events[j].type==6) {
               blinkImage('six',6);
            }
            else if (events[j].type==-1) {
               blinkImage('out',6);
            }
            break;
         }
      }
   }
}

function doEvents() {
   var url = BASEURL + "json/jcric_events.json";
   var request=getHttp();
   var buffer = "";

   if(request) {
      request.open('GET', url+"?r="+Math.random(), true);
      request.onreadystatechange = function() {
         if((request) && request.readyState == 4 && request.status == 200) {
            var response = request.responseText.parseJSON();
            showEvents(response);
         }
         else {
             // alert("wait");
            // wait for the call to complete
         }
      }
      request.send(null);
      window.setTimeout(doEvents, 10000);
   }
   else {
      //alert("No gHttp");
   }
}

function getScore(matchid, innid) {
   var url = BASEURL + "json/jcricScore_"+matchid+".json";

   try {
      if (_gHttp && _gHttp.readyState!=0) {
         _gHttp.abort();
         _gHttp=getHttp();
      }
   }
   catch(e) {
      //alert(e.message);
   }

   if(_gHttp) {
      //alert("url"+url);
      _gHttp.open('GET', url+"?r="+Math.random(), true);
      _gHttp.onreadystatechange = function() {
         if((_gHttp) && _gHttp.readyState == 4 && _gHttp.status == 200) {
            var response =  _gHttp.responseText.parseJSON();
            showScore(response,matchid,innid);
            if(_gTimer)
               window.clearTimeout(_gTimer);
            _gTimer = window.setTimeout(updatePbp, 15000);
         }
      }
      _gHttp.send(null);
   }
   else {
      //alert("No gHttp");
   }
}

function showScore(response,matchid,innid) {
   try {
      var inns = response.resultSet.game.inning;
      var noInns = inns.length;
      if(innid==0)
        innid=noInns;
      if(innid>noInns)
         return;
      var inning = inns[innid-1];
      var score = inning.scorecard;
      var othInns = inning.otherinnings;
      var othLen = othInns.length;
      var batsman = inning.batsman;
      var batLen = batsman.length;
      var bowler = inning.bowler;
      var bowlLen = bowler.length;
      var buffer = "";
   } catch(err) {return;}

   buffer += '<div class="button">\n';
   buffer += '   <table border="0" width="100%" cellspacing="0" cellpadding="0"><tr>\n';
   buffer += '      <td align="right"><a href="javascript:void(0);" onclick="getPbp('+matchid+'); return false;"><img src="img/commentary_lnk.png" /></a>&nbsp;&nbsp;&nbsp;\n';
   buffer += '      <a href="javascript:void(0);" onclick="getScore('+matchid+','+score.innid+'); return false;"><img src="img/refresh_lnk.png" /></a>&nbsp;&nbsp;&nbsp;</td>\n';
   buffer += '   </tr></table>\n';
   buffer += '</div>\n';
   $('titleBar').innerHTML=buffer;
   show('titleBar');

   buffer="";

   if (score) {
      buffer += '<div>\n';
      buffer += '   <table border="0" cellspacing="0" cellpadding="0" width="100%" >\n';
      row=0;
      for(i=0; i<othLen; i++) {
         if(row%2==0)
            buffer += "<tr class='todd'>\n";
         else
            buffer += "<tr class='teven'>\n";
         var idx=othInns[i].id-1;
         var s = inns[idx].scorecard;
         buffer += '      <td align="left" class="link"><a href="javascript:void(0);" onclick="getScore('+matchid+','+othInns[i].id+'); return false;"><img src="img/'+othInns[i].team+'_small.gif"/> '+othInns[i].innName+'</a></td>\n'
         buffer += '      <td align="left" class="link"><a href="javascript:void(0);" onclick="getScore('+matchid+','+othInns[i].id+'); return false;">'+s.runs+'/'+s.wickets+'</a></td>\n'
         buffer += '      <td width="20%" class="link"><a href="javascript:void(0);" onclick="getScore('+matchid+','+othInns[i].id+'); return false;"><img src="img/arrow.png" /></a></td>\n';
         buffer += '    </tr>\n';
         row++;
      }
      buffer += '    <tr class="ttitle">\n';
      buffer += '      <td colspan="3" align="left" style="color:#0000ff">'+score.batting+' - '+score.innName+' ['+score.runs+'/'+score.wickets+']</td>\n';
      buffer += '    </tr>\n';
      buffer += '   </table>\n';
      buffer += ' </div>\n';

      buffer += "<table cellspacing='1' cellpadding='1' border='0' width='100%'><tr class='thead'>\n";
      buffer += '  <td width="30%">Batsman</td>\n';
      buffer += '  <td width="40%">How Out</td>\n';
      buffer += '  <td width="10%"><center>Runs</center></td>\n';
      buffer += '  <td width="10%"><center>4s</center></td>\n';
      buffer += '  <td width="10%"><center>6s</center></td></tr>\n';
      row=0;
      for (i=0; i<batLen; i++) {
         if(row%2==0)
            buffer += "<tr class='todd'>\n";
         else
            buffer += "<tr class='teven'>\n";

         if (batsman[i].status=="Not Out") {
            buffer += '<td width="30%"><font color="#0000ff">'+batsman[i].name+'</font></td>\n';
         }
         else {
            buffer += '<td width="30%">'+batsman[i].name+'</td>\n';
         }
         if (batsman[i].status=="caught")
            buffer += '<td width="40%"> c '+batsman[i].fielder+', b '+batsman[i].bowler+'</td>\n';
         else if (batsman[i].status=="lbw")
            buffer += '<td width="40%">'+batsman[i].howout+', b '+batsman[i].bowler+'</td>\n';
         else if (batsman[i].status=="bowled")
            buffer += '<td width="40%">'+'b '+batsman[i].bowler+'</td>\n';
         else
            buffer += '<td width="10%">'+batsman[i].howout+'</td>\n';
         buffer += '<td align="right" width="10%">'+batsman[i].run+'</td>\n';
         buffer += '<td align="right" width="10%">'+batsman[i].four+'</td>\n';
         buffer += '<td align="right" width="10%">'+batsman[i].six+'</td></tr>\n';
         row++;
      }
      buffer += "</table>\n<br/>\n";

      buffer += "<table cellspacing='1' cellpadding='1' border='0' width='100%'><tr class='thead'>\n";
      buffer += '  <td width="30%">Bowler</td>\n';
      buffer += '  <td>Overs</td>\n';
      buffer += '  <td>Mdns</td>\n';
      buffer += '  <td>Runs</td>\n';
      buffer += '  <td>Wkts</td>\n';
      buffer += '  <td>Wides</td>\n';
      buffer += '  <td>Nb</td></tr>\n';
      row=0;
      for (i=0; i<bowlLen; i++) {
         if(row%2==0)
            buffer += "<tr class='todd'>\n";
         else
            buffer += "<tr class='teven'>\n";
         buffer += '<td width="30%">'+bowler[i].name+'</td>\n';
         buffer += '<td align="right">'+bowler[i].over+'</td>\n';
         buffer += '<td align="right">'+bowler[i].mdn+'</td>\n';
         buffer += '<td align="right">'+bowler[i].run+'</td>\n';
         buffer += '<td align="right">'+bowler[i].wkt+'</td>\n';
         buffer += '<td align="right">'+bowler[i].wide+'</td>\n';
         buffer += '<td align="right">'+bowler[i].nb+'</td></tr>\n';
         row++;
      }
      buffer += "</table>\n";
   }

   hideAll();
   _gCurrentPage='pbpView';
   _gPbpType=2;
   $('pbpView').innerHTML=buffer;
   show('pbpView');
}


////////////////////////////////////////////////////////////
// Functions to show/hide panels
////////////////////////////////////////////////////////////

function hideAll() {
   for(i=0; i<_gPageIds.length; i++) {
      hide(_gPageIds[i]);
   }
}

function setSelected(id) {
   if(id==1) {
      $('sel1').src="img/home_on.png";
      $('sel2').src="img/matches.png";
      $('sel3').src="img/photos.png";
      $('sel4').src="img/podcast.png";
      $('sel5').src="img/more.png";
      $('sel6').src="img/news.png";
   }
   else if(id==2) {
      $('sel1').src="img/home.png";
      $('sel2').src="img/matches_on.png";
      $('sel3').src="img/photos.png";
      $('sel4').src="img/podcast.png";
      $('sel5').src="img/more.png";
      $('sel6').src="img/news.png";
   }
   else if(id==3) {
      $('sel1').src="img/home.png";
      $('sel2').src="img/matches.png";
      $('sel3').src="img/photos_on.png";
      $('sel4').src="img/podcast.png";
      $('sel5').src="img/more.png";
      $('sel6').src="img/news.png";
   }
   else if(id==4) {
      $('sel1').src="img/home.png";
      $('sel2').src="img/matches.png";
      $('sel3').src="img/photos.png";
      $('sel4').src="img/podcast_on.png";
      $('sel5').src="img/more.png";
      $('sel6').src="img/news.png";
   }
   else if(id==5) {
      $('sel1').src="img/home.png";
      $('sel2').src="img/matches.png";
      $('sel3').src="img/photos.png";
      $('sel4').src="img/podcast.png";
      $('sel5').src="img/more_on.png";
      $('sel6').src="img/news.png";
   }
   else if(id==6) {
      $('sel1').src="img/home.png";
      $('sel2').src="img/matches.png";
      $('sel3').src="img/photos.png";
      $('sel4').src="img/podcast.png";
      $('sel5').src="img/more.png";
      $('sel6').src="img/news_on.png";
   }
}


function showMain() {
   _gPbpType=0;
   hideAll();
   setSelected(1);
   _gCurrentPage = "homePageView";
   hide('titleBar');
   show(_gCurrentPage);
   if(_gState!=0) {
      getSchedule(1);
      updateTeamStat("def");
      //cyclePhotos();
   }
   scrollup();
}

function showMatches() {
   getMatches(0);
   _gPbpType=0;
   setSelected(2);
   hide('titleBar');
   if(_gTimer)
      window.clearTimeout(_gTimer);
   _gTimer = window.setTimeout(updatePbp, 15000);
   hideAll();
   _gCurrentPage = "matchView";
   show(_gCurrentPage);
}

function showTeams() {
   _gPbpType=0;
   setSelected(3);
   hide('titleBar');
   hideAll();
   _gCurrentPage = "teamView";
   getTeams();
   show(_gCurrentPage);
}

function showLive() {
   setSelected(2);
   getMatches(0);
   hideAll();
   _gCurrentPage = "matchView";
   show(_gCurrentPage);
}

function showSched() {
   setSelected(2);
   getSchedule(0);
   hideAll();
   _gCurrentPage = "matchView";
   show(_gCurrentPage);
}

function showNews() {
   _gPbpType=0;
   hideAll();
   setSelected(6);
   hide('titleBar');
   listNewsArticles();
   _gCurrentPage = "newsView";
   show(_gCurrentPage);
}


function showPods() {
   var buffer = "";
   buffer += '<div>\n';

   var cnt=0;
   buffer += '   <table border="0" cellspacing="0" cellpadding="0" width="100%">';
   if(_gPodsArr[0].length>0) {
      if(cnt%2==0)
         buffer += '   <tr class="teven">\n';
      else
         buffer += '   <tr class="todd">\n';
      cnt++;
      buffer += '      <td class="link1"><a href="'+_gPodsArr[0][0].url+'"><img src="img/tonygreig.png" /></a></td>\n';
      buffer += '      <td><span class="link2">The Tony Greig Show</span><br/>\n';
      buffer += '      <span class="link3"><a href="'+_gPodsArr[0][0].url+'">'+_gPodsArr[0][0].title+'</a></span><br/><br/>\n';
      buffer += '      <div style="font-size:9pt"><a href="javascript:void(0);" onclick="javascript:gotoPods(0);return(false);">Previous Episodes</a></div></td>\n';
      buffer += '      <td width="20%" class="link"><a href="'+_gPodsArr[0][0].url+'"><img src="img/arrow.png" /></a></td>\n';
      buffer += '   </tr>\n';
   }

   if(_gPodsArr[1].length>0) {
      if(cnt%2==0)
         buffer += '   <tr class="teven">\n';
      else
         buffer += '   <tr class="todd">\n';
      cnt++;
      buffer += '      <td class="link1"><a href="'+_gPodsArr[1][0].url+'"><img src="img/oneononeb.png" /></a></td>\n';
      buffer += '      <td><span class="link2">One on One</span><br/>\n';
      buffer += '      <span class="link3"><a href="'+_gPodsArr[1][0].url+'">'+_gPodsArr[1][0].title+'</a></span><br/><br/>\n';
      buffer += '      <div style="font-size:9pt"><a href="javascript:void(0);" onclick="javascript:gotoPods(1);return(false);">Previous Episodes</a></div></td>\n';
      buffer += '      <td width="20%" class="link3"><br/><a href="'+_gPodsArr[1][0].url+'"><img src="img/arrow.png" /></a></td>\n';
      buffer += '   </tr>\n';
   }

   if(_gPodsArr[2].length>0) {
      if(cnt%2==0)
         buffer += '   <tr class="teven">\n';
      else
         buffer += '   <tr class="todd">\n';
      cnt++;
      buffer += '      <td class="link1"><a href="'+_gPodsArr[2][0].url+'"><img src="img/boycott.png" /></a></td>\n';
      buffer += '      <td><span class="link2">Bowl at Boycs</a></span><br/>\n';
      buffer += '      <span class="link3"><a href="'+_gPodsArr[2][0].url+'">'+_gPodsArr[2][0].title+'</a></span><br/><br/>\n';
      buffer += '      <div style="font-size:9pt"><a href="javascript:void(0);" onclick="javascript:gotoPods(2);return(false);">Previous Episodes</a></div></td>\n';
      buffer += '      <td width="20%" class="link"><a href="'+_gPodsArr[2][0].url+'"><img src="img/arrow.png" /></a></td>\n';
      buffer += '   </tr>\n';
   }

   if(_gPodsArr[3].length>0) {
      if(cnt%2==0)
         buffer += '   <tr class="teven">\n';
      else
         buffer += '   <tr class="todd">\n';
      cnt++;
      buffer += '      <td class="link1"><a href="'+_gPodsArr[3][0].url+'"><img src="img/roundtable.png" /></a></td>\n';
      buffer += '      <td><span class="link2">Round Table</a></span><br/>\n';
      buffer += '      <span class="link3"><a href="'+_gPodsArr[3][0].url+'">'+_gPodsArr[3][0].title+'</a></span><br/><br/>\n';
      buffer += '      <div style="font-size:9pt"><a href="javascript:void(0);" onclick="javascript:gotoPods(3);return(false);">Previous Episodes</a></div></td>\n';
      buffer += '      <td width="20%" class="link"><a href="'+_gPodsArr[3][0].url+'"><img src="img/arrow.png" /></a></td>\n';
      buffer += '   </tr>\n';
   }

   if(_gPodsArr[4].length>0) {
      if(cnt%2==0)
         buffer += '   <tr class="teven">\n';
      else
         buffer += '   <tr class="todd">\n';
      cnt++;
      buffer += '      <td class="link1"><a href="'+_gPodsArr[4][0].url+'"><img src="img/cricketminute.png" /></a></td>\n';
      buffer += '      <td><span class="link2">Cricket Minute</a></span><br/>\n';
      buffer += '      <span class="link3"><a href="'+_gPodsArr[4][0].url+'">'+_gPodsArr[4][0].title+'</a></span><br/><br/>\n';
      buffer += '      <div style="font-size:9pt"><a href="javascript:void(0);" onclick="javascript:gotoPods(4);return(false);">Previous Episodes</a></div></td>\n';
      buffer += '      <td width="20%" class="link"><a href="'+_gPodsArr[4][0].url+'"><img src="img/arrow.png" /></a></td>\n';
      buffer += '   </tr>\n';
   }

   buffer += '   </table>\n';
   buffer += '</div>\n';
   $('pods').innerHTML=buffer;
}


function gotoPods(indx) {
   var buffer="";

   hide('titleBar');
   buffer += "<table width='100%' cellpadding='0' cellspacing='0' border='0'>\n";
   _gPodsList = _gPodsArr[indx];
   _gPodsCnt=_gPodsList.length;

   if (indx==0) {
      buffer += '      <tr><td><img src="img/tonygreig.png" /></td>\n';
      buffer += '      <td align="left" class="link2">The Tony Greig Show</td>\n';
      buffer += '      <td align="right"><a href="javascript:void(0);" onclick="showPods(); return false;"><img src="img/back.gif" /></a></td></tr>\n';
   }
   else if (indx==1) {
      buffer += '      <tr><td><img src="img/oneononeb.png" /></td>\n';
      buffer += '      <td align="left" class="link2">One on One</td>\n';
      buffer += '      <td align="right"><a href="javascript:void(0);" onclick="showPods(); return false;"><img src="img/back.gif" /></a></td></tr>\n';
   }
   else if (indx==2) {
      buffer += '      <tr><td><img src="img/boycott.png" /></td>\n';
      buffer += '      <td align="left" class="link2">Bowl at Boycs</td>\n';
      buffer += '      <td align="right"><a href="javascript:void(0);" onclick="showPods(); return false;"><img src="img/back.gif" /></a></td></tr>\n';
   }
   else if (indx==3) {
      buffer += '      <tr><td><img src="img/roundtable.png" /></td>\n';
      buffer += '      <td align="left" class="link2">Round Table</td>\n';
      buffer += '      <td align="right"><a href="javascript:void(0);" onclick="showPods(); return false;"><img src="img/back.gif" /></a></td></tr>\n';
   }
   else if (indx==4) {
      buffer += '      <tr><td><img src="img/cricketminute.png" /></td>\n';
      buffer += '      <td align="left" class="link2">Cricket Minute</td>\n';
      buffer += '      <td align="right"><a href="javascript:void(0);" onclick="showPods(); return false;"><img src="img/back.gif" /></a></td></tr>\n';
   }
   buffer += "</table>\n";

   buffer += "<table width='100%' cellpadding='0' cellspacing='0' border='0'>\n";
   row=0;
   for(i=0; i<_gPodsCnt; i++) {
     if(row%2==0)
        buffer += "   <tr class='todd'>\n";
     else
        buffer += "   <tr class='teven'>\n";
     buffer += '      <td class="link1"><a href="'+_gPodsList[i].url+'">'+_gPodsList[i].title+'</a></td>\n';
     buffer += '      <td width="20%" class="link"><a href="'+_gPodsList[i].url+'"><img src="img/arrow.png" /></a></td>\n';
     row++;
   }
   buffer += "</table>\n";
   $('pods').innerHTML=buffer;
}


function showPhotos() {
   _gPbpType=0;
   hideAll();
   setSelected(3);
   getFirstPhoto();
   hide('titleBar');
   _gCurrentPage = "photoView";
   show(_gCurrentPage);
}

function showPodcast() {
   _gPbpType=0;
   hideAll();
   setSelected(4);
   showPods();
   hide('titleBar');
   _gCurrentPage = "podcastView";
   show(_gCurrentPage);
}


function showMore() {
   _gPbpType=0;
   hideAll();
   setSelected(5);
   hide('titleBar');
   _gCurrentPage = "moreView";
   show(_gCurrentPage);
}

function showAbout() {
   _gPbpType=0;
   hideAll();
   hide('titleBar');
   _gCurrentPage = "aboutView";
   show(_gCurrentPage);
}

function share() {
   _gPbpType=0;
   hideAll();
   hide('titleBar');
   _gCurrentPage = "shareView";
   show(_gCurrentPage);
}

////////////////////////////////////////////////////////////
// Photo functions
////////////////////////////////////////////////////////////

function cyclePhotos() {
   var buffer = ""

   if(_gImgCnt<=0) {
      $('pics').innerHTML = buffer;
      return;
   }

   if(_gPhotoIndex >= _gImgCnt-1)
      _gPhotoIndex = -1;
   _gPhotoIndex++;
   buffer += '<table width="100%" style="background-color:#222222;color:#ffffff"><tr>\n';
   buffer += "<td><img width='1' height='120' src='img/1x1.gif' /></td>";
   buffer += "<td align='center' valign='middle'><a href='"+_gImgList[_gPhotoIndex].pic+"'><img align='center' width='60' src='"+_gImgList[_gPhotoIndex].pic+"' /></a></td>";
   buffer += "</tr><tr>";
   buffer += '<td colspan="2" width="200" style="font-size:8pt">'+_gImgList[_gPhotoIndex].caption+'<br/>('+_gImgList[_gPhotoIndex].copy+')</td></tr></table>\n';
   $('pics').innerHTML = buffer;
   window.setTimeout(cyclePhotos,12000);
}

function listNewsArticles() {
   var buffer = "";
   buffer += "<table width='100%' cellpadding='0' cellspacing='0' border='0'>\n";
   row=0;
   for(i=0; i<_gNewsCnt; i++) {
     if(row%2==0)
        buffer += "   <tr class='todd'>\n";
     else
        buffer += "   <tr class='teven'>\n";
     buffer += '      <td class="link1"><a href="javascript:void(0);" onclick="getNews('+i+'); return false;">'+_gNewsList[i].h+'</a></td>\n';
     buffer += '      <td width="20%" class="link"><a href="javascript:void(0);" onclick="getNews('+i+'); return false;"><img src="img/arrow.png" /></a></td>\n';
     row++;
   }
   buffer += "</table>\n";
   $('news').innerHTML = buffer; 
}


function showMiniNews() {
   var buffer = "";
   buffer += '      <span class="link1"><a href="javascript:void(0);" onclick="gotoNews('+0+'); return false;">'+_gNewsList[0].h+'</a></span>\n';
   buffer += '<br/><span>'+ _gNewsList[0].c.substring(0,250)+"...</span>";
   //buffer += '      <br/><br/><span class="link1"><a href="javascript:void(0);" onclick="gotoNews('+1+'); return false;">'+_gNewsList[1].h+'</a></span>\n';
   //buffer += '<br/><span>'+ _gNewsList[1].c.substring(0,250)+"...</span>";
   $('mininews').innerHTML = buffer; 
}


function gotoNews(i) {
   _gPbpType=0;
   hideAll();
   _gCurrentPage = "newsView";
   setSelected(6);
   hide('titleBar');
   show(_gCurrentPage);
   getNews(i);
   show('news');
   hide('photoView');
}


function getNews(i) {
   var buffer="";
   hide('titleBar');

   var c = _gNewsList[i].c.split("\n");
   buffer += "<table width='100%' cellspacing='0' cellpadding='0' border='0'> <tr class='todd'>\n";
   buffer += '   <td class="pgTitle">'+_gNewsList[i].h+'</td>\n';
   buffer += '      <td align="right"><a href="javascript:void(0);" onclick="showNews(); return false;"><img src="img/back.gif" /></a></td>\n';
   buffer += "</tr> <tr class='teven'>\n";
   buffer += '   <td colspan="2" style="padding:3px">'
   for (j=0; j<c.length; j++) {
      if(c[j] != "")
         buffer += c[j]+"<br/>";
   }
   buffer += '   </td>\n';
   buffer += "</tr> </table>\n";
   $('news').innerHTML = buffer; 
}


function showMiniPhotos() {
   var s1=_gCurrMiniPhoto;
   if(s1 >= _gImgCnt-1)
      s1 = 0;
   var s2=s1+1;
   if(s2 >= _gImgCnt-1)
      s2 = 0;
   var s3=s2+1;
   if(s3 >= _gImgCnt-1)
      s3 = 0;
   updateMiniPhoto(s1,s2,s3);
   _gCurrMiniPhoto++;
   if(_gCurrMiniPhoto >= _gImgCnt-1)
      _gCurrMiniPhoto = 0;
   _gPhotoTimer=window.setTimeout(showMiniPhotos, 10000);
}

function updateMiniPhoto(s1,s2,s3) {
   var buffer="";
   buffer += '      <a href="javascript:void(0);" onclick="showPhoto('+s1+'); return false;" ><img class="miniphoto" src="'+_gImgList[s1].icon+'" /></a>\n';
   buffer += '      <a href="javascript:void(0);" onclick="showPhoto('+s2+'); return false;" ><img class="miniphoto" src="'+_gImgList[s2].icon+'" /></a>\n';
   buffer += '      <a href="javascript:void(0);" onclick="showPhoto('+s3+'); return false;" ><img class="miniphoto" src="'+_gImgList[s3].icon+'" /></a>\n';
   $('miniphotos').innerHTML = buffer; 
}


function showPhoto(i) {
   _gPbpType=0;
   hideAll();
   setSelected(3);
   getPhoto(i);
   hide('titleBar');
   _gCurrentPage = "photoView";
   show(_gCurrentPage);
}

function getPhoto(i) {
   var buffer = "";
   buffer += '<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr class="todd":>\n';
   buffer += "<td align='center' valign='middle'><a href='"+_gImgList[i].pic+"' target='_blank'><img height='200' vspace='4' src='"+_gImgList[i].pic+"' /></a></td>\n";
   buffer += "</tr><tr class='teven'>\n";
   buffer += "<td><div align='left' class='photo'>"+_gImgList[i].caption+" ("+_gImgList[i].copy+")</div></td>\n";
   buffer += "</tr></table>\n";
   $('photo').innerHTML = buffer; 
   $('img-indicator').innerHTML = (i+1) + "/" + _gImgList.length;
}


function getFirstPhoto() {
   _gCurrPhoto=0;
   getPhoto(_gCurrPhoto);
}


function getNextPhoto() {
   if(_gCurrPhoto >= _gImgCnt-1)
      _gCurrPhoto = -1;

   _gCurrPhoto++;
   getPhoto(_gCurrPhoto);
}

function getPrevPhoto() {
   if(_gCurrPhoto <= 0)
      _gCurrPhoto = _gImgCnt;

   _gCurrPhoto--;
   getPhoto(_gCurrPhoto);
}


function blinkImage(id,count) {
   if(count%2)
      show(id);
   else
      hide(id);

   count--;
   if (count >= 0){
      fname = 'blinkImage(\''+id+'\','+count+')';
      setTimeout(fname,500);
   }

   return(count);
}

function getTimeString(num) {
   var min_num = parseInt(num /60);
   var tl = "";

   if (min_num <10)
      tl = "0"+min_num+":";
   else
      tl = min_num+":";
   var sec_num = num % 60;
   if (sec_num <10)
      tl = tl+"0"+sec_num;
   else
      tl = tl+sec_num;
 
   return tl;
}

