/* ============================== jQuery watermark plugin ============================== @version: 1.1 @authors: Dmitriy Nosenko, Sergey Ignatiev @last_updated: 2012-11-16 Options description: * watermarkClass: default class for watermark (defautlValue: 'watermark') * text: default watermark text (defautlValue: 'watermark') * useAttribute: shows if watermark plugin must get watermark text from input attribute (defautlValue: true) * attributeName: attribute name where watermark plugin gets watermark text (defautlValue: 'data-watermark') */ (function ($) { var methods = { init: function (options) { return this.filter(':input[type="text"],:input[type="password"]').each(function () { /* Check if watermark already set */ if ($(this).data('watermark-object')) { return; } var settings = $.extend({ watermarkClass: 'watermark', /* default watermark class */ text: 'watermark', /* default watermark text */ useAttribute: true, /* if true, use specified attribute for watermark text */ attributeName: 'data-watermark' /* alternative source for watermark text */ }, options); /* Get target input */ var input = $(this); /* Manage watermark location */ var inputHeight = input.outerHeight(); var inputFontSize = parseFloat(input.css('font-size')); /* Top corner */ var inputPaddingTop = parseFloat(input.css('padding-top')); var inputPaddingBottom = parseFloat(input.css('padding-bottom')); var inputMarginTop = parseFloat(input.css('margin-top')); /* Left corner */ var inputPaddingLeft = parseFloat(input.css('padding-left')); var inputMarginLeft = parseFloat(input.css('margin-left')); var inputTextIndent = parseFloat(input.css('text-indent')); var watermarkLeft = inputPaddingLeft + inputMarginLeft + inputTextIndent; /* Fix text location in input */ var inputPadding = (inputPaddingTop + inputPaddingBottom) / 2; input.css({ 'padding-top': inputPadding, 'padding-bottom': inputPadding }); /* Creating wrapper */ var wrapper = $('