/* fa */
(function($){$.faHeader={faOk:700,faNotice:701,faMessage:702,faError:703};$.faAjaxOptions={async:true,cache:true,contentType:'application/x-www-form-urlencoded',context:this,data:{},dataType:'html',global:true,timeout:10000,type:'get',url:false,beforeSend:function(){},complete:function(){},error:function(){},success:function(){}};$.fa_ajax=function(options){var opt=$.extend({},$.faAjaxOptions,options);$.each(opt,function(key,value){});$.ajax(opt);};$.fa_unique=function(){return new Date().getTime();};$.fa_dom=function(dom){if($(dom).length)return true;else return false;};$.fn.fa_dom_error=function(dom){var errorText='DOM not found: '+dom;var errorHtml='<b>DOM not found</b>: <u>'+dom+'</u>';this.fa_write({writeClass:'fa_error',container:'<span>',method:'replace',text:errorHtml},function(){this.hide().fadeIn(300);});};$.fn.fa_param_error=function(param){var errorText='param not set: '+param;var errorHtml='<b>param not set</b>: <u>'+param+'</u>';this.fa_write({writeClass:'fa_error',container:'<span>',method:'replace',text:errorHtml},function(){this.hide().fadeIn(300);});};$.faWriteOptions={callback:function(){},writeClass:false,container:false,id:false,text:false};$.fn.fa_write=function(options,callback){if(!callback&&typeof options=='function'){callback=options};var opt=$.extend({},$.faWriteOptions,options);if(opt.container){var obj=$(opt.container).html(opt.text);if(opt.id){obj.attr('id',opt.id+$.fa_unique())};if(opt.writeClass){obj.addClass(opt.writeClass)};if(opt.writeClass){obj.addClass(opt.writeClass)};}else{var obj=opt.text;if(opt.writeClass){this.addClass(opt.writeClass)};};switch(opt.method){case'append':this.append(obj);break;case'prepend':this.prepend(obj);break;case'after':this.after(obj);break;case'before':this.before(obj);break;case'replace':this.replaceWith(obj);break;default:this.html(obj);};if(typeof callback=='function'){if(typeof obj=='object'){callback.call(obj);};if(typeof obj=='string'){callback(this);}};};$.fn.form_focus_next=function(){return this.each(function(){var fields=$(this).parents('form:eq(0),body').find('button,input,textarea,select');var index=fields.index(this);if(index>-1&&(index+1)<fields.length){fields.eq(index+1).focus();};return false;});};$.get_log_date=function(){var date=new Date();return date.getHours()+':'+date.getMinutes()+':<b>'+date.getSeconds()+'</b>';};$.fn.log_message=function(data){this.fa_write({container:'<div>',id:'_log_',writeClass:'fa_log_message',method:'append',text:$.get_log_date()+' -> '+data});};$.fn.log_warning=function(data){this.fa_write({container:'<div>',id:'_log_',writeClass:'fa_log_warning',method:'append',text:$.get_log_date()+' -> '+data});};$.fn.log_error=function(data){this.fa_write({container:'<div>',id:'_log_',writeClass:'fa_log_error',method:'append',text:$.get_log_date()+' -> '+data});};})($);

/* block */
(function($){$.faBlockOptions={content:'<img alt="block" src="images/fa_ajax.png" style="width: 24px; height: 24px;"/>',bgColor:'#9cb8d4',opacity:0.5,position:'absolute',zIndex:300};$.fn.fa_block=function(options,callback){if(!callback&&typeof options=='function'){callback=options};var self=this;var opt=$.extend({},$.faBlockOptions,options);var id=$.fa_unique();opt.top=this.offset().top;opt.left=this.offset().left;if(!opt.width){opt.width=this.outerWidth()};if(!opt.height){opt.height=this.outerHeight()};var self_id='_block_'+id;var block=$('<div>').attr('id','_block_'+id);var bg=$('<div>').attr('id','_block_bg_'+id).css({'top':opt.top,'left':opt.left,'width':opt.width,'height':opt.height,'background-color':opt.bgColor,'opacity':opt.opacity,'position':opt.position,'z-index':opt.zIndex-1});var content=$(opt.content).attr('id','_block_content_'+id).css({'position':opt.position,'top':opt.top+(opt.height/2-$(opt.content).outerHeight()/2),'left':opt.left+(opt.width/2-$(opt.content).outerWidth()/2),'z-index':opt.zIndex-1});block.append(bg).append(content);$.data(this[0],'_block',self_id);$.when($('body').append(block)).then(function(){if(typeof callback=='function'){callback(self)}});};$.fa_block=function(options,callback){if(!callback&&typeof options=='function')callback=options;$('body').fa_block({position:'fixed',top:0,left:0,width:$(window).width(),height:$(window).height()},callback());};$.fn.fa_unblock=function(callback){var block='#'+$.data(this[0],'_block');$.when($(block).remove()).then($.data(this[0],'_block',false)).then(function(){if(typeof callback=='function')callback()});};$.fa_unblock=function(callback){$('body').fa_unblock(callback());};})($);

