dojo.require("dojo.NodeList-fx");

var scrollLimit = 7;
var imageRotatorIndex = 0;
var timer=false;

function next(start, type){
	var cssID		= getCssIDbyType(type);
	var moduleID	= dojo.query("div[id=layoutBox] div[id="+cssID+"] input[id=moduleID]")[0].value;
	var node		= dojo.query("div[id=layoutBox] div[id="+cssID+"] div[id=module"+moduleID+"] .box");
	var count		= node.length;

	if (count <= scrollLimit) {
		return false;
	} else {
		var next = start + scrollLimit;
		for (var i=start; i < next; i++) {
			dojo.style(node[i], "display", "none");
		}
		setValues(i, type);
	}
}

function previous(start, type){
	var cssID		= getCssIDbyType(type);
	var moduleID	= dojo.query("div[id=layoutBox] div[id="+cssID+"] input[id=moduleID]")[0].value;
	var node		= dojo.query("div[id=layoutBox] div[id="+cssID+"] div[id=module"+moduleID+"] .box");
	var count		= node.length;

	if (count<=scrollLimit) {
		return false;
	} else {
		var next = start - scrollLimit;
		for (var i = start; i >= next; i--) {
			dojo.style(node[i], "display", "block");
		}
		setValues(i+1, type);
	}
}

function getCssIDbyType(type){
	switch(type){
		case 1:
			return "najnowszeWide";
			break;
		case 2:
			return "scrollPolecamy";
			break;
		case 3:
			return "wczesniejszeWydania";
			break;
	}
}

function setValues(i, type){
	var cssID		= getCssIDbyType(type);
	var moduleID	= dojo.query("div[id=layoutBox] div[id="+cssID+"] input[id=moduleID]")[0].value;
	var node		= dojo.query("div[id=layoutBox] div[id="+cssID+"] div[id=module"+moduleID+"] .box");
	var count		= node.length;
    var calc		= i / scrollLimit;
	lDiv = dojo.query("div[id=layoutBox] div[id="+cssID+"] .leftArr");
	rDiv = dojo.query("div[id=layoutBox] div[id="+cssID+"] .rightArr");
	var bw = '';
	if (cssID=='scrollPolecamy' || cssID=='wczesniejszeWydania') {
		bw = '_bw';
	}
	if (i==0) {
		lDiv[0].onclick = function() {return false;};
		lDiv[0].style.cursor = 'default';
		lDiv[0].style.background = 'url(http://s.v3.tvp.pl/files/tvp-info/gfx/newest_left_arrow'+ bw +'_i.png) no-repeat scroll 0 0';
	} else {
		lDiv[0].onclick = function() {previous(i, type); return false;};
		lDiv[0].style.cursor = 'pointer';
		lDiv[0].style.background = 'url(http://s.v3.tvp.pl/files/tvp-info/gfx/newest_left_arrow'+ bw +'.png) no-repeat scroll 0 0';
	}
	if (i+scrollLimit>=count) {
		rDiv[0].onclick = function() {return false;};
		rDiv[0].style.cursor = 'default';
		rDiv[0].style.background = 'url(http://s.v3.tvp.pl/files/tvp-info/gfx/newest_right_arrow'+ bw +'_i.png) no-repeat scroll 0 0';
	} else {
		rDiv[0].onclick = function() {next(i, type); return false;};
		rDiv[0].style.cursor = 'pointer';
		rDiv[0].style.background = 'url(http://s.v3.tvp.pl/files/tvp-info/gfx/newest_right_arrow'+ bw +'.png) no-repeat scroll 0 0';
	}
//	document.title = document.title + ' | ';
}

function swap(enable){
	var node	= dojo.query("#najnowszeWide .module");
	var ilosc	= node.length;
	dojo.query("#layoutBox #najnowszeWide input[id=moduleID]")[0].value = enable;

	if (enable==0) {
		dojo.style(dojo.byId("tall"), "background", "url(http://s.v3.tvp.pl/files/tvp-info/gfx/newest_selected_bg.png) no-repeat scroll 0 0");
		dojo.style(dojo.byId("tvid"), "background", "none");
		//dojo.style(dojo.byId("ttv"), "background", "none");
	} else if (enable==1) {
		dojo.style(dojo.byId("tall"), "background", "none");
		dojo.style(dojo.byId("tvid"), "background", "url(http://s.v3.tvp.pl/files/tvp-info/gfx/newest_selected_bg.png) no-repeat scroll 0 0");
		//dojo.style(dojo.byId("ttv"), "background", "none");
	} else if (enable==2) {
		dojo.style(dojo.byId("tall"), "background", "none");
		dojo.style(dojo.byId("tvid"), "background", "none");
		//dojo.style(dojo.byId("ttv"), "background", "url(/files/tvp-info/gfx/newest_selected_long_bg.png) no-repeat scroll 0 0")
	}
	
	for (var z=0; z<ilosc; z++) {
		if (z!=enable) {
			dojo.style(node[z], "display", "none");
		}	
	}
	dojo.style(node[enable], "display", "block");

	// wyzerowanie warstwy (przewiniecie w lewo)
	var node		= dojo.query("div[id=layoutBox] div[id=najnowszeWide] > div[id=module"+enable+"] .box");
	var count		= node.length;

	for (var i=0; i<count; i++) {
		dojo.style(node[i], "display", "block");
	}
	setValues(0, 1);
}

