/***
This is the javascript to run the Newbooks page/app on the DowMRC website in K-State Libraries. It was written by scratch by Kevin Champion kjc6688@gw.ksu.edu over the course of a year.
Please excuse the code messiness, cleanup is in the works. If you would like to use all or part of this, please let Kevin know.
***/

var Newbooks = new Object();

Newbooks.headingdiv = document.getElementById('Heading');
Newbooks.navdivtop = document.getElementById('NavigationTop');
Newbooks.navdivbot = document.getElementById('NavigationBottom');
Newbooks.booksdiv = document.getElementById('Books');
Newbooks.tagsdiv = document.getElementById('Tags');
Newbooks.popbooks = document.getElementById('popbooks');
Newbooks.disptagall = new Object();
Newbooks.disptagmid = new Object();
Newbooks.disptagcur = new Object();
Newbooks.displayTagsToggle = "cloud";
Newbooks.disp = '';
Newbooks.crumbs = '';
Newbooks.covercounter = 0;
var d=new Date();
var month=new Array(12);
	month[0]="January";
	month[1]="February";
	month[2]="March";
	month[3]="April";
	month[4]="May";
	month[5]="June";
	month[6]="July";
	month[7]="August";
	month[8]="September";
	month[9]="October";
	month[10]="November";
	month[11]="December";
Newbooks.loc=[];
Newbooks.loc.abbrev=[];
	Newbooks.loc.abbrev[0]="A";
	Newbooks.loc.abbrev[1]="B";
	Newbooks.loc.abbrev[2]="BL";
	Newbooks.loc.abbrev[3]="BM";
	Newbooks.loc.abbrev[4]="BP";
	Newbooks.loc.abbrev[5]="BQ";
	Newbooks.loc.abbrev[6]="BR";
	Newbooks.loc.abbrev[7]="C";
	Newbooks.loc.abbrev[8]="CC";
	Newbooks.loc.abbrev[9]="CT";
	Newbooks.loc.abbrev[10]="D";
	Newbooks.loc.abbrev[11]="E";
	Newbooks.loc.abbrev[12]="F";
	Newbooks.loc.abbrev[13]="G";
	Newbooks.loc.abbrev[14]="GN";
	Newbooks.loc.abbrev[15]="GR";
	Newbooks.loc.abbrev[16]="GT";
	Newbooks.loc.abbrev[17]="H";
	Newbooks.loc.abbrev[18]="HD";
	Newbooks.loc.abbrev[19]="HQ";
	Newbooks.loc.abbrev[20]="J";
	Newbooks.loc.abbrev[21]="JZ";
	Newbooks.loc.abbrev[22]="K";
	Newbooks.loc.abbrev[23]="L";
	Newbooks.loc.abbrev[24]="M";
	Newbooks.loc.abbrev[25]="N";
	Newbooks.loc.abbrev[26]="P";
	Newbooks.loc.abbrev[27]="P";
	Newbooks.loc.abbrev[28]="Q";
	Newbooks.loc.abbrev[29]="R";
	Newbooks.loc.abbrev[30]="S";
	Newbooks.loc.abbrev[31]="T";
	Newbooks.loc.abbrev[32]="TT";
	Newbooks.loc.abbrev[33]="U";
	Newbooks.loc.abbrev[34]="V";
	Newbooks.loc.abbrev[35]="Z";
Newbooks.loc.name=[];
	Newbooks.loc.name[0]="General Reference Works";
	Newbooks.loc.name[1]="Philosophy";
	Newbooks.loc.name[2]="Religion Mythology";
	Newbooks.loc.name[3]="Judaism";
	Newbooks.loc.name[4]="Islam";
	Newbooks.loc.name[5]="Buddhism";
	Newbooks.loc.name[6]="Christianity";
	Newbooks.loc.name[7]="History";
	Newbooks.loc.name[8]="Archaeology";
	Newbooks.loc.name[9]="Biography";
	Newbooks.loc.name[10]="World History";
	Newbooks.loc.name[11]="American History";
	Newbooks.loc.name[12]="American History";
	Newbooks.loc.name[13]="Geography";
	Newbooks.loc.name[14]="Anthropology";
	Newbooks.loc.name[15]="Folklore";
	Newbooks.loc.name[16]="Manners and Customs";
	Newbooks.loc.name[17]="Social Sciences";
	Newbooks.loc.name[18]="Labor";
	Newbooks.loc.name[19]="Family.Marriage.Women";
	Newbooks.loc.name[20]="Political Science";
	Newbooks.loc.name[21]="International Relations";
	Newbooks.loc.name[22]="Law";
	Newbooks.loc.name[23]="Education";
	Newbooks.loc.name[24]="Music";
	Newbooks.loc.name[25]="Fine Arts";
	Newbooks.loc.name[26]="Language";
	Newbooks.loc.name[27]="Literature";
	Newbooks.loc.name[28]="Sciences";
	Newbooks.loc.name[29]="Medicine";
	Newbooks.loc.name[30]="Agriculture";
	Newbooks.loc.name[31]="Technology";
	Newbooks.loc.name[32]="Arts and Crafts";
	Newbooks.loc.name[33]="Military Science";
	Newbooks.loc.name[34]="Naval Science";
	Newbooks.loc.name[35]="Bibliography and Library Science";	
Newbooks.year = d.getFullYear();
Newbooks.thisyear=Newbooks.year;
Newbooks.monthnumber = d.getMonth();
Newbooks.thismonthnumber = Newbooks.monthnumber;
Newbooks.monthname = month[Newbooks.monthnumber];
Newbooks.thismonth=Newbooks.monthname;
Newbooks.disparray= [];
Newbooks.yearsrange= [];
Newbooks.wholefeed= [];
Newbooks.titles= [];
Newbooks.dates= [];
Newbooks.years= [];
Newbooks.months= [];
Newbooks.authors= [];
Newbooks.links= [];
Newbooks.isbns= [];
Newbooks.callnumbers= [];
Newbooks.usetags=[];
Newbooks.useisbns=[];
Newbooks.tags= [];
	Newbooks.tags.user= [];
	Newbooks.tags.libuser= [];
	Newbooks.tags.loc= [];
	Newbooks.tags.loclib= [];
	Newbooks.tags.loclibuser= [];
Newbooks.everyTag= [];
Newbooks.tagselect=[];
Newbooks.tagsmy=[];
Newbooks.tagrg=[];
Newbooks.calls=[];
Newbooks.toggletagset=0;
Newbooks.labelortag = 'Labels';
Newbooks.frumcrumby=0;
Newbooks.openformsonce = 0;
var faceboxCloneToggle = 0;
Newbooks.faceboxcopy = '';

// JSON ScriptBuilder Function and Prototype, from Jason Levitt of Yahoo!
// code found here: http://devx.com/webdev/Article/30860/1954
	function JSONscriptRequest(fullUrl) {
	  this.fullUrl = fullUrl;
	  this.noCacheIE = '&noCacheIE=' + (new Date()).getTime();
	  this.headLoc = document.getElementsByTagName("head").item(0);
	  this.scriptId = 'azScriptId' + JSONscriptRequest.scriptCounter++;
	}
	JSONscriptRequest.scriptCounter = 1;
	JSONscriptRequest.prototype.buildScriptTag = function () {
	  this.scriptObj = document.createElement("script");
	  this.scriptObj.setAttribute("type", "text/javascript");
	  this.scriptObj.setAttribute("src", this.fullUrl + this.noCacheIE);
	  this.scriptObj.setAttribute("id", this.scriptId);
	}
	JSONscriptRequest.prototype.removeScriptTag = function () {
	  this.headLoc.removeChild(this.scriptObj);
	}
	JSONscriptRequest.prototype.addScriptTag = function () {
	  this.headLoc.appendChild(this.scriptObj);
	}
	
for (var j=0; j < zohoData.Display_Books_Database.length; j++){
	var wholearray=zohoData.Display_Books_Database[j];
	Newbooks.titles.push(wholearray.Title);
	Newbooks.dates.push(wholearray.Date_field);
	Newbooks.years.push(wholearray.Display_Year);
	Newbooks.months.push(wholearray.Display_Month);
	Newbooks.authors.push(wholearray.Author_Editor);
	Newbooks.links.push(wholearray.Catalog_Link);
	Newbooks.tags.push(wholearray.Tags);
	Newbooks.isbns.push(wholearray.ISBN);
	Newbooks.callnumbers.push(wholearray.Call_Number);
	Newbooks.usetags.push(wholearray.User_Tags);
	Newbooks.wholefeed.push(zohoData.Display_Books_Database[j]);
}