/* hover */
(function($){'use strict';$.faHoverOptions={debug:'#debug',bgColor:'#9cb8d4',bgOpacity:0.6,containerOpacity:0.3,containerMargin:6,zIndex:1};$.fn.extend({fa_hover:function(options){$(this).live('mouseenter',function(){var obj=$(this),opt=$.data(obj[0]);if(!opt.faHoverId){obj.fa_hover_initialize(options);obj.fa_hover_create();obj.fa_hover_bind_hide();};if(!$.fa_dom(opt.container)){obj.fa_dom_error(opt.container);};obj.fa_hover_show();});},fa_hover_initialize:function(options){var obj=$(this),opt=$.extend(true,$.data(obj[0]),$.faHoverOptions,options);if(obj.metadata){opt=$.extend(true,opt,obj.metadata());};opt.top=this.offset().top;opt.left=this.offset().left;if(!opt.width){opt.width=this.outerWidth();};if(!opt.height){opt.height=this.outerHeight();};opt.faHoverId='_hover_'+$.fa_unique();},fa_hover_create:function(){var obj=$(this),opt=$.data(obj[0]);var hover=$('<div>').attr('id',opt.faHoverId).css({'top':opt.top,'left':opt.left,'width':opt.width,'height':opt.height,'z-index':opt.zIndex,'position':'absolute','display':'none'});var hover_bg=$('<div>').css({'width':opt.width,'height':opt.height,'background-color':opt.bgColor,'opacity':opt.bgOpacity,'position':'absolute'});var hover_content=$('<div>').css({'width':opt.width-opt.containerMargin*2,'height':opt.height-opt.containerMargin*2,'margin':opt.containerMargin+'px','position':'absolute'});$(opt.container).css({'display':'block'});hover_content.append($(opt.container));hover.append(hover_bg);hover.append(hover_content);$('body').append(hover);},fa_hover_show:function(){var obj=$(this),opt=$.data(obj[0]);opt.opacity=obj.css('opacity');obj.css({'opacity':opt.containerOpacity});$('#'+opt.faHoverId).show();},fa_hover_bind_hide:function(){var obj=$(this),opt=$.data(obj[0]);$('#'+opt.faHoverId).on('mouseleave',function(){obj.css({'opacity':opt.opacity});$(this).hide();});}});}($));

