﻿
function confirmDelete(){
	if(confirm('Czy na pewno chcesz usunąć tę wiadomość?')){
		return true;
	}
	return false;
}

var contextEffect;

function showContext(id, lang){
	var box = $('context_box')
	box.setStyles({
		'visibility': 'hidden',
		'display': 'block'
	});
	$('context').innerHTML = $('ct_'+id+'_'+lang).innerHTML;
	if(!contextEffect){
		contextEffect = new Fx.Tween(box, {'link': 'cancel'});
	}
	contextEffect.start('opacity', '0', '1');
}

// ####################################
// zaznaczenie kuleczkiem oferty
// ####################################

function goKuleczka() {
	var kuleczko1 = document.getElement('td.pakiet_1day2');
	var kuleczko2 = document.getElement('td.pakiet_1week2');
	var kuleczko3 = document.getElement('td.pakiet_1month2');
	var kuleczko4 = document.getElement('td.pakiet_download2');
	var kuleczko = $('kuleczka');
	
	if (kuleczko1 && kuleczko2 && kuleczko3 && kuleczko4) {
		var kuleczka = [kuleczko1, kuleczko2, kuleczko3, kuleczko4];
		
		kuleczka.each(function(el, key) {
			//var new_offset = el.getPosition(goGetParent(el));
			var new_left = el.offsetLeft - 10;
			var new_top = el.offsetTop + Math.round((el.offsetHeight - 160)/2);
			//if (Browser.Engine.trident) {
			//	new_left = new_offset.x - 10;
			//	new_top = new_offset.y + Math.round((el.offsetHeight - 160)/2);
			//}
			el.addEvents({
				'mouseenter': function () {
					kuleczko.setStyle('top', new_top);
					kuleczko.setStyle('left', new_left);
					kuleczko.removeClass('kuleczko0');
					kuleczko.addClass('kuleczko' + (key + 1));
					
				},
				'mouseleave': function () {
					kuleczko.removeClass('kuleczko' + (key + 1));
					kuleczko.addClass('kuleczko0');
				}
			});
		});
	
	}
}

// ####################################
// Zamiana SELECTÓW i CHCKOW
// ####################################

function goGetParent(el) {
	if(el.tagName == "BODY" || el.tagName == "body"){ 
		return el; 
	}

	var parent = $(el.parentNode); 
	var parentPosition = parent.getStyle('position'); 
	if(parentPosition == 'relative' || parentPosition == 'absolute'){ 
		return parent; 
	}else{ 
		return goGetParent(parent); 
	} 
}

function goReplaceStyledChecked() {
	var check_y = $$('input.styled_checkbox');
	check_y.each(function (el, key) {
		if (el.getStyle('visibility') != 'hidden') {
			el.setStyle('visibility', 'hidden');
			new_check_offset = el.getPosition(goGetParent(el));
			new_check_left = el.offsetLeft;
			new_check_top = el.offsetTop + Math.round((el.offsetHeight - 20)/2);
			if (Browser.Engine.trident) {
				new_check_left = new_check_offset.x;
				new_check_top = new_check_offset.y + Math.round((el.offsetHeight - 20)/2);
			}
			var new_check_checked = 'checkbox_styled';
			if (el.checked == true) {
				new_check_checked = 'checkbox_styled_checked';
			}
			var new_checkbox = new Element('span', {
				'class': new_check_checked,
				'styles': {
					'top': new_check_top,
					'left': new_check_left
				},
				'events': {
					'click': function () {
					/*	if (el.checked == true) {
							el.checked = false;
						//	this.removeClass('checkbox_styled_checked');
						} else {
							el.checked = true;
						//	this.addClass('checkbox_styled_checked');
						}*/
						el.fireEvent('change');
					}
				}
			});
			el.addEvent('change', function () {
				if (el.checked == true) {
					el.checked = false;
					new_checkbox.removeClass('checkbox_styled_checked');
				} else {
					el.checked = true;
					new_checkbox.addClass('checkbox_styled_checked');
				}
			});
			new_checkbox.inject(el, 'after');
		}
	});
}

