//js for frame div controls

function updateSettingsX(lb,key) {
 var settings = document.getElementById('Settings');
 var vals = new Array;
 for (var i = 0; i < lb.options.length; i++) {
   if (lb.options[i].selected == true) vals.push(lb.options[i].value);
 }
 settings.value = modArgs(settings.value,key,vals);
 //alert(settings.value);
 reload();
}

function XupdateSettings(lb,key) {
 var settings = document.getElementById('Settings');
 var vals = new Array;
 for (var i = 0; i < lb.options.length; i++) {
   if (lb.options[i].selected == true) vals.push(lb.options[i].value);
 }
 settings.value = modArgs(settings.value,key,vals);
 //alert(settings.value);
 reload();
}

function updateSettings(lb,key) {
 var settings = document.getElementById('Settings');
 var vals = new Array;
 for (var i = 0; i < lb.options.length; i++) {
   if (lb.options[i].selected == true) vals.push(lb.options[i].value);
 }
 settings.value = modArgs(settings.value,key,vals);
 //alert(settings.value);
 reload();
}

function updateSettingsSb(lb,key) {
 //alert(key);
 var settings = document.getElementById('Settings');
 var vals = new Array;
 for (var i = 0; i < lb.options.length; i++) {
   if (lb.options[i].selected == true) vals.push(lb.options[i].value);
 }
 settings.value = modArgs(settings.value,key,vals);
}

function updateSb(lb1,lb2Id,Set) {
 //takes string from single select lb1 and populates multi select lb2
 var val = null;
 for (var i = 0; i < lb1.options.length; i++) {
   if (lb1.options[i].selected == true) val=lb1.options[i].value;
 }
 vals=val.split(',');
 var lb2=document.getElementById(lb2Id);
 for (var i = 0; i < lb2.options.length; i++) {
  lb2.options[i].selected = false;
  for (var j = 0; j < vals.length; j++) {
    if (lb2.options[i].value == vals[j]) lb2.options[i].selected = true;
  }
 }
 updateSettingsSb(document.getElementById(lb2Id),Set);
 reload();
}

function lbClear(lbId){
//not working in IE?
 var lb=document.getElementById(lbId);
 //alert(lb.selectedindex);
 //lb.selectedindex=-1;
 for (var i = 0; i < lb.options.length; i++) {
  lb.options[i].selected = false;
  //alert(lb.options[i].selected);
 }
}

function updateSettingsCb(cb,key) {
 var settings = document.getElementById('Settings');
 if (cb.id=='cbDN') {
  if (cb.checked==false)
   cb.value='';
  else 
   cb.value='auto';
 }
 settings.value = modArgs(settings.value,key,cb.value);
 reload();
}

function reload() {
  var settings = document.getElementById('Settings');
  var cmd = getArgs(settings.value,'Cmd');
  if (cmd == 'startup') 
   settings.value = modArgs(settings.value,'Cmd','');
  else
   reload1();
}
 
function reload1() {
  if (parent.document.getElementById('div'+pagekey)) {
   if (parent.document.getElementById('set'+pagekey)) {
    var settings = parent.document.getElementById('set'+pagekey); 
    settings.value = modArgs(settings.value,'Site',0);
    parent.updateContentAjax(pagekey);  
   }
   //alert(pagekey);
  }
}


//update querystring argument value
function modArgs(query,arg,newval) {
	var newquery = "";
	//var query = location.search.substring(1); 
	var pairs = query.split("&"); 

	for(var i = 0; i < pairs.length; i++) {
		var pos = pairs[i].indexOf('='); 
		if (pos == -1) continue; 
		var argname = pairs[i].substring(0,pos); 
		var value = pairs[i].substring(pos+1); 
		if (argname == arg) {
		value=newval;
		}
		newquery=newquery+argname+'='+value+'&';
	}
	//remove the trailing '&'
	newquery=newquery.substring(0,newquery.length-1);
	return newquery; // Return the modified querystring
}

//get querystring argument value
function getArgs(query,arg) {
	var getValue;
	var pairs = query.split("&"); 

	for(var i = 0; i < pairs.length; i++) {
	  var pos = pairs[i].indexOf('='); 
	  if (pos == -1) continue; 
	  var argname = pairs[i].substring(0,pos); 
	  var value = pairs[i].substring(pos+1); 
	  if (argname == arg) {
		getValue=value;
		}
	  //newquery=newquery+argname+'='+value+'&';
	}
	return getValue; // Return the value
}


//String manipulation scripts
function Left(str, n){
 if (n <= 0)
	return "";
 else if (n > String(str).length)
	return str;
 else
 return String(str).substring(0,n);
}
	
function Right(str, n){
 if (n <= 0)
 	return "";
 else if (n > String(str).length)
	return str;
 else {
 	var iLen = String(str).length;
	return String(str).substring(iLen, iLen - n);
 }
}
	

//rico effects
function toggleSlide() {
  if ( showing )
     { slideMenuUp(); showing = false; }
  else
     { slideMenuDown(); showing = true; }
}

function slideMenuUp() {
  var menu = $('demosMenu');
  saveHeight = menu.offsetHeight;
  menu.style.overflow = "hidden";
  
  //function(element, w, h, duration, steps, options) 
  new Rico.Effect.Size( menu, null, 1, 250, 20 );
  $('demoPanelLink').innerHTML = "+ Show Map";
}

function slideMenuDown() {
  var menu = $('demosMenu');
  new Rico.Effect.Size( menu, null, saveHeight, 250, 20, {complete:function() { $(menu).style.overflow = "visible"; }} );
  $('demoPanelLink').innerHTML = "- Hide Map";
}


//rico effects
function toggleSlideN(menuN,panelN) {
  if ( showing )
     { slideMenuUpN(menuN,panelN); showing = false; }
  else
     { slideMenuDownN(menuN,panelN); showing = true; }
}

function slideMenuUpN(menuN,panelN) {
  var menu = $(menuN);
  saveHeight = menu.offsetHeight;
  menu.style.overflow = "hidden";
  
  //function(element, w, h, duration, steps, options) 
  new Rico.Effect.Size( menu, null, 1, 250, 20 );
  $(panelN).innerHTML = "+ Show map";
}

function slideMenuDownN(menuN,panelN) {
  var menu = $(menuN);
  new Rico.Effect.Size( menu, null, saveHeight, 250, 20, {complete:function() { $(menu).style.overflow = "visible"; }} );
  $(panelN).innerHTML = "- Hide map";
}


//rico effects
function toggleSlideE(menuE,panelE,showTxt,hideTxt,saveHeight,showing) {
//alert(showing);
  if ( showing )
     { slideMenuUpE(menuE,panelE,showTxt); showing = false; }
  else
     { slideMenuDownE(menuE,panelE,hideTxt,saveHeight); showing = true; }
     
return showing; 
}

function slideMenuUpE(menuE,panelE,showTxt) {
  var menu = $(menuE);
  //saveHeight = menu.offsetHeight;
  //menu.style.overflow = "hidden";
  
  //function(element, w, h, duration, steps, options) 
  new Rico.Effect.Size( menu, null, 1, 200, 8 );
  $(panelE).innerHTML = showTxt;
}

function slideMenuDownE(menuE,panelE,hideTxt,saveHeight) {
//alert('slide down');
  var menu = $(menuE);
  new Rico.Effect.Size( menu, null, saveHeight, 200, 8, {complete:function() { $(menu).style.overflow = "visible"; }} );
  $(panelE).innerHTML = hideTxt;
}


	
