/**********************************
 * 	Thushan Fernando
 **********************************/
var graphHide = 0;
var graphx;
var graphy;

function loadFrame(num,refolding_id) 
{
	// Anita Santoso
    var trObj = "tr"+num+"3";
    var frameObj = "frame"+num+"3";
    var imgPlus = "frame"+num+"2";
    var imgMin = "frame"+num;
    
    if (document.getElementById(trObj).style.display=="none") 
    {
        document.getElementById(trObj).style.display="";
        document.getElementById(frameObj).src="viewframe.php?type=1&id="+refolding_id;
        document.getElementById(imgPlus).style.display="none";
        document.getElementById(imgMin).style.display="block";
    }
    else 
    {
        document.getElementById(trObj).style.display="none";
        document.getElementById(imgMin).style.display="none";
        document.getElementById(imgPlus).style.display="block";
    }
}

//Huan Nguyen
function construct_val()
{
	var protein_construct_refolded = document.Refolding001;
	
	if (protein_construct_refolded.chkFullLength.checked == 1)
	{
		protein_construct_refolded.chkDomainOnly.checked = false;
		protein_construct_refolded.chkChimericProtein.checked = false;
		protein_construct_refolded.chkVariant.checked = false;
		
		showHideLayer("div_domain_only",1,"");
		showHideLayer("div_chimeric_protein",1,"");
		showHideLayer("div_variant",1,"");
	}
}

function construct_val2(layerName)
{
	var protein_construct_refolded = document.Refolding001;
	
	if (protein_construct_refolded.chkDomainOnly.checked == 1
		|| protein_construct_refolded.chkChimericProtein.checked == 1
		|| protein_construct_refolded.chkVariant.checked == 1)
	{
		protein_construct_refolded.chkFullLength.checked = false;
		
		showHideLayer(layerName,0,"");
	}
	else
		showHideLayer(layerName,1,"");
	
	if (protein_construct_refolded.chkDomainOnly.checked == 0)
		showHideLayer("div_domain_only",1,"");
	
	if (protein_construct_refolded.chkChimericProtein.checked == 0)
		showHideLayer("div_chimeric_protein",1,"");
	
	if (protein_construct_refolded.chkVariant.checked == 0)
		showHideLayer("div_variant",1,"");
}

function ProteinExpressed_val()
{
	var expression = document.Refolding001;
	
	expression.chkPolypeptideSynthesized.checked = false;
	expression.chkPurifiedUnder.checked = false;
	exp_p2objs(true);
}

function PolypeptideSynthesized_val()
{
	var expression = document.Refolding001;
	
	expression.chkProteinExpressed.checked = false;
	expression.chkPurifiedUnder.checked = false;
	exp_p2objs(true);
}

function PurifiedUnder_val()
{
	var expression = document.Refolding001;
	
	expression.chkProteinExpressed.checked = false;
	expression.chkPolypeptideSynthesized.checked = false;
	
	if (expression.chkPurifiedUnder.checked == 1)
		exp_p2objs(false);
	else
		exp_p2objs(true);
}

function choice_val()
{
	form = document.Refolding001;
	
	if (form.optChoice[1].checked)
	{
		form.txtref_number.disabled = false;
		form.txtref_number.focus();
	}
	else
		form.txtref_number.disabled = true;
}

function rr_onload()
{

	form = document.Refolding001;

	if (form.chkProteinExpressed.checked == 1)
	{

		exp_p2objs(true);
	}
	else if (form.chkPolypeptideSynthesized.checked == 1)
	{

		exp_p2objs(true);
	}
	else
	{	

		form.chkPurifiedUnder.checked = true; 
	}

	scrLayer("scr1");
}

function validate_form()
{
	var form = document.Refolding001;
	
	if (form.addnew_part_1.checked == 1 && 
	 	form.addnew_part_2.checked == 1 &&
	 	form.addnew_part_3.checked == 1 &&
	 	form.addnew_part_4.checked == 1)
	 	
	 	form.submit.disabled = false;
 	else
 		form.submit.disabled = true;
}

function replace(string,text,by) 
{
    var strLength = string.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) 
    	return string;

    var i = string.indexOf(text);
    if ((!i) && (text != string.substring(0,txtLength))) 
    	return string;
    
	if (i == -1) 
		return string;

    var newstr = string.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(string.substring(i+txtLength,strLength),text,by);

    return newstr;
}

function int_txtfld(txtfield)
{
	var form = document.Refolding001;
	var intfield;
	
	if (txtfield == "txtChainLength")
		intfield = form.txtChainLength
	else if (txtfield == "txtMolecularWeight")
		intfield = form.txtMolecularWeight
	else if (txtfield == "txtPi")
		intfield = form.txtPi
	else if (txtfield == "txtPubYear")
		intfield = form.txtPubYear
	else if (txtfield == "txtPubVolume")
		intfield = form.txtPubVolume
	else if (txtfield == "txtrefolding_ph")
		intfield = form.txtrefolding_ph
	else if (txtfield == "txtrefolding_temp")
		intfield = form.txtrefolding_temp
	else if (txtfield == "txtExpTemp")
		intfield = form.txtExpTemp
	else if (txtfield == "txtInducingAgent")
		intfield = form.txtInducingAgent
	
	if (isNaN(intfield.value))
	{
		alert("Invalid data format.\n\nOnly numbers are allowed."); 
     	intfield.value = "";
	}
}

function remove_rt(input) 
{
	var output = "";
	
	for (var i = 0; i < input.length; i++) 
	{
		if ((input.charCodeAt(i) == 13) && (input.charCodeAt(i + 1) == 10)) 
		{
			i++;
			output += "1";
		} 
		else 
			output += input.charAt(i);
	}
	return output;
}


//Calculate the PI of the sequence
function get_pi()
{
	var form = document.Refolding001;
	var txtsq = form.txtSequenceNotes;
	var txtpi = form.txtPi;	
	
	if (txtsq.value.length <= 0)
		txtpi.value = "";
	else
    	txtpi.value = calculateIsoelectricPoint(txtsq.value);
}

// This is your famous function!
// -----------------------------
function calculateIsoelectricPoint(seqUnfiltered)
{
	var seq = new String(seqUnfiltered);
	seq = seq.replace(/[^a-zA-Z 0-9]+/g,'');

	var cPk = new Array
		(
		new Array( 3.55, 7.59, 0., 0., 0. ), /* A */
	    new Array( 3.55, 7.50, 0., 0., 0. ), /* B */
	    new Array( 3.55, 7.50, 9.00, 9.00, 9.00 ), /* C */
	    new Array( 4.55, 7.50, 4.05, 4.05, 4.05 ), /* D */
	    new Array( 4.75, 7.70, 4.45, 4.45, 4.45 ), /* E */
	    new Array( 3.55, 7.50, 0., 0., 0. ), /* F */
	    new Array( 3.55, 7.50, 0., 0., 0. ), /* G */
	    new Array( 3.55, 7.50, 5.98, 5.98, 5.98 ), /* H */
	    new Array( 3.55, 7.50, 0., 0., 0. ), /* I */
	    new Array( 0.00, 0.00, 0., 0., 0. ), /* J */
	    new Array( 3.55, 7.50, 10.00, 10.00, 10.00 ), /* K */
	    new Array( 3.55, 7.50, 0., 0., 0. ), /* L */
	    new Array( 3.55, 7.00, 0., 0., 0. ), /* M */
	    new Array( 3.55, 7.50, 0., 0., 0. ), /* N */
	    new Array( 0.00, 0.00, 0., 0., 0. ), /* O */
	    new Array( 3.55, 8.36, 0., 0., 0. ), /* P */
	    new Array( 3.55, 7.50, 0., 0., 0. ), /* Q */
	    new Array( 3.55, 7.50, 12.0, 12.0, 12.0 ), /* R */
	    new Array( 3.55, 6.93, 0., 0., 0. ), /* S */
	    new Array( 3.55, 6.82, 0., 0., 0. ), /* T */
	    new Array( 0.00, 0.00, 0., 0., 0. ), /* U */
	    new Array( 3.55, 7.44, 0., 0., 0. ), /* V */
	    new Array( 3.55, 7.50, 0., 0., 0. ), /* W */
	    new Array( 3.55, 7.50, 0., 0., 0. ), /* X */
	    new Array( 3.55, 7.50, 10.00, 10.00, 10.00 ), /* Y */
	    new Array( 3.55, 7.50, 0., 0., 0. ) ); /* Z */


	

	var MAXLOOP = 2000;
	var H2O = 18.015;			/* mol. wt. of water */
	var PH_MIN = 0.0;			/* minimum pH value */
	var PH_MAX = 14.0;			/* maximum pH value */
	var MAXLOOP = 2000;			/* maximum number of iterations */
	var EPSI = 0.0001;			/* desired precision */	
	
	
    var i, c;
    var R, H, K, D, E, C, Y;

    var phMin, phMid, phMax, charge;
    var nTermResidue, cTermResidue;
    var cter, nter, carg, chis, clys, casp, cglu, ccys, ctyr;

    var comp = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);

    //	TO CHANGE THE SEQUENCE TO UPPOR CASE
    //	Also remove the trailing -, if exists
	seq = seq.toUpperCase();

	var sequence = seq;
	if (seq.lastIndexOf("-") == (seq.length - 1))
	{
		sequence = seq.substr(0, seq.length - 1);
	}
	    
    var val_a = 'A'.charCodeAt(0);
    R = 'R'.charCodeAt(0) - val_a;
    H = 'H'.charCodeAt(0) - val_a;
    K = 'K'.charCodeAt(0) - val_a;
    D = 'D'.charCodeAt(0) - val_a;
    E = 'E'.charCodeAt(0) - val_a;
    C = 'C'.charCodeAt(0) - val_a;
    Y = 'Y'.charCodeAt(0) - val_a;

    // =======================================================
    // NOT Ported to JavaScript form Java
    /*
     * Compute the amino-acid composition.
     */
    //        i = 0;
    //        while (c = sequence[i++]) {
    //          //comp[toupper(c) - val_a]++;
    //          comp[c - val_a]++; //Its uppercase already
    //        }
    // =======================================================

    /*
    var index;
    for (var j = 0; j < sequence.length; j++)
    {
        c = sequence.charAt(j);
        index = c - val_a;
        if (index >= 0 && index < comp.length)
            comp[index]++;
    }*/
    
    var index;
    for (var j = 0; j < sequence.length; j++)
    {
        c = sequence.charAt(j);
        index = c.charCodeAt(0) - val_a;
        if (index >= 0 && index < comp.length)
        {
        	comp[index]++;        	
        }            
    }

    /*
    ** Look up N-terminal and C-terminal residue.
    **/
    nTermResidue = (sequence.charAt(0)).charCodeAt(0) - val_a;
    //System.out.println("N TERM : " + nTermResidue);
    
    //cTermResidue = sequence[i - 1] - val_a;
    cTermResidue = (sequence.charAt(sequence.length - 1)).charCodeAt(0) - val_a;
    //System.out.println("C TERM : " + cTermResidue);

	// Debug stuff - you always need this!!! :-) :-) :-) :-) 
	// -----------------------------------------------------
	//alert('chars 0 - [' + sequence.charAt(0) + '][' + nTermResidue + ']');
	//alert('chars N - [' + sequence.charAt(sequence.length - 1) + '][' + cTermResidue + ']');
	//alert('cTermResidue - [' + cTermResidue + ']');
    

    phMin = PH_MIN - 0.0;
    phMax = PH_MAX - 0.0;
    phMid = (phMin - 0) + (phMax - phMin) / 2;

    for (i = 0, charge = 1.0; i < MAXLOOP && (phMax - phMin) > EPSI; i++)
    {
        phMid = (phMin - 0) + (phMax - phMin) / 2;

       
        cter = Math.pow(10.0, -cPk[cTermResidue][0])
                / (Math.pow(10.0, -cPk[cTermResidue][0]) + Math.pow(10.0,
                        -phMid));
        nter = Math.pow(10.0, -phMid)
                / (Math.pow(10.0, -cPk[nTermResidue][1]) + Math.pow(10.0,
                        -phMid));

        carg = comp[R] * Math.pow(10.0, -phMid)
                / (Math.pow(10.0, -cPk[R][2]) + Math.pow(10.0, -phMid));
        chis = comp[H] * Math.pow(10.0, -phMid)
                / (Math.pow(10.0, -cPk[H][2]) + Math.pow(10.0, -phMid));
        clys = comp[K] * Math.pow(10.0, -phMid)
                / (Math.pow(10.0, -cPk[K][2]) + Math.pow(10.0, -phMid));

        casp = comp[D] * Math.pow(10.0, -cPk[D][2])
                / (Math.pow(10.0, -cPk[D][2]) + Math.pow(10.0, -phMid));
        cglu = comp[E] * Math.pow(10.0, -cPk[E][2])
                / (Math.pow(10.0, -cPk[E][2]) + Math.pow(10.0, -phMid));

        ccys = comp[C] * Math.pow(10.0, -cPk[C][2])
                / (Math.pow(10.0, -cPk[C][2]) + Math.pow(10.0, -phMid));
        ctyr = comp[Y] * Math.pow(10.0, -cPk[Y][2])
                / (Math.pow(10.0, -cPk[Y][2]) + Math.pow(10.0, -phMid));

        charge = carg + clys + chis + nter
                - (casp + cglu + ctyr + ccys + cter);

        if (charge > 0.0)
            phMin = phMid;
        else
            phMax = phMid;
    }
    return phMid;
}


