(function($) { 
 $.fn.presetField = function(settings, fn) {  
    var config = {
      blurClass: 'presetFieldBlurred',
   activClass: 'presetFieldactiv',
   attribute: 'rel',
   value: ''
    };
    var settings = $.extend(config, settings);  
  return $(this).each(function() {
   var element = $(this);   
   settings.value = element.val();   
   if(element.attr(settings.attribute) == undefined) {
    element.attr(settings.attribute, element.val()).addClass(settings.blurClass);
   } else {
    settings.value = element.attr(settings.attribute);
   }   
   element.focus(function() {    
    if(element.val() == element.attr(settings.attribute)) {
     element.val('').removeClass(settings.blurClass).addClass(settings.activClass);
    }    
   });   
   element.blur(function() {    
    if(element.val() == '') {
     element.val(element.attr(settings.attribute)).removeClass(settings.activClass).addClass(settings.blurClass);
    }    
   });  
  });  
 }; 
})(jQuery);





(function($, jQuery){
  $.fn.tooltip = function(settings){
    var config = { 
      xOffset: 10,  
      yOffset: 25,
      tooltipId: "tooltip",
      clickRemove: false,
      content: "",
      useElement: ""
    }; 
     
    var settings = $.extend(config, settings);  
    var content;
      
    this.each(function() {      
      var title = $(this).attr("title");    
      $(this).hover(function(e){                      
        content = (settings.content != "") ? settings.content : title;
        content = (settings.useElement != "") ? $("#" + settings.useElement).html() : content;
        $(this).attr("title","");               
        if (content != "" && content != undefined){   
         $("body").append("<div id='"+ settings.tooltipId +"'>"+ content +"</div>");  
         $("#" + settings.tooltipId)
         .css({
            "position":"absolute",
            "top":(e.pageY - settings.yOffset) + "px",
            "left":(e.pageX + settings.xOffset) + "px",      
            "display":"none"
          })
          .fadeIn("fast")
        }
      },
      function(){ 
        $("#" + settings.tooltipId).remove();
        $(this).attr("title",title);
      }); 
      $(this).mousemove(function(e){
        $("#" + settings.tooltipId)
          .css({
          "top":(e.pageY - settings.yOffset) + "px",
          "left":(e.pageX + settings.xOffset) + "px"
          })     
      }); 
      if(settings.clickRemove){
        $(this).mousedown(function(e){
          $("#" + settings.tooltipId).remove();
          $(this).attr("title",title);
        });    
      }
    });   
  };
})(jQuery, jQuery);


/* Case insensitive contains() content filter
 * $("div:containsCI('some string')");
 */
jQuery.extend(jQuery.expr[":"], {
  "containsCI": function(elem, i, match, array) {
     return (elem.textContent || elem.innerText || "").toLowerCase().indexOf((match[3] || "").toLowerCase()) >= 0;
}});



/* Copyright (c) 2006 Mathias Bank (http://www.mathias-bank.de)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 * 
 * Thanks to Hinnerk Ruemenapf - http://hinnerk.ruemenapf.de/ for bug reporting and fixing.
 */
jQuery.extend({
/**
* @Beispiel: value = $.getURLParam("paramName");
*/ 
 getURLParam: function(strParamName){
   var strReturn = "";
   var strHref = window.location.href;
   var bFound=false;
   
   var cmpstring = strParamName + "=";
   var cmplen = cmpstring.length;

   if ( strHref.indexOf("?") > -1 ){
     var strQueryString = strHref.substr(strHref.indexOf("?")+1);
     var aQueryString = strQueryString.split("&");
     for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
       if (aQueryString[iParam].substr(0,cmplen)==cmpstring){
         var aParam = aQueryString[iParam].split("=");
         strReturn = aParam[1];
         bFound=true;
         break;
       }
       
     }
   }
   if (bFound==false) return null;
   return strReturn;
 }
});
