var refresher = new Refresher();

function Refresher(){
	var scope = this;
	this.debug = debug;
	
	this.refresh = function(url, selector, callback, effect, speed){
		if(!speed) speed = 'fast';
		if(!callback) callback = function(){}
		try{
			jQuery.get(url, null, function(responseText, textStatus, XMLHttpRequest){
				if(textStatus.toLowerCase() == 'success'){
					var container = jQuery(selector);
					jQuery(container[0]).empty();					
					//container[0].innerHTML = responseText;	
					jQuery(container[0]).append(responseText);
					
					// Init corners
					try{ initWhiteBoxes(); } catch(err){ }
					// Init formfields
					try{ initFormFields(); } catch(err){ }
					// sIFR
					try{ initSIFR(); }
					catch(ex){ }
					
					/*==================================================
						Lightbox
						---
						Activate lightbox
					--------------------------------------------------*/
					try { 
						var lightBoxs = jQuery('[class*=lightBox]');
						for(var i = 0; i<lightBoxs.length; i++){
							jQuery('a', lightBoxs[i]).lightBox();	
						}
					} catch(err){ }	
					
					try { 
						jQuery('.lightAlbum a').lightBox();
					} catch(err){ }	
					
					if(effect){
						jQuery(container[0]).hide();
						switch(effect){
							case "fadeIn":
								jQuery(container[0]).fadeIn(speed, callback);
							break;
							case "fadeOut":
								jQuery(container[0]).fadeOut(speed, callback);
							break;
							case "slideUp":
								jQuery(container[0]).slideUp(speed, callback);
							break;
							case "slideDown":
								jQuery(container[0]).slideDown(speed, callback);
							break;
							default: callback(true);
						}
					}else callback(true);
				}else{
					if(scope.debug) alert("Fel: "+txtStatus+' i metod "Refresher.refresh"');	
					callback(false);
				}
			});		
		}catch(ex){
			if(this.debug) alert("Fel:"+ex);
			callback(false);
		}
	}
}