function get_mw()
{
	var form = document.Refolding001;
	var txtsq = form.txtSequenceNotes;
	var txtcl = form.txtChainLength;
	var txtmw = form.txtMolecularWeight;
	
	var data = new Array('a','c','d','e','f','g','h','i','k','l','m','n','p','q','r','s','t','v','w','y');
	var value = new Array('71.0788','103.1388','115.0886','129.1155','147.1766','57.0519','137.1411','113.1594','128.1741','113.1594','131.1926','114.1038','97.1167','128.1307','156.1875','87.0782','101.1051','99.1326','186.2132','163.1760');
	
	var strTemp = "";
	var total = "";
	var dblvalue = "";
	var mw = 18.01524; //default water molecule value
	var mw_default = false;
	var mw_total = 0;
	var strSpace,n0,n1,n2,n3,n4,n5,n6,n7,n8,n9,n10;
	
	if (txtsq.value.length <= 0)
		txtcl.value = "";
	else
	{
		n10 = remove_rt(txtsq.value);
		
		strSpace = replace(n10,' ','');
		n0 = replace(strSpace,'0','');
		n1 = replace(n0,'1','');
		n2 = replace(n1,'2','');
		n3 = replace(n2,'3','');
		n4 = replace(n3,'4','');
		n5 = replace(n4,'5','');
		n6 = replace(n5,'6','');
		n7 = replace(n6,'7','');
		n8 = replace(n7,'8','');
		n9 = replace(n8,'9','');
		
		txtcl.value = n9.length;
	}
	
	total = txtsq.value.length;
	
	for (var i = 0; i < total; i++)
	{
		strTemp = txtsq.value.charAt(i);
		strTemp = strTemp.toLowerCase();
		
		for (var x = 0; x < data.length; x++)
		{
			if (strTemp === data[x])
			{
				dblvalue = Number(value[x]);
				
				if (mw_default == false)
				{
					mw_total += Number(dblvalue) + Number(mw);
					mw_default = true;
				}
				else
					mw_total += Number(dblvalue);
			}
		}
	}
	
	if (mw_total <= 0)
	{
		txtmw.value = "";
		mw_default = false;
	}
	else
		txtmw.value = Math.round(Number(mw_total) * 10) / 10; //round up to 1 decimal point
}

function js_lookup(lookup)
{
	var url_link;
	var form = document.Refolding001;
	
	if (lookup == "eg_txtUniproId")
		url_link = "http://www.ebi.uniprot.org/index.shtml";
	else if (lookup == "eg_txtScopUnique" || lookup == "eg_txtScopUniqueID")
		url_link = "http://scop.mrc-lmb.cam.ac.uk/scop/data/scop.b.html";
		
	window.open(url_link);
}

function exp_p2objs(is_disabled)
{
	var form = document.Refolding001;
	var err_msg = "This form needs to be completed ONLY when the option 'Protein Expressed and Purified Under Denaturing Condition' is chosen.";

	form.txtExpressionHost.disabled = is_disabled;
	form.txtExpressionStrain.disabled = is_disabled;
	form.txtExpressionVector.disabled = is_disabled;
	form.method_induction_id.disabled = is_disabled;
	form.txtMethodInduction.disabled = is_disabled;
	form.txtCellDensityOD.disabled = is_disabled;
	form.txtCellDensityNM.disabled = is_disabled;
	form.txtInducingAgent.disabled = is_disabled;
	form.txtExpTemp.disabled = is_disabled;
	form.txtExpTime.disabled = is_disabled;
	form.cell_disrupt_method_id.disabled = is_disabled;
	form.txtCellDisruption.disabled = is_disabled;
	form.lytic_agent_id.disabled = is_disabled;
	form.txtLyticAgent.disabled = is_disabled;
	form.solubility.disabled = is_disabled;
	form.txtExpressionProtocol.disabled = is_disabled;
	form.txtExpressionNotes.disabled = is_disabled;
	form.chkMethodInduction.disabled = is_disabled;
	form.chkCellDisruption.disabled = is_disabled;
	form.chkLyticAgent.disabled = is_disabled;
	
	if (is_disabled)
		showHideLayer("div_notice_msg",0,"");
	else
		showHideLayer("div_notice_msg",1,"");
}

