// 2005-12-19T14:05:00Z
//
//
//

//var api_root = "/services/rest?";
var api_root = "http://www0.rdthdo.bbc.co.uk/cgi-perl/api/query.pl?";

// check daylight saving 
var now = new Date();
var tzo = (now.getTimezoneOffset()/60)*-1;

function populateGetScheduleForm( form ) {

  // get today's date
  var now = new Date();

  var month = convertNumberToString( now.getMonth() + 1 );
  var hour = convertNumberToString( now.getHours() - tzo );
  var minute = convertNumberToString( now.getMinutes() );
  var date = convertNumberToString( now.getDate() );
  
  form.start.value = now.getFullYear() + "-" + month + "-" + date + "T" + hour + ":" + minute + ":00Z";
  form.end.value = now.getFullYear() + "-" + month + "-" + date + "T23:59:59Z";
  
  form.limit.value = 100;
  
  
}

function submitGetScheduleForm( form ) {

  var query = "method=bbc.schedule.getProgrammes&channel_id=";
  
  if ( form.channel_id[0].checked ) { query += "BBCOne" }
  if ( form.channel_id[1].checked ) { query += ",BBCTwo" }
  if ( form.channel_id[2].checked ) { query += ",BBCThree" }
  if ( form.channel_id[3].checked ) { query += ",BBCFour" }
  if ( form.channel_id[4].checked ) { query += ",BBCCBBC" }
  if ( form.channel_id[5].checked ) { query += ",BBCCbeebies" }
  if ( form.channel_id[6].checked ) { query += ",BBCNewsTF" }
  if ( form.channel_id[7].checked ) { query += ",BBCParl" }
  if ( form.channel_id[8].checked ) { query += ",BBCROne" }
  if ( form.channel_id[9].checked ) { query += ",BBCRTwo" }
  if ( form.channel_id[10].checked ) { query += ",BBCRThree" }
  if ( form.channel_id[11].checked ) { query += ",BBCRFour" }
  if ( form.channel_id[12].checked ) { query += ",BBCRFiveL" }
  if ( form.channel_id[13].checked ) { query += ",BBCRFiveX" }
  if ( form.channel_id[14].checked ) { query += ",BBCSixMU" }
  if ( form.channel_id[15].checked ) { query += ",BBCSeven" }
  if ( form.channel_id[16].checked ) { query += ",OneXtra" }
  if ( form.channel_id[17].checked ) { query += ",BBCAsian" }
  if ( form.channel_id[18].checked ) { query += ",BBCWrld" }
  
  query += "&start=" + form.start.value;
  query += "&end=" + form.end.value;
  query += "&limit=" + form.limit.value;
  
  if ( form.format[1].checked ) { query += "&format=tvanytime" }
  if ( form.detail[1].checked ) { query += "&detail=schedule" }
  
  open( api_root + query, "_self" );
}


//*********************************************************************
// search()
//
// formats correct search query string for API call
//*********************************************************************
function submitSearchForm( form ) {

  var query = "method=bbc.programme.search";
  var date, month, year;
          
  query += "&title=" + form.title.value;
  query += "&limit=" + form.limit.value;
  query += "&keyword=" + form.keyword.value;
  //query += "&format=" + form.format.value;
   
  query += "&start=" + form.start.value;
  query += "&end=" + form.end.value;
    
  if ( form.format[1].checked ) { query += "&format=tvanytime" }
  if ( form.detail[1].checked ) { query += "&detail=schedule" }

  if ( form.sort[1].checked ) query += "&sort=title-reverse";
          
  //alert( form.start[0].checked );
                  
  //alert( query );
  open( api_root + query, "_self" );
        
}

//*****************************************************************************

function yesterday() {

  var today = new Date();
  var date, month, year;
            
  if ( today.getDate() != 1 ) {
  
    date = today.getDate() - 1;
    month = today.getMonth();
    year = today.getFullYear();
    
  } else {
            
    if ( today.getMonth() != 0 ) {
              
      month = today.getMonth();
                
      if ( month == 0 || month == 2 || month == 4 || month == 6 || month == 7 || month == 9 || month == 11 ) {
        date = 31;
      } else {
        date = 30;
      }
                
      year = today.getFullYear();
                
    } else {
      year = today.getYear() - 1;
      month = 11;
      date = 31;
    }
  }
  
  var yesterday = new Date( year, month, date );

  return yesterday;
}

function showDate( date_str ) {

	alert('Hello');

	var date_out_str;
	
	var year = date_str.substring( 0, 4 );
	var month = date_str.substring( 5, 2 );
	var date = date_str.substring( 8, 2 );
	var hour = date_str.substring( 10, 2 );
	var minute = date_str.substring( 13, 2 );

	date_out_str = hour + ":" + minute + ", " + date + "-" + month + "-" + year;

	return date_out_str;
}

function correctTime( str ) {

  alert( "Hello!" );

	if ( tzo != 0 ) {
      
    hourStr = str.substr( 1, 2 );
    hour = convertStringToNumber( hourStr );
    hour += tzo;
    str = "" + hour + str.substr( 3, 5 );
  } 
	  
	return str;	  
}

function convertStringToNumber( str ) {
  var num = 0;
  for (var i = 0; i<str.length; i++)
    num += (str.charCodeAt(i) - 48) * Math.pow(10, (str.length - i - 1) );
	return num;
}		


        
function convertNumberToString( number ) {
  if ( number < 10 ) {
    str = "0" + number;
  } else {
    str = number;
  }
  return str;
}
