﻿var x10dRes = new Array();
var x10dResCache = new Array();
function x10dGetRes(name, defaultText, doAjaxCall) {
	if (x10dRes[name] != null) {
		return x10dRes[name];
	}
	if (doAjaxCall == null || doAjaxCall == true) {
		var s = x10dGetAjaxRes(name, "Javascript");
		if (s != null && s != '') return s;
	}
	if (defaultText != null) return defaultText;
	return "";
}
function x10dGetAjaxRes(name, resourceObject) {
	if (x10dResCache[name + '_' + resourceObject] != null) {
		return x10dResCache[name + '_' + resourceObject];
	}
	else {
		var res = x10dAjaxQuickCall('', 'GetResource', false, '../PublicAjax/AjaxResource.aspx', 'name=' + name + '&Resource=' + resourceObject, null, 'AjaxManager1', null, '', null);
		if (name.indexOf(',') > -1) {
			res = res.split(String.fromCharCode(160));
		}
		else {
			res = (res == null) ? '' : res;
		}
		x10dResCache[name + '_' + resourceObject] = res;
		return res;
	}
}


function x10dSilentLogOut() {
	return;
	x10dAjaxQuickCall('', 'LogOut', false, '../PublicAjax/AjaxCall.aspx', null, null, 'AjaxManager1');
}

var x10dDateOrder = '';
var x10dDateSeparator = '-';
var x10dNumberDecimalSeparator = ',';
var x10dNumberGroupSeparator = '.';

function x10dCallFunction(fn, args) {
	fn = (typeof fn == "function") ? fn : window[fn];  // Allow fn to be a function object or the name of a global function     
	return fn.apply(this, args || []);  // args is optional, use an empty array by default 
}




function x10dRefreshMainWindow(form) {
	var mainWin = x10dGetMainWindow();
	if (mainWin != null && mainWin.Menu != null) {
		return mainWin.Menu.RefreshMainWindow(form);
	}
	return false;
}
function x10dGetMainWindow() {
	var mainWin = null;
	if (this != top)
		mainWin = this.top;
	else if (this.opener != null)
		mainWin = opener.top;
	else
		mainWin = null;
	return mainWin;
}








