// my_copyright 2008 by Michał :migajek Gajek
// :) :)




function dalert(s) { //debug alert
 //alert(s);
}

var examplestr = "15:bui#ccc;18:b#000;25:n";
var tablica = new Array();

function tabElement(){
 this.id = "";
 this.scolor = "";
 this.sbold = false;
 this.sunderline = false;
 this.sitalic = false;
 this.sinvisible = false;
}

function odczytajStringa(str){
 if (!str) return false;
 str = unescape(str);
 var i = 0;
 tablica = new Array();

 	while (i <= str.length) {

		if ( parseInt( str.charAt(i) ) || ( str.charAt(i) == '0' ) ) {

			//trafilismy na ID
			var sElement = new tabElement();

			while (parseInt( str.charAt(i) ) || ( str.charAt(i) == '0' ) ) {
				sElement.id += str.charAt(i);
				i++;
			}


			if ( str.charAt (i) == ':' ) {
				// ok, jedziemy dalej
				i++;
				while ( (str.charAt(i) != '#') &&  (str.charAt(i) != ';')  && ( i < str.length ) ) {
				 var c = str.charAt(i);
				 if (c == 'b') sElement.sbold = true;
				 if (c == 'u') sElement.sunderline = true;
				 if (c == 'i') sElement.sitalic = true;
				 if (c == 'n') sElement.sinvisible = true;
				 i++;
				}

				if (str.charAt(i) == "#") {
					// kolor
					while ( (str.charAt(i) != ";") && (i <= str.length) ) {
						sElement.scolor += str.charAt(i);
						i++;
					}
				}


				tablica.push(sElement);
			}
		}

		i++;
	}
}



function zastosujZmiany() {
var i = 0;

	for (i = 0; i < tablica.length; i++ ) {
		var sElement = tablica[i];

		if (sElement.id != '') {
			var obj = $(".ph_" + sElement.id);
			if (obj) {
				if (sElement.sbold) obj.css("fontWeight" , "bold"); else obj.css("fontWeight" , "normal");
				if (sElement.sunderline) obj.css("text-decoration", "underline"); else obj.css("text-decoration", "none");
				if (sElement.sitalic) obj.css("fontStyle" , "italic"); else obj.css("fontStyle" , "normal");
				if (sElement.sinvisible) obj.css("display" , "none");else obj.css("display" , "block");
				if (sElement.scolor != '') obj.find("a").css("color" , sElement.scolor);
			}
		}
	}

}



function createCookie(value) {
$.cookie('personalizacja', escape(value), { expires: 365 * 2, path: '/' , domain: '.joemonster.org' });
}


function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return unescape(c.substring(nameEQ.length,c.length));
	}
	return null;
}


function eraseCookie(name) {
	createCookie(name,"",-1);
}


function personalizujSkoczka() {
 var strCustom = "";
 strCustom = $.cookie('personalizacja');
 if (strCustom) {
  odczytajStringa(strCustom);
  zastosujZmiany();
 }
}






// zwraca nazwe forum na podstawie jego ID
function nazwaPhoruma(id) {
 return $("#ph_"+id).attr("title");
}


// generuje tabelke z opcjami
function wczytajOpcje() {

 var obj = $("#panelOpcji tbody");
 if(obj.find("tr").length != 0) return true;
 function b2s(b) { if (b) return "checked"; else return "";}



 $("#forumFora").find("ul").find("li").each ( function (i, elementHTML){
	var nazwaForum = $(elementHTML).text();
	var idForum = $(elementHTML).attr("id").split('_')[1];
	var sElement = null;

	for (var i = 0; i < tablica.length; i++) {
		if (tablica[i].id == idForum) { sElement = tablica[i]; break;  }
	}
	if (!sElement) {
		//nie znaleziono w tablicy cookies, nie zostal spersonalizowany. tworzymy wiec nowy z domyslnymi opcjami
		sElement = new tabElement();
		sElement.id = idForum;
	}
	if (sElement) {
		if (!sElement.scolor) sElement.scolor = "#000000";
		var newstr = "<tr><td class=\""+sElement.id+"\"> <input type=\"checkbox\" id=\"visible_"+sElement.id+"\" "+b2s(!sElement.sinvisible)+"/>"+nazwaPhoruma(sElement.id)+"</td>";
		newstr += "<td><input type=\"checkbox\" id=\"bold_"+sElement.id+"\" "+b2s(sElement.sbold)+"/></td> ";
		newstr += "<td><input type=\"checkbox\" id=\"italic_"+sElement.id+"\" "+b2s(sElement.sitalic)+"/></td> ";
		newstr += "<td><input type=\"checkbox\" id=\"underline_"+sElement.id+"\" "+b2s(sElement.sunderline)+"/></td> ";
///		newstr += "<td><input type=\"checkbox\" id=\"visible_"+sElement.id+"\" "+b2s(!sElement.sinvisible)+"/></td> ";
		newstr += "<td><input type=\"text\" id=\"color_"+sElement.id+"\" value=\""+sElement.scolor+"\" onclick=\"loadCP(this)\" class=\"colorwell\" style=\"background-color: "+sElement.scolor+"; color: "+sElement.scolor+"\"></td></tr>";
		obj.append(newstr);
	}
 });

}


