
// JavaScript Document
var xmlHttp;
var printBasket = false;
var isResultOnPage = true;
var waiting = "<img src='loading.gif' /> Čekám na obsah...";
var ajaxIndex;
function createXMLRequest(){
 isIE=false;
 if (window.ActiveXObject) {
  xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  isIE = true;
 }
 else if (window.XMLHttpRequest) 
 {
  xmlHttp = new XMLHttpRequest();
 }
this.onCompletion = function(){ processResults(); }; 
}
function getID() {
 return document.getElementById("id").value;
}
function addIntoBasket(id) {
 //showBasket = false;
 var result = document.getElementById("result");
 result.innerHTML = waiting;
 
 ajaxObjects = new Array();
 ajaxIndex = dynamicContent_ajaxObjects.length;
 //document.getElementById(containerid).innerHTML = waiting;
 ajaxObjects[ajaxIndex] = new sack();
 url = "/" + URL + "/AddIntoBasketEx?OpenAgent" + "&id=" + id + "&basketid=" + readCookie("basketid"); //agent to run
 ajaxObjects[ajaxIndex].requestFile = url; // Specifying which file to get
 ajaxObjects[ajaxIndex].onCompletion = function(){ processResult2(ajaxIndex); }; // Specify function that will be executed after file has been found
 ajaxObjects[ajaxIndex].runAJAX(); 
 
 /*
 createXMLRequest();
 var turl = "/" + URL + "/AddIntoBasketEx?OpenAgent"; 
 var params = "&id=" + id + "&basketid=" + readCookie("basketid");
 xmlHttp.open("POST", turl+params, true);
 xmlHttp.onreadystatechange = onStateChange;
 xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;"); 
 xmlHttp.send(null);
*/
}
function processResult2(ajaxIndex) {
 
 var result = document.getElementById("result");
 /*
 while (result.hasChildNodes()) {
  result.removeChild(result.childNodes[0]);
 }*/
  
 var resultXML = ajaxObjects[ajaxIndex].responseXML;
 //var resultNode = resultXML.getElementsByTagName("result");
 var answerNode = resultXML.getElementsByTagName("answer");
 var basketNode = resultXML.getElementsByTagName("basket");
 
 var error = resultXML.getElementsByTagName("error");
 
 if (error.length>0) {
  var textResult = document.createTextNode(error[0].childNodes[0].nodeValue);
  result.appendChild(textResult); 
  return false;
 }
 
 var test = resultXML.getElementsByTagName("test");
 if (answerNode.length>0) {
 var textResult = document.createTextNode(answerNode[0].childNodes[0].nodeValue);
 }
 if (basketNode.length>0) writeCookie("basketid", basketNode[0].childNodes[0].nodeValue, 24);
 //result.appendChild(textResult); 
 if (answerNode.length>0) result.innerHTML = answerNode[0].childNodes[0].nodeValue
 
}
function addIntoBasket2(id) {
 //showBasket = false;
 
 dynamicContent_ajaxObjects = new Array();
 ajaxIndex = dynamicContent_ajaxObjects.length;
 //document.getElementById(containerid).innerHTML = waiting;
 dynamicContent_ajaxObjects[ajaxIndex] = new sack();
 url = "/" + URL + "/AddIntoBasketEx?OpenAgent" + "&id=" + id + "&basketid=" + readCookie("basketid"); //agent to run
 dynamicContent_ajaxObjects[ajaxIndex].requestFile = url; // Specifying which file to get
 dynamicContent_ajaxObjects[ajaxIndex].onCompletion = function(){ showReservations(containerid,ajaxIndex); }; // Specify function that will be executed after file has been found
 dynamicContent_ajaxObjects[ajaxIndex].runAJAX(); 
 
 /*
 createXMLRequest();
 var turl = "/" + URL + "/AddIntoBasketEx?OpenAgent"; 
 var params = "&id=" + id + "&basketid=" + readCookie("basketid");
 xmlHttp.open("POST", turl+params, true);
 xmlHttp.onreadystatechange = onStateChange;
 xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;"); 
 xmlHttp.send(null);
*/
}
function getData(id) {
 //showBasket = false;
 createXMLRequest();
 //this.onCompletion = function(){ processResults(); }; 
 var url = "AddIntoBasketEx?OpenAgent"; 
 var params = "&id=" + id + "&basketid=" + readCookie("basketid");
 xmlHttp.onreadystatechange = onStateChange;
 xmlHttp.open("GET", url+params, true);
 xmlHttp.send(null);
}
function onStateChange() {
 if (xmlHttp.readyState == 4) {
  if (xmlHttp.status == 200) {
 /*  if (showBasket) createBasketTable();
   else processResults();
   **/
   self.onCompletion();
   
  }
 }
}
function writeCookie(name, value, hours)
{
  var expire = "";
  if(hours != null)
  {
    expire = new Date((new Date()).getTime() + hours * 3600000);
    expire = "; expires=" + expire.toGMTString();
  }
  document.cookie = name + "=" + escape(value) + expire + ";path=/";
}
function readCookie(name)
{
  var cookieValue = "";
  var search = name + "=";
  if(document.cookie.length > 0)
  { 
    offset = document.cookie.indexOf(search);
    if (offset != -1)
    { 
      offset += search.length;
      end = document.cookie.indexOf(";", offset);
      if (end == -1) end = document.cookie.length;
      cookieValue = unescape(document.cookie.substring(offset, end))
    }
  }
  return cookieValue;
}
function processResults() {
 
 //debugger;
 
 var result = document.getElementById("result");
 if (result.hasChildNodes()) {
  result.removeChild(result.childNodes[0]);
 }
 
 
 
 var resultXML = xmlHttp.responseXML;
 //var resultNode = resultXML.getElementsByTagName("result");
 var answerNode = resultXML.getElementsByTagName("answer");
 var basketNode = resultXML.getElementsByTagName("basket");
 
 var test = resultXML.getElementsByTagName("test");
 if (answerNode.length>0) {
 var textResult = document.createTextNode(answerNode[0].childNodes[0].nodeValue);
 }
 if (basketNode.length>0) writeCookie("basketid", basketNode[0].childNodes[0].nodeValue, 24);
 result.appendChild(textResult);
 
}
/*
function showBasket(search) {
 var dbpathNode =  document.getElementById("dbpath");
 var dbpath = "";
 if (dbpathNode != null)  {
  dbpath = "/" + dbpathNode.value + "/";
 }
 
 
 
 var url = "showBasketEx?OpenAgent";
 basketid =  readCookie("basketid");
 if (basketid=="") {
  var basketidNode = document.getElementById("basketid");
  if (basketidNode!=null)  basketid = basketidNode.value;
  }
 var params =  "&basketid=" + basketid; 
 var paramex="";
 if (search) paramex = "&param=print"
 location = dbpath +  url + params + paramex;
}
*/
function showResults() {
 /*
  *  Jestli mam data na stranke, len zobrazit
  *  Ak ich nemam, tak musim zavolat ResultAgenta!!! <- volam funkci zo zaznamu!
  */
  // pokud mame jeste data na strance jsme v pohode, pokud ne, musime znovu loadovat
   var availNode =  document.getElementById("avail");
  if (availNode === null) {
   // mame data na strance!
    var contentNode =  document.getElementById("content");
    if (contentNode!==null) contentNode.style.display = 'block';
    var basketNode = document.getElementById("basketTable");
    if (basketNode!==null) basketNode.style.display = 'none';
    
  }
  else
  {
   link = "/" + URL + "/ResultAgent?OpenAgent&f="+readCookie("sqdociddir") + "&start=1&count=10";
   window.location.replace(link);
  }
  
 /* 
  var resultNode =  document.getElementById("content");
   if (resultNode!=null) resultNode.style.display = 'block';
   var basketTable = document.getElementById("basketTable");
   basketTable.innerHTML = "";
   link = "ResultAgent?OpenAgent&f"+readCookie("sqdociddir") + "&start=1&count=10";
   */
}
function showBasketEx(search, printBasket) {
 showBasket =true;
 this.printBasket = printBasket;
 
 // hide the result part
 var resultNode =  document.getElementById("content");
 if (resultNode!=null) resultNode.style.display = 'none';
  
/* var availNode =  document.getElementById("avail");
 if (availNode!=null) availNode.style.display = 'none';
 */
 
 var resultNavNode = document.getElementsByName("searchResultNav");
 
 if (resultNavNode.length>0) { if (printBasket) resultNavNode[0].style.display = 'none'; else resultNavNode[0].style.display = 'block'; }
 var result = document.getElementById("result");
 result.innerHTML = waiting;
 
 ajaxObjects = new Array();
 ajaxIndex = dynamicContent_ajaxObjects.length;
 //document.getElementById(containerid).innerHTML = waiting;
 var basketid = readCookie("basketid");
 if (basketid=="") showEmptyBasket();
 
 ajaxObjects[ajaxIndex] = new sack();
 url = "/" + URL + "/showBasketEx2?OpenAgent" + "&basketid=" + basketid; //agent to run
 ajaxObjects[ajaxIndex].requestFile = url; // Specifying which file to get
 ajaxObjects[ajaxIndex].onCompletion = function(){ createBasketTable(); }; // Specify function that will be executed after file has been found
 ajaxObjects[ajaxIndex].runAJAX(); 
 
 /* var navNode =  document.getElementsByName("navigace");
 
 
 
 if (printBasket) { 
   if (navNode.length>0) {
    for(var i=0;i<navNode.length;i++)
     navNode[i].style.display = 'none';
   }
    
 }
 else
 {
  if (navNode.length>0) {
    for(var i=0;i<navNode.length;i++)
     navNode[i].style.display = 'block';  
   }
 }
 
 
 
 createXMLRequest();
 
 this.onCompletion = function(){ createBasketTable(); }; 
 var turl = "/" + URL + "/showBasketEx2?OpenAgent";
 var basketid = readCookie("basketid");
 if (basketid=="") showEmptyBasket();
 var params = "&basketid=" + basketid;
 
 
 xmlHttp.open("POST", turl+params, true);
 xmlHttp.onreadystatechange = onStateChange;
 xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;"); 
 xmlHttp.send(null);
 */
 
 
 
 
}
function deleteFromBasket() {
 // collect data
 //debugger;
 var deleteValues="";
 var inputs = document.getElementsByTagName( 'input' );
 var checkboxOptions = [];
 var minOne = false;
 
 for(var i=0; i<inputs.length; i++){  
   if(inputs.item(i).getAttribute( 'name' ) == 'BasketItems' ){
    if (inputs.item(i).checked) {
       checkboxOptions.push( inputs.item(i).value );
       minOne = true;
    }
   } 
 }
 
 
 if(!minOne) {
  //Musis odskrtnut aspon neco wole
  var result = document.getElementById("resultDelete");
  result.innerHTML = "Označte minimálně jednu položku!"
  
 }
 else 
 {
/*
createXMLRequest();
 //showBasket= false;
 //this.onCompletion = function(){ processResults(); }; 
 var url = "DeleteFromBasketEx?OpenAgent";
 var params =  "&basketid=" + readCookie("basketid") + "&vals=" + checkboxOptions.join("$");
 xmlHttp.open("POST", url+params, true);
 xmlHttp.onreadystatechange = onStateChange;
 xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;"); 
 xmlHttp.send(null); 
 this.onCompletion = function(){ deletedFromBasket(); };
  * */
 
 ajaxObjects = new Array();
 ajaxIndex = dynamicContent_ajaxObjects.length;
 //document.getElementById(containerid).innerHTML = waiting;
 var basketid = readCookie("basketid");
 if (basketid=="") showEmptyBasket();
 
 ajaxObjects[ajaxIndex] = new sack();
 url = "/" + URL + "/DeleteFromBasketEx?OpenAgent" + "&basketid=" + basketid + "&vals=" + checkboxOptions.join("$"); //agent to run
 ajaxObjects[ajaxIndex].requestFile = url; // Specifying which file to get
 ajaxObjects[ajaxIndex].onCompletion = function(){ deletedFromBasket(); }; // Specify function that will be executed after file has been found
 ajaxObjects[ajaxIndex].runAJAX();
 
 }
 
}
function deletedFromBasket() {
  var result = document.getElementById("resultDelete");
 if (result.hasChildNodes()) {
  result.removeChild(result.childNodes[0]);
 }
  
 
var resultXML = ajaxObjects[ajaxIndex].responseXML;
// var resultXML = xmlHttp.responseXML;
 //var resultNode = resultXML.getElementsByTagName("result");
 var answerNode = resultXML.getElementsByTagName("answer");
 var test = resultXML.getElementsByTagName("test");
 if (answerNode.length>0) {
 var textResult = document.createTextNode(answerNode[0].childNodes[0].nodeValue);
 }
 result.appendChild(textResult);
 
 showBasketEx(false, false);
 
}
function addIntoBasketAll() {
/*
 createXMLRequest();
 //showBasket= false;
 //this.onCompletion = function(){ processResults(); }; 
 var url = "AddIntoBasketEx?OpenAgent"; 
 var params = "&basketid=" + readCookie("basketid")+ "&all";
 xmlHttp.open("POST", url+params, true);
 xmlHttp.onreadystatechange = onStateChange;
 xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;"); 
 xmlHttp.send(null);*/
 
 
 ajaxObjects = new Array();
 ajaxIndex = dynamicContent_ajaxObjects.length;
 //document.getElementById(containerid).innerHTML = waiting;
 //var basketid = readCookie("basketid");
 //if (basketid=="") showEmptyBasket();
 
 ajaxObjects[ajaxIndex] = new sack();
 url = "/" + URL + "/AddIntoBasketEx?OpenAgent" + "&basketid=" + readCookie("basketid")+ "&all"; //agent to run
 ajaxObjects[ajaxIndex].requestFile = url; // Specifying which file to get
 ajaxObjects[ajaxIndex].onCompletion = function(){ processResult2(ajaxIndex); }; // Specify function that will be executed after file has been found
 ajaxObjects[ajaxIndex].runAJAX();
 
}
function emptyBasket(){
 /**
  * Len vymazem cookinu, na co zatazovat server?
  * a updatnem
  */
 
 writeCookie("basketid","",3);
 showBasketEx(false, false);
 
 /*
 createXMLRequest();
 this.onCompletion = function(){ createBasketTable(); }; 
 var url = "emptyBasketEx?OpenAgent"; 
 var params = "&basketid=" + readCookie("basketid")+ "&all";
 xmlHttp.open("POST", url+params, true);
 xmlHttp.onreadystatechange = onStateChange;
 xmlHttp.on
 xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;"); 
 xmlHttp.send(null);*/
}
function createBasketMenu(basketTable) {
 menu = document.createElement("div");
 basketTable.appendChild(menu);
 menu.setAttribute("class","navigace");
 menu.setAttribute("name","navigace");
 var debugg = "<a href=\"javascript:'<xmp>' + window.document.body.outerHTML+ '</xmp>'\"> Obsah </a>";
   menu.innerHTML = "<ul><li><a href=\"javascript:deleteFromBasket();\" >Smazat vybrané</a></li><li><a href=\"javascript:setAllCheckBoxes(false)\">Zrušit výběr</a></li><li><a href=\"javascript:setAllCheckBoxes(true)\">Vybrat vše</a></li><li><a href=\"javascript:emptyBasket()\">Vyprázdnit košík</a></li><li><a href='javascript:showBasketEx(false, true)' >Zobrazit řešerši</a></li></ul><br/>";
   //"<a href='javascript:CacheTester()'>Tester</a>" + "<a href='javascript:CacheTester2()'>Tester</a>";
   resultDelete = document.createElement("div");
   resultDelete.setAttribute("id","resultDelete");
   
   menu.appendChild(resultDelete);
 /*
  * <div class="navigace">
</div>
* <li><a onclick="javascript:SetAllCheckBoxes('_BasketForm','BasketItems',false);return false;
return false;" href="">Odznač vše</a></li>
<li><a href="ResultAgent?OpenAgent">Zobrazit výsledek vyhledávání</a></li>
<li><a href="Logout?OpenAgent">Odhlásit</a></li>
<li><a href="UserProfile?OpenAgent">Profil uživatele</a></li>
<li><a href="showBasket?OpenAgent&amp;param=print">Zobrazit rešerši</a></li>
  */
 
}
function showEmptyBasket() {
  var basketTable = document.getElementById("basketTable");
 
 //result.style.display="none";
 if (basketTable) {
  basketTable.innerHTML = "";
  basketTable.style.display="block";
  var title = document.createElement("h3");
  title.appendChild(document.createTextNode("Rešeršní košík"))
   basketTable.appendChild(title);
  var error = document.createElement("div");
    error.setAttribute("class","error");
    error.appendChild(document.createTextNode("Košík je prázdny!"));
    // TODO : presmerovat na prazndy kosik
    basketTable.appendChild(error);
 }
}
/*
 * ResultAgent?OpenAgent&f=ALPA-79JLV
 */
 
 function showBasketTableItems(itemCount){
  /**
   * Zobrazi len itemCount polozek
   */
  
 }
 
 function createBasketTable() {
//  var resultXML = xmlHttp.responseXML;
var resultXML = ajaxObjects[ajaxIndex].responseXML;
 if (resultXML==null || resultXML.length==0) {
  showEmptyBasket();
  return false;
    
 }
 resersTable.printBasket = printBasket;
 resersTable.initTable(resultXML);
 if (resersTable.parsingError=="") resersTable.displayItems(1);
 
 }
 
 function showNextPage(count){
  resersTable.displayItems(count);
  
 }
