/**
 * File for bookmark-handling in showDocument.jsp,
 * 
 */
var bookmarkIndex = 0;
var documentIndex = 0;
var documentIdGlobal = "";// documentid value to create bookmark
var countyGlobal = "";// county value to create bookmark

// ---- Bookmark functions ------------------

function setDocumentypes() {// Set documenttype values from checkboxes
	var temp = "";
	var list = "";

	for ( var i = 1; i < docCnt + 1; i++) {
		temp = "documenttype_" + i;
		if (document.getElementById(temp)) {
			if (document.getElementById(temp).checked) {
				list = list + document.getElementById(temp).value + ":";
			}
		}
	}
	document.getElementById("subdocumentOrder").value = list;

}

function setBookmarks() {// Set bookmark values from checkboxes
	var temp = "";
	var list = "";

	for ( var i = 1; i < bookCnt + 1; i++) {
		temp = "bookmark_" + i;
		if (document.getElementById(temp)) {
			if (document.getElementById(temp).checked) {
				list = list + document.getElementById(temp).value + ":";
			}
		}
	}
	document.getElementById("bookmarkOrder").value = list;

}

function unSelectCheckboxes() {// Uncheck checkboxes
	for ( var i = 1; i < bookCnt + 1; i++) {
		temp = "bookmark_" + i;
		if (document.getElementById(temp)) {
			document.getElementById(temp).checked = false;
		}
	}

	for ( var i = 1; i < docCnt + 1; i++) {
		temp = "documenttype_" + i;
		if (document.getElementById(temp)) {
			document.getElementById(temp).checked = false;
		}
	}

}

// ---- AJAX-reciever methods --------

