// This file is referenced on glossary + APPRAISERS page
var appraisers_on = new Array;
var appraisers_letters = new Array;

var speciality_array = new Array;
var specialities = new Array;
specialities = [
  "empty",
  "Antiquities",
  "Arms & Militaria",
  "Asian Arts",
  "Books & Manuscripts",
  "Clocks & Watches",
  "Collectibles",
  "Decorative Arts",
  "Dolls",
  "Folk Art",
  "Furniture",
  "Glass",
  "Jewelry",
  "Metalwork & Sculpture",
  "Musical Instruments",
  "Paintings & Drawings",
  "Photographs",
  "Pottery & Porcelain",
  "Prints & Posters",
  "Rugs & Textiles",
  "Science & Technology",
  "Silver",
  "Sports Memorabilia",
  "Tools & Implements",
  "Toys & Games",
  "Tribal Arts"
]
speciality_array = [
  null,
  [
    "slayterralph_anthony"
  ],
  [
    "carella_paul",
    "cowan_cwesley",
    "eledge_rafael",
    "guthman_william",
    "herman_bruceb",
    "mitchell_christopher",
    "piattoni_gary",
    "witherell_brad"
  ],
  [
    "callahan_james",
    "castle_frank",
    "goddard_dessa",
    "mason_lark",
    "mccarron_david",
    "rabstenek_marley",
    "sokolow_marvin",
    "waterhouse_robert"
  ],
  [
    "austin_richard",
    "coover_christopher",
    "ehling_ian",
    "gammon_martin",
    "gloss_ken",
    "kosofsky_joyce",
    "lecky_thomas",
    "massey_stephen",
    "sanders_ken",
    "wahlgren_francis",
    "williamson_catherine"
  ],
  [
    "cheney_robert",
    "delaney_john",
    "delaney_sean",
    "fletcher_stephen",
    "rice_martin",
    "sullivan_gary",
    "tearle_charles",
    "winicki_paul",
    "zavian_kevin"
  ],
  [
    "alberta_eric",
    "ashleigh_caroline",
    "dunbar_leila",
    "franchi_rudy",
    "gutierrez_mike",
    "guzman_kathleen",
    "lipman_simeon",
    "sohmers_gary",
    "soules_daniel",
    "weiss_philip",
    "zane_apak"
  ],
  [
    "baron_catherine",
    "clarke_sebastian",
    "cowan_cwesley",
    "dawes_nicholas",
    "fletcher_stephen",
    "gallager_david",
    "garrett_wendell",
    "igelbrink_anne",
    "keane_karen",
    "keene_marybeth",
    "sandberg_jeni",
    "soules_daniel",
    "szescila_beth"
  ],
  [
    "martin_marshall",
    "ourant_andy",
    "wright_richard"
  ],
  [
    "bourgeault_ronald",
    "brunk_andrew",
    "cresswell_donald",
    "druckman_nancy",
    "farmer_ken",
    "flanigan_jmichael",
    "fletcher_stephen",
    "hays_john",
    "katz_allan",
    "keene_marybeth",
    "keno_leigh",
    "rosenberg_margot"
  ],
  [
    "brunk_andrew",
    "bucchi_giovanni",
    "clarke_sebastian",
    "cunningham_mary",
    "failey_dean",
    "farmer_ken",
    "flanigan_jmichael",
    "fletcher_stephen",
    "garrett_wendell",
    "hays_john",
    "igelbrink_anne",
    "katz_allan",
    "keane_karen",
    "keno_leigh",
    "keno_leslie",
    "loughrey_peter",
    "sollo_john",
    "sullivan_gary",
    "witherell_brian"
  ],
  [
    "bailey_kathleen",
    "dawes_nicholas",
    "haines_reyne",
    "kaplan_alan",
    "mccarron_david",
    "sulka_arlie"
  ],
  [
    "jonas_joyce",
    "lieberman_gloria",
    "patrick_adam",
    "romero_christie",
    "salem_virginia",
    "sayyah_rosalie",
    "schaffer_mark",
    "schaffer_peter",
    "shemonsky_peter",
    "weber_barry",
    "winicki_paul",
    "zavian_berj",
    "zavian_kevin"
  ],
  [
    "dumouchelle_ernest",
    "dumouchelle_robert",
    "shrives_kerry",
    "silver_eric",
    "weiss_david"
  ],
  [
    "baggett_jim",
    "bonsey_david",
    "dipper_andrew",
    "farmer_ken",
    "givens_claire",
    "johnston_richard",
    "keane_kerry",
    "kerr_david",
    "oster_frederick",
    "shaw_peter"
  ],
  [
    "banksstainton_elaine",
    "chisholm_nan",
    "fairbanks_peter",
    "fausel_alan",
    "fesko_colleene",
    "force_debra",
    "harwood_kathleen",
    "mccarron_david",
    "nichol_alasdair",
    "weiss_david"
  ],
  [
    "cowan_cwesley",
    "kaplan_daile"
  ],
  [
    "bailey_kathleen",
    "blunckfrost_andrea",
    "dawes_nicholas",
    "humler_riley",
    "kaplan_alan",
    "lackey_david",
    "perrault_suzanne",
    "rago_david",
    "slavid_stuart",
    "stradling_jgarrison",
    "whitehurst_stuart",
    "wilkie_jody"
  ],
  [
    "cresswell_donald",
    "flinner_craig",
    "klein_cynthia",
    "lane_christopher",
    "lowry_nicholas",
    "weyman_todd"
  ],
  [
    "ashleigh_caroline",
    "augusta_karen",
    "ffrench_james",
    "grogan_michael",
    "halle_titi",
    "pap_peter",
    "szescila_beth",
    "topalian_mark",
    "weiss_david"
  ],
  [
    "hawkins_nick",
    "lock_jeffrey",
    "piattoni_gary",
    "stanley_philip"
  ],
  [
    "bailey_kathleen",
    "baron_catherine",
    "blunckfrost_andrea",
    "bourgeault_ronald",
    "dunavant_reid",
    "gallager_david",
    "igelbrink_anne",
    "shinnpratt_sarah",
    "whitehurst_stuart",
    "winicki_paul",
    "wishart_sara"
  ],
  [
    "dunbar_leila",
    "gutierrez_mike",
    "lipman_simeon",
    "marren_brian",
    "weiss_philip",
    "marren_brian"
  ],
  [
    "dice_steven",
    "farmer_ken",
    "richmond_lee"
  ],
  [
    "barrett_noel",
    "ourant_andy",
    "sohmers_gary",
    "weiss_philip"
  ],
  [
    "buxton_john",
    "caballero_joan",
    "deihl_douglas",
    "dyer_linda",
    "linn_natalie",
    "shackelford_bruce"
  ]
];

