/*--------------

NG EDITS: had to change $( to $rpm( to avoid conflict with Atlas Framework
Applies to prmPrototype.js, rpmMisc.js and rpmBlocks.js, rpmControls.js, rpmDragDrop.js, rpmEffects.js

-------------*/

var toggle_edit_link_possible = true;

function toggle_edit_link(on, show_container, edit_container) {
  if (toggle_edit_link_possible == false) return
  
  if (on) {
    if($rpm(show_container)) $rpm(show_container).style.background='url(/images/hover-gradient.gif) left repeat-y'
    Element.showIf(edit_container, edit_container + "2")
  } else {
    if($rpm(show_container)) $rpm(show_container).style.background='none'
    Element.hideIf(edit_container, edit_container + "2")
  }
}

Element.empty = function(id) {
  return $rpm(id).innerHTML.match(/^\s*$/);
}

Element.visible = function(element) {
  return ($rpm(element).style.display != "none")
}

Element.showAll = function(array) {
  Element.show.apply(Element.show, array)
}

Element.hideAll = function(array) {
  Element.hide.apply(Element.hide, array)
}

Element.showIf = function() {
  for(var i = 0; i < arguments.length; i++ ) {
    //Debug
    //var message = i + ": " + arguments[i]
    //alert (message) 
    //End debug
    
    var element = $rpm(arguments[i])
    if(element) Element.show(element)
    //Debug
    //alert (arguments[i])
    //End debug
  }
}

Element.hideIf = function() {
  for(var i = 0; i < arguments.length; i++ ) {
    var element = $rpm(arguments[i])
    if(element) Element.hide(element)
  }
}

Element.previousSibling = function(anchor, type) {
  sib = anchor.previousSibling
  while(sib) {
    if(sib.tagName && sib.tagName == type) break
    sib = sib.previousSibling
  }
  return sib
}

Element.nextSibling = function(anchor, type) {
  sib = anchor.nextSibling
  while(sib) {
    if(sib.tagName && sib.tagName == type) break
    sib = sib.nextSibling
  }
  return sib
}

function scrollWindowTo(id) {
  element = $rpm(id)
  x = ( element.x ? element.x : element.offsetLeft )
  y = ( element.y ? element.y : element.offsetTop )
  window.scrollTo(x,y)
}

Element.activate = function(element, activate) {
  element = $rpm(element)

  var inactive_text = element['bp:inactive_text']
  if(!inactive_text) {
    element['bp:inactive_text'] = element.innerHTML
    inactive_text = element.innerHTML
  }

  var active_text = element.getAttribute('bp:active_text') || element.innerHTML
  var active_class = element.getAttribute('bp:active_class') || element.className

  if(!activate) {
    element.innerHTML = inactive_text
    if(active_class) Element.removeClassName(element, active_class)
    element['bp:active'] = false
  } else {
    element.innerHTML = active_text
    if(active_class) Element.addClassName(element, active_class)
    element['bp:active'] = true
  }
}