function regReceiverFuncBookmark(searchresult) {

	// creates and sets values for parsing REG results
	var BOOKMARKNR = "", BOOKMARTEXT = "", ALTAKT = "", ANBI = "", doctypeAnbi = "0", ANM = "", BESK = "", KOM = "", LANN = "", PULD = "", AFDS = "", PLNN = "", atgbesk = "", atgbeskHits = false, htmlTextAKTLM = "", htmlTextAKTFR = "", htmlTextPULD = "", htmlTextPULDClean = "", htmlTextATGBESK = "", htmlTextPLLN = "", htmlTextKOM = "", htmlTextLANN = "", htmlTextUKOM = "", htmlTextUTRA = "", htmlTextUBLO = "", htmlTextBet = "", htmlTextPULD = "", htmlTextFDSD = "", htmlTextANM = "", htmlTextANBI = "", htmlTextBESK = "", htmlText = "", htmlTextGKOM = "", htmlTextGTRA = "", htmlTextGBLO = "", htmlTextGENH = "", htmlTextGall = "", htmlTextUENH = "";
	var uCounter = 0;
	var bookmarkNr = "", bookmarkName = "", bookmarkText = "";// For the
																// bookmark edit
																// - BLOB/BOKM
	var HNAM = "", HLNR = "", NAMN = "", BOKN = "";
	var showmap = document.getElementById("showmap");
	var unitCounter = 0;
	var isUnitMax = false;
	var showManageBookmark = false;
	var showBookmark = false;
	var subdoc = "";
	var page = "";
	var subdocPage = "";
	var ifDjVu = false;

	for ( var i = 0; i < searchresult.documents.length; i++) {

		for ( var l = 0; l < searchresult.documents[i].paragraphGroups.length; l++) {
			var htmlTextHLNR = "";

			if (searchresult.documents[i].paragraphGroups[l].name == "HAND") {
				for ( var m = 0; m < searchresult.documents[i].paragraphGroups[l].paragraphs.length; m++) {

					if (searchresult.documents[i].paragraphGroups[l].paragraphs[m].name == "HLNR") {
						HLNR = searchresult.documents[i].paragraphGroups[l].paragraphs[m].text;
					}
					if (searchresult.documents[i].paragraphGroups[l].paragraphs[m].name == "HTYP") {
						HTYP = searchresult.documents[i].paragraphGroups[l].paragraphs[m].text;
					}
					if (searchresult.documents[i].paragraphGroups[l].paragraphs[m].name == "HNAM") {
						HNAM = searchresult.documents[i].paragraphGroups[l].paragraphs[m].text;
					}
					if (searchresult.documents[i].paragraphGroups[l].paragraphs[m].name == "ANBI") {
						doctypeAnbi = searchresult.documents[i].paragraphGroups[l].paragraphs[m].text;
					}
				}
			}

			if (searchresult.documents[i].paragraphGroups[l].name == "SIDA") {
				for ( var m = 0; m < searchresult.documents[i].paragraphGroups[l].paragraphs.length; m++) {
					if (searchresult.documents[i].paragraphGroups[l].paragraphs[m].name == "HLNR") {
						subdoc = searchresult.documents[i].paragraphGroups[l].paragraphs[m].text;
					}

					if (searchresult.documents[i].paragraphGroups[l].paragraphs[m].name == "DJVU:NAME") {
						ifDjVu = true;
					}

					if (searchresult.documents[i].paragraphGroups[l].paragraphs[m].name == "SIDN"
							&& ifDjVu == true) {
						page = searchresult.documents[i].paragraphGroups[l].paragraphs[m].text;
						ifDjVu = false;
					}

				}
				if (subdoc != "" && page != "") {
					subdocPage += subdoc + ":" + page + ",";
					subdoc = "";
					page = "";

				}
			}

			if (subdocPage != "") {
				document.getElementById("subdocPage").value = subdocPage;
			}

			if (searchresult.documents[i].paragraphGroups[l].name == "BOKM"
					&& showmap.value == "false") {

				for ( var m = 0; m < searchresult.documents[i].paragraphGroups[l].paragraphs.length; m++) {

					if (searchresult.documents[i].paragraphGroups[l].paragraphs[m].name == "NAMN") {
						BOOKMARTEXT = searchresult.documents[i].paragraphGroups[l].paragraphs[m].text;
					}
					if (searchresult.documents[i].paragraphGroups[l].paragraphs[m].name == "BOKN") {
						BOOKMARKNR = searchresult.documents[i].paragraphGroups[l].paragraphs[m].text;
					}
				}
				addBookmarkRow(BOOKMARKNR, BOOKMARTEXT);// Set bookmark edit
														// information
			}
		}

		for ( var j = 0; j < searchresult.documents[i].paragraphs.length; j++) {
			if (searchresult.documents[i].paragraphs[j].name == "AFDS") {
				AFDS = searchresult.documents[i].paragraphs[j].text;

				documentIdGlobal = AFDS;
			}
			if (searchresult.documents[i].paragraphs[j].name == "PULD") {
				if (searchresult.documents[i].paragraphs[j].text == "99999999"
						|| searchresult.documents[i].paragraphs[j].text == "00000000") {
					PULD = "-";
					htmlTextPULDClean = "-";
				} else {
					PULD = dateFormat(searchresult.documents[i].paragraphs[j].text);
					htmlTextPULDClean = searchresult.documents[i].paragraphs[j].text;
				}
			}
		}

		for ( var k = 0; k < searchresult.documents[i].paragraphGroups.length; k++) {
			if (searchresult.documents[i].paragraphGroups[k].name == "ATG") {
				for ( var l = 0; l < searchresult.documents[i].paragraphGroups[k].paragraphs.length; l++) {
					if (searchresult.documents[i].paragraphGroups[k].paragraphs[l].name == "ATGBESK") {
						if (searchresult.documents[i].paragraphGroups[k].paragraphs[l].text != "") {
							atgbesk += searchresult.documents[i].paragraphGroups[k].paragraphs[l].text
									+ ", ";
							atgbeskHits = true;
						}
					}
				}
			}
			if (searchresult.documents[i].paragraphGroups[k].name == "PLAN") {
				for ( var l = 0; l < searchresult.documents[i].paragraphGroups[k].paragraphs.length; l++) {
					if (searchresult.documents[i].paragraphGroups[k].paragraphs[l].name == "PLLN") {
						if (searchresult.documents[i].paragraphGroups[k].paragraphs[l].text != "") {
							atgbesk += searchresult.documents[i].paragraphGroups[k].paragraphs[l].text
									+ ", ";
							atgbeskHits = true;
						}
					}
					if (searchresult.documents[i].paragraphGroups[k].paragraphs[l].name == "PLNN") {
						PLNN = searchresult.documents[i].paragraphGroups[k].paragraphs[l].text;
					}
					if (searchresult.documents[i].paragraphGroups[k].paragraphs[l].name == "ALTAKT") {
						ALTAKT = searchresult.documents[i].paragraphGroups[k].paragraphs[l].text;
						// alert(ALTAKT);
					}
				}
			}
			if (searchresult.documents[i].paragraphGroups[k].name == "LAN") {
				for ( var l = 0; l < searchresult.documents[i].paragraphGroups[k].paragraphs.length; l++) {
					if (searchresult.documents[i].paragraphGroups[k].paragraphs[l].name == "LANN") {
						LANN = searchresult.documents[i].paragraphGroups[k].paragraphs[l].text;
						countyGlobal = LANN;// add value to create bookmark
						if (document.getElementById("cartname")) {
							document.getElementById("cartname").value += LANN
									+ " ";
							document.getElementById("cartname").value += "("
									+ AFDS + ") ";
						}
					}
				}
			}

			if (searchresult.documents[i].paragraphGroups[k].name == "KOMM") {
				for ( var l = 0; l < searchresult.documents[i].paragraphGroups[k].paragraphs.length; l++) {
					if (searchresult.documents[i].paragraphGroups[k].paragraphs[l].name == "GKOMMUNNAMN") {
						KOM = searchresult.documents[i].paragraphGroups[k].paragraphs[l].text;
						if (document.getElementById("cartname")) {
							document.getElementById("cartname").value += KOM
									+ " ";
						}
					}
				}
			}

			// Berörda registerenheter
			if (document.getElementById("user").value == "member") {

				if (unitCounter < propertyUnixMaxNr) {

					if (searchresult.documents[i].paragraphGroups[k].name == "FAST") {
						htmlTextUKOM = "";
						htmlTextUTRA = "";
						htmlTextUBLO = "";
						htmlTextUENH = "";
						htmlTextGKOM = "";
						htmlTextGTRA = "";
						htmlTextGBLO = "";
						htmlTextGENH = "";

						for ( var l = 0; l < searchresult.documents[i].paragraphGroups[k].paragraphs.length; l++) {
							var pgname = searchresult.documents[i].paragraphGroups[k].paragraphs[l].name;
							var pgtext = searchresult.documents[i].paragraphGroups[k].paragraphs[l].text;

							if (pgname == "UKOM") {
								splitValuesUKOM = pgtext.split("-");
								if (splitValuesUKOM.length > 1) {
									htmlTextUKOM = splitValuesUKOM[0] + "-" + firstToUpper(splitValuesUKOM[1]);
								} else {
									htmlTextUKOM = firstToUpper(pgtext);
								}
							} else if (pgname == "UTRA") {
								htmlTextUTRA = firstToUpper(pgtext);
							} else if (pgname == "UBLO") {
								htmlTextUBLO = firstToUpper(pgtext);
							} else if (pgname == "UENH") {
								htmlTextUENH = firstToUpper(pgtext);
							} else if (pgname == "GKOM") {
								htmlTextGKOM = firstToUpper(pgtext);
							} else if (pgname == "GTRA") {
								htmlTextGTRA = firstToUpper(pgtext);
							} else if (pgname == "GBLO") {
								htmlTextGBLO = firstToUpper(pgtext);
							} else if (pgname == "GENH") {
								htmlTextGENH = firstToUpper(pgtext);
							}
						}

						htmlTextBet = htmlTextUKOM + " " + htmlTextUTRA + " " + htmlTextUBLO + " : " + htmlTextUENH;
						htmlTextGall = htmlTextGKOM + " " + htmlTextGTRA + " "+ htmlTextGBLO + " : " + htmlTextGENH;
						if (htmlTextBet || htmlTextGall) {
							addUnitRow(htmlTextBet, htmlTextGall);
							unitCounter++;
						}
					}
				} else {
					if (!isUnitMax) {
						addUnitRowMax(propertyUnitMaxName);
						isUnitMax = true;
					}
				}
			}

		}

		// display units if we have at least one
		if (unitCounter > 0) {
			if (document.getElementById("showmap").value == "false") {
				showHideUnits();
			}
			if (document.getElementById("showHideUnitsLinkContainer")) {
				showHide("showHideUnitsLinkContainer");
			}
		}
		for ( var l = 0; l < searchresult.documents[i].paragraphs.length; l++) {
			if (searchresult.documents[i].paragraphs[l].name == "ANM") {
				ANM = searchresult.documents[i].paragraphs[l].text;
			}
			if (searchresult.documents[i].paragraphs[l].name == "ANBI") {
				ANBI = searchresult.documents[i].paragraphs[l].text;
			}
			if (searchresult.documents[i].paragraphs[l].name == "BESK") {
				BESK = searchresult.documents[i].paragraphs[l].text;
			}
		}
	}

	if (AFDS != "") {
		addInfoRow(propertyAktFR, AFDS.Trim());
	}
	if (LANN != "") {
		addInfoRow(propertyCounty, LANN.Trim());
	}
	if (KOM != "") {
		addInfoRow(propertyMunicipality, KOM.Trim());
	}
	if (PULD != "") {
		addInfoRow(propertyDate, PULD.Trim());
	}
	if (atgbeskHits == true) {
		addInfoRow(propertyTask, atgbesk.substring(0, (atgbesk.length - 2)));
	}
	atgbeskHits = false;

	if (ANM != "") {
		addInfoRow(propertyNote, ANM.Trim());
	}
	if (BESK != "") {
		addInfoRow(propertyOtherUnits, BESK.Trim());
	}
	if (PLNN != "") {
		addInfoRow(propertyPlanName, PLNN.Trim());
	}
	if (ALTAKT != "") {
		addInfoRow(propertyAltakt, ALTAKT.Trim());
	}
	if (ANBI != "") {
		addInfoRow(propertyNrOfImages, ANBI.Trim());
	}

}