function goReplaceStyledSelect() {
	var select_y = $$('select.styled_select');
	select_y.each(function (el, key) {
		if (el.getStyle('visibility') != 'hidden') {
			el.setStyle('visibility', 'hidden');
			var option_y = el.getElements('option');
			var new_select_id = '';
			if (el.id) {
				new_select_id = ' id="' + el.id + '"';
				el.id = el.id + '_styled';
			}
			new_select_offset = el.getPosition(goGetParent(el));
			new_select_left = el.offsetLeft;
			new_select_top = el.offsetTop + Math.round((el.offsetHeight - 17)/2)-2;
			if (Browser.Engine.trident) {
				new_select_left = new_select_offset.x;
				new_select_top = new_select_offset.y + Math.round((el.offsetHeight - 17)/2)-2;
			}
			var new_select_html = '';
			new_select_html += '<span class="select_border"><span class="select_value"></span>';
			new_select_html += '<input class="select_value" type="hidden" name="' + el.name + '" value=""' + new_select_id + ' />';
			new_select_html += '<span class="select_options">';
			option_y.each(function (opcja, klucz) {
				new_select_html += '<a href="#" onclick="return false;" class="select_option" rel="' + opcja.value + '"><nobr>' + opcja.innerHTML + '</nobr></a>';
			});
			new_select_html += '</span></span>';
			new_select_html += '<span class="lu_corner select_cornet"></span><span class="ru_corner select_cornet"></span><span class="ld_corner select_cornet"></span><span class="rd_corner select_cornet"></span>';
			var new_select = new Element('span', { 
				'class': 'styled_select',
				'html': new_select_html,
				'styles': {
					'width': el.offsetWidth,
					'top': new_select_top,//el.offsetTop,
					'left': new_select_left
				}
			});
			el.name = el.name + '_styled';
			new_select.inject(el, 'after');
		}
	});
	window.fireEvent('selectready');
}

function goStyledSelect() {
	var select_y = $$('span.styled_select span.select_border');
	var current = false;
	select_y.each(function (el, key) {
		var option_y = el.getElements('a.select_option');
		var corner_l = $(el.parentNode).getElement('span.ld_corner');
		var corner_r = $(el.parentNode).getElement('span.rd_corner');
		var value = el.getElement('span.select_value');
		var hidden_val = el.getElement('input.select_value');
		var select_fx = new Fx.Elements([el, corner_l, corner_r], {link: 'cancel', duration: 175});
		el.removeEvents();
		el.addEvents({
			'click': function () {
			     this.parentNode.setStyle('z-index', 250);  
				 if(current){ 
				     $(current.parentNode).setStyle('z-index', 250);  
				 } 
				current = this;
			    $(current.parentNode).setStyle('z-index', 251);  
				if (el.getStyle('height').toInt() == 17) {
					select_fx.start({
						0: {'height': (option_y.length * 17 + 17)},
						1: {'top': (option_y.length * 17 + 14)},
						2: {'top': (option_y.length * 17 + 14)}
					});
				} else {
					select_fx.start({
						0:{'height': 17},
						1:{'top': 14},
						2:{'top': 14}
					});
				}
				
				select_y.each(function (selekt, klucz) {
					if (klucz != key) {
						selekt.setStyle('height', 17);
						$(selekt.parentNode).getElement('span.ld_corner').setStyle('top', 14);
						$(selekt.parentNode).getElement('span.rd_corner').setStyle('top', 14);
					}
				});
				
			}
		});
		
		option_y.each(function (opcja, klucz) {
			opcja.removeEvents();
			opcja.addEvents({
				'click': function () {
					value.innerHTML = opcja.innerHTML;
					hidden_val.value = opcja.rel;
					opcja.blur();
					hidden_val.fireEvent('change');
				}
			});
		});
	});
}

// #############################################
// obsluga zmiany zadan 
// ##############################################

function goChangeSelect() {

	var form_dzialy = $('form_dzialy');
	var form_poziomy = $('form_poziomy');
	var form_cwiczenia = $('form_cwiczenia');
	if (form_dzialy && form_poziomy && form_cwiczenia) {
		form_dzialy.addEvent('change', function() {
		var ajaxDzialy = new Request({
				url: '/nauczyciel/poziomy/'+form_dzialy.value+'.html',
				method: 'get',
				onComplete: function(response){
					var opcje_wyboru = $(form_poziomy.parentNode).getElement('span.select_options');
					opcje_wyboru.innerHTML = response;
					$(form_poziomy.parentNode).getElement('span.select_value').innerHTML = '';
					$(form_cwiczenia.parentNode).getElement('span.select_value').innerHTML = '';
					$(form_cwiczenia.parentNode).getElement('span.select_options').innerHTML = '';
					form_poziomy.value = '';
					form_cwiczenia.value = '';
					goStyledSelect();
				}
			});
			ajaxDzialy.send();
		});
		
		form_poziomy.addEvent('change', function() {
			var ajaxPoziomy = new Request({
				url: '/nauczyciel/cwiczenia/'+form_poziomy.value+'.html',
				method: 'get',
				onComplete: function(response){
					var opcje_wyboru = $(form_cwiczenia.parentNode).getElement('span.select_options');
					opcje_wyboru.innerHTML = response;
					$(form_cwiczenia.parentNode).getElement('span.select_value').innerHTML = '';
					form_cwiczenia.value = '';
				     goStyledSelect(); 
                    $(form_poziomy.parentNode).getElement('span.select_value').setStyle('z-index', 250);					 
					
				}
			});
			ajaxPoziomy.send();
		});
		
		form_cwiczenia.addEvent('change', function() {
			//alert('cwiczenia sie zmienily');
		});
	}
}