//Nedenstående to funktioner skal flyttes hen et andet sted der har med ToolBar at gøre!
function x10dToolBarSearchInput(e, c)
{
	if (e && e.keyCode == 13)
	{
		e.returnValue=false;
		e.cancel = true;
		__doPostBack(c.id,'Search');
		return false;
	}
	if (c.value.indexOf(c.defaultValue) > -1 && c.style.fontStyle != '')
	{
		c.style.color = '';
		c.style.fontStyle = '';	
		c.value = c.value.replace(c.defaultValue,'');
	}
}
function x10dToolBarAdvSearch(ctrlID, advPanelID)
{
	if (x10dExistControl(advPanelID))
	{
		x10dPop_Show(advPanelID, 0, 21, ctrlID);
	}
}
function x10dFreeze(msg)
{
	if (x10dExistControl('popWait'))
		x10dPop_Show('popWait', 200, 200, null, true, true);
}
function x10dWaitMsg(msg)
{
	if (x10dExistControl('popWait'))
		x10dPop_Show('popWait', 200, 200, null);
}
//GetControl(ctrlID)
function x10dGetControl(ctrlID)
{
	if (typeof(ctrlID) == 'object') return ctrlID;
	if (ctrlID == null || ctrlID.length == 0)
	{
		return null;
	}
	if (window.document.getElementById)
	{
		return window.document.getElementById(ctrlID);
	}
	else
	{
		return document.getElementById(ctrlID);
	}
}
function x10dGetControlsByName(name) {
    if (name == null || name.length == 0) {
        return null;
    }
    if (window.document.getElementsByName) {
        return window.document.getElementsByName(name);
    }
    else {
        return document.getElementsByName(name);
    }
}
function x10dGetSelectedRadioButton(groupName) {
    var rbs = x10dGetControlsByName(groupName);
    for (var i = 0; i < rbs.length; i++) {
        if (rbs[i].checked) return rbs[i];
    }
    return null;
}
function x10dExistControl(ctrlID)
{
	return (x10dGetControl(ctrlID) != null);
}
function x10dIsVisible(c)
{
	if (c != null)
	{
		c = x10dGetControl(c);
		return c.style.display != "none" && c.style.visibility != "hidden" && c.className != 'hidden';
	}
	return false;	
}
function x10dGetEventSource(evnt)
{
	if (evnt == null) return null;
	if (evnt.srcElement)
	{
		return evnt.srcElement;
	}
	else
	{
		return evnt.target;
	}
}
//function AttachEvent(ctrl, eventName, event)
function x10dAttachEvent(ctrl, eventName, myEvent) {
	ctrl = x10dGetControl(ctrl);
	if (ctrl == null) return;
	if (window.attachEvent)
		ctrl.attachEvent(eventName, myEvent);		
	else
	{
		if (eventName.indexOf('on') == 0)
			eventName = eventName.substring(2);
		ctrl.addEventListener(eventName, myEvent, false);
	}
}
//GetAttrib(ctrl, att)
function x10dGetAttrib(ctrl, att) {
	ctrl = x10dGetControl(ctrl);
	if (ctrl == null) {
		return "";
	}
	var val = eval("ctrl." + att);
	if (val != null) return val;
    if (ctrl.getAttribute)
        return ctrl.getAttribute(att);
    if (ctrl.attributes) {
        var a = ctrl.attributes[att];
        if (a) return a.value;
    } else
        return ctrl[att];
}
function x10dSetAttrib(ctrl, att, val)
{
    if (ctrl.getAttribute)
    {
        ctrl.setAttribute(att, val);
    }
    else
    { 
        ctrl[att] = val;
	}
}
function x10dGetValue(ctrlID)
{
	if (x10dExistControl(ctrlID))
	{
		return x10dGetControl(ctrlID).value;
	}
	return "";
}
function x10dGetNumValue(ctrlID)
{
	if (x10dExistControl(ctrlID))
	{
		var val = x10dGetValue(ctrlID);
		if (val == "") return 0;
		return parseFloat(x10dToNum(val));
	}
	else
	return 0;
}
function x10dSetNumValue(ctrlID, num)
{
	var value = x10dToText(num);
	x10dSetValue(ctrlID, value);
}
function x10dToNum(num) {
	num = num.toString();
	num = x10dNumberGroupSeparator == '.' ? num.replace(/\./g, "") : num.replace(/\,/g, "");
	num = num.replace(x10dNumberDecimalSeparator, '.');
	return parseFloat(num);
 }
