jQuery.ModalBox=function(selector,opciones){
	var options=jQuery.extend(jQuery.ModalBox.options, opciones);//si no funciona cambiar a options_default
	this.options=options;
	jQuery(selector).append("<div id='modal-overlay'></div>");
	jQuery(selector).append("<div id='modal' style='display:none'></div>");
	    jQuery('#modal').append("<div id='modal-window'></div>");
		jQuery('#modal-window').append("<div class='content clearfix'></div>");
		    jQuery('#modal-window .content').append("<img src='"+options.img+"' alt='' id='imgType' />");
		    jQuery('#modal-window .content').append("<p id='textModal'></p>");
		jQuery('#modal-window').append("<div class='buttons'><div>");
		    jQuery('#modal-window .buttons').append("<a href='#' title='' class='cancel' id='cancelButton'>"+options.buttonCancelText+"</a>");
		    jQuery('#modal-window .buttons').append("<a href='#' title='' class='acept' id='aceptButton'>"+options.buttonAceptText+"</a>");
		jQuery('#modal-window').append("<div class='bot'></div>");

	jQuery.ModalBox.textoModal.text(options.text);
	jQuery.ModalBox.buttonAcept.text(options.buttonAceptText);
	jQuery.ModalBox.buttonCancel.text(options.buttonCancelText);
	jQuery("#aceptButton").click(jQuery.ModalBox.acept);
	jQuery("#cancelButton").click(jQuery.ModalBox.cancel);
	jQuery("#modal-overlay").css({display:"none"});
	jQuery("#modal-overlay").css({opacity:0.0});
};
jQuery.ModalBox.options={
	text:"",
	img:"/img/help.png",
	buttonAccept:true,
	buttonCancel:true,
	buttonAceptText:'Aceptar',
	buttonCancelText:'Cancelar',
	overlayFadeDuration:1000,
	overlayAppearDuration:1000,
	SlideUpDuration:1000,
	SlideDownDuration:1000,
	hideOnAccept:true,
	hideOnCancel:true,
	afterCancel: function(){},
	afterAccept: function(){},
	doAfterAccept:true,
	doAfterCancel:true,
	easing:"easeOutBounce"
};

jQuery.ModalBox.modal=jQuery("#modal");
jQuery.ModalBox.textoModal=jQuery("#textModal");
jQuery.ModalBox.buttonAcept=jQuery("#aceptButton");
jQuery.ModalBox.buttonCancel=jQuery("#cancelButton");
jQuery.ModalBox.img=jQuery("#imgType");
jQuery.ModalBox.estado=0;
jQuery.ModalBox.action=0;

jQuery.ModalBox.show=function(){

	var ModalBox=jQuery.ModalBox;
	if(ModalBox.options.buttonAccept){
	    jQuery("#aceptButton").css({display:"block"});
	}else{
	    jQuery("#aceptButton").css({display:"none"});
	}
	if(ModalBox.options.buttonCancel){
	    jQuery("#cancelButton").css({display:"block"});
	}else{
	    jQuery("#cancelButton").css({display:"none"});
	}
	var options=ModalBox.options;
	if(ModalBox.estado==0){
	    jQuery('#modal-overlay').css({display:"block"});
	    jQuery("#modal-overlay").animate({opacity:0.7},options.overlayAppearDuration,function(){
		    jQuery('#modal').css({display:"block"});
		    jQuery("#modal").css({top:-jQuery("#modal").height()+'px'});
		    jQuery("#modal").animate({top:"0px"},{duration:options.SlideDownDuration,easing:options.easing});
		});
	}else if(ModalBox.estado==1){
	    if(ModalBox.action==1){
                ModalBox.action=0;
            }else{
                jQuery("#modal").slideDown(ModalBox.options.slideDownDuration);
            }
	}
	jQuery("#modal-overlay").removeClass("loading");
};

jQuery.ModalBox.hide=function(){
	var ModalBox=jQuery.ModalBox;
	jQuery("#modal").animate({top:-jQuery("#modal").height()+'px'},ModalBox.options.slideUpDuration,function(){
	    jQuery("#modal-overlay").animate({opacity:0.0},ModalBox.options.overlayFadeDuration,function(){jQuery("#modal-overlay").css({display:"none"});});
	});
	this.options.estado=0;
};

jQuery.ModalBox.loading=function(){
	var ModalBox=jQuery.ModalBox;
	ModalBox.action=1;
	jQuery("#modal").animate({top:"-"+jQuery("#modal").css("height")},ModalBox.options.slideUpDuration,function(){
	    jQuery("#modal-overlay").addClass("loading");
	    if(ModalBox.action==0){
		ModalBox.show();
	    }else{
		ModalBox.action=0;
	    }
	});
}

jQuery.ModalBox.setText=function(text){
	var ModalBox=jQuery.ModalBox;
	ModalBox.options.text=text;
	jQuery("#textModal").html(text);
};

jQuery.ModalBox.setButtonAcceptText=function(text){
	var ModalBox=jQuery.ModalBox;
	ModalBox.options.buttonAceptText=text;
	jQuery("#aceptButton").html(text);
};

jQuery.ModalBox.setButtonCancelText=function(text){
	var ModalBox=jQuery.ModalBox;
	ModalBox.options.buttonCancelText=text;
	jQuery("#cancelButton").html(text);
};

jQuery.ModalBox.setImg=function(src){
	var ModalBox=jQuery.ModalBox;
	ModalBox.options.img=src;
	jQuery('#imgType').attr("src",src);
};

jQuery.ModalBox.cancel=function(){
	var ModalBox=jQuery.ModalBox;
	if(ModalBox.options.hideOnCancel){
            ModalBox.hide();
        }
        if(ModalBox.options.doAfterCancel)
            ModalBox.options.afterCancel();
	return false;
};

jQuery.ModalBox.acept=function(){
	var ModalBox=jQuery.ModalBox;
	if(ModalBox.options.hideOnAccept){
            ModalBox.hide();
    }
    if(ModalBox.options.doAfterAccept){
        ModalBox.options.afterAccept();
    }
	return false;
};

jQuery.ModalBox.alert=function(msg,img){
	jQuery.ModalBox.setButtonAcceptText("Aceptar");
	if(!img){
	    img='/img/icons/info.png';
	}
	jQuery('#imgType').attr("src",img);
	jQuery.ModalBox.options.buttonCancel=false;
	jQuery.ModalBox.options.hideOnAccept=true;
	jQuery.ModalBox.options.doAfterAccept=false;
	jQuery.ModalBox.setText(msg);
	jQuery.ModalBox.show();
};

