
$.fn.scrolltome = function(objid) 
{
 var obj=$(objid);
 $.scrollTo(obj,0,{offset:{top:-100}});
}

function load_image(imgname,options)
{
 if(typeof options == 'undefined') var options={};
 var img = new Image();
 $(img).load(function ()
  {
   if(typeof options.onload=='function') options.onload(img,options);
  } //load 
 );
 if(options.hidefirst)  $(img).css('display','none');
 $(img).attr('src',imgname);
 if(options.destination)  $(options.destination).append(img);
 return img;
}

$.fn.center_element_bypadding = function(centermode) 
{
 if(typeof centermode=='undefined') centermode='both';
 $.each(this, function(index) 
 { 
  var obj=this;
  var par=$(obj).parent();
  var par_height=$(par).innerHeight();
  var par_width =$(par).innerWidth();
  var obj_width=$(obj).outerWidth();var obj_height=$(obj).outerHeight();
  switch(centermode)
  {
   case 'horiz'  : $(par).css("padding-left",((par_width-obj_width) /2)+ "px");
                   $(par).css("padding-right",((par_width-obj_width) /2)+ "px");
                   break;
   case 'vert'   : $(par).css("padding-top", ((par_height-obj_height) /2)+ "px");
                   $(par).css("padding-bottom", ((par_height-obj_height) /2)+ "px");
                   break;
   default       : 
                   $(par).css("padding-top", ((par_height-obj_height) /2)+ "px");
                   $(par).css("padding-bottom", ((par_height-obj_height) /2)+ "px");
                   $(par).css("padding-right",((par_width-obj_width) /2)+ "px");
                   $(par).css("padding-left",((par_width-obj_width) /2)+ "px");
                   break;
  }
 });
}

$.fn.center_element_bymargin = function(centermode) 
{
 if(typeof centermode=='undefined') centermode='both';
 $.each(this, function(index) 
 { 
  var obj=this;
  var par=$(obj).parent();
  var par_height=$(par).innerHeight();
  var par_width =$(par).innerWidth();
  var obj_width=$(obj).outerWidth();
  var obj_height=$(obj).outerHeight();
  switch(centermode)
  {
   case 'horiz'  : $(obj).css("margin-left",((par_width-obj_width) /2)+ "px");
                   $(obj).css("margin-right",((par_width-obj_width) /2)+ "px");
                   break;
   case 'vert'   : $(obj).css("margin-top", ((par_height-obj_height) /2)+ "px");
                   $(obj).css("margin-bottom", ((par_height-obj_height) /2)+ "px");
                  break;
   default       : 
                   $(obj).css("margin-top", ((par_height-obj_height) /2)+ "px");
                   $(obj).css("margin-bottom", ((par_height-obj_height) /2)+ "px");
                   $(obj).css("margin-right",((par_width-obj_width) /2)+ "px");
                   $(obj).css("margin-left",((par_width-obj_width) /2)+ "px");
                  break;
  }
 });
}

$.fn.setmaxsize = function(maxwidth,maxheight) 
{
 if(typeof maxwidth=='undefined')  maxwidth=0;
 if(typeof maxheight=='undefined') maxheight=0;
 $.each(this, function(index) 
 { 
  var height=$(this).height();
  var width =$(this).width();
  if(maxwidth>0)  if(width>maxwidth)   $(this).css("width",maxwidth+ "px");
  if(maxheight>0) if(height>maxheight) $(this).css("height",maxheight+ "px");
 });
}

$.fn.setminsize = function(minwidth,minheight) 
{
 if(typeof minwidth=='undefined')  minwidth=0;
 if(typeof minheight=='undefined') minheight=0;
 $.each(this, function(index) 
 { 
  var height=$(this).height();
  var width =$(this).width();
  if(minwidth>0)  if(width<minwidth)   $(this).css("width",minwidth+ "px");
  if(minheight>0) if(height<minheight) $(this).css("height",minheight+ "px");
 });
}

function center_obj(obj,centermode) 
{
 $(obj).css("position","absolute");
 switch(centermode)
 {
  case 'V' : $(obj).css("top", ($(obj).height() - $(obj).height() ) / 2+$(window).scrollTop() + "px");
        break;
  case 'H' : $(obj).css("left", ($(obj).width() - $(obj).width() ) / 2+$(window).scrollLeft() + "px");
        break;
  default  : 
         $(obj).css("top", ($(window).height() - $(obj).height() ) / 2+$(window).scrollTop() + "px");
         $(obj).css("left", ($(window).width() - $(obj).width() ) / 2+$(window).scrollLeft() + "px");
        break;
 }
}

$.fn.centerInClientxxx = function(options) 
{
  return; // ?????
   var opt = { forceAbsolute: false,
                container: window,    // selector of element to center in
                completeHandler: null
              };
    $.extend(opt, options);
   
     $(this).each(function(i) {
        var el = $(this);
        var jWin = $(opt.container);
        var isWin = opt.container == window;

        // force to the top of document to ENSURE that 
        // document absolute positioning is available
        if (opt.forceAbsolute) {
            if (isWin)
                el.remove().appendTo("body");
            else
                el.remove().appendTo(jWin.get(0));
        }

        // have to make absolute
        el.css("position", "absolute");

        // height is off a bit so fudge it
        var heightFudge = isWin ? 2.0 : 1.8;

        var x = (isWin ? jWin.width() : jWin.outerWidth()) / 2 - el.outerWidth() / 2;
        var y = (isWin ? jWin.height() : jWin.outerHeight()) / heightFudge - el.outerHeight() / 2;

        el.css("left", x + jWin.scrollLeft());
        el.css("top", y + jWin.scrollTop());

        // if specified make callback and pass element
        if (opt.completeHandler)
            opt.completeHandler(this);
    });
}

(function($)
{
	$.fn.blink = function(options)
	{
		if(typeof options=='undefined') options={};
		
		var defaults = {delay:600,color1:'#0F9',blinkstate:1};
		var options = $.extend(defaults, options);
		$(this).each(function()
		{
			var obj = $(this);
   		    var color1=options.color1;
			if(typeof optionscolor2=='undefined') var color2=$(obj).css('color');else  var color2=options.color2;
			$(obj).attr("blinkstate",options.blinkstate);
			setInterval(function()
			{
    		    if($(obj).attr("blinkstate")==0){
  				 $(obj).attr('blinkcolor',0);
				 $(obj).css('color',color2);
				 return ; // ausgeschaltet
				}if($(obj).attr("blinkcolor")!=1)
				{
					$(obj).css('color',color1);
					$(obj).attr('blinkcolor',1);
				}
				else
				{
					$(obj).attr('blinkcolor',0);
					$(obj).css('color',color2);
				}
			}, options.delay);
		});
	}
}(jQuery))

