$(function(){
	$('#program').html('<div id="plyr"></div><div id="play"></div>').show();
	getPrograms();
	$('#play').live("click",function(){
		window.location="mms://24.247.22.98:8000";
	}).hover(function(){$(this).html('<img src="images/player_btn_hov.png" />');},function(){$(this).html('');});
});

function getPrograms(){
	var zone = calculate_time_zone();
	//alert(zone);-05:00
	var dif_hr = zone.substr(1,2);
	var dif_mn = zone.substr(4,2);
	var mar = zone.substr(0,1);
	if(mar == '-'){
		mar = 'n';
	}else{
		mar = 'p';
	}
	//alert(dif_hr + ':' + dif_mn);
	$.getJSON("program.php",{"mar":mar,"hr":dif_hr,"mn":dif_mn},function(data){
		$.ajax({
			type:'get',
			url:'wblwPrograms.xml',
			datatype:'xml',
			success: function(xml){
				var c_name, c_time, c_author, n_name, n_time, n_author;
				var i = 0;
				$(xml).find(data.day).children('program').each(function(){
					var time = $(this).attr('time');
					if((time * 1) > (data.hr * 1) && i == 0){
						c_name = $(this).prev().attr('name');
						c_time = $(this).prev().attr('time');
						c_author = $(this).prev().attr('author');
						n_name = $(this).attr('name');
						n_time = $(this).attr('time');
						n_author = $(this).attr('author');
						i++;
					}
				});
				var c_hour = c_time.substr(0,2);
				var c_min = c_time.substr(2);
				if(c_hour > 12){
					c_hour = c_hour - 12;
					var c_mir = 'PM';
				}else{
					var c_mir = 'AM';
				}
				var n_hour = n_time.substr(0,2);
				var n_min = n_time.substr(2);
				if(n_hour > 12){
					n_hour = n_hour - 12;
					var n_mir = 'PM';
				}else{
					var n_mir = 'AM';
				}
				var html = $('#plyr').html();
				if(html != '<div id="current"><p><span id="now_t">' + c_hour + ':' + c_min + ' ' + c_mir + ' - ' + c_name + '</span><br><span id="now_b">' + c_author + '</span></p></div><div id="next"><p><span id="next_t">' + n_hour + ':' + n_min + ' ' + n_mir + ' - ' + n_name + '</span><br><span id="next_b">' + n_author + '</span></p></div>'){
					type(c_hour + ':' + c_min + ' ' + c_mir + ' - ' + c_name,c_author,n_hour + ':' + n_min + ' ' + n_mir + ' - ' + n_name,n_author,0);
				}
			}
		});
	});
	var t = setTimeout("getPrograms()",10000);
}

function type(now_t,now_b,next_t,next_b,num){
	if(num >= (now_t.length + now_b.length + next_t.length + next_b.length)){
		$('#plyr').html('<div id="current"><p><span id="now_t">' + now_t + '</span><br><span id="now_b">' + now_b + '</span></p></div><div id="next"><p><span id="next_t">' + next_t + '</span><br><span id="next_b">' + next_b + '</span></p></div>');
	}else if(num > (now_t.length + now_b.length + next_t.length)){
		$('#plyr').html('<div id="current"><p><span id="now_t">' + now_t + '</span><br><span id="now_b">' + now_b + '</span></p></div><div id="next"><p><span id="next_t">' + next_t + '</span><br><span id="next_b">' + next_b.substr(0,(num - now_t.length - now_b.length - next_t.length)) + '</span></p></div>');
		num ++;
		var t = setTimeout("type('"+now_t+"','"+now_b+"','"+next_t+"','"+next_b+"',"+num+")",80);
	}else if(num > (now_t.length + now_b.length)){
		$('#plyr').html('<div id="current"><p><span id="now_t">' + now_t + '</span><br><span id="now_b">' + now_b + '</span></p></div><div id="next"><p><span id="next_t">' + next_t.substr(0,(num - now_t.length - now_b.length)) + '</span><br><span id="next_b"></span></p></div>');
		num ++;
		var t = setTimeout("type('"+now_t+"','"+now_b+"','"+next_t+"','"+next_b+"',"+num+")",80);
	}else if(num > (now_t.length)){
		$('#plyr').html('<div id="current"><p><span id="now_t">' + now_t + '</span><br><span id="now_b">' + now_b.substr(0,(num - now_t.length)) + '</span></p></div><div id="next"><p><span id="next_t"></span><br><span id="next_b"></span></p></div>');
		num ++;
		var t = setTimeout("type('"+now_t+"','"+now_b+"','"+next_t+"','"+next_b+"',"+num+")",80);
	}else{
		$('#plyr').html('<div id="current"><p><span id="now_t">' + now_t.substr(0,num) + '</span><br><span id="now_b"></span></p></div><div id="next"><p><span id="next_t"></span><br><span id="next_b"></span></p></div>');
		num ++;
		var t = setTimeout("type('"+now_t+"','"+now_b+"','"+next_t+"','"+next_b+"',"+num+")",80);
	}
}

function calculate_time_zone() {
	var rightNow = new Date();
	var jan1 = new Date(rightNow.getFullYear(), 0, 1, 0, 0, 0, 0);  // jan 1st
	var june1 = new Date(rightNow.getFullYear(), 6, 1, 0, 0, 0, 0); // june 1st
	var temp = jan1.toGMTString();
	var jan2 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
	temp = june1.toGMTString();
	var june2 = new Date(temp.substring(0, temp.lastIndexOf(" ")-1));
	var std_time_offset = (jan1 - jan2) / (1000 * 60 * 60);
	var daylight_time_offset = (june1 - june2) / (1000 * 60 * 60);
	var dst;
	if (std_time_offset == daylight_time_offset) {
		dst = "0"; // daylight savings time is NOT observed
	} else {
		// positive is southern, negative is northern hemisphere
		var hemisphere = std_time_offset - daylight_time_offset;
		if (hemisphere >= 0)
			std_time_offset = daylight_time_offset;
		dst = "1"; // daylight savings time is observed
	}
	var i;
	// check just to avoid error messages
	return convert(std_time_offset);
}

function convert(value) {
	var hours = parseInt(value);
   	value -= parseInt(value);
	value *= 60;
	var mins = parseInt(value);
   	value -= parseInt(value);
	value *= 60;
	var secs = parseInt(value);
	var display_hours = hours;
	// handle GMT case (00:00)
	if (hours == 0) {
		display_hours = "00";
	} else if (hours > 0) {
		// add a plus sign and perhaps an extra 0
		display_hours = (hours < 10) ? "+0"+hours : "+"+hours;
	} else {
		// add an extra 0 if needed 
		display_hours = (hours > -10) ? "-0"+Math.abs(hours) : hours;
	}
	
	mins = (mins < 10) ? "0"+mins : mins;
	return display_hours+":"+mins;
}
