function isValidEMail(strEmail)
  {
  re = /^[^.]+(\.[^.]+)*@([^.]+[.])+[a-z]{2,3}$/;
  return strEmail.search(re) == 0;
  }
function isValidEMail2(email)
  {
// a very simple email validation checking. 
// you can add more complex email checking if it helps 
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) return false;
    if(splitted[1] != null )
    {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) return false;
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) 
      {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) return false;
      }// if
      return true;
    }
return false;
}

function perMailChange(strEmail)
  {
	var bool = !isValidEMail2(strEmail);
	setElement('chkSendNews','disabled', bool);
	//setElement('perNewsLetter','disabled', bool);
	setElement('selMailFormat','disabled', bool || !getElement('chkSendNews','checked'));
  }

function perSendMailChange(el)
{
	if (el == 'nothing') return;
	
	setElement('selMailFormat','disabled',!el.checked);
}
 
function perNewsLetterCheck(checked)
  {
  if(!getElement('chkSendNews','checked')) return;
  var objRub=null,i=1;
  objRub = getElement('perRub' + i);
  //objRub = document.all('perRub' + i);
  while(objRub != null)
    {
    objRub.checked=checked;
    i++;
    objRub = getElement('perRub' + i);
    //objRub = document.all('perRub' + i);
    }
  }
  
  
function perBefSubmit()
  {
  var objRub=null,i=1,strReturn='';
  
  /*if(getElement('chkSendNews','disabled'))
	//if(document.all('chkSendNews').disabled)
    {
    setElement('chkSendNews','disabled',false);
    setElement('chkSendNews','checked',false);
    //document.all('chkSendNews').disabled = false;
    //document.all('chkSendNews').checked = false;
    }*/
  objRub = getElement('perRub' + i);
  //objRub = document.all('perRub' + i);
  while(objRub != null)
    {
    if(objRub.checked)
      {
      if(i > 1) strReturn += ',';
      strReturn += objRub.getAttribute('item_id');
      }
    i++;
    objRub = getElement('perRub' + i);
    //objRub = document.all('perRub' + i);
    }
  setElement('perRubricData','value',strReturn);
  //document.all('perRubricData').value = strReturn;  
  }
  
var n = new Array(0,0,0,0,0);

function isDateTime(string, format)  {
	// kontrola vstupnich parametru
	if ((isNaN(format)) || (format<1) || (format>3)) return false;

	// nastaveni promennych
	var separators = new Array('.. : ', '.. ', ': ');
	var x = 0;
	var separator;

	var i = 0;
	while ((i < string.length) && (x < 5))
	{

		// odriznuti mezer
		while ((i < string.length) && (string.charAt(i) == ' '))
		{
			i = i + 1;
		}
		
		// nacteni nasledujiciho cisla
		number = '';
		while ((i < string.length) && (string.charAt(i) >= '0') && (string.charAt(i) <= '9'))
		{
			number = number + string.charAt(i);
			i = i + 1;
		}

		// kontrola a zapis nacteneho cisla
		if (number == '')
		{
			if (x < separators[format-1].length) return false;
		}
		else
		{
			n[x] = number;
			x = x + 1;

			// nacteni a kontrola oddelovace
			separator = ' ';
			if (i < string.length)
			{
				separator = string.charAt(i);
				i = i + 1;
			}
			if (separator != separators[format-1].charAt(x-1)) return false;
		}
	}
	
	// kontrola delky zadanych dat
	if (x != separators[format-1].length) return false;

	// kontrola zadanych hodnot
	if (format < 3)
	{
		// kontrola roku
		if (n[2] < 100)
		{
			if (n[2] < 30)
			{
				n[2] = eval('2000 + ' + n[2].valueOf() + ';')
			}
			else
			{
				n[2] = eval('1900 + ' + n[2].valueOf() + ';')
			}
		}
		if ((n[2] < 1900) || (n[2] > 2100)) return false;

		// kontrola masice
		if ((n[1] < 1) || (n[1] > 12)) return false;

		// kontrola dne
		var days = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	    if ((n[1].valueOf() == 2) && ((((parseInt(n[2].valueOf() / 4 ,10) * 4) == n[2].valueOf()) && !((parseInt(n[2].valueOf() / 100,10) * 100 ) == n[2].valueOf())) || n[2].valueOf() == 2000))
	    {
			monthdays = 29;
		} 
		else
		{
			monthdays = days[n[1]-1]
		}
		if ((n[0] < 1) || (n[0] > monthdays)) return false;
		
	}
	
	if ((format == 1) || (format == 3))
	{
		var fhours = new Array(3,0,0);
		x = fhours[format-1];
	
		// kontrola hodin
		if ((n[x+0] < 0) || (n[x+0] > 23)) return false;

		// kontrola minut
		if ((n[x+1] < 0) || (n[x+1] > 59)) return false;
	}
	
	return true;
}


