function SetContent(elementID,sContent){
	var el = GetElement(elementID);

	//if IE 4+
	if (el && document.all) {
		el.innerHTML=sContent;
	}
	//else if NS 4
	else if (document.layers){
	var content2 = elementID+'_2';
	document.elementID.document.content2.
	document.write(sContent);
	document.elementID.document.content2.
	document.close();
	}
}
	function ToggleShowHideLayerSlide(id) {
		var el = GetElement(id);
		var fHeight;
		var sDisplay,sVisibility;
		var iHeight;

		if (el) {
		  try {

				if (el.className=="slide") {

				} else {

				  iHeight = el.style.height;
				  sDisplay = el.style.display;
				  sVisibility = el.style.visibility;

				  el.style.visibility = 'hidden';
				  el.style.display = 'block';
				  el.style.height = null;

				  fHeight = el.offsetHeight;

				  el.style.display = sDisplay;
					if (sVisibility && sVisibility=="visible") {
					  el.style.visibility = "visible";
						el.style.height = iHeight;
					} else {
					  el.style.display = 'none';
						el.style.height = '0px';
					}

					if (fHeight) {
					  if (el.style.visibility=="visible") {
						  SlideClose(id,fHeight);
						} else {
						  SlideOpen(id,fHeight);
						}
					}
				}
			} catch(e) {
				ToggleShowHideLayer(id);
			}
		}
	}

	var $slideTomeout;

	function SlideOpen(id,height) {
		var el = GetElement(id);
		if (el) {
		  el.style.overflow = 'hidden';
		  el.style.display = 'block';
		  el.style.visibility = 'visible';
		  el.style.height = '0px';
	   _doSlide(id,0,height,5);
		}
	}
	function SlideClose(id,height) {
   _doSlide(id,height,0,-5);
	}
	function _doSlide(id,start,end,step) {
	  //clearTimeout($slideTomeout);
    //$slideTomeout =
		setTimeout('_slideSetHeight(\''+id+'\','+start+','+end+','+step+')', 30);
	}
	function _slideSetHeight(id, start,end,step) {

		  try {
			  var el = GetElement(id);
			  var height=0;
			  if (el) {
			    height = (parseInt(start)+parseInt(step));
			    el.style.overflow = 'hidden';
			    if (height<0) height=0;
			    el.style.height = height+'px';

					if (step>0 && height<end) _doSlide(id,height,end,step);
					else if (step<0 && height>end) _doSlide(id,height,end,step);
					else if (step>0) {
						el.style.visibility = 'visible';
						el.style.display = 'block';
					}	else {
						el.style.visibility = 'hidden';
						el.style.display = 'none';
					}
				}

			} catch(e) {
			}

	}

	function GetElement(id) {
		var element;
		if (document.getElementById) {
			element = document.getElementById(id);
		} else if (document.all) {
			element = document.all[id];
		} else if (document.layers) {
			element = document.all[id];
		}
		return element;
	}
	
	
 	function HideLayer(id) {
		var el = GetElement(id);
		if (el) {
			el.style.visibility = 'hidden';
			el.style.display = 'none';
		}
	}
	function ShowLayer(id) {
		var el = GetElement(id);
		if (el) {
			el.style.visibility = 'visible';
			el.style.display = 'block';
		}
	}
	function ToggleShowHideLayer(id) {
		var el = GetElement(id);
		if (el) {
		  if (el.style.visibility=="visible") {
				el.style.visibility = 'hidden';
				el.style.display = 'none';
			} else {
				el.style.height = null;
				el.style.visibility = 'visible';
				el.style.display = 'block';
			}
		}
	}

	function SearchArray(val,arr) {
	  var found = 0;
	  var i = 0;
	  var key;
	  if (arr && arr.length>0) {
			while (i<arr.length && found==0) {
				if (arr[i]==val) {
				  key = i;
				  found = 1;
				}
			  i++;
			}
		}
		return key;
	}
	
	function trim(str) {
	  return str.replace(/^\s*|\s*$/g,"");
	}
	
  function SetFocusTo(el) {
      if (el) {
        try {
          el.focus();
          el.select();
        } catch(e) {
        }
        return true;
      } else {
        return false;
      }
  }
  

