var mode = undefined;
var maincat = undefined;
var subcat = undefined;
var scale = undefined;
var page = undefined;
var owner = undefined;
var bgsku = undefined;
var lastrow_obj_obj = undefined;
var hl_bgsku = undefined;
var modal = false;
var iconover = false;
var rownotes = false;
var photopage = false;

document.onkeypress  = function DefaultPress(e){
	if (!e) { var evt = window.event; } else { var evt = e; }
	if (evt.keyCode==13 && !modal) { show_results(); return false; }
	else { return true; }
}

window.onscroll  = function GetOffset() {
	if (window.pageYOffset) { offset = window.pageYOffset; } else { offset = document.documentElement.scrollTop; }
	if (document.getElementById("loading").style.display=='block') {
		newTop = parseInt(offset) + parseInt(335);
		document.getElementById("loading").style.top=newTop+'px';
	}
}

function stateChanged(Jarg) {
	if (xmlHttp.readyState==4) {
		ajax_response = xmlHttp.responseText;
		switch(Jarg) {
			case 'get_bg_info':
				var sep = '~^';
				var Qarray = ajax_response.split(sep);
				var desc = trim(Qarray[5]);
				if (desc.length > 22) { 
					desc = desc.substr(0,22);
					desc = desc + '...';
				}
				var show_sku = hl_bgsku;
				if (show_sku=='9999') { show_sku='99999'; }
				document.getElementById('current_bgsku').innerHTML = 'BG-'+show_sku;
				document.getElementById('current_main').innerHTML = trim(Qarray[0])+'&nbsp;';
				document.getElementById('current_sub').innerHTML = trim(Qarray[1])+'&nbsp;';
				document.getElementById('current_scale').innerHTML = trim(Qarray[2])+'&nbsp;';
				document.getElementById('current_owner').innerHTML = trim(Qarray[3])+'&nbsp;';
				document.getElementById('current_whyte').innerHTML = trim(Qarray[4])+'&nbsp;';
				document.getElementById('current_desc').innerHTML = desc + '&nbsp;';
				document.getElementById('current_importer').innerHTML = trim(Qarray[6])+'&nbsp;';
				document.getElementById('current_catalog').innerHTML = trim(Qarray[7])+'&nbsp;';
				document.getElementById('current_builder').innerHTML = trim(Qarray[8])+'&nbsp;';
				document.getElementById('current_qty').innerHTML = trim(Qarray[9])+'&nbsp;';
				document.getElementById('current_year').innerHTML = trim(Qarray[10])+'&nbsp;';		
				break;
			case 'send_corrections':
				display_info('Corrections Submitted.');
				break;
			case 'get_subcats':
				var sep = '~^';
				var Qarray = ajax_response.split(sep);
				var form_sel = document.getElementById(Qarray[0]);
				while(form_sel.length > 2) {
					form_sel.remove(form_sel.length-1);
				}
				var opt=document.createElement('option');
				for(i=2; i<=(Qarray.length-2); i++) { // first is sel name
					opt=document.createElement('option');
					opt.value=Qarray[i];
					opt.text=Qarray[i];
					try { form_sel.add(opt,null); }
					catch(ex) { form_sel.add(opt); }
				}
				break;
		}
		xmlHttp.close;
	}
}


function datarow_highlight(obj,Ascale,Amaincat,Asubcat,Aowner,Abgsku) {
	if (Abgsku==hl_bgsku && rownotes) {
		return true;
	} else {
		var show_sku = Abgsku;
		if (show_sku=='9999') { show_sku='99999'; }
		if (iconover==false) { hide_notes(); }
		if (lastrow_obj != undefined && lastrow_obj != '') { 
			lastrow_obj.style.backgroundColor = "#E7DBC6"; 
			hl_bgsku = undefined; 
		}
		
		if (lastrow_obj != obj) {
			obj.style.backgroundColor = "#FFFFFF";
			lastrow_obj = obj;
			hl_bgsku = Abgsku;
			display_scale(Ascale, true);
			display_maincat(Amaincat, true);
			display_subcat(Asubcat, true);
			display_owner(Aowner, true);
			display_bgsku(show_sku, true);
		} else {
			lastrow_obj = undefined;
			hl_bgsku = undefined;
			display_scale(scale);
			display_maincat(maincat);
			display_subcat(subcat);
			display_owner(owner);
			display_bgsku(bgsku);
		}
		if (!iconover) {
			return false;
		} else {
			return true;
		}
	}
}