/*for (var j=0; j < zohodowmrcview43.User_Labels.length; j++){
	var usegen = zohodowmrcview43.User_Labels[j];
	Newbooks.usetags.push(usegen.Labels.split(','));
	Newbooks.useisbns.push(usegen.ISBN);
}*/
for (var j=0; j < Newbooks.isbns.length; j++){
	if (Newbooks.usetags[j] != ""){
		var comma = Newbooks.usetags[j].lastIndexOf(",");
		if (comma != -1){
			Newbooks.tags[j].user = Newbooks.usetags[j].split(',');
		} else {
			Newbooks.tags[j].user = [];
			Newbooks.tags[j].user.push(Newbooks.usetags[j]);	
		}
	} else {
		Newbooks.tags[j].user = [];	
	}
	/*for (var h=0; h < Newbooks.useisbns.length; h++){
		if (Newbooks.useisbns[h] == Newbooks.isbns[j]){
			if (Newbooks.tags[j].user == null){
				Newbooks.tags[j].user = Newbooks.usetags[h];
			} else {
				Newbooks.tags[j].user = Newbooks.tags[j].user.concat(Newbooks.usetags[h]);
			}
		}
	}*/
	if (Newbooks.tags[j].user == null){
		Newbooks.tags.user[j] = [];
		Newbooks.tags.libuser.push(Newbooks.tags[j]);
	} else {
		Newbooks.tags.user.push(Newbooks.tags[j].user);
		Newbooks.tags.libuser.push(Newbooks.tags[j].concat(Newbooks.tags[j].user));
	}
	if (Newbooks.callnumbers[j] != ""){
		for (var h=0; h < Newbooks.loc.abbrev.length; h++){
			if (Newbooks.callnumbers[j].substr(0,1) == Newbooks.loc.abbrev[h]){				
				Newbooks.tags.loc[j] = Newbooks.loc.name[h].split("/");
			}
			if (Newbooks.callnumbers[j].substr(0,2) == Newbooks.loc.abbrev[h]){
					Newbooks.tags.loc[j] += '>'+Newbooks.loc.name[h].split("/");
			}
			if (Newbooks.callnumbers[j].substr(0,1) == "P"){
				Newbooks.tags.loc[j] = Newbooks.loc.name[26].split("/");
			}
			if (Newbooks.callnumbers[j].substr(0,1) == "B"){
				Newbooks.tags.loc[j] = Newbooks.loc.name[1].split("/");	
			}
			if (Newbooks.callnumbers[j].substr(0,1) == "G"){
				Newbooks.tags.loc[j] = Newbooks.loc.name[13].split("/");
			}
			if ((Newbooks.callnumbers[j].substr(0,1) == "G" || Newbooks.callnumbers[j].substr(0,1) == "B") && Newbooks.callnumbers[j].substr(0,2) == Newbooks.loc.abbrev[h]){
					Newbooks.tags.loc[j] = Newbooks.loc.name[h].split("/");
					break;
			}
			if (Newbooks.callnumbers[j].substr(0,1) == "P" && Newbooks.callnumbers[j].substr(1,1)==Newbooks.loc.abbrev[h]){
					if (h<25){
						Newbooks.tags.loc[j] = Newbooks.loc.name[26].split("/");
					}
					if (h>=25) {
						Newbooks.tags.loc[j] = Newbooks.loc.name[27].split("/");
					}
					break;
			}				
							
		}
	} else {
		Newbooks.tags.loc[j] = [];
	}
	Newbooks.tags.loclib.push(Newbooks.tags[j].concat(Newbooks.tags.loc[j]));
	Newbooks.tags.loclibuser.push(Newbooks.tags.libuser[j].concat(Newbooks.tags.loc[j]));
}
/*
Newbooks.buildEveryTag = function (){
	var tagcloudbuild = [];
	var tagcloud = [];
	var tagcloudnumber = 0;
	function allTag (tag,number) {
		this.tag = tag;
		this.number = number;
	}
	for(var i = 0; i < Newbooks.tags.loclibuser.length; i++) {
		for(var j = 0; j < Newbooks.tags.loclibuser[i].length; j++) {
			tagcloudbuild.push(Newbooks.tags.loclibuser[i][j]);
		}
	}
	tagcloud = Newbooks.removeDuplicates(tagcloudbuild);
	for(var i = 0; i < tagcloud.length; i++) {
		for(var j = 0; j < tagcloudbuild.length; j++) {
			if (tagcloud[i] == tagcloudbuild[j]) {
				tagcloudnumber++;
			}
		}
		Newbooks.everyTag[i] = new allTag (tagcloud[i],tagcloudnumber);		
		tagcloudnumber = 0;
	}	
}
*/
Newbooks.changeTags = function (z){
	Newbooks.toggletagset = z;
	call = Newbooks.calls[0];
	//alert(call.m + ',' +call.y + ',' +call.t + ',' + call.tsc);
	//Newbooks.crumby(Newbooks.calls.length);
	Newbooks.loadFeed(call.m,call.y,call.t,call.tsc);
}

Newbooks.changemonth = function (z){
	for (var j=0; j < month.length; j++){
		if (month[j]==Newbooks.monthname){Newbooks.monthnumber=j;}
	}
	if (z=='previous'){
		Newbooks.monthnumber = (Newbooks.monthnumber - 1);
		if (Newbooks.monthnumber==-1){
			Newbooks.monthnumber = 11;
			Newbooks.year=(Newbooks.year-1);
		  }
	}
	if (z=='next'){
		Newbooks.monthnumber = (Newbooks.monthnumber + 1);
		if (Newbooks.monthnumber==12){
			Newbooks.monthnumber = 0;
			Newbooks.year=(++Newbooks.year);
		}
	}
	if (Newbooks.year=="2007" && Newbooks.monthnumber<8){
		var disp = '<span style="float:right; margin-left:5px;"><a class="dowmrc" href=javascript:Newbooks.browsemonths(3)>browse months</a></span><b>The feed started September 2007</b>';
		Newbooks.headingdiv.innerHTML='';
		Newbooks.headingdiv.innerHTML=disp;
	} else {
		Newbooks.monthname = month[Newbooks.monthnumber];
		Newbooks.loadFeed(Newbooks.monthname,Newbooks.year);
	}
}

Newbooks.resetmonth = function (){
	//Newbooks.loadFeed(Newbooks.thismonth,Newbooks.thisyear);
}

Newbooks.removeDuplicates = function (x) {
	var y = [];
	<!--        Script by hscripts.com          -->
<!--        copyright of HIOX INDIA         -->
<!-- Free javascripts @ http://www.hscripts.com -->
	var array2 = x;
	for(var i = 0; i < array2.length; i++){
		var xx = true;
		var ArrayVal = array2[i];
		for(var j = i+1; j < array2.length; j++){
			if(array2[j] == ArrayVal) {
				xx = false;
			}
		}       
		if(xx == true){
			y.push(ArrayVal)
		}
	}
	   <!-- Script by hscripts.com -->
	return y;
}