function fldLayer(layerName)
{
	var form = document.Refolding001;
	
	if (layerName == "div_Prosub1")
		chkfld = form.chkProtein.checked;
	else if (layerName == "div_Prosub2")
		chkfld = form.chkScopFamily.checked;
	else if (layerName == "div_Publication")
		chkfld = form.chkPublication.checked;
	else if (layerName == "div_Organism")
		chkfld = form.chkOrganism.checked;
	else if (layerName == "div_ProjectAim")
		chkfld = form.chkProjectAim.checked;
	else if (layerName == "div_FusionTag")
		chkfld = form.chkFusionTag.checked;
	else if (layerName == "div_RefoldingMethod")
		chkfld = form.chkRefoldingMethod.checked;
	else if (layerName == "div_Pre_refoldingPurification")
		chkfld = form.chkPre_refoldingPurification.checked;
	else if (layerName == "div_Molecular_Chaperones")
		chkfld = form.chkMolecular_Chaperones.checked;
	else if (layerName == "div_Refolding_Additives")
		chkfld = form.chkRefolding_Additives.checked;
	else if (layerName == "div_Redox_Agent")
		chkfld = form.chkRedox_Agent.checked;
	else if (layerName == "div_post_refolding")
		chkfld = form.chkpost_refolding.checked;
	else if (layerName == "div_Journal")
		chkfld = form.chkJournal.checked; 
	else if (layerName == "div_MethodInduction") 
		chkfld = form.chkMethodInduction.checked; 
	else if (layerName == "div_CellDisruption")
		chkfld = form.chkCellDisruption.checked; 
	else if (layerName == "div_LyticAgent")
		chkfld = form.chkLyticAgent.checked; 
	else if (layerName == "div_CellDisruption")
		chkfld = form.chkCellDisruption.checked; 
	//else if (layerName == "div_Exp_Pro")
		//chkfld = form.chkPurifiedUnder.checked; 
		
	if (chkfld == 1)
	{
		if (layerName == "div_Prosub1")
			form.protein_id.disabled = true;
		else if (layerName == "div_Prosub2")
			form.family_id.disabled = true; 
		else if (layerName == "div_Organism") 
			form.species_id.disabled = true; 
		else if (layerName == "div_FusionTag") 
			form.fusion_id.disabled = true; 
		else if (layerName == "div_RefoldingMethod") 
			form.ref_technique_id.disabled = true; 
		else if (layerName == "div_Pre_refoldingPurification") 
			form.pre_purification_id.disabled = true; 
		//else if (layerName == "div_Molecular_Chaperones") 
			//form.chaperones_id.disabled = true; 
		//else if (layerName == "div_Refolding_Additives") 
			//form.additive_id.disabled = true; 
		else if (layerName == "div_Redox_Agent") 
			form.redox_agent_id.disabled = true; 
		//else if (layerName == "div_post_refolding") 
			//form.assay_id.disabled = true; 
		else if (layerName == "div_Publication") 
			form.report_id.disabled = true; 
		//else if (layerName == "div_ProjectAim") 
			//form.project_aim_id.disabled = true; 
		else if (layerName == "div_MethodInduction") 
			form.method_induction_id.disabled = true; 
		else if (layerName == "div_CellDisruption") 
			form.cell_disrupt_method_id.disabled = true; 
		else if (layerName == "div_LyticAgent") 
			form.lytic_agent_id.disabled = true; 
		else if (layerName == "div_Journal") 
			form.journal_id.disabled = true; 
		
		showHideLayer(layerName,0,"");
	}
	else
	{
		if (layerName == "div_Prosub1")
			form.protein_id.disabled = false;
		else if (layerName == "div_Prosub2")
			form.family_id.disabled = false; 
		else if (layerName == "div_Organism")
			form.species_id.disabled = false; 
		else if (layerName == "div_FusionTag") 
			form.fusion_id.disabled = false; 
		else if (layerName == "div_RefoldingMethod") 
			form.ref_technique_id.disabled = false; 
		else if (layerName == "div_Pre_refoldingPurification") 
			form.pre_purification_id.disabled = false; 
		else if (layerName == "div_Molecular_Chaperones") 
			form.chaperones_id.disabled = false; 
		else if (layerName == "div_Refolding_Additives") 
			form.additive_id.disabled = false; 
		else if (layerName == "div_Redox_Agent") 
			form.redox_agent_id.disabled = false; 
		else if (layerName == "div_post_refolding") 
			form.assay_id.disabled = false; 
		else if (layerName == "div_Publication") 
			form.report_id.disabled = false; 
		else if (layerName == "div_ProjectAim") 
			form.project_aim_id.disabled = false; 
		else if (layerName == "div_MethodInduction") 
			form.method_induction_id.disabled = false; 
		else if (layerName == "div_CellDisruption") 
			form.cell_disrupt_method_id.disabled = false; 
		else if (layerName == "div_LyticAgent") 
			form.lytic_agent_id.disabled = false; 
		else if (layerName == "div_Journal") 
			form.journal_id.disabled = false; 
			
		showHideLayer(layerName,1,"");
	}
}	

function showHideLayer(layer,hidden,color)
{	
	var objLayer = document.getElementById(layer);
	
		if(hidden == 0)
		{
			objLayer.style.visibility = 'visible';
			objLayer.style.display = '';
			
			if (color != "")
				objLayer.style.color = color;
		}
		else
		{
			objLayer.style.visibility = 'hidden';
			objLayer.style.display = 'none';
		}

}

function frmmousemove(id,mo)
{
	var over_color = "#d3dce3";
	
	var objtd1 = document.getElementById("id_"+id);
	var objtd2 = document.getElementById(id);
		
	if (mo == 0) // mouseOut
	{
		objtd1.bgColor = "#f1f2db";
		objtd2.bgColor = "white";
	}
	else
	{
		objtd1.bgColor = over_color;
 		objtd2.bgColor = over_color;	
	}
}

function hideLayers()
{
	//sidebar
	showHideLayer("scr1",1,"");
	showHideLayer("scr2",1,"");
	showHideLayer("scr3",1,"");
	showHideLayer("scr3_a",1,"");
	showHideLayer("scr4",1,"");
	showHideLayer("scr4_a",1,"");
	
	//breadcrumb
	showHideLayer("br1_scr1",1,"");
	showHideLayer("br2_scr1",1,"");
	showHideLayer("br3_scr1",1,"");
	showHideLayer("br3_scr2",1,"");
	showHideLayer("br4_scr1",1,"");
	showHideLayer("br4_scr2",1,"");
}

function resetColor()
{
	var dcol = '#003399';
	
	if (document.getElementById('h_pro').style.color != "red")
		showHideLayer('h_pro',0,dcol);
	
	if (document.getElementById('h_con').style.color != "red")
		showHideLayer('h_con',0,dcol);
	
	if (document.getElementById('h_exp').style.color != "red")	
		showHideLayer('h_exp',0,dcol);
		
	if (document.getElementById('h_ref').style.color != "red")
		showHideLayer('h_ref',0,dcol);
	
	showHideLayer('s1_p1',0,dcol);
	showHideLayer('s2_p1',0,dcol);
	showHideLayer('s3_p1',0,dcol);
	showHideLayer('s3_p2',0,dcol);
	showHideLayer('s4_p1',0,dcol);
	showHideLayer('s4_p2',0,dcol);
}

function resetfldColor()
{
	
	var dcol = 'black';
	
	//Protein
	showHideLayer('id_Protein Name:',0,dcol);
	showHideLayer('id_Organism:',0,dcol);
	showHideLayer('id_UniProt Accession:',0,dcol);
	showHideLayer('id_Structure Solved:',0,dcol);
	showHideLayer('id_New Protein Name:',0,dcol);
	showHideLayer('id_Abbreviated Protein Name:',0,dcol);
	showHideLayer('id_SCOP Family:',0,dcol);
	showHideLayer('id_New SCOP Family:',0,dcol);
	showHideLayer('id_SCOP Class:',0,dcol);
	
	//Construct
	showHideLayer('id_Construct:<br>(full description)',0,dcol);
	showHideLayer('id_Fusion Tag:',0,dcol);
	
	showHideLayer('id_Full Sequence of<br>Protein Construct Refolded:<br><br><font color = #777777 size = -6><em>eg, AGVDN</em><br>(please remove carriage returns from your sequence text)<br></font>',0,dcol);
	showHideLayer('id_Chain Length:<br><br><font color = #777777 size = -6>Derived automatically <br>from sequence<br></font>',0,dcol);
	showHideLayer('id_Molecular Weight (Da):<br><br><font color = #777777 size = -6><a href = \"http://au.expasy.org/tools/protparam.html\" target = _new title = \"Algorithm information\">Calculated</a> automatically <br>from sequence<br></font>',0,dcol);
	showHideLayer('id_pI:<br><br><font color = #777777 size = -6><a href = \"http://au.expasy.org/tools/protparam.html\" target = _new title = \"Algorithm information\">Calculated</a> automatically <br>from sequence<br></font>',0,dcol);
	
	showHideLayer('id_Molecularity:',0,dcol);
	showHideLayer('id_Disulfides:',0,dcol);
	
	//Expression p1
	showHideLayer('id_Publication:',0,dcol);
	showHideLayer('id_Journal:',0,dcol);
	showHideLayer('id_Author:',0,dcol);
	showHideLayer('id_Year:',0,dcol);
	showHideLayer('id_Title:',0,dcol);
	showHideLayer('id_Volume:',0,dcol);
	showHideLayer('id_Pages:',0,dcol);
	showHideLayer('id_Project Aim:<br><br>(multiple select allowed)',0,dcol);
	
	//Expression p2
	showHideLayer('id_Protein Expression<br>and Production:',0,dcol);
	showHideLayer('id_Expression Host:',0,dcol);
	showHideLayer('id_Expression Strain:',0,dcol);
	showHideLayer('id_Expression Vector:',0,dcol);
	showHideLayer('id_Method of Induction:',0,dcol);
	showHideLayer('id_Expression Temperature (°C):',0,dcol);
	showHideLayer('id_Expression Time:',0,dcol);
	showHideLayer('id_Cell Disruption Method:',0,dcol);
	showHideLayer('id_Lytic Agent:',0,dcol);
	showHideLayer('id_Solubility:',0,dcol);
	showHideLayer('id_Expression Protocol:',0,dcol);
	
	//Refolding p1
	showHideLayer('id_Refolding Method:',0,dcol);
	showHideLayer('id_Wash Buffer:',0,dcol);
	showHideLayer('id_Solubilization Buffer:',0,dcol);
	showHideLayer('id_Refolding Buffer:',0,dcol);
	showHideLayer('id_Pre-refolding Purification:',0,dcol);
	showHideLayer('id_Tag Cleaved:',0,dcol);
	showHideLayer('id_Refolding pH:',0,dcol);
	showHideLayer('id_Refolding Temperature (°C):',0,dcol);
	showHideLayer('id_Refolding Time:',0,dcol);
	showHideLayer('id_Molecular Chaperones:<br><br>(multiple select allowed)',0,dcol);
	
	//Refolding p2
	showHideLayer('id_Refolding Additives/Chemical Chaperones:<br><br>(multiple select allowed)',0,dcol);
	showHideLayer('id_Redox Agent:',0,dcol);
	showHideLayer('id_Post-refolding Analysis:<br><br>(multiple select allowed)',0,dcol);
	
}

function scop_chk()
{
	var form = document.Refolding001;
	form.chkScopFamily.checked = true;
	scrLayer('scr1_b');
}

