function hideAllByClass(parent_id, clazz) {
    var effects = [];
	var elements = document.getElementsByClassName(clazz);	
	elements.each(function(child) { 
	   var eff = Effect.toggle(child, 'blind');
	  effects.concat(eff);
    });
    
    new Effect.Parallel(effects);
}

function show_indicator(doshow) { 
  if (doshow) {
    Element.show('indicator');    
  }
  else {
    Element.hide('indicator');
  }
}

function highlight_fieldWithErrors() {  
  highlight_fieldWithClassName('fieldWithErrors');
}

function highlight_fieldWithClassName(name) {    
    var effects = new Array();
	var elements = document.getElementsByClassName(name);
	elements.each(function(child) { 
	   var eff = new Effect.Highlight(child, {duration: 3.0, startcolor:'#FFFFFF', endcolor:'#FF0000' });
    });   
    new Effect.Parallel(effects);   
}

function highlight_flash() {
   var elem = $('flash');
   if (elem != null) {
     new Effect.Highlight(elem);
   }
}

function show_popup(name, innerHtml) {
  $(name).innerHTML = innerHtml;
  Effect.Appear(name);
}

function hide_animated(name) {
  new Effect.SwitchOff(name);
}

function hide_popup(name) {
    Element.hide(name);
}

function show_popup_image(name, url) {
  var innerHtml = "<img src='" + url + "'/>";
  show_popup(name, innerHtml);
}

function timeAgo(time){
	var date = new Date((time || "").replace(/-/g,"/").replace(/[TZ]/g," ")),
		diff = (((new Date()).getTime() - date.getTime()) / 1000),
		day_diff = Math.floor(diff / 86400);
			
	if ( isNaN(day_diff) || day_diff < 0)
		return;
			
	return day_diff == 0 && (
			diff < 60 && "just now" ||
			diff < 120 && "1 minute ago" ||
			diff < 3600 && Math.floor( diff / 60 ) + " minutes ago" ||
			diff < 7200 && "1 hour ago" ||
			diff < 86400 && Math.floor( diff / 3600 ) + " hours ago") ||
		day_diff == 1 && "Yesterday" ||
		day_diff < 7 && day_diff + " days ago" ||
		day_diff < 31 && Math.ceil( day_diff / 7 ) + " weeks ago" ||
        day_diff > 31 && Math.ceil( day_diff / 31 ) + " months ago";
}

function updateTimeAgo() {
    $$('span[class="timeago"]').each(function(elem) { 
             if (elem.title != null) {
               pd = timeAgo(elem.title);
               if (pd != 'undefined' && pd != false) {
                   elem.innerHTML = pd;
               }
             }
     });
}