///Converts a true number into a string number
function x10dToText(num) {
	num = num.toString();
	/*
	num = num.replace(x10dNumberGroupSeparator, "");
	num = num.replace(".", x10dNumberDecimalSeparator);
	*/
	//num = num.replace(",", ".");
	num = num.replace(".", x10dNumberDecimalSeparator); 
	return num;
}
function x10dSetThousands(S) {
	S = String(S);
	var RgX = x10dNumberDecimalSeparator ? /^(,*\s)?([-+\u00A3\u20AC]?\d+)(\d{3}\b)/ : /^(.*\s)?([-+\u00A3\u20AC]?\d+)(\d{3}\b)/;
	return S == (S = S.replace(RgX, "$1$2" + x10dNumberGroupSeparator + "$3")) ? S : x10dSetThousands(S);
}
function x10dSetValue(ctrlID, value)
{
	if (ctrlID == null) return;
	ctrlID = ctrlID.replace(":", "_");
	if (x10dExistControl(ctrlID))
	{
		x10dGetControl(ctrlID).value = value;
	}
}
function x10dSetValueFromControl(ctrlIDSet, ctrlIDGet)
{
	if (x10dExistControl(ctrlIDGet) && x10dExistControl(ctrlIDSet))
	{
		x10dSetValue(ctrlIDSet,x10dGetControl(ctrlIDGet).value);
	}
}
function x10dSetInnerHTML(ctrlID, value)
{
	if (ctrlID == null) return;
	ctrlID = ctrlID.replace(":", "_");
	if (x10dExistControl(ctrlID))
	{
		x10dGetControl(ctrlID).innerHTML = value;
	}
}
function x10dSetInnerText(ctrlID, value)
{
	if (ctrlID == null) return;
	ctrlID = ctrlID.replace(":", "_");
	if (x10dExistControl(ctrlID))
	{
		x10dGetControl(ctrlID).innerText = value;
	}
}
function x10dGetListValue(listID)
{
	var list = x10dGetControl(listID);
	if (list != null) return list.options[list.selectedIndex].value;
	return "";
}
function x10dGetListIndexFromValue(listID, value) {
	var list = x10dGetControl(listID);
	for (var i = 0; i < list.options.length; i++ ) {
		if (list.options[i].value == value) {
			return i;
		}
	}
	return -1;
}
function x10dGetListText(listID, index)
{
	var list = x10dGetControl(listID);
	if (list != null) {
		if (index == null) index = list.selectedIndex;
		return list.options[index].text;
	}
	return "";
}
function x10dSetListIndex(listID, index)
{
	var list = x10dGetControl(listID);		
	if (list != null) list.selectedIndex = index;
}
function x10dSetListValue(listID, value)
{
	var list = x10dGetControl(listID);		
	if (list != null)
	{
		for (i=0;i<list.length;i++)
		{
			if (list.options[i].value == value)
			{
				list.selectedIndex = i;
				return true;
			}
		}
	}
	return false;
}
function x10dGetCheckBoxListCheckedItems(ctrlID)
{
	var i = 0;
	var ar = new Array();
	while (x10dExistControl(ctrlID + '_' + i))
	{
		var cb = x10dGetControl(ctrlID + '_' + i);
		if (cb.checked) ar[ar.length] = cb;
		i++;
	}
	return ar;
}
function x10dClearCheckBoxList(ctrlID) {
	var cbl = x10dGetControl(ctrlID);
	if (cbl != null) {
		var count = 0;
		while (x10dExistControl(ctrlID + '_' + count)) {
			x10dGetControl(ctrlID + '_' + count).checked = false;
			count++;
		}
		
	}
}
function x10dSetCheckBox(id, checked)
{
	if (x10dExistControl(id)) x10dGetControl(id).checked = checked;
}
function x10dRound(num, N) {
	if (isNaN(num))
		num = 0;
	num = (Math.round(num*Math.pow(10,N))) / Math.pow(10,N);
	return parseFloat(num);
}
function x10dFillList(arTxt, arValue, listName, addEmpty) {
	var list = x10dGetControl(listName);
	if (list == null) return;
	list.length = 0;
	if (arValue != null)
	{
		if (addEmpty)
		{
			list.options[list.options.length] = new Option("", "");		
		}
		for (i=0; i<arTxt.length; i++) {
			list.add(new Option(arTxt[i],arValue[i]));
		} 
	}
}
function x10dInsertListItem(listName, text, value, index)
{
	var list = x10dGetControl(listName);
	var insertBeforeOption = null;
	if (index != null && list.length >= index) 
		insertBeforeOption = list.options[index];
	//list.options[index] = new Option(text,value);
	var newOption = new Option(text,value);
	try
	{
		list.add(newOption, insertBeforeOption);
	}
	catch(ex)
	{
		list.add(newOption, index);
	}
	
}
function x10dWindowOpen(url, windowName, width, height)
{
	return window.open(url, windowName, "width=" + width + ",height=" + height + ",scrollbars=1,resizable=1,status=1");
}
function x10dWindowClose(win) {
		try {
			if (win != null) win.close();
		}
		catch (e) { }
}
function x10dArrayIndex(arr, val)
{
	for (var i = 0; i < arr.length; i++) 
	{
		if (arr[i] == val) { return i; }
	}
	return -1;
}
function x10dSetDisabled(ctrl, disable)
{
	var c = x10dGetControl(ctrl);
	if (c != null) {
		if (c.type == "radio" || c.type == "checkbox") {
			x10dSetCheckBoxDisabled(c.id, disable);
		}
		else {
			c.disabled = disable;
		}
		if (c.childNodes)
		{
			for (var i = 0; i<c.childNodes.length; i++)
			{
				var cc = c.childNodes[i];
				if (cc.tagName == "INPUT" || cc.tagName == "SELECT" || cc.tagName == "DIV") x10dSetDisabled(cc, disable);
			}
		}
	}		
}
function x10dSetReadOnlyPanel(ctrl, readOnly, dontSetClass)
{
	ctrl = x10dGetControl(ctrl);
	if (ctrl!=null)
	{
		ctrl.readOnly = readOnly;
		if (!dontSetClass)
		{
			if (ctrl.tagName == "DIV")
			{
				if (ctrl.childNodes != null)
				{
					for (var i = 0; i<ctrl.childNodes.length; i++)
					{
						var c = ctrl.childNodes[i];
						if (x10dIsTagNameControl(c.tagName) || c.tagName == "DIV")
							x10dSetReadOnlyPanel(c, readOnly, dontSetClass);
					}
				}
			}
			else
			{
				if (ctrl.tagName == "button" || ctrl.type == "submit")
				{
					ctrl.disabled = readOnly;
				}
				else
				{
					if (readOnly)
					{
						if (ctrl.className.indexOf('right') > -1)
							ctrl.className = 'editreadonlyright';
						else
							ctrl.className = 'editreadonly';
					}
					else
					{
						if (ctrl.className.indexOf('right') > -1)
							ctrl.className = 'txtright';
						else
							ctrl.className = '';
					}
				}
			}
		}
	}
}
function x10dSetReadOnly(ctrl, readOnly, dontSetClass)
{
	ctrl = x10dGetControl(ctrl);
	if (ctrl!=null)
	{
		ctrl.readOnly = readOnly;
		if (!dontSetClass)
		{
			if (readOnly)
			{
				if (ctrl.className.indexOf('right') > -1)
					ctrl.className = 'editreadonlyright';
				else
					ctrl.className = 'editreadonly';
			}
			else
			{
				if (ctrl.className.indexOf('right') > -1)
					ctrl.className = 'txtright';
				else
					ctrl.className = '';
			}
		}
	}
}
function x10dSetSpecialReadOnly(ctrl, readOnly)
{
	ctrl = x10dGetControl(ctrl);
	if (ctrl!=null)
	{
		var id = ctrl.id + '_shadow';
		var c = x10dGetControl(id);
		if (ctrl.style.display == "none" && (c == null || c.style.display == "none")) return;
		if (readOnly)
		{
			if (c == null)
			{
				if (ctrl.tagName == 'SELECT')
				{
					c = document.createElement("select");
				}
				else if (ctrl.type == 'radio')
				{
					c = document.createElement("input");
					c.type = 'radio';
				}
				
				c.id = id;
				c.name = id;
				c.style.zIndex = ctrl.style.zIndex;
				c.style.width = ctrl.style.width;
				c.style.height = ctrl.style.height;
				c.style.left = ctrl.style.left;
				c.style.top = ctrl.style.top;
				c.style.position = ctrl.style.position;
				c.disabled = 'disabled';
				c.style.display = 'none';
				ctrl.parentNode.insertBefore(c, ctrl);
			}
			
			if (ctrl.tagName == 'SELECT') {
				for (var i = 0; i < ctrl.options.length; i++) {
					var opt = ctrl.options[i];
					c.add(new Option(opt.text, opt.value));
				}
				c.selectedIndex = ctrl.selectedIndex;
				//c.options[0] = new Option(ctrl.options[ctrl.selectedIndex].text, '');
			}
			else if (ctrl.type == 'radio')
			{
				c.checked = ctrl.checked;
			}
			x10dDisplay(ctrl, false);
			x10dDisplay(c, true);
		}
		else
		{
			if (c != null)
			{
				x10dDisplay(c, false);
			}
			x10dDisplay(ctrl, true);
		}
	}	
}
function x10dDisplayCtrlID(ctrlID, display)
{
	x10dDisplay(x10dGetControl(ctrlID), display)
}
function x10dDisplay(ctrl, display) {
	ctrl = x10dGetControl(ctrl);
	if (ctrl != null)
	{
		if (display == null)
		{
			//Toggle
			if (ctrl.style.display == "none" || ctrl.style.visibility == "hidden") display = true;
		}
		ctrl.style.display = display ? "" : "none";
		ctrl.style.visibility = display ? "visible" : "hidden";
		if ((ctrl.type == "radio" || ctrl.type == "checkbox") && ctrl.parentNode.tagName == 'SPAN')
		{
			var labels = ctrl.parentNode.getElementsByTagName("label");
			for (var i = 0; i < labels.length; i++) {
				labels[i].style.display = display ? "" : "none";
				labels[i].style.visibility = display ? "visible" : "hidden";
			}
		}
	}
	return display;
}
function x10dDisplayPanel(ctrl, display, isChild)
{
	var c = x10dGetControl(ctrl);
	if (c != null)
	{
		if (c.childNodes)
		{
			for (var i = 0; i<c.childNodes.length; i++)
			{
				var cc = c.childNodes[i];
				if (cc.style != null) x10dDisplay(cc, display);
				if (cc.tagName == "DIV") x10dDisplayPanel(cc, display, true);
			}
		}
	}		
}
function x10dDisplayLabelAndControl(id, display, preName, pre)
{
	if (pre == null) pre = "tb";
	x10dDisplayCtrlID(preName + pre + id, display);
	x10dDisplayCtrlID(preName + "lbl" + id, display);
}
function x10dClearControls(ctrls) {
	for (var i = 0; i < ctrls.length; i++) {
		x10dSetValue(ctrls[i], '');
	}
}
function x10dClearChildControls(panelID, clearChildPanels, excludeArray)
{
	var panel = x10dGetControl(panelID);
	if (panel != null)
	{
		for (var i = 0; i<panel.childNodes.length; i++)
		{
			var c = panel.childNodes[i];
			if (c.tagName == "INPUT")
			{
				if (c.type == "text")
				{
					if (excludeArray == null || x10dArrayIndex(excludeArray, c.id) == -1)
						c.value="";
				}
			}
			else if (clearChildPanels && c.tagName == "DIV" && c.childNodes != null && c.childNodes.length > 0)
			{
				if (excludeArray == null || x10dArrayIndex(excludeArray, c.id) == -1)
					x10dClearChildControls(c, true, excludeArray);
			}
		}
	}		
}
var x10dWaitCtrl = null;
var x10dWaitCtrlCount = 0;
function x10dPost()
{
	//Denne funktion er ikke færdigudviklet - bruges til at vise en "vent" box ved postbacks der kan tage lidt tid...
	var w = document.createElement("div");
	x10dWaitCtrl = w;
	w.innerHTML = "<b>Vent</b>";
	w.style.fontWeight = "bold";
	w.style.backgroundColor = "white";
	w.style.border = "solid 2px gray";
	w.style.padding = "15px";
	w.style.left = "100px";
	w.style.top = "20px";
	w.style.zIndex = 10000000;
	w.style.position = "absolute";
	w.style.width = "150px";
	w.style.height = "50px";
	window.document.forms[0].appendChild(w);
	setTimeout("x10dPosting()", 300);
}
function x10dPosting()
{
	x10dWaitCtrlCount++;
	if (x10dWaitCtrlCount > 3) x10dWaitCtrlCount = 0;
	var s = "Vent";
	for (var i = 0; i < x10dWaitCtrlCount; i++) s += ".";
	x10dWaitCtrl.innerHTML = s;
	setTimeout("x10dPosting()", 300);
}
function x10dAddHiddenTextBox(id, parentID, value)
{
	if (!x10dExistControl(parentID)) return false;
	if (x10dExistControl(id))
	{
		x10dSetValue(id, value);
	}
	else
	{
		var tb = document.createElement("input");
		tb.id = id;
		tb.name = id;
		tb.value = value;
		tb.type = "text";
		tb.style.display = 'none';
		tb.style.visibility = 'hidden';
		x10dGetControl(parentID).appendChild(tb);
	}
	return true;
}
function x10dIsTagNameControl(tagName)
{
	return (tagName == "INPUT" || tagName == "SELECT" || tagName == "TEXTAREA" || tagName == "BUTTON");
}
var x10dFocusIndex;
var x10dFocusCtrl;
function x10dSetFirstFocus(ctrl) {
	x10dFocusIndex = null;
	x10dFocusCtrl = null;
	if (!x10dFindFirstFocus(ctrl) && x10dFocusCtrl != null) {
		try {
			x10dFocusCtrl.focus();
			return true;
		}
		catch (e) { }
	}
}
function x10dFindFirstFocus(ctrl)
{
	if (ctrl != null) {
		for (var i = 0; i < ctrl.childNodes.length; i++)
		{
			var c = ctrl.childNodes[i];
			var cid = c.id;
			if (x10dIsTagNameControl(c.tagName)) {
				if (x10dIsActive(c)) {
					try {
						if (x10dFocusIndex == null && c.tabIndex == 0) {
							c.focus();
							return true;
						}
						if (c.tabIndex > 0 && (x10dFocusIndex == null || c.tabIndex < x10dFocusIndex)) {
							x10dFocusIndex = c.tabIndex;
							x10dFocusCtrl = c;
						}
					}
					catch (e) { }
				}
			}
			else if (x10dHasChildren(c, true)) {
				if (x10dFindFirstFocus(c)) return true;
			}
		}
	}
	return false;
}
function x10dHasChildren(c, onlyActive) {
	return (c.childNodes != null && c.childNodes.length > 0 && (!onlyActive || x10dIsActive(c)) && (c.tagName == "DIV" || c.tagName == "SPAN" || c.tagName == "TABLE" || c.tagName == "TBODY" || c.tagName == "TR" || c.tagName == "TD"));
}
function x10dSetFocus(ctrl)
{
	var c = x10dGetControl(ctrl);
	if (c != null && x10dIsActive(c))
	{
		c.focus();
	}	
}
function x10dSetCheckBoxDisabled(ctrlID, disabled) {
	var cb = x10dGetControl(ctrlID);
	if (disabled)
	{
		cb.disabled = 'disabled';
		if (cb.parentNode.tagName == 'SPAN') cb.parentNode.disabled = 'disabled';
	}
	else
	{
		cb.disabled = '';
		if (cb.parentNode.tagName == 'SPAN') cb.parentNode.disabled = '';
	}
}
function x10dIsActive(c)
{
	return (c!=null && !c.readOnly && !c.disabled && c.style.display != "none" && c.style.visibility != "hidden" && c.style.display != "none");
}
function x10dMethodExist(method) {
	return (typeof (method) == "object" || typeof (method) == "function");
}
function x10dOpenerMethodExist(opener, openerMethod)
{
	if (opener != null && !window.opener.closed)
	{
		return eval("(typeof(opener." + openerMethod + ") == 'object' || typeof(opener." + openerMethod + ") == 'function')");
	}
	return false;
}
function x10dOpenerExist(opener)
{
	return (opener != null && !window.opener.closed);
}
function x10dShowDBLog(tableName, id)
{
	x10dWindowOpen('DBLog.aspx?TableName=' + tableName + '&TableRecordID=' + id, "DBLog" + id, 1310, 850);
}
function x10dEditNote(noteType, noteID, recordUID, recordUID1)
{
	if (noteID != null && noteID != '' && noteID != '0')
		url = "Note.aspx?NoteID=" + noteID;
	else
	{
		recordUID = x10dReplaceText(recordUID, '=', '%3d');
		recordUID1 = x10dReplaceText(recordUID1, '=', '%3d');
		url = 'Note.aspx?NoteType=' + noteType + '&RecordUID=' + recordUID + '&RecordUID1=' + recordUID1;
	}
	x10dWindowOpen(url, 'Note', 770, 830);
}