// ---- / AJAX-reciever methods --------

// ----- general element-handlers ------
function removeActInterval() {

	if (document.getElementById('actInterval')) {
		var ele = document.getElementById('actInterval');
		while (ele.childNodes.length > 0) {
			ele.removeChild(ele.firstChild); // remove original text
		}
	}
}

function removeBookmarkNote() {
	if (document.getElementById("bookmarkNote")) {
		document.getElementById("bookmarkNote").innerHTML = "";
	}
}

function addBookmarkNote() {
	if (document.getElementById("documentTypeBookmark")
			&& document.getElementById("documentTypeBookmark").selectedIndex != "-1") {
		var arrayValues, splitValues;
		arrayValues = document.getElementById("documentTypeBookmark").options[document
				.getElementById("documentTypeBookmark").selectedIndex].value;
		if (arrayValues.indexOf("^") > -1) {
			splitValues = arrayValues.split("^");
			if (splitValues[2] == "bookmark") {
				document.getElementById("bookmarkNote").innerHTML = splitValues[5]
						.substring(0, 25);
			}
		}
	}
}

function addDocument(value, text, id, sid) {// Add documenttype in dropdownlist

	var select = document.getElementById("documentTypeBookmark");
	var optgroupDocumenttype = document.createElement("optgroup");
	var optionDocumenttype = document.createElement("option");

	if (id == "documenttype") {// Add documenttype info
		optgroupDocumenttype.setAttribute("label", propertyDocumenttype);
		optionDocumenttype.setAttribute("value", value + "^" + text + "^" + id
				+ "^" + sid);
		optionDocumenttype
				.appendChild(document.createTextNode("      " + text));
		if (setOptgroupDocumenttype == false) {
			select.appendChild(optgroupDocumenttype);
			setOptgroupDocumenttype = true;
		}
		select.appendChild(optionDocumenttype);
	}

}