function display_scale(Ascale, single) {
	var Jscale = Ascale;
	if (Jscale!=undefined && Jscale!='') {
		if (!single) { scale = Jscale.toLowerCase(); }
		Jscale = Jscale.toLowerCase();
	}
	switch(Jscale) {
		case 'ho':
			document.getElementById("info_scale").src='img/scale_ho.gif';
			break;
		case 'hon3':
			document.getElementById("info_scale").src='img/scale_hon3.gif';
			break;
		case 'n':
			document.getElementById("info_scale").src='img/scale_n.gif';
			break;
		case 'o':
			document.getElementById("info_scale").src='img/scale_o.gif';
			break;
		case 'on3':
			document.getElementById("info_scale").src='img/scale_on3.gif';
			break;
			
		case '1:20.3':
			document.getElementById("info_scale").src='img/scale_1203.gif';
			break;
		case '1:24':
			document.getElementById("info_scale").src='img/scale_124.gif';
			break;
		case '1:32':
			document.getElementById("info_scale").src='img/scale_132.gif';
			break;
		case 'o-3rail':
			document.getElementById("info_scale").src='img/scale_o3rail.gif';
			break;
		case 'on2':
			document.getElementById("info_scale").src='img/scale_on2.gif';
			break;
		case 'on2-1/2':
			document.getElementById("info_scale").src='img/scale_on212.gif';
			break;
		case 'on30':
			document.getElementById("info_scale").src='img/scale_on30.gif';
			break;
		case 'oo':
			document.getElementById("info_scale").src='img/scale_OO.gif';
			break;
		case 's':
			document.getElementById("info_scale").src='img/scale_s.gif';
			break;
		case 'sn3':
			document.getElementById("info_scale").src='img/scale_sn3.gif';
			break;
		case 'various':
			document.getElementById("info_scale").src='img/scale_various.gif';
			break;
		default:
			document.getElementById("info_scale").src='img/spacer.gif';
			scale=undefined;
			break;
	}
}

function display_catlbl(Amaincat) {
	var Jmaincat = Amaincat;
	var div_maincat = document.getElementById('div_maincat');
	var tbl_maincat = document.getElementById('tbl_maincat');
	var newX = findPosX(tbl_maincat);
	var newY = findPosY(tbl_maincat);
	newX = newX - 2;
	newY = newY - 20;
	div_maincat.style.top=newY+'px';
	div_maincat.style.left=newX+'px';
	if (Jmaincat!=undefined && Jmaincat!='') {
		div_maincat.innerHTML=Jmaincat;
		div_maincat.style.display='inline';
	} else {
		div_maincat.style.display='none';
		div_maincat.innerHTML='&nbsp;';
	}
}

function display_maincat(Amaincat, single) {
	var Jmaincat = Amaincat;
	document.getElementById('maincat_d').src='img/maincat_dn.gif';
	document.getElementById('maincat_e').src='img/maincat_en.gif';
	document.getElementById('maincat_p').src='img/maincat_pn.gif';
	document.getElementById('maincat_r').src='img/maincat_rn.gif';
	document.getElementById('maincat_s').src='img/maincat_sn.gif';
	document.getElementById('maincat_t').src='img/maincat_tn.gif';
	document.getElementById('maincat_v').src='img/maincat_vn.gif';
	if (Jmaincat!=undefined && Jmaincat!='') {
		var id = Jmaincat.substr(0,1).toLowerCase();
		if (!single) { maincat = Jmaincat; }
		if (document.getElementById('maincat_'+id)!=undefined) {
			document.getElementById('maincat_'+id).src='img/maincat_'+id+'s.gif';
		}
	} else {
		maincat=undefined;
	}
}

