/** 
  @param url url donde obtener el contenido.
  @param oid identificador de capa.
  @param he  objeto con los parámetros de visualización.
*/
 function AJAX_request (url, oid, params) {
  if (!$(oid))  { return; };
  oid = $(oid);
  params = typeof(params) != 'undefined' ? params : 0;
  var height=0;
  var visible=true;

  if (params!=0) {
    height  = params.height;
    visible = params.visible;
  }
  //var log = $(oid).empty().addClass('ajax-loading');

  // var fh   = new Fx.Style(oid, 'height',  {duration: 2000, transition: Fx.Transitions.Elastic.easeOut});
  var fh   = new Fx.Style(oid, 'height',  {duration: 100});
  var fade = new Fx.Style(oid, 'opacity', {duration: 100});

  new Ajax(url, {
				method: "get",
				update: $(oid),
         		async: true,
				onRequest: function() {
					oid.setOpacity(0);
				},
				onComplete: function() {
					if (visible==false) { oid.setOpacity(0); } else { fade.start(0,1); };
					//if (log) log.removeClass('ajax-loading');
                    if (parseInt(oid.getStyle('height'))<height) { fh.start(0, height); };
					this.evalScripts();
				}
			}).request();
 };



function AJAX_request_post (formid, loadingid, mylayer) {
  $(formid).addEvent('submit', function(e) {
	new Event(e).stop();
    //var log = $(loadingid).empty().addClass('ajax-loading');
    var uform = $(mylayer);
    this.send({
        update: mylayer,
        onRequest: function () {
     
		},
		onComplete: function() {
          //log.removeClass('ajax-loading');
		  this.evalScripts();
		}
	});
  });
};



function AJAX_get (url, oid, hide, height) {
  oid = $(oid);
  if (hide) { oid.setOpacity (0); };
  var log = $(oid).empty().addClass('ajax-loading');

  var fh   = new Fx.Style (oid, 'height',  {duration: 1000, transition: Fx.Transitions.Bounce.easeOut});
  var fade = new Fx.Style (oid, 'opacity', {duration: 1000});
  new Ajax(url, {
				method: "get",
				update: $(oid),
         		async: true,
				onRequest: function() {
					if (hide) { fade.start(0,1); };
					fh.start(0,height);
					
				},
				onComplete: function() {
					if (hide) { fade.start(1,0); };
					log.removeClass('ajax-loading');

					this.evalScripts();
				}
			}).request();
 };




function Box (oid) {

   if ($(oid).getStyle('opacity') >=1 ) {
      new Fx.Style (oid, "opacity").start (1,0);
 	  return;
   };

    new Fx.Style (oid, "opacity").start (0,1);
 
 };


function Fade (oid) {

  if ($(oid).getStyle('opacity') >=1 ) {
      new Fx.Style (oid, "opacity").start (1,0);
	  return;
   };

   new Fx.Style (oid, "opacity").start (0,1);
};


function BoxFade (oid, wi) {

  if ($(oid).getStyle('opacity') >=1 ) {
      new Fx.Style (oid, "opacity").start (1,0);
      $(oid).effect('height').start(wi,0); 
	  return;
   };

   new Fx.Style (oid, "opacity").start (0,1);
   $(oid).effect('height').start(0,wi); 
};


function showDiv (oid, params) {
 var absolute = false;
 params = typeof(params) != 'undefined' ? params : 0;
 if (params!=0) {
    var t  = typeof (params.top)!='undefined' ? params.top: 0;
    var l  = typeof (params.left)!='undefined' ? params.left: 0;
    var w  = typeof (params.width)!='undefined' ? params.width: 0;
    var h  = typeof (params.height)!='undefined' ? params.height: 0;

	if (t != 0 && l !=0) {
     $(oid).setStyles ({top: t+"px", left: l+"px"});
	 absolute = true;
	}
 }

 if ($(oid).getStyle('opacity') >=1 ) {
     new Fx.Style (oid, "opacity").start (1,0);
     // $(oid).effect('height').start(oid_h,0); 
     return;
 };

 if (absolute==false) {

  var oid_pos      = $(oid).getPosition();
  var window_w     = window.getWidth();
  var window_h     = window.getHeight();
  var oid_h        = $(oid).getSize().size.y;
  var oid_w        = $(oid).getSize().size.x;
 
  if ( (window_w - oid_pos.x) < oid_w) {
    var fx = window_w - oid_w - 20;
	$(oid).setStyles({ left: fx+'px'});
  }

  var fy =  (window.getHeight() - window.getScrollTop() - (oid_pos.y - window.getHeight() + oid_h));
  if (fy < 0) {
     var fy = oid_pos.y - oid_h;
     $(oid).setStyles({top: fy+'px'});
  }
 };
 
 new Fx.Style (oid, "opacity").start (0,1);
 //$(oid).effect('height').start(0,oid_h); 

};


function Close (oid) {
  $(oid).setHTML('');
  new Fx.Style (oid, "height", {duration: 1200, transition: Fx.Transitions.Quart.easeInOut}).start (1,0);
  $(oid).setStyle("height","0px");
  $(oid).setOpacity (0);
};


function window_open (mypage, myname, w, h){
  var winL = Math.round((screen.width - w) / 2);
  var winT = Math.round((screen.height - h) / 2);
  var winprops = 'height='+h+',width='+w+',scrollbars=yes,resizable=yes';
  win = window.open(mypage, myname, winprops);
  win.moveTo(winL,winT);
}


