// JavaScript Document

function processAjax(param) { 
	if (param.responseText == "error") {
		document.getElementById("divResults").innerHTML = "<div class='error' style='margin-left:5px;padding-bottom:5px;'>There are no matches for your query.</div>";
		return false;
	}
	document.getElementById("divResults").innerHTML = param.responseText;
}

function switchTab(tab) {
	if (tab == 'condPage') {
		ctab = document.getElementById('condTab');	
		ctab.style.borderBottom = "1px solid silver";
		ctab.style.backgroundColor = "silver";
		itab = document.getElementById('layoutTab');
		itab.style.borderBottom = "1px solid black";
		itab.style.backgroundColor = "lightgrey";
		jtab = document.getElementById("basicTab");
		jtab.style.borderBottom = "1px solid black";
		jtab.style.backgroundColor = "lightgrey";
		document.getElementById("basicPage").style.display = "none";
		document.getElementById("layoutPage").style.display = "none";
		document.getElementById("condPage").style.display = "block";
	} else if (tab == 'layoutPage') {
		ctab = document.getElementById('layoutTab');	
		ctab.style.borderBottom = "1px solid silver";
		ctab.style.backgroundColor = "silver";
		itab = document.getElementById('condTab');
		itab.style.borderBottom = "1px solid black";
		itab.style.backgroundColor = "lightgrey";
		jtab = document.getElementById("basicTab");
		jtab.style.borderBottom = "1px solid black";
		jtab.style.backgroundColor = "lightgrey";
		document.getElementById("basicPage").style.display = "none";
		document.getElementById("condPage").style.display = "none";
		document.getElementById("layoutPage").style.display = "block";
	} else if (tab == 'basicPage') {
		ctab = document.getElementById('basicTab');	
		ctab.style.borderBottom = "1px solid silver";
		ctab.style.backgroundColor = "silver";
		itab = document.getElementById('condTab');
		itab.style.borderBottom = "1px solid black";
		itab.style.backgroundColor = "lightgrey";
		jtab = document.getElementById("layoutTab");
		jtab.style.borderBottom = "1px solid black";
		jtab.style.backgroundColor = "lightgrey";
		document.getElementById("basicPage").style.display = "block";
		document.getElementById("condPage").style.display = "none";
		document.getElementById("layoutPage").style.display = "none";
	}
	return false;
}

function addFilter() {
	var filters = document.getElementById("filters");
	var myOptText = "";
	if (document.getElementById("condition").value == "") {
		alert("Please enter a value.");
		return false;
	}
	
	if (filters.length > 0) {
		//var operator = document.forms.dvrDB.operator.value;
		var operator = getRadio(document.dvrDB.operator);
		if (operator == false) {
		alert("Please select an operator.");
		return false;
		}
		myOptText = operator;
	}
	
	if (document.getElementById("literal").checked) {
		var fields = document.getElementById("fields");
		var cond = document.getElementById("condition");
		myOptText = myOptText + " " + fields.options[fields.selectedIndex].value + " = " + cond.value;
	} else {
		var fields = document.getElementById("fields");
		var cond = document.getElementById("condition");
		myOptText = myOptText + " " + fields.options[fields.selectedIndex].value + " LIKE " + cond.value;
	}
	var myOpt;
	//myOpt = document.createElement("Option");
	//myOpt.text = myOptText;
	//myOpt.value = myOptText;
	filters.options.add(new Option(myOptText, myOptText));
}

function removeFilter() {
	var filters = document.getElementById("filters");
	filters.options[filters.selectedIndex] = null;
	return false;
}

function addField() {
	var allfields = document.getElementById("allfields");
	var viewfields = document.getElementById("viewfields");
	
	if (allfields.selectedIndex == "undefined") {
		alert("Please select a field from the all fields column.");
		return false;
	}
	
	//var newOpt = document.createElement("Option");
	//newOpt.text = allfields.options[allfields.selectedIndex].text;
	//newOpt.value = allfields.options[allfields.selectedIndex].value;
	viewfields.options.add(new Option(allfields.options[allfields.selectedIndex].text, allfields.options[allfields.selectedIndex].value));
	allfields.options[allfields.selectedIndex] = null;
}

