/*
 * Biblioteka przydatnych funkcji PHP
 *
 */
//<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

/*
 * Funkcja wysyłająca przez AJAX formularz o nazwie formname i wpisująca wynik jego wysłania do taga html o id/name = blockname.
 * Ostatni argument to obrazek ładowania (ajax_small lub ajax_big - ikona wykonywania skryptu)
 * np. send_form('hslogin','hsloginform',{{V:login_target}},ajax_small)
 */
   // Konfiguracja dla skryptow JavaScript
var ajaxsmall = 'img/loadsmall.gif';
var ajaxbig = 'img/loadbig.gif';

// Do przenoszenia danych pomiedzy pluginami
var dragdata;

function func_sendform(formname,blockname,page_url,loader)
{
	// opcje zapytania
	var options = {
		url: page_url,
		beforeSend: function()
		{
			poz=$('#'+blockname).offset();
			width=$('#'+blockname).width();
			height=$('#'+blockname).height();
			//$("#"+blockname).append('<div class="ajaxloader" style="position: absolute; z-index: 1000; left: '+poz.left+'px; top: '+poz.top+'px; width: '+width+'px; height: '+height+'px;"></div>');
			//$("#"+blockname).append('<div class="ajaxloader" style="position: absolute; z-index: 1000; left: '+(poz.left+5)+'px; top: '+(poz.top+5)+'px; width: '+width+'px; height: '+height+'px;"></div>');
			/*
			$("#"+blockname).fadeOut("fast", function()
			{
				// Ustawienie ikonki wykonywania funkcji
				$("#"+blockname).html('<img style="margin: auto;" src="'+ajaxsmall+'">');
			});
			*/
				// Ustawienie ikonki wykonywania funkcji
				$("#"+blockname).html('<img style="margin: auto;" src="'+ajaxsmall+'">');
			
			//$("#"+blockname).fadeIn("fast");
		},
		/*
		beforeSubmit: function()
		{
			$("#"+blockname).fadeOut("fast",function()
			{
				//$("#"+blockname).html('');
			});
			//$("#"+blockname).fadeIn("fast");
		},
		*/
		success: function(data)
		{
			/*
			$("#"+blockname).fadeIn("fast",function()
			{
				$("#"+blockname).html(data);
			});
			*/
			$("#"+blockname).html(data);
			//$("#"+blockname).fadeIn("fast");
		}
	}
	// wysłanie formularza
	$("#"+formname).ajaxSubmit(options);
	
	// Zwrócenie false, żeby się formularz nie wykonał
	return false;
}

/* Funkcja wysyłająca zapytanie grupowe - formularz formname pod adres page_url, odpowiedź jest wypisywana do blockname; zapytanie pod 
 * page_url2 odpowiedź wpisywana jest w blockname2; loader zostaje wpisany tylko do blockname
 * 
 */


/*
 * Funkcja wykonująca przez AJAX stronę url i wpisująca wynik jego wysłania do taga html o id/name = blockname.
 * Ostatni argument to obrazek ładowania (ajax_small lub ajax_big - ikona wykonywania skryptu)
 * np. func_sendrequest('files',{{V:url_target}},ajax_small)
 */ 

function func_sendrequest(blockname,page_url,loader)
{
		$.ajax({
		type:"GET",
		url: page_url,
		beforeSend: function()
		{
			poz=$('#'+blockname).offset();
			width=$('#'+blockname).width()-10;
			height=$('#'+blockname).height()-10;
			//$("#"+blockname).append('<div class="ajaxloader" style="position: absolute; z-index: 1000; left: '+(poz.left+5)+'px; top: '+(poz.top+5)+'px; width: '+width+'px; height: '+height+'px;"></div>');
			
			$("#"+blockname).fadeOut("fast", function()
			{
				// Ustawienie ikonki wykonywania funkcji
				$("#"+blockname).html('<img style="margin: auto auto;" src="'+ajaxsmall+'">');
			});
			//$("#"+blockname).fadeIn("fast");
		},
		success: function(data)
		{
			$("#"+blockname).fadeIn("fast",function()
			{
				$("#"+blockname).html(data);
			});
			//$("#"+blockname).fadeIn("fast");
		}
	});
	// request
	//$.get(page_url,function(data){
		//	$("#"+blockname).html(data);
		//});	
	
	// Zwrócenie false, żeby się formularz nie wykonał
	return false;
}

// Zmienna globalna obiektu formularza, który był ostatnio wybrany
var last_form_element='';
// Zmienna globalna przechowująca poprzednią klasę elementu ostatnio wybranego
var last_form_element_class='';