function do_speciality(huh)
{
	//alert(huh.value);
	turn_off_appraisers();
	
	if(document.getElementById('app-list-head'))
	{
		document.getElementById('app-list-head').innerHTML = '<span>'+specialities[huh.value]+'</span>';
	}
	
	if(huh.value)
	{
		for(var j=0; j< speciality_array[huh.value].length; j++) {
			appraiser_id = speciality_array[huh.value][j];
			if(document.getElementById(appraiser_id))
			{
				document.getElementById(appraiser_id).style.display = "block";
				appraisers_on[appraisers_on.length] = appraiser_id;
			}
		}	
	}
}

// appriasers tab controls
// copied from mfrey
function showappraisers(which)
{
	var whiches = new Array;
	for(var i=1; i<=3; i++) {
		var tempname = "appraisers" + i;
		whiches[i-1] = document.getElementById(tempname);
	}
	var tabs = new Array;
	tabs = document.getElementById('tabscol').getElementsByTagName('li');

	for(var j=0; j<whiches.length; j++) {
		whiches[j].style.display = "none";
		tabs[j].removeAttribute((document.all ? 'className' : 'class'));
	}
	document.getElementById("appraisers" + which).style.display = "block";
	document.getElementById("tab" + which).setAttribute((document.all ? 'className' : 'class'),'active');
}