Newbooks.CoverTriage = function(isbn,x){
	
	function sendGoogle(){
	 	$(document).ready(function(){
			$.getJSON("http://books.google.com/books?jscmd=viewapi&bibkeys=ISBN:"+isbn+"&callback=?", function(json){
				Newbooks.getTheCover(json,x);
			});
	 	});
	 }	
	
	if (isbn != ''){
		$(document).ready(function(){
			$.ajax({
			  type: "GET",
			  url: 'http://xml-us.amznxslt.com/onca/xml?Service=AWSECommerceService&SubscriptionId=11GHCPB7ER90FJ31WZR2&AssociateTag=givlifmea-20&Operation=ItemLookup&Style=http://www.lib.k-state.edu/depts/dowmrc/jquery/ajsonSingleAsin.xsl&ContentType=text/javascript&IdType=ASIN&ResponseGroup=Medium,ItemAttributes,OfferFull&CallBack=Newbooks.amzJSONCallback&ItemId=' + isbn,
			  dataType: "script",
			  //async: false,
			  complete: sendGoogle
			});
		});
	}	
	
	Newbooks.amzJSONCallback = function(tmpdata){
		var athumb = '';
		var athumbpop = '';
		var adesc = '';
		var alink = '';
		function build(thumb,thumbpop,link,desc){
			this.thumb = thumb;
			this.thumbpop = thumbpop;
			this.link = link;
			this.desc = desc;
		}
		if(tmpdata.Item){
			var tmpItem = tmpdata.Item;
			alink = tmpItem.url;
			athumb = tmpItem.thumburl;
			athumbpop = athumb.replace("SL75","SL175");
			if(tmpItem.desc){
			// RegEx used to strip out extraneous HTML and Entities in Description text
				tmpItem.desc = tmpItem.desc.replace(/<.*?>/gi,'');
				tmpItem.desc = tmpItem.desc.replace(/&.*?;/gi,' ');
				//if(tmpItem.desc.length>381){tmpItem.desc=tmpItem.desc.substr(0,380)+"..."}
				adesc = tmpItem.desc;
			}
			athumb = '<img src="' + athumb + '"/>';
			athumbpop = '<a href="' + alink + '" target="_blank"><img src="' + athumbpop + '" title="Links to Amazon" style="width:122px;height:175px;"></a>';
			for (var i = 0; i < Newbooks.isbn.length; i++){
				if (tmpItem.asin == Newbooks.isbn[i]){
					Newbooks.amazon[i] = new build(athumb,athumbpop,alink,adesc);
				}
			}
		}
		
	}
	Newbooks.getTheCover = function (booksInfo,z) {
		var gthumb = '';
		var gthumbpop = '';
		var glink = '';
		var lthumb = '';
		var lthumbpop = '';
		var x = ''
		var isbn = Newbooks.isbn[z];
		//alert(z + ' get');
		var gbsnameA = new Array("No information", "Book info", "Partial view", "Full view");
		var testimg = document.getElementById("testimg");
		var bthumb = '<img src="images/book' + Newbooks.getBlankCoverCounter() + '.jpeg">';
		var testit = 'ISBN:'+isbn;
		if (booksInfo[testit] != undefined){
			for (i in booksInfo) {
				var book = booksInfo[i]; 
				var quality = 0;
				if(book.preview == "noview") { quality = 1; }
				if(book.preview == "partial") { quality = 2; }
				if(book.preview == "full")  { quality = 3; }
				var gisbn;
				if (book.bib_key.length == 13) {
					gisbn = book.bib_key;
				} else {
					gisbn = book.bib_key.toString().substr(5);
				}
				if (quality > 1) {
					glink = book.preview_url;
				} /*else {
					Newbooks.gblink = 'https://catalog.lib.ksu.edu/cgi-bin/Pwebrecon.cgi?DB=local&SL=none&Search_Arg=' + isbn + '&SL=None&Search_Code=ISBL&CNT=50';
				}*/
				if (book.thumbnail_url != undefined) {
					gthumbpop = book.thumbnail_url.replace("zoom=5","zoom=1");
					gthumb = '<img src="' + book.thumbnail_url + '"/>';
					gthumbpop = '<img src="' + gthumbpop + '"/>';
				} 
			}
			
			for (var i = 0; i < Newbooks.isbn.length; i++){
				if (gisbn == Newbooks.isbn[i] || isbn == Newbooks.isbn[i]){
					x = i;
				}
			}
		} else {
			x = z;
		}
			var imgid = 'img' + x;
			var athumb = Newbooks.amazon[x].thumb;
			/*if (gthumb == ''){
				lthumb = '<img id="' + imgid + '" src="http://covers.librarything.com/devkey/7446d1d690412a060ea22f8cf79c95e9/small/isbn/' + isbn + '">';
				lthumbpop = '<img id="' + imgid + '" src="http://covers.librarything.com/devkey/7446d1d690412a060ea22f8cf79c95e9/large/isbn/' + isbn + '">';
				$(document).ready(function(){
					testimg.innerHTML = lthumb;	
				});
				$(document).ready(function(){
					var imgwidth = document.getElementById(imgid).width;
					if (imgwidth <= 1){
						lthumb = '';
					}
					testimg.innerHTML = '';
				});
			}*/
			//alert(x + ' ' +Newbooks.amazon[x].thumb);
			//alert(x+' - g' + gthumb+' - a' + athumb+' - l' + lthumb+' - b' + bthumb);
			var cover = '';
			var popcover = '';
			if (gthumb != ''){
				//alert("gthumb "+x);
				cover = gthumb;
				popcover = gthumbpop;
			} else if (athumb != '' && athumb != undefined && athumb != '<img src=""/>'){
				//alert("athumb "+x);
				cover = athumb;
				popcover = Newbooks.amazon[x].thumbpop;
			} else if (lthumb != ''){
				//alert("lthumb "+x);
				cover = lthumb;
				popcover = lthumbpop;
			} else {
				//alert("bthumb "+x);
				cover = bthumb;
				if (Newbooks.covertitles[x].indexOf(":") != -1){
					var imposed = Newbooks.covertitles[x].substring(0,Newbooks.covertitles[x].indexOf(":"));
				} else {
					var imposed = Newbooks.covertitles[x];
				}
				popcover = bthumb.replace("book","bigbook") + '<div style="z-index:1; width: 116px; margin:-130px 0 90px 0; padding:0 4px 0 4px; color:#FFF; text-align:center;">' + imposed + '</div>';
			}	
		
		$(document).ready(function(){
			var coverid = document.getElementById('cover' + x);
			var popcoverid = document.getElementById('popcover' + x);
			var popdesc = document.getElementById('desc' + x);
			var idholder = '#popbook' + x;
			coverid.innerHTML = '<a href="javascript:jQuery.facebox({div: \''+idholder+'\'});" rel="facebox" title="' + Newbooks.covertitles[x] + '">' + cover + '</a>';
			var popdisp = popcover + '<br /><a href="' + Newbooks.link[x] + '" target="_blank" title="K-State Catalog Page">K-State Catalog</a>';
			if (glink != ''){
				popdisp += '<br /><a href="' + glink + '" target="_blank" title="Google Books Preview">Google Books</a>';
			}
			if (Newbooks.amazon[x].link.length > 1){
				popdisp += '<br /><a href="' + Newbooks.amazon[x].link + '" target="_blank" title="View on Amazon">Amazon</a>';
			}
			popcoverid.innerHTML = popdisp;	
			if (Newbooks.amazon[x].desc != undefined){
				if(Newbooks.amazon[x].desc.length > 0) {
					popdesc.innerHTML = '<br /><b>Description:</b> ' + Newbooks.amazon[x].desc;
				} else {
					popdesc.className = 'hidden';
				}
			} else {
				popdesc.className = 'hidden';
			}
		});
	}
}
Newbooks.getBlankCoverCounter = function () {
		++Newbooks.covercounter;
		if (Newbooks.covercounter > 7) {	Newbooks.covercounter = 1;	}
		return Newbooks.covercounter;
	}
Newbooks.displayTags = function (x) {
		if (x == "cloud") {
			var display = '<span style="float:right">view as: <a class="dowmrc" href=javascript:Newbooks.displayTags("cloud")>clouds</a> <a class="dowmrc" href=javascript:Newbooks.displayTags("list")>lists</a></span>';
			display += '<div>' + Newbooks.disptagcur.cloud + '</div><div>' + Newbooks.disptagmid.cloud + '</div><div>' + Newbooks.disptagall.cloud + '</div>';
			Newbooks.tagsdiv.innerHTML = display;
			Newbooks.displayTagsToggle = "cloud";
		}
		if (x == "list") {
			var display = '<span style="float:right">view as: <a class="dowmrc" href=javascript:Newbooks.displayTags("cloud")>clouds</a> <a class="dowmrc" href=javascript:Newbooks.displayTags("list")>lists</a></span><div style="clear: both;"/>';
			display += '<div style="float:left; width:33%; margin-top:18px;">' + Newbooks.disptagcur.list + '</div><div style="float:left; width:33%;">' + Newbooks.disptagmid.list + '</div><div style="float:left; width:33%;">' + Newbooks.disptagall.list + '</div>';
			Newbooks.tagsdiv.innerHTML = display;
			Newbooks.displayTagsToggle = "list";
		}
	}
Newbooks.getDist = function (freq) {
	var frequency = freq;
	var smallest = 1;
	var largest = 0;
	for(var d=0;d<frequency.length;d++){
	   largest=Math.max(largest,frequency[d]); //find largest
	   smallest=Math.min(smallest,frequency[d]);//find smallest
	}
	var diff = largest-smallest; //difference
	var dist = diff/8; //distribution where 8 is the number of tag classes chosen to be used
	return dist;
}
Newbooks.getCloudClass = function (dist,thistag) {
	var tagclass = 1
	if (thistag < (1+dist)) {	tagclass = 1;	}
		else if (thistag < (1+(dist*2))) {	tagclass = 2;	}
		else if (thistag < (1+(dist*3))) {	tagclass = 3;	}
		else if (thistag < (1+(dist*4))) {	tagclass = 4;	}
		else if (thistag < (1+(dist*5))) {	tagclass = 5;	}
		else if (thistag < (1+(dist*6))) {	tagclass = 6;	}
		else if (thistag < (1+(dist*7))) {	tagclass = 7;	}
		else if (thistag <= (1+(dist*8))) {	tagclass = 8;	}
	return tagclass;//returns the class an individual tag should have given a distribution
}
Newbooks.loadTagCloud = function (t,x) {
	var tagsy = t;
	var tagcloudbuild = [];
	var tagcloud = [];
	var tagcloudnum = [];
	var tagcloudnumber = 0;
	var dynnum = tagsy.length;
	for(var i = 0; i < tagsy.length; i++) {
		for(var j = 0; j < tagsy[i].length; j++) {
			tagcloudbuild.push(tagsy[i][j]);
		}
	}
	tagcloud.push(tagcloudbuild[0]);
	for (var i = 0; i < tagcloudbuild.length; i++) {
		var jumper = 0;
		for (var j = 0; j < tagcloud.length; j++) {
			if (tagcloudbuild[i] == tagcloud[j]){
				jumper++;
			}
		}
		if (jumper < 1){
			tagcloud.push(tagcloudbuild[i]);
		}
	}
	//tagcloud = Newbooks.removeDuplicates(tagcloudbuild);
	tagcloud.sort();
	var disptagcloud = '<ul class="ultagclouds">';
	var disptaglist = '<ul style="list-style-type:none; margin:0px; padding-left:2px; padding-top:10px; border-left:1px solid;">';
	var tagselectcontroller;
	if (x=="monthcurrent"){ tagselectcontroller = null;} 
	if (x=="month"){ tagselectcontroller = 1;}
	if (x=="allcurrent"){ tagselectcontroller = 3;}
	if (x=="searchall"){ tagselectcontroller = 4;}
	if (x=="searchcurrent"){ tagselectcontroller = 5;}
	if (x=="all"){	tagselectcontroller = 2;	}
	for(var i = 0; i < tagcloud.length; i++) {
		for(var j = 0; j < tagcloudbuild.length; j++) {
			if (tagcloud[i] == tagcloudbuild[j]) {
				tagcloudnumber = tagcloudnumber + 1;
			}
		}
		tagcloudnum.push(tagcloudnumber);
		tagcloudnumber = 0;
	}		
	var dist = Newbooks.getDist(tagcloudnum);
	for(var i = 0; i < tagcloud.length; i++) {
		   var cloudclass = Newbooks.getCloudClass(dist,tagcloudnum[i]);
		   disptagcloud += '<li class="litagclouds"><a href="javascript:Newbooks.loadFeed(\'' + Newbooks.monthname + '\',\'' + Newbooks.year + '\',\'' + tagcloud[i] + '\',\'' + tagselectcontroller + '\');" class="tag' + cloudclass + '">' + tagcloud[i] + ' ' + tagcloudnum[i] + '</a> </li>';
		   disptaglist += '<li><a class="dowmrc" href="javascript:Newbooks.loadFeed(\'' + Newbooks.monthname + '\',\'' + Newbooks.year + '\',\'' + tagcloud[i] + '\',\'' + tagselectcontroller + '\');">' + tagcloud[i] + ' ' + tagcloudnum[i] + '</a> </li>';
	   }
	   disptagcloud += '</ul>';
	   disptaglist += '</ul>';
	   if (x=="monthcurrent" || x=="allcurrent" || x=="searchcurrent"){
			var dispcurrent = '<b>' + Newbooks.labelortag + ' for the <span class="highlight">' + dynnum + '</span> Books Currently Showing</b><br/>';
			//Newbooks.tagsdiv.innerHTML=dispcurrent.concat(disptagcloud);
			Newbooks.disptagcur.cloud = dispcurrent.concat(disptagcloud);
			Newbooks.disptagcur.list = dispcurrent.concat(disptaglist);
	   }
	   if (x=="month"){
			var dispmonth = '<br/><b>' + Newbooks.labelortag + ' for the <span class="highlight">' + dynnum + '</span> Books on Display in <span class="highlight">' + Newbooks.monthname + ' ' + Newbooks.year + '</span></b><br/>';
			//tagsmonthdiv.innerHTML=dispmonth.concat(disptagcloud);
			Newbooks.disptagmid.cloud = dispmonth.concat(disptagcloud);
			Newbooks.disptagmid.list = dispmonth.concat(disptaglist);
	   }
	   if (x=="searchall"){
			var dispsearch = '<br/><b>' + Newbooks.labelortag + ' for the <span class="highlight">' + dynnum + '</span> Books found for search <span class="highlight">"' + Newbooks.query + '"</span></b><br/>';
			//tagsmonthdiv.innerHTML=dispsearch.concat(disptagcloud);
			Newbooks.disptagmid.cloud = dispsearch.concat(disptagcloud);
			Newbooks.disptagmid.list = dispsearch.concat(disptaglist);
	   }
	   if (x=="all"){
			var dispall = '<br/><b>' + Newbooks.labelortag + ' for All ' + dynnum + ' Books from Sept. 2007 to Present</b><br/>';
			//tagsalldiv.innerHTML=dispall.concat(disptagcloud);
			Newbooks.disptagall.cloud = dispall.concat(disptagcloud);
			Newbooks.disptagall.list = dispall.concat(disptaglist);
		}
  }
  