// Zmienna globalna obiektu podpowiedzi, który był ostatnio wybrany
var last_tip_timer;
var last_tip_element;

// Zmienna globalna obiektu, który był ostatnio podświetlony
var last_over_element='';
// Zmienna globalna przechowująca poprzednią klasę elementu ostatnio podświetlonego
var last_over_element_class='';

// Funkcja zmieniająca klasę wybranego elementu
function func_activate_element(name, styleclass)
{
	// Tablica na współrzędne obiektu
	pos = new Array(2);
	
	// Jeśli jest już wybrany element, wyłączenie go
	if (last_form_element != '')
	{
		// Deaktywacja
		func_deactivate_element(last_form_element);
	}
	
	// Zapisanie stylu obiektu
	last_form_element_class=document.getElementById(name).className;
	
	// Zapisanie nazwy obiektu
	last_form_element=name;
	func_tip_element(name);
	// Zmiana stylu obiektu
	document.getElementById(name).className=styleclass;
}

// Funkcja deaktywująca wybrany element
function func_deactivate_element(name)
{
	// Jeśli nazwa i klasa nie są puste
	if ((name != '') && (last_form_element_class != ''))
	{
		// Zmiana stylu elementu
		document.getElementById(name).className=last_form_element_class;
	}
	func_detip_elements();	
	// Wyczyszczenie zmiennych
	last_form_element='';
	last_from_element_class='';
}

// Funkcja zmieniająca klasę wybranego elementu
function func_tip_element(name)
{
	// Nie wyświetlamy podpowiedzi dla radio buttons
	if ((document.getElementById(name).type != 'radio') && (name != last_tip_element))
	{
		$("#tip_"+last_tip_element).fadeOut("fast");
		$("#tip_"+name).fadeIn("fast");
		last_tip_element=name;		
	}
	else if (name == last_tip_element)
	{
		$("#tip_"+name).fadeIn("fast");
	}
}

// Funkcja deaktywująca elementy
function func_detip_elements()
{	
	// Nie wyświetlamy podpowiedzi dla radio buttons, więc nie ma czego ukryć
	// Ukrycie warstwy podpowiedzi
	$("#tip_"+last_tip_element).fadeOut("fast");	
}

// Funkcja deaktywująca wybrany element
function func_detip_element(name)
{	
	// Nie wyświetlamy podpowiedzi dla radio buttons, więc nie ma czego ukryć
	if ((document.getElementById(name).type != 'radio') && (last_tip_element==name))
	{	
		// Ukrycie warstwy podpowiedzi
		//$("#tip_"+name).hide("fast");	
	}
}

// Funkcja zmieniająca klasę wybranego elementu (over)
function func_over_element(name, styleclass)
{
	// Tablica na współrzędne obiektu
	pos = new Array(2);
	
	// Jeśli jest już wybrany element, wyłączenie go
	if (last_over_element != '')
	{
		// Deaktywacja
		func_out_element(last_over_element);
	}
	
	// Zapisanie stylu obiektu
	last_over_element_class=document.getElementById(name).className;
	
	// Zapisanie nazwy obiektu
	last_over_element=name;
	
	// Zmiana stylu obiektu
	document.getElementById(name).className=styleclass;
}

// Funkcja deaktywująca wybrany element (out)
function func_out_element(name)
{
	// Jeśli nazwa i klasa nie są puste
	if ((name != '') && (last_over_element_class != ''))
	{
		// Zmiana stylu elementu
		document.getElementById(name).className=last_over_element_class;
	}
	
	// Wyczyszczenie zmiennych
	last_form_element='';
	last_from_element_class='';
}


// Funkcja zwaracająca absoluną pozycję obiektu
function func_pos(obiekt)
{
	// Zmienne lokalne
	var  wx = wy = 0;
	var obj=obiekt;
	
	// Póki istnieje rodzic
	if (obj.offsetParent)
	{
		wx = obj.offsetLeft;
		wy = obj.offsetTop;
		while (obj = obj.offsetParent)
		{
			wx += obj.offsetLeft;
			wy += obj.offsetTop;
		}
	}
	return [wx,wy];
}

// Funkcja pokazujaca okienko wyboru kanału radiowego
function func_radio(status)
{
	var poz = new Array(2);
	
	// Okreslenie pozycji dla boksu
	poz = func_pos(document.getElementById('hsradiobox'));
	document.getElementById('hsradiochbox').style.left=poz[0];
	document.getElementById('hsradiochbox').style.top=poz[1]+30;
	
	// Jesli mamy pokazac
	if (status==true)
	{
		$("#hsradiochbox").show("slow");
	}
	else
	{
		$("#hsradiochbox").hide("slow");		
	}
}