// to deal with appraiser links
	function init_appraisers_real()
	{
		if(!document.getElementById('namecols')) return;
		
		//loop through all terms and add onclick
		var app_names=document.getElementById('namecols').getElementsByTagName('a');

		//REG EXPRESSIONS
		var regExp_app = new RegExp("(^|\\s)app-link(\\s|$)");
		var regExp_all = new RegExp("(^|\\s)app-all(\\s|$)");
		//var regExp_seelaso = new RegExp("(^|\\s)seealso(\\s|$)");

		//GO THRU ALL LINKS
		var letter_id = null;
		for (var i=0, il=app_names.length; i<il; i++)
		{
			var a_appref = app_names[i];

			if (regExp_app.test(a_appref.className))
			{
				//THIS IS A APPRIASER SO ADD ONLICK
				a_appref.onclick = function()
				{
					//TURN OFF OLD
					turn_off_appraisers();

					//TURN ON NEW APPRIASER
					var term_id = this.href.match(/#(\w.+)/)[1];
					document.getElementById(term_id).style.display = "block";
					appraisers_on[0] = term_id;
					return false;
				}

				//HIDE THE APPRAISER
				var name_id = a_appref.href.match(/#(\w.+)/)[1];
				if(document.getElementById(name_id))
				{
					document.getElementById(name_id).style.display = "none";
				}
				
				//add to letter
				appraisers_letters[letter_id][appraisers_letters[letter_id].length] = name_id;
			}
			else if (regExp_all.test(a_appref.className))
			{
				letter_id = a_appref.href.match(/#(\w+)/)[1];
				appraisers_letters[letter_id] = new Array;

				//THIS IS A APPRIASER SO ADD ONLICK
				a_appref.onclick = function()
				{
					//TURN OFF OLD
					turn_off_appraisers();

					//TURN ON APPRAISERS
					var name_id = this.href.match(/#(\w+)/)[1];
					turn_on_appraisers(name_id);
					return false;
				}

			}			
		}
		


		//WHAT ABOUT DIRECT LINK
		
		var loc=window.location.toString();
		loc=/#/.test(loc)?loc.match(/#(\w.+)/)[1]:'';
		if(loc==''){return;}
		var elm=document.getElementById(loc);
		if(!elm){return;}

		//TURN OFF OLD
		turn_off_appraisers();

		//TURN ON BASED ON URL
		appraisers_on[0] = loc;
		elm.style.display = "block";

	}
	
function turn_off_appraisers()
{
	if(document.getElementById('app-list-head'))
	{
		document.getElementById('app-list-head').innerHTML = '';
	}
	for(var j=0; j< appraisers_on.length; j++) {
		appraiser_id = appraisers_on[j];
		if(document.getElementById(appraiser_id))
		{
			document.getElementById(appraiser_id).style.display = "none";
		}
	}
	appraisers_on = new Array;
}

function turn_on_appraisers(this_letter)
{
	if(document.getElementById('app-list-head'))
	{
		document.getElementById('app-list-head').innerHTML = '<span>'+this_letter.toUpperCase()+'</span>';
	}
	
	for(var j=0; j< appraisers_letters[this_letter].length; j++) {
		appraiser_id = appraisers_letters[this_letter][j];
		if(document.getElementById(appraiser_id))
		{
			document.getElementById(appraiser_id).style.display = "block";
			appraisers_on[appraisers_on.length] = appraiser_id;
		}
	}

}


//glossary stuff
var last_glossary_term = 'antiquesspeak';

// glossary tab controls
// copied from mfrey
function showglossary(which)
{
	var whiches = new Array;
	for(var i=1; i<=2; i++) {
		var tempname = "terms" + i;
		whiches[i-1] = document.getElementById(tempname);
	}
	var tabs = new Array;
	tabs = document.getElementById('tabscol').getElementsByTagName('li');

	for(var j=0; j<whiches.length; j++) {
		whiches[j].style.display = "none";
		tabs[j].removeAttribute((document.all ? 'className' : 'class'));
	}
	document.getElementById("terms" + which).style.display = "block";
	document.getElementById("tab" + which).setAttribute((document.all ? 'className' : 'class'),'active');
}


// to deal with glossary terms
	function init_glossary_real()
	{
		if(!document.getElementById('glossarycol')) return;
		
		//loop through all terms and add onclick
		var gterms=document.getElementById('glossarycol').getElementsByTagName('a');

		//REG EXPRESSIONS
		var regExp_gterm = new RegExp("(^|\\s)g-term(\\s|$)");
		var regExp_seelaso = new RegExp("(^|\\s)seealso(\\s|$)");

		//GO THRU ALL LINKS
		for (var i=0, il=gterms.length; i<il; i++)
		{
			var a_gref = gterms[i];

			if (regExp_gterm.test(a_gref.className) || regExp_seelaso.test(a_gref.className))
			{
				//THIS IS A TERM SO ADD ONLICK
				a_gref.onclick = function()
				{
					//TURN OFF OLD
					if(document.getElementById(last_glossary_term)) document.getElementById(last_glossary_term).style.display = "none";

					//TURN ON NEW TERM
					var term_id = this.href.match(/#(\w.+)/)[1];
					document.getElementById(term_id).style.display = "block";
					last_glossary_term = term_id;
					return false;
				}

				//HIDE THE TERM
				var term_id = a_gref.href.match(/#(\w.+)/)[1];
				if(document.getElementById(term_id))
				{
					document.getElementById(term_id).style.display = "none";
				}
			}
		}


		//WHAT ABOUT DIRECT LINK
		var loc=window.location.toString();
		loc=/#/.test(loc)?loc.match(/#(\w.+)/)[1]:'';
		if(loc==''){return;}
		var elm=document.getElementById(loc);
		if(!elm){return;}

		//TURN OFF OLD
		if(document.getElementById(last_glossary_term)) document.getElementById(last_glossary_term).style.display = "none";

		//TURN ON BASED ON URL
		last_glossary_term = loc;
		elm.style.display = "block";

	}



//for on dom loaded for faster stuff
//http://dean.edwards.name/my/busted3.html
	function init_glossary()
	{
		// quit if this function has already been called
		if (arguments.callee.done) return;

		// flag this function so we don't do the same thing twice
		arguments.callee.done = true;

		// kill the timer
		if (_timer)
		{
			clearInterval(_timer);
			_timer = null;
		}

		init_glossary_real();
		init_appraisers_real();
	};

	/* for Mozilla */
	if (document.addEventListener) {
		document.addEventListener("DOMContentLoaded", init_glossary, false);
	}

	/* for Internet Explorer */
	/*@cc_on @*/
	/*@if (@_win32)
		document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
		var script = document.getElementById("__ie_onload");
		script.onreadystatechange = function() {
			if (this.readyState == "complete") {
				init_glossary(); // call the onload handler
			}
		};
	/*@end @*/

	/* for Safari */
	if (/WebKit/i.test(navigator.userAgent)) { // sniff
		var _timer = setInterval(function() {
			if (/loaded|complete/.test(document.readyState)) {
				init_glossary(); // call the onload handler
			}
		}, 10);
	}

	/* for other browsers */
	window.onload = init_glossary;
