var wPop;
var sFls = new Object;
var Arr = new Array;
var pix = new Image;
var Upl = '../upload/';
var pthPic = 'pic/';
var stx = '';
var sMsg = '';
var sRt;

function setMainImage(f1)
{
  var mainimg = document.getElementById("mainpic");
  mainimg.src = pthPic + f1;
  return true;
}

function debg(sMsg)
{
  window.alert(sMsg);
}

function popWin(f1)
{
  wPop = window.open(f1,'winPop','width=300,height=250,top=20,left=20,location=no,resizable=no,scrollbars=no,toolbars=no,status=no,titlebar=no,directories=no,menubar=no');
  wPop.focus();
}

function closeWin()
{
	if (wPop==null)
	{
		return;
	}
	else
	{
		if (wPop.closed==false)
		{
			wPop.close();
		}
	}
	return;
}

function getSelectedValue(f1)
{
	if (f1 == null)	return null;
	if (f1.selectedIndex=='undefined'||f1.options[f1.selectedIndex].value==null||f1.options[f1.selectedIndex].value< 0)	return null;
	return f1.options[f1.selectedIndex].value;
}

function getCheckedValue(f1,f2)
{
	var s_type = '';
	var rChc = '';
	var rUnc = '';	
	var sRt;

	for (var i = 0; i < f1.elements.length; i++)
	{
	  s_ckd = f1.elements[i].checked;
	  s_type = f1.elements[i].type;
	  s_val = f1.elements[i].value;		
		if (s_type=='checkbox'&&s_ckd==true) rChc += ',' + s_val;
		if (s_type=='checkbox'&&s_ckd!=true) rUnc += ',' + s_val;		
	}
	if (rChc.length==0) return null;
	sRt = confirm('Do you really ' + f2 + ' ?');
	if (sRt!=true)
	{
		sRt = 'CANCEL';
	}
	else
	{
		sRt = rChc.substring(1,rChc.length)+'@'+rUnc.substring(1,rUnc.length);		
	}	
	return sRt;
}

function CheckBoxes(f1,f2,f3,f4)
{
	var s_type = '';

	f4 = f4.toLowerCase();
	if (f2 == 0) {f2 = 0} else {f2 = f2 - 1};
	if (f3 == 0) {f3 = document.frForm.elements.length};
	
	for (var i = f2; i < f2 + f3; i++)
	{
		s_type = document.frForm.elements[i];
		if (f1 == 'frForm' || f1 == '') {f1 = s_type.name};
		if (s_type.type == 'checkbox')
		{
			if (f4 == 'c')
				s_type.checked = true;
			if (f4 == 'u')
				s_type.checked = false;
			if (f4 == 's')
				s_type.checked = !s_type.checked;
		}
	}
	return;
}

function CheckBoxes2(f1,f2,f3,f4)
{
	var s_type = '';

	f4 = f4.toLowerCase();
	if (f2 == 0) {f2 = 0} else {f2 = f2 - 1};
	if (f3 == 0) {f3 = document.frForm2.elements.length};
	
	for (var i = f2; i < f2 + f3; i++)
	{
		s_type = document.frForm2.elements[i];
		if (f1 == 'frForm2' || f1 == '') {f1 = s_type.name};
		if (s_type.type == 'checkbox')
		{
			if (f4 == 'c')
				s_type.checked = true;
			if (f4 == 'u')
				s_type.checked = false;
			if (f4 == 's')
				s_type.checked = !s_type.checked;
		}
	}
	return;
}

function openFileDlg(f1,f2,f3)
{
	var wDlg = window.open("../inc/files.asp?id="+f1+"&fld="+f2+"&sid="+f3,"wDlg","width=332,height=220,top=300,left=400,location=no,resizable=no,scrollbars=yes,toolbars=no,status=no,titlebar=no,directories=no,menubar=no");
	wDlg.focus()
}

