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 domain;
    if (location.hostname.indexOf ("oclc.org")>-1) {
        domain = "oclc.org";
    } else if (location.hostname.indexOf ("worldcat.org")>-1) {
        domain = "worldcat.org";
    }
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +escape(value)+
    ((expiredays==null) ? "" : ";expires="+exdate.toGMTString()) +
    ((domain==null)?"":";domain=" + domain);
}

function trimAll(sString) { return sString.replace(/^\s*|\s*$/g, ''); }

// LHR function
function getLevelOne(url) {
 jQuery('#inpopac_availability').css({'display' : 'block'});

 jQuery.get(url, function(data) {
  jQuery(data).find('id').each (function(){
    jQuery('#inpopac_availability').css({'display' : 'none'});

    var id = jQuery(this).text();
    var content = jQuery(this).siblings('content').text();

   // Replace opac message
    if (id == "message") {
     if (content.indexOf("SUCCESS_COMMENT") > -1) {
       jQuery('#opacmsg').html(content);
     } else {
       jQuery('#opacmsg').css({'display' : 'none'});
     }
    }

    jQuery('#done' +id).html (content);
    jQuery('#inp' +id).css({'display' : 'none'});
    jQuery('#done' +id).css({'display' : 'block'});


  }); //close each

 });
}

// LHR function
function getLevelTwo(div, url) {
 jQuery('#inpimg'+ div).css({'display' : 'block'});

 jQuery.get(url, function(data) {
  jQuery('#done' +div).html(jQuery(data).find('content').text());

  // mlog(jQuery(data).find('content').text());
 });
}

function getLocalAvailability(avlfulUrl) {
  jQuery.get(avlfulUrl, function(data) {

    jQuery(data).find('id').each (function(){
      var id = jQuery(this).text();
      var content = jQuery(this).siblings('content').text();

     // Email availability in the toolbar
      if (id == "availability_email") {
        if (EmailAvailability && EmailAvailability.processAvailability) {
           EmailAvailability.processAvailability (content);
        }
      }

      jQuery('#done' +id).html (content);
      jQuery('#inp' +id).css({'display' : 'none'});
      jQuery('#done' +id).css({'display' : 'block'});

      //mlog(jQuery(this).siblings('content').text());

    }); //close each

  });
}

var commReqs = new Array();

function commLoadDocId(url, id) {
  var inp = document.getElementById("inp"+id);
  url = url+'&elementId='+id;
  inp.style.display = 'inline';
  commLoadDoc(url);
}
function commLoadDoc(url) {
  var req;
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
  }

  if (req) {
    commReqs.push(req);
    req.onreadystatechange = commProcessReqChange;
    req.open("GET", url, true);
    req.send(null);
  }
}

function commProcessReqChange() {
  for (var i=0; i < commReqs.length; i++) {
    try {
      if (commReqs[i].readyState == 4) {
	if (commReqs[i].status == 200) {
	  var response = commReqs[i].responseXML.documentElement;
	  response.normalize();
	  commReqs.splice(i,1); i--;
	  
	  var elements = response.getElementsByTagName('element');
	  for (i = 0; i < elements.length; i++) {
	    var id = elements[i].getElementsByTagName('id')[0].firstChild.data;
	    var inp = document.getElementById("inp"+id);
	    var done = document.getElementById("done"+id);
	    
	    try {
	      var content = elements[i].getElementsByTagName('content')[0].firstChild.data;

       if (id == "availability_email") {
         if (EmailAvailability && EmailAvailability.processAvailability) {
            EmailAvailability.processAvailability (content);
         }
       }

       if (content == " ") {
		inp.style.display = 'none';
	      } else {
		done.innerHTML += content;
		inp.style.display = 'none';
		done.style.display = 'inline';
          }

	    } catch (e) {
            try {
                inp.style.display = 'none';
            } catch(e1) {

            }
        }
	  }

	var scriptelements = response.getElementsByTagName('scriptelement');
        for (i = 0; i < scriptelements.length; i++) {
		var scriptcontent = scriptelements[i].getElementsByTagName('content')[0].firstChild.data;
		eval(scriptcontent);
	}	

	} else {
	  commReqs.splice(i,1); i--;
	}
      }
    } catch (e) {
      commReqs[i].abort();
      commReqs.splice(i,1); i--;
    }
  }
}

function abortCommReqs() {
  for (var i=0; i < commReqs.length; i++) {
    commReqs[i].onreadystatechange = function() { };
    commReqs[i].abort();
    commReqs[i] = null;
    commReqs.splice(i,1); i--;
  }
}