function rotate_images(imageTime){
  dojo.xhrGet ({
      url: '/pub/stat/listing',
      content: {
      	object_id: "230395",
      	object_type: "image",
      	sort_by: "POSITION",
      	xslt: "tvp-info/shared/rotator.xslt"
			},
			handleAs: "json",
      load: function (data) {
					//var i = 0;
					function make_rotate(){
						rotate(data, imageTime);
					}
					var timeInterval = imageTime;
					//make_rotate();
					dojo.byId("autopromo").innerHTML = data.images[0].image;
					this.imageRotatorIndex=1;
					window.setInterval(make_rotate, timeInterval);   		
      },
      error: function (data) {
          console.error('Error: ', data);
      }
  });
  
}

function rotate(data, imageTime){
	var i = this.imageRotatorIndex;
	//alert(i);
	var node = dojo.byId("autopromo");
	var dataLength = data.images.length; 
	var image = data.images[i].image;
	node.innerHTML = image;
	i++;
	if(i>=dataLength){
		this.imageRotatorIndex = 0;
	}else{
		this.imageRotatorIndex = i;	
	}
}

function rotateGallery(imageTime){
	window.setInterval("switchImg(1)", imageTime); 
}


function swap_local(enable, mainNode, containerNode){
	var node = dojo.query(mainNode+' '+containerNode);
	var bgs = dojo.query(mainNode+' '+' .type .bgs');
	var bgm = dojo.query(mainNode+' '+' .type .bgm');
	var bge = dojo.query(mainNode+' '+' .type .bge');
	var ilosc = node.length;
	for(var t = 0; t < ilosc; t++){
		dojo.style(node[t], "display", "none");
		dojo.style(bgs[t], "display", "none");
		dojo.style(bgm[t], "background", "none");
		dojo.style(bge[t], "display", "none");
	}
	dojo.style(node[enable], "display", "block");
	dojo.style(bgs[enable], "display", "inline");
	dojo.style(bgm[enable], "background", "transparent url('http://s.v3.tvp.pl/files/tvp-info/gfx/bgm.png') repeat-x");
	dojo.style(bge[enable], "display", "inline");

}

function switchImg(direction){
	if(dojo.byId("galeria")){
		var base = '#galeria';
	}else if(dojo.byId("galMod")){
		var base = '#galMod';
	}
	var node = dojo.query(base+" .galeria");
	var nodeLength = node.length;
	
	for(var g = 0; g < nodeLength; g++){
		if(dojo.style(node[g], "display") == 'block'){
			if(direction == 1){
				var next = g + 1;
			}else if(direction == 0){
				var next = g - 1;
			}
			dojo.style(node[g], "display", "none");
		}
	}
	if(next > nodeLength-1 && direction == 1){
		next = 0;
	}else if(next < 0 && direction == 0){
		next = nodeLength - 1;
	}
	dojo.style(node[next], "display", "block");
}

function checkWeather(){
	if(readCookie('weatherCity') == null){
		getWeather(18);
	}else{
		var city_id = readCookie('weatherCity');
		getWeather(city_id);
	}
}

function getWeather(city_id){
  dojo.xhrGet ({
      url: '/pub/sess/weather',
      content: {
      	city: city_id,
      	xslt: "tvp-info/shared/prognoza.xslt",
		debug: 0,
		test: 0,
		poutput: 'xhtml'
		},
	  handleAs: "text",
      load: function (data) {
			dojo.byId("weather").innerHTML = data;
			if (readCookie('weatherCity') != city_id) {
				eraseCookie("weatherCity");
				createCookie("weatherCity",city_id,1);
			}
      },
      error: function (data) {
          console.error('Error: ', data);
      }
  });
  
}

function checkIMGWWeather(){
	if (readCookie('IMGWweatherCity') == null) {
		getIMGWWeather('Warszawa');
	} else {
		var city_code = readCookie('IMGWweatherCity');
		getIMGWWeather(city_code);
	}
}