/* ajax */
(function($){$.faLoadOptions={event:'click',target:false,debug:'#debug',log:'#log',ajax:{data:{},method:'post',load:false},classes:{ajax:'fa_ajax',error:'fa_error'},time:{content:100},_load:function(){}};$.faExecuteOptions=$.extend(true,{},$.faLoadOptions,{ajax:{execute:false,response:false},_execute:function(){},_response:function(){}});$.fn.extend({fa_load:function(options){return this.live('click',function(e){var obj=$(this);var data=$.data(obj[0]);obj._load_initialize(options);if(data._error)return false;if(data._call||$.data($(data.target)[0],'_block'))return false;data._call=true;if(!data._error)obj._ajax_load();return false;});}});$.fn._load_initialize=function(options){var obj=$(this);var data=$.data(obj[0]);if(data._active)return;else data._active=true;var data=$.extend(true,data,$.faLoadOptions,options);if(obj.attr('href')&&obj.attr('href')!='#')data.ajax.load=obj.attr('href');if(obj.attr('title'))data.title=obj.attr('title');if(obj.metadata)data=$.extend(true,data,obj.metadata());if(!$.fa_dom(data.target)){obj.fa_dom_error(data.target);data._error=true;};if(!data.ajax.load){obj.fa_param_error('load');data._error=true;};};$.fn.extend({fa_execute:function(options){return this.live('click',function(e){var obj=$(this);var data=$.data(obj[0]);obj._execute_initialize(options);if(data._error)return false;if(data._call||$.data($(data.target)[0],'_block'))return false;data._call=true;if(!data._error)obj._ajax_execute();return false;});}});$.fn._execute_initialize=function(options){var obj=$(this);var data=$.data(obj[0]);if(data._active)return;else data._active=true;var data=$.extend(true,data,$.faExecuteOptions,options);if(obj.attr('href')&&obj.attr('href')!='#')data.ajax.execute=obj.attr('href');if(obj.attr('title'))data.title=obj.attr('title');if(obj.metadata)data=$.extend(true,data,obj.metadata());if(!$.fa_dom(data.target)){obj.fa_dom_error(data.target);data._error=true;};if(!data.ajax.execute){obj.fa_param_error('execute');data._error=true;};if(!data.ajax.response){obj.fa_param_error('response');data._error=true;};};$.fn._ajax_load=function(){var self=this;var opt=$.data(self[0]);$.fa_ajax({context:self,data:opt.ajax.data,type:opt.ajax.method,url:opt.ajax.load,beforeSend:function(jqXHR,settings){$(opt.target).fa_block({blockClass:opt.classes.ajax});},complete:function(jqXHR,textStatus){opt._call=false;switch(jqXHR.status){case $.faHeader.faOk:opt._load();$(opt.target).fa_unblock();$(opt.target).fa_write({text:jqXHR.responseText});break;default:$(opt.target).fa_unblock();$(opt.target).fa_write({writeClass:opt.classes.error,text:jqXHR.responseText});};}});};$.fn._ajax_execute=function(){var self=this;var opt=$.data(self[0]);$.fa_ajax({context:self,data:opt.ajax.data,type:opt.ajax.method,url:opt.ajax.execute,beforeSend:function(jqXHR,settings){$(opt.target).fa_block({blockClass:opt.classes.ajax},function(){opt._execute()});},complete:function(jqXHR,textStatus){switch(jqXHR.status){case $.faHeader.faOk:self._ajax_response();break;case $.faHeader.faNotice:$.faNoticeAdd({text:jqXHR.responseText},function(){self._ajax_response()});break;default:$.data(self[0],'_call',false);$(opt.target).fa_write({writeClass:opt.classes.error,text:jqXHR.responseText},function(){$(opt.target).fa_unblock()});};}});};$.fn._ajax_response=function(){var self=this;var opt=$.data(self[0]);$.fa_ajax({context:self,data:opt.ajax.data,type:opt.ajax.method,url:opt.ajax.response,complete:function(jqXHR,textStatus){opt._call=false;switch(jqXHR.status){case $.faHeader.faOk:$(opt.target).fa_unblock(function(){$(opt.target).fa_block(function(){$(opt.target).fadeOut(opt.time.content,function(){$(opt.target).fa_write({text:jqXHR.responseText},function(){$(opt.target).fadeIn(opt.time.content,function(){$(opt.target).fa_unblock(function(){opt._response()})})})});});});break;default:$(opt.target).fa_write({writeClass:opt.classes.error,text:jqXHR.responseText},function(){$(opt.target).fa_unblock()});};}});};})($);

