 var actype=0;

function show(eid){
	document.getElementById(eid).style.visibility = 'visible';
}
function loadMenu(n,t,nalias){
	var url = '../qbuilder/submenu.aspx?node='+n;
	url=t==null?url:url+'&table='+t;
	url=nalias==null?url:url+'&n_alias='+nalias;
	setSubMenu(url);
}
function setMenuPane(url){
 	document.getElementById('maction_pane').innerHTML = '<br>&nbsp;<img src="img/loading.gif"></img>';
	TOP.frames['bbuffer'].location = url;
}
function showMenuPane(){document.getElementById('maction_pane').innerHTML = TOP.frames['bbuffer'].document.body.innerHTML;}

function loadSigmaMenu(){
	setSubMenu('sigma_pane.aspx');
}
function loadBaseMenu(key,xpath){setSubMenu('basemenu.aspx?type='+key+'&xpath='+xpath);}
function loadColMenu(alias,col,type){
	var url = '../qbuilder/submenu.aspx?alias='+alias+'&col='+col+'&ctype='+type;
	setSubMenu(url);
}
function loadCols(alias,loadTo,colID){
	var url = 'show_columns_pane.aspx?sa='+alias;
	loadTo = loadTo == null || loadTo==''?'menuPane3':loadTo;
	colID= colID == null || colID==''?'colddl':colID;
	url+='&loadTo='+loadTo;
	url+='&colID='+colID;
	document.getElementById(loadTo).innerHTML = '<img src="img/loading.gif"></img>';
	TOP.frames["bbuffer"].location = url;
}
function showMenu3(loadTo,from){
	var targ = loadTo == null || loadTo==''?'menuPane3':loadTo;
	document.getElementById(targ).style.visibility = 'visible';
	if(from==null || from == '')from = 'bbuffer';
	document.getElementById(targ).innerHTML = TOP.frames[from].document.body.innerHTML;	
}
function loadAczColList(a1,a2){
	var oplist = document.getElementById('aoperator');
	var op = oplist.options[oplist.selectedIndex].text;
	var url = '../qbuilder/acColBuffer.aspx?a1='+a1+'&c1='+column()+'&op='+op+'&a2='+a2;
	document.getElementById('accollist').innerHTML = '<br>&nbsp;<img src="img/loading.gif"></img>';
	TOP.frames["actablebuf"].location = url;
}
function loadSAColList(alias){
	var url = '../qbuilder/acColBuffer.aspx?sa='+alias;
	document.getElementById('accollist').innerHTML = '<img src="img/loading.gif"></img>';
	TOP.frames["actablebuf"].location = url;
}
function setSubMenu(url){
	try{document.getElementById('menu').innerHTML = '<br>&nbsp;<img src="img/loading.gif"></img>';}catch(ER){}
	TOP.showMessage('');
	TOP.frames['bbuffer'].location = url;
}
function showMenu(){
	document.getElementById('menu').innerHTML = TOP.frames['bbuffer'].document.body.innerHTML;
}
function showACColList(){
	document.getElementById('accollist').innerHTML = window.frames['actablebuf'].document.body.innerHTML;
}
function column(){
	var clist = document.getElementById('colddl');
	return clist.options[clist.selectedIndex].text.split(',')[0];
}
function op(){
	var oplist = document.getElementById('aoperator');
	var index = oplist.selectedIndex > -1?oplist.selectedIndex:0;
	return oplist.options[index].text;
}
function clearElement(ele){
	var e1 = document.getElementById(ele);
	e1.parentNode.removeChild(e1);
}
function fire(nalias){
	switch(actype){
		case 0:
			aselectcols(nalias);break;
		case 1:
			show('oplist');show('cchoice');break;
	} 
}
function setSigmas(nodes){
	n = nodes.split(',');
	var arg='';
	for(x=0;x<n.length;x++){
		if(n[x].length < 2)continue;
		if(arg.length>1)arg+=",";
		val = document.getElementById(n[x]+'_sigma').value;
		if(val.length > 0)
		arg+=n[x]+'_'+val;
	}
	TOP.setBuild("?ssigmas="+arg);
}
function loadConditionPane(startTable){
	lastAlias = startTable;
	var clist = document.getElementById('cchoice');
	var url = 'do_condition_pane.aspx?type=';
	document.getElementById('menuPane4').innerHTML = '<img src="img/loading.gif"></img>';
	switch(clist.selectedIndex){
		case 0:
			lastCChoice=0;
			url+='0';
			document.getElementById('opPane').style.visibility = 'visible';
			var url2 = 'constant_pane.aspx?loadTo=menuPane4&from=bbuffer2';
			TOP.frames["bbuffer2"].location = url2;
			break;
		case 1:
			lastCChoice=1;
			url+='1'; //c2c
			var url2 = url;
			url2+='&loadTo=menuPane4&from=bbuffer2';
			url2+='&colID=colddl2';
			url2+='&tabID=tabddl2';
			TOP.frames["bbuffer2"].location = url2;
			document.getElementById('opPane').style.visibility = 'visible';
		break;			
		case 2:
			lastCChoice=2;url+='2';
			var url2 = 'between_pane.aspx?loadTo=menuPane4&from=bbuffer2';
			TOP.frames["bbuffer2"].location = url2;
		break;
	}
	if(startTable == null || startTable == ''){
		url+= startTable == null || startTable == ''?'':'&palias='+startTable;
		url+='&tabID=tabddl';
		document.getElementById('menuPane3').innerHTML = '<img src="img/loading.gif"></img>';
		TOP.frames["bbuffer"].location = url;
	}else{
		loadCols(startTable,null,null);
	}
	document.getElementById('goButton').style.visibility = 'visible';
}
function showTables(){
	var node = 
		document.getElementById('nodeddl')[document.getElementById('nodeddl').selectedIndex].text;
	if(node == null) return;
	var url = 'show_tables_pane.aspx?node='+node+'&loadTo=menuPane4';
	TOP.frames['bbuffer'].location = url;;
}
var lastCChoice,lastAlias;
function doCondition(){
	var ci1 = -1,ai1 = -1,a1;
	if(lastAlias == null || lastAlias == ''){
		try{ai1 = document.getElementById('tabddl').selectedIndex}catch(er3){};
		if(ai1 == -1){alert('Please select a first table.');return;}
		a1 = document.getElementById('tabddl')[ai1].text.split(' ')[1];
	}else
		a1 = lastAlias;
	try{ci1 = document.getElementById('colddl').selectedIndex}catch(er1){};
	if(ci1 == -1){alert('Please select a first column.');return;}
	var c1 = document.getElementById('colddl')[ci1].text.split(',')[0];
	switch(lastCChoice){
		case 0:
			var cnst = document.getElementById('const_field').value;
			var op = document.getElementById('aoperator')[
				document.getElementById('aoperator').selectedIndex].text;
			if(cnst == null || cnst == ''){alert('Please enter a constant value.');return;}
			TOP.setBuild("?acconst="+a1+","+c1+","+op+","+cnst);
			break;
		case 1:
			var ci2 = -1; var ai2 = -1;
			var op = document.getElementById('aoperator')[
				document.getElementById('aoperator').selectedIndex].text;
			var a2;
			try{ai2 = document.getElementById('tabddl2').selectedIndex}catch(er4){};
			if(ai2 == -1){alert('Please select a second table.');return;}
			a2 = document.getElementById('tabddl2')[ai2].text.split(' ')[1];
			try{ci2 = document.getElementById('colddl2').selectedIndex}catch(er2){};
			if(ci2 == -1){alert('Please select a second column.');return;}
			var c2 = document.getElementById('colddl2')[ci2].text.split(',')[0];
			TOP.setBuild("?awcol="+a1+","+c1+","+op+","+a2+","+c2);
		break;
		case 2:
			var lower = document.getElementById('between_lower').value;
			if(lower== null || lower == ''){alert('Please enter a lower bound.');return;}
			var upper = document.getElementById('between_upper').value;
			if(upper== null || upper == ''){alert('Please enter an upper bound.');return;}
			TOP.setBuild("?awbetween="+a1+","+c1+","+lower+","+upper);
			break;
	}
}
function resetSigmas(){
	TOP.setBuild("?resetsigmas=true");
}