function display_subcat(Asubcat, single) {
	var Jsubcat = Asubcat;
	if (hl_bgsku==undefined && (Jsubcat==undefined || Jsubcat=='')) {
		Jsubcat==undefined;
	} else if (hl_bgsku!=undefined && (Jsubcat==undefined || Jsubcat=='')) {
		Jsubcat = 'None';
	}
	document.getElementById("info_subcat").innerHTML='&nbsp;';
	if (Jsubcat!=undefined && Jsubcat!='') {
		Jsubcat = Jsubcat.toUpperCase();
		if (!single) { subcat = Jsubcat; }
		document.getElementById("info_subcat").innerHTML=Jsubcat;
	} else {
		subcat=undefined;
	}
}

function display_owner(Aowner, single) {
	var Jowner = Aowner;
	document.getElementById("info_owner").innerHTML='&nbsp;';
	if (Jowner!=undefined && Jowner!='') {
		Jowner = Jowner.toUpperCase();
		if (!single) { owner = Jowner; }
		document.getElementById("info_owner").innerHTML=Jowner;
	} else {
		owner=undefined;
	}
}

function display_bgsku(Abgsku, single) {
	var Jbgsku = Abgsku;
	document.getElementById("info_bgsku").innerHTML='&nbsp;';
	if (Jbgsku!=undefined && Jbgsku!='') {
		if (!single) { bgsku = Jbgsku; }
		document.getElementById("info_bgsku").innerHTML='BG-'+Jbgsku;
	} else {
		bgsku=undefined;
	}
}

function show_results(Apage) {
	var form_data_search=document.getElementById('form_data_search');
	var param = '';
	display_error();
	display_info();
	display_bgsku();
	hide_notes();
	hl_bgsku = undefined;
	
	if (Apage) { page = Apage; }
	if (maincat!=undefined) {
		param = '&c='+maincat;
	}
	if (page!=undefined) {
		param = param+'&p='+page;
		page = undefined;
	}
	var Jerrors = '';
	switch(mode) {
		case 'bgsku':
			var Jbg_txt  =form_data_search.bgsku_txt.value;
			var Jbg_sort =form_data_search.bgsku_sort;
			var Jbg_order='a';
			var i;
			for(i=0;i<Jbg_sort.length;i++) {
				if (Jbg_sort[i].checked) { 
					Jbg_order=Jbg_sort[i].value;
				}
			}
			document.getElementById("frame_data").src='data.php?m=b&bg='+Jbg_txt+'&o='+Jbg_order+param;
			break;
		case 'standard':
			var Jst_scale  =form_data_search.sel_scale[form_data_search.sel_scale.selectedIndex].value;
			var Jst_maincat=form_data_search.sel_maincat[form_data_search.sel_maincat.selectedIndex].value;
			var Jst_subcat =form_data_search.sel_subcat[form_data_search.sel_subcat.selectedIndex].value;
			var Jst_sort   =form_data_search.standard_sort[form_data_search.standard_sort.selectedIndex].value;
			var Jst_options=form_data_search.sel_options[form_data_search.sel_options.selectedIndex].value;
			if (form_data_search.sel_options.selectedIndex==1) { Jst_options='&mp='+Jst_options; }
			else if (form_data_search.sel_options.selectedIndex==2) { Jst_options='&pp='+Jst_options; }
			else if (form_data_search.sel_options.selectedIndex==3) { Jst_options='&ip='+Jst_options; }
			else if (form_data_search.sel_options.selectedIndex==4) { Jst_options='&ipp='+Jst_options; }
			
			if (Jst_scale=='') { Jerrors += 'Scale is required.<br />'; }
			// if (Jst_sort=='') { Jerrors += 'Sort is required.<br />'; }
			if (Jerrors!='') {
				display_error(Jerrors);
			} else {
				document.getElementById("frame_data").src='data.php?m=s&s='+Jst_scale+'&mc='+Jst_maincat+'&sc='+Jst_subcat+Jst_options+'&o='+Jst_sort+param;
			}
			break;
		case 'advanced':
			var Jad_scale  =form_data_search.sel_scale_a[form_data_search.sel_scale_a.selectedIndex].value;
			var Jad_maincat=form_data_search.sel_maincat_a[form_data_search.sel_maincat_a.selectedIndex].value;
			var Jad_subcat =form_data_search.sel_subcat_a[form_data_search.sel_subcat_a.selectedIndex].value;
			var Jad_sort1  =form_data_search.advanced_sort1[form_data_search.advanced_sort1.selectedIndex].value;
			var Jad_sort2  =form_data_search.advanced_sort2[form_data_search.advanced_sort2.selectedIndex].value;
			var Jad_sort3  =form_data_search.advanced_sort3[form_data_search.advanced_sort3.selectedIndex].value;
			var Jad_options=form_data_search.sel_options_a[form_data_search.sel_options_a.selectedIndex].value;
			if (form_data_search.sel_options_a.selectedIndex==1) { Jad_options='&mp='+Jad_options; }
			else if (form_data_search.sel_options_a.selectedIndex==2) { Jad_options='&pp='+Jad_options; }
			else if (form_data_search.sel_options_a.selectedIndex==3) { Jad_options='&ip='+Jad_options; }
			else if (form_data_search.sel_options_a.selectedIndex==4) { Jad_options='&ipp='+Jad_options; }
			
			if (Jad_scale=='') { Jerrors += 'Scale is required.<br />'; }
			// if (Jad_sort1=='') { Jerrors += 'Sort is required.<br />'; }
			
			if (Jerrors!='') {
				display_error(Jerrors);
			} else {
				document.getElementById("frame_data").src='data.php?m=a&s='+Jad_scale+'&mc='+Jad_maincat+'&sc='+Jad_subcat+Jad_options+'&o1='+Jad_sort1+'&o2='+Jad_sort2+'&o3='+Jad_sort3+param;
			}
			break;
		case 'text':
			var Jtx_txt    =form_data_search.search_txt.value;
			var Jtx_sort1  =form_data_search.text_sort1[form_data_search.text_sort1.selectedIndex].value;
			var Jtx_sort2  =form_data_search.text_sort2[form_data_search.text_sort2.selectedIndex].value;
			var Jtx_sort3  =form_data_search.text_sort3[form_data_search.text_sort3.selectedIndex].value;
			var Jtx_findtypes =form_data_search.find_type;
			var Jtx_find='a';
			var i;
			for(i=0;i<Jtx_findtypes.length;i++) {
				if (Jtx_findtypes[i].checked) { 
					Jtx_find=Jtx_findtypes[i].value;
				}
			}
			
			if (Jtx_txt=='') { Jerrors += 'Search text is required.<br />'; }
			// if (Jtx_sort1=='') { Jerrors += 'Sort is required.<br />'; }
			
			if (Jerrors!='') {
				display_error(Jerrors);
			} else {
				document.getElementById("frame_data").src='data.php?m=t&t='+Jtx_txt+'&f='+Jtx_find+'&o1='+Jtx_sort1+'&o2='+Jtx_sort2+'&o3='+Jtx_sort3+param;
			}
			break;
	}
}