Newbooks.crumby = function(x){
	if (Newbooks.calls.length == x){
		//alert(x + ' ' + Newbooks.calls.toSource());
		var call = Newbooks.calls[x-1];
	} else {
		var call = Newbooks.calls[x];
	}
	//alert(call.m+','+call.y+','+call.t+','+call.tsc);
	Newbooks.frumcrumby = 1;
	if (Newbooks.calls.length > 2){		
		//alert(Newbooks.calls.length+' -- '+Newbooks.calls.toSource());
		Newbooks.calls.splice((x+1),1);
		//alert(Newbooks.calls.length+' -- '+Newbooks.calls.toSource());
		Newbooks.tagselect = [];
		Newbooks.tagrg = [];
		//alert(Newbooks.tagselect.length+' -- '+Newbooks.tagselect.toSource());
		for (var j=1; j <= Newbooks.calls.length-1; j++){
			call = Newbooks.calls[j];
			//alert(j+' loop  --  '+call.m+','+call.y+','+call.t+','+call.tsc);
			Newbooks.loadFeed(call.m,call.y,call.t,call.tsc);
		}
		//alert(Newbooks.tagselect.length+' -- '+Newbooks.tagselect.toSource());		
	} else {
		Newbooks.calls.splice((x+1),1);
		//alert(call.m + ',' +call.y + ',' +call.t + ',' + call.tsc);
		Newbooks.loadFeed(call.m,call.y,call.t,call.tsc);
	}
	Newbooks.frumcrumby = 0;
//	if (x==0){	Newbooks.calls = [];	}
}

