﻿jQuery.noConflict();

//SLV Player
// przydatne zmienne
var activUp = null;
var activDown = null;
var slCurrentBuffer = 0;
var slCurrentState = 'IDLE';
var slCurrentVolume = 70;
var slplayer;
// osadzenie pleyera
function createSlv(plik, play, obj) {
	jQuery("#slPlay").removeClass("pause");
	jQuery("#slPlay").addClass("play");
	jQuery("#time").html('--:-- / --:--');
	jQuery("#buffer").html("");
	jQuery("#state").html("");
	jQuery('.mp3').removeClass('active');
	jQuery(obj).addClass('active');
	var cnt = jQuery('div#slPlayer').get(0);
	var src = '/_controls/_Silverlight/wmvplayer.xaml';
	var cfg = {
		file: plik,
		width: 0,
		height: 0,
		autostart: play
	};
	slplayer = new jeroenwijering.Player(cnt, src, cfg);
	
	var $SL = null;
	$SL = document.getElementById('slPlayer');
	var strSL = $SL.innerHTML;
	if(strSL.slice(1,2).toLowerCase()=='a'){
		//console.log('no');
	}
	else {
		//console.log('yes');
		$SL.style.height=0;
		$SL.style.width=0;
	}
	
	addListenersSLV();
};
// sterowanie
function addListenersSLV() {
	if (slplayer.view) {
		slplayer.addListener('VOLUME', volumeUpdate);
		slplayer.addListener('STATE', stateUpdate);
		slplayer.addListener('BUFFER', bufferUpdate);
		slplayer.addListener('TIME', timeUpdate);
	} else {
		setTimeout("addListenersSLV()", 100);
	}
};
function bufferUpdate(pct) {
	slCurrentBuffer = pct;
	if(pct!=100 && pct!=0)
		jQuery("#buffer").html(pct+"%");
};
function volumeUpdate(vol) {
	slCurrentVolume = vol;
};
function timeUpdate(pos,dur) {
	currentPosition = pos;
	var mmTotal = 0;
	var ssTotal = 0;
	mmTotal = Math.floor(dur / 60);
	ssTotal = Math.floor(dur - (mmTotal * 60));
	var mmT;
	var ssT;
	if (dur == 0)
		mmT = '--';
	else if (dur > 0 && mmTotal < 10)
		mmT = '0' + mmTotal.toString();
	else
		mmT = mmTotal;
	if (dur == 0)
		ssT = '--';
	else if (dur > 0 && ssTotal < 10)
		ssT = '0' + ssTotal.toString();
	else
		ssT = ssTotal;
	var mmCurent = 0;
	var ssCurent = 0;
	mmCurent = Math.floor(pos / 60);
	ssCurent = Math.floor(pos - (mmCurent * 60));
	var mmC;
	var ssC;
	if (pos == 0)
		mmC = '--';
	else if (pos > 0 && mmCurent < 10)
		mmC = '0' + mmCurent.toString();
	else
		mmC = mmCurent;
	if (pos == 0)
		ssC = '--';
	else if (pos > 0 && ssCurent < 10)
		ssC = '0' + ssCurent.toString();
	else
		ssC = ssCurent;
	jQuery("#time").html(mmC + ':' + ssC + ' / ' + mmT + ':' + ssT);
};
function stateUpdate(ost,nst) {
	currentState = nst;
	if (nst.toString().toLowerCase() == "playing") {
		jQuery("#state").html("");
		jQuery("#buffer").html("");
		jQuery("#slPlay").removeClass("play");
		jQuery("#slPlay").addClass("pause");
	} else {
		if (nst.toString().toLowerCase() == "buffering") 
			jQuery("#state").html(nst);
		jQuery("#slPlay").removeClass("pause");
		jQuery("#slPlay").addClass("play");
	}
}; 