function scrLayer(layerName)
{
	
	//var saveProcStr = "While you are entering data, every time you click 'Save and Proceed', the new data that you have entered will be saved to memory. If you are interrupted half-way through entering your data and wish to access the unfinished entry, you can select the 'Load Saved Refolding Record' option in the Deposit Data menu next time you log in. NOTE: You can only save one partially complete entry at a time, the record retrieved will be the most recently saved entry.";

	var saveProcStr = "Go to the next step ";
	var form = document.Refolding001;
	var i;
	var acol = '#32cd32';
		
	if (layerName == "scr1")
		i = 1;
	else if (layerName == "scr2")
		i = 2;
	else if (layerName == "scr3")
		i = 3;
	else if (layerName == "scr3_a")
		i = 4;
	else if (layerName == "scr4")
		i = 5;
	else if (layerName == "scr4_a")
		i = 6;
	else
		i = form.txthidstep.value;
	
	if (layerName == "next")
	{
		if (i < 8)
			i++;
	}
	else if (layerName == "back")
		i--;
		
	form.txthidstep.value = i;
	
	hideLayers();
	resetColor();
	
	if (i == 1)
	{
		showHideLayer('scr1',0,"");
		showHideLayer('br1_scr1',0,"");
		
		if (document.getElementById('h_pro').style.color != "red")
			showHideLayer('h_pro',0,acol);
			
		showHideLayer('s1_p1',0,acol);	
		
		form.cmdback1.disabled = true;
		form.cmdback1.value = "Back";
		//form.cmdnext1.value = "Save & Proceed";
		form.cmdnext1.value = "Proceed";;
		form.cmdnext1.title = saveProcStr;
		
		form.cmdback2.disabled = true;
		form.cmdback2.value = "Back";
		//form.cmdnext2.value = "Save & Proceed";
		form.cmdnext2.value = "Proceed";;
		form.cmdnext2.title = saveProcStr;
	}
	else if (i == 2)
	{
		showHideLayer('scr2',0,"");
		showHideLayer('br2_scr1',0,"");
		
		if (document.getElementById('h_con').style.color != "red")
			showHideLayer('h_con',0,acol);
			
		showHideLayer('s2_p1',0,acol);
		
		if (form.chkDomainOnly.checked == 1 ||
			form.chkChimericProtein.checked == 1 ||
			form.chkVariant.checked == 1)
			form.chkFullLength.checked = false;
		else
			form.chkFullLength.checked = true;
		
		form.cmdback1.disabled = false;
		form.cmdback1.value = "Back";
		//form.cmdnext1.value = "Save & Proceed";
		form.cmdnext1.value = "Proceed";;
		form.cmdnext1.title = saveProcStr;
		
		form.cmdback2.disabled = false;
		form.cmdback2.value = "Back";
		//form.cmdnext2.value = "Save & Proceed";
		form.cmdnext2.value = "Proceed";;
		form.cmdnext2.title = saveProcStr;
	}
	else if (i == 3)
	{	
		showHideLayer('scr3',0,"");
		showHideLayer('br3_scr1',0,"");
		
		if (document.getElementById('h_exp').style.color != "red")
			showHideLayer('h_exp',0,acol);
			
		showHideLayer('s3_p1',0,acol);
		
		form.cmdback1.disabled = false;
		form.cmdback1.value = "Back";
		//form.cmdnext1.value = "Save & Proceed";
		form.cmdnext1.value = "Proceed";;
		form.cmdnext1.title = saveProcStr;
		
		form.cmdback2.disabled = false;
		form.cmdback2.value = "Back";
		//form.cmdnext2.value = "Save & Proceed";
		form.cmdnext2.value = "Proceed";;
		form.cmdnext2.title = saveProcStr;
	}
	else if (i == 4)
	{	
		showHideLayer('scr3_a',0,"");
		showHideLayer('br3_scr2',0,"");
		
		if (document.getElementById('h_exp').style.color != "red")
			showHideLayer('h_exp',0,acol);
			
		showHideLayer('s3_p2',0,acol);
		
		/*
		if (form.chkProteinExpressed.checked == 1 || form.chkPolypeptideSynthesized.checked == 1)
		{
			form.chkPurifiedUnder.checked = false; 
		}
		else
			form.chkPurifiedUnder.checked = true; 
		*/
		
		showHideLayer('div_Exp_Pro',0,"");
		
		form.cmdback1.disabled = false;
		form.cmdback1.value = "Back";
		//form.cmdnext1.value = "Save & Proceed";
		form.cmdnext1.value = "Proceed";;
		form.cmdnext1.title = saveProcStr;
		
		form.cmdback2.disabled = false;
		form.cmdback2.value = "Back";
		//form.cmdnext2.value = "Save & Proceed";
		form.cmdnext2.value = "Proceed";;
		form.cmdnext2.title = saveProcStr;
	}
	else if (i == 5)
	{	
		showHideLayer('scr4',0,"");
		showHideLayer('br4_scr1',0,"");
		
		if (document.getElementById('h_ref').style.color != "red")
			showHideLayer('h_ref',0,acol);
			
		showHideLayer('s4_p1',0,acol);
		
		form.cmdback1.disabled = false;
		form.cmdback1.value = "Back";
		//form.cmdnext1.value = "Save & Proceed";
		form.cmdnext1.value = "Proceed";;
		form.cmdnext1.title = saveProcStr;
		
		form.cmdback2.disabled = false;
		form.cmdback2.value = "Back";
		//form.cmdnext2.value = "Save & Proceed";
		form.cmdnext2.value = "Proceed";;
		form.cmdnext2.title = saveProcStr;
	}
	else if (i == 6 || i == 7)
	{
		showHideLayer('scr4_a',0,"");
		showHideLayer('br4_scr2',0,"");
		
		if (document.getElementById('h_ref').style.color != "red")
			showHideLayer('h_ref',0,acol);
			
		showHideLayer('s4_p2',0,acol);
		
		form.cmdback1.disabled = false;
		form.cmdback1.value = "Back";
		form.cmdnext1.value = "Submit Data and Finish";
		form.cmdnext1.title = "Data will be submitted after the validation step";
		
		form.cmdback2.disabled = false;
		form.cmdback2.value = "Back";
		form.cmdnext2.value = "Submit Data and Finish";
		form.cmdnext2.title = "Data will be submitted after the validation step";
		
		if (i == 7)
			val_form();
	}
}

function val_form_set_ferr_col(layer)
{
	var ecol = 'red';
	
	document.getElementById(layer).style.color = ecol;
}