function openImgH(f1)
{
	var wImwH = window.open("inc/image.asp?img="+f1,"wImageH","width=430,height=380,top=125,left=650,location=no,resizable=no,scrollbars=no,toolbars=no,status=no,titlebar=no,directories=no,menubar=no");
	wImwH.focus();
}

function openImgW(f1)
{
	var wImwW = window.open("inc/image.asp?img="+f1,"wImageW","width=380,height=430,top=125,left=650,location=no,resizable=no,scrollbars=no,toolbars=no,status=no,titlebar=no,directories=no,menubar=no");
	wImwW.focus();
}

function URLDecode(f1)
{
	var resultStr = '';
	if (f1=='undefined'||f1==null)	
		return null;
	
	f1 += '';	
	for (var i = 0; i < f1.length; i++)
	{
		if (f1.charAt(i) == '+')
			resultStr += ' ';
		else
			resultStr += f1.charAt(i);
	}	
	return unescape(resultStr);
}

function IsEmail(f1)
{
	if (f1 == null)
		return (false);

	var supported = 0;
	if (window.RegExp)
	{
		var tempStr = "a";
		var tempReg = new RegExp(tempStr);
		if (tempReg.test(tempStr)) supported = 1;
	}
	if (!supported) 
		return (f1.indexOf(".") > 2) && (f1.indexOf("@") > 0);
	var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
	return (!r1.test(f1) && r2.test(f1));
}

function setDateFormat(f1,f2)
{
	var sRet = '';
	if (f1 == null) return '';
	
	dd = f1.substring(0,2);
	mm = f1.substring(3,5);
	yy = f1.substring(6,10);
	hh = f1.substring(11,13);
	mn = f1.substring(14,16);
	ss = '00'
	
	switch(f2) 
	{
		case 0:
		{
			sRet = dd + '.' + mm + '.' + yy + ' ' + hh + ':' + mn + ':' + ss;
			break;
		}
		case 1:
		{
			sRet = dd + '.' + mm + '.' + yy;
			break;
		}
		case 2:
		{
			sRet = hh + ':' + mn + ':' + ss;
			break;
		}
		case 3:
		{
			sRet = mm + '/' + dd + '/' + yy.substring(2,4);
			break;
		}
		case 4:
		{
			sRet = yy + '-' + mm + '-' + dd;
			break;
		}
	}
	
	return sRet;
}

function joinDateTime(f1,f2)
{
	if (f1 == null)	return '';
	if (f2 == null)	return '';

	var tmpStr = f1.value + ' ' + f2.value;
	return tmpStr;
}

function relativeDateTime(f1,f2)
{
	if (f1 == null)	return false;
	if (f2 == null)	return false;
	
	dd = f1.substring(0,2);
	mm = f1.substring(3,5);
	yy = f1.substring(6,10);
	hh = '00';
	mn = '00';
	ss = '00';
	
	dFrom = new Date();
	dFrom.setDate(dd);
	dFrom.setMonth(mm-1);
	dFrom.setFullYear(yy);
	dFrom.setHours(hh);
	dFrom.setMinutes(mn);
	dFrom.setSeconds(ss);
	
	dd = f2.substring(0,2);
	mm = f2.substring(3,5);
	yy = f2.substring(6,10);
	hh = '00';
	mn = '00';
	ss = '00';
	
	dTo = new Date();
	dTo.setDate(dd);
	dTo.setMonth(mm-1);
	dTo.setFullYear(yy);
	dTo.setHours(hh);
	dTo.setMinutes(mn);
	dTo.setSeconds(ss);
	
	var diffDT = dTo - dFrom;
	if (diffDT <= 0) 
	{
		return false;
	}
	else
	{
		return true;
	}
}

