// JavaScript Document

var uri = parse_uri(self.location.href);

function changeMonth(start, end){
	document.forms.fmChangeDate.dsrt.value = start;
	document.forms.fmChangeDate.dend.value = end;
	fChangeDisplay();
}

function fCreateReportQuerystring(){
	var qs = '?';

	// page will always be 1 when a new report is generated
	qs += 'pg=1&';

	// create vw from fmChangeAssociations
	if(document.forms.fmChangeAssociations){
		var vw = '';
		for(var i=0; i<document.forms.fmChangeAssociations.elements.length; i++){
			vw += document.forms.fmChangeAssociations.elements[i].value + ',';
		}
		qs += 'vw=' + vw + '&';
	}

	// add orderby and direction info
	if(QueryString('ob')){
		qs += 'ob=' + QueryString('ob') + '&';
	}
	if(QueryString('dr')){
		qs += 'dr=' + QueryString('dr') + '&';
	}

	// create date info from changeDate
	if(document.forms.fmChangeDate){
		qs += 'ds=' + document.forms.fmChangeDate.dsrt.value + '&';
		qs += 'de=' + document.forms.fmChangeDate.dend.value + '&';
	}

	// create date info from changeProductCategory
	if(document.forms.fmChangeProductCategory){
		qs += 'pg=' + document.forms.fmChangeProductCategory.elements[0].value + '&';
	}

	// create dt from changeDealType
	if(document.forms.fmChangeDealType){
		var dt = '';
		for(var i=0; i<document.forms.fmChangeDealType.elements.length; i++){
			if(document.forms.fmChangeDealType.elements[i].checked){
				dt += document.forms.fmChangeDealType.elements[i].value + ',';
			}
		}
		qs += 'dt=' + dt + '&';
	}

	// create dt from changeCheckboxType
	if(document.forms.fmChangeCheckboxType){
		var cb = '';
		var ncb = '';
		for(var i=0; i<document.forms.fmChangeCheckboxType.elements.length; i++){
			if (document.forms.fmChangeCheckboxType.elements[i].value == 'true') {
				if(document.forms.fmChangeCheckboxType.elements[i].checked){
					ncb = 'ncb=1&';
				}
			} else {
				if(document.forms.fmChangeCheckboxType.elements[i].checked){
					cb += document.forms.fmChangeCheckboxType.elements[i].value + ',';
				}
			}
		}
		qs += 'cb=' + cb + '&' + ncb;
	}

	// create pc from changePaymentCategory
	if(document.forms.fmChangePaymentTypeCategory){
		var pt = '';
		for(var i=0; i<document.forms.fmChangePaymentTypeCategory.elements.length; i++){
			if(document.forms.fmChangePaymentTypeCategory.elements[i].checked){
				pt += document.forms.fmChangePaymentTypeCategory.elements[i].value + ',';
			}
		}
		qs += 'pt=' + pt + '&';
	}

	// create st from changeStatusType
	if(document.forms.fmChangeStatusType){
		var st = '';
		for(var i=0; i<document.forms.fmChangeStatusType.elements.length; i++){
			if(document.forms.fmChangeStatusType.elements[i].checked){
				st += document.forms.fmChangeStatusType.elements[i].value + ',';
			}
		}
		qs += 'st=' + st + '&';
	}

	// gather search data from searchJournal
	if(document.forms.fmSearchJournal){
		qs += 'sc=' + document.forms.fmSearchJournal.sc.value.replace(/ /g,"+") + '&';
	}

	// gather search data from stockPrefix
	if(document.forms.fmStockPrefix){
		qs += 'sp=' + document.forms.fmStockPrefix.sp.value.replace(/ /g,"+") + '&';
	}

	// create options from changeRestrictions
	if(document.forms.fmChangeRestrictions){
		for(var i=0; i<document.forms.fmChangeRestrictions.elements.length; i++){
			if(document.forms.fmChangeRestrictions.elements[i].checked){
				qs +=
					document.forms.fmChangeRestrictions.elements[i].name + '=' +
						document.forms.fmChangeRestrictions.elements[i].value + '&';
			}
		}
	}

	// create options from changeDealOptions
	if(document.forms.fmChangeReportOptions){
		for(var i=0; i<document.forms.fmChangeReportOptions.elements.length; i++){
			if(document.forms.fmChangeReportOptions.elements[i].checked){
				qs +=
					document.forms.fmChangeReportOptions.elements[i].name + '=' +
						document.forms.fmChangeReportOptions.elements[i].value + '&';
			}
		}
	}

	return qs;
}


