function compareplots(formid){
	var result=getPlotsSelectedIDStr2(formid, 'linecheck','checked');
	var form = document.getElementById( formid );
	form.currentids.value = result;
	form.submit();
}
	
function compareplotswithcurrent(formid){
	var result=getPlotsSelectedIDStr2(formid, 'linecheck','checked');
  var form = document.getElementById( formid );
	result=combineids(form.currentids.value,result,"add");
	form.currentids.value = result;
	form.submit();
}

function getPlotsSelectedIDStr2(formid, checkid, check_type, factorid) {
//construct the ids and factors
	if(arguments.length<3)
	check_type="checked";
	if(arguments.length<4)
	factorid="";
  var formobj = document.getElementById( formid );
	if ( formobj ) {
    var result = '', comma = '';
    for ( var i = 0; i < formobj.length; ++i ) {
      var here   = formobj.elements[ i ];
      if ( ( here.type == 'checkbox' ) && ((here.id.substr(0,checkid.length)) == checkid)) {
				add_id=false;
        switch (check_type){
				  case "checked":
					if(here.checked)
					add_id=true;
					break;
					case "unchecked":
					if(!here.checked)
					add_id=true;
					break;
					case "either":
					add_id=true;
					break;
				}
				if(add_id){
				  result += comma+parseInt(here.value);
          comma  = '_';
					//now see if there is a factor to add
					if(factorid!="")
					{
					  factor_obj=document.getElementById(factorid+here.id.substr(checkid.length,(here.id.length-checkid.length)))
						if(factor_obj){
						  if((factor_obj.value!="0")&(factor_obj.value!=""))
							  result=result+"("+parseInt(factor_obj.value)+")";
							}
					}
				}
      }
    }
  	return(result);
		} else {
    alert( 'Form not found: id = "' + formid + '"' );
		return("");
	}
}

function removeselectedgraphs(formid)
{
	var result=getPlotsSelectedIDStr2(formid, 'linercheck','checked','linecorr');
  var form = document.getElementById( formid );
	result=combineids(form.currentids.value,result,"delete");
	form.currentids.value = result;
	form.submit();
}

function combineids(id1,id2,action)
{
  var id1arr = new Array();
  var id2arr = new Array();
  if(id1!="")
  {
    id1arr = id1.split("_");
  }
  if(id2!="")
  id2arr = id2.split("_");
  comma="";
	for ( var i = 0; i < id2arr.length; ++i ) {
    var k = 0;
	  while(k < id1arr.length) {
		  addid=true;
			pos1=id1arr[k].indexOf("(");
			if(pos1<0)
			  pos1=id1arr[k].length;
			  pos2=id2arr[i].indexOf("(");
			if(pos2<0)
			  pos2=id2arr[i].length;
			  if(id1arr[k].substr(0,pos1)==id2arr[i].substr(0,pos2))
			    id1arr.splice(k,1);
			  else
 				  k++;
		}    
  }
  switch (action){
	  case "delete":
	  resultid = id1arr.join("_");
		break;
		case "add":
	  resultid = id1arr.join("_");
		if(resultid=="")
		  comma="";
		else
		  comma="_"
	  resultid = resultid+comma+id2arr.join("_");
		break;
	}				
	return resultid;
}
	
function combineids2(id1,id2,action)
{
  var id1arr = new Array();
  var id2arr = new Array();
  if(form.currentids.value!="")
  {
    id1arr = form.currentids.value.split("_");
  }
  if(id1!="")
    id2arr = id1.split("_");

  comma="";
	for ( var i = 0; i < id2arr.length; ++i ) {
    var k = 0;
	  while(k < id1arr.length) {
		  addid=true;
			pos=id1arr[k].indexOf("(");
			if(pos<0)
			  pos=id1arr[k].length;
			switch (action){
			  case "delete":
			  if(id1arr[k].substr(0,pos)==id2arr[i])
			    id1arr.splice(k,1);
			  else
 				  k++;
			  break;
			  case "add":
			  if(id1arr[k].substr(0,pos)!=id2arr[i]){
			    addid=false;
				  k=id1arr.length;
				}
			  k++;
			  break;
			}
    }    
			  
  }

  resultid = ""; 
  resultid = id1arr.join("_");
	return resultid;
}
	
function applygraphfactors(formid)
{
  var result=getPlotsSelectedIDStr2(formid, 'linercheck','either','linecorr');
	var form = document.getElementById( formid );
	form.currentids.value = result;
	form.submit();
}
	
function displaysubline(row)	{
  row_object=document.getElementById("line" + (row + 1)); 
  if(row_object.style.display == "none")
	row_object.style.display = "";
	else
	row_object.style.display = "none";
}
	
function show_advance_search() {
	//alert("show advance");
	search1 = document.getElementById("search_basic")
	search1.style.display = "none";
	var search2=document.getElementById("search_advanced");
	//alert(search2.style.display);
	//alert("*"+search2.style.display+"*");
	search2.style.display = "block";
}
	
function show_basic_search() {
	search1 = document.getElementById("search_basic");
	search1.style.display = "block";
	search2 = document.getElementById("search_advanced");
	search2.style.display = "none";
}
