/** XHConn - Simple XMLHTTP Interface - bfults@gmail.com - 2005-04-08        **
 ** Code licensed under Creative Commons Attribution-ShareAlike License      **
 ** http://creativecommons.org/licenses/by-sa/2.0/                           **/
function XHConn()
{
  var xmlhttp, bComplete = false;
  try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
  catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
  catch (e) { try { xmlhttp = new XMLHttpRequest(); }
  catch (e) { xmlhttp = false; }}}
  if (!xmlhttp) return null;
  this.connect = function(sURL, sMethod, sVars, fnDone)
  {
    if (!xmlhttp) return false;
    bComplete = false;
    sMethod = sMethod.toUpperCase();
    try {
      if (sMethod == "GET")
      {
        xmlhttp.open(sMethod, sURL+"?"+sVars, true);
        sVars = "";
      }
      else
      {
        xmlhttp.open(sMethod, sURL, true);
        xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
        xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      }
      xmlhttp.onreadystatechange = function(){
        if (xmlhttp.readyState == 4 && !bComplete)
        {
          bComplete = true;
          fnDone(xmlhttp);
        }};
      xmlhttp.send(sVars);
    }
    catch(z) { return false; }
    return true;
  };
  return this;
}

function initColorbox() {	

    if($("#jscontainer").size()>0){
            if (document.createStyleSheet){
                document.createStyleSheet('/fileadmin/templates/css/colorbox.css');
            }
            else {
                $("head").append($("<link rel='stylesheet' href='/fileadmin/templates/css/colorbox.css' type='text/css' media='screen' />"));
           }
      }
	
	$.getScript("fileadmin/templates/js/jquery.colorbox.min.js", function() {
		  $('a.colorbox').colorbox({iframe:true, width:"60%", height:"90%"});
	}); 
            
}

function getHistoryLog(puid,cuids,time)
{
	var ajaxConn = new XHConn();
	if (!ajaxConn) { alert("XMLHTTP nie jest dostępne. Skorzystaj z nowszej/lepszej przeglądarki."); return; }
	var div = document.getElementById('historyDiv');
	div.style.display = "block";
	var fnWhenDone = function (oXML) { div.innerHTML = oXML.responseText; };
	ajaxConn.connect("fileadmin/scripts/ajax.php", "POST", "action=history&puid="+puid+"&cuids="+cuids+"&time="+time,fnWhenDone);
}

function countdl(item)
{
	var ajaxConn = new XHConn();
	if (!ajaxConn) { return; }
	var fnWhenDone = function (oXML) { 
	//div.innerHTML = oXML.responseText; 
	};
	ajaxConn.connect("fileadmin/scripts/ajax.php", "POST", "action=countdl&uid="+document.getElementById('feuser').value+"&file="+item.getAttribute('href'),fnWhenDone);	
	return false;
}

/* FONT RESIZER */

function toggleLayer( whichLayer )
{
  var elem, vis;
  if( document.getElementById )
    elem = document.getElementById( whichLayer );
  else if( document.all ) 
      elem = document.all[whichLayer];
  else if( document.layers )
    elem = document.layers[whichLayer];
  vis = elem.style;

  if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)
    vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';
  vis.display = (vis.display==''||vis.display=='block')?'none':'block';
}


// Initialize the arrays containing our size info.

var pixelArray = new Array('10','11','12','13','14','15'); // Possible font px sizes
var countOfPixels = pixelArray.length;
var initSize = 2; // Array position of inital px size

function fontSizer(inc) { 
	/*if (!document.getElementById) return;*/
	
	var size = readCookie('size');
	size = parseInt(inc)+parseInt(size);
	if (size < 0 ) { size = 0; }	
	if (size > countOfPixels ) { size = countOfPixels; }
	
	doFontSizing(size);	
	
	createCookie("size", size, 365); 
}

function fontSizerOnLoad(preferredSize) {	
	/*if (!document.getElementById) return;*/
	
	var size = readCookie('size');	
	if (size < 0 ) { size = 0; }
	if (size > countOfPixels ) { size = countOfPixels; }
	
	/*switchPic();*/
	doFontSizing(size);
}

function getElementsByClassName(classname, node)  {
    if(!node) node = document.getElementsByTagName("body")[0];
    var a = [];
    var re = new RegExp('\\b' + classname + '\\b');
    var els = node.getElementsByTagName("*");
    for(var i=0,j=els.length; i<j; i++)
        if(re.test(els[i].className))a.push(els[i]);
    return a;
}

function doFontSizing(theFontSize) {			
	// Bugfix: Elements inside table would not resize with only the code below, so we do them seperatly.
	// NOTE: This only resizes the font, nothing else.
	// Resize by ID does not work with this.
	aTables = document.getElementsByTagName('table');
	for(i = 0; i < aTables.length; i++){
			aTables[i].style.fontSize = pixelArray[theFontSize];
	}
/*
	aP = document.getElementsByClassName('MsoNormal');
	for(i = 0; i < aP.length; i++){
			aP[i].style.fontSize = pixelArray[theFontSize]+'pt';
	}
	*/
	// if you rather want to size an individual element by ID, use this:
	// resizeContainer = document.getElementById('nameOfConainingElement');	
	// and uncomment the if statements at the start of each function
	//resizeContainer = document.getElementsByTagName('body')[0];	
	resizeContainer = document.getElementById('left');
	resizeContainer.style.fontSize = (pixelArray[theFontSize]-1)+'px';	
	resizeContainer = document.getElementById('center');
	resizeContainer.style.fontSize = pixelArray[theFontSize]+'px';	
	resizeContainer = document.getElementById('right');
	resizeContainer.style.fontSize = pixelArray[theFontSize]+'px';
}

function normalSize() {
	/*if (!document.getElementById) return;*/
	
	var size = 2;
	
	doFontSizing(size);	
	createCookie("size", size, 365);
}

function normalSizePrint() {
	/*if (!document.getElementById) return;*/
	
	var size = 2;
	
	doFontSizing(size);	
}

/*function switchPic(size){	
	theImage = document.getElementById('dIndexBanner').firstChild;		
	imagePath = theImage.src;
	
}*/

function setLayout()
{
	switch(readCookie("layout"))
	{
		case 'cont':
			createCookie("layout",'',1);
		break;
		default:
			createCookie("layout",'cont',1);
		break;
	}
	document.location.reload();
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "expires="+date.toGMTString();
	}
	else {
		expires = "";
	}
	document.cookie = name+'='+value+'; '+expires+'; path=/';
}

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 c.substring(nameEQ.length,c.length);
		}
	}
	return initSize;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}
 
window.onload = function(e) {
	fontSizerOnLoad(readCookie("size"));
	
	if(readCookie("layout") == 'cont')
	{
		/* var headID = document.getElementsByTagName("head")[0];         
		var cssNode = document.createElement('link');
		cssNode.type = 'text/css';
		cssNode.rel = 'stylesheet';
		//cssNode.href = 'fileadmin/templates/css/style_zaloba.css?2';
		cssNode.href = 'fileadmin/templates/css/style_cont.css?17';
		cssNode.media = 'all';
		headID.appendChild(cssNode); */
		
		if (document.createStyleSheet) document.createStyleSheet('/fileadmin/templates/css/style_cont.css?18');
		else $("head").append($("<link rel='stylesheet' href='/fileadmin/templates/css/style_cont.css?18' type='text/css' media='screen' />"));
           
		document.getElementById("layout").innerHTML = 'Wersja graficzna';
	}
}