// generuje tekst konfiguracyjny na podstawie danych wprowadzonych przez usera
function generujTekst(){
 var obj = $("#panelOpcji tbody");

 var pelenTekst = "";

 var fora = obj.find("tr");
 fora.each ( function (i, trElem) { if ( ( $(trElem).attr('id') !='colorPickerTR_REM') && ( $(trElem).attr('id') !='colorPickerTR') ) {
		var sid = $("td:first", trElem).attr("class");
		var sbold = $("td:eq(1)", trElem).find("input").attr("checked");
		var sunderline = $("td:eq(3)", trElem).find("input").attr("checked");
		var sitalic = $("td:eq(2)", trElem).find("input").attr("checked");
		//var sinvisible = ! ($("td:eq(4)", trElem).find("input").attr("checked"));
		var sinvisible = ! ($("td:eq(0)", trElem).find("input").attr("checked"));
		var scolor = $("td:eq(4)", trElem).find("input").attr("value");

		var sStr = "";
		if (sbold) sStr += 'b';
		if (sunderline) sStr += 'u';
		if (sitalic) sStr += 'i';
		if (sinvisible) sStr += 'n';
		if ( (scolor != "#000") && (scolor != "#000000") && (scolor) ) sStr += scolor;

		pelenTekst += (sid + ':' + sStr + ';');
	}} );

$.cookie('personalizacja', escape(pelenTekst), { expires: 365 * 2, path: '/', domain: '.joemonster.org' });
//odczytajStringa(pelenTekst);
}

function wyslijNaSerwer(czyUsunac) {
var Ajax_str = $.cookie('personalizacja');
if (czyUsunac) Ajax_str = '';
 $.ajax({
   type: "GET",
   url: "/ajax.php",
   data: "op=personalizacja_zapisz&dane="+ Ajax_str,
   success: function(msg){
     $("#komunikatPersonalizacji").hide();
     $("#komunikatPersonalizacji").html("<center>Zmiany zapisane!</center>");
     $("#komunikatPersonalizacji").fadeIn(2000).fadeTo(5000, 1).fadeOut(2000);
   },
   error: function () {
	$("#komunikatPersonalizacji").hide();
	$("#komunikatPersonalizacji").text("nieznany błąd!");
	$("#komunikatPersonalizacji").fadeIn(2000).fadeTo(5000, 1).fadeOut(2000);
	}
 });

}


// dotyczy color-pickera
var clrPicker, selectedClr;


function hideTRPers(){
$('#colorPickerForm').hide();
$('#colorPickerForm').prependTo('#personalizujFora');
$('#colorPickerTR').remove();
$('#colorPickerTR_REM').remove();
}

function loadCP(id){
clrPicker = $.farbtastic('#colorpicker');
 $('#colorPickerForm').hide(); // ukryj
 if (selectedClr) $(selectedClr).removeClass('colorwell-selected');
 $(selectedClr = id).addClass('colorwell-selected');
 //clrPicker.setColor($(id).attr('value'));
 clrPicker.linkTo(
	function callback(color) {
		$(id).css('color', color);
		$(id).css('background-color', color);
		$(id).attr('value', color);

	})


 // maly myk, dzieki ktoremu nie ma problemow ze znikajacym colorPicker'em ;)
 $('#colorPickerTR').attr('id', 'colorPickerTR_REM');
 $('#colorPickerTD').attr('id', 'colorPickerTD_REM');
 var tr = $(id).parents('tr');
 tr.append("<tr id=\"colorPickerTR\"><td colspan=\"5\"  id=\"colorPickerTD\"></td></tr>");
 $('#colorPickerTR').insertAfter(tr);
 $('#colorPickerForm').prependTo($('#colorPickerTD'));


 $('#colorPickerForm').show();
 $('#colorPickerTR_REM').remove();

}

/*
$(document).ready(function() {
 clrPicker = $.farbtastic('#colorpicker');
 $('#colorPickerForm').hide(); // ukryj
});*/