//<!--
//# Written by Fernando Drabik, NOAA
//# Modified Jan 26, 2007
//# License: GPL
//-->

// Layer/Dataset needs: datasetURL, variable, configstr(dimension + time values)
//alert('loaded');

// Parse form elements and set properties of layeritem.cfg object
function processConfig() {

}

function bola() { //need to know which layer is being changed!!
	

 	if (!(window.parent.currentlayer)) return false;
 	var mylayer = window.parent.currentlayer; 
	var updatedDims = new Array();
	cfg = mylayer.config;
	var dims = window.parent.document.getElementById(mylayer.config.layerId + '_form');
	//alert(dims);
	var content = "";

	for (i=0; i<dims.length;i++){ 		
	var newDim = new Object();
 		newDim.dimId = dims[i].id;
 		newDim.dimValue = dims[i].value;
 		updatedDims[i] = newDim;
// 		alert(newDim.dimValue);
	}		
   	cfg.dimList = updatedDims;
	cfg.update = true
	window.parent.mapMan.requestMap();


	
}

function changeColormap() {
	colormapImg = xGetElementById('colormapImg');
	newColormap = xGetElementById('colormap').value;
	colormapImg.src = "/oe/images/colormaps/" + newColormap + ".gif";
	if (!(window.parent.currentlayer)) return false;
	var mylayer = window.parent.currentlayer;
	
	//if (!(mylayer.id)) return false;
	//var layerDiv = parent.document.getElementById(mylayer.config.layerId);
	
	cfg = mylayer.config;
	cfg.colormap = newColormap;
	dimForm = document.dimensions;
}

function configSet() {
	// Updates layer divs with dataset information and send out map request
	if (!(window.parent.currentlayer)) return false;
	var mylayer = window.parent.currentlayer;
	
	//if (!(mylayer.id)) return false;
	//var layerDiv = parent.document.getElementById(mylayer.config.layerId);
	
	cfg = mylayer.config;
	
	// Get selected colorscale
//	var selcpt = document.getElementById('select_colorscale');
//	cfg.colorscale = selcpt.options[selcpt.selectedIndex].value;
	
	
	cfg.uri = document.dataset.URI.value;
	cfg.varshortname = document.dataset.selectedVar.value;
	cfg.varlongname = document.dataset.selectedVarLong.value;
	cfg.datasetlongname = document.dataset.datasetlongname.value;

	// Dimension form
	dimForm = document.dimensions;
	dimLength = dimForm.length;

	graphsForm = document.graphics;
	graphsLength = graphsForm.length;

	// Process form element: loop through form objects building the config string
	for (i=0; i<dimLength;i++){
		// For each dimension, create a dictionary object, holds dimension id and value keypair.
 		var newDim = new Object();
 		newDim.dimId = dimForm[i].id;
 		newDim.dimValue = dimForm[i].value;
 		cfg.dimList[i] = newDim;
	}

	// Process form element: loop through form objects building the config string
	for (i=0; i<graphsLength;i++){
		// For each dimension, create a dictionary object, holds dimension id and value keypair.
 		var newGraphs = new Object();
 		newGraphs.methodId = graphsForm[i].id;
 		newGraphs.methodValue = graphsForm[i].checked; //.value;
		if(newGraphs.methodValue) {
			strGraphMeth = newGraphs.methodId + ',';
		}
 		cfg.graphsList[i] = newGraphs;
	}

	//alert(cfg.graphsList);
	// Get layer title descriptor text
	//cfg.title = "NEW!";
	
	// Get layer source descriptor text
	//cfg.source = 'From catalog';

	
	// Grab the current layer's 'selectors' div so that children can be appended	
	var selectors = parent.document.getElementById('selectors');
	var lineBreak = document.createElement('br');
	var myForm = document.createElement('form')

	selectors.appendChild(document.createTextNode("Method: " + strGraphMeth));
	selectors.appendChild(lineBreak);
//	selectors.appendChild(lineBreak);
		
	// Populate/Update LAYER dropdown selectors
	for (i=0; i<dimLength;i++){
		var dropdown = document.createElement('select');
		var lineBreak = document.createElement('br');
		var selectLabel = document.createTextNode(document.dimensions[i].id + ": ");
		dropdown.id = document.dimensions[i].id;
		dropdown.style.fontSize = "11px;";
		dropdown.onchange = bola;
		// Copying dropdown values to LAYER selectors from config.py forms
		for (var j = 0; j < document.dimensions[i].options.length; j++) {
			var option = document.createElement('option');
			option.value = document.dimensions[i].options[j].value;
			option.appendChild(document.createTextNode(document.dimensions[i].options[j].value));
			dropdown.appendChild(option);
			if (document.dimensions[i].options[j].selected){
				option.selected = true;
			}
		}
		selectors.appendChild(lineBreak);
		selectors.appendChild(lineBreak);		
		selectors.appendChild(lineBreak);
		selectors.appendChild(selectLabel);
		selectors.appendChild(lineBreak);
		selectors.appendChild(dropdown);
		selectors.appendChild(lineBreak);

	graphics = document.graphics.length;
	}
	
	// Make layer update itself based on cfg object
	// I have commented out some pieces of this function - please be aware
	mylayer.updateConfig();

	window.parent.mapMan.requestMap();

	// Close layer selection IFrame
	window.parent.showFrame(0,0);
}