function popupWindow(url,pwidth,pheight,name) {
	try {
		var winw = (screen.width - pwidth) / 2;
		var winh = (screen.height - pheight) / 2;
		var pw = window.open(url, name, "toolbar=no,directories=no,status=no,location=no,resizable=no,scrollbars=no,menubar=no,height="+pheight+",width="+pwidth+",top="+winh+",left="+winw+"");
	} catch(e) {
	}
	return false;
}

function popupTranslator(id,lang) {
	var url = "./index.php?mod=translate&tid="+id+"&lang="+lang;
	var pwidth = 750;
	var pheight = 320;
	try {
		var winw = (screen.width - pwidth) / 3;
		var winh = (screen.height - pheight) / 3;
		var pw = window.open(url, 'mwTranslator', "toolbar=no,directories=no,status=no,location=no,resizable=yes,scrollbars=yes,menubar=no,height="+pheight+",width="+pwidth+",top="+winh+",left="+winw+"");
		if (pw) {
		  pw.focus();
		}
	} catch(e) {
	}
	return false;
}

	function checkDateFormat(field) {
    var format = 'dd.MM.yyyy';
    var pDate = parseDate(field.value);
    if (pDate) {
			var dt = new Date( pDate );
			field.value = formatDate( dt, format );
		} else {
		  pDate = getDateFromFormat(field.value,format);
		  if (pDate) {
				var dt = new Date( pDate );
				field.value = formatDate( dt, format );
			} else {
			  field.value = '';
			}
		}
	}
	function jsIntToStr(i,iSize) {
	  var s = '';
	  s = '' + i;
	  while (s.length < iSize) {
	    s = '0'+s;
		}
		return s;
	}

	function jsIntval(s) {
	  try {
	    var i;
	    i = parseInt(s,10);
	    if (i>0) return i;
			else return 0;
		} catch(e) {
	    return 0;
		}
	}
	function jsSubstr(sStr,iBegin,iCount) {
		var iSize = sStr.length;
		var iLast = (iSize -1);
		var sResult = "";

		if (iCount>iSize) iCount = iSize;
		var i = 0;
		var iChar = iBegin;
		var c = iCount;
		while (i < c) {
		  try {
		  	var s1 = sStr.charAt(iChar);
				sResult = sResult + s1;
			} catch(e) {}
		  i++;
		  iChar++;
		}
		return sResult;
	}

	function getCaretPos(el) {
		if (typeof el.selectionStart != "undefined")
		return el.selectionStart;
		else if (document.selection)
		return Math.abs(document.selection.createRange().moveStart("character", -1000000));
	}
	function setSelectionRange(input, selectionStart, selectionEnd) {
	  if (input.setSelectionRange) {
	    input.focus();
	    input.setSelectionRange(selectionStart, selectionEnd);
	  }
	  else if (input.createTextRange) {
	    var range = input.createTextRange();
	    range.collapse(true);
	    range.moveEnd('character', selectionEnd);
	    range.moveStart('character', selectionStart);
	    range.select();
	  }
	}

	var $tmrTimeHelper;
	function time_helper(fieldID, isFinal) {
	  clearTimeout($tmrTimeHelper);
  	if (isFinal)
			_time_helper(fieldID,true);
  	else
	  	$tmrTimeHelper = setTimeout('_time_helper(\''+fieldID+'\', false)',300);
	}

	function _time_helper(fieldID, isFinal) {
	  var field = GetElement(fieldID);

	  if (field) {
		  var val = field.value;
		  var sTime = '';

			if (val>'') {
			    var sHour, sMinute;
			    sHour = '';
			    sMinute = '';

			    if (val.indexOf(':')>0) {
			      sHour = jsSubstr(val,0,val.indexOf(':'));
			      if (sHour.length>2) sHour = jsSubstr(sHour,0,2);
			      val = jsSubstr(val,(val.indexOf(':')+1),val.length);
					} else if (val.length>=2 || isFinal) {
						sHour = jsSubstr(val,0,2);
			      val = jsSubstr(val,sHour.length,val.length);
					}

					if (sHour>'') {
						if (val.length>=2 || isFinal) {
							sMinute = jsSubstr(val,0,2);
				      val = jsSubstr(val,sMinute.length,val.length);
						}

					}

			    if (sHour>'') {
			      sHour = jsIntToStr( (jsIntval( sHour )>23)?00:jsIntval( sHour ) , 2 );
			      sTime += sHour + ':';
				    if (sMinute>'' || isFinal) {
				      sMinute = jsIntToStr( (jsIntval( sMinute )>60)?00:jsIntval( sMinute ) , 2 );
				      sTime += sMinute;
						}
					}
				  sTime += val;


					var i = getCaretPos(field);
					if (i==field.value.length) {
	        	if (field.value!=sTime) {
							field.value = sTime;
		        	if (!isFinal) setSelectionRange(field,field.value.length ,field.value.length );
	        	}
					}
					//setSelectionRange(field,i,i);

			}

		}
	}


	var $tmrDateHelper;
	function date_helper(fieldID,isFinal) {
	  clearTimeout($tmrDateHelper);
  	if (isFinal)
			_date_helper(fieldID,true);
  	else
	  	$tmrDateHelper = setTimeout('_date_helper(\''+fieldID+'\',false)',300);
	}

	function _clean_date_input_old(val) {
		var sLastChar = jsSubstr(val,(val.length-1),1);
		var len = val.length;
		if (len>0) {
			if (sLastChar=="." && len!=3 && len!=6) {
			  val = jsSubstr(val,0,(val.length-1));
			  return _clean_date_input(val);
			} else if (parseInt(sLastChar)!=sLastChar) {
			  val = jsSubstr(val,0,(val.length-1));
			  return _clean_date_input(val);
			} else {
			  return val;
			}
		} else {
		  return "";
		}
	}
	function _clean_date_input(val) {
	  var i = 0;
	  var sVal = "";
		while (i < (val.length)) {
			var s = val.charAt(i);
			var ii = sVal.length;
			if ( (ii>0) && (ii<7) && (s=="." || s=="," || s=="/" || s==" " || s=="-") && (sVal.charAt(ii-1)!=".") ) {
			  sVal += '.';
			} else if ((parseInt(s)+'')!=s) {
			} else {
			  sVal += s;
			}
			i++;
		}
		return sVal;
	}
	function _date_helper(fieldID,isFinal) {
	  var field = GetElement(fieldID);

		//if (isFinal) alert('final');

	  if (field) {
		  var val = field.value;
		  var sDate = '';
			var iCaretPos;

			iCaretPos = getCaretPos(field);

		  val = _clean_date_input(val);


			if (val>'') {
			    var sDay, sMonth, sYear;
			    sDay = '';
			    sMonth = '';
			    sYear = '';

			    if (val.indexOf('.')>0) {
			      sDay = jsSubstr(val,0,val.indexOf('.'));
			      if (sDay.length>2) sDay = jsSubstr(sDay,0,2);
			      val = jsSubstr(val,(val.indexOf('.')+1),val.length);
					} else if (val.length>=2) {
						sDay = jsSubstr(val,0,2);
			      val = jsSubstr(val,sDay.length,val.length);
					}

					if (sDay>'') {
				    if (val.indexOf('.')>0) {
				      sMonth = jsSubstr(val,0,val.indexOf('.'));
				      if (sMonth.length>2) sMonth = jsSubstr(sMonth,0,2);
				      val = jsSubstr(val,(val.indexOf('.')+1),val.length);

						} else if (val.length>=2) {
							sMonth = jsSubstr(val,0,2);
				      val = jsSubstr(val,sMonth.length,val.length);
						}

						if (sMonth>'') {
						  if (val.length>=4 || isFinal) {
							  sYear = jsSubstr(val,0,4);
							  val = '';
							}
						}

					}

			    if (sDay>'') {
			      if (jsIntval( sDay ) == 0) sDay='1';
			      sDay = jsIntToStr( (jsIntval( sDay )>31)?31:jsIntval( sDay ) , 2 );
			      sDate += sDay + '.';
				    if (sMonth>'' || isFinal) {
				      if (jsIntval( sMonth ) == 0) sMonth='1';
				      sMonth = jsIntToStr( (jsIntval( sMonth )>12)?12:jsIntval( sMonth ) , 2 );
				      sDate += sMonth + '.';
					    if (sYear>'' || isFinal) {
					      sYear = jsIntToStr(jsIntval(sYear),4);
					      sDate += sYear;
							}
						}
					} else if (isFinal) {
					  val = '';
					}
				  sDate += val;


					//setSelectionRange(field,i,i);

			}
			if (iCaretPos==field.value.length || isFinal) {
      	if (field.value!=sDate) {
					field.value = sDate;
        	if (!isFinal) setSelectionRange(field,field.value.length ,field.value.length );
				}
			}
		}
	}
	