// Funkcja pokazujaca okienko moderacji komentarzy
function func_radio_moderate(id, status)
{
	var poz = new Array(2);
	
	// Okreslenie pozycji dla boksu
	poz = func_pos(document.getElementById('comment_'+id+'_opt'));
	document.getElementById('comment_'+id+'_chopt').style.left=poz[0];
	document.getElementById('comment_'+id+'_chopt').style.top=poz[1]+13;
	
	// Jesli mamy pokazac
	if (status==true)
	{
		// zmiana widoczności boxu
		$("#comment_"+id+"_chopt").slideDown("slow");
	}
	else
	{
		// zmiana widoczności boxu
		$("#comment_"+id+"_chopt").slideUp("slow");
	}
}

// Funkcja pokazujaca okienko dodawania pliku do notki
function func_radio_adddata(id, status)
{
	var poz = new Array(2);
	
	// Okreslenie pozycji dla boksu
	poz = func_pos(document.getElementById('file_'+id+'_add'));
	document.getElementById('file_'+id+'_chadd').style.left=poz[0];
	document.getElementById('file_'+id+'_chadd').style.top=poz[1]+13;
	
	$("#file_"+id+"_chadd").slideToggle("slow");
}

// Funkcja pokazujaca okienko z informacjami o pliku
function func_radio_file(id, status)
{
	var poz = new Array(2);
	
	// Okreslenie pozycji dla boksu
	poz = func_pos(document.getElementById('file_'+id+'_box'));
	// pozycja + szerokość miniaturki
	document.getElementById('file_'+id+'_chbox').style.left=poz[0]+document.getElementById('file_'+id+'_box').offsetWidth;
	document.getElementById('file_'+id+'_chbox').style.top=poz[1];
	
	$("#file_"+id+"_chbox").toggle("slow");
}

// Funkcja sprawdzająca poprawność wprowadzonych danych do pola na plik
function func_file_check()
{
	// wartość pola na plik
	var file=document.forms['file'].file_field.value;
	// zabronione rozszerzenia
	var exts='html.htm.php.php2.php3.php4.php5.phtml.pwml.inc.asp.aspx.ascx.jsp.cfm.cfc.pl.vbs.js.reg.cgi.htaccess.asis.sh.shtml.shtm.phtm';
	// rozbicie listy rozszerzeń
	ext=exts.split('.');
	// ścieżka pliku
	var tmp=file.split('.')
	// ustawienie rozszerzenia
	var file_ext=tmp[tmp.length-1];
	
	// sprawdzenie wszystkich rozszerzeń z tablicy
	for (var x=0;x<ext.length;x++)
	{
		if (file_ext.toLowerCase()==ext[x])
		{
			// info
			alert('Zabroniony typ pliku');
			// wyczyszczenie pola
			document.forms['file'].file_field.value='';
			return 0;
		}
	}
	if (file!='')
	{
		return 1;
	}
}

// Funkcja sprawdzająca poprawność formularza wysyłanego przy dodawaniu pliku
function func_file_checkform(files_num)
{
	var file=func_file_check();
	
	if (file==0)
	{
		return false;
	}
	else if (file==1)
	{
		return true;
	}
	else if (files_num>0)
	{
		var checked=0;
		// sprawdzenie czy chociaż jedno pole zostało zaznaczone
		for (var x=files_num; x>0; x--)
		{
			if (document.getElementById("f_"+x).checked==true)
			{
				checked++;
			}
		}
		if (checked==0)
		{
			alert('Nie wybrano pliku');
			return false
		}
	}
	else
	{
		alert('Nie wybrano pliku');
		return false;
	}
}

function func_hide(content)
{
	$('.'+content).slideToggle('slow', 
	function()
	{
		var tresc=$('#'+content+'click').html();
		
		if (tresc.indexOf('down',0)>0)
		{
			$('#'+content+'click').html('<img src="img/ikona_up.png" border="0"  style="vertical-align: middle;"/>');
		}
		else
		{
			$('#'+content+'click').html('<img src="img/ikona_down.png" border="0"  style="vertical-align: middle;"/>');
		}
	});
	
	
	
	return false;
}

function func_comment_delete(status, name, namecheck, cid)
{
	if (status==1)
	{
		$("#"+name).fadeOut("fast", function()
		{
			// Ustawienie ikonki wykonywania funkcji
			$("#"+namecheck).fadeIn("fast");
		});
	}
	else
	{
		$("#"+namecheck).fadeOut("fast", function()
		{
			// Ustawienie ikonki wykonywania funkcji
			$("#"+name).fadeIn("fast");
		});
	}
	return false;
}