function search_mode(Amode) {
	clear_search_data();
	var Jmode = Amode;
	mode = Jmode;
	display_error();
	display_info();
	document.getElementById('bgsku_img').src='img/mode_bgsku.gif';
	document.getElementById('standard_img').src='img/mode_standard.gif';
	document.getElementById('advanced_img').src='img/mode_advanced.gif';
	document.getElementById('text_img').src='img/mode_text.gif';
	document.getElementById('div_bgsku_filter').style.display='none';
	document.getElementById('div_standard_filter').style.display='none';
	document.getElementById('div_advanced_filter').style.display='none';
	document.getElementById('div_text_filter').style.display='none';
	document.getElementById('div_bgsku_sort').style.display='none';
	document.getElementById('div_standard_sort').style.display='none';
	document.getElementById('div_advanced_sort').style.display='none';
	document.getElementById('div_text_sort').style.display='none';
	switch(mode) {
		case 'bgsku':
			document.getElementById('bgsku_img').src='img/mode_bgsku_s.gif';
			document.getElementById('div_bgsku_filter').style.display='block';
			document.getElementById('div_bgsku_sort').style.display='block';
			break;
		case 'standard':
			document.getElementById('standard_img').src='img/mode_standard_s.gif';
			document.getElementById('div_standard_filter').style.display='block';
			document.getElementById('div_standard_sort').style.display='block';
			if (!photopage) {
				var form_sel = document.getElementById('sel_subcat');
				while(form_sel.length > 2) { form_sel.remove(form_sel.length-1); }
			}
			break;
		case 'advanced':
			document.getElementById('advanced_img').src='img/mode_advanced_s.gif';
			document.getElementById('div_advanced_filter').style.display='block';
			document.getElementById('div_advanced_sort').style.display='block';
			if (!photopage) {
				var form_sel = document.getElementById('sel_subcat_a');
				while(form_sel.length > 2) { form_sel.remove(form_sel.length-1); }
			}
			break;
		case 'text':
			document.getElementById('text_img').src='img/mode_text_s.gif';
			document.getElementById('div_text_filter').style.display='block';
			document.getElementById('div_text_sort').style.display='block';
			break;
	}
}