function diffDateTime(f1,f2)
{
	if (f1 == null)	return 0;
	if (f2 == null)	return 0;
	
	dd = f1.substring(0,2);
	mm = f1.substring(3,5);
	yy = f1.substring(6,10);
	hh = f1.substring(11,13);
	mn = f1.substring(14,16);
	ss = '00'
	
	dFrom = new Date();
	dFrom.setDate(dd);
	dFrom.setMonth(mm-1);
	dFrom.setFullYear(yy);
	dFrom.setHours(hh);
	dFrom.setMinutes(mn);
	dFrom.setSeconds(ss);
	
	dd = f2.substring(0,2);
	mm = f2.substring(3,5);
	yy = f2.substring(6,10);
	hh = f2.substring(11,13);
	mn = f2.substring(14,16);
	ss = '00'
	
	dTo = new Date();
	dTo.setDate(dd);
	dTo.setMonth(mm-1);
	dTo.setFullYear(yy);
	dTo.setHours(hh);
	dTo.setMinutes(mn);
	dTo.setSeconds(ss);
	
	var diffDT = ((dTo - dFrom) / 60000);	
	return diffDT;
}

function diffDate(f1,f2)
{
	if (f1 == null)	return 0;
	if (f2 == null)	return 0;
	
	dd = f1.substring(0,2);
	mm = f1.substring(3,5);
	yy = f1.substring(6,10);
	hh = '00';
	mn = '00';
	ss = '00';
		
	dFrom = new Date();
	dFrom.setDate(dd);
	dFrom.setMonth(mm-1);
	dFrom.setFullYear(yy);
	dFrom.setHours(hh);
	dFrom.setMinutes(mn);
	dFrom.setSeconds(ss);	
	
	dd = f2.substring(0,2);
	mm = f2.substring(3,5);
	yy = f2.substring(6,10);
	hh = '00';
	mn = '00';
	ss = '00';
		
	dTo = new Date();
	dTo.setDate(dd);
	dTo.setMonth(mm-1);
	dTo.setFullYear(yy);
	dTo.setHours(hh);
	dTo.setMinutes(mn);
	dTo.setSeconds(ss);
		
	var diffDT = ((dTo - dFrom) / 60000);	
	var tmpdiff = (diffDT / 60);
	diffDT = (tmpdiff / 24);
	tmpdiff = parseInt(diffDT,10);
	return diffDT;
}

//******************* EDITOR FNCS ****************************************
var key_tab = 9;
var basic = true;

function replace(string,text,by) {
    
    var strLength = string.length, txtLength = text.length;
    if ((strLength == 0) || (txtLength == 0)) return string;

    var i = string.indexOf(text);
    if ((!i) && (text != string.substring(0,txtLength))) return string;
    if (i == -1) return string;

    var newstr = string.substring(0,i) + by;

    if (i+txtLength < strLength)
        newstr += replace(string.substring(i+txtLength,strLength),text,by);

    return newstr;
}

function swapImg(nme,pic)
{	
	document[nme].src=pic;
}

function count_strings(string, word) {
	var substrings = string.split(word);
	return substrings.length - 1;
}

function htmlUNC(f1)
{
	return unescape(f1);
}
 
function htmlENC(f1)
{
	return escape(f1);
} 

function get_selection() {
	if (document.getSelection) {
		var txt = document.getSelection();
	} else if (document.selection && document.selection.createRange) {
		var range = document.selection.createRange();
		var txt = range.text;
	} else {
		var txt = 'Sorry your browser does not support those methods!';
	}
	return(txt);
}

function get_textarea(textarea_obj) {
	return (textarea_obj.value);
}

function set_textarea(textarea_obj,txt) {
	textarea_obj.value = txt;
}

function append_textarea(textarea_obj,txt) {
	textarea_obj.value += txt;
}

function processTab() {
  if ( window.event.keyCode == key_tab ) 
  {
	var s = document.selection;
	var tr = s.createRange();
	if ( tr != null ) 
		tr.text = '\t';
		window.event.returnValue=false;
  }
}

function enterField(f1)
{
   if (f1 && f1.style)
   {
     f1.style.background='#FFFFE0';
   }
}

function exitField(f1)
{
   if (f1 && f1.style)
   {
     f1.style.background='#FFFFFF'
   }
}

