
/*
FILE CONCAT ADD FILE
PATH: /ft/resources/client/modules/glossary/SuggestedTerms.js
*/
var SuggestedTerms_class = function() {}

SuggestedTerms_class.prototype.init = function(){
	Events.add(Element.parseSelector("div.deleteTerm", Element.get("termsListTable")), "click", this.deleteTerm, this);
}

SuggestedTerms_class.prototype.deleteTerm = function(e, el){
	e.cancel();
	
	var deleteConfirm = confirm("Are you sure you want to delete this term?");
	
	if (deleteConfirm ){
		var cb = new ContentBuffer();
	
		var conn = cb.load({
			debug: true,
			url: "/ft/resources/buffer/glossaryDeleteTerm.asp",
			method: "post",
			contentType: "text/javascript",
			preventEval: false,
			data: {
				id: el.getAttribute("termID")
			},
			onload: function() {
				alert("Term has been deleted.");
				location.href = location.href;
			}
		});

	
	}else {
		alert("Term was not deleted.")
	}
}
/*
FILE CONCAT ADD FILE
PATH: /ft/resources/client/modules/glossary/TermsList.js
*/

var TermsList_class = function(){
}

TermsList_class.prototype.HREF_LOCATION = 'admin_termsTable.asp';
TermsList_class.prototype.KEY_CODE_ENTER = 13;

TermsList_class.prototype.init = function() {
	this.searchForm = Element.parseSelector('DIV.searchForm', Element.get('adminContainer'), 'first');
	var searchFormSubmit = Element.parseSelector('DIV.searchFormSubmitButton', this.searchForm, 'first');
	var currentSearch = Element.parseSelector('INPUT.searchFormInputBox', this.searchForm, 'first');
	
	var pagingLinks = Element.parseSelector(".pagingNavigation a");
	var loc			= location.href;
	var term 		= loc.match(/(termStatus\=\w+)\&?/);
	var letter 		= loc.match(/(letter\=\w+)\&?/);

	if (loc) {
		var hasQuerystring = loc.match(/\?/);
		var delimiter = (hasQuerystring) ? '&' : '?';
		var ref;

		term = (term) ? term[1] : false;
		letter = (letter) ? letter[1] : false;

		for (i = 0; i < pagingLinks.length; i++) {
			ref  = pagingLinks[i].href;

			if (term) {
				ref += delimiter + term;
			}
			else if (letter){
				ref += delimiter +letter;
			}
			else if (currentSearch && currentSearch.value) {
				ref += delimiter + 'searchField=' + currentSearch.value;
			}

			pagingLinks[i].href = ref;
		}
	}

	var termsListTable = Element.get('termsListTable');

	var deleteLinks = Element.parseSelector("div.deleteLinks", termsListTable);
	var updateLinks = Element.parseSelector("div.updateLinks", termsListTable);

	if (searchFormSubmit) {
		Events.add(searchFormSubmit, "click", this.searchTerms, this);
	}

	Events.add(currentSearch, "keyup", this.searchTerms, this);
	Events.add(deleteLinks, "click", this.deleteTerm, this);
	Events.add(updateLinks, "click", this.updateTerm, this);
	
	var aTermSearchInputs = Element.parseSelector("input.searchField", "wsod"),
		ref = this;
		
	for (var i = 0, oTermSearch; i < aTermSearchInputs.length; i++) {
		oTermSearch = new TermSearch_class();
		oTermSearch.submitForm = function() {
			ref.searchTerms();
		};
		oTermSearch.init(aTermSearchInputs[i]);
	}
}


TermsList_class.prototype.searchTerms = function(e){
	if (e) { e.cancel(); }
	
	if (!e || !e.nativeEvent.keyCode || this.KEY_CODE_ENTER == e.nativeEvent.keyCode) {
		var isValidSearch = false;
		var queryString = '';
		var currentSearch = Element.parseSelector('INPUT.searchFormInputBox', this.searchForm, 'first');

		if (currentSearch && currentSearch.value) {
			isValidSearch = true;
			queryString = '?searchField=' + encodeURIComponent(currentSearch.value);
		}

		
		location.href = [ this.HREF_LOCATION, queryString ].join('');
	}
}


TermsList_class.prototype.deleteTerm = function(e, el){
	e.cancel();
	
	var deleteConfirm = confirm("Are you sure you want to delete this term?")
	if (deleteConfirm ){
		var cb = new ContentBuffer();
	
		var conn = cb.load({
			debug: true,
			url: "/ft/resources/buffer/glossaryDeleteTerm.asp",
			method: "post",
			contentType: "text/javascript",
			preventEval: false,
			data: {
				id: el.getAttribute("termID")
			},
			onload: function() {
				alert("Term has been deleted.");
				location.href = location.href;
			}
		});
	
	}else {
		alert("Term was not deleted.")
	}

		

}

TermsList_class.prototype.updateTerm = function(e, el){
	e.cancel();
	var term = el.getAttribute("termID")
	location.href = "/ft/internals/glossary/admin_addEditTerm.asp?termID="+term
}