var IE = 0;
if (navigator.userAgent.indexOf("MSIE")!=-1) IE = 1;
var IE70 = 0;
if (navigator.userAgent.indexOf("MSIE 7.0")!=-1) IE70 = 1;
var konqueror = 0;
if (navigator.userAgent.indexOf("Konqueror") !=-1) konqueror = 1;
var opera = 0;
if (navigator.userAgent.indexOf("Opera")!=-1) opera = 1;
var FF20 = 0;
if (navigator.userAgent.indexOf("Firefox/2.0")!=-1) FF20 = 1;
var FF15 = 0;
if (navigator.userAgent.indexOf("Firefox/1.5")!=-1) FF15 = 1;
var safari419_3 = 0;
if (navigator.userAgent.indexOf("Safari/419")!=-1) safari419_3 = 1;


function show_hide_block(block,id){
  var div_block=document.getElementById(current_popuppeds[block][1]+id);
  if(div_block.style.display != 'none' && (!current_popuppeds[block][2] || current_popuppeds[block][4])) {
    div_block.style.display = 'none';
    removeBodyClickListener();
  } else if(div_block != null) {
    auto_hide_blocks();
    div_block.style.display = '';
    addBodyClickListener();
  }

  if((current_popuppeds[block][0]!="") && (current_popuppeds[block][0]!=id)){
    var div_block=document.getElementById(current_popuppeds[block][1]+current_popuppeds[block][0]);
     div_block.style.display = 'hidden';
    removeBodyClickListener();
  }

  //change_visibility(current_popuppeds[block][1]);

  current_popuppeds[block][0]=id;
}

function auto_hide_blocks(){
  var i=0;
  for(i=0;i<current_popuppeds.length;i++){
    if(current_popuppeds[i][3] && current_popuppeds[i][0] != ""){
      var div_block=document.getElementById(current_popuppeds[i][1]+current_popuppeds[i][0]);
      if(div_block!=null) {
        div_block.style.display = 'none';
         //change_visibility(current_popuppeds[i][1]);
      }
    }
  }
  removeBodyClickListener();
}

function hide_all_blocks(event){
  if((event.type=='mousedown'&&event.button==0) || event == 'mousedown'){
    var i=0;
    for(i=0;i<current_popuppeds.length;i++){
      if(current_popuppeds[i][2] &&  current_popuppeds[i][0] != ""){
         var div_block=document.getElementById(current_popuppeds[i][1]+current_popuppeds[i][0]);
         if(div_block!=null)div_block.style.display = 'none';
         //change_visibility(current_popuppeds[i][1]);
      }
    }
    removeBodyClickListener();
  }
  return(true);
}

function hide_all_blocks_listener() {
  hide_all_blocks('mousedown');
}

function cancelBubbleEvent(elementObject, event) {
  event.cancelBubble=true;
  if (event.stopImmediatePropagation) {
      event.stopImmediatePropagation();
  }
  if (event.stopPropagation) {
    event.stopPropagation();
  }
  if (elementObject.stopPropagation) {
    elementObject.stopPropagation();
  }

  return false;
}


function addBodyClickListener() {
  AttachEvent(document.body, 'mousedown', hide_all_blocks_listener, false);
}

function removeBodyClickListener() {
  if (document.body.removeEventListener){ //Mozilla
    document.body.removeEventListener("mousedown", hide_all_blocks_listener, false);
  } else if (document.detachEvent){ //IE
    document.body.detachEvent('mousedown', hide_all_blocks_listener);
  }
}


function AttachEvent(obj,evt,fnc,useCapture){
  if (!useCapture) useCapture=false;
  if (obj.addEventListener){
    obj.addEventListener(evt,fnc,useCapture);
    return true;
  } else if (obj.attachEvent) return obj.attachEvent("on"+evt,fnc);
  else{
    MyAttachEvent(obj,evt,fnc);
    obj['on'+evt]=function(){ MyFireEvent(obj,evt) };
  }
}

//The following are for browsers like NS4 or IE5Mac which don't support either
//attachEvent or addEventListener
function MyAttachEvent(obj,evt,fnc){
  if (!obj.myEvents) obj.myEvents={};
  if (!obj.myEvents[evt]) obj.myEvents[evt]=[];
  var evts = obj.myEvents[evt];
  evts[evts.length]=fnc;
}
function MyFireEvent(obj,evt){
  if (!obj || !obj.myEvents || !obj.myEvents[evt]) return;
  var evts = obj.myEvents[evt];
  for (var i=0,len=evts.length;i<len;i++) evts[i]();
}