function val_form()
{
	var form = document.Refolding001;
	
	var frmobj_pros = new Array(
							form.protein_id.value,
							form.txtProteinName.value,
							form.txtAbbProteinName.value,
							form.family_id.value,
							form.txtScopFamily.value,
							form.scop_class.value,
							form.species_id.value,
							form.txtOrganism.value,
							form.txtUniproId.value,
							form.structure_solved.value);
							
	var frmobj_cons = new Array(
							form.fusion_id.value,
							form.txtFusionTag.value,
							form.txtSequenceNotes.value,
							form.txtChainLength.value,
							form.txtMolecularWeight.value,
							form.txtPi.value,
							form.oligo_state_id.value,
							form.disulphides_id.value);
								
	var frmobj_exp_p1 = new Array(
							form.report_id.value,
							form.journal_id.value,
							form.txtJournal.value,
							form.txtPubAuthor.value,
							form.txtPubYear.value,
							form.txtPubTitle.value,
							form.txtPubVolume.value,
							form.txtPubPages.value,
							form.project_aim_id.value,
							form.txtProjectAim.value);
							
	var frmobj_exp_p2 = new Array(
							form.txtExpressionHost.value,
							form.txtExpressionStrain.value,
							form.txtExpressionVector.value,
							form.method_induction_id.value,
							form.txtMethodInduction.value,
							form.txtExpTemp.value,
							form.cell_disrupt_method_id.value,
							form.txtCellDisruption.value,
							form.lytic_agent_id.value,
							form.txtLyticAgent.value,
							form.solubility.value,
							form.txtExpressionProtocol.value);
							
	var frmobj_ref_p1 = new Array(
							form.ref_technique_id.value,
							form.txtRefoldingMethod.value,
							form.txtwash_buffer.value,
							form.txtsolubilization_buffer.value,
							form.txtrefolding_buffer.value,
							form.pre_purification_id.value,
							form.txtPre_refolding_Purification.value,
							form.tag_cleaved.value,
							form.txtrefolding_ph.value,
							form.txtrefolding_temp.value,
							form.txtrefolding_time.value,
							form.chaperones_id.value,
							form.txtMolecular_Chaperones.value);
							
	var frmobj_ref_p2 = new Array(
							form.additive_id.value,
							form.txtRefolding_Additives.value,
							form.redox_agent_id.value,
							form.txtRedox_Agent.value,
							form.assay_id.value,
							form.txtpost_refolding.value);
	
	var frmobj_pros_error = 0;
	var frmobj_cons_error = 0;
	var frmobj_exp_p1_error = 0;
	var frmobj_exp_p2_error = 0;
	var frmobj_ref_p1_error = 0;
	var frmobj_ref_p2_error = 0;
	
	var totErr = 0;
	var fld;
	var fld_x;
	var fld_y;
	var fld_z;
	var fld_n;
	var fld_m;
	
	var ecol = 'red'; //error-color
	var dcol = '#003399'; //default-color
	
	resetfldColor();
	
	
	for (i = 0; i < frmobj_pros.length; i++) //Protein
	{
		if (frmobj_pros[i] == "" || frmobj_pros[i] == "-1")
		{
			fld = frmobj_pros[i];
			
			if (form.chkProtein.checked == 1) //Protein Name
			{
				if (fld == "" && i == 1 || fld == "" && i == 2)
				{
					if (fld == "" && i == 1)
					{
						val_form_set_ferr_col('id_New Protein Name:');
						frmobj_pros_error++;
					}
					else if (fld == "" && i == 2)
					{
						val_form_set_ferr_col('id_Abbreviated Protein Name:');
						frmobj_pros_error++;
					}
				}
				
				if (form.chkScopFamily.checked == 1) //SCOP FAMILY
				{
					if (fld == "" && i == 4)
					{
						val_form_set_ferr_col('id_New SCOP Family:');
						frmobj_pros_error++;
					}
					
					if (fld == "-1" && i == 5)
					{
						val_form_set_ferr_col('id_SCOP Class:');
						frmobj_pros_error++;
					}
				}
				else
				{
					if (fld == "-1" && i == 3)
					{
						val_form_set_ferr_col('id_SCOP Family:');
						frmobj_pros_error++;
					}
				} //END OF SCOP FAMILY
			}
			else
			{
				if (fld == "-1" && i == 0)
				{
					val_form_set_ferr_col('id_Protein Name:');
					frmobj_pros_error++;
				}
			} //End of Protein Name
			
			if (form.chkOrganism.checked == 1) //Organism
			{
				if (fld == "" && i == 7)
				{
					val_form_set_ferr_col('id_Organism:');
					frmobj_pros_error++;
				}
			}
			else
			{
				if (fld == "-1" && i == 6)
				{
					val_form_set_ferr_col('id_Organism:');
					frmobj_pros_error++;
				}
			} //End of Organism
			
			if (fld == "" && i == 8) //UniProtID
			{
				//val_form_set_ferr_col('id_UniProtID:');
				//frmobj_pros_error++;
			}			
			
			if (fld == "-1" && i == 8) //Structure Solved
			{
				val_form_set_ferr_col('id_Structure Solved:');
				frmobj_pros_error++;
			}
		}
	} //End of Protein
	
	//alert("loop time" + frmobj_cons.length);
	for (x = 0; x < frmobj_cons.length; x++) //Construct
	{
		if (frmobj_cons[x] == "" || frmobj_cons[x] == "-1")
		{
			fld_x = frmobj_cons[x];
			
			if (form.chkFusionTag.checked == 1)
			{
				if (fld_x == "" && x == 1)
				{
					val_form_set_ferr_col('id_Fusion Tag:');
					frmobj_cons_error++;
				}
			}
			else
			{
				if (fld_x == "-1" && x == 0)
				{
					val_form_set_ferr_col('id_Fusion Tag:');
					frmobj_cons_error++;
				}
			}
			
			if (fld_x == "" && x == 2)
			{
				val_form_set_ferr_col('id_Full Sequence of<br>Protein Construct Refolded:<br><br><font color = #777777 size = -6><em>eg, AGVDN</em><br>(please remove carriage returns from your sequence text)<br></font>');
				frmobj_cons_error++;
				//alert("after fullseq");
			}
			
			if (fld_x == "" && x == 3)
			{
				val_form_set_ferr_col('id_Chain Length:<br><br><font color = #777777 size = -6>Derived automatically <br>from sequence<br></font>');
				frmobj_cons_error++;
				//alert("after chain");
			}
			
			if (fld_x == "" && x == 4)
			{
				val_form_set_ferr_col('id_Molecular Weight (Da):<br><br><font color = #777777 size = -6><a href = \"http://au.expasy.org/tools/protparam.html\" target = _new title = \"Algorithm information\">Calculated</a> automatically <br>from sequence<br></font>');
				frmobj_cons_error++;
				//alert("after mw");
			}
			
			if (fld_x == "" && x == 5)
			{
				val_form_set_ferr_col('id_pI:<br><br><font color = #777777 size = -6><a href = \"http://au.expasy.org/tools/protparam.html\" target = _new title = \"Algorithm information\">Calculated</a> automatically <br>from sequence<br></font>');
				frmobj_cons_error++;
				//alert("after pi");
			}
			
			
			
			/*if (fld_x == "-1" && x == 6)
			{
				val_form_set_ferr_col('id_Molecularity:');
				frmobj_cons_error++;
			}*/
			
			if (fld_x == "-1" && x == 7)
			{
				val_form_set_ferr_col('id_Disulfides:');
				frmobj_cons_error++;
			}
		}
		//alert("after after if");
	}
	//alert("after loop");
	
	if (form.chkDomainOnly.checked == 1 || form.chkChimericProtein.checked == 1 || form.chkVariant.checked == 1)
	{
		val_form_set_ferr_col('id_Construct:<br>(full description)');
		if (form.chkDomainOnly.checked == 1)
		{
			if (form.txtDomainOnly.value == "")
				frmobj_cons_error++;
		}
		
		if (form.chkChimericProtein.checked == 1)
		{
			if (form.txtChimericProtein.value == "")
				frmobj_cons_error++;
		}
		
		if (form.chkVariant.checked == 1)
		{
			if (form.txtVariant.value == "")
				frmobj_cons_error++;
		}
	}//End of Construct
	
	for (y = 0; y < frmobj_exp_p1.length; y++) //Expression p1
	{
		if (frmobj_exp_p1[y] == "" || frmobj_exp_p1[y] == "-1")
		{
			fld_y = frmobj_exp_p1[y];
			
			if (form.chkPublication.checked == 1)
			{
				if (form.chkJournal.checked == 1)
				{
					if (fld_y == "" && y == 2)
					{
						val_form_set_ferr_col('id_Journal:');
						frmobj_exp_p1_error++;
					}
				}
				else
				{
					if (fld_y == "-1" && y == 1)
					{
						val_form_set_ferr_col('id_Journal:');
						frmobj_exp_p1_error++;
					}
				}
				
				if (fld_y == "" && y == 3)
				{
					val_form_set_ferr_col('id_Author:');
					frmobj_exp_p1_error++;
				}
				
				if (fld_y == "" && y == 4)
				{
					val_form_set_ferr_col('id_Year:');
					frmobj_exp_p1_error++;
				}
				
				if (fld_y == "" && y == 5)
				{
					val_form_set_ferr_col('id_Title:');
					frmobj_exp_p1_error++;
				}
				
				if (fld_y == "" && y == 6)
				{
					val_form_set_ferr_col('id_Volume:');
					frmobj_exp_p1_error++;
				}
				
				if (fld_y == "" && y == 7)
				{
					val_form_set_ferr_col('id_Pages:');
					frmobj_exp_p1_error++;
				}
			}
			else
			{
				if (fld_y == "-1" && y == 0)
				{
					//val_form_set_ferr_col('id_Publication:');
					//frmobj_exp_p1_error++; steve
				}
			}
			
			if (form.chkProjectAim.checked == 1)
			{
				if (fld_y == "" && y == 9)
				{
					val_form_set_ferr_col('id_Project Aim:<br><br>(multiple select allowed)');
					frmobj_exp_p1_error++;
				}
			}
			else
			{
				if (fld_y == "" && y == 8)
				{
					val_form_set_ferr_col('id_Project Aim:<br><br>(multiple select allowed)');
					frmobj_exp_p1_error++;
				}
			}
		}
	}//End of Expression p1
	
	//Expression p2
	
	if (form.chkProteinExpressed.checked == 0 &&
		form.chkPolypeptideSynthesized.checked == 0 &&
		form.chkPurifiedUnder.checked == 0)
		{
			val_form_set_ferr_col('id_Protein Expression<br>and Production:');
			frmobj_exp_p2_error++;
		}
	
	if (form.chkPurifiedUnder.checked)
	{
		for (z = 0; z < frmobj_exp_p2.length; z++) 
		{
			if (frmobj_exp_p2[z] == "" || frmobj_exp_p2[z] == "-1")
			{
				fld_z = frmobj_exp_p2[z];
				
				if (fld_z == "" && z == 0)
				{
					val_form_set_ferr_col('id_Expression Host:');
					frmobj_exp_p2_error++;
				}
				
				if (fld_z == "" && z == 1)
				{
					val_form_set_ferr_col('id_Expression Strain:');
					frmobj_exp_p2_error++;
				}
				
				if (fld_z == "" && z == 2)
				{
					val_form_set_ferr_col('id_Expression Vector:');
					frmobj_exp_p2_error++;
				}
				
				if (form.chkMethodInduction.checked == 1)
				{
					if (fld_z == "" && z == 4)
					{
						val_form_set_ferr_col('id_Method of Induction:');
						frmobj_exp_p2_error++;
					}
				}
				else
				{
					if (fld_z == "-1" && z == 3)
					{
						val_form_set_ferr_col('id_Method of Induction:');
						frmobj_exp_p2_error++;
					}
				}
				
				if (fld_z == "" && z == 5)
				{
					val_form_set_ferr_col('id_Expression Temperature (°C):');
					frmobj_exp_p2_error++;
				}
				
				if (form.chkCellDisruption.checked == 1)
				{
					if (fld_z == "" && z == 8)
					{
						val_form_set_ferr_col('id_Cell Disruption Method:');
						frmobj_exp_p2_error++;
					}
				}
				else
				{
					if (fld_z == "-1" && z == 7)
					{
						val_form_set_ferr_col('id_Cell Disruption Method:');
						frmobj_exp_p2_error++;
					}
				}
				
				if (form.chkLyticAgent.checked == 1)
				{
					if (fld_z == "" && z == 10)
					{
						val_form_set_ferr_col('id_Lytic Agent:');
						frmobj_exp_p2_error++;
					}
				}
				else
				{
					if (fld_z == "-1" && z == 9)
					{
						val_form_set_ferr_col('id_Lytic Agent:');
						frmobj_exp_p2_error++;
					}
				}
				
				if (fld_z == "-1" && z == 11)
				{
					val_form_set_ferr_col('id_Solubility:');
					frmobj_exp_p2_error++;
				}
				
				if (fld_z == "" && z == 12)
				{
					val_form_set_ferr_col('id_Expression Protocol:');
					frmobj_exp_p2_error++;
				}
			}
		}
	}//End of Expression p2
	
	for (n = 0; n < frmobj_ref_p1.length; n++) //Refolding p1
	{
		if (frmobj_ref_p1[n] == "" || frmobj_ref_p1[n] == "-1")
		{
			fld_n = frmobj_ref_p1[n];
			
			if (form.chkRefoldingMethod.checked == 1)
			{
				if (fld_n == "" && n == 1)
				{
					val_form_set_ferr_col('id_Refolding Method:');
					frmobj_ref_p1_error++;
				}
			}
			else
			{
				if (fld_n == "-1" && n == 0)
				{
					val_form_set_ferr_col('id_Refolding Method:');
					frmobj_ref_p1_error++;
				}
			}
			
			if (fld_n == "" && n == 2)
			{
				val_form_set_ferr_col('id_Wash Buffer:');
				frmobj_ref_p1_error++;
			}
			
			if (fld_n == "" && n == 3)
			{
				val_form_set_ferr_col('id_Solubilization Buffer:');
				frmobj_ref_p1_error++;
			}
			
			if (fld_n == "" && n == 4)
			{
				val_form_set_ferr_col('id_Refolding Buffer:');
				frmobj_ref_p1_error++;
			}
			
			if (form.chkPre_refoldingPurification.checked == 1)
			{
				if (fld_n == "" && n == 6)
				{
					val_form_set_ferr_col('id_Pre-refolding Purification:');
					frmobj_ref_p1_error++;
				}
			}
			else
			{
				if (fld_n == "-1" && n == 5)
				{
					val_form_set_ferr_col('id_Pre-refolding Purification:');
					frmobj_ref_p1_error++;
				}
			}
			
			if (fld_n == "-1" && n == 7)
			{
				val_form_set_ferr_col('id_Tag Cleaved:');
				frmobj_ref_p1_error++;
			}
			
			
			if (fld_n == "" && n == 8)
			{
				//alert("Update");
				val_form_set_ferr_col('id_Refolding pH:');
				frmobj_ref_p1_error++;
			}
			
			if (fld_n == "" && n == 9)
			{
				val_form_set_ferr_col('id_Refolding Temperature (°C):');
				frmobj_ref_p1_error++;
			}
			
			/*
			if (fld_n == "" && n == 10)
			{
				val_form_set_ferr_col('id_Refolding Time:');
				frmobj_ref_p1_error++;
			}
			*/
			
			if (form.chkMolecular_Chaperones.checked == 1)
			{
				if (fld_n == "" && n == 12)
				{
					val_form_set_ferr_col('id_Molecular Chaperones:<br><br>(multiple select allowed)');
					frmobj_ref_p1_error++;
				}
			}
			else
			{
				if (fld_n == "" && n == 11)
				{
					val_form_set_ferr_col('id_Molecular Chaperones:<br><br>(multiple select allowed)');
					frmobj_ref_p1_error++;
				}
			}
		}
	}//End of Refolding p1
	
	for (m = 0; m < frmobj_ref_p2.length; m++) //Refolding p2
	{
		if (frmobj_ref_p2[m] == "" || frmobj_ref_p2[m] == "-1")
		{
			fld_m = frmobj_ref_p2[m];
			
			if (form.chkRefolding_Additives.checked == 1)
			{
				if (fld_m == "" && m == 1)
				{
					val_form_set_ferr_col('id_Refolding Additives/Chemical Chaperones:<br><br>(multiple select allowed)');
					frmobj_ref_p2_error++;
				}
			}
			else
			{
				if (fld_m == "" && m == 0)
				{
					val_form_set_ferr_col('id_Refolding Additives/Chemical Chaperones:<br><br>(multiple select allowed)');
					frmobj_ref_p2_error++;
				}
			}
			
			if (form.chkRedox_Agent.checked == 1)
			{
				if (fld_m == "" && m == 3)
				{
					val_form_set_ferr_col('id_Redox Agent:');
					frmobj_ref_p2_error++;
				}
			}
			else
			{
				if (fld_m == "-1" && m == 2)
				{
					val_form_set_ferr_col('id_Redox Agent:');
					frmobj_ref_p2_error++;
				}
			}
			
			if (form.chkpost_refolding.checked == 1)
			{
				if (fld_m == "" && m == 5)
				{
					val_form_set_ferr_col('id_Post-refolding Analysis:<br><br>(multiple select allowed)');
					frmobj_ref_p2_error++;
				}
			}
			else
			{
				if (fld_m == "" && m == 4)
				{
					val_form_set_ferr_col('id_Post-refolding Analysis:<br><br>(multiple select allowed)');
					frmobj_ref_p2_error++;
				}
			}
		}
	}//End of Refolding p2
	
	totErr = Number(frmobj_pros_error) + 
			Number(frmobj_cons_error) + 
			Number(frmobj_exp_p1_error) + 
			Number(frmobj_exp_p2_error) + 
			Number(frmobj_ref_p1_error) + 
			Number(frmobj_ref_p2_error);
	
	if (totErr > 0)
	{
		var message = "\nPlease go back and rectify the errors (in red)";
		if (totErr == 1)
			alert ("You have "+ totErr +" error" + message);
		else
			alert ("You have "+ totErr +" errors" + message);
		
		resetColor();

		if (Number(frmobj_pros_error) > 0)
		{
			scrLayer("scr1");
			showHideLayer('h_pro',0,ecol);
			showHideLayer('s1_p1',0,ecol);	
		}
		else if (Number(frmobj_cons_error) > 0)
		{
			scrLayer("scr2");
			showHideLayer('h_con',0,ecol);
			showHideLayer('s2_p1',0,ecol);
		}
		else if (Number(frmobj_exp_p1_error) > 0 || Number(frmobj_exp_p2_error) > 0)
		{
			if (Number(frmobj_exp_p1_error) > 0)
			{
				scrLayer("scr3");
				showHideLayer('h_exp',0,ecol);
				showHideLayer('s3_p1',0,ecol);
			}
			else
			{
				scrLayer("scr3_a");
				showHideLayer('h_exp',0,ecol);
				showHideLayer('s3_p2',0,ecol);
			}
		}
		else if (Number(frmobj_ref_p1_error) > 0 || Number(frmobj_ref_p2_error) > 0)
		{
			if (Number(frmobj_ref_p1_error) > 0)
			{
				scrLayer("scr4");
				showHideLayer('h_ref',0,ecol);
				showHideLayer('s4_p1',0,ecol);
			}
			else
			{
				scrLayer("scr4_a");
				showHideLayer('h_ref',0,ecol);
				showHideLayer('s4_p2',0,ecol);
			}
		}
		
		if (Number(frmobj_pros_error) > 0)
			showHideLayer('h_pro',0,ecol);
		else
			showHideLayer('h_pro',0,dcol);
			
		if (Number(frmobj_cons_error) > 0)
			showHideLayer('h_con',0,ecol);
		else
			showHideLayer('h_con',0,dcol);
		
		if (Number(frmobj_exp_p1_error) > 0 || Number(frmobj_exp_p2_error) > 0)
			showHideLayer('h_exp',0,ecol);
		else
			showHideLayer('h_exp',0,dcol);
		
		if (Number(frmobj_ref_p1_error) > 0 || Number(frmobj_ref_p2_error) > 0)
			showHideLayer('h_ref',0,ecol);
		else
			showHideLayer('h_ref',0,dcol);
	}
	else
	{
		showHideLayer('h_pro',0,dcol);
		showHideLayer('h_con',0,dcol);
		showHideLayer('h_exp',0,dcol);
		showHideLayer('h_ref',0,dcol);
	
		form.submit();
	}
}//end of Huan Nguyen's works

