function ToggleDiv(divName) {
//toggle div visibility
 var Settings = document.getElementById('ControlSettings');
 if (document.getElementById(divName).style.visibility == "visible")
   hidediv(divName,Settings);
 else
  {
  if (divName=='divAdmin') {
     if (Password() == true) showdiv(divName,Settings);
     }
  else
    showdiv(divName,Settings);
  }	
}

function Password() {
 var password;
 var pass1="lp";
 var bool=false;
 password=prompt('Please enter administrative password',' ');
 if (password==pass1)
  bool = true;
 return bool;
}

function setPageDivs() {
//set the page div visibility based on the Page Settings string
 var Settings = document.getElementById('ControlSettings');
 var args = getQueryStrArgs(Settings.value);
 for (var divName in args)
 {
  if (Left(divName,3)=='div') {
    if (args[divName] == 'v')
     showdiv(divName,'');
   	else
   	 hidediv(divName,'');  //don't need to update the setting values
  }
 }
 
 //override the control settings values if the divControls is hidden
 if (document.getElementById('divControls').style.visibility == "hidden")
   hideControls();
}
 
function hidediv(divName,Settings) {
 if (document.getElementById(divName)) {
  var name = Right(divName,divName.length-3);
  document.getElementById(divName).style.visibility = "hidden";
  document.getElementById(divName).style.position='absolute';
  document.getElementById(divName).style.height = '0px';
  //update the eyebrowpanel link text
  if (document.getElementById('H'+name+'_Link1'))
   document.getElementById('H'+name+'_Link1').innerHTML='Show';
  if (Settings != '') Settings.value = modArgs(Settings.value,divName,'');	
  //special case for the mapdiv outside the EP
  if (document.getElementById('SiteSelLink')){
    if (divName == 'divMap') {
    document.getElementById('SiteSelLink').innerHTML='Show';
    document.getElementById('SiteMapLink').disabled=true;
    }
  }
 }
}

function showdiv(divName,Settings) {
 if (document.getElementById(divName)) {
  var name = Right(divName,divName.length-3);
  document.getElementById(divName).style.visibility = "visible";
  document.getElementById(divName).style.position = 'relative';
  document.getElementById(divName).style.height = "100%";
  //update the eyebrowpanel link text
  if (document.getElementById('H'+name+'_Link1'))
    document.getElementById('H'+name+'_Link1').innerHTML='Hide';
  if (Settings != '') Settings.value = modArgs(Settings.value,divName,'v');	
  //special case for the mapdiv outside the EP
  if (document.getElementById('SiteSelLink')){
    if (divName == 'divMap') {
    document.getElementById('SiteSelLink').innerHTML='Hide';
    document.getElementById('SiteMapLink').disabled=false;
    }
  }
 }
}


function ToggleLeftNav() {

 if (document.getElementById('viewsLeftNav').style.visibility == "visible") {
   hidediv('viewsLeftNav','');
   if (document.getElementById('CornerLeftNav')) hidediv('CornerLeftNav','');
   document.getElementById('menu').src="../../images/buttons/shownav.jpg"
  }
 else {
   showdiv('viewsLeftNav','');
   if (document.getElementById('CornerLeftNav')) {
    document.getElementById('CornerLeftNav').style.visibility = "visible";
    document.getElementById('CornerLeftNav').style.position = 'relative';
   }
   document.getElementById('menu').src="../../images/buttons/hidenav.jpg"
 }	  
}

function ToggledivControls(divControls) {
 var Settings= document.getElementById('ControlSettings');
 if (document.getElementById(divControls).style.visibility == "visible") {
  //hide any of the open 'control' divs individually
   hideControls();
   hidediv('divControls',Settings);
   document.getElementById('imgControls').src="../../images/buttons/showcontrol.jpg";
   }
 else {
   showdiv('divControls',Settings);
   //resotre individual control visibility from settings string
   setPageDivs()
   document.getElementById('imgControls').src="../../images/buttons/hidecontrol.jpg";
   //document.getElementById('tdControls').width=280;
 }	  
}

