window.all_field_overlays = [];

function init_cms()
{
   var field_divs = document.getElementsByClassName('cms-field');
   //alert(field_divs.length +' fields on this page');

   for( var i=0; i<field_divs.length; i++) {
      var field_div = field_divs[i];
      all_field_overlays.push( new FieldOverlay(field_div) );
   }

   //alert(all_field_overlays.length +' overlays created');
}



function FieldOverlay(div)
{
   this.div = div;
   this.name = div.getAttribute('fieldname');
   this.type = div.getAttribute('fieldtype');
   this.id = div.getAttribute('fieldid');
   this.languageid = div.getAttribute('languageid');
   this.guid = this.name +'_'+ this.id;

   new Insertion.Bottom(
      this.div,
      '<div id="cms_overlay_'+ this.guid +'" title="'+this.name+' ('+ this.type +')" class="cms-field-bounds"><div class="cms-field-title">'+ this.name +'</div></div>'
   )

   this.overlay_div = document.getElementById('cms_overlay_'+ this.guid);

   this.overlay_div.onmouseover = function() {
      Element.addClassName(this, 'cms-field-hover');
   }
   this.overlay_div.onmouseout = function() {
      Element.removeClassName(this, 'cms-field-hover');
   }

   var overlay_object = this;

   this.overlay_div.onclick = function() {
      edit_cms_field( overlay_object );
   }

   this.show = function() {
      this.overlay_div.style.display = "block";
      this.reposition();
      if( this.type == "Flash")
      {
         var movie = this.div.firstChild;
         movie.style.visibility = 'hidden';
      }
   }

   this.hide = function() {
      this.overlay_div.style.display = "none";
      if( this.type == "Flash")
      {
         var movie = this.div.firstChild;
         movie.style.visibility = 'visible';
      }
   }

   this.reposition = function() {
      Position.clone( this.div, this.overlay_div );
   }

   this.reposition();
   this.hide();
}

function showOverlays() {
   for( var i=0; i<all_field_overlays.length; i++) {
      var overlay = all_field_overlays[i];
      overlay.show();
   }
}

function hideOverlays() {
   for( var i=0; i<all_field_overlays.length; i++) {
      var overlay = all_field_overlays[i];
      overlay.hide();
   }
}

window.onresize = function () {
   for( var i=0; i<all_field_overlays.length; i++) {
      var overlay = all_field_overlays[i];
      overlay.reposition();
   }
}

function edit_cms_field(overlay) {
   var options = "width=740,height=550,toolbar=0,statusbar=1,resizable=1,status=1,addressbar=1";
   var url = base_popup_url +'?'+ "page_id="+ overlay.id +"&field_name="+ overlay.name +"&field_type="+ overlay.type +"&language="+ overlay.languageid;
   //alert(url)
   var win = window.open( url, 'field_edit', options );
   win.focus();
}
safari_warning_option = false;

