function togglediv (id) {
  var myDiv = $(id);
  if (myDiv.getStyle("visibility") == "visible") {
    myDiv.setStyle("visibility", "hidden")
    myDiv.setStyle("display",    "none");
  } else {
    myDiv.setStyle("visibility", "visible")
    myDiv.setStyle("display",    "block");
  }
}

function showdiv (id) {
   if ($(id)) {
		 $(id).setStyle("visibility", "visible");
     $(id).setStyle("display",    "block");
	 }
}

function hidediv (id) {
  if ($(id)) {
	  $(id).setStyle("visibility", "hidden");
	  $(id).setStyle("display",    "none");
	} 
}

/* legacy join() */

function join (joiner, array) {
   return array.join(joiner);
}


function enableButton (btn, action) {
  var button = $(btn);
  if (button) {
    if (button.className != "button") {
        button.addClass("button");
        button.removeClass("button_dis");
        button.highlight();
    }
    if (action) {
      button.href = action;
    }
  }
}

function disableButton (btn, action) {
  var button = $(btn);
  if (button) {
    button.removeClass("button");
    button.addClass("button_dis");
    button.href = "#";
  }
}

function disableButtonAndGo(btn) {
  var button = $(btn);
  if (button) {
    button.className = "button_dis";
    var loc = button.href;
    button.href = "#";
    location.href = loc;
  }
}

function labelButton (btn, label) {
  var button = document.getElementById(btn);
  button.className = "button_dis";
  button.firstChild.nodeValue = label;
}







function swapimage(i,newsrc) {
   if (document.images) {
      document.images[i].src = newsrc ;
   }    
}


function findParentByTagName (e, tagname) {
  var current = e;
  while (parent = current.parentNode) {
    if (parent.tagName == tagname) {
      return parent;
    }
    current = parent;
  }
  return;
}

function none () {
}





function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}




function submitViaEnter(evt) {
    evt = (evt) ? evt : event;
    var target = (evt.target) ? evt.target : evt.srcElement;
    var form = target.form;
    var charCode = (evt.charCode) ? evt.charCode :
        ((evt.which) ? evt.which : evt.keyCode);
    if (charCode == 13) {
         form.submit();
         return false;
    }
    return true;
}

function continueViaEnter(evt, nextfieldname) {
    evt = (evt) ? evt : event;
    var target = (evt.target) ? evt.target : evt.srcElement;
//    var form = target.form;
    var charCode = (evt.charCode) ? evt.charCode :
        ((evt.which) ? evt.which : evt.keyCode);
    if (charCode == 13) {
         var nextField = document.getElementById(nextfieldname);
         if (nextField) {
            nextField.focus();
         }
         return false;
    }
    return true;
}


function continueWith(nextfieldname) {
   var nextField = document.getElementById(nextfieldname);
   if (nextField) {
        nextField.focus();
   }
   return false;
}


// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
// JavaScript input for data fields
//


function jsinput(query,url,defstr) {
   result = prompt(query,defstr);
   if (result != null) {
      location.href=url+"&value="+escape(result);
   }
}


// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
// Open a pop-up window
// Usage: popup('url.html', 600, 400);
// Usage: popup('url.html', 600, 400, 'location=1,scrollbars=1');

function popup(url,w,h,args) {
   window.open(url,'_blank','height='+h+',width='+w+','+args);
}

function popsame(url,samename,w,h,args) {
   window.open(url,samename,'height='+h+',width='+w+','+args);
}



function modalize (el, options) {
  var elsizes  = el.getSize();
  
	var resize   = function() {
    var elsizes = el.getSize();
    el.hide();
    var sizes = window.getSize();
    var scrolled = window.getScroll();
   
    shade.setStyles({
   			'height': window.getScrollHeight() + 'px',
   			'width': window.getScrollWidth() + 'px'
    });
    
    modal.setStyles({
   			'height': window.getScrollHeight() + 'px',
				'width': window.getScrollWidth() + 'px'
    });
   
    el.setStyles({
   			'left': scrolled.x + (sizes.x - elsizes.x ) / 2,
				'top': scrolled.y  + (sizes.y - elsizes.y ) / 2
    });
    el.show();
  };
  
  var modal = new Element('div', {
			'id': 'modal_' + el.id,
			'styles': {
				'display': 'block',
				'z-index': 10000,
				'position': 'absolute',
        'top': '0',
				'left': '0'
			}
		});
  modal.inject(document.body);
  
  var shade = modal.clone();
  shade.setStyle('background-color', '#eee');
  shade.setStyle('opacity', '0.5');
  shade.setStyle('z-index', 10001);
  shade.inject(modal);  
  
/*	var oldid = el.id;
 	el.set("id",oldid + "_dialog");
	modal.set("id",oldid); */
  el.setStyle('z-index',10002);
  el.setStyle('position','absolute');
  el.inject(modal);
  
  window.addEvent('resize', resize);
  window.addEvent('scroll', resize);
  resize();
	modal.hide();
	return modal;
}


