function initXMLHTTPRequest()
{
	var xRequest=null;
	try
	{
	  // Firefox, Opera 8.0+, Safari
	  xRequest=new XMLHttpRequest();
	}
	catch (e)
	{
	  // Internet Explorer
	  try
	  {
	    xRequest=new ActiveXObject("Msxml2.XMLHTTP");
	  }
	  catch (e)
	  {
	    try
	    {
	      xRequest=new ActiveXObject("Microsoft.XMLHTTP");
	    }
	    catch (e)
	    {
	      alert("Twoja przegladarka nie obsluguje AJAX!");
	      return false;
	    }
	  }
	}
	return xRequest;
}

function setrawcookie(name, value, expires, path, domain, secure) {
    // http://kevin.vanzonneveld.net
    // +   original by: Brett Zamir (http://brett-zamir.me)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   derived from: setcookie
    // *     example 1: setcookie('author_name', 'Kevin van Zonneveld');
    // *     returns 1: true

    if (expires instanceof Date) {
        expires = expires.toGMTString();
    } else if(typeof(expires) == 'number') {
        expires = (new Date(+(new Date()) + expires * 1e3)).toGMTString();
    }

    var r = [name + "=" + value], s={}, i='';
    s = {expires: expires, path: path, domain: domain};
    for(i in s){
        s[i] && r.push(i + "=" + s[i]);
    }
    return secure && r.push("secure"), document.cookie = r.join(";"), true;
}

function setcookie_php(name, value, expires, path, domain, secure)
{
    return this.setrawcookie(name, encodeURIComponent(value), expires, path, domain, secure);
}

function setCookie(name,value,expiredays)
{
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	setcookie_php(name,value,exdate,'/')
}