// ###############################
// obsluga rozwijania grup oczniow
// ###############################

function goSwitchStudentGroup() {
    var grupy_studentow = $$('table.nauczyciel_grupy a.grupa_studentow');
    grupy_studentow.each(function(el, key) {
        el.addEvent('click', function(){
            var lista_studentow = $(el.parentNode.parentNode).getElement('div.studenci_w_grupie');
            var studenci_na_liscie = $(el.parentNode.parentNode).getElements('div.studenci_w_grupie table tr');
            var studentFX = new Fx.Elements(lista_studentow, {link: 'cancel', duration: 175});
            if (lista_studentow.getStyle('height').toInt() == 0) {
                studentFX.start({0: {
                    'height': (studenci_na_liscie.length * 20)
                }});
				el.addClass('grupa_studentow_selected');
            } else {
                studentFX.start({0: {
                    'height': 0
                }});
				el.removeClass('grupa_studentow_selected');
            }
			el.blur();
        });
    });
}

// ################################
// obsluga zaznaczania grup 
// ###################################

function goSelectStudentGroup() {
	var grupy_studentow = $$('table.nauczyciel_grupy input.student_group_check');
	grupy_studentow.each(function(el, key) {
		var lista_studentow = $(el.parentNode.parentNode).getElements('table.nauczyciel_studenci input');
		el.addEvent('change', function () {
			lista_studentow.each(function(student, klucz) {
				if (student.checked != el.checked) {
					student.fireEvent('change');
					
				}
				/*student.addEvent('change', function () {
					if (student.checked == false) {
						el.fireEvent('change');
					} else {
						var fire_event = true;
						for(var licz = 0; licz < student.length; licz ++) {	
							if (student[licz].checked == false) {
								fire_event = false;
							}
						}
						if (fire_event) {
							el.fireEvent('change');
						}
					}
				});*/
			});
		});
		
	});
}

// ################################
// zliczanie sekund
// ###################################

function goCountSeconds() {
	var sekundnik = $('odliczaj_sekundy');
	if (sekundnik) {
		var ile_zostalo = 5;
		var czasoodmierzacz = 0;
		sekundnik.innerHTML = ' 5 ';
		var ile_dokonca = function () {
			ile_zostalo --;
			sekundnik.innerHTML = ' ' + ile_zostalo + ' ';
			if (ile_zostalo == 0) {
				var davaj_link = $('link_do_pliku').innerHTML;
				window.location = davaj_link;
				$clear(czasoodmierzacz);
			}
		}
		czasoodmierzacz = ile_dokonca.periodical(1000);
/*		czasoodmierzacz = setTimeout(function () {
			ile_zostalo --;
			sekundnik.innerHTML = ' ' + ile_zostalo + ' ';
			if (ile_zostalo == 0) {
				var davaj_link = $('link_do_pliku').innerHTML;
				window.location = davaj_link;
				clearTimeout(czasoodmierzacz);
			}
		}, 1000);*/
		var zatrzymaj = $('zatrzymaj_zliczanie');
		zatrzymaj.addEvent('click', function() {
			sekundnik.innerHTML = ' 0 ';
			$clear(czasoodmierzacz);
		});
	}
}