function initPage()
{
	if(navigator.appName == "Konqueror"){
		document.all.tblBody.style.height="";
	}else if (navigator.appName == "Microsoft Internet Explorer"){
		document.all.tblBody.style.height="100%";
		
	}else{
		document.all.tblBody.style.height="100%";
	}
}

function showHideObject(theObject){
	// Author: Thushan Fernando
	// Date: 14/10/2004
	// Version: 1.0.0
	// Purpose: 
	//			Generic wrapper to hide and show layers
	
	var objLayer = document.getElementById(theObject);
	
	if(objLayer != null)
		if(objLayer.style.display == 'none')
			objLayer.style.display = '';
		else
			objLayer.style.display = 'none';
	
}

function showNewPWD(theObject, theCaller, hiddenMsg, visibleMsg, theHiddenObject){
	// Author: Thushan Fernando
	// Date: 14/10/2004
	// Version: 1.0.0
	// Purpose: 
	//			Configures new password in the user profile page.
	var objLayer = document.getElementById(theObject);
	var objHiddenPWD = document.getElementById(theHiddenObject);
	var objCaller = document.getElementById(theCaller);
	showHideObjectWithMSG(theObject, theCaller, hiddenMsg, visibleMsg);
	if(objLayer.style.display == 'none'){
		objHiddenPWD.value = "false"
		objCaller.title = "Click here to change the password for your account safely.";
	}else{
		objHiddenPWD.value = "true"
		objCaller.title = "Click here to discard the new password settings you have specified.";
	}
}

function showHideObjectWithMSG(theObject, theCaller, hiddenMsg, visibleMsg){
	// Author: Thushan Fernando
	// Date: 14/10/2004
	// Version: 1.0.0
	// Purpose: 
	//			Generic wrapper to hide and show layers with a message to appaer within tags
	var objLayer = document.getElementById(theObject);
	var objCaller = document.getElementById(theCaller);
	showHideObject(theObject);
	if(objLayer.style.display == 'none')
		objCaller.innerHTML=hiddenMsg;
	else
		objCaller.innerHTML=visibleMsg;
		
}

function selectAllCheckboxes(the_form) {
    for (var i = 0; i < the_form.elements.length; i++) {
        if (the_form.elements[i].name != 'select_all' && the_form.elements[i].type == 'checkbox') {
            the_form.elements[i].checked = the_form.select_all.checked;
        }
    }
}

function confirmMessage(msg, url) {
	// Author: Thushan Fernando
	// Date: 14/10/2004
	// Version: 1.0.0
	// Purpose: 
	//			Generic wrapper for a confirmation box
	ht = document.getElementsByTagName("html");
	ht[0].style.filter = "progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)";
	if (confirm(msg)) {
		location.href = url;
		return true;
	} else {		
		ht[0].style.filter = "";
		return false;
	}
} 

