var Url = {
 
	// public method for url encoding
	encode : function (string) {
		return escape(this._utf8_encode(string));
	},
 
	// public method for url decoding
	decode : function (string) {
		return this._utf8_decode(unescape(string));
	},
 
	// private method for UTF-8 encoding
	_utf8_encode : function (string) {
		string = string.replace(/\r\n/g,"\n");
		var utftext = "";
 
		for (var n = 0; n < string.length; n++) {
 
			var c = string.charCodeAt(n);
 
			if (c < 128) {
				utftext += String.fromCharCode(c);
			}
			else if((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			}
			else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}
 
		}
 
		return utftext;
	},
 
	// private method for UTF-8 decoding
	_utf8_decode : function (utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;
 
		while ( i < utftext.length ) {
 
			c = utftext.charCodeAt(i);
 
			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			}
			else if((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i+1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			}
			else {
				c2 = utftext.charCodeAt(i+1);
				c3 = utftext.charCodeAt(i+2);
				string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}
 
		}
 
		return string;
	}
 
}


function popupNewsletter(myform)
{
    if (! window.focus) return true;
    okno(this.action,'newsletter',500,300,'yes','yes' );
    myform.target='newsletter';
    return true;
}


noweokno=null;
function okno(url,nazwa,x,y,scroll,resize) {
	if (noweokno)
	{
		noweokno.close();
	}
	if (nazwa==null)
	{
		nazwa = '';
	}
	if (scroll==null)
	{
		scroll=0;
	}
	if (resize==null)
	{
		resize=0;
	}
	if (x!=null)
	{
		x1=((screen.availWidth/2)-(x/2)); y1=((screen.availHeight/2)-(y/2));
		noweokno=window.open(url,nazwa,'toolbar=0,location=0,status=0,menubar=0,scrollbars='+scroll+',resizable='+resize+',left='+x1+',top='+y1+',width='+x+',height='+y);
	} else
	{
		window.open(url,nazwa,'toolbar=0,location=0,status=0,menubar=0,scrollbars='+scroll+',resizable=yes,left=0,top=0,width='+(screen.availWidth-40)+',height='+(screen.availHeight-40));
	}
}

function loadPiece(href,divName) {  
	href = Url.encode(href);
   $(divName).load(href, {}, function(){
	   $("#ajax-loader").hide();
	   $(divName).show();
       var divPaginationLinks_top = divName+" #pagination_top a";
       setPaginatorClickAction(divName, divPaginationLinks_top);
       
       var divPaginationLinks_bottom = divName+" #pagination_bottom a";
       setPaginatorClickAction(divName, divPaginationLinks_bottom); 
       
       var divPaginationLinks_bottom = divName+" #paging a";
       setPaginatorClickAction(divName, divPaginationLinks_bottom);       
       
       var divsortLinks = divName+" #sortLink a";
       setPaginatorClickAction(divName, divsortLinks);       
   });
} 

function setPaginatorClickAction(divName, divPaginationLinks) {
	//alert(divName + '\n' + divPaginationLinks);
    $(divPaginationLinks).click(function() { 
    	$("#ajax-loader").show();
    	$(divName).hide();
        var thisHref = $(this).attr("href");
        loadPiece(thisHref,divName);
        return false;
    });	
}

function addToFavorite(theme, type, id) {
	$.ajax({
		type: "GET",
		url: "/dodaj-ulubione/"+type+"/"+id,
		beforeSend: function(){
			$("#place"+id).html("<img src=\'/themed/"+theme+"/img/ajax-loader.gif\' />");
		},
		success: function(data){
			$("#place"+id).html(data);
		}
	}); 
}

function convertToSlug(Text)
{
    return Text
        .toLowerCase()
        .replace(/[^\w ]+/g,'')
        .replace(/ +/g,'-')
        ;
}