function fChangeDisplay(printable){
	var qs = fCreateReportQuerystring();
	if(printable){
		qs += 'print=yes&';
	}

	var href = uri['path'] + qs;

	if(printable){
		openWindow(href);
	} else {
		self.location.href = href;
	}

	return false;
}












function fDisplayPersonnelLoading(boolean){
	if(boolean){
		//document.forms.fmChangePersonnel.style.display = 'none';
		var arPos = fFindObjectPosition(document.forms.fmChangeAssociations);
		document.getElementById('changeAssociations_processing').style.left = arPos[0] + 'px';
		document.getElementById('changeAssociations_processing').style.top = arPos[1] + 'px';
		document.getElementById('changeAssociations_processing').style.display = 'block';
	} else {
		//document.forms.fmChangePersonnel.style.display = 'block';
		document.getElementById('changeAssociations_processing').style.display = 'none';
	}
	fRefreshWarning();
}


function fRefreshWarning(){
	//setInterval("fToggleClass(document.getElementById('generateReport1'), 'buttons', 'buttons_flash')", 1500);
	//setInterval("fToggleClass(document.getElementById('generateReport2'), 'buttons', 'buttons_flash')", 1500);
	document.getElementById('warning').innerHTML = 'You must recalculate the report when changes are made to the criteria.';
}


function fParsePersonnelXML(xmlDoc){
	var arSelectElement = xmlDoc.getElementsByTagName('selectElement');
	for(var i=0; i<arSelectElement.length; i++){
		formName = arSelectElement[i].childNodes[0].firstChild.nodeValue;
		eleName = arSelectElement[i].childNodes[1].firstChild.nodeValue;
		if(ele = document.forms[formName].elements[eleName]){
			ele.options.length = 0;

			arSelectOption = arSelectElement[i].getElementsByTagName('option');
			for(var j=0; j<arSelectOption.length; j++){
				optText = (arSelectOption[j].childNodes[0].firstChild) ?
								arSelectOption[j].childNodes[0].firstChild.nodeValue : 0;
				optValue = (arSelectOption[j].childNodes[1].firstChild) ?
								arSelectOption[j].childNodes[1].firstChild.nodeValue : 0;
				optSelected = (arSelectOption[j].attributes.getNamedItem('selected') &&
								arSelectOption[j].attributes.getNamedItem('selected').value == 'selected') ?
								true : false;
				var option = new Option(optText, optValue, false, optSelected);
				try{
					ele.add(option, null);
				} catch(e){
					ele.add(option, -1);
				}
			}
		}
	}


	fDisplayPersonnelLoading(false);

}

function fGetPersonnelXML(url) {
	var oXMLHttpRequest	= new XMLHttpRequest;
	oXMLHttpRequest.open("GET", url, true);
	oXMLHttpRequest.onreadystatechange	= function() {
		if (this.readyState == XMLHttpRequest.DONE) {
			fParsePersonnelXML(this.responseXML)
		}
	}
	oXMLHttpRequest.send(null);
}


function fChangeAssociations(ele){
	fDisplayPersonnelLoading(true);
	var qs = fCreateReportQuerystring();
	var href = '/reports/personnel.xml.php' + qs + 'clr=ajx&ele=' + ele.name + '&';
	fGetPersonnelXML(href);
}
