/*

	siteRocket
	Copyright 2000-2007 Digital Propulsion Labs
	DOM JavaScript Functions
	
	version 1.1
	
	last modified : 04/23/2007

*/

// DOM JS Functions

function createDOMLayer() {
	// create input
	var dHndl = document.createElement('div');
	// set attributes
	dHndl.setAttribute("id", createDOMLayer.arguments[1]);
	for (x=2;x<createDOMLayer.arguments.length;x+=2) {
		dHndl.setAttribute(createDOMLayer.arguments[x], createDOMLayer.arguments[x+1]);
	}
	// append to element
	createDOMLayer.arguments[0].appendChild(dHndl);
	return dHndl;
}

function createDOMInput() {
	// create input
	var iHndl = document.createElement('input');
	// set attributes
	iHndl.setAttribute("type", createDOMInput.arguments[1]);
	iHndl.setAttribute("name", createDOMInput.arguments[2]);
	iHndl.setAttribute("value", createDOMInput.arguments[3]);
	if (createDOMInput.arguments.length > 4) {
		var aa;
		for (x=4;x<createDOMInput.arguments.length;x++) {
			aa = createDOMInput.arguments[x];
			if (aa && isArray(aa) && aa.length > 1) iHndl.setAttribute(aa[0], aa[1]);
		}
	}
	// append to form
	createDOMInput.arguments[0].appendChild(iHndl);
	return iHndl;
}

// example createDOMSelect(formHandle,"mylist",1,new Array("Option 1", "1"),new Array("Option 2", "2"))
function createDOMSelect() {
	var args = createDOMSelect.arguments;
	// create input
	var sHndl = document.createElement('select');
	// set attributes
	sHndl.setAttribute("name", args[1]);
	sHndl.setAttribute("size", args[2]);
	// create options list
	if (args.length > 3) {
		var opHndl, opArray;
		for (c=3; c < args.length; c++) {
			opArray = args[c];
			opHndl = document.createElement('option');
			// append to select
			sHndl.appendChild(opHndl);
			opHndl.text = opArray[0];
			opHndl.value = opArray[1];
		}
	}
	// append to form
	args[0].appendChild(sHndl);
	return sHndl;
}

function addSelectOption() {
	var args = addSelectOption.arguments;
	var selHndl = getCtrlHandle(args[0]);

	selHndl.options[selHndl.options.length] = new Option(args[1], args[2]);

	return true;
}

function clearSelectOptions() {
	var args = clearSelectOptions.arguments;
	var selHndl = getCtrlHandle(args[0]);
	
	for (x = selHndl.options.length; x >= 0; x--) {
		selHndl.options[x] = null;
	}

	return true;
}

function createDOMTable() {
	var args = createDOMTable.arguments;
	var dHndl = args[0];
	var	tProps = args[1];
		
	// create the table
	var tHndl = document.createElement('table');
	// set attributes
	for (i=0;i<tProps.length;i+=2)
		tHndl.setAttribute(tProps[i], tProps[i+1]);
	// append table
	dHndl.appendChild(tHndl);
	
	return tHndl;
}
		
// example addTableCols(tableHandle,rowNumber,new Array("Col 1", " Col 2"));
function addTableCols() {
	var tHndl = addTableCols.arguments[0];
	var rPos = addTableCols.arguments[1];
	var colArray = addTableCols.arguments[2];
	// might be used later 12/28/2004
	var colAlign = addTableCols.arguments[3];
	var colClass = addTableCols.arguments[4];
	var colSpan = addTableCols.arguments[5];
	var rowSpan = addTableCols.arguments[6];
	var c, newCell;
	
	if (tHndl && colArray.length > 0) {
		var rHndl = tHndl.insertRow(rPos);
		for (c=0; c < colArray.length; c++) {
			newCell = rHndl.insertCell(c);
			newCell.innerHTML = colArray[c];
			if (colAlign) newCell.setAttribute("align", (isArray(colAlign) == true ? colAlign[c] : colAlign));
			if (colClass) newCell.setAttribute("class", (isArray(colClass) == true ? colClass[c] : colClass));
			//if (colClass) alert(newCell.getAttribute("class"));
		}
	}

	return rHndl;
}