/*
function createBasketTable2() {
 
  
 //debugger;
 
 var result = document.getElementById("result");
 if (result) result.innerHTML = "";
 
 
 var basketTable = document.getElementById("basketTable");
 if (basketTable) basketTable.style.display = 'block';
 if (basketTable) basketTable.innerHTML = "";
 
 var path=location.pathname;
 var loc=path.indexOf(".nsf");
 filename=path.substring(0,loc)+".nsf";
 
 
 //var resultXML = xmlHttp.responseXML;
 var resultXML = ajaxObjects[ajaxIndex].responseXML;
 if (resultXML==null || resultXML.length==0) {
  showEmptyBasket();
  return false;
    
 }
 
 resersTable.initTable(resultXML);
 
 //var resultNode = resultXML.getElementsByTagName("result");
   
  
 var parseError = resultXML.getElementsByTagName("parsererror");
 if (parseError!=null && parseError.length>0) {
  var error = document.createElement("div");
  error.setAttribute("class","error");
  error.appendChild(document.createTextNode(parseError[0].firstChild.nodeValue));
  result.appendChild(error);
  return false;
 }
 
 
 
 var countNode = resultXML.getElementsByTagName("count");
 var count = resultXML.getElementsByTagName('count').item(0);
 if ((count==null) || (count.firstChild.nodeValue==0)) {
  showEmptyBasket();
  return false;    
 } 
 
 var title = document.createElement("h3");
 title.appendChild(document.createTextNode("Rešeršní košík"))
 
 basketTable.appendChild(title);
 if (!printBasket) createBasketMenu(basketTable);
 var count = resultXML.getElementsByTagName('count').item(0);
//debugger;
 if (count==null){
  xmlHttp.responseXML.load(xmlHttp.responseBody);
   var count = xmlHttp.responseXML.getElementsByTagName('count').item(0); 
 }
 
 if (count!=null) {   
  
  var countNode = document.createElement("div");
  countNode.setAttribute("class", "count");
 // if (count[0].firstChild==null) alert("FUCKING!!!");
  countNode.appendChild( document.createTextNode("Počet záznamů :" + count.firstChild.nodeValue));
  basketTable.appendChild(countNode);
 }
 
 var records = resultXML.getElementsByTagName("catalogrecord");
 
 
  // Vytvorim menu, ak je to potreba
  
 var navMenu = document.createElement("navMenu");
 basketTable.appendChild(navMenu);
 
 var form = document.createElement("form");
 form.setAttribute("name", "basketForm");
 form.setAttribute("method", "post");
 form.setAttribute("action", "");
 
 basketTable.appendChild(form);
  
 var table = document.createElement("table");
 form.appendChild(table);
 
 var tableh = document.createElement("thead");
 table.appendChild(tableh);
 if (isIE)
 table.setAttribute("className","tabdata");
 else
 table.setAttribute("class","tabdata");
 
  // Tabulka v zavislosti od typu : printBasket
   
  
 headerTr = document.createElement("tr");
 tableh.appendChild(headerTr);
 
 if (!printBasket) {
 
  headerTh = document.createElement("th");
  headerTr.appendChild(headerTh); 
  headerTh = document.createElement("th");
  //headerTh.setAttribute("width","85"); 
  headerTr.appendChild(headerTh);
 
  
 }
 headerTh = document.createElement("th");
 headerTr.appendChild(headerTh);
 headerTh.appendChild(document.createTextNode("Katalogizační záznam"));
 
  var tableb = document.createElement("tbody");
 table.appendChild(tableb);
 
 for(var i = 0; i < records.length; i++) {  
   tableb.appendChild(createRow(records[i]));  
 } 
return true;
  
}
*/
function createRow(record) {
 
 var row = document.createElement("tr");
 
 if (!printBasket) {
 
  /*
   *  Vytvorim checkboxik
   */
   
  var checkbox = document.createElement("input");
  checkbox.setAttribute("type","checkbox");
 
  checkbox.setAttribute("name","BasketItems");
  checkbox.setAttribute("value",getText(record, "id"));
 
  var cell = document.createElement("td");
  cell.appendChild(checkbox); 
   
  row.appendChild(cell);
 
  /*
   *  Detailny nahlad
   */
 
  cell = document.createElement("td");
  var a = document.createElement("a"); 
 
  a.setAttribute("href","javascript:openURLnewWindow('" +filename + "/Web/" + getText(record, "id")+"?OpenDocument&menu=f" + "', 'Detail');" );
  //a.setAttribute("onmouseover", "ajax_showTooltip('" +filename + "/Web/" + getText(record, "id")+"?Open&menu=f" + "',this);return false");
  //a.setAttribute("onmouseout", "ajax_hideTooltip();"); 
  a.appendChild(document.createTextNode("Detail"));
  cell.appendChild(a);
  row.appendChild(cell);
 }
 
 /*
  *  Get data a zobrazit do riadku tabulky
  */
 
 var title = getText(record, "title"); 
 var source = getText(record, "source");
 var author = getText(record, "author");
  
 if (printBasket) { 
  var mark = getText(record, "mark"); 
  var isbn = getText(record, "isbn");
  var issn = getText(record, "issn");
  var keywordscz = getText(record, "keywords-cz"); 
  var keywordsen = getText(record, "keywords-en"); 
  var sigla = getText(record, "sigla");
  var res =getText(record, "res");
 var annotation = getText(record, "annotation");
 var attachement_list = getText(record, "attachement_list");
 var project_code = getText(record, "projectcode");
 } 
 
 row.appendChild(createColumn(author, title, source, isbn, issn, mark, keywordscz, keywordsen, sigla, res, annotation, attachment_list, project_code));
 
 return row;
 
}
function getText(source, name) {
 var temp = source.getElementsByTagName(name)[0];
 if (temp!=null) {
  return temp.firstChild.nodeValue;  
 }
 else
 return null;
}
function createColumn(author, title, source,isbn, issn, mark, keywordscz, keywordsen, sigla, res, annotation, attachment_list, project_code) {
 var cell = document.createElement("td");
 if (project_code) cell.appendChild(createDivNode("project_code",project_code));
 cell.appendChild(createDivNode("author",author));
 cell.appendChild(createDivNode("title",title));
 cell.appendChild(createDivNode("source",source));
 
 if (isbn) cell.appendChild(createDivNode("isbn",isbn));
 if (issn) cell.appendChild(createDivNode("issn",issn));
 if (annotation) cell.appendChild(createDivNode("annotation",annotation));
 if (attachment_list) cell.appencChild(createDivNode("attchment_list", attchment_list));
 if (mark) cell.appendChild(createDivNode("mark",mark));
 if (keywordscz) cell.appendChild(createDivNode("keywordscz",keywordscz));
 if (keywordsen) cell.appendChild(createDivNode("keywordsen",keywordsen));
 if (sigla) cell.appendChild(createDivNode("sigla",sigla));
 if (res) {
   cell.appendChild(createDivNode("res",res));
 }
 
 return cell;
}
function createDivNode(name, text){
 var a = document.createElement("div");
 a.setAttribute("className",name);
 a.setAttribute("class",name);
 
 if (text!=null) a.appendChild(document.createTextNode(text));
 
 return a;
}
function openURLnewWindow(URL, name){
 window.open(URL,name,'width=750,height=300');
}
function setAllCheckBoxes(CheckValue)
{    
 var inputs = document.getElementsByTagName( 'input' );
 
 for(var i=0; i<inputs.length; i++){  
   if(inputs.item(i).getAttribute( 'name' ) == 'BasketItems' ){
    inputs.item(i).checked = CheckValue       
   } 
 }
}
function checkAll(FormName, FieldName){
 var objCheckBoxes = document.forms[0].elements[FieldName];
 for(var i = 0; i < objCheckBoxes.length; i++)
   if (objCheckBoxes[i].checked) return true;
   
 alert("Zaškrtnite co je třeba smazat!");
 return false;
}
/**
 *  Create the Caching of the resers basket
 * 
 */