function addAllFields() {
	var allfields = document.getElementById("allfields");
	var viewfields = document.getElementById("viewfields");
	
	for (var i = allfields.options.length - 1; i >= 0; i--) {
		viewfields.options.add(new Option(allfields.options[i].text, allfields.options[i].value));
		allfields.options[i] = null;
	}
}

function removeField() {
	var allfields = document.getElementById("allfields");
	var viewfields = document.getElementById("viewfields");
	
	if (viewfields.selectedIndex == "undefined") {
		alert("Please select a field from the view fields column.");
		return false;
	}
	
	//var newOpt = document.createElement("Option");
	//newOpt.text = viewfields.options[viewfields.selectedIndex].text;
	//newOpt.value = viewfields.options[viewfields.selectedIndex].value;
	allfields.options.add(new Option(viewfields.options[viewfields.selectedIndex].text, viewfields.options[viewfields.selectedIndex].value));
	viewfields.options[viewfields.selectedIndex] = null;
}

function removeAllFields() {
	var allfields = document.getElementById("allfields");
	var viewfields = document.getElementById("viewfields");

	for (var i = viewfields.options.length - 1; i >= 0; i--) {
		allfields.options.add(new Option(viewfields.options[i].text, viewfields.options[i].value));
		//allfields.options[i] = viewfields.options[i];
		viewfields.options[i] = null;
	}
}

function getRadio(radio) {
for (var i=0; i < radio.length; i++)
   { 
   if (radio[i].checked)
      {
      return radio[i].value;
      }
   }
   return false;
}

function showChart() {
	var filters = document.getElementById("filters").options;
	var fields = document.getElementById("viewfields").options;
	var cfilters = new Array();
	var cfields = new Array();
	
	for (var i = 0; i < filters.length; i++) {
		cfilters[i] = filters[i].value;
	}
	
	for (var i = 0; i < fields.length; i++) {
		cfields[i] = fields[i].value;
	}
	
	sajax_do_call("ExtdvrDB::ajaxResponse",[cfilters, cfields],processAjax); 
	return false;
}

function showChartBasic() {
	/*var filters = document.getElementById("filters").options;
	var fields = document.getElementById("viewfields").options;
	var cfilters = new Array();
	var cfields = new Array();
	
	for (var i = 0; i < filters.length; i++) {
		cfilters[i] = filters[i].value;
	}
	
	for (var i = 0; i < fields.length; i++) {
		cfields[i] = fields[i].value;
	}*/
	var cfilters = new Array();
	for (var i=1; i <= document.getElementById('numDVR').value; i++) {
		var box = document.getElementById('dvr' + i);
		if (box.checked == 1) {
			if (cfilters.length == 0) {
				cfilters[0] = " ID = " + box.value;
			} else {
				cfilters[cfilters.length] = "OR ID = " + box.value;
			}
		}
	}
	sajax_do_call("ExtdvrDB::ajaxResponse",[cfilters, '*'],processAjax); 
	return false;
}

function moveViewUp() {
	var fields = document.getElementById("viewfields");
	if (fields.selectedIndex == 0) return false;
	
	var curOpt = fields.options[fields.selectedIndex].value;
	var newOpt = fields.options[fields.selectedIndex - 1].value;
	
	fields.options[fields.selectedIndex].value = newOpt;
	fields.options[fields.selectedIndex].text = newOpt;
	fields.options[fields.selectedIndex - 1].value = curOpt;
	fields.options[fields.selectedIndex - 1].text = curOpt;
	
	fields.selectedIndex = fields.selectedIndex - 1;
}

function moveViewDown() {
	var fields = document.getElementById("viewfields");
	if (fields.selectedIndex == fields.length - 1) return false;
	
	var curOpt = fields.options[fields.selectedIndex].value;
	var newOpt = fields.options[fields.selectedIndex + 1].value;
	
	fields.options[fields.selectedIndex].value = newOpt;
	fields.options[fields.selectedIndex].text = newOpt;
	fields.options[fields.selectedIndex + 1].value = curOpt;
	fields.options[fields.selectedIndex + 1].text = curOpt;
	
	fields.selectedIndex = fields.selectedIndex + 1;
}