function showHideField (layerName) {
	form = document.Refolding001;
	if (layerName == "EID_refolding_method")
		fieldItem = form.addnew_refolding_method.checked;
	else if (layerName == "EID_pre_purification")
		fieldItem = form.addnew_pre_purification.checked;
	else if (layerName == "EID_cell_disrupt_method")
		fieldItem = form.addnew_cell_disrupt_method.checked;
	else if (layerName == "EID_redox_agent")
		fieldItem = form.addnew_redox_agent.checked;
	else if (layerName == "EID_project_aim")
		fieldItem = form.addnew_project_aim.checked;
	else if (layerName == "EID_fusion_tag")
		fieldItem = form.addnew_fusion_tag.checked;
	else if (layerName == "EID_method_of_induction") 
		fieldItem = form.addnew_method_of_induction.checked;
	else if (layerName == "EID_lytic_agent") 
		fieldItem = form.addnew_lytic_agent.checked;
	else if (layerName == "EID_report")
		fieldItem = form.addnew_report.checked;
	else if (layerName == "EID_assay")
		fieldItem = form.addnew_assay.checked;
	else if (layerName == "EID_species")
		fieldItem = form.addnew_species.checked;
	else if (layerName == "EID_protein")
		fieldItem = form.addnew_protein.checked;
	else if (layerName == "EID_denaturing")
		fieldItem = form.addnew_denaturing.checked;
	else if (layerName == "EID_family")
		fieldItem = form.addnew_family.checked;
	else if (layerName == "EID_journal")
		fieldItem = form.addnew_journal.checked; 
	else if (layerName == "EID_pre_refolding_purification")
		fieldItem = form.addnew_pre_refolding_purification.checked; 
	else if (layerName == "EID_refolding_additives")
		fieldItem = form.addnew_refolding_additives.checked; 
	else if (layerName == "EID_refolding_analysis")
		fieldItem = form.addnew_refolding_analysis.checked; 
	else if (layerName == "EID_organism")
		fieldItem = form.addnew_organism.checked; 
	else if (layerName == "EID_domain_only")
	{
		form.full_length.checked = false;
		fieldItem = form.addnew_domain_only.checked; 
	}
	else if (layerName == "EID_chimeric_protein")
	{
		form.full_length.checked = false;
		fieldItem = form.addnew_chimeric_protein.checked; 
	}
	else if (layerName == "EID_variant")
	{
		form.full_length.checked = false;
		fieldItem = form.addnew_variant.checked; 
	}
	else if (layerName == "EID_expression_host")
	{
		form.exp_dena.checked = false;
		form.exp_pro.checked = false;
		fieldItem = form.addnew_expression_host.checked; 
	}
	else if (layerName == "EID_molecular_chaperones")
		fieldItem = form.addnew_molecular_chaperones.checked; 
	else if (layerName == "EID_part_1")
	{
		fieldItem = form.addnew_part_1.checked; 
		validate_form();
	}
	else if (layerName == "EID_part_2")
	{
		fieldItem = form.addnew_part_2.checked; 
		validate_form();
	}
	else if (layerName == "EID_part_3")
	{
		fieldItem = form.addnew_part_3.checked; 
		validate_form();
	}
	else if (layerName == "EID_part_4")
	{
		fieldItem = form.addnew_part_4.checked; 
		validate_form();
	}
		
	if (fieldItem == 1) {
		document.getElementById(layerName).style.display = '';
	} else {
		document.getElementById(layerName).style.display = 'none';
	}
} // END ============= showHideField (layerName)

function confirmDelete (url) {
	if (confirm('Are you sure want to delete this record?')) {
		location.href = url;
		return true;
	} else {
		return false;
	}
} // END ============= confirmDelete (url)


function checkEmpty (form, fieldName) {

	switch (fieldName) {
		case "species":
			if (trimString(form.common_name.value) == "") {
				alert("Please enter common name before submission.");
				form.species.focus();
				return false;
			} 
			if (trimString(form.scientific_name.value) == "") {
				alert("Please enter scientific name before submission.");
				form.species.focus();
				return false;
			} 
			return true;
			break;
			
		case "lytic_agent":
			if (trimString(form.lytic_agent.value) == "") {
				alert("Please enter Lytic Agent before submission.");
				form.lytic_agent.focus();
				return false;
			} 
			return true;
			break;
		case "ref_technique":
			if (trimString(form.ref_technique.value) == "") {
				alert("Please enter refolding technique before submission.");
				form.ref_technique.focus();
				return false;
			} 
			return true;
			break;
			
		case "pre_purification":
			if (trimString(form.pre_purification.value) == "") {
				alert("Please enter pre purification before submission.");
				form.pre_purification.focus();
				return false;
			} 
			return true;
			break;
		
		case "cell_disrupt_method":
			if (trimString(form.cell_disrupt_method.value) == "") {
				alert("Please enter cell disrupt method before submission.");
				form.cell_disrupt_method.focus();
				return false;
			} 
			return true;
			break;
		
		case "redox_agent":
			if (trimString(form.redox_agent.value) == "") {
				alert("Please enter redox agent before submission.");
				form.redox_agent.focus();
				return false;
			} 
			return true;
			break;
		
		case "fusion":
			if (trimString(form.fusion.value) == "") {
				alert("Please enter fusion before submission.");
				form.fusion.focus();
				return false;
			} 
			return true;
			break;
		
		case "journal":
			if (trimString(form.journal.value) == "") {
				alert("Please enter journal before submission.");
				form.journal.focus();
				return false;
			} 
			return true;
			break;
		
		case "assay":
			if (trimString(form.assay.value) == "") {
				alert("Please enter assay before submission.");
				form.assay.focus();
				return false;
			} 
			return true;
			break;
			
		case "family":
			if (trimString(form.family.value) == "") {
				alert("Please enter Family before submission.");
				form.family.focus();
				return false;
			} 
			return true;
			break;
		
		case "report": 
	        if (trimString(form.authors.value) == "") { 
	                alert("Please enter authors before submission."); 
	                form.authors.focus(); 
	                return false; 
	        } 
	        if (trimString(form.year.value) == "") { 
	                alert("Please enter year before submission."); 
	                form.year.focus(); 
	                return false; 
	        } 
	        if (trimString(form.title.value) == "") { 
	                alert("Please enter title before submission."); 
	                form.title.focus(); 
	                return false; 
	        } 
	        if (trimString(form.volume.value) == "") { 
	                alert("Please enter volume before submission."); 
	                form.volume.focus(); 
	                return false; 
	        } 
	        if (trimString(form.pages.value) == "") { 
	                alert("Please enter pages before submission."); 
	                form.pages.focus(); 
	                return false; 
	        } 
	        return true; 
	        break; 
		                 
		case "protein": 
	        if (trimString(form.protein_id.value) == "" || form.protein_id.value < -1) { 
	                alert("Please select a protein before submission."); 
	                form.protein_id.focus(); 
	                return false; 
	        } 
	        if (trimString(form.family_id.value) == "" ||  form.family_id.value < -1) { 
	                alert("Please select a family before submission."); 
	                form.family_id.focus(); 
	                return false; 
	        }
	        if (trimString(form.name.value) == "") { 
	                alert("Please enter name before submission."); 
	                form.name.focus(); 
	                return false; 
	        } 
	        if (trimString(form.name_short.value) == "" || form.protein_name_short.value < -1) { 
	                alert("Please enter name short  before submission."); 
	                form.name_short.focus(); 
	                return false; 
	        } 
	        if (trimString(form.disulphides_id.value) == "" || form.disulphides_id.value < -1) { 
	                alert("Please select a disulphides before submission."); 
	                form.disulphides_id.focus(); 
	                return false; 
	        } 
	        if (trimString(form.oligo_state_id.value) == "") { //  || form.oligo_state_id.value < -1 -- bye bye validation
	                alert("Please select a oligo state before submission."); 
	                form.oligo_state_id.focus(); 
	                return false; 
	        } 
	        if (trimString(form.structure_solved.value) == "") { 
	                alert("Please enter structure solved before submission."); 
	                form.structure_solved.focus(); 
	                return false; 
	        }
	        if (trimString(form.mol_wt.value) == "") { 
	                alert("Please enter mol weight before submission."); 
	                form.mol_wt.focus(); 
	                return false; 
	        } 
	        if (trimString(form.swiss_prot_TrEMBL.value) == "") { 
	                alert("Please enter swiss prot TrEMBL before submission."); 
	                form.swiss_prot_TrEMBL.focus(); 
	                return false; 
	        } 
	        return true; 
	        break; 
		
		default:
			return false;
			break;
	}
	
} // END ============= checkEmpty (form, fieldName)


function trimString (s) {
	if (typeof s != "string") 
		return s;
	var result = s;
	var ch = result.substring(0, 1);
	while (ch == " ") { // Check for spaces at the beginning of the string
		result = result.substring(1, result.length);
		ch = result.substring(0, 1);
  	}
	ch = result.substring(result.length-1, result.length);
	while (ch == " ") { // Check for spaces at the end of the string
		result = result.substring(0, result.length-1);
		ch = result.substring(result.length-1, result.length);
	}
	return result;
} // END ============= trimString(s)

function displayHide(value){
  	bodyelement = document.getElementsByName(value);
  	bodyelement2 = document.getElementsByName(value+"2");
  	bodyelement3 = document.getElementsByName(value+"3");

  		if(bodyelement[0].style.display == "block"){
  			bodyelement[0].style.display = "none";
  			bodyelement2[0].style.display = "block";
  			bodyelement3[0].style.display = "none";
  			
  		}else{
  			bodyelement[0].style.display = "block";
  			bodyelement2[0].style.display = "none";
  			bodyelement3[0].style.display = "block";
  		}
  }