function new_search() {
	clear_search_data();
	search_mode();
}

function clear_search_data() {
	var form_data_search=document.getElementById('form_data_search');
	display_maincat(); // clear
	display_subcat();
	display_scale();
	display_owner();
	display_bgsku();
	display_error();
	display_info();
	hide_notes();
	form_data_search.reset();
	
	mode = undefined;
	maincat = undefined;
	subcat = undefined;
	scale = undefined;
	page = undefined;
	owner = undefined;
	bgsku = undefined;
	hl_bgsku = undefined;
	lastrow = undefined;	
	document.getElementById("frame_data").src='data.php';
}

function display_error(Jerror) {
	document.getElementById("error_block").innerHTML='&nbsp;';
	if (Jerror!=undefined && Jerror!='') {
		var errorout = Jerror;
		// errorout=errorout.replace(/\n/g,'<br />');
		errorout=errorout.replace(/\<br \/\>/g,'\n');
		errorout=errorout.replace(/\<br\>/g,'\n');
		alert(errorout);
		/*
		document.getElementById("error_block").innerHTML='<strong>Submission Error</strong><br />'+errorout;
		window.scrollTo(0, 0);
		*/
	}
}

function display_info(Jinfo) {
	document.getElementById("info_block").innerHTML='&nbsp;';
	if (Jinfo!=undefined && Jinfo!='') {
		var infoout = Jinfo;
		// infoout=infoout.replace(/\n/g,'<br />');
		infoout=infoout.replace(/\<br \/\>/g,'\n');
		infoout=infoout.replace(/\<br\>/g,'\n');
		alert(infoout);
		/*
		document.getElementById("info_block").innerHTML=Jinfo;
		window.scrollTo(0,0);
		*/
	}
}

function datapage_nav(Jpage) {
	page = Jpage;
	top.show_results();
}

function call_form(Jmode) {
	var form_correction = document.getElementById('form_correction');
	var div_called = document.getElementById("div_correction");
	switch(Jmode) {
		case 'open':
			if (hl_bgsku != undefined) {
				modal = true;
				form_correction.reset();
				document.getElementById('current_bgsku').innerHTML = '&nbsp;';
				document.getElementById('current_main').innerHTML = '&nbsp;';
				document.getElementById('current_sub').innerHTML = '&nbsp;';
				document.getElementById('current_scale').innerHTML = '&nbsp;';
				document.getElementById('current_owner').innerHTML = '&nbsp;';
				document.getElementById('current_whyte').innerHTML = '&nbsp;';
				document.getElementById('current_desc').innerHTML =  '&nbsp;';
				document.getElementById('current_importer').innerHTML = '&nbsp;';
				document.getElementById('current_catalog').innerHTML = '&nbsp;';
				document.getElementById('current_builder').innerHTML = '&nbsp;';
				document.getElementById('current_qty').innerHTML = '&nbsp;';
				document.getElementById('current_year').innerHTML = '&nbsp;';
				div_called.style.left = get_centerw(div_called.style.width) + 'px';
				div_called.style.display = 'block';
				var url=ajax_page;
				url=url+"?f=get_bg_info";
				url=url+"&bg="+hl_bgsku;
				xmlHttp=GetXmlHttpObject();
				if (xmlHttp==null) { return; }
				xmlHttp.onreadystatechange = function () { stateChanged('get_bg_info'); };
				xmlHttp.open("GET",url,true);
				xmlHttp.send(null);
			}
			show_ieblock('div_correction');
			break;
		case 'close':
			modal = false;
			document.getElementById("div_correction").style.display = 'none';
			hide_ieblock('div_correction');
			break;
	}
}