function x10dReplaceText(text, search, replaceWith)
{
	//Global and caseinsensitive
	if (text == null) return null;
	var match = new RegExp(search, "ig");
	var res = text.replace(match, replaceWith);
	return res;
}
function x10dPadText(text, length, padChar, rightPadding)
{
	if (text == null) text = "";
	while (text.length < length)
	{
		text = rightPadding ? text + padChar : padChar + text;
	}
	return text;
}
//KAN SLETTES NÅR DEN GAMLE SYSTEM REPORT IKKE MERE BRUGES HOS IKANO
function Toggle(id)
{
	var c = x10dGetControl(id);
	c.style.display = '';
	c.style.visibility = 'visible';
}



/*** OLD X10DMISC.JS ***/

///Adds months and days to a string date (dd-mm-yyyy)
function AddToDateString(dateString, months, days) {
	var date = new Date(dateString.substr(6, 4), Number(dateString.substr(3, 2)) - 1, dateString.substr(0, 2));
	date = AddToDate(date, months, days);
	return ConvertDateToString(date);
}
function AddToDate(date, months, days) {
	date.setMonth(date.getMonth() + Number(months));
	date = new Date(date.getTime() + (days * 24 * 60 * 60 * 1000));
	return date;
}
///Converts a true date to a string date (dd-mm-yyyy)
function ConvertDateToString(fromDate) {
	var date = new Date(fromDate);
	var day = date.getDate();
	if (day < 10) day = "0" + String(day);
	var month = date.getMonth() + 1;
	if (month < 10) month = "0" + String(month);
	return day + "-" + month + "-" + date.getFullYear();
}
///Sets a control to the specified value
function SetValue(ctrlID, value) {
	ctrlID = ctrlID.replace(":", "_");
	if (x10dExistControl(ctrlID)) {
		x10dGetControl(ctrlID).value = value;
	}
}
///Sets a control to the specified numeric value and converts the numeric value into text
function SetNumValue(ctrlID, num) {
	var value = x10dToText(num);
	SetValue(ctrlID, value);
}
///Sets a control to the specified amount - amount must be an amount (123456.56)
function SetAmount(ctrlID, amount, round) {
	if (x10dExistControl(ctrlID)) {
		var value = RoundFormat(amount, round == null ? 2 : 0);
		value = x10dToText(value);
		value = x10dSetThousands(value);
		SetValue(ctrlID, value);
	}
}
///Returns a controls value
function GetValue(ctrlID) {
	if (x10dExistControl(ctrlID)) {
		return x10dGetControl(ctrlID).value;
	}
	return "";
}
///Returns a controls numeric value
function GetNumValue(ctrlID) {
	if (x10dExistControl(ctrlID)) {
		var val = GetValue(ctrlID);
		if (val == "") return 0;
		var num = x10dToNum(val);
		return parseFloat(num);
	}
	else
		return 0;
	//her
}
///Rounds a number into a "string" format with x decimals and trailing zeroes, fx 12.3 => 12.30
function RoundFormat(num, N) {
	num = Round(num, N);
	num = String(num);
	if (N > 0) {
		if (num.indexOf(".") == -1)
			num += ".";
		while (num.substring(num.indexOf(".")).length < N + 1) {
			num += "0";
		}
	}
	return num;
}
///Rounds a number to x decimals, but without trailing zeroes (x=2): 12.3 => 12.3
function Round(num, N) {
	if (isNaN(num))
		num = 0;
	num = (Math.round(num * Math.pow(10, N))) / Math.pow(10, N);
	return parseFloat(num);
}