/* dialog */
(function($){$.faDialogOptions={event:'click',target:false,title:false,theme:'theme_default',width:'400px',debug:'#debug',log:'#log',zIndex:300,ajax:{data:{},method:'post',form:false,submit:false,response:false},classes:{ajax:'fa_ajax',error:'fa_error',dialog:'faDialog',dialog_ajax:'fa_dialog_ajax',dialog_error:'fa_dialog_error',dialog_message:'fa_dialog_message'},time:{dialog:100,content:150,message:300},_close:function(){},_open:function(){},_submit:function(){}};$.fn.extend({fa_dialog:function(options){return this.live('click',function(e){var obj=$(this);var opt=$.data(obj[0]);obj._dlg_initialize(options);if(opt._error)return false;if(opt._call||$.data($(opt.target)[0],'_block'))return false;opt._call=true;opt.self=obj;obj._dlg_ajax_form();return false;});}});$.fn._dlg_initialize=function(options){var obj=$(this);var opt=$.data(obj[0]);if(opt._active)return;else opt._active=true;var opt=$.extend(true,opt,$.faDialogOptions,options);if(obj.attr('href')&&obj.attr('href')!='#')opt.ajax.form=obj.attr('href');if(obj.attr('title'))opt.title=obj.attr('title');if(obj.metadata)opt=$.extend(true,opt,obj.metadata());if(!$.fa_dom(opt.target)){obj.fa_dom_error(opt.target);opt._error=true;};if(!opt.ajax.form){obj.fa_param_error('form');opt._error=true;};if(!opt.ajax.response){obj.fa_param_error('response');opt._error=true;};};$.fn.fa_dialog_stylize=function(options){return $(this).each(function(){var obj=$(this);var opt=$.data(obj[0]);if($.data(obj[0],'_stylized'))return;else $.data(obj[0],'_stylized',true);opt=$.extend(true,opt,$.faDialogOptions);if(!opt.title)opt.title=obj.attr('title');$.data(obj[0],'dialog',obj);obj._dlgStylize();});};$.fn._dlg_ajax_form=function(){self=this;var opt=$.data(this[0]);$.fa_ajax({context:self,data:opt.ajax.data,type:opt.ajax.method,url:opt.ajax.form,beforeSend:function(jqXHR,settings){$(opt.target).fa_block({blockClass:opt.classes.ajax});},complete:function(jqXHR,textStatus){$(opt.target).fa_unblock();switch(jqXHR.status){case $.faHeader.faOk:opt.htmlData=jqXHR.responseText;opt.self._dlgCreate(function(){opt.self._dlgStylize(function(){opt.self._dlgEvents(function(){opt.self._dlg_open();});});});break;default:$(opt.target).fa_write({writeClass:opt.classes.error,text:jqXHR.responseText},function(){$.data(self[0],'_call',false)});};}});};$.fn._dlg_ajax_submit=function(){self=this;var opt=$.data(this[0]);var form=$('form',opt.dialog).serializeArray();$.each(form,function(key,value){opt.ajax.data[value.name]=value.value;});$.fa_ajax({context:self,data:opt.ajax.data,type:opt.ajax.method,url:opt.ajax.submit,beforeSend:function(jqXHR,settings){opt.self._dlgFormBlock();},complete:function(jqXHR,textStatus){switch(jqXHR.status){case $.faHeader.faOk:opt.self._dlg_ajax_response();break;case $.faHeader.faNotice:$.faNoticeAdd({text:jqXHR.responseText},function(){opt.self._dlg_ajax_response()});break;case $.faHeader.faMessage:$('.faDialog_response',opt.dialog).fa_write({container:'<div>',writeClass:opt.classes.dialog_message,id:'_message',method:'append',text:jqXHR.responseText},function(){this.hide().fadeIn(opt.time.message,function(){opt.self._dlg_ajax_response()});});break;case $.faHeader.faError:$('.faDialog_response',opt.dialog).fa_write({container:'<div>',writeClass:opt.classes.dialog_error,id:'_error',text:jqXHR.responseText},function(){this.hide().fadeIn(opt.time.message,function(){opt.self._dlgFormUnblock()});});break;default:opt.self._dlg_close(function(){$(opt.target).fa_write({writeClass:opt.classes.error,text:jqXHR.responseText});});};}});};$.fn._dlg_ajax_response=function(){self=this;var opt=$.data(this[0]);$.fa_ajax({context:self,data:opt.ajax.data,type:opt.ajax.method,url:opt.ajax.response,complete:function(jqXHR,textStatus){switch(jqXHR.status){case $.faHeader.faOk:opt.self._dlg_close(function(){$(opt.target).fa_block(function(){$(opt.target).fadeOut(opt.time.content,function(){$(opt.target).fa_write({text:jqXHR.responseText},function(){$(opt.target).fadeIn(opt.time.content,function(){$(opt.target).fa_unblock()})})});});});break;default:opt.self._dlg_close(function(){$(opt.target).fa_write({writeClass:opt.classes.error,text:jqXHR.responseText});});};}});};$.fn._dlgCreate=function(callback){var opt=$.data(this[0]);var unique=$.fa_unique();$('body').append($('<div>').attr('id','_dialog_'+unique).html(opt.htmlData));var dialog=$('#_dialog_'+unique).addClass(opt.theme).css({'width':opt.width,'display':'none','z-index':opt.zIndex});$('form',dialog).addClass(opt.classes.dialog);$('.dialog_body',dialog).append($('<div>').addClass('faDialog_response'));$('.dialog_footer',dialog).append($('<div>').addClass('faDialog_ajax'));if(!opt.title)opt.title=$('form',dialog).attr('title');$.data(this[0],'dialog',dialog);if(typeof callback=='function')callback();};$.fn._dlgStylize=function(callback){var opt=$.data(this[0]);$('.dialog_title',opt.dialog).addClass('faDialog_title');$('.dialog_title',opt.dialog).append($('<div>').addClass('faDialog_title_caption').text(opt.title));$('.dialog_title input:button',opt.dialog).addClass('faDialog_title_close');$('.dialog_body input:text',opt.dialog).wrap($('<div>').addClass('input_wrap'));$('.dialog_body input:password',opt.dialog).wrap($('<div>').addClass('input_wrap'));$('.dialog_body select',opt.dialog).wrap($('<div>').addClass('select_wrap'));$('.dialog_body textarea',opt.dialog).wrap($('<div>').addClass('input_wrap'));$('.dialog_body',opt.dialog).addClass('faDialog_body');$('.dialog_footer',opt.dialog).addClass('faDialog_footer');$('.dialog_footer input:button, .dialog_footer input:reset',opt.dialog).wrap($('<div>').addClass('button_wrap').addClass('button_normal'));$('.dialog_footer input:submit',opt.dialog).wrap($('<div>').addClass('button_wrap').addClass('button_selected'));if(typeof callback=='function')callback();};$.fn._dlgEvents=function(callback){var opt=$.data(this[0]);var obj=this;$('html').bind('keypress',function(event){if(event.keyCode==27){obj._dlg_close();return false;};});$('input:button',opt.dialog).bind('click',function(){obj._dlg_close();return false;});$('input:submit',opt.dialog).bind('click',function(){obj._dlg_submit();return false;});$('input:text',opt.dialog).bind('keypress',function(event){if(event.which==13){$(this).form_focus_next();event.preventDefault();};});if(typeof callback=='function')callback();};jQuery.fn.center=function(){this.css("position","absolute");this.css("top",(($(window).height()-this.outerHeight())/2)+$(window).scrollTop()+"px");this.css("left",(($(window).width()-this.outerWidth())/2)+$(window).scrollLeft()+"px");return this;};$.fn._dlg_open=function(){var opt=$.data(this[0]);var form=$('form',opt.dialog);if(form.attr('action')&&form.attr('action')!='#')opt.ajax.submit=form.attr('action');if(!opt.ajax.submit){opt.self.fa_param_error('submit');opt._error=true;return false;};if(typeof opt._open=='function')opt._open();opt.dialog.center();$.fa_block({zIndex:opt.zIndex},function(){opt.dialog.fadeIn(opt.time.dialog,function(){$(".dialog_body input:first",opt.dialog).focus();});});};$.fn._dlg_submit=function(){var opt=$.data(this[0]);opt._submit();$(this)._dlg_ajax_submit();};$.fn._dlg_close=function(callback){var opt=$.data(this[0]);$.data(this[0],'_call',false);if(typeof opt._close=='function')opt._close();opt.dialog.fadeOut(opt.time.dialog,function(){$.fa_unblock(function(){opt.dialog.empty().remove();if(typeof callback=='function')callback();})});};$.fn._dlgFormBlock=function(callback){var opt=$.data(this[0]);$('.faDialog_ajax',opt.dialog).show();$('input:button, input:reset, input:submit',opt.dialog).attr('disabled',true).parent().removeClass('button_normal button_selected').addClass('button_disabled');if(typeof callback=='function')callback();};$.fn._dlgFormUnblock=function(callback){var opt=$.data(this[0]);$('.faDialog_ajax',opt.dialog).hide();$('input:button, input:reset',opt.dialog).attr('disabled',false).parent().removeClass('button_disabled').addClass('button_normal');$('input:submit',opt.dialog).attr('disabled',false).parent().removeClass('button_disabled').addClass('button_selected');if(typeof callback=='function')callback();};})($);

