function hideAll(){
 parentElementHide=$('main-menu').childElements();
 for(i=0;i<parentElementHide.length;i++){
  parentElementHide[i].down('a').removeClassName('select');
  if(parentElementHide[i].down('ul')){
   parentElementHide[i].down('ul').hide();
  };
 }
}

function showHide(event){
 var currentElement=event.element();
 if(currentElement.tagName.toLowerCase()=='a' && currentElement.up(1).identify()=='main-menu'){
  var shElement=event.element().next();
  if(shElement!=null){
   if(shElement.style.display!='block'){
    hideAll();
    currentElement.addClassName('select');
    shElement.style.display='block';
   }else{
    currentElement.removeClassName('select');
    shElement.hide();
   }
  }else{
   hideAll();
  }
 };
 setHeights();
/* event.stop();*/
}

function setFlashHeight(height,thousand){
 if($('content').down('.flash') && $('content').down('.package')){
  var ePackage=$('content').down('.package');
  var hFlash=$('content').down('.flash').getHeight();
  var hMainMenu=$('content').down('.main-menu-cont').getHeight();
  if($('sub-content')){
   var hSub=$('sub-content').getHeight();
   var hSumHeights=hMainMenu+hSub;
  }else{
   var hSumHeights=hMainMenu;
  }

//   alert(hFlash);

 if($('root')){
  if(thousand==1){
   $('root').height=height+980;
   ePackage.style.height=height+1045+'px';
  } else {
   $('root').height=height-20;
   ePackage.style.height=height+45+'px';
  }
 }

 }
 $('content').down('.decoration-only').style.height=$('content').getHeight()+'px';

}

function setHeights(){
 if($('edit-header')){
  $('container').down('.decoration-only-up').style.height=$('edit-header').getHeight()+'px';
 }else if($('height-up')){
  $('container').down('.decoration-only-up').style.height=$('height-up').getHeight()+'px';
 }

 if($('content').down('.image-flash') && $('content').down('.text')){
                                                                                                                    // 29.7. změněno z 55 na 80 - prý to bylo namáčknuté na obrázku
  $('content').down('.package').down('div.text').style.paddingBottom=($('content').down('.image-flash').getHeight()+80)+'px';
/*  alert(($('content').down('.image-flash').getHeight()+55)+'px');*/
 }

 if($('main-menu')){
  $('content').down('.menu-variable').style.height=$('main-menu').up('.main-menu-cont').getHeight()+'px';

  if($('content').down('.package') && $('content').down('.image-flash') && $('content').down('.text')){
   var sumContent=($('main-menu').up('.main-menu-cont').getHeight()+55+$('content').down('.image-flash').getHeight());
   if($('content').down('.package').getHeight()<sumContent){
    $('content').down('.package').style.height=sumContent+'px';
   }
  }

  if($('sub-content')){
   if($('content').down('.package') && $('sub-content').down('.news')){
    var hNews=$('content').down('.package').getHeight()-$('main-menu').getHeight()-24; /*24 je součet paddingů u .news*/
    $('sub-content').down('.news').style.height=hNews+'px';
   }
  }

  if($('content').down('.flash') && $('content').down('.package')){
   var ePackage=$('content').down('.package');
   var hFlash=$('content').down('.flash').getHeight();
   var hMainMenu=$('content').down('.main-menu-cont').getHeight();
   if($('sub-content')){
    var hSub=$('sub-content').getHeight();
    var hSumHeights=hMainMenu+hSub;
   }else{
    var hSumHeights=hMainMenu;
   }

//   alert(hFlash);

   if(hSumHeights>ePackage.getHeight()){
    ePackage.style.height=hSumHeights+'px';
   }
  }
  // 28.7. mozna chyba - vypocita vysku contentu, ale ten se jeste trochu natahne a uz se neprepocte?
  $('content').down('.decoration-only').style.height=$('content').getHeight()+'px';

/* alert($('main-menu').up('.main-menu-cont').getHeight()+'px');*/
 }
}

/*document.observe('dom:loaded', function() {
 Event.observe(document,'load',setHeights());
 if($('main-menu')) { Event.observe($('main-menu'), 'click', showHide.bindAsEventListener(showHide)); }
});*/

//---------------------------------------- report messages
function reportErrorMessage(element){
 var returnMessage=element.previous(1).down();
 if(returnMessage.hasClassName('required')){
  returnMessage.addClassName('wrong');
  if(element.value.length<1){
   returnMessage.update('[nutno vyplnit]');
  }else{
   returnMessage.update('[špatný formát]');
  }
 }
}
function reportSuccessMessage(element){
 var returnMessage=element.previous(1).down();

 if(returnMessage.hasClassName('required')){
  returnMessage.removeClassName('wrong');
  returnMessage.update('[v pořádku]');
 }
}

//---------------------------------------- check event
function checkEvent(event){
 if(Object.isElement(event)){
  return event;
 }else{
  return event.element();
 }
}

//**********************************************************************************
//---------------------------------------- check email
function checkEmail(event){
 var input=checkEvent(event);
 checkPattern=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

 if(!input.value.match(checkPattern)) {
  reportErrorMessage(input);
 }else{
  reportSuccessMessage(input);
 }
}

//---------------------------------------- check is empty
function checkIsEmpty(event){
 var input=checkEvent(event);
 checkPattern=/^.+$/;

 if(!input.value.match(checkPattern)){
  reportErrorMessage(input);
 }else{
  reportSuccessMessage(input);
 }
}

//---------------------------------------- events functions
/*corefunctions = function(){
 check=new Array(
  Array('meno','keyup',checkIsEmpty),
  Array('mejl','keyup',checkEmail),
  Array('text','keyup',checkIsEmpty)
 );

 for(i=0;i<check.length;i++){
  $(check[i][0]).observe(check[i][1],check[i][2]);
  check[i][2]($(check[i][0]));
 }
};*/


//---------------------------------------------------------------
this.addEvent=function(obj,type,fn){
 if(obj.attachEvent){
  obj['e'+type+fn]=fn;
  obj[type+fn]=function(){obj['e'+type+fn](window.event);}
  obj.attachEvent('on'+type, obj[type+fn]);
 }else{
  obj.addEventListener(type,fn,false);
 };
};

