function checkThisForm(formname, submitbutton, errors)
{
	if (errors == '')
	{
		eval(formname+'.'+submitbutton+'.disabled=true');
		eval('document.'+formname+'.submit()');
	}
	else
	{
		alert(errors);
	}
}

function checkText(formname, textboxname, displaytext)
{
	var localerror = '';
	if(Trim(eval('document.'+formname+'.'+textboxname+'.value'))=='')
	{
		localerror =  'Pole '+displaytext+' jest wymagane.\n';
	}
	else localerror = '';
	return localerror;
}

function checkNum(formname, textboxname, displaytext)
{
	var localerror = '';
	if(isNaN(eval('document.'+formname+'.'+textboxname+'.value')))
	{
		localerror =  '- '+displaytext+' Should Be A Number With No Spaces.\n';
	}
	else localerror = '';
	return localerror;
}

function checkSpaces(formname, textboxname, displaytext)
{
	var valid = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_'; // define valid characters
	var localerror = '';
	if(!isValid(Trim(eval('document.'+formname+'.'+textboxname+'.value')), valid))
	{
		localerror =  '- '+displaytext+' Should Not Contain Spaces.\n';
	}
	else localerror = '';
	return localerror;
}

function checkSelect(formname, selectboxname, displaytext)
{
	var localerror = '';
	if(eval('document.'+formname+'.'+selectboxname+'.selectedIndex')==0)
	{
		localerror =  '- '+displaytext+' is Required.\n';
	}
	else localerror = '';
	return localerror;
}

function getRadio(formname, radioname, displaytext)
{
	for (var i=0; i < eval('document.'+formname+'.'+radioname+'.length'); i++)
    {
	  if (eval('document.'+formname+'.'+radioname+'[i].checked'))
      {
     	 var rad_val = eval('document.'+formname+'.'+radioname+'[i].value');
	  	 return rad_val;
      }
   }
}

function checkRadio(formname, radioname, displaytext)
{
	var localerror = '';
	var rad_val    = '';
	for (var i=0; i < eval('document.'+formname+'.'+radioname+'.length'); i++) //check every radio button by that name
    {
	  if (eval('document.'+formname+'.'+radioname+'[i].checked')) //if it is checked
      {
     	 rad_val += '-';
      }
	  else rad_val += '';
	}
	if (rad_val=='')
	{
		localerror =  'Pole '+displaytext+' jest wymagane.\n';
	}
	return localerror;
}

function autoComplete (field, select, property)
{/*onKeyUp="autoComplete(this,this.form.selectboxname,'value',false)" - add this to textbox where you are typing*/
	var found = false;
	for (var i = 0; i < select.options.length; i++)
	{
		if (select.options[i][property].toUpperCase().indexOf(field.value.toUpperCase()) == 0)
		{
			found=true; break;
		}
	}
	if (found)
	{
		select.selectedIndex = i;
	}
	else
	{
		select.selectedIndex = -1;
	}
	if (field.createTextRange)
	{
		if (!found)
		{
			field.value=field.value.substring(0,field.value.length-1);
			return;
		}
		var cursorKeys ="8;46;37;38;39;40;33;34;35;36;45;";
		if (cursorKeys.indexOf(event.keyCode+";") == -1)
		{
			var r1 = field.createTextRange();
			var oldValue = r1.text;
			var newValue = found ? select.options[i][property] : oldValue;
			if (newValue != field.value)
			{
				field.value = newValue;
				var rNew = field.createTextRange();
				rNew.moveStart('character', oldValue.length) ;
				rNew.select();
			}
		}
	}
}

function Trim(s) 
{
  while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r'))
  {
    s = s.substring(1,s.length);
  }
  while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r'))
  {
    s = s.substring(0,s.length-1);
  }
  return s;
}

function isValid(string,allowed)
{
//	var valid = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; // define valid characters
    for (var i=0; i< string.length; i++)
	{
		if (allowed.indexOf(string.charAt(i)) == -1) return false;
    }
    return true;
}