// <!--
// GESTIX-NET Invoicing & Business Management Software
//
// Copyright 2009 WESTIX-TI LDA
//


var sVersionID = "47.27";

var detect = navigator.userAgent.toLowerCase();
var browser,version,total,thestring;

function checkIt(string)
{
	place = detect.indexOf(string) + 1;
	thestring = string;
	return place;
}

if (checkIt('konqueror'))
{
	browser = "Konqueror";
}
else if (checkIt('safari')) browser = "Safari"
else if (checkIt('omniweb')) browser = "OmniWeb"
else if (checkIt('opera')) browser = "Opera"
else if (checkIt('webtv')) browser = "WebTV";
else if (checkIt('icab')) browser = "iCab"
else if (checkIt('msie')) browser = "MSIE"
else if (checkIt('blackberry')) browser = "hh"
else if (!checkIt('compatible'))
{
	browser = "Netscape"
	version = detect.charAt(8);
}
else browser = "unknown";

if (!version) version= parseFloat(detect.substr(place + thestring.length));

function oc_prtsel()
{
	var obj= document.getElementById('prtsel');
	var xLabelCont= document.getElementById('label_ctrl');
	if (xLabelCont != null)
	{
		if (obj.value == '11')
		{
			xLabelCont.className= "label_on";
		}
		else
		{
			xLabelCont.className= "label_off";
		}
	}
}

var wPopup=0;
function gxWindow(sURL,sSize)
{
	sArgs= 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, copyhistory=no, left=0, top=0';
	if (sSize == 'small') sArgs= sArgs + ', width=600, height=500';
	wPopup= open(sURL, 'GNetWin', sArgs);
	if (wPopup) wPopup.focus();
	return false;
}
function gxPrint(sURL,sSize)
{
	return gxWindow(sURL,sSize);
}
function gxPDF(sURL,sSize)
{
	if (browser=='Safari' && version < 412) {
		window.location.href= sURL;
		return false;
	}
	return gxWindow(sURL,sSize);
}
function CheckDocPrintURL(sURL)
{
	var prtopt= document.getElementById('prtopt');
	if (null != prtopt)
	{
		sURL+= ('&prtopt=' + prtopt.value);
	}
	var prtsel= document.getElementById('prtsel');
	if (null != prtsel)
	{
		sURL+= ('&prtsel=' + prtsel.value);
	}
	var prtcnt= document.getElementById('prtcnt');
	if (null != prtcnt)
	{
		sURL+= ('&prtcnt=' + (prtcnt.checked ? '1' : '0'));
	}
	var prtcpp= document.getElementById('prtcpp');
	if (null != prtcpp)
	{
		sURL+= ('&prtcpp=' + prtcpp.value);
	}
	var prtlin= document.getElementById('prtlin');
	if (null != prtlin)
	{
		sURL+= ('&prtlin=' + prtlin.value);
	}
	var prtlang= document.getElementById('prtlang');
	if (null != prtlang)
	{
		sURL+= ('&prtlang=' + prtlang.value);
	}
	var hideprice= document.getElementById('hideprice');
	if (null != hideprice)
	{
		sURL+= ('&hideprice=' + hideprice.value);
	}
	return sURL;
}
function DocPrint(sURL, sSize)
{
	return gxPrint(CheckDocPrintURL(sURL), sSize);
}
function DocPDF(sURL, sSize)
{
	return gxPDF(CheckDocPrintURL(sURL), sSize);
}
var wHelp= 0;
function gxHelp(sURL,sSize) // print
{
	sArgs= 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, copyhistory=no, left=0, top=0';
	if (sSize == 'small') sArgs= sArgs + ', width=600, height=500';
	wHelp= open(sURL, 'GNetHelp', sArgs);
	if (wHelp) wHelp.focus();
	return false;
}

var sDataReqMsg= '';
var sDataReqObj= '';
function DataRequired(sFieldName,sObjName)
{
	if (sDataReqMsg != '') sDataReqMsg+= ', ';
	sDataReqMsg+= sFieldName;
	if (sDataReqObj == '') sDataReqObj= sObjName;
}