Newbooks.loadFeed = function (m,y,t,tsc){
	Newbooks.monthname=m;
	Newbooks.year=y;
	Newbooks.disparray=[];
	var variabletags=[];
	var numbooksarray=[];
	var smarray=[];
	var dispnum=10;
	var i = 0;
	function crumbyCall (m,y,t,tsc) {
		this.m = m;
		this.y = y;
		this.t = t;
		this.tsc = tsc;
	}	
	if(Newbooks.frumcrumby == 0){
		if(t==null){	Newbooks.calls = [];	}
		if(t==null&&tsc==null){
			Newbooks.calls[Newbooks.calls.length] = new crumbyCall(m,y,null,1);
		} else if (t==null&&tsc==4) {
			Newbooks.calls[Newbooks.calls.length] = new crumbyCall(m,y,null,4);
		} else if ((t!=null&&tsc==1)&&(Newbooks.calls.length>1)) {
			for (var j=0; j < Newbooks.calls.length; j++){
				Newbooks.calls.pop();
			}
			Newbooks.calls[Newbooks.calls.length] = new crumbyCall(m,y,t,1);			
		} else if ((t!=null&&tsc==2)&&(Newbooks.calls.length>1)) {
			for (var j=0; j < Newbooks.calls.length; j++){
				Newbooks.calls.pop();
			}
			Newbooks.calls[Newbooks.calls.length] = new crumbyCall(m,y,t,2);
		} else if ((t!=null&&tsc==4)&&(Newbooks.calls.length>1)) {
			for (var j=0; j < Newbooks.calls.length; j++){
				Newbooks.calls.pop();
			}
			Newbooks.calls[Newbooks.calls.length] = new crumbyCall(m,y,t,4);
		} else {
			Newbooks.calls[Newbooks.calls.length] = new crumbyCall(m,y,t,tsc);
		}
	//alert(Newbooks.calls[xyz].m+','+Newbooks.calls[xyz].y+','+Newbooks.calls[xyz].t+','+Newbooks.calls[xyz].tsc + ' - ' + Newbooks.calls.length);
	}
	//this if set toggles the tagset used to browse books by label
	/*if (Newbooks.toggletagset == 1){
		var tagset = Newbooks.tags.user;
	} else if (Newbooks.toggletagset == 2){
		var tagset = Newbooks.tags.libuser;
	} else if (Newbooks.toggletagset == 3){
		var tagset = Newbooks.tags.loc;
	} else if (Newbooks.toggletagset == 4){
		var tagset = Newbooks.tags.loclib;
	} else if (Newbooks.toggletagset == 5){
		var tagset = Newbooks.tags.loclibuser;
	} else if (Newbooks.toggletagset == 0){
		var tagset = Newbooks.tags;
	}*/
	if (Newbooks.toggletagset == 1){
		var tagset = Newbooks.tags.user;
		var tagfind = Newbooks.tags.user;
		var labelortag = 'tagged';
		Newbooks.labelortag = 'Tags';
	} else if (Newbooks.toggletagset == 5){
		var tagset = Newbooks.tags.loclibuser;
		var tagfind = Newbooks.tags.loclibuser;
		var labelortag = 'labelled or tagged';
		Newbooks.labelortag = 'Labels and Tags';
	} else {
		var tagset = Newbooks.tags.loclib;
		var tagfind = Newbooks.tags.loclib;
		var labelortag = 'labelled';
		Newbooks.labelortag = 'Labels';
	}
	
	//var tagfind = Newbooks.tags.loclibuser;
	if (tsc==1 || tsc ==2 || tsc==4){	Newbooks.tagselect = [];	Newbooks.tagrg = [];	}	//resets variables if the tag selection is not a faceted browse
	if (t!=null){		//builds a regular expression to search for tag matches in each book entry
		x = Newbooks.tagselect.toString().lastIndexOf(t);
		if (x==-1){	
			Newbooks.tagselect.push(t);	
			rg = new RegExp('^'+t+'$|^'+t+',|,'+t+',|,'+t+'$');
			Newbooks.tagrg.push(rg);
		}
	}
	//alert (Newbooks.tagselect+' --- '+Newbooks.tagrg);
	var tagz = [];
	//prevnextdiv = document.getElementById('prevnext');
	for (var j=0; j < Newbooks.wholefeed.length; j++){
		var newarray=Newbooks.wholefeed[j];
		newarray.tagset = tagset[j];
		newarray.tagset.loclib = Newbooks.tags.loclib[j];
		newarray.tagset.user = Newbooks.tags.user[j];
		var displayyear=newarray.Display_Year;
		var displaymonth=newarray.Display_Month;
		//if (j==10){break;}
		if (tsc == 2 || tsc == 3) {
			if (displaymonth == Newbooks.monthname && displayyear == Newbooks.year){
				tagz.push(tagset[j]);
			}
			var v = 0;
			var z = [];
			for (var h=0; h < Newbooks.tagselect.length; h++){
				//z.push(tagfind[j].toString().lastIndexOf(Newbooks.tagselect[h]));
				z.push(tagfind[j].toString().match(Newbooks.tagrg[h]));
				//alert(z+' -- '+tagfind[j].toString().match(Newbooks.tagrg[h]));
			}
			for (var h=0; h < z.length; h++){
				//alert(z[h]+' z[h]');
				if (z[h]==null) {
					v=0;
					break;
				} else {
					v=1;
				}
			}
			//var v = z.toString().lastIndexOf(-1);
			if (v==1){
				v=0;
				numbooksarray.push(displaymonth);
				variabletags.push(tagset[j]);
				if(i<dispnum){
					smarray.push(newarray);
					i=i+1;
					if(i==dispnum){
						Newbooks.disparray.push(smarray);
						dispnum=dispnum+10;
						smarray=[];
					}
				}
			}
		} else if (tsc == 4 || tsc == 5) {
			//alert(Newbooks.tagselect);
			for (var h=0; h < Newbooks.found.length; h++){				
				if (Newbooks.toggletagset == 1){
					var searchtags = Newbooks.found[h].tagsuser;
					var searchtagsfind = Newbooks.found[h].tagsuser;
				} else if (Newbooks.toggletagset == 5){
					var searchtags = Newbooks.found[h].tagsloclibuser;
					var searchtagsfind = Newbooks.found[h].tagsloclibuser;					
				} else {
					var searchtags = Newbooks.found[h].tagsloclib;
					var searchtagsfind = Newbooks.found[h].tagsloclib;				
				}
				tagz.push(searchtags);
				if (Newbooks.tagselect.length > 0){
					var z = [];
					var v = 0;
					for (var g=0; g < Newbooks.tagselect.length; g++){
						z.push(searchtagsfind.toString().match(Newbooks.tagrg[g]));		
					}
					for (var f=0; f < z.length; f++){
						//alert(z[h]+' z[h]');
						if (z[f]==null) {
							v=0;
							break;
						} else {
							v=1;
						}
					}
					if (v==1){
						v=0;
						numbooksarray.push(h);
						variabletags.push(searchtags);
						if(i<dispnum){
							smarray.push(Newbooks.found[h].wfeed);
							i=i+1;
							if(i==dispnum){
								Newbooks.disparray.push(smarray);
								dispnum=dispnum+10;
								smarray=[];
							}
						}
					}
				} else {
					numbooksarray.push(h);
					variabletags.push(searchtags);
					if(i<dispnum){
						smarray.push(Newbooks.found[h].wfeed);
						i=i+1;
						if(i==dispnum){
							Newbooks.disparray.push(smarray);
							dispnum=dispnum+10;
							smarray=[];
						}
					}	
				}
			}	
			break;
		} else {
			if (displaymonth == Newbooks.monthname && displayyear == Newbooks.year){
				tagz.push(tagset[j]);
				if (Newbooks.tagselect.length > 0){
					var z = [];
					var v = 0;
					for (var h=0; h < Newbooks.tagselect.length; h++){
						//z.push(tagfind[j].toString().match(Newbooks.tagselect[h]));
						z.push(tagfind[j].toString().match(Newbooks.tagrg[h]));
						//alert(z+' -- '+tagfind[j].toString().match(Newbooks.tagrg[h]));
					}
					for (var h=0; h < z.length; h++){
						//alert(z[h]+' z[h]');
						if (z[h]==null) {
							v=0;
							break;
						} else {
							v=1;
						}
					}
					/*var z = [];
					for (var h=0; h < Newbooks.tagselect.length; h++){
						z.push(tagfind[j].toString().lastIndexOf(Newbooks.tagselect[h]+','));		
					}
					var v = z.toString().lastIndexOf(-1);*/
					if (v==1){
						v=0;
						numbooksarray.push(displaymonth);
						variabletags.push(tagset[j]);
						if(i<dispnum){
							smarray.push(newarray);
							i=i+1;
							if(i==dispnum){
								Newbooks.disparray.push(smarray);
								dispnum=dispnum+10;
								smarray=[];
							}
						}
					}
				} else {
					numbooksarray.push(displaymonth);
					variabletags.push(tagset[j]);
					if(i<dispnum){
						smarray.push(newarray);
						i=i+1;
						if(i==dispnum){
							Newbooks.disparray.push(smarray);
							dispnum=dispnum+10;
							smarray=[];
						}
					}
				}
			}
		}
	}
	Newbooks.disparray.push(smarray);
	if (tsc == 2 || tsc == 3){
		Newbooks.moreBooks(0,3);
	} else if (tsc == 4 || tsc == 5){
		Newbooks.moreBooks(0,4);
	} else {	
		Newbooks.moreBooks(0,1);	
	}
	var numbooks=numbooksarray.length;
	var disp='';
	var tagtogglehtml = '<span style="float:right; margin-right:2px;">choose display: <a class="dowmrc" href=javascript:Newbooks.changeTags(4)>library labels</a>, <a class="dowmrc" href=javascript:Newbooks.changeTags(1)>user-generated tags</a>, or <a class="dowmrc" href=javascript:Newbooks.changeTags(5)>both</a></span>';
	if (z!=null){
		if (tsc == 4 || tsc == 5) {
			var disp='<b><span class="highlight">' + numbooks + '</span> books ' + labelortag + ' ';
			Newbooks.crumbs = tagtogglehtml + '<b>Crumbs... </b>"' + Newbooks.query + '" (<a href=javascript:Newbooks.loadFeed(\''+Newbooks.monthname+'\',\''+Newbooks.year+'\',null,null);>x</a>) > ';
			for (var h=0; h < Newbooks.tagselect.length; h++){
				Newbooks.crumbs += Newbooks.tagselect[h] + ' (<a href=javascript:Newbooks.crumby('+h+');>x</a>) > ';
			}
		} else {
			var disp='<span style="float:right; margin-left:5px;"><a class="dowmrc" href=javascript:Newbooks.browsemonths(3)>browse months</a></span><b><span class="highlight">' + numbooks + '</span> books ' + labelortag + ' ';						
			if (tsc != 2 && tsc != 3){
				Newbooks.crumbs = tagtogglehtml + '<span><b>Crumbs... </b>' + Newbooks.monthname + ' ' + Newbooks.year + ' > </span>';
				for (var h=0; h < Newbooks.tagselect.length; h++){
					Newbooks.crumbs += Newbooks.tagselect[h] + ' (<a href=javascript:Newbooks.crumby('+h+');>x</a>) > ';
				}
			}
			if (tsc == 2 || tsc == 3){
				Newbooks.crumbs = tagtogglehtml + '<b>Crumbs... </b>';
				for (var h=0; h < Newbooks.tagselect.length; h++){
					Newbooks.crumbs += Newbooks.tagselect[h] + ' (<a href=javascript:Newbooks.crumby('+h+');>x</a>) > ';
				}
			}
		}		
		if (Newbooks.tagselect.length == 1){	disp = disp + '<span class="highlight">' + Newbooks.tagselect[0] + '</span>';	}
		if (Newbooks.tagselect.length == 2){	disp = disp + '<span class="highlight">' + Newbooks.tagselect[0] + '</span> and <span class="highlight">' + Newbooks.tagselect[1] + '</span>';	}
		if (Newbooks.tagselect.length > 2){
			for (var h=0; h < Newbooks.tagselect.length-1; h++){
				disp = disp + '<span class="highlight">' + Newbooks.tagselect[h] + '</span>, ';
			}
			disp = disp + 'and <span class="highlight">' + Newbooks.tagselect[(Newbooks.tagselect.length-1)] + '</span>';
		}
		if (tsc == 2 || tsc == 3) {	
			disp = disp + '</b><br/>';
		} else if (tsc == 4 || tsc == 5){
			disp = disp + ' in search <span class="highlight">"' + Newbooks.query + '"</span></b><br>';
			disp = disp + 'Alter Results: <a href=javascript:Newbooks.getSearchResults("loose")>loose</a> <a href=javascript:Newbooks.getSearchResults("strict")>strict</a><br>';
			disp = disp + 'Sort Search: <a href=javascript:Newbooks.sortSearch("date")>date</a> <a href=javascript:Newbooks.sortSearch("title")>title</a> <a href=javascript:Newbooks.sortSearch("random")>random</a><br>';
		} else {	
			disp = disp + ' in ' + Newbooks.monthname + ' ' + Newbooks.year + '</b><br/>';
		}
	} else if (tsc == 4) {
		var disp='<b>All <span class="highlight">' + numbooks + '</span> books found for search <span class="highlight">"' + Newbooks.query + '"</span></b><br>';
		disp = disp + 'Alter Results: <a href=javascript:Newbooks.getSearchResults("loose")>loose</a> <a href=javascript:Newbooks.getSearchResults("strict")>strict</a><br>';
		disp = disp + 'Sort Search: <a href=javascript:Newbooks.sortSearch("date")>date</a> <a href=javascript:Newbooks.sortSearch("title")>title</a> <a href=javascript:Newbooks.sortSearch("random")>random</a><br>';
		Newbooks.crumbs = tagtogglehtml + '<span><b>Crumbs... </b>"' + Newbooks.query + '" (<a href=javascript:Newbooks.loadFeed(\''+Newbooks.monthname+'\',\''+Newbooks.year+'\',null,null);>x</a>) > </span>';
	} else {
		var disp='<span style="float:right; margin-left:5px;"><a class="dowmrc" href=javascript:Newbooks.browsemonths(3)>browse months</a></span><b>All <span class="highlight">' + numbooks + '</span> books on display during <span class="highlight">' + Newbooks.monthname + ' ' + Newbooks.year + '</span></b><br>'; 
		Newbooks.crumbs = tagtogglehtml;
	}
	//var dispm='';
	for (var j=0; j < month.length; j++){
		if (month[j]==Newbooks.monthname){
			  Newbooks.monthnumber=j;
		}
	}
	/*if ((Newbooks.year=="2007" && Newbooks.monthnumber>8)||(Newbooks.year>"2007")){
		dispm=dispm + '<a href=javascript:Newbooks.changemonth("previous")><img src="/depts/dowmrc/images/arrowleftlg.gif" width="50" height="30" border="0" alt=""></a>';
	}
	if ((Newbooks.year==Newbooks.thisyear && Newbooks.monthnumber<Newbooks.thismonthnumber)||(Newbooks.year<Newbooks.thisyear)){
		dispm=dispm + '      <a href=javascript:Newbooks.changemonth("next")><img src="/depts/dowmrc/images/arrowrightlg.gif" width="50" height="30" border="0" alt=""></a>';
	}*/
	for (var j=0; j < variabletags.length; j++){
		Newbooks.tagsmy.push(variabletags[j]);
	}
	if (tsc == 2 || tsc == 3) {	
		Newbooks.loadTagCloud (Newbooks.tagsmy,'allcurrent');
	} else if (tsc == 4 || tsc == 5) {
		Newbooks.loadTagCloud (Newbooks.tagsmy,'searchcurrent');
	} else {	
		Newbooks.loadTagCloud (Newbooks.tagsmy,'monthcurrent');
	}
	if (tsc == 4 || tsc == 5) {
		Newbooks.loadTagCloud(tagz,'searchall');
	} else {
		Newbooks.loadTagCloud(tagz,'month');
	}
	Newbooks.loadTagCloud(tagset,'all');
	Newbooks.tagsmy=[];
	//prevnextdiv.innerHTML=dispm;
	Newbooks.headingdiv.innerHTML='';
	Newbooks.headingdiv.innerHTML=disp;
	document.getElementById('Crumbs').innerHTML = Newbooks.crumbs;
	Newbooks.displayTags(Newbooks.displayTagsToggle);
}