function correction_submit() {
	var correction_form=document.getElementById('form_correction');
	var Jerrors = '';
	if (trim(correction_form.new_main.value)=='' && trim(correction_form.new_sub.value)=='' && 
		trim(correction_form.new_scale.value)=='' && trim(correction_form.new_owner.value)=='' && 
		trim(correction_form.new_whyte.value)=='' && trim(correction_form.new_desc.value)=='' && 
		trim(correction_form.new_importer.value)=='' && trim(correction_form.new_catalog.value)=='' && 
		trim(correction_form.new_builder.value)=='' && trim(correction_form.new_qty.value)=='' && 
		trim(correction_form.new_year.value)=='') {
		Jerrors += 'At least one correction must be entered.\n';
	}
	if (trim(correction_form.uname.value)=='') {
		Jerrors += 'Please enter your name.\n';
	}
	if (trim(correction_form.uemail.value)=='') {
		Jerrors += 'Please enter your email address.\n';
	}									 								 
	if (Jerrors=='') {
		var url=ajax_page;
		var cmts = correction_form.comments.value;
		cmts = cmts.replace(/\n/g,'::');
		url=url+"?f=send_corrections";
		url=url+"&n="+correction_form.uname.value;
		url=url+"&e="+correction_form.uemail.value;
		url=url+"&bg="+hl_bgsku;
		url=url+"&mc="+correction_form.new_main.value;
		url=url+"&sc="+correction_form.new_sub.value;
		url=url+"&s="+correction_form.new_scale.value;
		url=url+"&o="+correction_form.new_owner.value;
		url=url+"&w="+correction_form.new_whyte.value;
		url=url+"&d="+correction_form.new_desc.value;
		url=url+"&i="+correction_form.new_importer.value;
		url=url+"&c="+correction_form.new_catalog.value;
		url=url+"&b="+correction_form.new_builder.value;
		url=url+"&q="+correction_form.new_qty.value;
		url=url+"&y="+correction_form.new_year.value;
		url=url+"&r="+correction_form.recsales.value;
		url=url+"&cm="+cmts;
		call_form('close');
		correction_form.comments.value = url;
		xmlHttp=GetXmlHttpObject();
		if (xmlHttp==null) { return; }
		xmlHttp.onreadystatechange = function () { stateChanged('send_corrections'); };
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
	} else {
		display_error(Jerrors);
	}
}

function cf_hl(obj) {
	obj.style.backgroundColor = "#FFFFFF";
}

function cf_nm(obj) {
	obj.style.backgroundColor = "#D6D6D6";
}

function update_subcat(obj, sel) {
	// obj[obj.selectedIndex].value;
	var url=ajax_page;
	url=url+"?f=get_subcats&c="+obj.value+"&s="+sel;
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null) { return; }
	xmlHttp.onreadystatechange = function () { stateChanged('get_subcats'); };
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function row_icon(Jarg) {
	iconover=Jarg;
}

function show_notes(obj, notes) {
	var div_notes = document.getElementById('div_notes');
	var note_info = document.getElementById('note_info');
	var frame_data = document.getElementById('frame_data');
	var div_data = window.frames['frame_data'].document.getElementById('data');
	
	var scollPos = 0;
	var nudge = 2;
	if (div_data.scrollTop) { scollPos = div_data.scrollTop; } else { scollPos = div_data.scrollTop; }
	if (document.all) { nudge=20; }
   
	frameTop = parseInt(findPosY(frame_data));
	calcTop = frameTop + parseInt(findPosY(obj)) + 15;
	newTop = (parseInt(calcTop) - parseInt(scollPos));
	newLeft = parseInt(findPosX(obj))-200;
	div_notes.style.top = newTop+'px';
	div_notes.style.left = newLeft+'px';
	note_info.innerHTML = notes;
	div_notes.style.display = 'block';
	rownotes=true;
}

function hide_notes() {
    var div_notes = document.getElementById('div_notes'); 
    div_notes.style.display = 'none';
	rownotes=false;
}

function sel_setcolor(obj) {
	obj.style.color = obj.options[obj.selectedIndex].style.color;
}