function aselectcols(nalias){
	var list = document.getElementById('colddl').options;	
	if(list.selectedIndex == -1)alert('Please select at least one column');
	var arg = nalias+'.'+list[list.selectedIndex].text.split(',')[0];
	for(x=list.selectedIndex+1;x<list.length;x++)
		if(list[x].selected)
			arg+=','+nalias+'.'+list[x].text.split(',')[0];
	TOP.setBuild("?aselectcols="+arg);
}
function aselectcolsall(){
	var list = document.getElementById('colddl').options;	
	if(list.selectedIndex == -1)alert('Please select at least one column');
	var arg = list[list.selectedIndex].text.split(',')[0];
	for(x=list.selectedIndex+1;x<list.length;x++)
		if(list[x].selected)
			arg+=','+list[x].text.split(',')[0];
	TOP.setBuild("?aselectcolsall="+arg);
}
function aselectcolssome(){
	var list = document.getElementById('colddl').options;	
	if(list.selectedIndex == -1)alert('Please select at least one column');
	var arg = list[list.selectedIndex].text.split(',')[0];
	for(x=list.selectedIndex+1;x<list.length;x++)
		if(list[x].selected)
			arg+=','+list[x].text.split(',')[0];
	TOP.setBuild("?aselectcolssome="+arg);
	
}
function atables(n){
	var list = document.getElementById('tableddl').options;
	if(list.selectedIndex == -1)alert('Please select at least one table');
	var prefix = n == null || n == ''?'':n+':';	
	var arg = prefix+list[list.selectedIndex].text;
	for(x=list.selectedIndex+1;x<list.length;x++)
		if(list[x].selected)
			arg+=','+prefix+list[x].text;
	TOP.setBuild("?atables="+arg);
}
function axnodes(n){
	if(n != null){
		TOP.setBuild("?axnodes="+n);
		return;
	}

	var list = document.getElementById('nodeddl').options;
	if(list.selectedIndex == -1){alert('Please select at least one node');return;}
	var arg = list[list.selectedIndex].text;
	for(x=list.selectedIndex+1;x<list.length;x++)
		if(list[x].selected)
			arg+=','+list[x].text;
	TOP.setBuild("?axnodes="+arg);
}
function aregion(){TOP.setBuild("?aregion=true");}
function asigmas(){TOP.setBuild("?asigmas=true");}
function mregion(ra,dec,radius){TOP.setBuild("?mregion="+ra+","+dec+","+radius);}
function relement(id){TOP.setBuild("?relement="+id);}
function goSDSS(){
    var w1 = document.getElementById('sqlqry');
    var w2 = document.getElementById('QueryBox');
    var qry = w1 != null? w1.value:w2.value;
    qry = qry.replace(/\n/g,'%0a');
    window.open('../search/x_sql.asp?format=html&cmd='+qry,'SEARCH','');

}