/* fanotice */
(function($){var faNoticeDefaults={event:'click',method:'append',position:'tr',stay:false,stayTime:3000,text:'default notice',theme:'theme_default',width:'auto',inEffect:{opacity:'show'},inEffectDuration:300,outEffect:{opacity:'0'},outEffectDuration:300,animateEffect:{height:'0px'},animateEffectDuration:300};$.fn.faNotice=function(options){return this.each(function(){var obj=$(this);var opt=$.extend({},faNoticeDefaults,options);if(obj.metadata)opt=$.extend(opt,obj.metadata());if(opt.event!='click'){obj.bind('click',function(){return false;});};obj.bind(opt.event,function(){var opt=$.extend({},faNoticeDefaults,options);if(obj.metadata)opt=$.extend(opt,obj.metadata());$.faNotice_install(opt);$.faNotice_create(opt);$.faNotice_add(opt);return false;});});};$.faNoticeAdd=function(options,callback){if(!callback&&typeof options=='function'){callback=options};var opt=$.extend({},faNoticeDefaults,options);$.faNotice_install(opt);$.faNotice_create(opt);$.faNotice_add(opt);if(typeof callback=='function')callback(this);};$.faNotice_install=function(opt){opt.idName=$.fa_unique('faNotice_');opt.id='#'+opt.idName;opt.top='';opt.bottom='';opt.left='';opt.right='';switch(opt.position){case'tl':opt.top=0;opt.left=0;opt.method='append';break;case'tr':opt.top=0;opt.right=0;opt.method='append';break;case'bl':opt.bottom=0;opt.left=0;opt.method='prepend';break;case'br':opt.bottom=0;opt.right=0;opt.method='prepend';break;default:};opt.css={'top':opt.top,'right':opt.right,'bottom':opt.bottom,'left':opt.left};};$.faNotice_create=function(opt){var noticeContainer,noticeWrap,noticeItem;noticeContainer=(!$('#faNotice').length)?$('<div>').attr('id','faNotice').appendTo('body'):$('#faNotice');noticeContainer.css(opt.css);noticeItem=$('<div>').addClass('faNotice').css('display','none');noticeItem.append($('<div>').addClass('faNotice_title'));noticeItem.append($('<div>').addClass('faNotice_close'));noticeItem.append($('<div>').addClass('faNotice_body').html(opt.text));noticeItem.append($('<div>').addClass('faNotice_footer'));noticeWrap=$('<div>').attr('id',opt.idName).addClass(opt.theme).css('width',opt.width);noticeWrap.append(noticeItem);if(opt.method=='append')noticeContainer.append(noticeWrap);else noticeContainer.prepend(noticeWrap);};$.faNotice_add=function(opt){$(opt.id+' .faNotice_close').bind('click',function(){$.faNotice_remove(opt);return false;});if(!opt.stay){setTimeout(function(){if($.fa_dom(opt.id))$.faNotice_remove(opt);},opt.stayTime);};$('.faNotice',opt.id).animate(opt.inEffect,opt.inEffectDuration);};$.faNotice_remove=function(opt){var noticeWrap=$(opt.id);var noticeItem=$('.faNotice',opt.id);noticeItem.animate(opt.outEffect,opt.outEffectDuration,function(){noticeWrap.animate(opt.animateEffect,opt.animateEffectDuration,function(){noticeWrap.empty().remove();$('#faNotice:empty').remove();});});};})(jQuery);

