function setSortAttribute( formName, key, direction ) {
	var k = eval("document." + formName + ".SortKey");
	var d = eval("document." + formName + ".SortDirection");
	k.value = key;
	d.value = direction;
}

function validateAndSubmit( formName, validationFunction ) {
	var f = eval("document." + formName);

	if (validationFunction != '') {
		var valid = eval(validationFunction);
		if (valid) {
			f.submit();
		}
	} else {
		f.submit();
	}
}

function saveOnClose2(formName, prompt, yesSubOp, noSubOp, validationFunction) {
	var f = eval("document." + formName);
	var r = confirm(prompt);

	if (r) {
		setSubOperation(formName, yesSubOp);
	} else {
		setSubOperation(formName, noSubOp);
	}

	if (validationFunction != '' && r) {
		var valid = eval(validationFunction);
		if (valid) {
			f.submit();
		}
	} else {
		f.submit();
	}
}

function submitForm( formName ) {
	var f = eval("document." + formName);
	f.submit();
}

function setOperation(formName, value) {
	var op = eval("document." + formName + ".operation");
	op.value = value;
}

function setSubOperation(formName, value) {
	var subop = eval("document." + formName + ".subop");
	subop.value = value;
}

function setAltOperation(formName, value) {
	var altop = eval("document." + formName + ".altoperation");
	altop.value = value;
}

function setAltSubOp(formName, value) {
	var altsubop = eval("document." + formName + ".altsubop");
	altsubop.value = value;
}

function setAltOpKey(formName, value) {
	var altopkey = eval("document." + formName + ".altopkey");
	altopkey.value = value;
}

function setAltOpKeyValue(formName, value) {
	var altopkeyvalue = eval("document." + formName + ".altopkeyvalue");
	altopkeyvalue.value = value;
}

function setChangeFilters(formName, value) {
	var changefilters = eval("document." + formName + ".changefilters");
	changefilters.value = value;
}

function setChangePagination(formName, value) {
	var changepagination = eval("document." + formName + ".changepagination");
	changepagination.value = value;
}

function setLinkKey(formName, linkKey, value) {
	var lk = eval("document." + formName + "." + linkKey);
	lk.value = value;
}

function confirmDelete(msg) {
	var r = confirm(msg);

	return r;
}

function confirmOperation(msg) {
	var r = confirm(msg);

	return r;
}

function confirmPrintingBeforeArchive(msg, formName) { //For payroll

	if (confirm(msg)) {
		setSubOperation(formName, 'printindividualpayroll');
	} else {
		setSubOperation(formName, 'archiveindividualpayroll');
	}
}


/*@cc_on @*/
/*@if (@_win32 && @_jscript_version>=5)

function window.confirm(str)
{
    execScript('n = msgbox("'+str+'","4132")', "vbscript");
    return(n == 6);
}

@end @*/


/* Date Calculation Functions */

function dateDiff(interval, date1, date2)
{
	var dt1 = new Date();
	var dt2 = new Date();
	var diff = new Date();

	var d1 = new Date(date1);
	var d2 = new Date(date2);

	dt1.setTime(d1.getTime());
	dt2.setTime(d2.getTime());

	diff.setTime(dt1.getTime() - dt2.getTime());
	tDiff = diff.getTime();

	switch (interval) {
		case 'm':
			intervalDiff = Math.floor(tDiff / (1000 * 60 * 60 * 24 * 30));
			break;
		case 'd':
			intervalDiff = Math.floor(tDiff / (1000 * 60 * 60 * 24));
			break;
	}


	return intervalDiff;

}

function showErrorField(el, msg) {
	el.innerHTML = msg;
	el.style.display = "block";
}

function hideErrorField(el) {
	el.innerHTML = "";
	el.style.display = "none";
}

/*Number formatting*/

function addThousandSeparator(nStr, sep)
{
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + sep + '$2');
	}
	return x1 + x2;
}

function removeThousandSeparator(nStr, sep) {
	var rgx = new RegExp(sep, "g");
	x = nStr.replace(rgx, "");
	return x;
}


function open_win(url_add) {
	window.open(url_add,'Print', 'width=1024, height=768, menubar=no, status=no, location=no, toolbar=no, scrollbars=yes');
}

function print_form() {
	text=document;
	print(text);
}
