/**
  *dialog function
  */
function dialog(msg) {
    if(msg!=''){
        $("#dialog p").html(msg);
    }
    $("#dialog").fadeIn('fast').animate({ opacity: 1.0 },200).fadeOut('slow');
}



/**
  *clear form fields
  */
function clearfield(e){
	$(e).focus(function(){
   		origval = this.value;
		this.value='';
	});
}



/**
  *create tooltips!
  */
(function( $ ){
	$.fn.tooltip = function(options){	
		
		var settings = {
			xOffset : 10,
			yOffset : 10	
    	};
		
		var element = this;
		return this.each(function() {        
      		// If options exist, lets merge them
      		// with our default settings
      		if ( options ) { 
        		$.extend( settings, options );
      		}		
			$(this).hover(function(e){	
				this.t = $(this).attr('title');
				$(this).attr('title','');	
				if(this.t){
					$("body").append("<p id='tooltip'>"+ this.t +"</p>");
					$("#tooltip")
						.css("top",(e.pageY - settings.xOffset) + "px")
						.css("left",(e.pageX + settings.yOffset) + "px")
						.fadeIn("fast");		
				}					  
    		},
			function(){
				$(this).attr('title', this.t);		
				$("#tooltip").remove();
    		});	
			element.mousemove(function(e){
				$("#tooltip")
					.css("top",(e.pageY - settings.xOffset) + "px")
					.css("left",(e.pageX + settings.yOffset) + "px");
			});
		})		
	}}
)( jQuery );



/**
  *create a floating div
  */
(function( $ ){
	$.fn.floatingdiv = function(options){	
		var element = this;
		//var mywindow = $(window);
		//var mywindow = $('.sw3_PopupEditwrapper');
		var offset = element.position();
		
		var settings = {
			toppadding : 10, //how far from the top?
			mywindow : window //relative to? (window or container, container as "container")
    		
    	};

		
		return this.each(function() {        
      		// If options exist, lets merge them
      		// with our default settings
      		if ( options ) { 
        		$.extend( settings, options );
      			}		
		
		var mywindow = $(settings.mywindow);
		console.log(settings.mywindow);
		
			    mywindow.scroll(function() {
			        if (mywindow.scrollTop() > offset.top) {
			            element.stop().animate({
			                marginTop: mywindow.scrollTop() - offset.top + settings.toppadding
			            });
			        } else {
			            element.stop().animate({
			                marginTop: 0
			            });
			        }
			    })
    		})
	}
})( jQuery );




/**
  *usage: log('inside coolFunc', this, arguments);
  *paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/ 
  */
window.log = function(){
  log.history = log.history || [];   // store logs to an array for reference
  log.history.push(arguments);
  if(this.console) {
    arguments.callee = arguments.callee.caller;
    var newarr = [].slice.call(arguments);
    (typeof console.log === 'object' ? log.apply.call(console.log, console, newarr) : console.log.apply(console, newarr));
  }
};

/**
  *make it safe to use console.log always
  */ 
(function(b){function c(){}for(var d="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,timeStamp,profile,profileEnd,time,timeEnd,trace,warn".split(","),a;a=d.pop();){b[a]=b[a]||c}})((function(){try
{console.log();return window.console;}catch(err){return window.console={};}})());

/**
  *create cookie
  */
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=/";
}



/**
  *read cookie
  */
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;
}



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