var bCancelPressed= false;
function OnCancel(sMsg)
{
	if (sMsg != "" && !confirm(sMsg)) return false;
	bCancelPressed= true;
	var x= document.getElementById('home');
	if (x) x.value= '1';
	return true;
}
var ocolor;
function omo(Obj)
{
	ocolor= Obj.style.color;
	Obj.style.color= '#D00';
}
function omout(Obj)
{
	if (ocolor != null) Obj.style.color= ocolor;
}
function AddCmt(Obj)
{
	if (document.form1.dhd_obs.value != '')
		document.form1.dhd_obs.value+= '\n\n';
	document.form1.dhd_obs.value+= Obj.innerHTML;
}
function okp(Obj, Ev) // submit form when ENTER pressed
{
	if (Ev.keyCode==13)
	{
		if (Obj.tagName == 'TEXTAREA')
		{
			return true;
		}
		if (Obj.tagName == 'INPUT' && (Obj.type == 'submit' || Obj.type == 'button'))
		{
			return true;
		}
		// try to focus the next element
		var coll= document.form1.elements;
		var bLoop= true, nmax= coll.length;
		for (var nn= 0; nn < nmax; nn++)
		{
			if (coll[nn] == Obj)
			{
				nn++;
				for (;;)
				{
					for (var i= nn; i < nmax; i++)
					{
						var elm= coll[i];
						if (elm.disabled) continue;
						if (elm.className == 'cal') continue; // skip the date button
						if (!elm.readOnly && elm.type != 'hidden' && elm.id != 'aCancel')
						{
							try { 
								elm.focus();
								if (elm.tagName != 'TEXTAREA' && elm.tagName != 'SELECT'
									&& elm.type != 'submit' && elm.type != 'button') {
									
									elm.select();
								}
							}
							catch(e) {
							}
							return false;
						}
					}
					if (!bLoop) break;
					nn= 0;
					bLoop= false;
				}
				break;
			}
		}
		return false;
	}
	var chCode= Ev.charCode != null ? Ev.charCode : Ev.keyCode;
	if (Obj.className == 'InpEdNum' && chCode != 0)
	{
		var s= String.fromCharCode(chCode);
		if (s == '-' || s == '.' || s == ',' || (s >= '0' && s <= '9'))
		{
			return true;
		}
		return false;
	}
	if (Obj.className == 'InpEdDT' && chCode != 0)
	{
		var s= String.fromCharCode(chCode);
		if (s == '-' || s == '/' || s == ' ' || (s >= '0' && s <= '9'))
		{
			return true;
		}
		return false;
	}
	return true;
}
function on_num_focus(Obj, Ev) // onfocus
{
	var val= "";
	var sVal= Obj.value;
	for (var kk= 0; kk < sVal.length; kk++)
	{
		if (sVal.charAt(kk) != chThousands) val+= sVal.charAt(kk);
	}
	Obj.value= val;
	Obj.select();
	return true;
}
function on_num_change(Obj, Ev) // onchange
{
	var val= "";
	var sVal= Obj.value;
	for (var kk= 0; kk < sVal.length; kk++)
	{
		if (sVal.charAt(kk) == chThousands || sVal.charAt(kk) == chDecimals) val+= chDecimals;
		else val+= sVal.charAt(kk);
	}
	Obj.value= val;
	return true;
}
function reg() // register application
{
	window.focus();
}
function parseNum(sVal)
{
	var sOut= "";
	var ch;
	for (var nn= 0; nn < sVal.length; nn++)
	{
		ch= sVal.charAt(nn);
		if (ch==chDecimals)
		{
			sOut+= '.';
		}
		else if (ch == '-' || ch >= '0' && ch <= '9')
		{
			sOut+= ch;
		}
	}
	return parseFloat(sOut);
}
function FormatMoney(sVal)
{
	var sOut= "";
	sVal+= ' ';
	var ch, bDec= false, nDec= 0;
	for (var nn= 0; nn < sVal.length; nn++)
	{
		ch= sVal.charAt(nn);
		if (ch=='.')
		{
			sOut+= chDecimals;
			bDec= true;
			nDec= 0;
		}
		else if (ch == '-' || ch >= '0' && ch <= '9')
		{
			if (bDec)
			{
				++nDec;
				if (nDec < 3) sOut+= ch;
			}
			else sOut+= ch;
		}
	}
	if (sOut=='') sOut= '0';
	if (!bDec) sOut+= (chDecimals+'00');
	else while (nDec++ < 2) sOut+= '0';
	
	return sOut;
}
function ProcessButton(sButton)
{
	var x= document.getElementById(sButton);
	if (x) { x.click(); }
}

function gxAlert(sMsg)
{
	window.alert(sMsg);
	return false;
}
function writeCookie(name, value, domain, path, exp_days) {
	value= escape(value);
	value= (name + "=" + value);
	document.cookie= value;
}
function getCookie(name)
{
	var re= new RegExp("(^|;\\s*)" + name + "\\s*=(.*?)(;|$)");
	if (re.test(document.cookie)) {
		var value = RegExp.$2;
		value= unescape(value);
		return (value);
	}
	return null;
}
function CheckReload2(sMsg, sVersion)
{
	var s= getCookie("GestixVersionID");
	if (s == sVersion)
	{
		window.alert(sMsg);
		return;
	}
	window.location.reload();
	writeCookie("GestixVersionID", sVersion);
}



function open_app(sURL)
{
	var x= window.open(sURL,'','titlebar=no,toolbar=no,location=no,directories=no,status=1,menubar=no,scrollbars=1,resizable=yes,copyhistory=0,width=960,height=800');
	if (x)
	{
		x.focus();
	}
	return false;
}
function submit_form(obj) // AutoSubmitOn...
{
	var x= document.form1;
	if (x)
	{
		var y= document.getElementById('srcElementName');
		if (y) y.value= obj.id;
		x.submit();
	}
}
function HideById(sID, bHide)
{
	var x= document.getElementById(sID);
	if (x) x.className= bHide ? 'HideHide' : 'HideShow';
}
var bState= 0;
function select_all(sFilter, nMatch)
{
	bState= !bState;
	var coll= document.form1.elements;
	var bLoop= true, nmax= coll.length;
	for (var nn= 0; nn < nmax; nn++)
	{
		var elm= coll[nn];
		if (elm.type == 'checkbox' && elm.className == 'multisel')
		{
			if (sFilter != null && sFilter != '')
			{
				var s= ' '+elm.id;
				s+= ' ';
				if (s.indexOf(sFilter) == -1)
				{
					continue;
				}
			}
			elm.checked= bState;
		}
	}
	return false;	
}

function ClickButton(sID)
{
	var x= document.getElementById(sID);
	if (null != x)
	{
		x.click();
	}
}

// -->