function ValidateKey(f1,f2,f3,f4,f5,f6)
{
  if (window.event)
  { 
    var key = window.event.keyCode; // IE    
  }
  else
  {
    var key = f6.which; // Firefox    
  }
    
  
   if (f3=='a')
   {
     var allowed='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ :;,.?!L$%^&*()_+-*{}@~<>&"\'';
   }
   else if (f3=='n')
   {
     var allowed='0123456789.-';
   }
   else if (f3=='i')
   {
     var allowed='0123456789-';
   }
   else if (f3=='s')
   {
     var allowed=f4;
   }
   if (f3!='')
   {
      if (key!=13)
      {
         if (allowed.indexOf(String.fromCharCode(key))==-1)
         {
            key=0;
         }
      }
   }

   if (f3=='n'||f3=='i')
   {
      if (key==46)
      {
         if (f1.value.indexOf('.')>-1)
         {
            key=0;
         }
      }
   }

   if (f5=='u')
   {
      var newkey=String.fromCharCode(key).toUpperCase();
      key=newkey.charCodeAt(0);
   }
   else if (f5=='l')
   {
      var newkey=String.fromCharCode(key).toLowerCase();
      key=newkey.charCodeAt(0);
   }

   window.event.keyCode=key;
}

function ValidateField(f1,f2)
{
   if (!f1)
   {
       return true;
   }
   if (f1.type=='hidden')
   {
       return true;
   }
   if (f1.value.length<f2)
   {
      alert('Pole "' + f1.title + '" je povinné!');
      f1.focus();
      return false;
   }
   else
   {
      exitField(f1);
      return true;
   }
}

function ValidateLength(f1,f2)
{
   if (f1.value.length>f2)
   {	
   	  f1.value=f1.value.slice(0,f2);
      return false;
   }
   else
   {
      exitField(f1);
      return true;
   }
}

function ValidateNumber(f1,f2,f3,f4,f5)
{
   if (!f1)
   {
       return true;
   }
   if (f1.type=='hidden')
   {
       return true;
   }
   if (f5==0)
   {
      return true;
   }
   if (f1.value=='')
   {
      alert('Tato hodnota musí být zadána!');
      f1.focus();
      return false;
   }

   if ((f3!=0||f4!=0))
   {
      if (f1.value<f3)
      {
         alert('Minimální povolená hodnota: '+f3);
         f1.focus();
         return false;
      }
      else if (f1.value>f4)
      {
         alert('Tato hodnota musí být menší nebo rovna '+f4);
         f1.focus();
         return false;
      }
   }

   var decimalpos=f1.value.indexOf('.');
   var fieldlen=f1.value.length;
   if (decimalpos>0)
   {
      if ((f2+1)<(fieldlen-decimalpos))
      {
        alert('Jsou povolena pouze '+f2+' desetinná místa!');
        f1.focus();
        return false;
      }
   }
   exitField(f1);
   return true;
}

function ValidateSearchNumber(f1,f2,f3,f4)
{
   if (!f1)
   {
       return true;
   }
   if (f1.value=='')
   {
      exitField(f1);
      return true;
   }
   else
   {
      return ValidateNumber(f1,f2,f3,f4);
   }
}