function htmlspecialchars_decode (string) {
    // Convert special HTML entities back to characters
    //
    // version: 1008.1718
    // discuss at: http://phpjs.org/functions/htmlspecialchars_decode    // +   original by: Mirek Slugen
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Mateusz "loonquawl" Zalega
    // +      input by: ReverseSyntax
    // +      input by: Slawomir Kaniecki    // +      input by: Scott Cariss
    // +      input by: Francois
    // +   bugfixed by: Onno Marsman
    // +    revised by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   bugfixed by: Brett Zamir (http://brett-zamir.me)    // +      input by: Ratheous
    // +      input by: Mailfaker (http://www.weedem.fr/)
    // +      reimplemented by: Brett Zamir (http://brett-zamir.me)
    // +    bugfixed by: Brett Zamir (http://brett-zamir.me)
    // *     example 1: htmlspecialchars_decode("<p>this -&gt; &quot;</p>", 'ENT_NOQUOTES');    // *     returns 1: '<p>this -> &quot;</p>'
    // *     example 2: htmlspecialchars_decode("&amp;quot;");
    // *     returns 2: '&quot;'

    string = string.toString().replace(/&lt;/g, '<').replace(/&gt;/g, '>');
    string = string.replace(/&#039;/g, "'"); // PHP doesn't currently escape if more than one 0, but it should
        // string = string.replace(/&apos;|&#x0*27;/g, "'"); // This would also be useful here, but not a part of PHP
    string = string.replace(/&quot;/g, '"');

    // Put this in last place to avoid escape being double-decoded    string = string.replace(/&amp;/g, '&');

    return string;
}

function vote(id,type,punkty,user_id)
{
	var element_vote = document.getElementById('vote_ok_'+id);
	element_vote.onclick='return false;';
	element_vote.style.cursor='';
	var element_vote = document.getElementById('vote_not_ok_'+id);
	element_vote.onclick='return false;';
	element_vote.style.cursor='';
	var req=initXMLHTTPRequest();
	if (req)
	{
		req.onreadystatechange=function(){
			var ready=req.readyState;
			if (ready==4)
			{
				setCookie('cv_'+id,1,365);

				var element = document.getElementById('punkty_'+type+'_'+id);
				if (element)
				{
					element.innerHTML = req.responseText;
				}
			}
		};
		var params = 'id='+id+'&type='+type+'&punkty='+punkty+'&user_id='+user_id;
		req.open('POST','ajax/vote_comment.php',true);
		req.setRequestHeader("Pragma", "no-cache" );
		req.setRequestHeader("Cache-Control", "must-revalidate" );
		req.setRequestHeader("Cache-Control", "no-cache" );
		req.setRequestHeader("Cache-Control", "no-store" );
		req.setRequestHeader("Expires", 0);
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		req.send(params);
	}

	return false;
};

function loadKomentarze(table_name,id,on_page,page,login_id,link_element)
{
	var pages_els = document.getElementById("pager_komentarze").getElementsByTagName("a");
	var array_length = pages_els.length;
	for (var i = 0; i < array_length; i++)
	{
		if (pages_els[i].style)
		{
			if(i == (page-1))
			{
				pages_els[i].style.fontWeight="bold";
				pages_els[i].style.fontSize="12px";
			}
			else
			{
				pages_els[i].style.fontWeight="normal";
				pages_els[i].style.fontSize="11px";
			}
		}
	}

	pages_els = document.getElementById("pager_komentarze_down").getElementsByTagName("a");
	array_length = pages_els.length;
	for (var i = 0; i < array_length; i++)
	{
		if (pages_els[i].style)
		{
			if(i == (page-1))
			{
				pages_els[i].style.fontWeight="bold";
				pages_els[i].style.fontSize="12px";
			}
			else
			{
				pages_els[i].style.fontWeight="normal";
				pages_els[i].style.fontSize="11px";
			}
		}
	}

	if (link_element)
	{
		link_element.style.fontWeight="bold";
		link_element.style.fontSize="12px";
	}
	var req=initXMLHTTPRequest();
	if (req)
	{
		req.onreadystatechange=function(){
			var ready=req.readyState;
			if (ready==4)
			{
				var element = document.getElementById('comments_content');
				if (element)
				{
					var return_text = req.responseText;
					return_text = return_text.split('###');
					var page_number = return_text[0];
					var posts_number = return_text[1];
					var posts_text = return_text[2];
					element.innerHTML = posts_text;
					if(posts_number > 10 && page_number > 1)
					{
						var pager_table = document.getElementById('pager_table');
						if(pager_table)
						{
							pager_table.style.display = 'table';
						}
					}
					else
					{
						var pager_table = document.getElementById('pager_table');
						if(pager_table)
						{
							pager_table.style.display = 'none';
						}
					}
					var top = document.getElementById("top");
					top.focus();
					tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
				}
			}
		};
		var element = document.getElementById('comments_content');
		element.innerHTML = '<div style="text-align:center;padding:20px;"><img src="images/loading.gif" alt="loading..." /></div>';
		req.open('GET','ajax/get_komentarze.php?table='+table_name+'&id='+id+'&on_page='+on_page+'&page='+page+'&login_id='+login_id,true);
		req.send(null);
	}

	return false;
}



function loadKomentarzeBlogi(table_name,id,on_page,page,login_id,link_element)
{
	var pages_els = document.getElementById("pager_komentarze").getElementsByTagName("a");
	var array_length = pages_els.length;
	for (var i = 0; i < array_length; i++)
	{
		if (pages_els[i].style)
		{
			if(i == (page-1))
			{
				pages_els[i].style.fontWeight="bold";
				pages_els[i].style.fontSize="12px";
			}
			else
			{
				pages_els[i].style.fontWeight="normal";
				pages_els[i].style.fontSize="11px";
			}
		}
	}

	pages_els = document.getElementById("pager_komentarze_down").getElementsByTagName("a");
	array_length = pages_els.length;
	for (var i = 0; i < array_length; i++)
	{
		if (pages_els[i].style)
		{
			if(i == (page-1))
			{
				pages_els[i].style.fontWeight="bold";
				pages_els[i].style.fontSize="12px";
			}
			else
			{
				pages_els[i].style.fontWeight="normal";
				pages_els[i].style.fontSize="11px";
			}
		}
	}

	if (link_element)
	{
		link_element.style.fontWeight="bold";
		link_element.style.fontSize="12px";
	}
	var req=initXMLHTTPRequest();
	if (req)
	{
		req.onreadystatechange=function(){
			var ready=req.readyState;
			if (ready==4)
			{
				var element = document.getElementById('comments_content');
				if (element)
				{
					var return_text = req.responseText;
					return_text = return_text.split('###');
					var page_number = return_text[0];
					var posts_number = return_text[1];
					var posts_text = return_text[2];
					element.innerHTML = posts_text;
					if(posts_number > 10 && page_number > 1)
					{
						var pager_table = document.getElementById('pager_table');
						if(pager_table)
						{
							pager_table.style.display = 'table';
						}
					}
					else
					{
						var pager_table = document.getElementById('pager_table');
						if(pager_table)
						{
							pager_table.style.display = 'none';
						}
					}
					var top = document.getElementById("top");
					top.focus();
				}
			}
		};
		var element = document.getElementById('comments_content');
		element.innerHTML = '<div style="text-align:center;padding:20px;"><img src="images/loading.gif" alt="loading..." /></div>';

		var path = 'ajax/get_komentarze_blogi.php';
		var params = 'table='+table_name+'&id='+id+'&on_page='+on_page+'&page='+page+'&login_id='+login_id;
		req.open('POST',path);
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		req.send(params);
	}

	return false;
}

function spam_click(id,user_id)
{
	window.open('spam_comment.php?section=forum&id='+id+'&user_id='+user_id,'Ocena','width=500,height=230,scrollbars=yes');
	return false;
}

function stripHTML(string)
{
	var re = /(<([^>]+)>)/gi;
	return string.replace(re, "");
}

function cytuj(text)
{
	var obj = document.getElementById("tresc_do_wypelnienia");
	if (obj)
	{
		/*obj.value = '<cytat>'+htmlspecialchars_decode(text, 'ENT_NOQUOTES')+'</cytat>';*/
		obj.value = '<cytat>'+stripHTML(htmlspecialchars_decode(text))+'</cytat>';
		obj.focus();
	}
}

function edytuj(text, id)
{
	var obj = document.getElementById("tresc_do_wypelnienia");
	if (obj)
	{
		obj.value = stripHTML(htmlspecialchars_decode(text))
		obj.focus();
	}
	var obj2 = document.getElementsByName("edytuj");
	if(obj2[0])
	{
		obj2[0].value = id;
	}
	var obj3 = document.getElementsByName("B1");
	if(obj3[0])
	{
		/*zmienic tło buttona na zapisz*/
	}
}

function clickclear(thisfield, defaulttext)
{
	if (thisfield.value == defaulttext)
	{
		thisfield.value = "";
	}
}

function ismaxlength(obj)
{
	var mlength = 1000;
	var elem = document.getElementById('post_licznik');
	if(elem)
	{
		if(1000 - obj.value.length < 0)
		{
			elem.innerHTML = 0;
		}
		else
		{
			elem.innerHTML = 1000 - obj.value.length;
		}
	}
	if (obj.getAttribute && obj.value.length>mlength)
	{
		obj.value=obj.value.substring(0,mlength);
		alert("Komentarz moze zawierac maksymalnie 1000 znakow.");
	}
}

function isCookiesON()
{
	var el = document.getElementById('cookie_alert');
	if(document.cookie)
	{
		el.style.display = 'none';
	}
	else
	{
		el.style.display = 'inline';
	}
}