function addBookmarkRow(bookmarkNr, bookmarkText) {// Set bookmark edit
													// information
	bookmarkIndex++;
	var list = document.getElementById("bookmarkList");
	var ul = document.createElement("ul");
	var li = document.createElement("li");
	var label = document.createElement("label");

	var nrOfImages = 0;

	if (document.getElementById("mayCreateBookmarks").value == "true") {
		var button = document.createElement("input");
	}

	if (document.getElementById("mayCreateBookmarks").value == "true") {

		label.setAttribute("class", "changeBookmarkLabel");
		label.setAttribute("for", "changeBookmark_" + bookmarkNr);
		button.setAttribute("class", "changeBookmarkButton");
		button.setAttribute("type", "button");
		button.setAttribute("value", propertyChange);
		button.setAttribute("id", "changeBookmark_" + bookmarkNr);

		button.className = "changeBookmarkButton";
		label.className = "changeBookmarkLabel";

		button.onclick = function() {
			editBookmark(bookmarkNr);
		}// edit bookmark
	}

	if (document.getElementById("mayCreateBookmarks").value == "true") {
		label.appendChild(document.createTextNode(bookmarkText));
		li.appendChild(label);
		li.appendChild(button);
		ul.appendChild(li);
		list.appendChild(ul);

		document.getElementById("bookmarkContainer").style.display = "block";
	}

}

// bookmarks edit
function editBookmark(bookmarkNr) {// Send form to edit bookmark
	var url = document.getElementById("url").value;
	var base = document.getElementById("sd_base").value;
	var ktun = document.getElementById("sd_ktun").value;
	window
			.open(url + "/edit" + "/" + base + "/" + ktun + "/" + bookmarkNr,
					"EditBookmark",
					"scrollbars=0,menubar=0,toolbar=0,location=0,status=1,width=450,height=400");
}

// bookmarks create
function createBookmarkFunc() {// when user clicks on create bookmark
	var url = document.getElementById("url").value;
	var base = document.getElementById("sd_base").value;
	var ktun = document.getElementById("sd_ktun").value;
	window
			.open(url + "/create" + "/" + base + "/" + ktun, "CreateBookmark",
					"scrollbars=0,menubar=0,toolbar=0,location=0,status=1,width=450,height=480");
}

// ------ / general element-handlers --------