function hideControls() {
  if (document.getElementById('divPreset')) hidediv('divPreset','');
   if (document.getElementById('divUserPreset')) hidediv('divUserPreset','');
   if (document.getElementById('divStatus')) hidediv('divStatus','');
   if (document.getElementById('divParam')) hidediv('divParam','');
   if (document.getElementById('divAgg')) hidediv('divAgg','');
   if (document.getElementById('divPC')) hidediv('divPC','');
   if (document.getElementById('divFilter')) hidediv('divFilter','');
   if (document.getElementById('divDisplay')) hidediv('divDisplay','');
   if (document.getElementById('divProg')) hidediv('divProg','');
   if (document.getElementById('divMeth')) hidediv('divMeth','');
   if (document.getElementById('divAdmin')) hidediv('divAdmin','');
   //if (document.getElementById('tdControls')) document.getElementById('tdControls').width=0;
}

//update PageSettings value from client side controls
function updatePageSettings(PageSettings,name,newVal) {
 var Settings= document.getElementById(PageSettings);
 Settings.value = modArgs(Settings.value,name,newVal);	
}


function updateSettingsFromRb(rb){
 var ckval;
 if (rb[0].checked == true) 
	ckval=rb[0].value;
 else if (rb[1].checked == true)
 	ckval=rb[1].value;
 else if (rb[2].checked == true)
 	ckval=rb[2].value;
 	
 var Settings= document.getElementById('ControlSettings');
 Settings.value = modArgs(Settings.value,'ChartO',ckval);

//set an individual value in a parent setting
//if (parent.document.getElementById('DataSettings')) {
//  var setting = parent.document.getElementById('DataSettings');
//  setting.value=modArgs(setting.value,'ChartO',ckval);
//  }
}


function SetRbCTValuesFromControlSettings() {
 var rbCT = document.forms[0].rbChartType;
 setRbSelectionFromControlSettings(rbCT,'ChartT');
 SetRbCOValuesFromRbCT();
}


function SetRbValuesFromPageSettingsX(rb,name) {
 //var rbCT = document.forms[0].rbChartType;
 setRbSelectionFromControlSettings(rb,name);
 SetRbCOValuesFromRbCT() ;
}


//set client side rb values and text 
function SetRbCOValuesFromRbCT() {
 var rbCT = document.forms[0].rbChartType;
 var rbCO = document.forms[0].rbChartOptions;
//timeline
 if (rbCT[0]) {
 if (rbCT[0].checked) {
	rbCO[0].value='line';
	rbCO[1].value='step';
	rbCO[2].value='curve';
	document.getElementById('rbCOtxt0').innerHTML='Line';
	document.getElementById('rbCOtxt1').innerHTML='Step';
	document.getElementById('rbCOtxt2').innerHTML='Curve';		
	}}
//bar chart
 if (rbCT[1]) {
 if (rbCT[1].checked) {
	rbCO[0].value='stacked';
	rbCO[1].value='sidebyside';
	rbCO[2].value='percent';
	document.getElementById('rbCOtxt0').innerHTML='Stacked';
	document.getElementById('rbCOtxt1').innerHTML='Side by side';
	document.getElementById('rbCOtxt2').innerHTML='Percent';
	}}
//pie chart
 if (rbCT[2]) {
 if (rbCT[2].checked) {
	rbCO[0].value='normal';
	rbCO[1].value='labels';
	rbCO[2].value='3d';
	document.getElementById('rbCOtxt0').innerHTML='Normal';
	document.getElementById('rbCOtxt1').innerHTML='Labels';
	document.getElementById('rbCOtxt2').innerHTML='3D';
	}}
//scatter chart
 if (rbCT[3]) {
 if (rbCT[3].checked) {
	rbCO[0].value='points';
	rbCO[1].value='labels';
	rbCO[2].value='swapAxes';
	document.getElementById('rbCOtxt0').innerHTML='Points';
	document.getElementById('rbCOtxt1').innerHTML='Labels';
	document.getElementById('rbCOtxt2').innerHTML='Swap Axes';
	}}
//only update pageSettings if event is triggerd from rbselection change, not from PageSetting update
 //updatePageSettingsFromRb(rbCO);
 setRbSelectionFromControlSettings(rbCO,'ChartO');
}

function setRbSelectionFromControlSettings(rb,name) {
 var ck;
 var args = getQueryStrArgs(document.getElementById('ControlSettings').value);
   
//this sets both ChartT and ChartO values, assumes values are unique to each rb
 for(var i = 0; i < rb.length; i++) {
  if (rb[i].value == args.ChartT) {
    if (rb[i].checked)
      ck='';
    else
     rb[i].checked=true;
  }
 }
 
  for(var i = 0; i < rb.length; i++) {
  if (rb[i].value == args.ChartO) {
    if (rb[i].checked)
      ck='';
    else
     rb[i].checked=true;
  }
 }

}



