var input_text;$(document).ready(function(){    $('.input_text').focus(function(){        input_text = $(this).val();        $(this).val('');    });    $('.input_text').blur(function(){        if(!$(this).val()) $(this).val(input_text);    });    $('#news_preview').wSB({'position':'right', 'margin': 20, 'duration': 400, 'easing': 'swing', 'wheel':true, 'getThisHeight':true, 'inside': true});});$.fn.wSB = function(params){    var container, newTop;	var scrollable = $(this);	var parent = scrollable.parent();    if(params.getThisHeight){        container = $.create('div', {'class': 'wsb_wrapper', 'style': 'overflow:hidden; height:' + scrollable.height() + 'px; position:relative;'});        scrollable.css({'height': 'auto', 'overflow': 'visible'});    }    else{    	container = $.create('div', {'class': 'wsb_wrapper', 'style': 'overflow:hidden; height:' + parent.height() + 'px; position:relative;'});    }    if(params.inside){        newScr = $.create('div', {'style': 'overflow:hidden; height:auto; width:' + scrollable.width() + 'px;'});        scrollable.css('padding-' + params.position, (scrollable.css('padding-' + params.position).slice(0, -2) - params.margin) + 'px');        $(newScr).append(scrollable.html());        scrollable.empty().append($(container));        scrollable = $(newScr);        $(container).append(scrollable);    }    else{        parent.append($(container));        $(container).append(scrollable);    }	var topRange;	topRange = scrollable.height() - $(container).height();	if(topRange>0){      var paddingOnSide = scrollable.css('padding-' + params.position);	  scrollable.css({'position': 'absolute', 'top':'0px',/* 'width':'100%',*/ 'padding': 0});      scrollable.css(params.position, params.margin + 'px');      $(container).css('padding-' + params.position, paddingOnSide);	  var scrollRange;      var scrollCnt = $.create('div', {'class': 'scroll_container', 'style': 'float:' + params.position + ';'});	  var scrollBar = $.create('div', {'class': 'scroll_bar', 'style': 'position:relative; height:100%'});	  var scroll = $.create('div', {'class': 'scroll', 'style': 'position:absolute; top:0px; cursor:pointer;'});      if(params.buttons){          var btnUp = $.create('div', {'class': 'btn_up'});          var btnDown = $.create('div', {'class': 'btn_down'});          $(scrollCnt).prepend($(btnUp));          $(scrollCnt).append($(scrollBar).append($(scroll)));          $(scrollCnt).append($(btnDown));          $(container).prepend($(scrollCnt));          $(scrollBar).css('height', $(scrollBar).height() - ($(btnUp).height() + $(btnDown).height()) );      }      else $(container).prepend($(scrollCnt).append($(scrollBar).append($(scroll))));	  scrollRange = ($(scrollBar).height() - $(scroll).height());	  $(scroll).draggable({		refreshPositions: true,		axis: 'y',		containment: 'parent',		drag: function(event, ui){            scrollable.stop(true,false).animate({'top': "-" + parseInt(calculateTop(topRange, scrollRange)) + "px"},params.duration,params.easing);		},		stop: function(event, ui){            scrollable.animate({'top': "-" + parseInt(calculateTop(topRange, scrollRange)) + "px"},params.duration,params.easing);		}	  });      if(params.buttons){      	$(btnUp).click(function(){            newTop = parseInt(scrollable.css('top').substring(0,(scrollable.css('top').length - 2))) + params.buttons.jump;            newTop = newTop>0?0:newTop;            scrollable.animate({'top': newTop + "px"},params.duration,params.easing);            $(scroll).css('top', Math.round(-newTop*scrollRange/topRange) + "px");        });        $(btnDown).click(function(){            newTop = parseInt(scrollable.css('top').substring(0,(scrollable.css('top').length - 2))) - params.buttons.jump;            newTop = -newTop>topRange?-topRange:newTop;            scrollable.animate({'top': newTop + "px"},params.duration,params.easing);            $(scroll).css('top', Math.round(-newTop*scrollRange/topRange) + "px");        });      }        if(params.wheel)		$(container).wheel(function(event, delta){			newTop = parseInt(calculateTopOnScroll(scrollable, topRange, delta));            scrollable.stop(true,false).animate({'top': "-" + newTop + "px"},params.duration,params.easing);			$(scroll).css('top', Math.round(newTop*scrollRange/topRange) + "px");		});    }	function calculateTop(topRange, scrollRange){		var top;		var position;		position = parseInt($(scroll).css('top').substring(0,($(scroll).css('top').length - 2)))/scrollRange;		top = topRange * position;		return Math.round(top);	}	function calculateTopOnScroll(scrollable, topRange, delta){		var newTop = -parseInt(scrollable.css('top').substring(0,(scrollable.css('top').length - 2))) + parseInt(30 * -delta);		newTop = newTop<0?0:newTop;		newTop = newTop>topRange?topRange:newTop;		return newTop;	}    return $(this);};jQuery.create = function() {    if (arguments.length == 0) return [];    var args = arguments[0] || {}, elem = null, elements = null;    var siblings = null;    // In case someone passes in a null object,    // assume that they want an empty string.    if (args == null) args = "";    if (args.constructor == String) {        if (arguments.length > 1) {            var attributes = arguments[1];                if (attributes.constructor == String) {                            elem = document.createTextNode(args);                            elements = [];                            elements.push(elem);                            siblings =        jQuery.create.apply(null, Array.prototype.slice.call(arguments, 1));                            elements = elements.concat(siblings);                            return elements;                    } else {                            elem = document.createElement(args);                            // Set element attributes.                            var attributes = arguments[1];                            for (var attr in attributes)                                jQuery(elem).attr(attr, attributes[attr]);                            // Add children of this element.                            if(arguments[2]){                                var children = arguments[2];                                children = jQuery.create.apply(null, children);                                jQuery(elem).append(children);                            }                            // If there are more siblings, render those too.                            if (arguments.length > 3) {                                    siblings =        jQuery.create.apply(null, Array.prototype.slice.call(arguments, 3));                                    return [elem].concat(siblings);                            }                            return elem;                    }            } else return document.createTextNode(args);      } else {              elements = [];              elements.push(args);              siblings =        jQuery.create.apply(null, (Array.prototype.slice.call(arguments, 1)));              elements = elements.concat(siblings);              return elements;      }};$.fn.pause = function(duration, callback) {    if(callback === undefined) callback = function(){};    $(this).animate({dummy: 1}, duration, callback);    return this;};