//funkcje zwracające odpowiednie id
function idPrzerwy(tabId) {
	var idSection = tabId;
	switch (tabId) {
		case 1: idSection = 1208; break;
		case 2: idSection = 1213; break;
		case 3: idSection = 1214; break;
	}
	return idSection
}
function idZapowiedzi(tabId) {
	var idSection = tabId;
	switch (tabId) {
		case 1: idSection = 1222; break;
		case 2: idSection = 1223; break;
		case 3: idSection = 1224; break;
	}
	return idSection
}
function idDzwieki(tabId) {
	var idSection = tabId;
	switch (tabId) {
		case 1: idSection = 1227; break;
		case 2: idSection = 1228; break;
		case 3: idSection = 1229; break;
	}
	return idSection
}
function idString(tabId) {
	var idSection = '';
	switch (tabId) {
		case 1: idSection = 'Sejmu'; break;
		case 2: idSection = 'Senatu'; break;
		case 3: idSection = 'Komisji'; break;
	}
	return idSection
}
function idStream(tabId) {
	var idSection = '';
	switch (tabId) {
		case 1: idSection = '_slv/sejm.asx'; break;
		case 2: idSection = '_slv/senat.asx'; break;
		case 3: idSection = '_slv/komisje.asx'; break;
	}
	return idSection
}
//sterowanie tabs up
function tabsPlayer(me, tabId) {
	activUp = tabId;
	tabsAll();
	//zmiana tab up
	jQuery('.upperTabsSelected').attr('class', 'upperTabs');
	jQuery(me).attr('class', 'upperTabsSelected');
}
//sterowanie tabs down
function tabsContent(me, tabId) {
	activDown = tabId;
	tabsAll();
	//zmiana tab down
	jQuery('.downTabSelected').attr('class', 'downTab');
	jQuery(me).attr('class', 'downTabSelected');
}
//sterowanie tabs wspólne
var b1;
var b2;
var b3;
function tabsAll() {
	jQuery("#buffer").html("");
	jQuery("#state").html("");
	jQuery("#time").html('--:-- / --:--');
	jQuery("#slPlay").removeClass("pause");
	jQuery("#slPlay").addClass("play");
	//zmiana content
	if ((activUp != null && activUp != "") && (activDown != null && activDown != "")) {
		setCookie('cookieTab', activUp.toString() + ';' + activDown.toString(), 365);
	}
	jQuery(".lista").addClass('hiden');
	//undefined
	if (activUp != null) {
		if (activDown == 1) {
			//zmiana pliku slvPlayer
			createSlv(idStream(activUp), "false");
			//load przerwy
			loadPrzerwy(activUp);
			//b1=setTimeout("loadPrzerwy(activUp)",1000*5);
			//load Zapowiedzi
			loadZapowiedzi(activUp);
			//b2=setTimeout("loadZapowiedzi(activUp)",1000*5);
			jQuery('#zapowiedziLista').removeClass('hiden');
			jQuery('#Przerwy').removeClass('hiden');
			jQuery('#slStop').addClass('hiden');
			jQuery('#time').addClass('hiden');
		}
		else {
			//load Dzwieki + play first mp3
			loadDzwieki(activUp);
			//b3=setTimeout("loadDzwieki(activUp)",1000*5);
			jQuery('#mp3Lista').removeClass('hiden');
			jQuery('#Przerwy').addClass('hiden');
			jQuery('#slStop').removeClass('hiden');
			jQuery('#time').removeClass('hiden');
		}
	}
}