//window.addEvent('typeface_ready', function(){
window.addEvent('domready', function() {

	goReplaceStyledChecked();
	goSelectStudentGroup();
	goReplaceStyledSelect();
	goStyledSelect();
	goChangeSelect();
    goSwitchStudentGroup();
	goCountSeconds();
	goKuleczka();

	var submenu = $$('div.submenu a');
	submenu.each(function(el, key){
		if(el.hasClass('selected')){
			if(key > 0){
				submenu[key-1].addClass('noline');
			}
		}
	});
	
	var submenu_parent = $$('#mmlparent');
	if (submenu_parent[0]) {
		var mml_pozycja = $$('a#mml_' + submenu_parent[0].innerHTML);
		if (mml_pozycja[0]) {
			mml_pozycja.addClass('selected');
		}
	}

	var wymuszony = false;
	var najechany = false;
	var przywrocTimer = 0;

	var menu_links = $$('#main #tabs a');
	var menu_tabs = $$('#main #tabs div.tab');
	var menu_fx = []

	var subtabs = $$('#main div.subtabs a');
	var whitetabs = $$('#main div.whitetabs a');

	var submenus = $$('#main div.subtabs');
	var submenus_whites = $$('#main div.whitetabs');
	
	submenus.each(function(el, key){
		el.key = key;
	});

	if(Browser.Engine.trident){
		$$('#main div.submenu #nav div.content_box').setStyle('height', 106);
	}
	
	Browser.Engine.trident

	menu_tabs.each(function(el, key){
		menu_fx[key] = new Fx.Morph(el, {link: 'cancel', duration: 300});
		el.setStyles({
			'width': menu_links[key].offsetWidth+2,
			'left': menu_links[key].offsetLeft-1
		});
		el.style.backgroundPosition = ((menu_links[key].offsetLeft-1)*-1)+'px 0';
	});
	
	var lastHover = false;
	
	menu_links.each(function(el, key){
	
		el.addEvents({
	
			'mouseover': function(){
				najechany = el;
				clearTimeout(przywrocTimer);
				if(lastHover){
					lastHover.fireEvent('schowaj');
				}
				lastHover = el;
				menu_fx[key].start({
					'top': 0
				});
				submenus.setStyle('top', 112);
				submenus_whites.setStyle('display', 'none');
				if(submenus[key]){
					submenus[key].setStyle('top', 52);
					submenus_whites[key].setStyle('display', 'block');
					
					//blablabla
					var elementy_wew = submenus[key].getElements('a');
					var szerokosc_wew = 0;
					elementy_wew.each(function(elink, eklucz) {
						szerokosc_wew += (elink.offsetWidth + 30);
					});
					var new_left_pos = el.offsetLeft+91;
					
					if (new_left_pos + szerokosc_wew >= 990) {
						new_left_pos = 990 - szerokosc_wew;
					}
					
					submenus[key].setStyle('left', new_left_pos);
					submenus_whites[key].setStyle('left', new_left_pos);
				}
			},

			'mouseout': function(){
				clearTimeout(przywrocTimer);
			},

			'schowaj': function(){
				menu_fx[key].start({
					'top': 36
				});
			},
			
			'wymus': function(){
				if(lastHover){
					lastHover.fireEvent('schowaj');
				}
				lastHover = el;
				menu_fx[key].set({
					'top': 0
				});
				submenus.setStyle('top', 112);
				if(submenus[key]){
					submenus[key].setStyle('top', 52);
					
					//blablabla
					var elementy_wew = submenus[key].getElements('a');
					var szerokosc_wew = 0;
					elementy_wew.each(function(elink, eklucz) {
						szerokosc_wew += (elink.offsetWidth + 30);
					});
					var new_left_pos = el.offsetLeft+91;
					
					if (new_left_pos + szerokosc_wew >= 990) {
						new_left_pos = 990 - szerokosc_wew;
					}
					
					submenus[key].setStyle('left', new_left_pos/*el.offsetLeft+91*/);
					submenus_whites[key].setStyle('left', new_left_pos/*el.offsetLeft+91*/);
				}
				wymuszony = this;
			}
		
		})

		if(el.id == 'force_select'){
			el.fireEvent('wymus');
		}

	});
	
	document.getElement('#nav div.content_box').addEvent('mouseout', function(){

		clearTimeout(przywrocTimer);
		przywrocTimer = setTimeout(function(){
			if(wymuszony){
				wymuszony.fireEvent('mouseover');
			}else{
				najechany.fireEvent('schowaj');
				submenus.setStyle('top', 112);
				submenus_whites.setStyle('display', 'none');
			}
		}, 500);
	});

	subtabs.each(function(el, key){
	
		if(el.hasClass('selected')){

			var arrow = $(document.createElement('span'));
			arrow.addClass('arrow');
			arrow.setStyle('left', el.offsetLeft + Math.round((el.offsetWidth-10)/2));
			el.parentNode.appendChild(arrow);
			menu_links[el.parentNode.key].fireEvent('wymus');

			// wymuszenie podswietlenia .selected w menu
			try{
				el.firstChild.style.visibility = 'hidden';
				whitetabs[key].setStyle('top', -60);
			}catch(Ex){
				el.style.color = '#052b38';
			}

		}else{

			el.addEvents({

				'mouseover': function(){
					clearTimeout(przywrocTimer);
					try{
						el.firstChild.style.visibility = 'hidden';
						whitetabs[key].setStyle('top', -60);
					}catch(Ex){
						el.style.color = '#052b38';
					}
				},

				'mouseout': function(){
					clearTimeout(przywrocTimer);
					try{
						el.firstChild.style.visibility = 'visible';
						whitetabs[key].setStyle('top', 0);
					}catch(Ex){
						el.style.color = '';
					}
				}
			});
		}
	});
	
});