function ValidateDateTime(f1,f2,f3)
{
   if (!f1)
   {
       return true;
   }
   if (f1.type=='hidden')
   {
       return true;
   }
   if (f1.value.length<16)
   {
      alert('Please enter a date with correct formatting DD.MM.YYYY HH:MM:SS)!');
      f1.focus();
	  f1.select();
      return false;
   }

   if (f2==1)
   {
      var dd=f1.value.substring(0,2);
      var mm=f1.value.substring(3,5);
      var yy=f1.value.substring(6,10);
   }
   else if (f2==0)
   {
      var mm=f1.value.substring(0,2);
      var dd=f1.value.substring(3,5);
      var yy=f1.value.substring(6,10);
   }
   else if (f2==2)
   {
      var yy=f1.value.substring(0,4);
      var mm=f1.value.substring(5,7);
      var dd=f1.value.substring(8,10);
   }

   if (dd>31)
   {
      alert('A day value cannot be larger than 31!');
      f1.focus();
	  f1.select();
      return false;
   }
   if (mm>12)
   {
      alert('A month value cannot be larger than 12!');
      f1.focus();
      f1.select();
      return false;
   }
   if (dd==31)
   {
      if (mm==4||mm==6||mm==9||mm==11)
      {
         alert('Month '+mm+' does not contain 31 days!');
         f1.focus();
         f1.select();
         return false;
      }
   }
   if (mm==2)
   {
      if (dd>29)
      {
         alert('February does not contain '+dd+' days!');
         f1.focus();
         f1.select();
         return false;
      }
      if (dd==29)
      {
         if (yy%4!=0)
         {
            alert('February in that year does not contain 29 day!');
            f1.focus();
            f1.select();
            return false;
         }
      }
   }

   var hh=f1.value.substring(11,13);
   var mm=f1.value.substring(14,16);
   if (hh>23)
   {
      alert('A time value cannot be larger than 23!');
      f1.focus();
      f1.select();
      return false;
   }
   if (mm>59)
   {
      f1.focus();
      f1.select();
      return false;
   }
   exitField(f1);
   return true;
}

function ValidateDate(f1,f2,f3)
{
   if (!f1)
   {
       return true;
   }
   if (f1.type=='hidden')
   {
       return true;
   }
   if (f1.value.length<10)
   {
      alert('Please enter date with correct format DD.MM.YYYY!');
      f1.focus();
      f1.select();
      return false;
   }

   if (f2==1)
   {
      var dd=f1.value.substring(0,2);
      var mm=f1.value.substring(3,5);
      var yy=f1.value.substring(6,10);
   }
   else if (f2==0)
   {
      var mm=f1.value.substring(0,2);
      var dd=f1.value.substring(3,5);
      var yy=f1.value.substring(6,10);
   }
   else if (f2==2)
   {
      var yy=f1.value.substring(0,4);
      var mm=f1.value.substring(5,7);
      var dd=f1.value.substring(8,10);
   }

   if (dd>31)
   {
      alert('Day value cannot be bigger than 31!');
      f1.focus();
      f1.select();
      return false;
   }
   if (mm>12)
   {
      alert('Month value cannot be bigger than 12!');
      f1.focus();
      f1.select();
      return false;
   }
   if (dd==31)
   {
      if (mm==4||mm==6||mm==9||mm==11)
      {
         alert('Month '+mm+' not contains 31 days!');
         f1.focus();
         f1.select();
         return false;
      }
   }
   if (mm==2)
   {
      if (dd>29)
      {
         alert('February not contains '+dd+' day!');
         f1.focus();
         f1.select();
         return false;
      }
      if (dd==29)
      {
         if (yy%4!=0)
         {
            alert('Current year is not a leap-year. February not contains 29 days!');
            f1.focus();
            f1.select();
            return false;
         }
      }
   }
   exitField(f1);
   return true;
}

function ValidateTime(f1,f2,f3)
{
   if (!f1)
   {
       return true;
   }
   if (f1.type=='hidden')
   {
       return true;
   }
   if (f1.value.length<5)
   {
      alert('Please enter time value with format HH:MM');
      f1.focus();
      f1.select();
      return false;
   }

   var hh=f1.value.substring(0,2);
   var mm=f1.value.substring(3,5);
   if (hh>23)
   {
      alert('Value for hours cannot be bigger than 23!');
      f1.focus();
      f1.select();
      return false;
   }
   if (mm>59)
   {
      alert('Value for minutes cannot be bigger than 59!');
      f1.focus();
      f1.select();
      return false;
   }
   exitField(f1);
   return true;
}

function processClick(f1,f2,f3,f4)
{
   if (f1.checked)
   {
     f2.value=f3;
   }
   else
   {
     f2.value=f4;
   }
   return true;
}