$(document).ready(function(){
	//Newbooks.buildEveryTag();
	Newbooks.loadFeed(Newbooks.monthname,Newbooks.year);
 });
//Newbooks.browsep.innerHTML='<a class="dowmrc" href=javascript:Newbooks.browsemonths(1)>Browse Months</a>';

Newbooks.moreBooks = function (k,z){
	var tsc = z;
	var dispbooks='';
	disppopbooks=[];
	var dispnav='';
	var range=k;
	var iterations = 0;
	Newbooks.counter = 0;
	Newbooks.covertitles = [];
	Newbooks.isbn = [];
	Newbooks.amazon = ['','','','','','','','','',''];
	Newbooks.link = ['','','','','','','','','',''];
	Newbooks.annotation = ['','','','','','','','','',''];
	if (Newbooks.disparray.length > 1){
		if (range>=1){
			dispnav += '<a href=javascript:Newbooks.moreBooks(' + (range-1) + ')><img src="/depts/dowmrc/images/arrowleft.gif" width="30" height="20" border="0" alt=""></a> ';
			if (range>=6 && Newbooks.disparray.length > 10){
				dispnav += '<span class="indexunselect"><a class="indexnums" href=javascript:Newbooks.moreBooks(0)>1</a></span> ';
				dispnav += '<span class="indexunselect">...</span> ';
			}
		}
		for (var j=1; j <= Newbooks.disparray.length; j++){
			if ((range+1) == j) {
				dispnav += '<span class="indexselect"><b>' + j + '</b></span> ';
			} else if ((range-5)<1){
				dispnav += '<span class="indexunselect"><a class="indexnums" href=javascript:Newbooks.moreBooks(' + (j-1) + ')>' + j + '</a></span> ';
				iterations++;
			} else if (range > (Newbooks.disparray.length - 9) && j > (Newbooks.disparray.length - 9)){
				dispnav += '<span class="indexunselect"><a class="indexnums" href=javascript:Newbooks.moreBooks(' + (j-1) + ')>' + j + '</a></span> ';
				iterations++;
			} else if (j > (range-5) && j < (range+6)){
				dispnav += '<span class="indexunselect"><a class="indexnums" href=javascript:Newbooks.moreBooks(' + (j-1) + ')>' + j + '</a></span> ';
				iterations++;
			} 
			if (iterations == 9){
				break;
			}
		}
		if ((range+1)<Newbooks.disparray.length){
			if (Newbooks.disparray.length > 10 && range <= (Newbooks.disparray.length - 6)){
				dispnav += '<span class="indexunselect">...</span> ';
				dispnav += '<span class="indexunselect"><a class="indexnums" href=javascript:Newbooks.moreBooks(' + (Newbooks.disparray.length-1) + ')>' + (Newbooks.disparray.length) + '</a></span> ';
			}
			dispnav += '<a href=javascript:Newbooks.moreBooks(' + (range+1) + ')><img src="/depts/dowmrc/images/arrowright.gif" width="30" height="20" border="0" alt=""></a> ';
		}
	}
	Newbooks.navdivtop.innerHTML='';
	Newbooks.navdivtop.innerHTML=dispnav;
	Newbooks.navdivbot.innerHTML='';
	Newbooks.navdivbot.innerHTML=dispnav;
	for (var j=0; j< Newbooks.disparray[k].length; j++){
		var displabels='';
		var dispuser='';
		var dispuserpop='';
		var newarray=Newbooks.disparray[k][j];
		var title=newarray.Title;
		var date=newarray.Date_field;
		var author=newarray.Author_Editor;
		var link=newarray.Catalog_Link;
		var labels=newarray.tagset;
		var user=newarray.tagset.user;
		var loclib=newarray.tagset.loclib;
		var isbn=newarray.ISBN;
		Newbooks.covertitles[j] = title;
		Newbooks.isbn[j] = isbn;
		Newbooks.link[j] = link;
		//Newbooks.annotation[j] = annotation;
		Newbooks.CoverTriage(isbn,j);
		var idholder = '#popbook'+j;
		if (loclib.length==0){displabels = "None"} else {
			for (var h=0; h< loclib.length-1; h++){
				displabels += '<a class="dowmrc" href="javascript:Newbooks.loadFeed(\'' + Newbooks.monthname + '\',\'' + Newbooks.year + '\',\'' + loclib[h] + '\',\'' + tsc + '\');">' + loclib[h] + ', </a>';
			}
			displabels += '<a class="dowmrc" href="javascript:Newbooks.loadFeed(\'' + Newbooks.monthname + '\',\'' + Newbooks.year + '\',\'' + loclib[loclib.length-1] + '\',\'' + tsc + '\');">' + loclib[loclib.length-1] + '</a>';
		}
		if (user.length==0){
			dispuser = 'None (<a class="dowmrc" href="javascript:Newbooks.directAdd(\'' + idholder + '\',\'' + user + '\',\'' + isbn + '\');">add</a>)';
			dispuserpop = 'None';
		} else {
			for (var h=0; h< user.length-1; h++){
				dispuser += '<a class="dowmrc" href="javascript:Newbooks.loadFeed(\'' + Newbooks.monthname + '\',\'' + Newbooks.year + '\',\'' + user[h] + '\',\'' + tsc + '\');">' + user[h] + ', </a>';
				dispuserpop += '<a class="dowmrc" href="javascript:Newbooks.loadFeed(\'' + Newbooks.monthname + '\',\'' + Newbooks.year + '\',\'' + user[h] + '\',\'' + tsc + '\');">' + user[h] + ', </a>';
			}
			dispuser += '<a class="dowmrc" href="javascript:Newbooks.loadFeed(\'' + Newbooks.monthname + '\',\'' + Newbooks.year + '\',\'' + user[user.length-1] + '\',\'' + tsc + '\');">' + user[user.length-1] + '</a> (<a class="dowmrc" href="javascript:Newbooks.directEdit(\'' + idholder + '\',\'' + user + '\',\'' + isbn + '\');">edit</a>)';
			dispuserpop += '<a class="dowmrc" href="javascript:Newbooks.loadFeed(\'' + Newbooks.monthname + '\',\'' + Newbooks.year + '\',\'' + user[user.length-1] + '\',\'' + tsc + '\');">' + user[user.length-1] + '</a>';
		}
		//if (Newbooks.toggletagset == 1 || Newbooks.toggletagset == 2 || Newbooks.toggletagset == 5){
			var edit =  '<span style="float:right; font-size:small;"><a id="edittags" class="dowmrc" href="javascript:Newbooks.editLabels(\'' + idholder + '\',\'' + user + '\',\'' + isbn + '\');">Edit Tags</a></span>';
		/*} else {
			var edit = "";
		}*/
		disppopbooks += '<div id="popbook'+j+'" style="width:600px; font-size:medium; display:none;" ><table><tr><td id="popcover' + j + '" valign="top" style="vertical-align:top; background-color:#FFF; padding:5px;"></td><td valign="top" style="background-color:#FFF; padding:5px; padding-left:20px;"><a class="booktitle" title="K-State Catalog Page" href=' + link + ' target=dynamic>' + title + '</a></b><br><b>By</b> ' + author + '<br><b>Added</b> ' + date + '<br><b>Labels:</b> ' + displabels + '<br><b>Tags:</b> ' + dispuserpop + '<span id="desc'+j+'"></span>' + edit + '</td></tr></table></div>';
		dispbooks=dispbooks + '<div id="cover' + j + '" style="float:left; width:60px; height:85px; margin:5px 0px 0px 0px; padding-top:2px;"></div><div class="stylefeed" style="float:right; width:80%; height:auto; margin:5px 0px 5px 0px;"><a class="booktitle" href="javascript:jQuery.facebox({div: \''+idholder+'\'});" rel="facebox">' + title + '</a></b><br><b>By</b> ' + author + '<br><b>Added</b> ' + date + '<br><b>Labels:</b> ' + displabels + '<br><b>Tags:</b> ' + dispuser + '</div><div style="clear: both;"></div>';
	}
	Newbooks.popbooks.innerHTML = '';
	Newbooks.popbooks.innerHTML = disppopbooks;
	Newbooks.booksdiv.innerHTML = '';
	Newbooks.booksdiv.innerHTML = dispbooks;
}
Newbooks.dosearch = function (form) {
	Newbooks.query = document.getElementById("searchTest").value;
	var query = Newbooks.query;
	query = query.toLowerCase();
	var common=[];
	common[0]="the";
	common[1]="in";
	common[2]="a";
	common[3]="and";
	common[4]="on";
	common[5]="of";
	common[6]="to";
	common[7]="from";
	common[8]="for";
	common[9]="my";
	common[10]="our";
	common[11]="i";
	common[12]="or";
	common[13]="as";
	query = query.replace(/^\s+|\s+$/g,'');
	rg = new RegExp(/"/g);
	var qm =[];
	if (query.match(rg) != null){	qm = query.match(rg);	}
	var qmquery = [];
	if (qm.length == 2){
		start = query.indexOf('"');	
		end = query.lastIndexOf('"');
		qmquery[0] = query.slice(start+1,end);
	}
	if (qm.length == 4){
		end = query.lastIndexOf('"');
		secend = query.lastIndexOf('"',end-1);
		thiend = query.lastIndexOf('"',secend-1);
		fouend = query.lastIndexOf('"',thiend-1);
		qmquery[0] = query.slice(fouend+1,thiend);
		qmquery[1] = query.slice(secend+1,end);
	}
	query = query.replace(/[\,\.\?\!\"\+\;\:\&\(\)\,]/g, '');
	for (var i = 0; i < common.length; i++){
		rg = new RegExp(' ' + common[i] + ' ' ,"g");
		query = query.replace(rg,' ');
		rg = new RegExp('^'+common[i]+' ',"g");
		query = query.replace(rg,'');
		rg = new RegExp(' '+common[i]+'$',"g");
		query = query.replace(rg,'');
	}
	query = query.replace(/\s+/g,',');
	//alert (query);
	queries = query.split(",");
	queries = queries.concat(qmquery);
	function xy (x,y){
		this.x = x;
		this.y = y;	
	}
	var queriesglobal = [];
	if (queries.length == 2){
		queriesglobal.push(queries[0]+" "+queries[1]);	
	}
	if (queries.length == 3){
		queriesglobal.push(queries[0]+" "+queries[2]);
		queriesglobal.push(queries[0]+" "+queries[1]);
		queriesglobal.push(queries[1]+" "+queries[2]);
		queriesglobal.push(queries[0]+" "+queries[1]+" "+queries[2]);
	}
	if (queries.length > 3){
		for (var i = 0; i < queries.length; i++){
			var pxy = [];
			for (var j = 0; j < queries.length; j++){
				pxy[j] = new xy(i,j);
			}
			for (var g = 0; g < pxy.length; g++){
				if(pxy[g].x != pxy[g].y){
					queriesglobal.push(queries[pxy[g].x]+" "+queries[pxy[g].y]);
				}
			}
		}		
	}
	for (var i = 0; i < queries.length; i++) {
		queriesglobal.push(queries[i]);	
	}
	queriesglobal.push(query.toLowerCase());
	//alert (queriesglobal.length + ' ' + queriesglobal);
	Newbooks.matchqueries = queriesglobal;
	Newbooks.getSearchResults("loose",queriesglobal);
}
Newbooks.getSearchResults = function (x,q){
	var qre = [];
	if (!q) {	q = Newbooks.matchqueries;	}
	if (x == "loose") {
		for (var i = 0; i < q.length; i++) {
			qre[i] = new RegExp(q[i],"g");
		}
	}
	if (x == "strict") {
		for (var i = 0; i < q.length; i++) {
			qre[i] = new RegExp(' '+q[i]+' ',"g");
		}
	}
	var counter = 0;
	Newbooks.found=[];
	function searchResult (wfeed,occ,ttl,dte,index) {
		this.wfeed = wfeed;
		this.occ = occ;
		this.ttl = ttl;
		this.dte = dte;
		this.tagsuser = Newbooks.tags.user[index];
		this.tagslibuser = Newbooks.tags.libuser[index];
		this.tagsloc = Newbooks.tags.loc[index];
		this.tagsloclib = Newbooks.tags.loclib[index];
		this.tagsloclibuser = Newbooks.tags.loclibuser[index];
	}
	var abmon=new Array(12);
	abmon[0]="Jan";
	abmon[1]="Feb";
	abmon[2]="Mar";
	abmon[3]="Apr";
	abmon[4]="May";
	abmon[5]="Jun";
	abmon[6]="Jul";
	abmon[7]="Aug";
	abmon[8]="Sep";
	abmon[9]="Oct";
	abmon[10]="Nov";
	abmon[11]="Dec";
	for (var j=0; j < Newbooks.titles.length; j++){
		var numocc = 0;		
		var tz = '';
		var dt = Newbooks.dates[j];
		d = dt.substring(0,2);
		m = dt.substring(3,6);
		y = dt.substring(7);
		for (var g=0; g < abmon.length; g++){
			if (abmon[g] == m) {	m = g + 1;	break;	}
		}
		if (m < 10) {m = "0"+m;}
		dt = y + '' + m + '' + d;
		t = Newbooks.titles[j].replace(/<\/?[^>]+(>|$)/g, "");
		t = t.toLowerCase();
//alert (t + " - what it's searching - entry" + j);
		for (var i = 0; i < qre.length; i++) {
			temptz = t.match(qre[i]);
			//alert (temptz + " - what t.match is returning - entry " + j + " - query " + i);
			if (temptz!=null) {	tz = tz + temptz + ',';	}
		}
		if (tz.length>0) {
			var tzarr = tz.split(",");
			//alert (tz + " tz - entry" + j);
			if (tz!=null) {	numocc = tzarr.length - 1;	}
			//alert (numocc + " numocc - entry" + j);
			Newbooks.found[counter] = new searchResult (Newbooks.wholefeed[j],numocc,Newbooks.titles[j],dt,j);
			//alert (found[counter].toSource() + " found object - entry " + j);
			counter++;
		}
	}
	function sortbynumocc(a, b) { //function to sort an object and it's variables and properties by one set property
    		var x = a.occ;
    		var y = b.occ;
    		return ((y < x) ? -1 : ((y > x) ? 1 : 0));
		}
	Newbooks.found.sort(sortbynumocc);//sorts Newbooks.found by number of occurances
//	alert (Newbooks.found[0].toSource() + " - " + Newbooks.found.length);
		Newbooks.loadFeed(Newbooks.monthname,Newbooks.year,null,4);
}
Newbooks.ssbdt = 1; //sort search by date toggle
Newbooks.ssbtt = 1; //sort search by title toggle
Newbooks.sortSearch = function(by) {
		if (by=="date") {
			function sortbydte(a, b) {
				var x = a.dte;
				var y = b.dte;
				if (Newbooks.ssbdt==1) {
					return ((y < x) ? -1 : ((y > x) ? 1 : 0));
				}
				if (Newbooks.ssbdt==-1) {
					return ((x < y) ? -1 : ((x > y) ? 1 : 0));
				}
			}
			Newbooks.found.sort(sortbydte);
			Newbooks.loadFeed(null,null,null,4);
			if (Newbooks.ssbdt == 1){	Newbooks.ssbdt = -1;	} else {	Newbooks.ssbdt = 1;	}
		}
		if (by=="title") {
			function sortbyttl(a, b) {
				var x = a.ttl;
				var y = b.ttl;
				if (Newbooks.ssbtt == 1) {
					return ((x < y) ? -1 : ((x > y) ? 1 : 0));
				}
				if (Newbooks.ssbtt == -1) {
					return ((y < x) ? -1 : ((y > x) ? 1 : 0));
				}
			}
			Newbooks.found.sort(sortbyttl);
			Newbooks.loadFeed(null,null,null,4);
			if (Newbooks.ssbtt == 1){	Newbooks.ssbtt = -1;	} else {	Newbooks.ssbtt = 1;	}
		}
		if (by=="random") {
			function sortbyrandom(){
				return (Math.round(Math.random())-0.5);
			}
			Newbooks.found.sort(sortbyrandom);
			Newbooks.loadFeed(null,null,null,4);
		}
	}

Newbooks.yearsrange = Newbooks.removeDuplicates(Newbooks.years);

Newbooks.browsemonths = function (toggle,y){
	var monthsrange = [];
	if (toggle == 3){
		var build = '<div id="browsetastic" class="fontfacebox" style="display:none;"><div style="float:left; margin-left:75px;"><span style="margin-bottom:20px">Years</span><ul style="list-style-type:none; margin:0px; padding:2px;">';
		for(var i = 0; i < Newbooks.yearsrange.length; i++) {
			if (Newbooks.yearsrange[i] == Newbooks.year){
				//alert(Newbooks.yearsrange[i] + ' should be bold');
				build += '<li><a href="javascript:Newbooks.browsemonths(4,\''+Newbooks.yearsrange[i]+'\');" style="font-weight:bold">' + Newbooks.yearsrange[i] + '</a><img src="images/arrowright.gif" style="padding-left:5px; vertical-align:bottom;"/></li>';
			} else {
				//alert(Newbooks.yearsrange[i] + ' should NOT be bold');
				build += '<li><a href="javascript:Newbooks.browsemonths(4,\''+Newbooks.yearsrange[i]+'\');">' + Newbooks.yearsrange[i] + '</a></li>';
			}
		}
		build += '</div><div style="float:right; margin-right:75px;"><span style="margin-bottom:20px">Months</span><ul style="list-style-type:none; margin:0px; padding:2px;">';
		monthsrange = Newbooks.getMonthsByYear(Newbooks.year);
		for(var i = 0; i < monthsrange.length; i++) {
			if (monthsrange[i] == Newbooks.monthname){
				//alert(monthsrange[i] + ' should be bold');
				build += '<li><a href="javascript:Newbooks.loadFeed(\''+monthsrange[i]+'\',\''+Newbooks.year+'\');"  style="font-weight:bold" onclick=jQuery(document).trigger("close.facebox");>' + monthsrange[i] + '</a></li>';
			} else {
				//alert(monthsrange[i] + ' should NOT be bold');
				build += '<li><a href="javascript:Newbooks.loadFeed(\''+monthsrange[i]+'\',\''+Newbooks.year+'\');" onclick=jQuery(document).trigger("close.facebox");>' + monthsrange[i] + '</a></li>';
			}
		}
		build += '</div><div style="clear: both;"/><div style="padding-top:20px; text-align:center;">';
		if ((Newbooks.year=="2007" && Newbooks.monthnumber>8)||(Newbooks.year>"2007")){
			build += '<a href=javascript:Newbooks.changemonth("previous") style="float:left; padding-left:10px;" onclick=jQuery(document).trigger("close.facebox");><img src="images/arrowleft.gif" style="padding-right:5px; vertical-align:bottom;"/>previous</a>';
		}
		if ((Newbooks.year==Newbooks.thisyear && Newbooks.monthnumber<Newbooks.thismonthnumber)||(Newbooks.year<Newbooks.thisyear)){
			build += '<a href=javascript:Newbooks.changemonth("next") style="float:right; padding-right:10px;" onclick=jQuery(document).trigger("close.facebox");>next<img src="images/arrowright.gif" style="padding-left:5px; vertical-align:bottom;"/></a>';
		}
		build += '</div><div style="clear: both;"/></div>';	
		$("#whatisthis").after(build);
		idhold='#browsetastic';
		faceboxCloneToggle = 1;
		jQuery.facebox({div:idhold});
		faceboxCloneToggle = 0;
	}
	if (toggle == 4){
		var buildy = '<div id="browsetastic" class="fontfacebox"><div id="browsyyears" style="float:left; margin-left:75px;"><span style="margin-bottom:20px">Years</span><ul style="list-style-type:none; margin:0px; padding:2px;">';
		for(var i = 0; i < Newbooks.yearsrange.length; i++) {
			if (Newbooks.yearsrange[i] == y){
				buildy += '<li><a href="javascript:Newbooks.browsemonths(4,\''+Newbooks.yearsrange[i]+'\');" style="font-weight:bold">' + Newbooks.yearsrange[i] + '</a><img src="images/arrowright.gif" style="padding-left:5px; vertical-align:bottom;"/></li>';
			} else {
				buildy += '<li><a href="javascript:Newbooks.browsemonths(4,\''+Newbooks.yearsrange[i]+'\');">' + Newbooks.yearsrange[i] + '</a></li>';
			}
		}
		buildy += '</div><div id="browsymonths" style="float:right; margin-right:75px;"><span style="margin-bottom:20px">Months</span><ul style="list-style-type:none; margin:0px; padding:2px;">';
		monthsrange = Newbooks.getMonthsByYear(y);
		for(var i = 0; i < monthsrange.length; i++) {
			buildy += '<li><a href="javascript:Newbooks.loadFeed(\''+monthsrange[i]+'\',\''+y+'\');" onclick=jQuery(document).trigger("close.facebox");>' + monthsrange[i] + '</a></li>';
		}
		buildy += '</div><div style="clear: both;"/><div style="padding-top:20px; text-align:center;">';
		buildy += '<a href=javascript:Newbooks.changemonth("previous") style="float:left; padding-left:10px;" onclick=jQuery(document).trigger("close.facebox");><img src="images/arrowleft.gif" style="padding-right:5px; vertical-align:bottom;"/>previous</a>';
		buildy += '<a href=javascript:Newbooks.changemonth("next") style="float:right; padding-right:10px;" onclick=jQuery(document).trigger("close.facebox");>next<img src="images/arrowright.gif" style="padding-left:5px; vertical-align:bottom;"/></a>';
		buildy += '</div><div style="clear: both;"/></div>';
		$("#browsetastic").replaceWith(buildy);
		idhold='#browsetastic';
	}
}

Newbooks.directAdd = function (id,x,isbn) {
	$(document).ready(function(){
		jQuery.facebox({div:id});
	});
	$(document).ready(function(){
		Newbooks.editLabels(id,x,isbn);	
	});
}

Newbooks.directEdit = function (id,x,isbn) {
	$(document).ready(function(){
		jQuery.facebox({div:id});
	});
	$(document).ready(function(){
		Newbooks.editLabels(id,x,isbn);	
	});
}

Newbooks.editLabels = function (id,x,isbn) {
	if (id == "remove"){
		$("#tabsEx1").remove();
	} else {
		if ($("#tabsEx1").html() == null){
			var toadd = [];
			var possible = [];
			if (x.length > 0){	x = x.split(",");	}	
			for (var i = 0; i < Newbooks.tags.user.length; i++){
				if (Newbooks.tags.user[i] != ""){
					for (var j = 0; j < Newbooks.tags.user[i].length; j++){
						possible.push(Newbooks.tags.user[i][j]);
					}
				}
			}
			possible = Newbooks.removeDuplicates(possible);
			if (x.length > 0){
				for (var i = 0; i < possible.length; i++){
					for (var j = 0; j < x.length; j++){
						if (possible[i] == x[j]){
							possible.splice(i,1);	
						}
					}
				}
			}
			possible.sort();
			var disp = '<div id="tabsEx1" style="width:600px;"><ul style="height: 30px;"><li><a href="#fragment-1"><span>Add</span></a></li><li><a href="#fragment-2"><span>Create</span></a></li><li><a href="#fragment-3"><span>Remove</span></a></li><a href=javascript:Newbooks.editLabels("remove"); class="closeedit" style="float:right;"><span>Close Edit</span></a>'; 
			disp += '</ul><div id="fragments"><div id="fragment-1"><div style="float:right; width:60%;"><ul>';
			for(var i = 0; i < possible.length; i++) {
				disp += '<li class="block">' + possible[i] + '</li> ';
			}
			disp += '</ul></div><script src="http://creator.zoho.com/dowmrc/form/json/99/" type="text/javascript"></script><script>setFormId("99");</script><div style="float:left; width:40%;"><form user="dowmrc" linkid="99" nexturl="" onsubmit="setZohoId(99);Zoho.submit(this); return false;"><div class="drop"><span id="dragtoadd" style="margin:2px;"<b>Drag Tags Here to Add</b><br><br></span></div>';
			disp += '<input id="addin" type="hidden" name="Labels" value=""><input id="addin" type="hidden" name="ISBN" value="'+isbn+'"><input style="margin-top:5px; float:right;" type = "submit" value="Submit" class="submit-button"/></form></div><div style="clear: both;"/></div>';
			disp += '<div id="fragment-2"><script src="http://creator.zoho.com/dowmrc/form/json/106/" type="text/javascript"></script><script>setFormId("106");</script><form user="dowmrc" linkid="106" nexturl="" onsubmit="setZohoId(106);Zoho.submit(this); return false;"><label>ISBN:</label><input  type="text" size="8" name="ISBN" value="'+isbn+'"><br><label>Tag/s:</label><input  type="text" size="8" name="Labels" value=""><br><br><input type = "submit" value="Submit" class="submit-button" style="margin-right:50px;"/></form><div style="clear: both;"/></div>';
			disp += '<div id="fragment-3"><script src="http://creator.zoho.com/dowmrc/form/json/107/" type="text/javascript"></script><script>setFormId("107");</script><form user="dowmrc" linkid="107" nexturl="" onsubmit="setZohoId(107);Zoho.submit(this); return false;"><input  type="hidden" name="ISBN" value="'+isbn+'"><label>Tags:</label>';
			if (x.length==0){
				var directions = 'There are no tags yet for this book';
			} else {
				for(var i = 0; i < x.length; i++) {
					disp += '<li class="block2">' + x[i] + '</li> ';
				}
				var directions = 'Drag tag here';
			}
			disp += '<br><br><label>Remove:</label><div class="drop2" style="height:20px;"><span id="removetag">'+directions+'</span></div><input id="removein" type="hidden" name="Tag" value=""><input type = "submit" value="Submit" class="submit-button" style="margin-right:50px;"/></form><div style="clear: both;"/></div>';
			disp += '</div></div>';
			Newbooks.faceboxcopy = '<div id="'+id.replace("#","")+'" style="font-size:medium; display:none;" >' + $(id).html() + '</div>';
			$(document).ready(function(){
				$(id).append(disp);
			});	
			$(document).ready(function(){
				$("#tabsEx1 > ul").tabs({ 
					selected: 0,
					fx: { 
						height: "toggle", 
						opacity: "toggle" 
					} 
				});	   
			});
			$(document).ready(function(){
				var browser = Newbooks.getBrowser();
				if (browser != "ff3-"){	
					faceboxCloneToggle = 1;
					jQuery.facebox({div:id});
					faceboxCloneToggle = 0;
					$("#popbooks").append(Newbooks.faceboxcopy)
				}
				$(".block").draggable();
				$(".block2").draggable({ 
					helper: "clone" ,
					cursor: "move"
				});
				$(".drop").droppable({
					accept: ".block",
					activeClass: 'droppable-active',
					hoverClass: 'droppable-hover',
					drop: function(ev, ui) {
						ui.draggable.fadeOut("fast");
						$("#dragtoadd").remove();
						$(this).append('<li class="licloud">'+ui.draggable.html()+' </li>');
						toadd.push(ui.draggable.html());
						$("#addin").replaceWith('<input id="addin" type="hidden" size="8" name="Labels" value="' + toadd.toString() + '">');
						}
					});
				$(".drop2").droppable({
					accept: ".block2",
					activeClass: 'droppable-active',
					hoverClass: 'droppable-hover',
					drop: function(ev, ui) {
						$("#removetag").replaceWith('<span id="removetag">'+ui.draggable.html()+'</span>');
						$("#removein").replaceWith('<input id="removein" type="hidden" name="Tag" value="' + ui.draggable.html() + '">');
					}
				});
			});
		}
	}
}

Newbooks.getMonthsByYear = function (y) {
	var temp=[];
	for(var i = 0; i < Newbooks.months.length; i++) {
		if (Newbooks.years[i]==y){
			temp.push(Newbooks.months[i]);
		}
	}
	temp = Newbooks.removeDuplicates(temp);
	return temp;
}

Newbooks.getBrowser = function () {
	var browser = "";
	var x=navigator.userAgent;
	x = x.split(" ");
	if(x[0] == "Mozilla/5.0"){
		var version = x[x.length-1].toString().split("/");
		if (version[0] == "Firefox"){
			if (version[1] == "3.0"){
				browser = "ff3+";	
			} else {
				browser = "ff3-";
			}
		} else if (version[0] == "Safari"){
			browser = "safari";
		}	
	} else {
		browser = "other";	
	}
	return browser;
}
