// function to use SFX GET variables to auto-fill knightcite citation form
function get_citation_from_sfx(form) {
	var extra_string = '';
	var varArray = new Array;
	if (document.location.href.indexOf('?') != -1) {
		varArray = document.location.href.split('?')[1];
		if (document.location.href.indexOf('&') != -1) {
			varArray = varArray.split('&');
		}
	}

	// loop through the GET vars and fill input elements
	for(var x=0; x<varArray.length; x++) {
		var tmp = varArray[x].split('=');
		tmp[0] = decodeURIComponent(tmp[0]);
		tmp[1] = tmp[1].replace(/\+/g,' ');
		tmp[1] = decodeURIComponent(tmp[1]);
		tmp[1] = tmp[1].replace(/\#.*$/,'');
		extra_string += tmp[0] + ' = ' + tmp[1] + "\n";
		
		// case statements
		switch(tmp[0]) {
			case 'sfx_aufirst':
				if (typeof(form.firstName1) != "undefined") {
					aufirst = tmp[1].split("|");
					form.firstName1.value = aufirst[0];
				}
			break;

			case 'sfx_aulast':
				if (typeof(form.lastName1) != "undefined") {
					aulast = tmp[1].split("|");
					form.lastName1.value = aulast[0];
				}
			break;

			case 'sfx_article':
			case 'sfx_booktitle':
				if (typeof(form.title) != "undefined") {
					form.title.value = tmp[1];
				}
			break;

			case 'sfx_publisher':
				if (typeof(form.publisherName) != "undefined") {
					form.publisherName.value = tmp[1];
				}
			break;

			case 'sfx_journal':
				if (typeof(form.periodicalName) != "undefined") {
					form.periodicalName.value = tmp[1];
				}
			break;

			case 'sfx_volume':
				if (typeof(form.periodicalVolume) != "undefined") {
					form.periodicalVolume.value = tmp[1];
				}
			break;

			case 'sfx_issue':
				if (typeof(form.issueNumber) != "undefined") {
					form.issueNumber.value = tmp[1];
				}
			break;

			case 'sfx_year':
				if (typeof(form.year) != "undefined") {
					form.year.value = tmp[1];
				}
			break;

			/*
			case 'source':
				if (typeof(form.accessURL) != "undefined") {
					form.accessURL.value = ' ( '+tmp[1]+' ) ';
				}
			break;
			*/

			case 'sfx_pages':
				var arr = tmp[1].split("-");
				var spage = arr[0];
				var epage;
				if (arr.length == 2) {
					epage = arr[1];	
				}
				if (typeof(form.fromPage) != "undefined") {
					form.fromPage.value = spage;
				}
				if (typeof(form.toPage) != "undefined") {
					form.toPage.value = epage;
				}
			break;
		}
	}

	// set "resource found in db" to yes (not the best idea)
	//form.foundOnDatabase.value = 'yes';

	return true;
}