function checkall2()
{
 //debugger;
void(d=document);
void(el=d.getElementsByName('BasketItems'));
for(i=0;i<el.length;i++)
void(el[i].checked=1)
}
function uncheckall2()
{
void(d2=document);
void(e2=d2.getElementsByName('BasketItems'));
for(i=0;i<el.length;i++)
void(el[i].checked=0) 
}
function CacheTester() {
 var cache = new Cache(); 
 cache.setItem("prvy","prva-hodnota");
 //cache.getItem("prvy");
 
 
 document.getElementById("result").innerHTML =  cache.getItem("prvy");
 
 
}
/***
 *  Pomocna premmenna resersTable
 */
 function resersTableRow(record) {
  this.id = getText(record, "id");
  this.author = getText(record, "author");
 this.title = getText(record, "title");
 this.source = getText(record, "source");
 this.keywordscz = getText(record, "keywords-cz");
 this.keywordsen = getText(record, "keywords-en");
 this.isbn = getText(record, "isbn");
 this.issn = getText(record, "issn");
 this.mark = getText(record, "mark");
 this.sigla = getText(record, "sigla");
 this.resource = getText(record, "res");
 this.annotation = getText(record, "annotation");
 this.attachment_list = getText(record, "attachment_list");
 this.project_code = getText(record, "projcode");
  
 }
 
 
 var resersTable = {
 init : false,
 specialTableName: null,
 items : new Array(),
 itemCount : 0,
 path : location.pathname,
 filename : "",
 printBasket : false,
 parsingError: "",
 
 emptyBasket : function(){
   var basketTable = document.getElementById("basketTable");
 
 //result.style.display="none";
 if (basketTable) {
  basketTable.innerHTML = "";
  basketTable.style.display="block";
  var title = document.createElement("h3");
  title.appendChild(document.createTextNode("Rešeršní košík"))
   basketTable.appendChild(title);
  var error = document.createElement("div");
    error.setAttribute("class","error");
    error.appendChild(document.createTextNode("Košík je prázdny!"));
    // TODO : presmerovat na prazndy kosik
    basketTable.appendChild(error);
    this.showParsingError = "";
 }
  
 },
 
 displayItems : function(count) {
  var result = document.getElementById("result");
   if (result) result.innerHTML = "";
  
   var basketTable = document.getElementById("basketTable");
   if (basketTable) basketTable.style.display = 'block';
   if (basketTable) basketTable.innerHTML = "";
   
   /**
    *  Titulok
    */
   var title = document.createElement("h3");
   title.appendChild(document.createTextNode("Rešeršní košík"));
   basketTable.appendChild(title);
   
   if (this.itemCount == 0) {
   this.emptyBasket();
   return true; 
   };
   
   /**
    *  ak to neni print - potrebujem menu
    */
   
   if (!this.printBasket) createBasketMenu(basketTable);
    
 
   if (this.itemCount!=null) {   
  
    var countNode = document.createElement("div");
    countNode.setAttribute("class", "count");
    
    if (!this.printBasket) {
     var end = count*10;
    if (end>this.itemCount ) end = parseInt(this.itemCount);
    var start = (count-1)*10 + 1;
    if (start<=0) start = 1;  
    countNode.appendChild( document.createTextNode("Počet záznamů : " + start + " - " + end + " / " +  this.itemCount));
    }
    else
    {
     countNode.appendChild( document.createTextNode("Počet záznamů :" + this.itemCount));
    }
    
    
    basketTable.appendChild(countNode);
   }
   
   
   /**
    * Vytvorim menu, ak je to potreba
    */
    
    
    
     if (!this.printBasket) {
      if (this.itemCount>10 ) {      
    
    basketTable.appendChild(this.createItemMenu(count, start, end));
   var cleaner = document.createElement("div");
    if (isIE)
    cleaner.setAttribute("className","cleaner-white");
    else
    cleaner.setAttribute("class","cleaner-white");
    basketTable.appendChild(cleaner);
      }
    }
     
   var form = document.createElement("form");
   form.setAttribute("name", "basketForm");
   form.setAttribute("method", "post");
   form.setAttribute("action", "");
   
   basketTable.appendChild(form);   
    
   var table = document.createElement("table");
   form.appendChild(table);
   
   var tableh = document.createElement("thead");
   table.appendChild(tableh);
   if (isIE)
   table.setAttribute("className","tabdata");
   else
   table.setAttribute("class","tabdata");
   /**
    *  Tabulka v zavislosti od typu : printBasket
    */  
    
   headerTr = document.createElement("tr");
   tableh.appendChild(headerTr);
   
   if (!this.printBasket) {
   
    headerTh = document.createElement("th");
    headerTr.appendChild(headerTh);
    headerTh.setAttribute("width","5%");
    headerTh = document.createElement("th");
    //headerTh.setAttribute("width","85"); 
    headerTr.appendChild(headerTh);
    headerTh.setAttribute("width","10%");
   
    
   }
   headerTh = document.createElement("th");
   headerTr.appendChild(headerTh);
   headerTh.appendChild(document.createTextNode("Katalogizační záznam"));
   
    var tableb = document.createElement("tbody");
   table.appendChild(tableb);
    
   if (!this.printBasket) {
    var row;
    end = end + 1;
   
   for(var i = start; i < end; i++) {
    row = this.createItemRow(this.items[i]);
    if (row) {
     if (i<end) tableb.appendChild(row);  
    }
   }
   
   }
   else{    
     for(var i = 1; i < this.itemCount+1; i++) { 
      row = this.createItemRow(this.items[i]);
      if (row) tableb.appendChild(row);  
   }
   
   }
   
  
  return true;
       
  
 },
 deleteTable : function(){
  
 },
 initTable:  function(xml){
  /**
   * Test, ci je xml prazdne
   */
   
  if (window.ActiveXObject) isIE=true;
   
  var loc=this.path.indexOf(".nsf");
   this.filename=this.path.substring(0,loc)+".nsf";
   
  if (xml==null || xml.length==0) {
  this.init = false;
  return false;
  }
  /**
   *  Mozeme ukladat do pomocnej struktury
   */
   
   var parseError = xml.getElementsByTagName("parsererror");
   
   if (parseError!=null && parseError.length>0) {
   		this.parsingError = parseError[0].firstChild.nodeValue;
  		this.showParsingError(this.parsingError);
  		return false;
 	}
   
  var countNode = xml.getElementsByTagName("count");
   var count = xml.getElementsByTagName('count').item(0);
   if ((count==null) || (count.firstChild.nodeValue==0)) {
     this.itemCount = 0;
     return false;    
   }
   
   this.itemCount = count.firstChild.nodeValue;
  var records = xml.getElementsByTagName("catalogrecord");
   
  this.items = new Array();
    
     for(var i = 1; i < records.length + 1; i++) { 
      record = records[i-1];
      
      this.items[i]  = new resersTableRow(record , getText(record, "id"));
           
     
   } 
    this.showParsingError = "";
    this.init = true;
  
 },
 
 showParsingError : function(errorText){
   var result = document.getElementById("result");
   if (result) result.innerHTML = "";
  
     
     
   var error = document.createElement("div");
   
   if (isIE)
   error.setAttribute("className","navigator");
   else
   error.setAttribute("class","navigator");
   
   error.appendChild(document.createTextNode(errorText));
   result.appendChild(error);
   
   return true;
   
 },
 
 createItemMenu : function(where) {
  var menu = document.createElement("div");
  //debugger;
   if (isIE)
   menu.setAttribute("className","navigator");
   else
   menu.setAttribute("class","navigator");
   
   var divs = Math.floor(this.itemCount/10) + 1;
   
   if (divs == (this.itemCount/10 + 1)) divs--;
   
   
   /**
    *  back <<
    */
    var backBig = where-5;
    if (backBig<1) backBig = 1;
    
    /**
     *  back <
     */
     
     var backSmall = where-1;
     if (backSmall<1) backSmall =1;
    
    /**
     *  forward >
     */
     
     var forSmall = where + 1;
     if (forSmall  > divs ) forSmall = divs;
     
     /**
      *  forward >>
      */
     
     var forBig = where + 5;
     if (forBig > divs) forBig = divs;
     
     /**
      *  Middlepart
      *  1-2-3-4-5
      */
      
      var startNav = where - 2;
      var endNav = where + 2;
      var dif_e = 0;
      var dif_s = 0;
      
      if (where == 2) dif_e = 1;
      if (where == 1) dif_e = 2;
      if (where == divs-1) dif_s = 1;
      if (where == divs) dif_s = 2;
      
      if (startNav < 1) {
       startNav = 1;
       if (endNav + dif_e <= divs) endNav = endNav + dif_e;
      }
      
      if (endNav > divs) {
       endNav = divs;
       if (startNav - dif_s >=1) startNav = startNav - dif_s;       
      }
      
   var menuStr = "<table class=\"navigatorTable\"><tr>";
   menuStr = menuStr + "<td><a href=\"javascript:showNextPage(1);\">První</a></td>";
   menuStr = menuStr + "<td><a href=\"javascript:showNextPage("+backBig+");\"><<</a></td>";
   menuStr = menuStr + "<td><a href=\"javascript:showNextPage("+backSmall+");\"><</a></td>";
   
   for (var i=startNav; i<endNav+1; i++) {
    if (i!=where) menuStr = menuStr + "<td><a href=\"javascript:showNextPage("+i+");\">"+ i +"</a></td>"
    else
    menuStr = menuStr + "<td><a class=\"curPage\" href=\"javascript:showNextPage("+i+");\">"+ i +"</a></td>"
   }
  menuStr = menuStr + "<td><a href=\"javascript:showNextPage("+forSmall+");\">></a></td>";
  menuStr = menuStr + "<td><a href=\"javascript:showNextPage("+forBig+");\">>></a></td>";
  menuStr = menuStr + "<td><a href=\"javascript:showNextPage("+divs+");\">Poslední</a></td>";
  menuStr = menuStr + "</tr></table>";
  menu.innerHTML = menuStr;
   
   
   return menu;
  
 },
 
 createItemRow : function(record) {
// debugger; 
 if (!record) return false;
// if (record.id===null) return false;
 
 var row = document.createElement("tr");
 
 if (!this.printBasket) {
 
  /*
   *  Vytvorim checkboxik
   */
   
  var checkbox = document.createElement("input");
  checkbox.setAttribute("type","checkbox");
 
  checkbox.setAttribute("name","BasketItems");
  checkbox.setAttribute("value",record.id);
 
  var cell = document.createElement("td");
  cell.appendChild(checkbox); 
   
  row.appendChild(cell);
 
  /*
   *  Detailny nahlad
   */
 
  cell = document.createElement("td");
  var a = document.createElement("a"); 
 
  a.setAttribute("href","javascript:openURLnewWindow('" +this.filename + "/Web/" + record.id +"?OpenDocument&menu=f" + "', 'Detail');" );
 
  a.appendChild(document.createTextNode("Detail"));
  cell.appendChild(a);
  row.appendChild(cell);
 }
 
 /*
  *  Get data a zobrazit do riadku tabulky
  */
 
  if (!this.printBasket) {
   row.appendChild(createColumn(record.author, record.title, record.source, "","", record.mark,"", "", "", "", "", "", ""));
  }
  else
  {
    row.appendChild(createColumn(record.author, record.title, record.source, record.isbn, record.issn, record.mark, record.keywordscz, record.keywordsen, record.sigla, record.resource, record.annotation, record.attachment_list, record.project_code));
  
  }
  return row;
 
  
 }
 
 }
 