var footer_functions;
var footer_code;

footer_functions = new Array();
footer_code = new Array();

function func_footer_add(name)
{	
	footer_functions.push(name);		
}

function func_footer_code(code)
{
	// Jesli IE, dopisz
	if (czyIE()==1)
	{
		footer_code.push(code);	
	}
	// Wykonaj
	else
	{
		eval(code);
	}	
}

function func_footer_run()
{
    while(footer_functions.length>0) {eval(footer_functions.shift()+'();');}
	while(footer_code.length>0) {eval(footer_code.shift());}
}



function czyIE()
{
    var UA;
    var MSIEpos;
    UA=window.navigator.userAgent;
    MSIEpos = UA.indexOf("MSIE");
    if (MSIEpos >= 0)
    {
        return 1;
    }
    else
    {
        return 0;
    }
}

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 imgramkareplace()
{
	$(".zwinietycontent").css('display','none');
	
	$(".nowybox").children("h2").click(function(){
	  $(this).next("div.zwinietycontent").toggle();
	  $(this).toggleClass("active");
	});
	
	$(".ramka").wrap('<div class="imgramka160"></div>');
	$(".imgramka160").append('<div class="imgramkaover"></div>');	
}

func_footer_add('imgramkareplace');

var anim_obj;
var anim_fid;
var anim_poz;
var anim_zegar;
var anim_img;
var anim_obrazki=new Array();
var anim_czyobrazek=new Array();

function anim_on(obiekt,fid,img)
{
    anim_obj=obiekt;
    anim_fid=fid;
    anim_poz=0;
    anim_img=img;
    
    for (lba=0; lba<=10; lba++)
    {	    
	    
		if (lba==0)
		{
		    suffix='10005';
		}
		else
		{
			if (lba==10)
			{
				suffix='10095'
			}
			else
			{
				suffix='100'+(lba*10);
			}	    
		}
				    
        anim_obrazki[obiekt+'_'+suffix]=new Image();	
		if (lba==0)
		{
		    anim_load(obiekt,suffix,anim_fid);
		}
		else
		{
		    anim_load(obiekt,suffix,anim_fid);
		    //setTimeout("anim_load('"+obiekt+"','"+suffix+"',"+anim_fid+")",lba*50);
		}
	        //anim_obrazki[obiekt+'_'+suffix].src='http://sfs.headshot.pl/f'+suffix+'.'+anim_fid+'.jpg';
	    
    }	
    
    setTimeout('anim()',500);
}

function anim_load(obiekt,suffix,fid)
{
    if (anim_obj==obiekt)
    {
		anim_obrazki[obiekt+'_'+suffix].src='http://sfs.headshot.pl/g.'+suffix+'.'+fid+'.'+Math.ceil(1000000000*Math.random())+'jpg';
    }
}

function anim_off()
{
    
    old=anim_obj;
    anim_obj='';
	
	document.getElementById(old).src='http://sfs.headshot.pl/g.3120.'+anim_fid+'.'+Math.ceil(1000000000*Math.random())+'jpg';
	//$('#'+old).css('background-image','url('+'http://sfs.headshot.pl/g.3120.'+anim_fid+'.'+Math.ceil(1000000000*Math.random())+'jpg)');
	
    anim_fid=0;
    anim_poz=0;
    
    
    
    anim_img='';
    anim_zegar='';
}

function anim()
{
    if (anim_obj !='')
    {    
		if (anim_poz==0)
	    {
	        suffix='10005';
	    }
	    else
	    {
			if (anim_poz==10)
			{
				suffix='10095';
			}
			else
			{
				suffix='100'+(anim_poz*10);	
			}	        
	    }
	    
		//$('#'+anim_obj).css('background-image','url('+anim_obrazki[anim_obj+'_'+suffix].src+')');
		document.getElementById(anim_obj).src=anim_obrazki[anim_obj+'_'+suffix].src;
	    
		if (anim_poz==10)
		{
		    anim_poz=0;
		}
		else
		{
		    anim_poz=anim_poz + 1;
		}
	
		anim_zegar=setTimeout('anim()',500);
    }
}

function urlencode(str) 
{
	return escape(str).replace(/\+/g,'%2B').replace(/%20/g, '+').replace(/\*/g, '%2A').replace(/\//g, '%2F').replace(/@/g, '%40');
}

function func_tip(objid,desc)
{
	func_footer_code("$('#"+objid+"').tooltip({track: true, delay: 0, showURL: false, bodyHandler: function() {return $('#"+desc+"').html();},fade: 250});");	
}
