
var DC = {

	// body onLoad
    on_load: function( ) {//		$('codeigniter_profiler').style.display = 'none';
		Event.observe( window, 'keypress',
			function(event) {				 var key = event.which || event.keyCode;
				if( key == Event.KEY_ESC ){//					DC.toggleRollDiv( 'codeigniter_profiler' );				}
			}
		);
    },

    toggleRollDiv: function( divID ) {		if( $(divID).getStyle('display') == 'none' ){
			new Effect.BlindDown(divID, { duration: 0.5 });
		}else{
			new Effect.BlindUp(divID, { duration: 0.5 });
		}
    },

	toggleFadeDiv: function ( divID ){
		if( $(divID).getStyle('display') == 'none' ){
			new Effect.Appear(divID, { duration: 0.5 });
		}else{
			new Effect.Fade(divID, { duration: 0.5 });
		}
		return false;
	},

	confirm: function( msg, code ){		if( confirm( msg ) ){			code();
		}		return false;
	},

    message: function( type, text ){    	$('message').className = 'message '+type;    	$('message').update( text );
    	$('message').show();
		setTimeout('new Effect.Fade("message")', 2000);    }

}

DC.FORM = {}

DC.AJAX = {
	// When load begin
	ajaxLoad: function( divID ){		if(divID){ this.toggleRollDiv(divID); }
		$('ajaxprogress').show();
	},
    // When complete
	ajaxSuccess: function ( divID ){
		$('ajaxprogress').hide();
		if(divID){ new Effect.BlindDown(divID, { duration: 0.5 });}
	},

	// Get query, analize and do what need
	get: function( url, divID, form, dont_serialize ){    	if(!url) return;
    	if(form) {    		if( !(dont_serialize) ){	    		form = $(form).serialize();
	   		}
    	}else{    		form = '';    	}
		new Ajax.Request(url, {
			method: 'POST',
			parameters: form,

			onLoading:function(request){ DC.AJAX.ajaxLoad(); },
			onComplete:function(request){ DC.AJAX.ajaxSuccess(); },

			onSuccess: function(transport) {				res = transport.responseText;
				// if JSON
				if( res.isJSON() ){					res = res.evalJSON(true);
					// error
					if(res.error){
						DC.message( 'error', res.error );					}
					// msg
					if(res.msg){
						DC.message( 'ok', res.msg );
					}
         			// if have id_text and text go and update it!
	           		if( (res.id_text) && (res.text) ){            			$(res.id_text).update( res.text );            		}
         			// if have id_append and text go and APPEND it!
            		if( (res.id_append) && (res.append) ){            			$(res.id_append).insert( {bottom: res.append} );
            		}
            		//# todo:
         			// if have id_top and text go and REPLACE it!
            		if( (res.id_replace) && (res.replace) ){
            			$(res.id_replace).insert( res.replace );
            		}

					// if some need code to evaluate
         			if(res.eval){
         				eval( res.eval );
         			}
				}else{				// else only update if have container                	if(divID) $(divID).update( res );
				}
			}
		}
		);
	}}