function getIMGWWeather(city_code){
  dojo.xhrGet ({
      url: '/pub/stat/imgwweather',
      content: {
      	city: city_code,
		force_reload:'true',
      	xslt: "tvp-info/shared/prognozaIMGW.xslt",
		debug: 0,
		test: 0,
		poutput: 'xhtml'
	  },
	  handleAs: "text",
      load: function (data) {
			dojo.byId('weather').innerHTML = data;
			if (readCookie('IMGWweatherCity')!=city_code) {
				eraseCookie('IMGWweatherCity');
				createCookie('IMGWweatherCity',city_code,1);
			}
      },
      error: function (data) {
          console.error('Error: ', data);
      }
  });
}

/*
function addToCommunities(){
	
	var pos=getPos(dojo.byId('belka'));
	dojo.style('dodaj_do_box','left',(pos[0]) +'px');
	dojo.style('dodaj_do_box','top',(pos[1]+24)+'px');
	dojo.query('#belka .dodaj_do').onmouseover(function(e){if(timer){window.clearTimeout(timer)} dojo.style('dodaj_do_box','display','block')});
	dojo.query('#dodaj_do_box').onmouseover(function(e){if(timer){window.clearTimeout(timer)}});
	dojo.query('#belka .dodaj_do').onmouseout(function(e){timer=window.setTimeout("dojo.style('dodaj_do_box','display','none')",250)});
	dojo.query('#dodaj_do_box').onmouseout(function(e){timer=window.setTimeout("dojo.style('dodaj_do_box','display','none')",250)});
	
}
*/
function addToCommunitiesVideo(){
	var belkaArray = dojo.query('.video_subpage .belka'); 
	var dodajDoButtonArr = dojo.query('.video_subpage .belka .dodaj_do');
	var dodajDoBoxArr =	dojo.query('.video_subpage .dodaj_do_box');
	var count = belkaArray.length;
	var pos = null;
	var strdebug = "";
	for (var i=0; i< count; i++){
		dojo.style(dodajDoBoxArr[i], "display", "none");
		pos=getPos(belkaArray[i]);
		strdebug += "Pos "+pos;
		dojo.style(dodajDoBoxArr[i],'left',(pos[0]) +'px');
		dojo.style(dodajDoBoxArr[i],'top',(pos[1]+12)+'px');
	}
	dodajDoButtonArr.onmouseover(
		function(e){
			clearT(true);
			dojo.query('.video_subpage .dodaj_do_box').style("display", "none");
			dojo.style('dodaj_do_box'+e.target.id.substring(8),'display','block')
		}
	);
	dodajDoBoxArr.onmouseover(
		function(e){clearT(true);dojo.style(this.id,'display','block')}
	);
	dodajDoButtonArr.onmouseout(
		function(e){
			clearT();timer=window.setTimeout("dojo.style('dodaj_do_box"+e.target.id.substring(8)+"','display','none')",100)
		}
	);
	dodajDoBoxArr.onmouseout(
		function(e){clearT();timer=window.setTimeout("dojo.style('"+this.id+"','display','none')",100)}
	);
}

function clearT(ift){
	if(ift==true){
		if(timer){window.clearTimeout(timer)};
	}else{
		window.clearTimeout(timer);
	}
}

function sfHover() {
	var sfEls = document.getElementById("mainMenuBox").getElementsByTagName("li");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			dojo.addClass(this,'hover')
//			this.className+=" hover";
		}
		sfEls[i].onmouseout=function() {
			dojo.removeClass(this,'hover')
//			this.className=this.className.replace(new RegExp(" hover\\b"), "");
		}
	}
	document.title = document.title + ' . ' + sfEls.length;
}

dojo.addOnLoad(function(){
	var timer=false;
	if(dojo.byId("galeria") || dojo.byId("galMod")  ){
		rotateGallery(4000);	
	}
	//Co ile zmieniac image w rotatorze
	if(dojo.byId("autopromo")){
		var imageTime = 3000;
		rotate_images(imageTime);
	}
	if(dojo.query("#video_subpage .belka")){
		addToCommunitiesVideo();
	}
	/*
	if(dojo.byId("belka") && dojo.query("#contentNews #belka")){
		addToCommunities();
	}
	*/
	if(dojo.byId("galeria")){
		dojo.style(dojo.query("#galeria .galeria")[0], "display", "block");
	}else if(dojo.byId("galMod")){
		dojo.style(dojo.query("#galMod .galeria")[0], "display", "block");
	}
	if(dojo.byId("najpopularniejsze") && dojo.query("#najpopularniejsze .th small").length>0 ){
		swap_local('0', '#najpopularniejsze', '.box');
	}
	if(dojo.byId("opinie_mod")){
		swap_local(0, '#opinie_mod', '.opinie_box');
	}
	if(dojo.byId("najnowsze")){
		swap_local(0, '#najnowsze', '.box');
	}
	checkIMGWWeather();
//	document.title = document.title + ' .  - ';
});

//dojo.addOnLoad(sfHover);
//if (window.attachEvent){window.attachEvent("onload", sfHover);}