function displayHide2(value){

	bodyelement = document.getElementsByName(value);
	imgelement = document.getElementsByName("img"+value);
	selectelement = document.getElementsByTagName("select");
	//alert(""+navigator.appName);
	if(navigator.appName == "Microsoft Internet Explorer"){
	//hide select boxes which do not belong to the advanced search to avoid the IE bug.
	for(var x = 0; x < selectelement.length; x++){
		if(selectelement[x].id != "search"){
			if(selectelement[x].style.display == "none"){
				selectelement[x].style.display = "block";
			}else{
				selectelement[x].style.display = "none";
			}		
		}
	}
}
		if(bodyelement[0].style.display == "block"){
			bodyelement[0].style.display = "none";
		imgelement[0].alt = "Click to show Advanced Search";
		imgelement[0].src = "images/search/plus.gif";
		}else{
			bodyelement[0].style.display = "block";
		imgelement[0].alt = "Click to hide Advanced Search";
		imgelement[0].src = "images/search/minus.gif";
		}
}
  
function searchViewMore(value){
	bodyelement = document.getElementsByName("div"+value);
imgelement = document.getElementsByName("img"+value);

		if(bodyelement[0].style.display == "block"){
			bodyelement[0].style.display = "none";
			imgelement[0].src = "images/search/plus.gif";
			imgelement[0].alt = "Click to Expand";
			setSearchViewMoreCookie(value, 0, "srtree");		
		}else{
			bodyelement[0].style.display = "block";
			imgelement[0].src = "images/search/minus.gif";
			imgelement[0].alt = "Click to Collapse";
			setSearchViewMoreCookie(value, 1, "srtree");
		}
}
  	
function searchViewMoreExpandCloseAll(value){
	bodyelement = document.getElementsByTagName("div");
	//imgelement = document.getElementsByTagName("img");
	for(var x = 0; x < bodyelement.length; x++){
		if(value == 1){
			if(bodyelement[x].id.indexOf("div") != -1){
				bodyelement[x].style.display = "block";
				imgelement = document.getElementsByName("img"+bodyelement[x].id.replace("div", ""));
				imgelement[0].src = "images/search/minus.gif";
				imgelement[0].alt = "Click to Collapse";
				setSearchViewMoreCookie(bodyelement[x].id.replace("div", ""), 1, "srtree");
			}
		}else{
			if(bodyelement[x].id.indexOf("div") != -1){
				bodyelement[x].style.display = "none";
				imgelement = document.getElementsByName("img"+bodyelement[x].id.replace("div", ""));
				imgelement[0].src = "images/search/plus.gif";
				imgelement[0].alt = "Click to Expand";
				setSearchViewMoreCookie(bodyelement[x].id.replace("div", ""), 0, "srtree");
			}
		}	
	}
}

  	//set the search results treeview state
function setSearchViewMoreCookie(value, type, name){
	var cookiedata = getSearchResultsCookie(name);
	var sep = (cookiedata.length == 0) ? "" : ":";
	
	name = name + "=";
	//if(cookiedata.indexOf(value) != -1){
	//	alert("A String Matches one already used");
	//}
	if(type == 1){
		if(cookiedata.indexOf(value) == -1){
			cookiedata = cookiedata + sep + value;
		}
	}else{
		cookiedata = cookiedata.replace(sep+value+sep, sep);
		cookiedata = cookiedata.replace(sep+value,"");
		cookiedata = cookiedata.replace(value+sep,"");
		cookiedata = cookiedata.replace(value,"");
	}
	document.cookie = name + escape(cookiedata);
}
  	
  	//get the search results treeview state from the cookie
function getSearchResultsCookie(name){
	var cookiedata = document.cookie;
	var cookiedata = cookiedata.split(";");
	var data = new Array();
	for(var y = 0; y < cookiedata.length; y++){
		if(cookiedata[y].indexOf("srtree") != -1){
			data = cookiedata[y].split("=");
		}
	}
	return (data.length == 2) ? unescape(data[1]) : ""; 
	//return datar;
}
  	
  	//loads the search results treeview to the state in the cookie
function loadSearchResultsTreeView(name){
	var data = getSearchResultsCookie(name);
	//alert(data);
	if(data.length != 0){
		//alert(data.length);
		var nodevalues = data.split(":");
		//alert(nodevalues.length);
		for(var x = 0; x < nodevalues.length; x++){
			//alert(nodevalues[x]);

			searchViewMore(nodevalues[x]);
		}
	}
}
  	
function clearsearchform(){
	if(document.searchform.searchtype.checked == true){
		//document.searchform.protein.value = "";
		//document.searchform.protein_id.value = "";
		for(i=0; i < searchform.length; i++){
			if(searchform.elements[i].name != "search" && searchform.elements[i].name != "searchtype" && searchform.elements[i].type != "button" && searchform.elements[i].type != "submit"){
				if(searchform.elements[i].type == "select-one"){
					searchform.elements[i].selectedIndex = 0;
				}else{
					searchform.elements[i].value = "";
				}
			}
		}
	}
}

function isNew(dis){
		if(document.display.dis.value != dis){
			document.display.submit();
			}
}

function confirmDeleteComment (url) {
	if (confirm('Are you sure want to delete this Comment?')) {
		//alert(url);
		location.href = url;
		return true;
	} else {
		return false;
	}
} 


/***** TREEVIEW FUNCTIONS ******/
// Open all folders
			// May not work with very large trees (browser may time out)
			// You may call this on a node other than the root, but it must be a folder
function expandTree(folderObj)
{
    var childObj;
    var i;

    //Open folder
    if (!folderObj.isOpen)
      clickOnNodeObj(folderObj)

    //Call this function for all folder children
    for (i=0 ; i < folderObj.nChildren; i++)  {
      childObj = folderObj.children[i]
      if (typeof childObj.setState != "undefined") {//is folder
        expandTree(childObj)
      }
    }
}
			
			// Close all folders
function collapseTree()
{
	//hide all folders
	clickOnNodeObj(foldersTree)
	//restore first level
	clickOnNodeObj(foldersTree)
}

// In order to show a folder, open all the folders that are higher in the hierarchy 
// all the way to the root must also be opened.
// (Does not affect selection highlight.)
function openFolderInTree(linkID) 
{
	var folderObj;
	folderObj = findObj(linkID);
	folderObj.forceOpeningOfAncestorFolders();
	if (!folderObj.isOpen)
		clickOnNodeObj(folderObj);
} 
			
			// Load a page as if a node on the tree was clicked (synchronize frames)
			// (Highlights selection if highlight is available.)
function loadSynchPage(linkID) 
{
	var folderObj;
	docObj = findObj(linkID);
	docObj.forceOpeningOfAncestorFolders();
	clickOnLink(linkID,docObj.link,'basefrm'); 

    //Scroll the tree window to show the selected node
    //Other code in these functions needs to be changed to work with
    //frameless pages, but this code should, I think, simply be removed
    if (typeof document.body != "undefined") //scroll doesn work with NS4, for example
        document.body.scrollTop=docObj.navObj.offsetTop
}


function showGraphList(gtype){
	
	var bodyelement;
	bodyelement1 = document.getElementsByName("bar");
	bodyelement2 = document.getElementsByName("pie");
	if(gtype == 1){
		bodyelement1[0].style.display = "none";
		bodyelement2[0].style.display = "block";
	}else{
		bodyelement2[0].style.display = "none";
		bodyelement1[0].style.display = "block";
	}
	
}
			
function showHideGraph(value)
{
	bodyelement = document.getElementsByName("graph");
	imgelement = document.getElementById("graphimg");
	otherelement = document.getElementsByName("graphlnk");
	
	if(graphHide == 1){
		otherelement[0].style.display = "none";
		if(value == "show"){
			imgelement.width = graphx;
			imgelement.height = graphy;
			bodyelement[0].style.right=0;
			bodyelement[0].style.top=100;
			bodyelement[0].style.MozOpacity = '1';
			bodyelement[0].style.filter = "alpha(Opacity=100)";
			
		}else if(value == "hide"){
			bodyelement[0].style.position="absolute";

			imgelement.width = graphx * 0.25;
			imgelement.height = graphx * 0.25;
			
			bodyelement[0].style.right=0;
			bodyelement[0].style.top=100;
			bodyelement[0].style.MozOpacity = '0.5';
			bodyelement[0].style.filter = "alpha(Opacity=50)";
		}
	}
}
	
function ExpandCollapse(value) {
	if (value == 1) {
		document.getElementById('pro3').style.display = "block";
		document.getElementById('pro2').style.display = "none";
		document.getElementById('pro').style.display = "block";
		document.getElementById('cons3').style.display = "block";
		document.getElementById('cons2').style.display = "none";
		document.getElementById('cons').style.display = "block";
		document.getElementById('exp3').style.display = "block";
		document.getElementById('exp2').style.display = "none";
		document.getElementById('exp').style.display = "block";
		document.getElementById('ref3').style.display = "block";
		document.getElementById('ref2').style.display = "none";
		document.getElementById('ref').style.display = "block";
		document.getElementById('opt3').style.display = "block";
		document.getElementById('opt2').style.display = "none";
		document.getElementById('opt').style.display = "block";
	}
	else {
		document.getElementById('pro3').style.display = "none";
		document.getElementById('pro2').style.display = "block";
		document.getElementById('pro').style.display = "none";
		document.getElementById('cons3').style.display = "none";
		document.getElementById('cons2').style.display = "block";
		document.getElementById('cons').style.display = "none";
		document.getElementById('exp3').style.display = "none";
		document.getElementById('exp2').style.display = "block";
		document.getElementById('exp').style.display = "none";
		document.getElementById('ref3').style.display = "none";
		document.getElementById('ref2').style.display = "block";
		document.getElementById('ref').style.display = "none";
		document.getElementById('opt3').style.display = "none";
		document.getElementById('opt2').style.display = "block";
		document.getElementById('opt').style.display = "none";
	}
}

function displayPie(frame){
	var frameObj = frame;
	document.getElementById(frameObj).src = document.form.pie.options[document.form.pie.selectedIndex].value;
}

function displayBar(frame){
	var frameObj = frame;
	document.getElementById(frameObj).src = document.form2.bar.options[document.form2.bar.selectedIndex].value;
}