/* faTooltip */
(function($){'use strict';var title='',tip=false;function updatetip(e){var s={},x=10,h=tip,l=(e.pageX+x),t=(e.pageY+x),v={l:$(window).scrollLeft(),t:$(window).scrollTop(),w:$(window).width(),h:$(window).height()};h.css({top:t+'px',left:l+'px'});s={w:h.width(),h:h.height()};if(v.l+v.w<s.w+l+(x*2)&&l>s.w){h.css({left:(l-s.w-(x*3))+'px'});}
if(v.t+v.h<s.h+t+(x*3)&&t>s.h){h.css({top:(t-s.h-(x*2))+'px'});}}
$.fn.extend({fa_tooltip:function(){tip=$('<p class="_fa_tooltip"></p>').appendTo('body');return this.live('mouseenter',function(e){title=$(this).attr('alt');$(this).attr('title','');tip.html(title).show();updatetip(e);$(document.body).bind('mousemove',updatetip);$(this).mouseleave(function(){tip.hide().empty().css({top:0,left:0});$(this).attr('title',title);$(document.body).unbind('mousemove',updatetip);tip.unbind();});});}});})($);

/** jQuery faInput plugin**/
(function($){$.fn.watermark=function(c,t){var e=function(e){var i=$(this);if(!i.val()){var w=t||i.attr('title'),$c=$($("<div />").append(i.clone()).html().replace(/type=\"?password\"?/,'type="text"')).val(w).addClass(c);i.replaceWith($c);$c.focus(function(){$c.replaceWith(i);setTimeout(function(){i.focus()},1)}).change(function(e){i.val($c.val());$c.val(w);i.val()&&$c.replaceWith(i)}).closest('form').submit(function(){$c.replaceWith(i)})}};return $(this).live('blur change',e).change()}})($);