//load przerwy
function loadPrzerwy(tabId) {
	jQuery("#Przerwy").html("Posłuchaj transmisji z obrad " + idString(tabId));
	jQuery.ajax({
		type: "GET",
		url: "/_cms/sections/" + idPrzerwy(tabId) + "/articles.xml",
		dataType: "xml",
		success: function(xml) {
			jQuery(xml).find('article').each(function(i) {
				var title = jQuery(this).children('title').text();
				var pattern = /\D+/;
				var strD = jQuery(this).children('date_show').text();
				arrD = strD.split(pattern);
				var dataOd = new Date();
				dataOd.setTime((1000 * 60 * 60 * (new Number(arrD[3]) - 1)) + (1000 * 60 * new Number(arrD[4])) + (1000 * new Number(arrD[5]))); //h+m+s
				dataOd.setFullYear(new Number(arrD[0]), new Number(arrD[1]) - 1, new Number(arrD[2]));
				strD = jQuery(this).children('date_hide').text();
				arrD = strD.split(pattern);
				var dataDo = new Date();
				dataDo.setTime((1000 * 60 * 60 * (new Number(arrD[3]) - 1)) + (1000 * 60 * new Number(arrD[4])) + (1000 * new Number(arrD[5]))); //h+m+s
				dataDo.setFullYear(new Number(arrD[0]), new Number(arrD[1]) - 1, new Number(arrD[2]));
				if (i == 0) {
					if (Date.parse(dataOd) < Date.parse(Date()))
						if(Date.parse(dataDo) > Date.parse(Date()))
							jQuery("#Przerwy").html(title);
				}
			});
		},
		complete: function() { },
		error: function(a) {
			jQuery("#Przerwy").html("<span class='laduje'>Ładuje ...</span>");
		}
	});
}
//load Zapowiedzi
function loadZapowiedzi(tabId) {
	jQuery.ajax({
		type: "GET",
		url: "/_cms/sections/" + idZapowiedzi(tabId) + "/articles.xml",
		dataType: "xml",
		success: function(xml) {
			jQuery("#zapowiedziLista").html("");
			jQuery("<ul></ul>").appendTo("#zapowiedziLista");
			jQuery(xml).find('article').each(function() {
				var $article = jQuery(this);
				var pattern = /\D+/;
				var strD = $article.children('date_show').text();
				arrD = strD.split(pattern);
				var title = $article.children('title').text();
				jQuery("<li><span class='date'>" + arrD[2] + "." + arrD[1] + "." + arrD[0] + " " + arrD[3] + ":" + arrD[4] + "</span><span class='title'>" + title + "</span></li>").appendTo("#zapowiedziLista ul");
			});
		},
		complete: function() { },
		error: function(a) {
			jQuery("#zapowiedziLista").html("<span class='laduje'>Ładuje ...</span>");
		}
	});
}
//load Dzwieki
function loadDzwieki(tabId) {
	var toPlay = "";
	var liActiv = true;
	jQuery.ajax({
		type: "GET",
		url: "/_cms/sections/" + idDzwieki(tabId) + "/articles.xml",
		//url: "/_cms/sections/1203/articles.xml",
		dataType: "xml",
		success: function(xml) {
			jQuery("#mp3Lista").html("");
			var flag = 5;
			jQuery("<ul></ul>").appendTo("#mp3Lista");
			jQuery(xml).find('article').each(function(i) {
				if (i < flag) {
					var $article = jQuery(this);
					var id = $article.children('id').text();
					var title = $article.children('title').text();
					var pattern = /\D+/;
					var strD = $article.children('date_show').text();
					arrD = strD.split(pattern);
					var mp3 = '';
					jQuery(xml).find('file').each(function() {
						var $file = jQuery(this);
						var idtb_article = $file.attr("idtb_article");
						if (idtb_article == id) {
							mp3 = $file.attr("folder") + "/" + $file.text();
							if (mp3.length != 0) {
								if (liActiv) {
									toPlay = "/_files/" + mp3;
									jQuery("<li><a class='mp3 active' onClick='javascript:createSlv(\"/_files/" + mp3 + "\", \"true\", this);'><span class='date'>" + arrD[2] + "." + arrD[1] + "." + arrD[0] + "</span><span class='title'>" + title + "</span></a></li>").appendTo("#mp3Lista ul");
									liActiv = false;
								}
								else {
									jQuery("<li><a class='mp3' onClick='javascript:createSlv(\"/_files/" + mp3 + "\", \"true\", this);'><span class='date'>" + arrD[2] + "." + arrD[1] + "." + arrD[0] + "</span><span class='title'>" + title + "</span></a></li>").appendTo("#mp3Lista ul");
								}
							}
						}
					})
				}
			});
			if(toPlay.length != 0) {
				jQuery("<a class='more' href='dzwieki/?id=" + idDzwieki(tabId) + "'>więcej&nbsp;&#187;</a>").appendTo("#mp3Lista");
				createSlv(toPlay, "false", jQuery('#mp3Lista ul li a:first'));
			}
		},
		complete: function() { },
		error: function(a) {
			jQuery("#mp3Lista").html("<span class='laduje'>Ładuje ...</span>");
		}
	});
}

//COOKI
function getCookie(c_name) {
	if (document.cookie.length > 0) {
		c_start = document.cookie.indexOf(c_name + "=");
		if (c_start != -1) {
			c_start = c_start + c_name.length + 1;
			c_end = document.cookie.indexOf(";", c_start);
			if (c_end == -1) c_end = document.cookie.length
			return unescape(document.cookie.substring(c_start, c_end));
		}
	}
	return ""
}

function setCookie(c_name, value, expiredays) {
	var exdate = new Date();
	exdate.setDate(exdate.getDate() + expiredays);
	document.cookie = c_name + "=" + escape(value) + ((expiredays == null) ? "" : "; expires=" + exdate.toGMTString());
}

function checkCookie() {
	var cookieTab = getCookie('cookieTab');
	if (cookieTab != null && cookieTab != "") {
		var pattern = /\D+/;
		arrD = cookieTab.split(pattern);
		activUp = Number(arrD[0]);
		activDown = Number(arrD[1]);
	}
	else {
		if ((activUp != null && activUp != "") && (activDown != null && activDown != "")) {
			setCookie('cookieTab', activUp.toString()+';'+activDown.toString(), 365);
		}
		else {
			setCookie('cookieTab', '1;1', 365);
			activUp = 1;
			activDown = 1;
		}
	}
}


//page start
jQuery(document).ready(function() {
	checkCookie();
	tabsContent(jQuery('#tabVie #view' + activDown), activDown);
	tabsPlayer(jQuery('#tabAud #tab' + activUp), activUp);
})
