
// Fichier de definitions javascripts du plugin UTILITAIRES


// Minimisation :: utils.js
var Utils_settings={
language:'fr',
skin:'default',
debugg:false,
default_popup_name:'popup',
default_popup_width:'620',
default_popup_height:'640'
};
var keyboard_unicodes={8:'Backspace',9:'Tab',13:'Enter',16:'Shift',17:'Ctrl',18:'Alt',19:'Pause',20:'Caps Lock',27:'Escape',33:'Page Up',34:'Page Down',35:'End',36:'Home',37:'Arrow Left',38:'Arrow Up',39:'Arrow Right',40:'Arrow Down',45:'Insert',46:'Delete',48:'0',49:'1',50:'2',51:'3',52:'4',53:'5',54:'6',55:'7',56:'8',57:'9',65:'A',66:'B',67:'C',68:'D',69:'E',70:'F',71:'G',72:'H',73:'I',74:'J',75:'K',76:'L',77:'M',78:'N',79:'O',80:'P',81:'Q',82:'R',83:'S',84:'T',85:'U',86:'V',87:'W',88:'X',89:'Y',90:'Z',91:'Left Windows',92:'Right Windows',93:'Context Menu',96:'NumPad 0',97:'NumPad 1',98:'NumPad 2',99:'NumPad 3',100:'NumPad 4',101:'NumPad 5',102:'NumPad 6',103:'NumPad 7',104:'NumPad 8',105:'NumPad 9',106:'NumPad *',107:'NumPad +',109:'NumPad -',110:'NumPad .',111:'NumPad /',112:'F1',113:'F2',114:'F3',115:'F4',116:'F5',117:'F6',118:'F7',119:'F8',120:'F9',121:'F10',122:'F11',123:'F12',144:'Num Lock',145:'Scroll Lock',186:';',187:'=',188:',',189:'-',190:'.',191:'/',192:'`',219:'[',220:'\\',221:']',222:'\''};
var html_chars={'\300':'&Agrave;','\301':'&Aacute;','\302':'&Acirc;','\303':'&Atilde;','\304':'&Auml;','\305':'&Aring;','\306':'&AElig;','\307':'&Ccedil;','\310':'&Egrave;','\311':'&Eacute;','\312':'&Ecirc;','\313':'&Euml;','\314':'&Igrave;','\315':'&Iacute;','\316':'&Icirc;','\317':'&Iuml;','\320':'&ETH;','\321':'&Ntilde;','\322':'&Ograve;','\323':'&Oacute;','\324':'&Ocirc;','\325':'&Otilde;','\326':'&Ouml;','\330':'&Oslash;','\331':'&Ugrave;','\332':'&Uacute;','\333':'&Ucirc;','\334':'&Uuml;','\335':'&Yacute;','\336':'&THORN;','\337':'&szlig;','\340':'&agrave;','\341':'&aacute;','\342':'&acirc;','\343':'&atilde;','\344':'&auml;','\345':'&aring;','\346':'&aelig;','\347':'&ccedil;','\350':'&egrave;','\351':'&eacute;','\352':'&ecirc;','\353':'&euml;','\354':'&igrave;','\355':'&iacute;','\356':'&icirc;','\357':'&iuml;','\360':'&eth;','\361':'&ntilde;','\362':'&ograve;','\363':'&oacute;','\364':'&ocirc;','\365':'&otilde;','\366':'&ouml;','\370':'&oslash;','\371':'&ugrave;','\372':'&uacute;','\373':'&ucirc;','\374':'&uuml;','\375':'&yacute;','\376':'&thorn;','\377':'&yuml;'};
function _dbg(str,title){
if(!Utils_settings.debugg)return;
if(!title)title='';
else title=title+" : ";
if(window.console&&window.console.log)window.console.log(title+str);
else alert(title+str)}
function _html_decode(str){
if(!str)return;
for(reg in html_chars){
var regex=new RegExp(html_chars[reg],"g");
_dbg(reg+" pour : "+html_chars[reg]+" donne : "+regex,'HTML DECODE');
var s_str=str.match(regex);
if(s_str!==null)str=str.replace(regex,reg)}
return str}
function _js_to_html(str){
if(!str)return;
for(i in html_chars){
if(html_chars[i]==str)return i}
}
function _clic_me(element){
try{document.getElementById(element).click()}catch(e){var evt=document.createEvent("MouseEvents");
evt.initMouseEvent("click",true,true,window,0,0,0,0,0,false,false,false,false,0,null);
var cb=document.getElementById(element);
cb.dispatchEvent(evt)}
}
function _goto(url,opener,close){
if(!url||!_is_url(url))return;
if(opener){
window.opener.location=url;
window.opener.focus();
if(close)window.close()}
else window.location=url}
function _show(str){
jQuery(function(){jQuery(str).show()})}
function _hide(str){
jQuery(function(){jQuery(str).hide()})}
function _get_url(type,req_url){
var url,t_url,f_url;
if(req_url)url=req_url;
else url=document.URL;
var p_index=url.indexOf("?"),d_index=url.indexOf("#");
t_url=(d_index!==-1)?url.substring(0,d_index):url;
switch(type){
case'param':
f_url=(p_index!==-1)?t_url.substring(p_index+1):'';
break;
case'base':
f_url=(p_index!==-1)?t_url.substring(0,p_index):url;
break;
default:
f_url=t_url;
break}
return f_url}
function _add_to_url(str){
if(!str)return;
var ok=false,new_url='',new_ar=new Array();
var url=_get_url('base');
var param=_get_url('param');
var param_ar=new Array();
if(param.length==0)new_url=str;
else{
var pa=param.split('&');
for(var i=0;i<pa.length;i++){
var t=pa[i].split('=');
if(t[1]=='refresh_base')param_ar[t[0]]='';
else param_ar[t[0]]=t[1]}
}
var toput=str.split('&'),toput_ar=new Array();
for(var i=0;i<toput.length;i++){
var t=toput[i].split('=');
toput_ar[t[0]]=t[1]}
new_ar=param_ar;
for(var j in toput_ar){
new_ar[j]=toput_ar[j]}
new_url=url+"?"+_join(new_ar,'=','&');
if(new_url.charAt(new_url.length-1)=="&")new_url=new_url.substring(0,new_url.length-1);
window.location.href=new_url}
function _remove_from_url(str){
if(!str)return;
var ok=false,new_url='',param_ar=new Array();
var url=_get_url('base');
var param=_get_url('param');
if(param.length==0)return;
else{
var pa=param.split('&');
for(var i=0;i<pa.length;i++){
var t=pa[i].split('=');
if(t[1].toLowerCase()==str.toLowerCase()){
param_ar[t[0]]='';
var l=i}
else param_ar[t[0]]=t[1]}
}
new_url=url+"?"+_join(param_ar,'=','&');
if(new_url.charAt(new_url.length-1)=="&")new_url=new_url.substring(0,new_url.length-1);
window.location.href=new_url}
function _join(array,sep_arg,sep_item){
var string='';
var s_arg=(!sep_arg||sep_arg=='')?'=':sep_arg;
var s_item=(!sep_item||sep_item=='')?';':sep_item;
if(typeof(array)!='object')return;
else{
for(var item in array){
var value=array[item];
if(typeof(value)=='object'){
string+=item+s_arg+'(';
string+=_join(value);
string+=')'+s_item}else{
string+=item+s_arg+value+s_item}
}
}
return string}
function _dump(arr,level){
var dumped_text="";
if(!level)level=0;
var level_padding="";
for(var j=0;j<level+1;j++)level_padding+="    ";
if(typeof(arr)=='object'){
for(var item in arr){
var value=arr[item];
if(typeof(value)=='object'){
dumped_text+=level_padding+"'"+item+"' ...\n";
dumped_text+=_dump(value,level+1)}else{
if(typeof(value)!='function')
dumped_text+=level_padding+"'"+item+"' => \""+value+"\"\n"}
}
}
else{
dumped_text="===>"+arr+"<===("+typeof(arr)+")"}
return dumped_text}
function _window_size(){
var sizes={
width:(window.innerWidth!=null)?
window.innerWidth:(document.documentElement&&document.documentElement.clientWidth)?
document.documentElement.clientWidth:(document.body!=null)?
document.body.clientWidth:0,
height:(window.innerHeight!=null)?
window.innerHeight:(document.documentElement&&document.documentElement.clientHeight)?
document.documentElement.clientHeight:(document.body!=null)?
document.body.clientHeight:0,
left:(window.screenX!=null)?
window.screenX:(window.top.screenLeft!=null)?
window.top.screenLeft:0,
top:(window.screenY!=null)?
window.screenY:(window.top.screenTop!=null)?
window.top.screenTop:0,
right:(this.left!="0")?this.left+this.width:"0",
bottom:(this.top!="0")?this.top+this.height:"0",
scrol_x:(typeof(window.pageXOffset)!='undefined')?
window.pageXOffset:(document.documentElement&&document.documentElement.scrollTop)?
document.documentElement.scrollTop:(document.body!=null&&document.body.scrollTop)?
document.body.scrollTop:0,
scrol_y:(typeof(window.pageYOffset)!='undefined')?
window.pageYOffset:(document.documentElement&&document.documentElement.scrollLeft)?
document.documentElement.scrollLeft:(document.body!=null&&document.body.scrollLeft)?
document.body.scrollLeft:0
};
_dbg("width="+sizes['width']+" height="+sizes['height']+" top="+sizes['top']+" left="+sizes['left'],"CURRENT WINDOW DATAS");
return sizes}
function _popup_set(url,w,h,focus,options,name){
var width=(!w||w=='')?Utils_settings.default_popup_width:w;
var height=(!h||h=='')?Utils_settings.default_popup_height:h;
var name_f=(!name)?Utils_settings.default_popup_name:name;
var opt_set={
'directories':0,
'menubar':0,
'status':0,
'location':1,
'scrollbars':1,
'resizable':1,
'fullscreen':0,
'width':width,
'height':height,
'left':(screen.width-width)/2,
'top':(screen.height-height)/2
};
var opt_f=_join(explode_options(options),'',',');
function explode_options(options){
if(!options)return opt_set;
var opt_send=opt_set;
var reg_first=new RegExp("[ ,]+","g");
var reg_second=new RegExp("[ =]+","g");
var opt_list=options.split(reg_first);
for(var i=0;i<opt_list.length;i++){
var opt_tag=opt_list[i].split(reg_second);
opt_send[opt_tag[0]]=opt_tag[1]}
return opt_send}
_dbg(url+" , "+name_f+" , "+opt_f,"Opening POPUP");
var new_f=window.open(url,name_f,opt_f);
if(!focus||focus!==false)new_f.focus()}
function _is_url(url){
if(!url)return;
var good_url=/^(f|ht)tp(s)?:\/\/((\d+\.\d+\.\d+\.\d+)|(([\w-]+\.)+([a-z,A-Z][\w-]*)))(:[1-9][0-9]*)?(\/([\w-.\/:%+@&=]+[\w- .\/?:%+@&=]*)?)?(#(.*))?$/i;
if(!good_url.test(url))return false;
else return true}
function _detectMacXFF(){
var userAgent=navigator.userAgent.toLowerCase();
if(userAgent.indexOf('mac')!=-1&&userAgent.indexOf('firefox')!=-1){
return true}
}
function _add_to_favorites(title,url){
if(window.external){
window.external.AddFavorite(url,title)}
else if(window.sidebar){
window.sidebar.addPanel(title,url,"")}
}
function _get_ext(file){
var ext,p_index=file.lastIndexOf("."),d_index=file.indexOf("/");
ext=file.substr(p_index+1);
_dbg(ext,'Extension of file : '+file);
return ext}


// Minimisation :: btn_text.js

if(typeof jQuery=='function')
(function($){
$(function(){
var boutons=$('<span class="boutonstexte"></span>');
if(!$("img.textsizeup").length&&boutonstexte.txtSizeUp){
$('<button class="textsizeup"><img src="rien.gif" alt="'+boutonstexte.txtSizeUp+'" /></button>')
.appendTo(boutons)}
if(!$("img.textsizedown").length&&boutonstexte.txtSizeDown){
$('<button class="textsizedown"><img src="rien.gif" alt="'+boutonstexte.txtSizeDown+'" /></button>')
.appendTo(boutons)}
if(!$("img.textonly").length&&boutonstexte.txtOnly){
$('<button class="textonly"><img src="rien.gif" alt="'+boutonstexte.txtOnly+'" /></button>')
.appendTo(boutons)}
if(boutons.html()){
$(boutonstexte.selector).before(boutons)}
$("img.textsizeup,button.textsizeup")
.click(function(e){
boutonstexte.fontBigger($(this).is('button')?this:null);
e.stopPropagation()})
.attr({'alt':boutonstexte.txtSizeUp,'title':boutonstexte.txtSizeUp});
$("img.textsizedown,button.textsizedown")
.click(function(e){
boutonstexte.fontSmaller($(this).is('button')?this:null);
e.stopPropagation()})
.attr({'alt':boutonstexte.txtSizeDown,'title':boutonstexte.txtSizeDown});
$("img.textonly,button.textonly")
.click(function(e){
boutonstexte.texteOnly($(this).is('button')?this:null);
e.stopPropagation()})
.attr({'alt':boutonstexte.txtOnly,'title':boutonstexte.txtOnly})})})(jQuery);
function boutonsTexte(options)
{
this.rate=1.2;
this.selector="#contenu .texte";
for(opt in options){
this[opt]=options[opt]}
}
boutonsTexte.prototype.texteOnly=function(elt)
{
var that=this;
var texte=jQuery(elt).parent().next();
jQuery("body").toggleClass('onlytext_wrapper');
if(this['backTextOnly']){
texte.removeClass("onlytext");
jQuery(elt).attr({'title':that.txtOnly,'alt':that.txtOnly}).
parent().insertBefore(jQuery("#marktextonly")).after(texte);
jQuery("#marktextonly").remove();
jQuery('body').children().show();
this.backTextOnly=false;
return}
texte.addClass("onlytext");
jQuery(texte[texte.length-1]).after('<div id="marktextonly">marktextonly</div>');
$('body>*').hide();
jQuery(elt).attr({'title':that.txtBackSpip,'alt':that.txtBackSpip}).
parent().prependTo("body").after(texte);
this.backTextOnly=true}
boutonsTexte.prototype.fontBigger=function(elt,cookit)
{
var that=this;
var work=elt?jQuery(elt).parent().next():jQuery(this.selector);
work.each(function(){
wrap=jQuery(this);
if(jQuery.browser.msie){
var wrap=jQuery(this).children('.fontwrap');
if(!wrap.length){
jQuery(this).html("<span class='fontwrap' style='font-size:100%'>"
+jQuery(this).html()+"</span>");
var wrap=jQuery(this).children('.fontwrap')}
}
var m=wrap.css('fontSize').match(/(\d+(?:\.\d+)?)(.*)/);
wrap.css('fontSize',(that.rate*parseFloat(m[1]))+m[2])});
if(!cookit)textsize_set_cookie('+')}
boutonsTexte.prototype.fontSmaller=function(elt,cookit)
{
var that=this;
var work=elt?jQuery(elt).parent().next():jQuery(this.selector);
work.each(function(){
wrap=jQuery(this);
if(jQuery.browser.msie){
var wrap=jQuery(this).children('.fontwrap');
if(!wrap.length){
jQuery(this).html("<span class='fontwrap' style='font-size:100%'>"
+jQuery(this).html()+"</span>");
var wrap=jQuery(this).children('.fontwrap')}
}
var m=wrap.css('fontSize').match(/(\d+(?:\.\d+)?)(.*)/);
wrap.css('fontSize',(parseFloat(m[1])/that.rate)+m[2])});
if(!cookit)textsize_set_cookie('-')}
function dump(elt)
{var txt='';for(var prop in elt){txt+=prop+'='+elt[prop]+'/'}alert(txt)}
function textsize_set_cookie(size){
var cookie=textsize_read_cookie(),c_size=cookie.substr(0,1),n_size;
if(size=='-'){
if(c_size=='0')n_size=size;
else if(c_size=='+'){
if(cookie.length==1)n_size='0';
else n_size=c_size.substr(0,cookie.length-1)}
else if(c_size=='-'){
n_size+=size}
}
else if(size=='+'){
if(c_size=='0')n_size=size;
else if(c_size=='-'){
if(cookie.length==1)n_size='0';
else n_size=c_size.substr(0,cookie.length-1)}
else if(c_size=='+'){
n_size+=size}
}
jQuery.cookie('textsize',null,{path:'/'});
jQuery.cookie('textsize',jschar_store(n_size),{path:'/',expires:365})}
function textsize_read_cookie(){
var cookie=jQuery.cookie('textsize');
if(cookie===null)return'0';
else return cookie}
function btntxt_TextSize(){
if(window.addEventListener)
window.addEventListener("load",PressEnter,false);
else if(window.attachEvent)
window.attachEvent("onload",PressEnter);
var cookie=textsize_read_cookie();
if(cookie&&cookie!='0'){
for(i=0;i<cookie.length;i++){
if(cookie.charAt(i)=='-')boutonstexte.fontSmaller(null,true);
else if(cookie.charAt(i)=='1')boutonstexte.fontBigger(null,true)}
}
}
function jschar_store(str){
var n_str='';
if(str&&str!='0'){
for(i=0;i<str.length;i++){
if(str.charAt(i)=='-')n_str+='-';
else if(str.charAt(i)=='+')n_str+='1'}
}
else n_str=str;
return n_str}
function PressEnter(e){
var evt=window.event?event:e;
var unicode=evt.keyCode?evt.keyCode:evt.charCode;
if(unicode==13)return false;
else return}


// Minimisation :: jquery_ui/jquery-ui-1.6.custom.js

;(function($){
var _remove=$.fn.remove,
isFF2=$.browser.mozilla&&(parseFloat($.browser.version)<1.9);
$.ui={
version:"1.6",
plugin:{
add:function(module,option,set){
var proto=$.ui[module].prototype;
for(var i in set){
proto.plugins[i]=proto.plugins[i]||[];
proto.plugins[i].push([option,set[i]])}
},
call:function(instance,name,args){
var set=instance.plugins[name];
if(!set){return}
for(var i=0;i<set.length;i++){
if(instance.options[set[i][0]]){
set[i][1].apply(instance.element,args)}
}
}
},
contains:function(a,b){
var safari2=$.browser.safari&&$.browser.version<522;
if(a.contains&&!safari2){
return a.contains(b)}
if(a.compareDocumentPosition)
return!!(a.compareDocumentPosition(b)&16);
while(b=b.parentNode)
if(b==a)return true;
return false},
cssCache:{},
css:function(name){
if($.ui.cssCache[name]){return $.ui.cssCache[name]}
var tmp=$('<div class="ui-gen">').addClass(name).css({position:'absolute',top:'-5000px',left:'-5000px',display:'block'}).appendTo('body');
$.ui.cssCache[name]=!!(
(!(/auto|default/).test(tmp.css('cursor'))||(/^[1-9]/).test(tmp.css('height'))||(/^[1-9]/).test(tmp.css('width'))||
!(/none/).test(tmp.css('backgroundImage'))||!(/transparent|rgba\(0, 0, 0, 0\)/).test(tmp.css('backgroundColor')))
);
try{$('body').get(0).removeChild(tmp.get(0))}catch(e){}
return $.ui.cssCache[name]},
hasScroll:function(el,a){
if($(el).css('overflow')=='hidden'){return false}
var scroll=(a&&a=='left')?'scrollLeft':'scrollTop',
has=false;
if(el[scroll]>0){return true}
el[scroll]=1;
has=(el[scroll]>0);
el[scroll]=0;
return has},
isOverAxis:function(x,reference,size){
return(x>reference)&&(x<(reference+size))},
isOver:function(y,x,top,left,height,width){
return $.ui.isOverAxis(y,top,height)&&$.ui.isOverAxis(x,left,width)},
keyCode:{
BACKSPACE:8,
CAPS_LOCK:20,
COMMA:188,
CONTROL:17,
DELETE:46,
DOWN:40,
END:35,
ENTER:13,
ESCAPE:27,
HOME:36,
INSERT:45,
LEFT:37,
NUMPAD_ADD:107,
NUMPAD_DECIMAL:110,
NUMPAD_DIVIDE:111,
NUMPAD_ENTER:108,
NUMPAD_MULTIPLY:106,
NUMPAD_SUBTRACT:109,
PAGE_DOWN:34,
PAGE_UP:33,
PERIOD:190,
RIGHT:39,
SHIFT:16,
SPACE:32,
TAB:9,
UP:38
}
};
if(isFF2){
var attr=$.attr,
removeAttr=$.fn.removeAttr,
ariaNS="http://www.w3.org/2005/07/aaa",
ariaState=/^aria-/,
ariaRole=/^wairole:/;
$.attr=function(elem,name,value){
var set=value!==undefined;
return(name=='role'
?(set
?attr.call(this,elem,name,"wairole:"+value)
:(attr.apply(this,arguments)||"").replace(ariaRole,""))
:(ariaState.test(name)
?(set
?elem.setAttributeNS(ariaNS,
name.replace(ariaState,"aaa:"),value)
:attr.call(this,elem,name.replace(ariaState,"aaa:")))
:attr.apply(this,arguments)))};
$.fn.removeAttr=function(name){
return(ariaState.test(name)
?this.each(function(){
this.removeAttributeNS(ariaNS,name.replace(ariaState,""))}):removeAttr.call(this,name))}}
$.fn.extend({
remove:function(){
$("*",this).add(this).each(function(){
$(this).triggerHandler("remove")});
return _remove.apply(this,arguments)},
enableSelection:function(){
return this
.attr('unselectable','off')
.css('MozUserSelect','')
.unbind('selectstart.ui')},
disableSelection:function(){
return this
.attr('unselectable','on')
.css('MozUserSelect','none')
.bind('selectstart.ui',function(){return false})},
scrollParent:function(){
var scrollParent;
if(($.browser.msie&&(/(static|relative)/).test(this.css('position')))||(/absolute/).test(this.css('position'))){
scrollParent=this.parents().filter(function(){
return(/(relative|absolute|fixed)/).test($.curCSS(this,'position',1))&&(/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1))}).eq(0)}else{
scrollParent=this.parents().filter(function(){
return(/(auto|scroll)/).test($.curCSS(this,'overflow',1)+$.curCSS(this,'overflow-y',1)+$.curCSS(this,'overflow-x',1))}).eq(0)}
return(/fixed/).test(this.css('position'))||!scrollParent.length?$(document):scrollParent}
});
$.extend($.expr[':'],{
data:function(a,i,m){
return $.data(a,m[3])},
tabbable:function(a,i,m){
var nodeName=a.nodeName.toLowerCase();
function isVisible(element){
return!($(element).is(':hidden')||$(element).parents(':hidden').length)}
return(
a.tabIndex>=0&&
(
('a'==nodeName&&a.href)||
(/input|select|textarea|button/.test(nodeName)&&
'hidden'!=a.type&&!a.disabled)
)&&
isVisible(a)
)}
});
function getter(namespace,plugin,method,args){
function getMethods(type){
var methods=$[namespace][plugin][type]||[];
return(typeof methods=='string'?methods.split(/,?\s+/):methods)}
var methods=getMethods('getter');
if(args.length==1&&typeof args[0]=='string'){
methods=methods.concat(getMethods('getterSetter'))}
return($.inArray(method,methods)!=-1)}
$.widget=function(name,prototype){
var namespace=name.split(".")[0];
name=name.split(".")[1];
$.fn[name]=function(options){
var isMethodCall=(typeof options=='string'),
args=Array.prototype.slice.call(arguments,1);
if(isMethodCall&&options.substring(0,1)=='_'){
return this}
if(isMethodCall&&getter(namespace,name,options,args)){
var instance=$.data(this[0],name);
return(instance?instance[options].apply(instance,args)
:undefined)}
return this.each(function(){
var instance=$.data(this,name);
(!instance&&!isMethodCall&&
$.data(this,name,new $[namespace][name](this,options)));
(instance&&isMethodCall&&$.isFunction(instance[options])&&
instance[options].apply(instance,args))})};
$[namespace]=$[namespace]||{};
$[namespace][name]=function(element,options){
var self=this;
this.widgetName=name;
this.widgetEventPrefix=$[namespace][name].eventPrefix||name;
this.widgetBaseClass=namespace+'-'+name;
this.options=$.extend({},
$.widget.defaults,
$[namespace][name].defaults,
$.metadata&&$.metadata.get(element)[name],
options);
this.element=$(element)
.bind('setData.'+name,function(event,key,value){
return self._setData(key,value)})
.bind('getData.'+name,function(event,key){
return self._getData(key)})
.bind('remove',function(){
return self.destroy()});
this._init()};
$[namespace][name].prototype=$.extend({},$.widget.prototype,prototype);
$[namespace][name].getterSetter='option'};
$.widget.prototype={
_init:function(){},
destroy:function(){
this.element.removeData(this.widgetName)},
option:function(key,value){
var options=key,
self=this;
if(typeof key=="string"){
if(value===undefined){
return this._getData(key)}
options={};
options[key]=value}
$.each(options,function(key,value){
self._setData(key,value)})},
_getData:function(key){
return this.options[key]},
_setData:function(key,value){
this.options[key]=value;
if(key=='disabled'){
this.element[value?'addClass':'removeClass'](
this.widgetBaseClass+'-disabled')}
},
enable:function(){
this._setData('disabled',false)},
disable:function(){
this._setData('disabled',true)},
_trigger:function(type,event,data){
var eventName=(type==this.widgetEventPrefix
?type:this.widgetEventPrefix+type);
event=event||$.event.fix({type:eventName,target:this.element[0]});
return this.element.triggerHandler(eventName,[event,data],this.options[type])}
};
$.widget.defaults={
disabled:false
};
$.ui.mouse={
_mouseInit:function(){
var self=this;
this.element
.bind('mousedown.'+this.widgetName,function(event){
return self._mouseDown(event)})
.bind('click.'+this.widgetName,function(event){
if(self._preventClickEvent){
self._preventClickEvent=false;
return false}
});
if($.browser.msie){
this._mouseUnselectable=this.element.attr('unselectable');
this.element.attr('unselectable','on')}
this.started=false},
_mouseDestroy:function(){
this.element.unbind('.'+this.widgetName);
($.browser.msie
&&this.element.attr('unselectable',this._mouseUnselectable))},
_mouseDown:function(event){
(this._mouseStarted&&this._mouseUp(event));
this._mouseDownEvent=event;
var self=this,
btnIsLeft=(event.which==1),
elIsCancel=(typeof this.options.cancel=="string"?$(event.target).parents().add(event.target).filter(this.options.cancel).length:false);
if(!btnIsLeft||elIsCancel||!this._mouseCapture(event)){
return true}
this.mouseDelayMet=!this.options.delay;
if(!this.mouseDelayMet){
this._mouseDelayTimer=setTimeout(function(){
self.mouseDelayMet=true},this.options.delay)}
if(this._mouseDistanceMet(event)&&this._mouseDelayMet(event)){
this._mouseStarted=(this._mouseStart(event)!==false);
if(!this._mouseStarted){
event.preventDefault();
return true}
}
this._mouseMoveDelegate=function(event){
return self._mouseMove(event)};
this._mouseUpDelegate=function(event){
return self._mouseUp(event)};
$(document)
.bind('mousemove.'+this.widgetName,this._mouseMoveDelegate)
.bind('mouseup.'+this.widgetName,this._mouseUpDelegate);
if(!$.browser.safari)event.preventDefault();
return true},
_mouseMove:function(event){
if($.browser.msie&&!event.button){
return this._mouseUp(event)}
if(this._mouseStarted){
this._mouseDrag(event);
return event.preventDefault()}
if(this._mouseDistanceMet(event)&&this._mouseDelayMet(event)){
this._mouseStarted=
(this._mouseStart(this._mouseDownEvent,event)!==false);
(this._mouseStarted?this._mouseDrag(event):this._mouseUp(event))}
return!this._mouseStarted},
_mouseUp:function(event){
$(document)
.unbind('mousemove.'+this.widgetName,this._mouseMoveDelegate)
.unbind('mouseup.'+this.widgetName,this._mouseUpDelegate);
if(this._mouseStarted){
this._mouseStarted=false;
this._preventClickEvent=true;
this._mouseStop(event)}
return false},
_mouseDistanceMet:function(event){
return(Math.max(
Math.abs(this._mouseDownEvent.pageX-event.pageX),
Math.abs(this._mouseDownEvent.pageY-event.pageY)
)>=this.options.distance
)},
_mouseDelayMet:function(event){
return this.mouseDelayMet},
_mouseStart:function(event){},
_mouseDrag:function(event){},
_mouseStop:function(event){},
_mouseCapture:function(event){return true}
};
$.ui.mouse.defaults={
cancel:null,
distance:1,
delay:0
}})(jQuery);
(function($){
$.widget("ui.draggable",$.extend({},$.ui.mouse,{
_init:function(){
if(this.options.helper=='original'&&!(/^(?:r|a|f)/).test(this.element.css("position")))
this.element[0].style.position='relative';
(this.options.cssNamespace&&this.element.addClass(this.options.cssNamespace+"-draggable"));
(this.options.disabled&&this.element.addClass('ui-draggable-disabled'));
this._mouseInit()},
destroy:function(){
if(!this.element.data('draggable'))return;
this.element.removeData("draggable").unbind(".draggable").removeClass('ui-draggable ui-draggable-dragging ui-draggable-disabled');
this._mouseDestroy()},
_mouseCapture:function(event){
var o=this.options;
if(this.helper||o.disabled||$(event.target).is('.ui-resizable-handle'))
return false;
this.handle=this._getHandle(event);
if(!this.handle)
return false;
return true},
_mouseStart:function(event){
var o=this.options;
this.helper=this._createHelper(event);
this._cacheHelperProportions();
if($.ui.ddmanager)
$.ui.ddmanager.current=this;
this._cacheMargins();
this.cssPosition=this.helper.css("position");
this.scrollParent=this.helper.scrollParent();
this.offset=this.element.offset();
this.offset={
top:this.offset.top-this.margins.top,
left:this.offset.left-this.margins.left
};
$.extend(this.offset,{
click:{left:event.pageX-this.offset.left,
top:event.pageY-this.offset.top
},
parent:this._getParentOffset(),
relative:this._getRelativeOffset()});
if(o.cursorAt)
this._adjustOffsetFromHelper(o.cursorAt);
this.originalPosition=this._generatePosition(event);
if(o.containment)
this._setContainment();
this._propagate("start",event);
this._cacheHelperProportions();
if($.ui.ddmanager&&!o.dropBehaviour)
$.ui.ddmanager.prepareOffsets(this,event);
this.helper.addClass("ui-draggable-dragging");
this._mouseDrag(event,true);return true},
_mouseDrag:function(event,noPropagation){
this.position=this._generatePosition(event);
this.positionAbs=this._convertPositionTo("absolute");
if(!noPropagation)this.position=this._propagate("drag",event)||this.position;
if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+'px';
if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+'px';
if($.ui.ddmanager)$.ui.ddmanager.drag(this,event);
return false},
_mouseStop:function(event){
var dropped=false;
if($.ui.ddmanager&&!this.options.dropBehaviour)
var dropped=$.ui.ddmanager.drop(this,event);
if((this.options.revert=="invalid"&&!dropped)||(this.options.revert=="valid"&&dropped)||this.options.revert===true||($.isFunction(this.options.revert)&&this.options.revert.call(this.element,dropped))){
var self=this;
$(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){
self._propagate("stop",event);
self._clear()})}else{
this._propagate("stop",event);
this._clear()}
return false},
_getHandle:function(event){
var handle=!this.options.handle||!$(this.options.handle,this.element).length?true:false;
$(this.options.handle,this.element)
.find("*")
.andSelf()
.each(function(){
if(this==event.target)handle=true});
return handle},
_createHelper:function(event){
var o=this.options;
var helper=$.isFunction(o.helper)?$(o.helper.apply(this.element[0],[event])):(o.helper=='clone'?this.element.clone():this.element);
if(!helper.parents('body').length)
helper.appendTo((o.appendTo=='parent'?this.element[0].parentNode:o.appendTo));
if(helper[0]!=this.element[0]&&!(/(fixed|absolute)/).test(helper.css("position")))
helper.css("position","absolute");
return helper},
_adjustOffsetFromHelper:function(obj){
if(obj.left!=undefined)this.offset.click.left=obj.left+this.margins.left;
if(obj.right!=undefined)this.offset.click.left=this.helperProportions.width-obj.right+this.margins.left;
if(obj.top!=undefined)this.offset.click.top=obj.top+this.margins.top;
if(obj.bottom!=undefined)this.offset.click.top=this.helperProportions.height-obj.bottom+this.margins.top},
_getParentOffset:function(){
this.offsetParent=this.helper.offsetParent();var po=this.offsetParent.offset();
if((this.offsetParent[0]==document.body&&$.browser.mozilla)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=='html'&&$.browser.msie))po={top:0,left:0};
return{
top:po.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),
left:po.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)
}},
_getRelativeOffset:function(){
if(this.cssPosition=="relative"){
var p=this.element.position();
return{
top:p.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),
left:p.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()
}}else{
return{top:0,left:0}}
},
_cacheMargins:function(){
this.margins={
left:(parseInt(this.element.css("marginLeft"),10)||0),
top:(parseInt(this.element.css("marginTop"),10)||0)
}},
_cacheHelperProportions:function(){
this.helperProportions={
width:this.helper.outerWidth(),
height:this.helper.outerHeight()
}},
_setContainment:function(){
var o=this.options;
if(o.containment=='parent')o.containment=this.helper[0].parentNode;
if(o.containment=='document'||o.containment=='window')this.containment=[
0-this.offset.relative.left-this.offset.parent.left,
0-this.offset.relative.top-this.offset.parent.top,
$(o.containment=='document'?document:window).width()-this.offset.relative.left-this.offset.parent.left-this.helperProportions.width-this.margins.left-(parseInt(this.element.css("marginRight"),10)||0),
($(o.containment=='document'?document:window).height()||document.body.parentNode.scrollHeight)-this.offset.relative.top-this.offset.parent.top-this.helperProportions.height-this.margins.top-(parseInt(this.element.css("marginBottom"),10)||0)
];
if(!(/^(document|window|parent)$/).test(o.containment)){
var ce=$(o.containment)[0];
var co=$(o.containment).offset();
var over=($(ce).css("overflow")!='hidden');
this.containment=[
co.left+(parseInt($(ce).css("borderLeftWidth"),10)||0)-this.offset.relative.left-this.offset.parent.left-this.margins.left,
co.top+(parseInt($(ce).css("borderTopWidth"),10)||0)-this.offset.relative.top-this.offset.parent.top-this.margins.top,
co.left+(over?Math.max(ce.scrollWidth,ce.offsetWidth):ce.offsetWidth)-(parseInt($(ce).css("borderLeftWidth"),10)||0)-this.offset.relative.left-this.offset.parent.left-this.helperProportions.width-this.margins.left,
co.top+(over?Math.max(ce.scrollHeight,ce.offsetHeight):ce.offsetHeight)-(parseInt($(ce).css("borderTopWidth"),10)||0)-this.offset.relative.top-this.offset.parent.top-this.helperProportions.height-this.margins.top
]}
},
_convertPositionTo:function(d,pos){
if(!pos)pos=this.position;
var mod=d=="absolute"?1:-1;
var scroll=this[(this.cssPosition=='absolute'?'offset':'scroll')+'Parent'],scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);
return{
top:(
pos.top+this.offset.relative.top*mod+this.offset.parent.top*mod+(this.cssPosition=='fixed'?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop()))*mod
+this.margins.top*mod),
left:(
pos.left+this.offset.relative.left*mod+this.offset.parent.left*mod+(this.cssPosition=='fixed'?-this.scrollParent.scrollLeft():(scrollIsRootNode?0:scroll.scrollLeft()))*mod
+this.margins.left*mod)
}},
_generatePosition:function(event){
var o=this.options,scroll=this[(this.cssPosition=='absolute'?'offset':'scroll')+'Parent'],scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);
var position={
top:(
event.pageY-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(this.cssPosition=='fixed'?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop()))
),
left:(
event.pageX-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(this.cssPosition=='fixed'?-this.scrollParent.scrollLeft():scrollIsRootNode?0:scroll.scrollLeft())
)
};
if(!this.originalPosition)return position;
if(this.containment){
if(position.left<this.containment[0])position.left=this.containment[0];
if(position.top<this.containment[1])position.top=this.containment[1];
if(position.left>this.containment[2])position.left=this.containment[2];
if(position.top>this.containment[3])position.top=this.containment[3]}
if(o.grid){
var top=this.originalPosition.top+Math.round((position.top-this.originalPosition.top)/o.grid[1])*o.grid[1];
position.top=this.containment?(!(top<this.containment[1]||top>this.containment[3])?top:(!(top<this.containment[1])?top-o.grid[1]:top+o.grid[1])):top;
var left=this.originalPosition.left+Math.round((position.left-this.originalPosition.left)/o.grid[0])*o.grid[0];
position.left=this.containment?(!(left<this.containment[0]||left>this.containment[2])?left:(!(left<this.containment[0])?left-o.grid[0]:left+o.grid[0])):left}
return position},
_clear:function(){
this.helper.removeClass("ui-draggable-dragging");
if(this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval)this.helper.remove();
this.helper=null;
this.cancelHelperRemoval=false},
_propagate:function(n,event){
$.ui.plugin.call(this,n,[event,this._uiHash()]);
if(n=="drag")this.positionAbs=this._convertPositionTo("absolute");return this.element.triggerHandler(n=="drag"?n:"drag"+n,[event,this._uiHash()],this.options[n])},
plugins:{},
_uiHash:function(event){
return{
helper:this.helper,
position:this.position,
absolutePosition:this.positionAbs,
options:this.options
}}
}));
$.extend($.ui.draggable,{
version:"1.6",
defaults:{
appendTo:"parent",
axis:false,
cancel:":input",
connectToSortable:false,
containment:false,
cssNamespace:"ui",
cursor:"default",
cursorAt:null,
delay:0,
distance:1,
grid:false,
handle:false,
helper:"original",
iframeFix:false,
opacity:1,
refreshPositions:false,
revert:false,
revertDuration:500,
scope:"default",
scroll:true,
scrollSensitivity:20,
scrollSpeed:20,
snap:false,
snapMode:"both",
snapTolerance:20,
stack:false,
zIndex:null
}
});
$.ui.plugin.add("draggable","connectToSortable",{
start:function(event,ui){
var inst=$(this).data("draggable");
inst.sortables=[];
$(ui.options.connectToSortable).each(function(){
$(this+'').each(function(){
if($.data(this,'sortable')){
var sortable=$.data(this,'sortable');
inst.sortables.push({
instance:sortable,
shouldRevert:sortable.options.revert
});
sortable._refreshItems();sortable._propagate("activate",event,inst)}
})})},
stop:function(event,ui){
var inst=$(this).data("draggable");
$.each(inst.sortables,function(){
if(this.instance.isOver){
this.instance.isOver=0;
inst.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance._mouseStop(event);
this.instance.element.triggerHandler("sortreceive",[event,$.extend(this.instance._ui(),{sender:inst.element})],this.instance.options["receive"]);
this.instance.options.helper=this.instance.options._helper;
if(inst.options.helper=='original'){
this.instance.currentItem.css({top:'auto',left:'auto'})}
}else{
this.instance.cancelHelperRemoval=false;this.instance._propagate("deactivate",event,inst)}
})},
drag:function(event,ui){
var inst=$(this).data("draggable"),self=this;
var checkPos=function(o){
var dyClick=this.offset.click.top,dxClick=this.offset.click.left;
var helperTop=this.positionAbs.top,helperLeft=this.positionAbs.left;
var itemHeight=o.height,itemWidth=o.width;
var itemTop=o.top,itemLeft=o.left;
return $.ui.isOver(helperTop+dyClick,helperLeft+dxClick,itemTop,itemLeft,itemHeight,itemWidth)};
$.each(inst.sortables,function(i){
if(checkPos.call(inst,this.instance.containerCache)){
if(!this.instance.isOver){
this.instance.isOver=1;
this.instance.currentItem=$(self).clone().appendTo(this.instance.element).data("sortable-item",true);
this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return ui.helper[0]};
event.target=this.instance.currentItem[0];
this.instance._mouseCapture(event,true);
this.instance._mouseStart(event,true,true);
this.instance.offset.click.top=inst.offset.click.top;
this.instance.offset.click.left=inst.offset.click.left;
this.instance.offset.parent.left-=inst.offset.parent.left-this.instance.offset.parent.left;
this.instance.offset.parent.top-=inst.offset.parent.top-this.instance.offset.parent.top;
inst._propagate("toSortable",event)}
if(this.instance.currentItem)this.instance._mouseDrag(event)}else{
if(this.instance.isOver){
this.instance.isOver=0;
this.instance.cancelHelperRemoval=true;
this.instance.options.revert=false;this.instance._mouseStop(event,true);
this.instance.options.helper=this.instance.options._helper;
this.instance.currentItem.remove();
if(this.instance.placeholder)this.instance.placeholder.remove();
inst._propagate("fromSortable",event)}
}})}
});
$.ui.plugin.add("draggable","cursor",{
start:function(event,ui){
var t=$('body');
if(t.css("cursor"))ui.options._cursor=t.css("cursor");
t.css("cursor",ui.options.cursor)},
stop:function(event,ui){
if(ui.options._cursor)$('body').css("cursor",ui.options._cursor)}
});
$.ui.plugin.add("draggable","iframeFix",{
start:function(event,ui){
$(ui.options.iframeFix===true?"iframe":ui.options.iframeFix).each(function(){
$('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>')
.css({
width:this.offsetWidth+"px",height:this.offsetHeight+"px",
position:"absolute",opacity:"0.001",zIndex:1000
})
.css($(this).offset())
.appendTo("body")})},
stop:function(event,ui){
$("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}
});
$.ui.plugin.add("draggable","opacity",{
start:function(event,ui){
var t=$(ui.helper);
if(t.css("opacity"))ui.options._opacity=t.css("opacity");
t.css('opacity',ui.options.opacity)},
stop:function(event,ui){
if(ui.options._opacity)$(ui.helper).css('opacity',ui.options._opacity)}
});
$.ui.plugin.add("draggable","scroll",{
start:function(event,ui){
var o=ui.options;
var i=$(this).data("draggable");
if(i.scrollParent[0]!=document&&i.scrollParent[0].tagName!='HTML')i.overflowOffset=i.scrollParent.offset()},
drag:function(event,ui){
var o=ui.options,scrolled=false;
var i=$(this).data("draggable");
if(i.scrollParent[0]!=document&&i.scrollParent[0].tagName!='HTML'){
if((i.overflowOffset.top+i.scrollParent[0].offsetHeight)-event.pageY<o.scrollSensitivity)
i.scrollParent[0].scrollTop=scrolled=i.scrollParent[0].scrollTop+o.scrollSpeed;
else if(event.pageY-i.overflowOffset.top<o.scrollSensitivity)
i.scrollParent[0].scrollTop=scrolled=i.scrollParent[0].scrollTop-o.scrollSpeed;
if((i.overflowOffset.left+i.scrollParent[0].offsetWidth)-event.pageX<o.scrollSensitivity)
i.scrollParent[0].scrollLeft=scrolled=i.scrollParent[0].scrollLeft+o.scrollSpeed;
else if(event.pageX-i.overflowOffset.left<o.scrollSensitivity)
i.scrollParent[0].scrollLeft=scrolled=i.scrollParent[0].scrollLeft-o.scrollSpeed}else{
if(event.pageY-$(document).scrollTop()<o.scrollSensitivity)
scrolled=$(document).scrollTop($(document).scrollTop()-o.scrollSpeed);
else if($(window).height()-(event.pageY-$(document).scrollTop())<o.scrollSensitivity)
scrolled=$(document).scrollTop($(document).scrollTop()+o.scrollSpeed);
if(event.pageX-$(document).scrollLeft()<o.scrollSensitivity)
scrolled=$(document).scrollLeft($(document).scrollLeft()-o.scrollSpeed);
else if($(window).width()-(event.pageX-$(document).scrollLeft())<o.scrollSensitivity)
scrolled=$(document).scrollLeft($(document).scrollLeft()+o.scrollSpeed)}
if(scrolled!==false&&$.ui.ddmanager&&!o.dropBehaviour)
$.ui.ddmanager.prepareOffsets(i,event);
if(scrolled!==false&&i.cssPosition=='absolute'&&i.scrollParent[0]!=document&&$.ui.contains(i.scrollParent[0],i.offsetParent[0])){
i.offset.parent=i._getParentOffset()}
if(scrolled!==false&&i.cssPosition=='relative'&&!(i.scrollParent[0]!=document&&i.scrollParent[0]!=i.offsetParent[0])){
i.offset.relative=i._getRelativeOffset()}
}
});
$.ui.plugin.add("draggable","snap",{
start:function(event,ui){
var inst=$(this).data("draggable");
inst.snapElements=[];
$(ui.options.snap.constructor!=String?(ui.options.snap.items||':data(draggable)'):ui.options.snap).each(function(){
var $t=$(this);var $o=$t.offset();
if(this!=inst.element[0])inst.snapElements.push({
item:this,
width:$t.outerWidth(),height:$t.outerHeight(),
top:$o.top,left:$o.left
})})},
drag:function(event,ui){
var inst=$(this).data("draggable");
var d=ui.options.snapTolerance;
var x1=ui.absolutePosition.left,x2=x1+inst.helperProportions.width,
y1=ui.absolutePosition.top,y2=y1+inst.helperProportions.height;
for(var i=inst.snapElements.length-1;i>=0;i--){
var l=inst.snapElements[i].left,r=l+inst.snapElements[i].width,
t=inst.snapElements[i].top,b=t+inst.snapElements[i].height;
if(!((l-d<x1&&x1<r+d&&t-d<y1&&y1<b+d)||(l-d<x1&&x1<r+d&&t-d<y2&&y2<b+d)||(l-d<x2&&x2<r+d&&t-d<y1&&y1<b+d)||(l-d<x2&&x2<r+d&&t-d<y2&&y2<b+d))){
if(inst.snapElements[i].snapping)(inst.options.snap.release&&inst.options.snap.release.call(inst.element,event,$.extend(inst._uiHash(),{snapItem:inst.snapElements[i].item})));
inst.snapElements[i].snapping=false;
continue}
if(ui.options.snapMode!='inner'){
var ts=Math.abs(t-y2)<=d;
var bs=Math.abs(b-y1)<=d;
var ls=Math.abs(l-x2)<=d;
var rs=Math.abs(r-x1)<=d;
if(ts)ui.position.top=inst._convertPositionTo("relative",{top:t-inst.helperProportions.height,left:0}).top;
if(bs)ui.position.top=inst._convertPositionTo("relative",{top:b,left:0}).top;
if(ls)ui.position.left=inst._convertPositionTo("relative",{top:0,left:l-inst.helperProportions.width}).left;
if(rs)ui.position.left=inst._convertPositionTo("relative",{top:0,left:r}).left}
var first=(ts||bs||ls||rs);
if(ui.options.snapMode!='outer'){
var ts=Math.abs(t-y1)<=d;
var bs=Math.abs(b-y2)<=d;
var ls=Math.abs(l-x1)<=d;
var rs=Math.abs(r-x2)<=d;
if(ts)ui.position.top=inst._convertPositionTo("relative",{top:t,left:0}).top;
if(bs)ui.position.top=inst._convertPositionTo("relative",{top:b-inst.helperProportions.height,left:0}).top;
if(ls)ui.position.left=inst._convertPositionTo("relative",{top:0,left:l}).left;
if(rs)ui.position.left=inst._convertPositionTo("relative",{top:0,left:r-inst.helperProportions.width}).left}
if(!inst.snapElements[i].snapping&&(ts||bs||ls||rs||first))
(inst.options.snap.snap&&inst.options.snap.snap.call(inst.element,event,$.extend(inst._uiHash(),{snapItem:inst.snapElements[i].item})));
inst.snapElements[i].snapping=(ts||bs||ls||rs||first)}}
});
$.ui.plugin.add("draggable","stack",{
start:function(event,ui){
var group=$.makeArray($(ui.options.stack.group)).sort(function(a,b){
return(parseInt($(a).css("zIndex"),10)||ui.options.stack.min)-(parseInt($(b).css("zIndex"),10)||ui.options.stack.min)});
$(group).each(function(i){
this.style.zIndex=ui.options.stack.min+i});
this[0].style.zIndex=ui.options.stack.min+group.length}
});
$.ui.plugin.add("draggable","zIndex",{
start:function(event,ui){
var t=$(ui.helper);
if(t.css("zIndex"))ui.options._zIndex=t.css("zIndex");
t.css('zIndex',ui.options.zIndex)},
stop:function(event,ui){
if(ui.options._zIndex)$(ui.helper).css('zIndex',ui.options._zIndex)}
})})(jQuery);
(function($){
$.widget("ui.droppable",{
_init:function(){
var o=this.options,accept=o.accept;
this.isover=0;this.isout=1;
this.options.accept=this.options.accept&&$.isFunction(this.options.accept)?this.options.accept:function(d){
return d.is(accept)};
this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight};
$.ui.ddmanager.droppables[this.options.scope]=$.ui.ddmanager.droppables[this.options.scope]||[];
$.ui.ddmanager.droppables[this.options.scope].push(this);
(this.options.cssNamespace&&this.element.addClass(this.options.cssNamespace+"-droppable"))},
destroy:function(){
var drop=$.ui.ddmanager.droppables[this.options.scope];
for(var i=0;i<drop.length;i++)
if(drop[i]==this)
drop.splice(i,1);
this.element
.removeClass("ui-droppable-disabled")
.removeData("droppable")
.unbind(".droppable")},
_setData:function(key,value){
if(key=='accept'){
this.options.accept=value&&$.isFunction(value)?value:function(d){
return d.is(accept)}}else{
$.widget.prototype._setData.apply(this,arguments)}
},
_activate:function(event){
var draggable=$.ui.ddmanager.current;
$.ui.plugin.call(this,'activate',[event,this.ui(draggable)]);
if(draggable)this.element.triggerHandler("dropactivate",[event,this.ui(draggable)],this.options.activate)},
_deactivate:function(event){
var draggable=$.ui.ddmanager.current;
$.ui.plugin.call(this,'deactivate',[event,this.ui(draggable)]);
if(draggable)this.element.triggerHandler("dropdeactivate",[event,this.ui(draggable)],this.options.deactivate)},
_over:function(event){
var draggable=$.ui.ddmanager.current;
if(!draggable||(draggable.currentItem||draggable.element)[0]==this.element[0])return;
if(this.options.accept.call(this.element,(draggable.currentItem||draggable.element))){
$.ui.plugin.call(this,'over',[event,this.ui(draggable)]);
this.element.triggerHandler("dropover",[event,this.ui(draggable)],this.options.over)}
},
_out:function(event){
var draggable=$.ui.ddmanager.current;
if(!draggable||(draggable.currentItem||draggable.element)[0]==this.element[0])return;
if(this.options.accept.call(this.element,(draggable.currentItem||draggable.element))){
$.ui.plugin.call(this,'out',[event,this.ui(draggable)]);
this.element.triggerHandler("dropout",[event,this.ui(draggable)],this.options.out)}
},
_drop:function(event,custom){
var draggable=custom||$.ui.ddmanager.current;
if(!draggable||(draggable.currentItem||draggable.element)[0]==this.element[0])return false;
var childrenIntersection=false;
this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){
var inst=$.data(this,'droppable');
if(inst.options.greedy&&$.ui.intersect(draggable,$.extend(inst,{offset:inst.element.offset()}),inst.options.tolerance)){
childrenIntersection=true;return false}
});
if(childrenIntersection)return false;
if(this.options.accept.call(this.element,(draggable.currentItem||draggable.element))){
$.ui.plugin.call(this,'drop',[event,this.ui(draggable)]);
this.element.triggerHandler("drop",[event,this.ui(draggable)],this.options.drop);
return this.element}
return false},
plugins:{},
ui:function(c){
return{
draggable:(c.currentItem||c.element),
helper:c.helper,
position:c.position,
absolutePosition:c.positionAbs,
options:this.options,
element:this.element
}}
});
$.extend($.ui.droppable,{
version:"1.6",
defaults:{
accept:'*',
activeClass:null,
cssNamespace:'ui',
greedy:false,
hoverClass:null,
scope:'default',
tolerance:'intersect'
}
});
$.ui.intersect=function(draggable,droppable,toleranceMode){
if(!droppable.offset)return false;
var x1=(draggable.positionAbs||draggable.position.absolute).left,x2=x1+draggable.helperProportions.width,
y1=(draggable.positionAbs||draggable.position.absolute).top,y2=y1+draggable.helperProportions.height;
var l=droppable.offset.left,r=l+droppable.proportions.width,
t=droppable.offset.top,b=t+droppable.proportions.height;
switch(toleranceMode){
case'fit':
return(l<x1&&x2<r
&&t<y1&&y2<b);
break;
case'intersect':
return(l<x1+(draggable.helperProportions.width/2) &&x2-(draggable.helperProportions.width/2)<r &&t<y1+(draggable.helperProportions.height/2) &&y2-(draggable.helperProportions.height/2)<b); break;
case'pointer':
var draggableLeft=((draggable.positionAbs||draggable.position.absolute).left+(draggable.clickOffset||draggable.offset.click).left),
draggableTop=((draggable.positionAbs||draggable.position.absolute).top+(draggable.clickOffset||draggable.offset.click).top),
isOver=$.ui.isOver(draggableTop,draggableLeft,t,l,droppable.proportions.height,droppable.proportions.width);
return isOver;
break;
case'touch':
return(
(y1>=t&&y1<=b)||(y2>=t&&y2<=b)||(y1<t&&y2>b))&&(
(x1>=l&&x1<=r)||(x2>=l&&x2<=r)||(x1<l&&x2>r));
break;
default:
return false;
break}
};
$.ui.ddmanager={
current:null,
droppables:{'default':[]},
prepareOffsets:function(t,event){
var m=$.ui.ddmanager.droppables[t.options.scope];
var type=event?event.type:null;var list=(t.currentItem||t.element).find(":data(droppable)").andSelf();
droppablesLoop:for(var i=0;i<m.length;i++){
if(m[i].options.disabled||(t&&!m[i].options.accept.call(m[i].element,(t.currentItem||t.element))))continue;for(var j=0;j<list.length;j++){if(list[j]==m[i].element[0]){m[i].proportions.height=0;continue droppablesLoop}};m[i].visible=m[i].element.css("display")!="none";if(!m[i].visible)continue;
m[i].offset=m[i].element.offset();
m[i].proportions={width:m[i].element[0].offsetWidth,height:m[i].element[0].offsetHeight};
if(type=="dragstart"||type=="sortactivate")m[i]._activate.call(m[i],event)}
},
drop:function(draggable,event){
var dropped=false;
$.each($.ui.ddmanager.droppables[draggable.options.scope],function(){
if(!this.options)return;
if(!this.options.disabled&&this.visible&&$.ui.intersect(draggable,this,this.options.tolerance))
dropped=this._drop.call(this,event);
if(!this.options.disabled&&this.visible&&this.options.accept.call(this.element,(draggable.currentItem||draggable.element))){
this.isout=1;this.isover=0;
this._deactivate.call(this,event)}
});
return dropped},
drag:function(draggable,event){
if(draggable.options.refreshPositions)$.ui.ddmanager.prepareOffsets(draggable,event);
$.each($.ui.ddmanager.droppables[draggable.options.scope],function(){
if(this.options.disabled||this.greedyChild||!this.visible)return;
var intersects=$.ui.intersect(draggable,this,this.options.tolerance);
var c=!intersects&&this.isover==1?'isout':(intersects&&this.isover==0?'isover':null);
if(!c)return;
var parentInstance;
if(this.options.greedy){
var parent=this.element.parents(':data(droppable):eq(0)');
if(parent.length){
parentInstance=$.data(parent[0],'droppable');
parentInstance.greedyChild=(c=='isover'?1:0)}
}
if(parentInstance&&c=='isover'){
parentInstance['isover']=0;
parentInstance['isout']=1;
parentInstance._out.call(parentInstance,event)}
this[c]=1;this[c=='isout'?'isover':'isout']=0;
this[c=="isover"?"_over":"_out"].call(this,event);
if(parentInstance&&c=='isout'){
parentInstance['isout']=0;
parentInstance['isover']=1;
parentInstance._over.call(parentInstance,event)}
})}
};
$.ui.plugin.add("droppable","activeClass",{
activate:function(event,ui){
$(this).addClass(ui.options.activeClass)},
deactivate:function(event,ui){
$(this).removeClass(ui.options.activeClass)},
drop:function(event,ui){
$(this).removeClass(ui.options.activeClass)}
});
$.ui.plugin.add("droppable","hoverClass",{
over:function(event,ui){
$(this).addClass(ui.options.hoverClass)},
out:function(event,ui){
$(this).removeClass(ui.options.hoverClass)},
drop:function(event,ui){
$(this).removeClass(ui.options.hoverClass)}
})})(jQuery);
(function($){
$.widget("ui.resizable",$.extend({},$.ui.mouse,{
_init:function(){
var self=this,o=this.options;
var elpos=this.element.css('position');
this.originalElement=this.element;
this.element.addClass("ui-resizable").css({position:/static/.test(elpos)?'relative':elpos});
$.extend(o,{
_aspectRatio:!!(o.aspectRatio),
helper:o.helper||o.ghost||o.animate?o.helper||'ui-resizable-helper':null,
knobHandles:o.knobHandles===true?'ui-resizable-knob-handle':o.knobHandles
});
var aBorder='1px solid #DEDEDE';
o.defaultTheme={
'ui-resizable':{display:'block'},
'ui-resizable-handle':{position:'absolute',background:'#F2F2F2',fontSize:'0.1px'},
'ui-resizable-n':{cursor:'n-resize',height:'4px',left:'0px',right:'0px',borderTop:aBorder},
'ui-resizable-s':{cursor:'s-resize',height:'4px',left:'0px',right:'0px',borderBottom:aBorder},
'ui-resizable-e':{cursor:'e-resize',width:'4px',top:'0px',bottom:'0px',borderRight:aBorder},
'ui-resizable-w':{cursor:'w-resize',width:'4px',top:'0px',bottom:'0px',borderLeft:aBorder},
'ui-resizable-se':{cursor:'se-resize',width:'4px',height:'4px',borderRight:aBorder,borderBottom:aBorder},
'ui-resizable-sw':{cursor:'sw-resize',width:'4px',height:'4px',borderBottom:aBorder,borderLeft:aBorder},
'ui-resizable-ne':{cursor:'ne-resize',width:'4px',height:'4px',borderRight:aBorder,borderTop:aBorder},
'ui-resizable-nw':{cursor:'nw-resize',width:'4px',height:'4px',borderLeft:aBorder,borderTop:aBorder}
};
o.knobTheme={
'ui-resizable-handle':{background:'#F2F2F2',border:'1px solid #808080',height:'8px',width:'8px'},
'ui-resizable-n':{cursor:'n-resize',top:'0px',left:'45%'},
'ui-resizable-s':{cursor:'s-resize',bottom:'0px',left:'45%'},
'ui-resizable-e':{cursor:'e-resize',right:'0px',top:'45%'},
'ui-resizable-w':{cursor:'w-resize',left:'0px',top:'45%'},
'ui-resizable-se':{cursor:'se-resize',right:'0px',bottom:'0px'},
'ui-resizable-sw':{cursor:'sw-resize',left:'0px',bottom:'0px'},
'ui-resizable-nw':{cursor:'nw-resize',left:'0px',top:'0px'},
'ui-resizable-ne':{cursor:'ne-resize',right:'0px',top:'0px'}
};
o._nodeName=this.element[0].nodeName;
if(o._nodeName.match(/canvas|textarea|input|select|button|img/i)){
var el=this.element;
if(/relative/.test(el.css('position'))&&$.browser.opera)
el.css({position:'relative',top:'auto',left:'auto'});
el.wrap(
$('<div class="ui-wrapper"	style="overflow: hidden;"></div>').css({
position:el.css('position'),
width:el.outerWidth(),
height:el.outerHeight(),
top:el.css('top'),
left:el.css('left')
})
);
var oel=this.element;this.element=this.element.parent();
this.element.data('resizable',this);
this.element.css({marginLeft:oel.css("marginLeft"),marginTop:oel.css("marginTop"),
marginRight:oel.css("marginRight"),marginBottom:oel.css("marginBottom")
});
oel.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});
if($.browser.safari&&o.preventDefault)oel.css('resize','none');
o.proportionallyResize=oel.css({position:'static',zoom:1,display:'block'});
this.element.css({margin:oel.css('margin')});
this._proportionallyResize()}
if(!o.handles)o.handles=!$('.ui-resizable-handle',this.element).length?"e,s,se":{n:'.ui-resizable-n',e:'.ui-resizable-e',s:'.ui-resizable-s',w:'.ui-resizable-w',se:'.ui-resizable-se',sw:'.ui-resizable-sw',ne:'.ui-resizable-ne',nw:'.ui-resizable-nw'};
if(o.handles.constructor==String){
o.zIndex=o.zIndex||1000;
if(o.handles=='all')o.handles='n,e,s,w,se,sw,ne,nw';
var n=o.handles.split(",");o.handles={};
var insertionsDefault={
handle:'position: absolute; display: none; overflow:hidden;',
n:'top: 0pt; width:100%;',
e:'right: 0pt; height:100%;',
s:'bottom: 0pt; width:100%;',
w:'left: 0pt; height:100%;',
se:'bottom: 0pt; right: 0px;',
sw:'bottom: 0pt; left: 0px;',
ne:'top: 0pt; right: 0px;',
nw:'top: 0pt; left: 0px;'
};
for(var i=0;i<n.length;i++){
var handle=$.trim(n[i]),dt=o.defaultTheme,hname='ui-resizable-'+handle,loadDefault=!$.ui.css(hname)&&!o.knobHandles,userKnobClass=$.ui.css('ui-resizable-knob-handle'),
allDefTheme=$.extend(dt[hname],dt['ui-resizable-handle']),allKnobTheme=$.extend(o.knobTheme[hname],!userKnobClass?o.knobTheme['ui-resizable-handle']:{});
var applyZIndex=/sw|se|ne|nw/.test(handle)?{zIndex:++o.zIndex}:{};
var defCss=(loadDefault?insertionsDefault[handle]:''),
axis=$(['<div class="ui-resizable-handle ',hname,'" style="',defCss,insertionsDefault.handle,'"></div>'].join('')).css(applyZIndex);
o.handles[handle]='.ui-resizable-'+handle;
this.element.append(
axis.css(loadDefault?allDefTheme:{})
.css(o.knobHandles?allKnobTheme:{}).addClass(o.knobHandles?'ui-resizable-knob-handle':'').addClass(o.knobHandles)
)}
if(o.knobHandles)this.element.addClass('ui-resizable-knob').css(!$.ui.css('ui-resizable-knob')?{}:{})}
this._renderAxis=function(target){
target=target||this.element;
for(var i in o.handles){
if(o.handles[i].constructor==String)
o.handles[i]=$(o.handles[i],this.element).show();
if(o.transparent)
o.handles[i].css({opacity:0});
if(this.element.is('.ui-wrapper')&&
o._nodeName.match(/textarea|input|select|button/i)){
var axis=$(o.handles[i],this.element),padWrapper=0;
padWrapper=/sw|ne|nw|se|n|s/.test(i)?axis.outerHeight():axis.outerWidth();
var padPos=['padding',/ne|nw|n/.test(i)?'Top':/se|sw|s/.test(i)?'Bottom':/^e$/.test(i)?'Right':'Left'].join("");
if(!o.transparent)
target.css(padPos,padWrapper);
this._proportionallyResize()}
if(!$(o.handles[i]).length)continue}
};
this._renderAxis(this.element);
o._handles=$('.ui-resizable-handle',self.element);
if(o.disableSelection)
o._handles.disableSelection();
o._handles.mouseover(function(){
if(!o.resizing){
if(this.className)
var axis=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);
self.axis=o.axis=axis&&axis[1]?axis[1]:'se'}
});
if(o.autoHide){
o._handles.hide();
$(self.element).addClass("ui-resizable-autohide").hover(function(){
$(this).removeClass("ui-resizable-autohide");
o._handles.show()},
function(){
if(!o.resizing){
$(this).addClass("ui-resizable-autohide");
o._handles.hide()}
})}
this._mouseInit()},
destroy:function(){
var el=this.element,wrapped=el.children(".ui-resizable").get(0);
this._mouseDestroy();
var _destroy=function(exp){
$(exp).removeClass("ui-resizable ui-resizable-disabled")
.removeData("resizable").unbind(".resizable").find('.ui-resizable-handle').remove()};
_destroy(el);
if(el.is('.ui-wrapper')&&wrapped){
el.parent().append(
$(wrapped).css({
position:el.css('position'),
width:el.outerWidth(),
height:el.outerHeight(),
top:el.css('top'),
left:el.css('left')
})
).end().remove();
_destroy(wrapped)}
},
_mouseCapture:function(event){
if(this.options.disabled)return false;
var handle=false;
for(var i in this.options.handles){
if($(this.options.handles[i])[0]==event.target)handle=true}
if(!handle)return false;
return true},
_mouseStart:function(event){
var o=this.options,iniPos=this.element.position(),el=this.element,
ie6=$.browser.msie&&$.browser.version<7;
o.resizing=true;
o.documentScroll={top:$(document).scrollTop(),left:$(document).scrollLeft()};
if(el.is('.ui-draggable')||(/absolute/).test(el.css('position'))){
var sOffset=$.browser.msie&&!o.containment&&(/absolute/).test(el.css('position'))&&!(/relative/).test(el.parent().css('position'));
var dscrollt=sOffset?this.documentScroll.top:0,dscrolll=sOffset?this.documentScroll.left:0;
el.css({position:'absolute',top:(iniPos.top+dscrollt),left:(iniPos.left+dscrolll)})}
if($.browser.opera&&(/relative/).test(el.css('position')))
el.css({position:'relative',top:'auto',left:'auto'});
this._renderProxy();
var curleft=num(this.helper.css('left')),curtop=num(this.helper.css('top'));
if(o.containment){
curleft+=$(o.containment).scrollLeft()||0;
curtop+=$(o.containment).scrollTop()||0}
this.offset=this.helper.offset();
this.position={left:curleft,top:curtop};
this.size=o.helper||ie6?{width:el.outerWidth(),height:el.outerHeight()}:{width:el.width(),height:el.height()};
this.originalSize=o.helper||ie6?{width:el.outerWidth(),height:el.outerHeight()}:{width:el.width(),height:el.height()};
this.originalPosition={left:curleft,top:curtop};
this.sizeDiff={width:el.outerWidth()-el.width(),height:el.outerHeight()-el.height()};
this.originalMousePosition={left:event.pageX,top:event.pageY};
o.aspectRatio=(typeof o.aspectRatio=='number')?o.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);
if(o.preserveCursor){
var cursor=$('.ui-resizable-'+this.axis).css('cursor');
$('body').css('cursor',cursor=='auto'?this.axis+'-resize':cursor)}
this._propagate("start",event);
return true},
_mouseDrag:function(event){
var el=this.helper,o=this.options,props={},
self=this,smp=this.originalMousePosition,a=this.axis;
var dx=(event.pageX-smp.left)||0,dy=(event.pageY-smp.top)||0;
var trigger=this._change[a];
if(!trigger)return false;
var data=trigger.apply(this,[event,dx,dy]),ie6=$.browser.msie&&$.browser.version<7,csdif=this.sizeDiff;
if(o._aspectRatio||event.shiftKey)
data=this._updateRatio(data,event);
data=this._respectSize(data,event);
this._propagate("resize",event);
el.css({
top:this.position.top+"px",left:this.position.left+"px",
width:this.size.width+"px",height:this.size.height+"px"
});
if(!o.helper&&o.proportionallyResize)
this._proportionallyResize();
this._updateCache(data);
this.element.triggerHandler("resize",[event,this.ui()],this.options["resize"]);
return false},
_mouseStop:function(event){
this.options.resizing=false;
var o=this.options,self=this;
if(o.helper){
var pr=o.proportionallyResize,ista=pr&&(/textarea/i).test(pr.get(0).nodeName),
soffseth=ista&&$.ui.hasScroll(pr.get(0),'left')?0:self.sizeDiff.height,
soffsetw=ista?0:self.sizeDiff.width;
var s={width:(self.size.width-soffsetw),height:(self.size.height-soffseth)},
left=(parseInt(self.element.css('left'),10)+(self.position.left-self.originalPosition.left))||null,
top=(parseInt(self.element.css('top'),10)+(self.position.top-self.originalPosition.top))||null;
if(!o.animate)
this.element.css($.extend(s,{top:top,left:left}));
if(o.helper&&!o.animate)this._proportionallyResize()}
if(o.preserveCursor)
$('body').css('cursor','auto');
this._propagate("stop",event);
if(o.helper)this.helper.remove();
return false},
_updateCache:function(data){
var o=this.options;
this.offset=this.helper.offset();
if(data.left)this.position.left=data.left;
if(data.top)this.position.top=data.top;
if(data.height)this.size.height=data.height;
if(data.width)this.size.width=data.width},
_updateRatio:function(data,event){
var o=this.options,cpos=this.position,csize=this.size,a=this.axis;
if(data.height)data.width=(csize.height*o.aspectRatio);
else if(data.width)data.height=(csize.width/o.aspectRatio);
if(a=='sw'){
data.left=cpos.left+(csize.width-data.width);
data.top=null}
if(a=='nw'){
data.top=cpos.top+(csize.height-data.height);
data.left=cpos.left+(csize.width-data.width)}
return data},
_respectSize:function(data,event){
var el=this.helper,o=this.options,pRatio=o._aspectRatio||event.shiftKey,a=this.axis,
ismaxw=data.width&&o.maxWidth&&o.maxWidth<data.width,ismaxh=data.height&&o.maxHeight&&o.maxHeight<data.height,
isminw=data.width&&o.minWidth&&o.minWidth>data.width,isminh=data.height&&o.minHeight&&o.minHeight>data.height;
if(isminw)data.width=o.minWidth;
if(isminh)data.height=o.minHeight;
if(ismaxw)data.width=o.maxWidth;
if(ismaxh)data.height=o.maxHeight;
var dw=this.originalPosition.left+this.originalSize.width,dh=this.position.top+this.size.height;
var cw=/sw|nw|w/.test(a),ch=/nw|ne|n/.test(a);
if(isminw&&cw)data.left=dw-o.minWidth;
if(ismaxw&&cw)data.left=dw-o.maxWidth;
if(isminh&&ch)data.top=dh-o.minHeight;
if(ismaxh&&ch)data.top=dh-o.maxHeight;
var isNotwh=!data.width&&!data.height;
if(isNotwh&&!data.left&&data.top)data.top=null;
else if(isNotwh&&!data.top&&data.left)data.left=null;
return data},
_proportionallyResize:function(){
var o=this.options;
if(!o.proportionallyResize)return;
var prel=o.proportionallyResize,el=this.helper||this.element;
if(!o.borderDif){
var b=[prel.css('borderTopWidth'),prel.css('borderRightWidth'),prel.css('borderBottomWidth'),prel.css('borderLeftWidth')],
p=[prel.css('paddingTop'),prel.css('paddingRight'),prel.css('paddingBottom'),prel.css('paddingLeft')];
o.borderDif=$.map(b,function(v,i){
var border=parseInt(v,10)||0,padding=parseInt(p[i],10)||0;
return border+padding})}
prel.css({
height:(el.height()-o.borderDif[0]-o.borderDif[2])+"px",
width:(el.width()-o.borderDif[1]-o.borderDif[3])+"px"
})},
_renderProxy:function(){
var el=this.element,o=this.options;
this.elementOffset=el.offset();
if(o.helper){
this.helper=this.helper||$('<div style="overflow:hidden;"></div>');
var ie6=$.browser.msie&&$.browser.version<7,ie6offset=(ie6?1:0),
pxyoffset=(ie6?2:-1);
this.helper.addClass(o.helper).css({
width:el.outerWidth()+pxyoffset,
height:el.outerHeight()+pxyoffset,
position:'absolute',
left:this.elementOffset.left-ie6offset+'px',
top:this.elementOffset.top-ie6offset+'px',
zIndex:++o.zIndex
});
this.helper.appendTo("body");
if(o.disableSelection)
this.helper.disableSelection()}else{
this.helper=el}
},
_change:{
e:function(event,dx,dy){
return{width:this.originalSize.width+dx}},
w:function(event,dx,dy){
var o=this.options,cs=this.originalSize,sp=this.originalPosition;
return{left:sp.left+dx,width:cs.width-dx}},
n:function(event,dx,dy){
var o=this.options,cs=this.originalSize,sp=this.originalPosition;
return{top:sp.top+dy,height:cs.height-dy}},
s:function(event,dx,dy){
return{height:this.originalSize.height+dy}},
se:function(event,dx,dy){
return $.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[event,dx,dy]))},
sw:function(event,dx,dy){
return $.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[event,dx,dy]))},
ne:function(event,dx,dy){
return $.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[event,dx,dy]))},
nw:function(event,dx,dy){
return $.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[event,dx,dy]))}
},
_propagate:function(n,event){
$.ui.plugin.call(this,n,[event,this.ui()]);
if(n!="resize")this.element.triggerHandler(["resize",n].join(""),[event,this.ui()],this.options[n])},
plugins:{},
ui:function(){
return{
originalElement:this.originalElement,
element:this.element,
helper:this.helper,
position:this.position,
size:this.size,
options:this.options,
originalSize:this.originalSize,
originalPosition:this.originalPosition
}}
}));
$.extend($.ui.resizable,{
version:"1.6",
defaults:{
alsoResize:false,
animate:false,
animateDuration:"slow",
animateEasing:"swing",
aspectRatio:false,
autoHide:false,
cancel:":input",
containment:false,
disableSelection:true,
distance:1,
delay:0,
ghost:false,
grid:false,
knobHandles:false,
maxHeight:null,
maxWidth:null,
minHeight:10,
minWidth:10,
preserveCursor:true,
preventDefault:true,
proportionallyResize:false,
transparent:false
}
});
$.ui.plugin.add("resizable","alsoResize",{
start:function(event,ui){
var o=ui.options,self=$(this).data("resizable"),
_store=function(exp){
$(exp).each(function(){
$(this).data("resizable-alsoresize",{
width:parseInt($(this).width(),10),height:parseInt($(this).height(),10),
left:parseInt($(this).css('left'),10),top:parseInt($(this).css('top'),10)
})})};
if(typeof(o.alsoResize)=='object'&&!o.alsoResize.parentNode){
if(o.alsoResize.length){o.alsoResize=o.alsoResize[0];_store(o.alsoResize)}
else{$.each(o.alsoResize,function(exp,c){_store(exp)})}
}else{
_store(o.alsoResize)}
},
resize:function(event,ui){
var o=ui.options,self=$(this).data("resizable"),os=self.originalSize,op=self.originalPosition;
var delta={
height:(self.size.height-os.height)||0,width:(self.size.width-os.width)||0,
top:(self.position.top-op.top)||0,left:(self.position.left-op.left)||0
},
_alsoResize=function(exp,c){
$(exp).each(function(){
var start=$(this).data("resizable-alsoresize"),style={},css=c&&c.length?c:['width','height','top','left'];
$.each(css||['width','height','top','left'],function(i,prop){
var sum=(start[prop]||0)+(delta[prop]||0);
if(sum&&sum>=0)
style[prop]=sum||null});
$(this).css(style)})};
if(typeof(o.alsoResize)=='object'&&!o.alsoResize.parentNode){
$.each(o.alsoResize,function(exp,c){_alsoResize(exp,c)})}else{
_alsoResize(o.alsoResize)}
},
stop:function(event,ui){
$(this).removeData("resizable-alsoresize-start")}
});
$.ui.plugin.add("resizable","animate",{
stop:function(event,ui){
var o=ui.options,self=$(this).data("resizable");
var pr=o.proportionallyResize,ista=pr&&(/textarea/i).test(pr.get(0).nodeName),
soffseth=ista&&$.ui.hasScroll(pr.get(0),'left')?0:self.sizeDiff.height,
soffsetw=ista?0:self.sizeDiff.width;
var style={width:(self.size.width-soffsetw),height:(self.size.height-soffseth)},
left=(parseInt(self.element.css('left'),10)+(self.position.left-self.originalPosition.left))||null,
top=(parseInt(self.element.css('top'),10)+(self.position.top-self.originalPosition.top))||null;
self.element.animate(
$.extend(style,top&&left?{top:top,left:left}:{}),{
duration:o.animateDuration,
easing:o.animateEasing,
step:function(){
var data={
width:parseInt(self.element.css('width'),10),
height:parseInt(self.element.css('height'),10),
top:parseInt(self.element.css('top'),10),
left:parseInt(self.element.css('left'),10)
};
if(pr)pr.css({width:data.width,height:data.height});
self._updateCache(data);
self._propagate("animate",event)}
}
)}
});
$.ui.plugin.add("resizable","containment",{
start:function(event,ui){
var o=ui.options,self=$(this).data("resizable"),el=self.element;
var oc=o.containment,ce=(oc instanceof $)?oc.get(0):(/parent/.test(oc))?el.parent().get(0):oc;
if(!ce)return;
self.containerElement=$(ce);
if(/document/.test(oc)||oc==document){
self.containerOffset={left:0,top:0};
self.containerPosition={left:0,top:0};
self.parentData={
element:$(document),left:0,top:0,
width:$(document).width(),height:$(document).height()||document.body.parentNode.scrollHeight
}}
else{
var element=$(ce),p=[];
$(["Top","Right","Left","Bottom"]).each(function(i,name){p[i]=num(element.css("padding"+name))});
self.containerOffset=element.offset();
self.containerPosition=element.position();
self.containerSize={height:(element.innerHeight()-p[3]),width:(element.innerWidth()-p[1])};
var co=self.containerOffset,ch=self.containerSize.height,cw=self.containerSize.width,
width=($.ui.hasScroll(ce,"left")?ce.scrollWidth:cw),height=($.ui.hasScroll(ce)?ce.scrollHeight:ch);
self.parentData={
element:ce,left:co.left,top:co.top,width:width,height:height
}}
},
resize:function(event,ui){
var o=ui.options,self=$(this).data("resizable"),
ps=self.containerSize,co=self.containerOffset,cs=self.size,cp=self.position,
pRatio=o._aspectRatio||event.shiftKey,cop={top:0,left:0},ce=self.containerElement;
if(ce[0]!=document&&(/static/).test(ce.css('position')))cop=co;
if(cp.left<(o.helper?co.left:0)){
self.size.width=self.size.width+(o.helper?(self.position.left-co.left):(self.position.left-cop.left));
if(pRatio)self.size.height=self.size.width/o.aspectRatio;
self.position.left=o.helper?co.left:0}
if(cp.top<(o.helper?co.top:0)){
self.size.height=self.size.height+(o.helper?(self.position.top-co.top):self.position.top);
if(pRatio)self.size.width=self.size.height*o.aspectRatio;
self.position.top=o.helper?co.top:0}
self.offset.left=self.parentData.left+self.position.left;
self.offset.top=self.parentData.top+self.position.top;
var woset=Math.abs((o.helper?self.offset.left-cop.left:(self.offset.left-cop.left))+self.sizeDiff.width),
hoset=Math.abs((o.helper?self.offset.top-cop.top:(self.offset.top-co.top))+self.sizeDiff.height);
var isParent=self.containerElement.get(0)==self.element.parent().get(0),
isOffsetRelative=/relative|absolute/.test(self.containerElement.css('position'));
if(isParent&&isOffsetRelative)woset-=self.parentData.left;
if(woset+self.size.width>=self.parentData.width){
self.size.width=self.parentData.width-woset;
if(pRatio)self.size.height=self.size.width/o.aspectRatio}
if(hoset+self.size.height>=self.parentData.height){
self.size.height=self.parentData.height-hoset;
if(pRatio)self.size.width=self.size.height*o.aspectRatio}
},
stop:function(event,ui){
var o=ui.options,self=$(this).data("resizable"),cp=self.position,
co=self.containerOffset,cop=self.containerPosition,ce=self.containerElement;
var helper=$(self.helper),ho=helper.offset(),w=helper.outerWidth()-self.sizeDiff.width,h=helper.outerHeight()-self.sizeDiff.height;
if(o.helper&&!o.animate&&(/relative/).test(ce.css('position')))
$(this).css({left:ho.left-cop.left-co.left,width:w,height:h});
if(o.helper&&!o.animate&&(/static/).test(ce.css('position')))
$(this).css({left:ho.left-cop.left-co.left,width:w,height:h})}
});
$.ui.plugin.add("resizable","ghost",{
start:function(event,ui){
var o=ui.options,self=$(this).data("resizable"),pr=o.proportionallyResize,cs=self.size;
if(!pr)self.ghost=self.element.clone();
else self.ghost=pr.clone();
self.ghost.css(
{opacity:.25,display:'block',position:'relative',height:cs.height,width:cs.width,margin:0,left:0,top:0}
)
.addClass('ui-resizable-ghost').addClass(typeof o.ghost=='string'?o.ghost:'');
self.ghost.appendTo(self.helper)},
resize:function(event,ui){
var o=ui.options,self=$(this).data("resizable"),pr=o.proportionallyResize;
if(self.ghost)self.ghost.css({position:'relative',height:self.size.height,width:self.size.width})},
stop:function(event,ui){
var o=ui.options,self=$(this).data("resizable"),pr=o.proportionallyResize;
if(self.ghost&&self.helper)self.helper.get(0).removeChild(self.ghost.get(0))}
});
$.ui.plugin.add("resizable","grid",{
resize:function(event,ui){
var o=ui.options,self=$(this).data("resizable"),cs=self.size,os=self.originalSize,op=self.originalPosition,a=self.axis,ratio=o._aspectRatio||event.shiftKey;
o.grid=typeof o.grid=="number"?[o.grid,o.grid]:o.grid;
var ox=Math.round((cs.width-os.width)/(o.grid[0]||1))*(o.grid[0]||1),oy=Math.round((cs.height-os.height)/(o.grid[1]||1))*(o.grid[1]||1);
if(/^(se|s|e)$/.test(a)){
self.size.width=os.width+ox;
self.size.height=os.height+oy}
else if(/^(ne)$/.test(a)){
self.size.width=os.width+ox;
self.size.height=os.height+oy;
self.position.top=op.top-oy}
else if(/^(sw)$/.test(a)){
self.size.width=os.width+ox;
self.size.height=os.height+oy;
self.position.left=op.left-ox}
else{
self.size.width=os.width+ox;
self.size.height=os.height+oy;
self.position.top=op.top-oy;
self.position.left=op.left-ox}
}
});
var num=function(v){
return parseInt(v,10)||0}})(jQuery);
(function($){
$.widget("ui.selectable",$.extend({},$.ui.mouse,{
_init:function(){
var self=this;
this.element.addClass("ui-selectable");
this.dragged=false;
var selectees;
this.refresh=function(){
selectees=$(self.options.filter,self.element[0]);
selectees.each(function(){
var $this=$(this);
var pos=$this.offset();
$.data(this,"selectable-item",{
element:this,
$element:$this,
left:pos.left,
top:pos.top,
right:pos.left+$this.width(),
bottom:pos.top+$this.height(),
startselected:false,
selected:$this.hasClass('ui-selected'),
selecting:$this.hasClass('ui-selecting'),
unselecting:$this.hasClass('ui-unselecting')
})})};
this.refresh();
this.selectees=selectees.addClass("ui-selectee");
this._mouseInit();
this.helper=$(document.createElement('div'))
.css({border:'1px dotted black'})
.addClass("ui-selectable-helper")},
destroy:function(){
this.element
.removeClass("ui-selectable ui-selectable-disabled")
.removeData("selectable")
.unbind(".selectable");
this._mouseDestroy()},
_mouseStart:function(event){
var self=this;
this.opos=[event.pageX,event.pageY];
if(this.options.disabled)
return;
var options=this.options;
this.selectees=$(options.filter,this.element[0]);
this.element.triggerHandler("selectablestart",[event,{
"selectable":this.element[0],
"options":options
}],options.start);
$('body').append(this.helper);
this.helper.css({
"z-index":100,
"position":"absolute",
"left":event.clientX,
"top":event.clientY,
"width":0,
"height":0
});
if(options.autoRefresh){
this.refresh()}
this.selectees.filter('.ui-selected').each(function(){
var selectee=$.data(this,"selectable-item");
selectee.startselected=true;
if(!event.metaKey){
selectee.$element.removeClass('ui-selected');
selectee.selected=false;
selectee.$element.addClass('ui-unselecting');
selectee.unselecting=true;
self.element.triggerHandler("selectableunselecting",[event,{
selectable:self.element[0],
unselecting:selectee.element,
options:options
}],options.unselecting)}
});
var isSelectee=false;
$(event.target).parents().andSelf().each(function(){
if($.data(this,"selectable-item"))isSelectee=true});
return this.options.keyboard?!isSelectee:true},
_mouseDrag:function(event){
var self=this;
this.dragged=true;
if(this.options.disabled)
return;
var options=this.options;
var x1=this.opos[0],y1=this.opos[1],x2=event.pageX,y2=event.pageY;
if(x1>x2){var tmp=x2;x2=x1;x1=tmp}
if(y1>y2){var tmp=y2;y2=y1;y1=tmp}
this.helper.css({left:x1,top:y1,width:x2-x1,height:y2-y1});
this.selectees.each(function(){
var selectee=$.data(this,"selectable-item");
if(!selectee||selectee.element==self.element[0])
return;
var hit=false;
if(options.tolerance=='touch'){
hit=(!(selectee.left>x2||selectee.right<x1||selectee.top>y2||selectee.bottom<y1))}else if(options.tolerance=='fit'){
hit=(selectee.left>x1&&selectee.right<x2&&selectee.top>y1&&selectee.bottom<y2)}
if(hit){
if(selectee.selected){
selectee.$element.removeClass('ui-selected');
selectee.selected=false}
if(selectee.unselecting){
selectee.$element.removeClass('ui-unselecting');
selectee.unselecting=false}
if(!selectee.selecting){
selectee.$element.addClass('ui-selecting');
selectee.selecting=true;
self.element.triggerHandler("selectableselecting",[event,{
selectable:self.element[0],
selecting:selectee.element,
options:options
}],options.selecting)}
}else{
if(selectee.selecting){
if(event.metaKey&&selectee.startselected){
selectee.$element.removeClass('ui-selecting');
selectee.selecting=false;
selectee.$element.addClass('ui-selected');
selectee.selected=true}else{
selectee.$element.removeClass('ui-selecting');
selectee.selecting=false;
if(selectee.startselected){
selectee.$element.addClass('ui-unselecting');
selectee.unselecting=true}
self.element.triggerHandler("selectableunselecting",[event,{
selectable:self.element[0],
unselecting:selectee.element,
options:options
}],options.unselecting)}
}
if(selectee.selected){
if(!event.metaKey&&!selectee.startselected){
selectee.$element.removeClass('ui-selected');
selectee.selected=false;
selectee.$element.addClass('ui-unselecting');
selectee.unselecting=true;
self.element.triggerHandler("selectableunselecting",[event,{
selectable:self.element[0],
unselecting:selectee.element,
options:options
}],options.unselecting)}
}
}
});
return false},
_mouseStop:function(event){
var self=this;
this.dragged=false;
var options=this.options;
$('.ui-unselecting',this.element[0]).each(function(){
var selectee=$.data(this,"selectable-item");
selectee.$element.removeClass('ui-unselecting');
selectee.unselecting=false;
selectee.startselected=false;
self.element.triggerHandler("selectableunselected",[event,{
selectable:self.element[0],
unselected:selectee.element,
options:options
}],options.unselected)});
$('.ui-selecting',this.element[0]).each(function(){
var selectee=$.data(this,"selectable-item");
selectee.$element.removeClass('ui-selecting').addClass('ui-selected');
selectee.selecting=false;
selectee.selected=true;
selectee.startselected=true;
self.element.triggerHandler("selectableselected",[event,{
selectable:self.element[0],
selected:selectee.element,
options:options
}],options.selected)});
this.element.triggerHandler("selectablestop",[event,{
selectable:self.element[0],
options:this.options
}],this.options.stop);
this.helper.remove();
return false}
}));
$.extend($.ui.selectable,{
version:"1.6",
defaults:{
appendTo:'body',
autoRefresh:true,
cancel:":input",
delay:0,
distance:1,
filter:'*',
tolerance:'touch'
}
})})(jQuery);
(function($){
$.widget("ui.sortable",$.extend({},$.ui.mouse,{
_init:function(){
var o=this.options;
this.containerCache={};
this.element.addClass("ui-sortable");
this.refresh();
this.floating=this.items.length?(/left|right/).test(this.items[0].item.css('float')):false;
this.offset=this.element.offset();
this._mouseInit()},
destroy:function(){
this.element
.removeClass("ui-sortable ui-sortable-disabled")
.removeData("sortable")
.unbind(".sortable");
this._mouseDestroy();
for(var i=this.items.length-1;i>=0;i--)
this.items[i].item.removeData("sortable-item")},
_mouseCapture:function(event,overrideHandle){
if(this.reverting){
return false}
if(this.options.disabled||this.options.type=='static')return false;
this._refreshItems(event);
var currentItem=null,self=this,nodes=$(event.target).parents().each(function(){
if($.data(this,'sortable-item')==self){
currentItem=$(this);
return false}
});
if($.data(event.target,'sortable-item')==self)currentItem=$(event.target);
if(!currentItem)return false;
if(this.options.handle&&!overrideHandle){
var validHandle=false;
$(this.options.handle,currentItem).find("*").andSelf().each(function(){if(this==event.target)validHandle=true});
if(!validHandle)return false}
this.currentItem=currentItem;
this._removeCurrentsFromItems();
return true},
_mouseStart:function(event,overrideHandle,noActivation){
var o=this.options;
this.currentContainer=this;
this.refreshPositions();
this.helper=this._createHelper(event);
this._cacheHelperProportions();
this._cacheMargins();
this.scrollParent=this.helper.scrollParent();
this.offset=this.currentItem.offset();
this.offset={
top:this.offset.top-this.margins.top,
left:this.offset.left-this.margins.left
};
this.helper.css("position","absolute");
this.cssPosition=this.helper.css("position");
$.extend(this.offset,{
click:{left:event.pageX-this.offset.left,
top:event.pageY-this.offset.top
},
parent:this._getParentOffset(),
relative:this._getRelativeOffset()});
if(o.cursorAt)
this._adjustOffsetFromHelper(o.cursorAt);
this.originalPosition=this._generatePosition(event);
this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};
if(this.helper[0]!=this.currentItem[0]){
this.currentItem.hide()}
this._createPlaceholder();
if(o.containment)
this._setContainment();
this._propagate("start",event);
if(!this._preserveHelperProportions)
this._cacheHelperProportions();
if(!noActivation){
for(var i=this.containers.length-1;i>=0;i--){this.containers[i]._propagate("activate",event,this)}
}
if($.ui.ddmanager)
$.ui.ddmanager.current=this;
if($.ui.ddmanager&&!o.dropBehaviour)
$.ui.ddmanager.prepareOffsets(this,event);
this.dragging=true;
this.helper.addClass('ui-sortable-helper');
this._mouseDrag(event);return true},
_mouseDrag:function(event){
this.position=this._generatePosition(event);
this.positionAbs=this._convertPositionTo("absolute");
if(!this.lastPositionAbs){
this.lastPositionAbs=this.positionAbs}
$.ui.plugin.call(this,"sort",[event,this._ui()]);
this.positionAbs=this._convertPositionTo("absolute");
if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+'px';
if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+'px';
for(var i=this.items.length-1;i>=0;i--){
var item=this.items[i],itemElement=item.item[0],intersection=this._intersectsWithPointer(item);
if(!intersection)continue;
if(itemElement!=this.currentItem[0]&&this.placeholder[intersection==1?"next":"prev"]()[0]!=itemElement&&!$.ui.contains(this.placeholder[0],itemElement)&&(this.options.type=='semi-dynamic'?!$.ui.contains(this.element[0],itemElement):true)
){
this.direction=intersection==1?"down":"up";
if(this.options.tolerance=="pointer"||this._intersectsWithSides(item)){
this.options.sortIndicator.call(this,event,item)}else{
break}
this._propagate("change",event);break}
}
this._contactContainers(event);
if($.ui.ddmanager)$.ui.ddmanager.drag(this,event);
this._trigger('sort',event,this._ui());
this.lastPositionAbs=this.positionAbs;
return false},
_mouseStop:function(event,noPropagation){
if(!event)return;
if($.ui.ddmanager&&!this.options.dropBehaviour)
$.ui.ddmanager.drop(this,event);
if(this.options.revert){
var self=this;
var cur=self.placeholder.offset();
self.reverting=true;
$(this.helper).animate({
left:cur.left-this.offset.parent.left-self.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),
top:cur.top-this.offset.parent.top-self.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)
},parseInt(this.options.revert,10)||500,function(){
self._clear(event)})}else{
this._clear(event,noPropagation)}
return false},
cancel:function(){
if(this.dragging){
this._mouseUp();
if(this.options.helper=="original")
this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper");
else
this.currentItem.show();
for(var i=this.containers.length-1;i>=0;i--){
this.containers[i]._propagate("deactivate",null,this);
if(this.containers[i].containerCache.over){
this.containers[i]._propagate("out",null,this);
this.containers[i].containerCache.over=0}
}
}
if(this.placeholder[0].parentNode)this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
if(this.options.helper!="original"&&this.helper&&this.helper[0].parentNode)this.helper.remove();
$.extend(this,{
helper:null,
dragging:false,
reverting:false,
_noFinalSort:null
});
if(this.domPosition.prev){
$(this.domPosition.prev).after(this.currentItem)}else{
$(this.domPosition.parent).prepend(this.currentItem)}
return true},
serialize:function(o){
var items=this._getItemsAsjQuery(o&&o.connected);
var str=[];o=o||{};
$(items).each(function(){
var res=($(o.item||this).attr(o.attribute||'id')||'').match(o.expression||(/(.+)[-=_](.+)/));
if(res)str.push((o.key||res[1]+'[]')+'='+(o.key&&o.expression?res[1]:res[2]))});
return str.join('&')},
toArray:function(o){
var items=this._getItemsAsjQuery(o&&o.connected);
var ret=[];o=o||{};
items.each(function(){ret.push($(o.item||this).attr(o.attribute||'id')||'')});
return ret},
_intersectsWith:function(item){
var x1=this.positionAbs.left,
x2=x1+this.helperProportions.width,
y1=this.positionAbs.top,
y2=y1+this.helperProportions.height;
var l=item.left,
r=l+item.width,
t=item.top,
b=t+item.height;
var dyClick=this.offset.click.top,
dxClick=this.offset.click.left;
var isOverElement=(y1+dyClick)>t&&(y1+dyClick)<b&&(x1+dxClick)>l&&(x1+dxClick)<r;
if(this.options.tolerance=="pointer"
||this.options.forcePointerForContainers
||(this.options.tolerance!="pointer"&&this.helperProportions[this.floating?'width':'height']>item[this.floating?'width':'height'])
){
return isOverElement}else{
return(l<x1+(this.helperProportions.width/2) &&x2-(this.helperProportions.width/2)<r &&t<y1+(this.helperProportions.height/2) &&y2-(this.helperProportions.height/2)<b); 
}
},
_intersectsWithPointer:function(item){
var isOverElementHeight=$.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,item.top,item.height),
isOverElementWidth=$.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,item.left,item.width),
isOverElement=isOverElementHeight&&isOverElementWidth,
verticalDirection=this._getDragVerticalDirection(),
horizontalDirection=this._getDragHorizontalDirection();
if(!isOverElement)
return false;
return this.floating?
(((horizontalDirection&&horizontalDirection=="right")||verticalDirection=="down")?2:1)
:(verticalDirection&&(verticalDirection=="down"?2:1))},
_intersectsWithSides:function(item){
var isOverBottomHalf=$.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,item.top+(item.height/2),item.height),
isOverRightHalf=$.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,item.left+(item.width/2),item.width),
verticalDirection=this._getDragVerticalDirection(),
horizontalDirection=this._getDragHorizontalDirection();
if(this.floating&&horizontalDirection){
return((horizontalDirection=="right"&&isOverRightHalf)||(horizontalDirection=="left"&&!isOverRightHalf))}else{
return verticalDirection&&((verticalDirection=="down"&&isOverBottomHalf)||(verticalDirection=="up"&&!isOverBottomHalf))}
},
_getDragVerticalDirection:function(){
var delta=this.positionAbs.top-this.lastPositionAbs.top;
return delta!=0&&(delta>0?"down":"up")},
_getDragHorizontalDirection:function(){
var delta=this.positionAbs.left-this.lastPositionAbs.left;
return delta!=0&&(delta>0?"right":"left")},
refresh:function(event){
this._refreshItems(event);
this.refreshPositions()},
_getItemsAsjQuery:function(connected){
var self=this;
var items=[];
var queries=[];
if(this.options.connectWith&&connected){
for(var i=this.options.connectWith.length-1;i>=0;i--){
var cur=$(this.options.connectWith[i]);
for(var j=cur.length-1;j>=0;j--){
var inst=$.data(cur[j],'sortable');
if(inst&&inst!=this&&!inst.options.disabled){
queries.push([$.isFunction(inst.options.items)?inst.options.items.call(inst.element):$(inst.options.items,inst.element).not(".ui-sortable-helper"),inst])}
}}}
queries.push([$.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):$(this.options.items,this.element).not(".ui-sortable-helper"),this]);
for(var i=queries.length-1;i>=0;i--){
queries[i][0].each(function(){
items.push(this)})};
return $(items)},
_removeCurrentsFromItems:function(){
var list=this.currentItem.find(":data(sortable-item)");
for(var i=0;i<this.items.length;i++){
for(var j=0;j<list.length;j++){
if(list[j]==this.items[i].item[0])
this.items.splice(i,1)}}},
_refreshItems:function(event){
this.items=[];
this.containers=[this];
var items=this.items;
var self=this;
var queries=[[$.isFunction(this.options.items)?this.options.items.call(this.element[0],event,{item:this.currentItem}):$(this.options.items,this.element),this]];
if(this.options.connectWith){
for(var i=this.options.connectWith.length-1;i>=0;i--){
var cur=$(this.options.connectWith[i]);
for(var j=cur.length-1;j>=0;j--){
var inst=$.data(cur[j],'sortable');
if(inst&&inst!=this&&!inst.options.disabled){
queries.push([$.isFunction(inst.options.items)?inst.options.items.call(inst.element[0],event,{item:this.currentItem}):$(inst.options.items,inst.element),inst]);
this.containers.push(inst)}
}}}
for(var i=queries.length-1;i>=0;i--){
var targetData=queries[i][1];
var _queries=queries[i][0];
for(var j=0,queriesLength=_queries.length;j<queriesLength;j++){
var item=$(_queries[j]);
item.data('sortable-item',targetData);
items.push({
item:item,
instance:targetData,
width:0,height:0,
left:0,top:0
})}}},
refreshPositions:function(fast){
if(this.offsetParent&&this.helper){
this.offset.parent=this._getParentOffset()}
for(var i=this.items.length-1;i>=0;i--){
var item=this.items[i];
if(item.instance!=this.currentContainer&&this.currentContainer&&item.item[0]!=this.currentItem[0])
continue;
var t=this.options.toleranceElement?$(this.options.toleranceElement,item.item):item.item;
if(!fast){
if(this.options.accurateIntersection){
item.width=t.outerWidth();
item.height=t.outerHeight()}
else{
item.width=t[0].offsetWidth;
item.height=t[0].offsetHeight}
}
var p=t.offset();
item.left=p.left;
item.top=p.top};
if(this.options.custom&&this.options.custom.refreshContainers){
this.options.custom.refreshContainers.call(this)}else{
for(var i=this.containers.length-1;i>=0;i--){
var p=this.containers[i].element.offset();
this.containers[i].containerCache.left=p.left;
this.containers[i].containerCache.top=p.top;
this.containers[i].containerCache.width=this.containers[i].element.outerWidth();
this.containers[i].containerCache.height=this.containers[i].element.outerHeight()}}
},
_createPlaceholder:function(that){
var self=that||this,o=self.options;
if(!o.placeholder||o.placeholder.constructor==String){
var className=o.placeholder;
o.placeholder={
element:function(){
var el=$(document.createElement(self.currentItem[0].nodeName))
.addClass(className||self.currentItem[0].className+" ui-sortable-placeholder")
.removeClass('ui-sortable-helper')[0];
if(!className){
el.style.visibility="hidden";
document.body.appendChild(el);
el.innerHTML=self.currentItem[0].innerHTML.replace(/name\=\"[^\"\']+\"/g,'').replace(/jQuery[0-9]+\=\"[^\"\']+\"/g,'');
document.body.removeChild(el)};
return el},
update:function(container,p){
if(className&&!o.forcePlaceholderSize)return;
if(!p.height()){p.height(self.currentItem.innerHeight()-parseInt(self.currentItem.css('paddingTop')||0,10)-parseInt(self.currentItem.css('paddingBottom')||0,10))};
if(!p.width()){p.width(self.currentItem.innerWidth()-parseInt(self.currentItem.css('paddingLeft')||0,10)-parseInt(self.currentItem.css('paddingRight')||0,10))}}
}}
self.placeholder=$(o.placeholder.element.call(self.element,self.currentItem));
self.currentItem.after(self.placeholder);
o.placeholder.update(self,self.placeholder)},
_contactContainers:function(event){
for(var i=this.containers.length-1;i>=0;i--){
if(this._intersectsWith(this.containers[i].containerCache)){
if(!this.containers[i].containerCache.over){
if(this.currentContainer!=this.containers[i]){
var dist=10000;var itemWithLeastDistance=null;var base=this.positionAbs[this.containers[i].floating?'left':'top'];
for(var j=this.items.length-1;j>=0;j--){
if(!$.ui.contains(this.containers[i].element[0],this.items[j].item[0]))continue;
var cur=this.items[j][this.containers[i].floating?'left':'top'];
if(Math.abs(cur-base)<dist){
dist=Math.abs(cur-base);itemWithLeastDistance=this.items[j]}
}
if(!itemWithLeastDistance&&!this.options.dropOnEmpty)continue;
this.currentContainer=this.containers[i];
itemWithLeastDistance?this.options.sortIndicator.call(this,event,itemWithLeastDistance,null,true):this.options.sortIndicator.call(this,event,null,this.containers[i].element,true);
this._propagate("change",event);this.containers[i]._propagate("change",event,this);
this.options.placeholder.update(this.currentContainer,this.placeholder)}
this.containers[i]._propagate("over",event,this);
this.containers[i].containerCache.over=1}
}else{
if(this.containers[i].containerCache.over){
this.containers[i]._propagate("out",event,this);
this.containers[i].containerCache.over=0}
}
}},
_createHelper:function(event){
var o=this.options;
var helper=$.isFunction(o.helper)?$(o.helper.apply(this.element[0],[event,this.currentItem])):(o.helper=='clone'?this.currentItem.clone():this.currentItem);
if(!helper.parents('body').length)$(o.appendTo!='parent'?o.appendTo:this.currentItem[0].parentNode)[0].appendChild(helper[0]);
if(helper[0]==this.currentItem[0])
this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")};
if(helper[0].style.width==''||o.forceHelperSize)helper.width(this.currentItem.width());
if(helper[0].style.height==''||o.forceHelperSize)helper.height(this.currentItem.height());
return helper},
_adjustOffsetFromHelper:function(obj){
if(obj.left!=undefined)this.offset.click.left=obj.left+this.margins.left;
if(obj.right!=undefined)this.offset.click.left=this.helperProportions.width-obj.right+this.margins.left;
if(obj.top!=undefined)this.offset.click.top=obj.top+this.margins.top;
if(obj.bottom!=undefined)this.offset.click.top=this.helperProportions.height-obj.bottom+this.margins.top},
_getParentOffset:function(){
this.offsetParent=this.helper.offsetParent();var po=this.offsetParent.offset();
if((this.offsetParent[0]==document.body&&$.browser.mozilla)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=='html'&&$.browser.msie))po={top:0,left:0};
return{
top:po.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),
left:po.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)
}},
_getRelativeOffset:function(){
if(this.cssPosition=="relative"){
var p=this.currentItem.position();
return{
top:p.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),
left:p.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()
}}else{
return{top:0,left:0}}
},
_cacheMargins:function(){
this.margins={
left:(parseInt(this.currentItem.css("marginLeft"),10)||0),
top:(parseInt(this.currentItem.css("marginTop"),10)||0)
}},
_cacheHelperProportions:function(){
this.helperProportions={
width:this.helper.outerWidth(),
height:this.helper.outerHeight()
}},
_setContainment:function(){
var o=this.options;
if(o.containment=='parent')o.containment=this.helper[0].parentNode;
if(o.containment=='document'||o.containment=='window')this.containment=[
0-this.offset.relative.left-this.offset.parent.left,
0-this.offset.relative.top-this.offset.parent.top,
$(o.containment=='document'?document:window).width()-this.offset.relative.left-this.offset.parent.left-this.margins.left-(parseInt(this.currentItem.css("marginRight"),10)||0),
($(o.containment=='document'?document:window).height()||document.body.parentNode.scrollHeight)-this.offset.relative.top-this.offset.parent.top-this.margins.top-(parseInt(this.currentItem.css("marginBottom"),10)||0)
];
if(!(/^(document|window|parent)$/).test(o.containment)){
var ce=$(o.containment)[0];
var co=$(o.containment).offset();
var over=($(ce).css("overflow")!='hidden');
this.containment=[
co.left+(parseInt($(ce).css("borderLeftWidth"),10)||0)-this.offset.relative.left-this.offset.parent.left-this.margins.left,
co.top+(parseInt($(ce).css("borderTopWidth"),10)||0)-this.offset.relative.top-this.offset.parent.top-this.margins.top,
co.left+(over?Math.max(ce.scrollWidth,ce.offsetWidth):ce.offsetWidth)-(parseInt($(ce).css("borderLeftWidth"),10)||0)-this.offset.relative.left-this.offset.parent.left-this.margins.left,
co.top+(over?Math.max(ce.scrollHeight,ce.offsetHeight):ce.offsetHeight)-(parseInt($(ce).css("borderTopWidth"),10)||0)-this.offset.relative.top-this.offset.parent.top-this.margins.top
]}
},
_convertPositionTo:function(d,pos){
if(!pos)pos=this.position;
var mod=d=="absolute"?1:-1;
var scroll=this[(this.cssPosition=='absolute'?'offset':'scroll')+'Parent'],scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);
return{
top:(
pos.top+this.offset.relative.top*mod+this.offset.parent.top*mod+(this.cssPosition=='fixed'?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop()))*mod
+this.margins.top*mod),
left:(
pos.left+this.offset.relative.left*mod+this.offset.parent.left*mod+(this.cssPosition=='fixed'?-this.scrollParent.scrollLeft():(scrollIsRootNode?0:scroll.scrollLeft()))*mod
+this.margins.left*mod)
}},
_generatePosition:function(event){
var o=this.options,scroll=this[(this.cssPosition=='absolute'?'offset':'scroll')+'Parent'],scrollIsRootNode=(/(html|body)/i).test(scroll[0].tagName);
var position={
top:(
event.pageY-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(this.cssPosition=='fixed'?-this.scrollParent.scrollTop():(scrollIsRootNode?0:scroll.scrollTop()))
),
left:(
event.pageX-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(this.cssPosition=='fixed'?-this.scrollParent.scrollLeft():(scrollIsRootNode?0:scroll.scrollLeft()))
)
};
if(!this.originalPosition)return position;
if(this.containment){
if(position.left<this.containment[0])position.left=this.containment[0];
if(position.top<this.containment[1])position.top=this.containment[1];
if(position.left+this.helperProportions.width>this.containment[2])position.left=this.containment[2]-this.helperProportions.width;
if(position.top+this.helperProportions.height>this.containment[3])position.top=this.containment[3]-this.helperProportions.height}
if(o.grid){
var top=this.originalPosition.top+Math.round((position.top-this.originalPosition.top)/o.grid[1])*o.grid[1];
position.top=this.containment?(!(top<this.containment[1]||top>this.containment[3])?top:(!(top<this.containment[1])?top-o.grid[1]:top+o.grid[1])):top;
var left=this.originalPosition.left+Math.round((position.left-this.originalPosition.left)/o.grid[0])*o.grid[0];
position.left=this.containment?(!(left<this.containment[0]||left>this.containment[2])?left:(!(left<this.containment[0])?left-o.grid[0]:left+o.grid[0])):left}
return position},
_rearrange:function(event,i,a,hardRefresh){
a?a[0].appendChild(this.placeholder[0]):i.item[0].parentNode.insertBefore(this.placeholder[0],(this.direction=='down'?i.item[0]:i.item[0].nextSibling));
this.counter=this.counter?++this.counter:1;
var self=this,counter=this.counter;
window.setTimeout(function(){
if(counter==self.counter)self.refreshPositions(!hardRefresh)},0)},
_clear:function(event,noPropagation){
this.reverting=false;
if(!this._noFinalSort)this.placeholder.before(this.currentItem);
this._noFinalSort=null;
if(this.helper[0]==this.currentItem[0]){
for(var i in this._storedCSS){
if(this._storedCSS[i]=='auto'||this._storedCSS[i]=='static')this._storedCSS[i]=''}
this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else{
this.currentItem.show()}
if(this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||this.domPosition.parent!=this.currentItem.parent()[0])this._propagate("update",event,null,noPropagation);if(!$.ui.contains(this.element[0],this.currentItem[0])){this._propagate("remove",event,null,noPropagation);
for(var i=this.containers.length-1;i>=0;i--){
if($.ui.contains(this.containers[i].element[0],this.currentItem[0])){
this.containers[i]._propagate("update",event,this,noPropagation);
this.containers[i]._propagate("receive",event,this,noPropagation)}
}};
for(var i=this.containers.length-1;i>=0;i--){
this.containers[i]._propagate("deactivate",event,this,noPropagation);
if(this.containers[i].containerCache.over){
this.containers[i]._propagate("out",event,this);
this.containers[i].containerCache.over=0}
}
this.dragging=false;
if(this.cancelHelperRemoval){
this._propagate("beforeStop",event,null,noPropagation);
this._propagate("stop",event,null,noPropagation);
return false}
this._propagate("beforeStop",event,null,noPropagation);
this.placeholder[0].parentNode.removeChild(this.placeholder[0]);
if(this.options.helper!="original")this.helper.remove();this.helper=null;
this._propagate("stop",event,null,noPropagation);
return true},
_propagate:function(n,event,inst,noPropagation){
$.ui.plugin.call(this,n,[event,this._ui(inst)]);
var dontCancel=!noPropagation?this.element.triggerHandler(n=="sort"?n:"sort"+n,[event,this._ui(inst)],this.options[n]):true;
if(dontCancel===false)this.cancel()},
plugins:{},
_ui:function(inst){
var self=inst||this;
return{
helper:self.helper,
placeholder:self.placeholder||$([]),
position:self.position,
absolutePosition:self.positionAbs,
item:self.currentItem,
sender:inst?inst.element:null
}}
}));
$.extend($.ui.sortable,{
getter:"serialize toArray",
version:"1.6",
defaults:{
accurateIntersection:true,
appendTo:"parent",
cancel:":input",
delay:0,
distance:1,
dropOnEmpty:true,
forcePlaceholderSize:false,
forceHelperSize:false,
helper:"original",
items:'> *',
scope:"default",
scroll:true,
scrollSensitivity:20,
scrollSpeed:20,
sortIndicator:$.ui.sortable.prototype._rearrange,
tolerance:"default",
zIndex:1000
}
});
$.ui.plugin.add("sortable","cursor",{
start:function(event,ui){
var t=$('body'),i=$(this).data('sortable');
if(t.css("cursor"))i.options._cursor=t.css("cursor");
t.css("cursor",i.options.cursor)},
beforeStop:function(event,ui){
var i=$(this).data('sortable');
if(i.options._cursor)$('body').css("cursor",i.options._cursor)}
});
$.ui.plugin.add("sortable","opacity",{
start:function(event,ui){
var t=ui.helper,i=$(this).data('sortable');
if(t.css("opacity"))i.options._opacity=t.css("opacity");
t.css('opacity',i.options.opacity)},
beforeStop:function(event,ui){
var i=$(this).data('sortable');
if(i.options._opacity)$(ui.helper).css('opacity',i.options._opacity)}
});
$.ui.plugin.add("sortable","scroll",{
start:function(event,ui){
var i=$(this).data("sortable"),o=i.options;
if(i.scrollParent[0]!=document&&i.scrollParent[0].tagName!='HTML')i.overflowOffset=i.scrollParent.offset()},
sort:function(event,ui){
var i=$(this).data("sortable"),o=i.options,scrolled=false;
if(i.scrollParent[0]!=document&&i.scrollParent[0].tagName!='HTML'){
if((i.overflowOffset.top+i.scrollParent[0].offsetHeight)-event.pageY<o.scrollSensitivity)
i.scrollParent[0].scrollTop=scrolled=i.scrollParent[0].scrollTop+o.scrollSpeed;
else if(event.pageY-i.overflowOffset.top<o.scrollSensitivity)
i.scrollParent[0].scrollTop=scrolled=i.scrollParent[0].scrollTop-o.scrollSpeed;
if((i.overflowOffset.left+i.scrollParent[0].offsetWidth)-event.pageX<o.scrollSensitivity)
i.scrollParent[0].scrollLeft=scrolled=i.scrollParent[0].scrollLeft+o.scrollSpeed;
else if(event.pageX-i.overflowOffset.left<o.scrollSensitivity)
i.scrollParent[0].scrollLeft=scrolled=i.scrollParent[0].scrollLeft-o.scrollSpeed}else{
if(event.pageY-$(document).scrollTop()<o.scrollSensitivity)
scrolled=$(document).scrollTop($(document).scrollTop()-o.scrollSpeed);
else if($(window).height()-(event.pageY-$(document).scrollTop())<o.scrollSensitivity)
scrolled=$(document).scrollTop($(document).scrollTop()+o.scrollSpeed);
if(event.pageX-$(document).scrollLeft()<o.scrollSensitivity)
scrolled=$(document).scrollLeft($(document).scrollLeft()-o.scrollSpeed);
else if($(window).width()-(event.pageX-$(document).scrollLeft())<o.scrollSensitivity)
scrolled=$(document).scrollLeft($(document).scrollLeft()+o.scrollSpeed)}
if(scrolled!==false&&$.ui.ddmanager&&!o.dropBehaviour)
$.ui.ddmanager.prepareOffsets(i,event);
if(scrolled!==false&&i.cssPosition=='absolute'&&i.scrollParent[0]!=document&&$.ui.contains(i.scrollParent[0],i.offsetParent[0])){
i.offset.parent=i._getParentOffset()}
if(scrolled!==false&&i.cssPosition=='relative'&&!(i.scrollParent[0]!=document&&i.scrollParent[0]!=i.offsetParent[0])){
i.offset.relative=i._getRelativeOffset()}
}
});
$.ui.plugin.add("sortable","zIndex",{
start:function(event,ui){
var t=ui.helper,i=$(this).data('sortable');
if(t.css("zIndex"))i.options._zIndex=t.css("zIndex");
t.css('zIndex',i.options.zIndex)},
beforeStop:function(event,ui){
var i=$(this).data('sortable');
if(i.options._zIndex)$(ui.helper).css('zIndex',i.options._zIndex=='auto'?'':i.options._zIndex)}
})})(jQuery);
(function($){
$.widget("ui.accordion",{
_init:function(){
var options=this.options;
if(options.navigation){
var current=this.element.find("a").filter(options.navigationFilter);
if(current.length){
if(current.filter(options.header).length){
options.active=current}else{
options.active=current.parent().parent().prev();
current.addClass("current")}
}
}
options.headers=this.element.find(options.header);
options.active=findActive(options.headers,options.active);
if($.browser.msie){
this.element.find('a').css('zoom','1')}
if(!this.element.hasClass("ui-accordion")){
this.element.addClass("ui-accordion");
$('<span class="ui-accordion-left"></span>').insertBefore(options.headers);
$('<span class="ui-accordion-right"></span>').appendTo(options.headers);
options.headers.addClass("ui-accordion-header")}
var maxHeight;
if(options.fillSpace){
maxHeight=this.element.parent().height();
options.headers.each(function(){
maxHeight-=$(this).outerHeight()});
var maxPadding=0;
options.headers.next().each(function(){
maxPadding=Math.max(maxPadding,$(this).innerHeight()-$(this).height())}).height(maxHeight-maxPadding)}else if(options.autoHeight){
maxHeight=0;
options.headers.next().each(function(){
maxHeight=Math.max(maxHeight,$(this).outerHeight())}).height(maxHeight)}
this.element.attr('role','tablist');
var self=this;
options.headers
.attr('role','tab')
.bind('keydown',function(event){return self._keydown(event)})
.next()
.attr('role','tabpanel');
options.headers
.not(options.active||"")
.attr('aria-expanded','false')
.attr("tabIndex","-1")
.next()
.hide();
if(!options.active.length){
options.headers.eq(0).attr('tabIndex','0')}else{
options.active
.attr('aria-expanded','true')
.attr("tabIndex","0")
.parent().andSelf().addClass(options.selectedClass)}
if(!$.browser.safari)
options.headers.find('a').attr('tabIndex','-1');
if(options.event){
this.element.bind((options.event)+".accordion",clickHandler)}
},
destroy:function(){
this.options.headers.parent().andSelf().removeClass(this.options.selectedClass);
this.options.headers.prev(".ui-accordion-left").remove();
this.options.headers.children(".ui-accordion-right").remove();
this.options.headers.next().css("display","");
if(this.options.fillSpace||this.options.autoHeight){
this.options.headers.next().css("height","")}
$.removeData(this.element[0],"accordion");
this.element.removeClass("ui-accordion").unbind(".accordion")},
_keydown:function(event){
if(this.options.disabled||event.altKey||event.ctrlKey)
return;
var keyCode=$.ui.keyCode;
var length=this.options.headers.length;
var currentIndex=this.options.headers.index(event.target);
var toFocus=false;
switch(event.keyCode){
case keyCode.RIGHT:
case keyCode.DOWN:
toFocus=this.options.headers[(currentIndex+1)%length];
break;
case keyCode.LEFT:
case keyCode.UP:
toFocus=this.options.headers[(currentIndex-1+length)%length];
break;
case keyCode.SPACE:
case keyCode.ENTER:
return clickHandler.call(this.element[0],{target:event.target})}
if(toFocus){
$(event.target).attr('tabIndex','-1');
$(toFocus).attr('tabIndex','0');
toFocus.focus();
return false}
return true},
activate:function(index){
clickHandler.call(this.element[0],{
target:findActive(this.options.headers,index)[0]
})}
});
function scopeCallback(callback,scope){
return function(){
return callback.apply(scope,arguments)}};
function completed(cancel){
if(!$.data(this,"accordion")){
return}
var instance=$.data(this,"accordion");
var options=instance.options;
options.running=cancel?0:--options.running;
if(options.running){
return}
if(options.clearStyle){
options.toShow.add(options.toHide).css({
height:"",
overflow:""
})}
instance._trigger('change',null,options.data)}
function toggle(toShow,toHide,data,clickedActive,down){
var options=$.data(this,"accordion").options;
options.toShow=toShow;
options.toHide=toHide;
options.data=data;
var complete=scopeCallback(completed,this);
$.data(this,"accordion")._trigger("changestart",null,options.data);
options.running=toHide.size()===0?toShow.size():toHide.size();
if(options.animated){
var animOptions={};
if(!options.alwaysOpen&&clickedActive){
animOptions={
toShow:$([]),
toHide:toHide,
complete:complete,
down:down,
autoHeight:options.autoHeight
}}else{
animOptions={
toShow:toShow,
toHide:toHide,
complete:complete,
down:down,
autoHeight:options.autoHeight
}}
if(!options.proxied){
options.proxied=options.animated}
if(!options.proxiedDuration){
options.proxiedDuration=options.duration}
options.animated=$.isFunction(options.proxied)?
options.proxied(animOptions):options.proxied;
options.duration=$.isFunction(options.proxiedDuration)?
options.proxiedDuration(animOptions):options.proxiedDuration;
var animations=$.ui.accordion.animations,
duration=options.duration,
easing=options.animated;
if(!animations[easing]){
animations[easing]=function(options){
this.slide(options,{
easing:easing,
duration:duration||700
})}}
animations[easing](animOptions)}else{
if(!options.alwaysOpen&&clickedActive){
toShow.toggle()}else{
toHide.hide();
toShow.show()}
complete(true)}
toHide.prev().attr('aria-expanded','false').attr("tabIndex","-1");
toShow.prev().attr('aria-expanded','true').attr("tabIndex","0").focus()}
function clickHandler(event){
var options=$.data(this,"accordion").options;
if(options.disabled){
return false}
if(!event.target&&!options.alwaysOpen){
options.active.parent().andSelf().toggleClass(options.selectedClass);
var toHide=options.active.next(),
data={
options:options,
newHeader:$([]),
oldHeader:options.active,
newContent:$([]),
oldContent:toHide
},
toShow=(options.active=$([]));
toggle.call(this,toShow,toHide,data);
return false}
var clicked=$(event.target);
clicked=$(clicked.parents(options.header)[0]||clicked);
var clickedActive=clicked[0]==options.active[0];
if(options.running||(options.alwaysOpen&&clickedActive)){
return false}
if(!clicked.is(options.header)){
return}
options.active.parent().andSelf().toggleClass(options.selectedClass);
if(!clickedActive){
clicked.parent().andSelf().addClass(options.selectedClass)}
var toShow=clicked.next(),
toHide=options.active.next(),
data={
options:options,
newHeader:clickedActive&&!options.alwaysOpen?$([]):clicked,
oldHeader:options.active,
newContent:clickedActive&&!options.alwaysOpen?$([]):toShow,
oldContent:toHide
},
down=options.headers.index(options.active[0])>options.headers.index(clicked[0]);
options.active=clickedActive?$([]):clicked;
toggle.call(this,toShow,toHide,data,clickedActive,down);
return false};
function findActive(headers,selector){
return selector
?typeof selector=="number"
?headers.filter(":eq("+selector+")")
:headers.not(headers.not(selector))
:selector===false
?$([])
:headers.filter(":eq(0)")}
$.extend($.ui.accordion,{
version:"1.6",
defaults:{
autoHeight:true,
alwaysOpen:true,
animated:'slide',
event:"click",
header:"a",
navigationFilter:function(){
return this.href.toLowerCase()==location.href.toLowerCase()},
running:0,
selectedClass:"selected"
},
animations:{
slide:function(options,additions){
options=$.extend({
easing:"swing",
duration:300
},options,additions);
if(!options.toHide.size()){
options.toShow.animate({height:"show"},options);
return}
var hideHeight=options.toHide.height(),
showHeight=options.toShow.height(),
difference=showHeight/hideHeight,
padding=options.toShow.outerHeight()-options.toShow.height(),
margin=options.toShow.css('marginBottom'),
overflow=options.toShow.css('overflow')
tmargin=options.toShow.css('marginTop');
options.toShow.css({height:0,overflow:'hidden',marginTop:0,marginBottom:-padding}).show();
options.toHide.filter(":hidden").each(options.complete).end().filter(":visible").animate({height:"hide"},{
step:function(now){
var current=(hideHeight-now)*difference;
if($.browser.msie||$.browser.opera){
current=Math.ceil(current)}
options.toShow.height(current)},
duration:options.duration,
easing:options.easing,
complete:function(){
if(!options.autoHeight){
options.toShow.css("height","auto")}
options.toShow.css({marginTop:tmargin,marginBottom:margin,overflow:overflow});
options.complete()}
})},
bounceslide:function(options){
this.slide(options,{
easing:options.down?"easeOutBounce":"swing",
duration:options.down?1000:200
})},
easeslide:function(options){
this.slide(options,{
easing:"easeinout",
duration:700
})}
}
})})(jQuery);
(function($){
var setDataSwitch={
dragStart:"start.draggable",
drag:"drag.draggable",
dragStop:"stop.draggable",
maxHeight:"maxHeight.resizable",
minHeight:"minHeight.resizable",
maxWidth:"maxWidth.resizable",
minWidth:"minWidth.resizable",
resizeStart:"start.resizable",
resize:"drag.resizable",
resizeStop:"stop.resizable"
};
$.widget("ui.dialog",{
_init:function(){
this.originalTitle=this.element.attr('title');
this.options.title=this.options.title||this.originalTitle;
var self=this,
options=this.options,
uiDialogContent=this.element
.removeAttr('title')
.addClass('ui-dialog-content')
.wrap('<div></div>')
.wrap('<div></div>'),
uiDialogContainer=(this.uiDialogContainer=uiDialogContent.parent())
.addClass('ui-dialog-container')
.css({
position:'relative',
width:'100%',
height:'100%'
}),
uiDialogTitlebar=(this.uiDialogTitlebar=$('<div></div>'))
.addClass('ui-dialog-titlebar')
.mousedown(function(){
self.moveToTop()})
.prependTo(uiDialogContainer),
uiDialogTitlebarClose=$('<a href="#"/>')
.addClass('ui-dialog-titlebar-close')
.attr('role','button')
.appendTo(uiDialogTitlebar),
uiDialogTitlebarCloseText=(this.uiDialogTitlebarCloseText=$('<span/>'))
.text(options.closeText)
.appendTo(uiDialogTitlebarClose),
title=options.title||'&nbsp;',
titleId=$.ui.dialog.getTitleId(this.element),
uiDialogTitle=$('<span/>')
.addClass('ui-dialog-title')
.attr('id',titleId)
.html(title)
.prependTo(uiDialogTitlebar),
uiDialog=(this.uiDialog=uiDialogContainer.parent())
.appendTo(document.body)
.hide()
.addClass('ui-dialog')
.addClass(options.dialogClass)
.css({
position:'absolute',
width:options.width,
height:options.height,
overflow:'hidden',
zIndex:options.zIndex
})
.attr('tabIndex',-1).css('outline',0).keydown(function(ev){
(options.closeOnEscape&&ev.keyCode
&&ev.keyCode==$.ui.keyCode.ESCAPE&&self.close())})
.attr({
role:'dialog',
'aria-labelledby':titleId
})
.mouseup(function(){
self.moveToTop()}),
uiDialogButtonPane=(this.uiDialogButtonPane=$('<div></div>'))
.addClass('ui-dialog-buttonpane')
.css({
position:'absolute',
bottom:0
})
.appendTo(uiDialog),
uiDialogTitlebarClose=$('.ui-dialog-titlebar-close',uiDialogTitlebar)
.hover(
function(){
$(this).addClass('ui-dialog-titlebar-close-hover')},
function(){
$(this).removeClass('ui-dialog-titlebar-close-hover')}
)
.mousedown(function(ev){
ev.stopPropagation()})
.click(function(){
self.close();
return false});
uiDialogTitlebar.find("*").add(uiDialogTitlebar).disableSelection();
(options.draggable&&$.fn.draggable&&this._makeDraggable());
(options.resizable&&$.fn.resizable&&this._makeResizable());
this._createButtons(options.buttons);
this._isOpen=false;
(options.bgiframe&&$.fn.bgiframe&&uiDialog.bgiframe());
(options.autoOpen&&this.open())},
destroy:function(){
(this.overlay&&this.overlay.destroy());
this.uiDialog.hide();
this.element
.unbind('.dialog')
.removeData('dialog')
.removeClass('ui-dialog-content')
.hide().appendTo('body');
this.uiDialog.remove();
(this.originalTitle&&this.element.attr('title',this.originalTitle))},
close:function(){
if(false===this._trigger('beforeclose',null,{options:this.options})){
return}
(this.overlay&&this.overlay.destroy());
this.uiDialog
.hide(this.options.hide)
.unbind('keypress.ui-dialog');
this._trigger('close',null,{options:this.options});
$.ui.dialog.overlay.resize();
this._isOpen=false},
isOpen:function(){
return this._isOpen},
moveToTop:function(force){
if((this.options.modal&&!force)
||(!this.options.stack&&!this.options.modal)){
return this._trigger('focus',null,{options:this.options})}
var maxZ=this.options.zIndex,options=this.options;
$('.ui-dialog:visible').each(function(){
maxZ=Math.max(maxZ,parseInt($(this).css('z-index'),10)||options.zIndex)});
(this.overlay&&this.overlay.$el.css('z-index',++maxZ));
var saveScroll={scrollTop:this.element.attr('scrollTop'),scrollLeft:this.element.attr('scrollLeft')};
this.uiDialog.css('z-index',++maxZ);
this.element.attr(saveScroll);
this._trigger('focus',null,{options:this.options})},
open:function(){
if(this._isOpen){return}
this.overlay=this.options.modal?new $.ui.dialog.overlay(this):null;
(this.uiDialog.next().length&&this.uiDialog.appendTo('body'));
this._position(this.options.position);
this.uiDialog.show(this.options.show);
(this.options.autoResize&&this._size());
this.moveToTop(true);
(this.options.modal&&this.uiDialog.bind('keypress.ui-dialog',function(event){
if(event.keyCode!=$.ui.keyCode.TAB){
return}
var tabbables=$(':tabbable',this),
first=tabbables.filter(':first')[0],
last=tabbables.filter(':last')[0];
if(event.target==last&&!event.shiftKey){
setTimeout(function(){
first.focus()},1)}else if(event.target==first&&event.shiftKey){
setTimeout(function(){
last.focus()},1)}
}));
this.uiDialog.find(':tabbable:first').focus();
this._trigger('open',null,{options:this.options});
this._isOpen=true},
_createButtons:function(buttons){
var self=this,
hasButtons=false,
uiDialogButtonPane=this.uiDialogButtonPane;
uiDialogButtonPane.empty().hide();
$.each(buttons,function(){return!(hasButtons=true)});
if(hasButtons){
uiDialogButtonPane.show();
$.each(buttons,function(name,fn){
$('<button type="button"></button>')
.text(name)
.click(function(){fn.apply(self.element[0],arguments)})
.appendTo(uiDialogButtonPane)})}
},
_makeDraggable:function(){
var self=this,
options=this.options;
this.uiDialog.draggable({
cancel:'.ui-dialog-content',
helper:options.dragHelper,
handle:'.ui-dialog-titlebar',
start:function(){
self.moveToTop();
(options.dragStart&&options.dragStart.apply(self.element[0],arguments))},
drag:function(){
(options.drag&&options.drag.apply(self.element[0],arguments))},
stop:function(){
(options.dragStop&&options.dragStop.apply(self.element[0],arguments));
$.ui.dialog.overlay.resize()}
})},
_makeResizable:function(handles){
handles=(handles===undefined?this.options.resizable:handles);
var self=this,
options=this.options,
resizeHandles=typeof handles=='string'
?handles
:'n,e,s,w,se,sw,ne,nw';
this.uiDialog.resizable({
cancel:'.ui-dialog-content',
helper:options.resizeHelper,
maxWidth:options.maxWidth,
maxHeight:options.maxHeight,
minWidth:options.minWidth,
minHeight:options.minHeight,
start:function(){
(options.resizeStart&&options.resizeStart.apply(self.element[0],arguments))},
resize:function(){
(options.autoResize&&self._size.apply(self));
(options.resize&&options.resize.apply(self.element[0],arguments))},
handles:resizeHandles,
stop:function(){
(options.autoResize&&self._size.apply(self));
(options.resizeStop&&options.resizeStop.apply(self.element[0],arguments));
$.ui.dialog.overlay.resize()}
})},
_position:function(pos){
var wnd=$(window),doc=$(document),
pTop=doc.scrollTop(),pLeft=doc.scrollLeft(),
minTop=pTop;
if($.inArray(pos,['center','top','right','bottom','left'])>=0){
pos=[
pos=='right'||pos=='left'?pos:'center',
pos=='top'||pos=='bottom'?pos:'middle'
]}
if(pos.constructor!=Array){
pos=['center','middle']}
if(pos[0].constructor==Number){
pLeft+=pos[0]}else{
switch(pos[0]){
case'left':
pLeft+=0;
break;
case'right':
pLeft+=wnd.width()-this.uiDialog.outerWidth();
break;
default:
case'center':
pLeft+=(wnd.width()-this.uiDialog.outerWidth())/2}
}
if(pos[1].constructor==Number){
pTop+=pos[1]}else{
switch(pos[1]){
case'top':
pTop+=0;
break;
case'bottom':
pTop+=($.browser.opera?window.innerHeight:wnd.height())-this.uiDialog.outerHeight();
break;
default:
case'middle':
pTop+=(($.browser.opera?window.innerHeight:wnd.height())-this.uiDialog.outerHeight())/2}
}
pTop=Math.max(pTop,minTop);
this.uiDialog.css({top:pTop,left:pLeft})},
_setData:function(key,value){
(setDataSwitch[key]&&this.uiDialog.data(setDataSwitch[key],value));
switch(key){
case"buttons":
this._createButtons(value);
break;
case"closeText":
this.uiDialogTitlebarCloseText.text(value);
break;
case"draggable":
(value
?this._makeDraggable()
:this.uiDialog.draggable('destroy'));
break;
case"height":
this.uiDialog.height(value);
break;
case"position":
this._position(value);
break;
case"resizable":
var uiDialog=this.uiDialog,
isResizable=this.uiDialog.is(':data(resizable)');
(isResizable&&!value&&uiDialog.resizable('destroy'));
(isResizable&&typeof value=='string'&&
uiDialog.resizable('option','handles',value));
(isResizable||this._makeResizable(value));
break;
case"title":
$(".ui-dialog-title",this.uiDialogTitlebar).html(value||'&nbsp;');
break;
case"width":
this.uiDialog.width(value);
break}
$.widget.prototype._setData.apply(this,arguments)},
_size:function(){
var container=this.uiDialogContainer,
titlebar=this.uiDialogTitlebar,
content=this.element,
tbMargin=(parseInt(content.css('margin-top'),10)||0)
+(parseInt(content.css('margin-bottom'),10)||0),
lrMargin=(parseInt(content.css('margin-left'),10)||0)
+(parseInt(content.css('margin-right'),10)||0);
content.height(container.height()-titlebar.outerHeight()-tbMargin);
content.width(container.width()-lrMargin)}
});
$.extend($.ui.dialog,{
version:"1.6",
defaults:{
autoOpen:true,
autoResize:true,
bgiframe:false,
buttons:{},
closeOnEscape:true,
closeText:'close',
draggable:true,
height:200,
minHeight:100,
minWidth:150,
modal:false,
overlay:{},
position:'center',
resizable:true,
stack:true,
width:300,
zIndex:1000
},
getter:'isOpen',
uuid:0,
getTitleId:function($el){
return'ui-dialog-title-'+($el.attr('id')||++this.uuid)},
overlay:function(dialog){
this.$el=$.ui.dialog.overlay.create(dialog)}
});
$.extend($.ui.dialog.overlay,{
instances:[],
events:$.map('focus,mousedown,mouseup,keydown,keypress,click'.split(','),
function(event){return event+'.dialog-overlay'}).join(' '),
create:function(dialog){
if(this.instances.length===0){
setTimeout(function(){
$('a, :input').bind($.ui.dialog.overlay.events,function(){
var allow=false;
var $dialog=$(this).parents('.ui-dialog');
if($dialog.length){
var $overlays=$('.ui-dialog-overlay');
if($overlays.length){
var maxZ=parseInt($overlays.css('z-index'),10);
$overlays.each(function(){
maxZ=Math.max(maxZ,parseInt($(this).css('z-index'),10))});
allow=parseInt($dialog.css('z-index'),10)>maxZ}else{
allow=true}
}
return allow})},1);
$(document).bind('keydown.dialog-overlay',function(event){
(dialog.options.closeOnEscape&&event.keyCode
&&event.keyCode==$.ui.keyCode.ESCAPE&&dialog.close())});
$(window).bind('resize.dialog-overlay',$.ui.dialog.overlay.resize)}
var $el=$('<div></div>').appendTo(document.body)
.addClass('ui-dialog-overlay').css($.extend({
borderWidth:0,margin:0,padding:0,
position:'absolute',top:0,left:0,
width:this.width(),
height:this.height()
},dialog.options.overlay));
(dialog.options.bgiframe&&$.fn.bgiframe&&$el.bgiframe());
this.instances.push($el);
return $el},
destroy:function($el){
this.instances.splice($.inArray(this.instances,$el),1);
if(this.instances.length===0){
$('a, :input').add([document,window]).unbind('.dialog-overlay')}
$el.remove()},
height:function(){
if($.browser.msie&&$.browser.version<7){
var scrollHeight=Math.max(
document.documentElement.scrollHeight,
document.body.scrollHeight
);
var offsetHeight=Math.max(
document.documentElement.offsetHeight,
document.body.offsetHeight
);
if(scrollHeight<offsetHeight){
return $(window).height()+'px'}else{
return scrollHeight+'px'}
}else if($.browser.opera){
return Math.max(
window.innerHeight,
$(document).height()
)+'px'}else{
return $(document).height()+'px'}
},
width:function(){
if($.browser.msie&&$.browser.version<7){
var scrollWidth=Math.max(
document.documentElement.scrollWidth,
document.body.scrollWidth
);
var offsetWidth=Math.max(
document.documentElement.offsetWidth,
document.body.offsetWidth
);
if(scrollWidth<offsetWidth){
return $(window).width()+'px'}else{
return scrollWidth+'px'}
}else if($.browser.opera){
return Math.max(
window.innerWidth,
$(document).width()
)+'px'}else{
return $(document).width()+'px'}
},
resize:function(){
var $overlays=$([]);
$.each($.ui.dialog.overlay.instances,function(){
$overlays=$overlays.add(this)});
$overlays.css({
width:0,
height:0
}).css({
width:$.ui.dialog.overlay.width(),
height:$.ui.dialog.overlay.height()
})}
});
$.extend($.ui.dialog.overlay.prototype,{
destroy:function(){
$.ui.dialog.overlay.destroy(this.$el)}
})})(jQuery);
(function($){
$.fn.unwrap=$.fn.unwrap||function(expr){
return this.each(function(){
$(this).parents(expr).eq(0).after(this).remove()})};
$.widget("ui.slider",{
_init:function(){
var self=this;
this.element.addClass("ui-slider");
this._initBoundaries();
this.handle=$(this.options.handle,this.element);
if(!this.handle.length){
self.handle=self.generated=$(self.options.handles||[0]).map(function(){
var handle=$("<div/>").addClass("ui-slider-handle").appendTo(self.element);
if(this.id)
handle.attr("id",this.id);
return handle[0]})}
var handleclass=function(el){
this.element=$(el);
this.element.data("mouse",this);
this.options=self.options;
this.element.bind("mousedown",function(){
if(self.currentHandle)this.blur(self.currentHandle);
self._focus(this,true)});
this._mouseInit()};
$.extend(handleclass.prototype,$.ui.mouse,{
_mouseCapture:function(){return true},
_mouseStart:function(event){return self._start.call(self,event,this.element[0])},
_mouseDrag:function(event){return self._drag.call(self,event,this.element[0])},
_mouseStop:function(event){return self._stop.call(self,event,this.element[0])},
trigger:function(event){this._mouseDown(event)}
});
$(this.handle)
.each(function(){
new handleclass(this)})
.wrap('<a href="#" style="outline:none;border:none;"></a>')
.parent()
.bind('click',function(){return false})
.bind('focus',function(event){self._focus(this.firstChild)})
.bind('blur',function(event){self._blur(this.firstChild)})
.bind('keydown',function(event){if(!self.options.noKeyboard)return self._keydown(event.keyCode,this.firstChild)})
;
this.element.bind('mousedown.slider',function(event){
if($(event.target).is('.ui-slider-handle'))return;
self._click.apply(self,[event]);
self.currentHandle.data("mouse").trigger(event);
self.firstValue=self.firstValue+1});
$.each(this.options.handles||[],function(index,handle){
self.moveTo(handle.start,index,true)});
if(!isNaN(this.options.startValue))
this.moveTo(this.options.startValue,0,true);
this.previousHandle=$(this.handle[0]);if(this.handle.length==2&&this.options.range)this._createRange()},
destroy:function(){
this.element
.removeClass("ui-slider ui-slider-disabled")
.removeData("slider")
.unbind(".slider");
if(this.handle&&this.handle.length){
this.handle
.unwrap("a");
this.handle.each(function(){
var mouse=$(this).data("mouse");
mouse&&mouse._mouseDestroy()})}
this.generated&&this.generated.remove()},
_start:function(event,handle){
var o=this.options;
if(o.disabled)return false;
this.actualSize={width:this.element.outerWidth(),height:this.element.outerHeight()};
if(!this.currentHandle)
this._focus(this.previousHandle,true);
this.offset=this.element.offset();
this.handleOffset=this.currentHandle.offset();
this.clickOffset={top:event.pageY-this.handleOffset.top,left:event.pageX-this.handleOffset.left};
this.firstValue=this.value();
this._propagate('start',event);
this._drag(event,handle);
return true},
_drag:function(event,handle){
var o=this.options;
var position={top:event.pageY-this.offset.top-this.clickOffset.top,left:event.pageX-this.offset.left-this.clickOffset.left};
if(!this.currentHandle)this._focus(this.previousHandle,true);
position.left=this._translateLimits(position.left,"x");
position.top=this._translateLimits(position.top,"y");
if(o.stepping.x){
var value=this._convertValue(position.left,"x");
value=this._round(value/o.stepping.x)*o.stepping.x;
position.left=this._translateValue(value,"x")}
if(o.stepping.y){
var value=this._convertValue(position.top,"y");
value=this._round(value/o.stepping.y)*o.stepping.y;
position.top=this._translateValue(value,"y")}
position.left=this._translateRange(position.left,"x");
position.top=this._translateRange(position.top,"y");
if(o.axis!="vertical")this.currentHandle.css({left:position.left});
if(o.axis!="horizontal")this.currentHandle.css({top:position.top});
this.currentHandle.data("mouse").sliderValue={
x:this._round(this._convertValue(position.left,"x"))||0,
y:this._round(this._convertValue(position.top,"y"))||0
};
if(this.rangeElement)
this._updateRange();
this._propagate('slide',event);
return false},
_stop:function(event){
this._propagate('stop',event);
if(this.firstValue!=this.value())
this._propagate('change',event);
this._focus(this.currentHandle,true);
return false},
_round:function(value){
return this.options.round?parseInt(value,10):parseFloat(value)},
_setData:function(key,value){
$.widget.prototype._setData.apply(this,arguments);
if(/min|max|steps/.test(key)){
this._initBoundaries()}
if(key=="range"){
value?this.handle.length==2&&this._createRange():this._removeRange()}
},
_initBoundaries:function(){
var element=this.element[0],o=this.options;
this.actualSize={width:this.element.outerWidth(),height:this.element.outerHeight()};
$.extend(o,{
axis:o.axis||(element.offsetWidth<element.offsetHeight?'vertical':'horizontal'),
max:!isNaN(parseInt(o.max,10))?{x:parseInt(o.max,10),y:parseInt(o.max,10)}:({x:o.max&&o.max.x||100,y:o.max&&o.max.y||100}),
min:!isNaN(parseInt(o.min,10))?{x:parseInt(o.min,10),y:parseInt(o.min,10)}:({x:o.min&&o.min.x||0,y:o.min&&o.min.y||0})
});
o.realMax={
x:o.max.x-o.min.x,
y:o.max.y-o.min.y
};
o.stepping={
x:o.stepping&&o.stepping.x||parseInt(o.stepping,10)||(o.steps?o.realMax.x/(o.steps.x||parseInt(o.steps,10)||o.realMax.x):0),
y:o.stepping&&o.stepping.y||parseInt(o.stepping,10)||(o.steps?o.realMax.y/(o.steps.y||parseInt(o.steps,10)||o.realMax.y):0)
}},
_keydown:function(keyCode,handle){
if(this.options.disabled)
return;
var k=keyCode;
if(/(33|34|35|36|37|38|39|40)/.test(k)){
var o=this.options,xpos,ypos;
if(/(35|36)/.test(k)){
xpos=(k==35)?o.max.x:o.min.x;
ypos=(k==35)?o.max.y:o.min.y}else{
var oper=/(34|37|40)/.test(k)?"-=":"+=";
var step=/(37|38|39|40)/.test(k)?"_oneStep":"_pageStep";
xpos=oper+this[step]("x");
ypos=oper+this[step]("y")}
this.moveTo({
x:xpos,
y:ypos
},handle);
return false}
return true},
_focus:function(handle,hard){
this.currentHandle=$(handle).addClass('ui-slider-handle-active');
if(hard)
this.currentHandle.parent()[0].focus()},
_blur:function(handle){
$(handle).removeClass('ui-slider-handle-active');
if(this.currentHandle&&this.currentHandle[0]==handle){
this.previousHandle=this.currentHandle;
this.currentHandle=null}},
_click:function(event){
var pointer=[event.pageX,event.pageY];
var clickedHandle=false;
this.handle.each(function(){
if(this==event.target)
clickedHandle=true});
if(clickedHandle||this.options.disabled||!(this.currentHandle||this.previousHandle))
return;
if(!this.currentHandle&&this.previousHandle)
this._focus(this.previousHandle,true);
this.offset=this.element.offset();
this.moveTo({
y:this._convertValue(event.pageY-this.offset.top-this.currentHandle[0].offsetHeight/2,"y"),
x:this._convertValue(event.pageX-this.offset.left-this.currentHandle[0].offsetWidth/2,"x")
},null,!this.options.distance)},
_createRange:function(){
if(this.rangeElement)return;
this.rangeElement=$('<div></div>')
.addClass('ui-slider-range')
.css({position:'absolute'})
.appendTo(this.element);
this._updateRange()},
_removeRange:function(){
this.rangeElement.remove();
this.rangeElement=null},
_updateRange:function(){
var prop=this.options.axis=="vertical"?"top":"left";
var size=this.options.axis=="vertical"?"height":"width";
this.rangeElement.css(prop,(this._round($(this.handle[0]).css(prop))||0)+this._handleSize(0,this.options.axis=="vertical"?"y":"x")/2);
this.rangeElement.css(size,(this._round($(this.handle[1]).css(prop))||0)-(this._round($(this.handle[0]).css(prop))||0))},
_getRange:function(){
return this.rangeElement?this._convertValue(this._round(this.rangeElement.css(this.options.axis=="vertical"?"height":"width")),this.options.axis=="vertical"?"y":"x"):null},
_handleIndex:function(){
return this.handle.index(this.currentHandle[0])},
value:function(handle,axis){
if(this.handle.length==1)this.currentHandle=this.handle;
if(!axis)axis=this.options.axis=="vertical"?"y":"x";
var curHandle=$(handle!=undefined&&handle!==null?this.handle[handle]||handle:this.currentHandle);
if(curHandle.data("mouse").sliderValue){
return this._round(curHandle.data("mouse").sliderValue[axis])}else{
return this._round(((this._round(curHandle.css(axis=="x"?"left":"top"))/(this.actualSize[axis=="x"?"width":"height"]-this._handleSize(handle,axis)))*this.options.realMax[axis])+this.options.min[axis])}
},
_convertValue:function(value,axis){
return this.options.min[axis]+(value/(this.actualSize[axis=="x"?"width":"height"]-this._handleSize(null,axis)))*this.options.realMax[axis]},
_translateValue:function(value,axis){
return((value-this.options.min[axis])/this.options.realMax[axis])*(this.actualSize[axis=="x"?"width":"height"]-this._handleSize(null,axis))},
_translateRange:function(value,axis){
if(this.rangeElement){
if(this.currentHandle[0]==this.handle[0]&&value>=this._translateValue(this.value(1),axis))
value=this._translateValue(this.value(1,axis)-this._oneStep(axis),axis);
if(this.currentHandle[0]==this.handle[1]&&value<=this._translateValue(this.value(0),axis))
value=this._translateValue(this.value(0,axis)+this._oneStep(axis),axis)}
if(this.options.handles){
var handle=this.options.handles[this._handleIndex()];
if(value<this._translateValue(handle.min,axis)){
value=this._translateValue(handle.min,axis)}else if(value>this._translateValue(handle.max,axis)){
value=this._translateValue(handle.max,axis)}
}
return value},
_translateLimits:function(value,axis){
if(value>=this.actualSize[axis=="x"?"width":"height"]-this._handleSize(null,axis))
value=this.actualSize[axis=="x"?"width":"height"]-this._handleSize(null,axis);
if(value<=0)
value=0;
return value},
_handleSize:function(handle,axis){
return $(handle!=undefined&&handle!==null?this.handle[handle]:this.currentHandle)[0]["offset"+(axis=="x"?"Width":"Height")]},
_oneStep:function(axis){
return this.options.stepping[axis]||1},
_pageStep:function(axis){
return 10},
moveTo:function(value,handle,noPropagation){
var o=this.options;
this.actualSize={width:this.element.outerWidth(),height:this.element.outerHeight()};
if(handle==undefined&&!this.currentHandle&&this.handle.length!=1)
return false;
if(handle==undefined&&!this.currentHandle)
handle=0;
if(handle!=undefined)
this.currentHandle=this.previousHandle=$(this.handle[handle]||handle);
if(value.x!==undefined&&value.y!==undefined){
var x=value.x,y=value.y}else{
var x=value,y=value}
if(x!==undefined&&x.constructor!=Number){
var me=/^\-\=/.test(x),pe=/^\+\=/.test(x);
if(me||pe){
x=this.value(null,"x")+this._round(x.replace(me?'=':'+=',''))}else{
x=isNaN(this._round(x))?undefined:this._round(x)}
}
if(y!==undefined&&y.constructor!=Number){
var me=/^\-\=/.test(y),pe=/^\+\=/.test(y);
if(me||pe){
y=this.value(null,"y")+this._round(y.replace(me?'=':'+=',''))}else{
y=isNaN(this._round(y))?undefined:this._round(y)}
}
if(o.axis!="vertical"&&x!==undefined){
if(o.stepping.x)x=this._round(x/o.stepping.x)*o.stepping.x;
x=this._translateValue(x,"x");
x=this._translateLimits(x,"x");
x=this._translateRange(x,"x");
o.animate?this.currentHandle.stop().animate({left:x},(Math.abs(parseInt(this.currentHandle.css("left"),10)-x))*(!isNaN(parseInt(o.animate,10))?o.animate:5)):this.currentHandle.css({left:x})}
if(o.axis!="horizontal"&&y!==undefined){
if(o.stepping.y)y=this._round(y/o.stepping.y)*o.stepping.y;
y=this._translateValue(y,"y");
y=this._translateLimits(y,"y");
y=this._translateRange(y,"y");
o.animate?this.currentHandle.stop().animate({top:y},(Math.abs(parseInt(this.currentHandle.css("top"),10)-y))*(!isNaN(parseInt(o.animate,10))?o.animate:5)):this.currentHandle.css({top:y})}
if(this.rangeElement)
this._updateRange();
this.currentHandle.data("mouse").sliderValue={
x:this._round(this._convertValue(x,"x"))||0,
y:this._round(this._convertValue(y,"y"))||0
};
if(!noPropagation){
this._propagate('start',null);
this._propagate("slide",null);
this._propagate('stop',null);
this._propagate('change',null)}
},
_propagate:function(n,event){
$.ui.plugin.call(this,n,[event,this.ui()]);
this.element.triggerHandler(n=="slide"?n:"slide"+n,[event,this.ui()],this.options[n])},
plugins:{},
ui:function(event){
return{
options:this.options,
handle:this.currentHandle,
value:this.options.axis!="both"||!this.options.axis?
this._round(this.value(null,this.options.axis=="vertical"?"y":"x")):
{
x:this._round(this.value(null,"x")),
y:this._round(this.value(null,"y"))
},
range:this._getRange()
}}
});
$.extend($.ui.slider,{
getter:"value",
version:"1.6",
defaults:{
animate:false,
distance:1,
handle:".ui-slider-handle",
round:true
}
})})(jQuery);
(function($){
$.widget("ui.tabs",{
_init:function(){
this._tabify(true)},
destroy:function(){
var o=this.options;
this.element.unbind('.tabs')
.removeClass(o.navClass).removeData('tabs');
this.$tabs.each(function(){
var href=$.data(this,'href.tabs');
if(href)
this.href=href;
var $this=$(this).unbind('.tabs');
$.each(['href','load','cache'],function(i,prefix){
$this.removeData(prefix+'.tabs')})});
this.$lis.add(this.$panels).each(function(){
if($.data(this,'destroy.tabs'))
$(this).remove();
else
$(this).removeClass([o.selectedClass,o.deselectableClass,
o.disabledClass,o.panelClass,o.hideClass].join(' '))});
if(o.cookie)
this._cookie(null,o.cookie)},
_setData:function(key,value){
if((/^selected/).test(key))
this.select(value);
else{
this.options[key]=value;
this._tabify()}
},
length:function(){
return this.$tabs.length},
_tabId:function(a){
return a.title&&a.title.replace(/\s/g,'_').replace(/[^A-Za-z0-9\-_:\.]/g,'')
||this.options.idPrefix+$.data(a)},
_sanitizeSelector:function(hash){
return hash.replace(/:/g,'\\:')},
_cookie:function(){
var cookie=this.cookie||(this.cookie='ui-tabs-'+$.data(this.element[0]));
return $.cookie.apply(null,[cookie].concat($.makeArray(arguments)))},
_tabify:function(init){
this.$lis=$('li:has(a[href])',this.element);
this.$tabs=this.$lis.map(function(){return $('a',this)[0]});
this.$panels=$([]);
var self=this,o=this.options;
this.$tabs.each(function(i,a){
if(a.hash&&a.hash.replace('#',''))self.$panels=self.$panels.add(self._sanitizeSelector(a.hash));
else if($(a).attr('href')!='#'){$.data(a,'href.tabs',a.href);$.data(a,'load.tabs',a.href);var id=self._tabId(a);
a.href='#'+id;
var $panel=$('#'+id);
if(!$panel.length){
$panel=$(o.panelTemplate).attr('id',id).addClass(o.panelClass)
.insertAfter(self.$panels[i-1]||self.element);
$panel.data('destroy.tabs',true)}
self.$panels=self.$panels.add($panel)}
else
o.disabled.push(i+1)});
if(init){
this.element.addClass(o.navClass);
this.$panels.addClass(o.panelClass);
if(o.selected===undefined){
if(location.hash){
this.$tabs.each(function(i,a){
if(a.hash==location.hash){
o.selected=i;
return false}
})}
else if(o.cookie){
var index=parseInt(self._cookie(),10);
if(index&&self.$tabs[index])o.selected=index}
else if(self.$lis.filter('.'+o.selectedClass).length)
o.selected=self.$lis.index(self.$lis.filter('.'+o.selectedClass)[0])}
o.selected=o.selected===null||o.selected!==undefined?o.selected:0;
o.disabled=$.unique(o.disabled.concat(
$.map(this.$lis.filter('.'+o.disabledClass),
function(n,i){return self.$lis.index(n)})
)).sort();
if($.inArray(o.selected,o.disabled)!=-1)
o.disabled.splice($.inArray(o.selected,o.disabled),1);
this.$panels.addClass(o.hideClass);
this.$lis.removeClass(o.selectedClass);
if(o.selected!==null){
this.$panels.eq(o.selected).removeClass(o.hideClass);
var classes=[o.selectedClass];
if(o.deselectable)classes.push(o.deselectableClass);
this.$lis.eq(o.selected).addClass(classes.join(' '));
var onShow=function(){
self._trigger('show',null,
self.ui(self.$tabs[o.selected],self.$panels[o.selected]))};
if($.data(this.$tabs[o.selected],'load.tabs'))
this.load(o.selected,onShow);
else onShow()}
$(window).bind('unload',function(){
self.$tabs.unbind('.tabs');
self.$lis=self.$tabs=self.$panels=null})}
else
o.selected=this.$lis.index(this.$lis.filter('.'+o.selectedClass)[0]);
if(o.cookie)this._cookie(o.selected,o.cookie);
for(var i=0,li;li=this.$lis[i];i++)
$(li)[$.inArray(i,o.disabled)!=-1&&!$(li).hasClass(o.selectedClass)?'addClass':'removeClass'](o.disabledClass);
if(o.cache===false)this.$tabs.removeData('cache.tabs');
var hideFx,showFx;
if(o.fx){
if(o.fx.constructor==Array){
hideFx=o.fx[0];
showFx=o.fx[1]}
else hideFx=showFx=o.fx}
function resetStyle($el,fx){
$el.css({display:''});
if($.browser.msie&&fx.opacity)$el[0].style.removeAttribute('filter')}
var showTab=showFx?
function(clicked,$show){
$show.animate(showFx,showFx.duration||'normal',function(){
$show.removeClass(o.hideClass);
resetStyle($show,showFx);
self._trigger('show',null,self.ui(clicked,$show[0]))})}:
function(clicked,$show){
$show.removeClass(o.hideClass);
self._trigger('show',null,self.ui(clicked,$show[0]))};
var hideTab=hideFx?
function(clicked,$hide,$show){
$hide.animate(hideFx,hideFx.duration||'normal',function(){
$hide.addClass(o.hideClass);
resetStyle($hide,hideFx);
if($show)showTab(clicked,$show,$hide)})}:
function(clicked,$hide,$show){
$hide.addClass(o.hideClass);
if($show)showTab(clicked,$show)};
function switchTab(clicked,$li,$hide,$show){
var classes=[o.selectedClass];
if(o.deselectable)classes.push(o.deselectableClass);
$li.addClass(classes.join(' ')).siblings().removeClass(classes.join(' '));
hideTab(clicked,$hide,$show)}
this.$tabs.unbind('.tabs').bind(o.event+'.tabs',function(){
var $li=$(this).parents('li:eq(0)'),
$hide=self.$panels.filter(':visible'),
$show=$(self._sanitizeSelector(this.hash));
if(($li.hasClass(o.selectedClass)&&!o.deselectable)
||$li.hasClass(o.disabledClass)
||$(this).hasClass(o.loadingClass)
||self._trigger('select',null,self.ui(this,$show[0]))===false
){
this.blur();
return false}
o.selected=self.$tabs.index(this);
if(o.deselectable){
if($li.hasClass(o.selectedClass)){
self.options.selected=null;
$li.removeClass([o.selectedClass,o.deselectableClass].join(' '));
self.$panels.stop();
hideTab(this,$hide);
this.blur();
return false}else if(!$hide.length){
self.$panels.stop();
var a=this;
self.load(self.$tabs.index(this),function(){
$li.addClass([o.selectedClass,o.deselectableClass].join(' '));
showTab(a,$show)});
this.blur();
return false}
}
if(o.cookie)self._cookie(o.selected,o.cookie);
self.$panels.stop();
if($show.length){
var a=this;
self.load(self.$tabs.index(this),$hide.length?
function(){
switchTab(a,$li,$hide,$show)}:
function(){
$li.addClass(o.selectedClass);
showTab(a,$show)}
)}else
throw'jQuery UI Tabs: Mismatching fragment identifier.';
if($.browser.msie)this.blur();
return false});
if(o.event!='click')this.$tabs.bind('click.tabs',function(){return false})},
add:function(url,label,index){
if(index==undefined)
index=this.$tabs.length;
var o=this.options;
var $li=$(o.tabTemplate.replace(/#\{href\}/g,url).replace(/#\{label\}/g,label));
$li.data('destroy.tabs',true);
var id=url.indexOf('#')==0?url.replace('#',''):this._tabId($('a:first-child',$li)[0]);
var $panel=$('#'+id);
if(!$panel.length){
$panel=$(o.panelTemplate).attr('id',id)
.addClass(o.hideClass)
.data('destroy.tabs',true)}
$panel.addClass(o.panelClass);
if(index>=this.$lis.length){
$li.appendTo(this.element);
$panel.appendTo(this.element[0].parentNode)}else{
$li.insertBefore(this.$lis[index]);
$panel.insertBefore(this.$panels[index])}
o.disabled=$.map(o.disabled,
function(n,i){return n>=index?++n:n});
this._tabify();
if(this.$tabs.length==1){
$li.addClass(o.selectedClass);
$panel.removeClass(o.hideClass);
var href=$.data(this.$tabs[0],'load.tabs');
if(href)
this.load(index,href)}
this._trigger('add',null,this.ui(this.$tabs[index],this.$panels[index]))},
remove:function(index){
var o=this.options,$li=this.$lis.eq(index).remove(),
$panel=this.$panels.eq(index).remove();
if($li.hasClass(o.selectedClass)&&this.$tabs.length>1)
this.select(index+(index+1<this.$tabs.length?1:-1));
o.disabled=$.map($.grep(o.disabled,function(n,i){return n!=index}),
function(n,i){return n>=index?--n:n});
this._tabify();
this._trigger('remove',null,this.ui($li.find('a')[0],$panel[0]))},
enable:function(index){
var o=this.options;
if($.inArray(index,o.disabled)==-1)
return;
var $li=this.$lis.eq(index).removeClass(o.disabledClass);
if($.browser.safari){$li.css('display','inline-block');
setTimeout(function(){
$li.css('display','block')},0)}
o.disabled=$.grep(o.disabled,function(n,i){return n!=index});
this._trigger('enable',null,this.ui(this.$tabs[index],this.$panels[index]))},
disable:function(index){
var self=this,o=this.options;
if(index!=o.selected){this.$lis.eq(index).addClass(o.disabledClass);
o.disabled.push(index);
o.disabled.sort();
this._trigger('disable',null,this.ui(this.$tabs[index],this.$panels[index]))}
},
select:function(index){
if(typeof index=='string')
index=this.$tabs.index(this.$tabs.filter('[href$='+index+']')[0]);
this.$tabs.eq(index).trigger(this.options.event+'.tabs')},
load:function(index,callback){
var self=this,o=this.options,$a=this.$tabs.eq(index),a=$a[0],
bypassCache=callback==undefined||callback===false,url=$a.data('load.tabs');
callback=callback||function(){};
if(!url||!bypassCache&&$.data(a,'cache.tabs')){
callback();
return}
var inner=function(parent){
var $parent=$(parent),$inner=$parent.find('*:last');
return $inner.length&&$inner.is(':not(img)')&&$inner||$parent};
var cleanup=function(){
self.$tabs.filter('.'+o.loadingClass).removeClass(o.loadingClass)
.each(function(){
if(o.spinner)
inner(this).parent().html(inner(this).data('label.tabs'))});
self.xhr=null};
if(o.spinner){
var label=inner(a).html();
inner(a).wrapInner('<em></em>')
.find('em').data('label.tabs',label).html(o.spinner)}
var ajaxOptions=$.extend({},o.ajaxOptions,{
url:url,
success:function(r,s){
$(self._sanitizeSelector(a.hash)).html(r);
cleanup();
if(o.cache)
$.data(a,'cache.tabs',true);
self._trigger('load',null,self.ui(self.$tabs[index],self.$panels[index]));
try{
o.ajaxOptions.success(r,s)}
catch(event){}
callback()}
});
if(this.xhr){
this.xhr.abort();
cleanup()}
$a.addClass(o.loadingClass);
self.xhr=$.ajax(ajaxOptions)},
url:function(index,url){
this.$tabs.eq(index).removeData('cache.tabs').data('load.tabs',url)},
ui:function(tab,panel){
return{
options:this.options,
tab:tab,
panel:panel,
index:this.$tabs.index(tab)
}}
});
$.extend($.ui.tabs,{
version:'1.6',
getter:'length',
defaults:{
ajaxOptions:null,
cache:false,
cookie:null,deselectable:false,
deselectableClass:'ui-tabs-deselectable',
disabled:[],
disabledClass:'ui-tabs-disabled',
event:'click',
fx:null,hideClass:'ui-tabs-hide',
idPrefix:'ui-tabs-',
loadingClass:'ui-tabs-loading',
navClass:'ui-tabs-nav',
panelClass:'ui-tabs-panel',
panelTemplate:'<div></div>',
selectedClass:'ui-tabs-selected',
spinner:'Loading&#8230;',
tabTemplate:'<li><a href="#{href}"><span>#{label}</span></a></li>'
}
});
$.extend($.ui.tabs.prototype,{
rotation:null,
rotate:function(ms,continuing){
continuing=continuing||false;
var self=this,t=this.options.selected;
function start(){
self.rotation=setInterval(function(){
t=++t<self.$tabs.length?t:0;
self.select(t)},ms)}
function stop(event){
if(!event||event.clientX){clearInterval(self.rotation)}
}
if(ms){
start();
if(!continuing)
this.$tabs.bind(this.options.event+'.tabs',stop);
else
this.$tabs.bind(this.options.event+'.tabs',function(){
stop();
t=self.options.selected;
start()})}
else{
stop();
this.$tabs.unbind(this.options.event+'.tabs',stop)}
}
})})(jQuery);
(function($){
$.extend($.ui,{datepicker:{version:"1.6"}});
var PROP_NAME='datepicker';
function Datepicker(){
this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._datepickerShowing=false;this._inDialog=false;this._mainDivId='ui-datepicker-div';this._inlineClass='ui-datepicker-inline';this._appendClass='ui-datepicker-append';this._triggerClass='ui-datepicker-trigger';this._dialogClass='ui-datepicker-dialog';this._promptClass='ui-datepicker-prompt';this._disableClass='ui-datepicker-disabled';this._unselectableClass='ui-datepicker-unselectable';this._currentClass='ui-datepicker-current-day';this._dayOverClass='ui-datepicker-days-cell-over';this._weekOverClass='ui-datepicker-week-over';this.regional=[];this.regional['']={clearText:'Clear',clearStatus:'Erase the current date',closeText:'Close',closeStatus:'Close without change',prevText:'&#x3c;Prev',prevStatus:'Show the previous month',prevBigText:'&#x3c;&#x3c;',prevBigStatus:'Show the previous year',nextText:'Next&#x3e;',nextStatus:'Show the next month',nextBigText:'&#x3e;&#x3e;',nextBigStatus:'Show the next year',currentText:'Today',currentStatus:'Show the current month',monthNames:['January','February','March','April','May','June',
'July','August','September','October','November','December'],monthNamesShort:['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'],monthStatus:'Show a different month',yearStatus:'Show a different year',weekHeader:'Wk',weekStatus:'Week of the year',dayNames:['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'],dayNamesShort:['Sun','Mon','Tue','Wed','Thu','Fri','Sat'],dayNamesMin:['Su','Mo','Tu','We','Th','Fr','Sa'],dayStatus:'Set DD as first week day',dateStatus:'Select DD, M d',dateFormat:'mm/dd/yy',firstDay:0,initStatus:'Select a date',isRTL:false};
this._defaults={showOn:'focus',showAnim:'show',showOptions:{},defaultDate:null,appendText:'',buttonText:'...',buttonImage:'',buttonImageOnly:false,closeAtTop:true,mandatory:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,showBigPrevNext:false,gotoCurrent:false,changeMonth:true,changeYear:true,showMonthAfterYear:false,yearRange:'-10:+10',changeFirstDay:true,highlightWeek:false,showOtherMonths:false,showWeeks:false,calculateWeek:this.iso8601Week,shortYearCutoff:'+10',showStatus:false,statusForDate:this.dateStatus,minDate:null,maxDate:null,duration:'normal',beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,rangeSelect:false,rangeSeparator:' - ',altField:'',altFormat:'',constrainInput:true};
$.extend(this._defaults,this.regional['']);
this.dpDiv=$('<div id="'+this._mainDivId+'" style="display: none;"></div>')}
$.extend(Datepicker.prototype,{
markerClassName:'hasDatepicker',
log:function(){
if(this.debug)
console.log.apply('',arguments)},
setDefaults:function(settings){
extendRemove(this._defaults,settings||{});
return this},
_attachDatepicker:function(target,settings){
var inlineSettings=null;
for(var attrName in this._defaults){
var attrValue=target.getAttribute('date:'+attrName);
if(attrValue){
inlineSettings=inlineSettings||{};
try{
inlineSettings[attrName]=eval(attrValue)}catch(err){
inlineSettings[attrName]=attrValue}
}
}
var nodeName=target.nodeName.toLowerCase();
var inline=(nodeName=='div'||nodeName=='span');
if(!target.id)
target.id='dp'+(++this.uuid);
var inst=this._newInst($(target),inline);
inst.settings=$.extend({},settings||{},inlineSettings||{});
if(nodeName=='input'){
this._connectDatepicker(target,inst)}else if(inline){
this._inlineDatepicker(target,inst)}
},
_newInst:function(target,inline){
var id=target[0].id.replace(/([:\[\]\.])/g,'\\\\$1');return{id:id,input:target,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:inline,dpDiv:(!inline?this.dpDiv:$('<div class="'+this._inlineClass+'"></div>'))}},
_connectDatepicker:function(target,inst){
var input=$(target);
if(input.hasClass(this.markerClassName))
return;
var appendText=this._get(inst,'appendText');
var isRTL=this._get(inst,'isRTL');
if(appendText)
input[isRTL?'before':'after']('<span class="'+this._appendClass+'">'+appendText+'</span>');
var showOn=this._get(inst,'showOn');
if(showOn=='focus'||showOn=='both')input.focus(this._showDatepicker);
if(showOn=='button'||showOn=='both'){var buttonText=this._get(inst,'buttonText');
var buttonImage=this._get(inst,'buttonImage');
var trigger=$(this._get(inst,'buttonImageOnly')?
$('<img/>').addClass(this._triggerClass).
attr({src:buttonImage,alt:buttonText,title:buttonText}):
$('<button type="button"></button>').addClass(this._triggerClass).
html(buttonImage==''?buttonText:$('<img/>').attr(
{src:buttonImage,alt:buttonText,title:buttonText})));
input[isRTL?'before':'after'](trigger);
trigger.click(function(){
if($.datepicker._datepickerShowing&&$.datepicker._lastInput==target)
$.datepicker._hideDatepicker();
else
$.datepicker._showDatepicker(target);
return false})}
input.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).
bind("setData.datepicker",function(event,key,value){
inst.settings[key]=value}).bind("getData.datepicker",function(event,key){
return this._get(inst,key)});
$.data(target,PROP_NAME,inst)},
_inlineDatepicker:function(target,inst){
var divSpan=$(target);
if(divSpan.hasClass(this.markerClassName))
return;
divSpan.addClass(this.markerClassName).append(inst.dpDiv).
bind("setData.datepicker",function(event,key,value){
inst.settings[key]=value}).bind("getData.datepicker",function(event,key){
return this._get(inst,key)});
$.data(target,PROP_NAME,inst);
this._setDate(inst,this._getDefaultDate(inst));
this._updateDatepicker(inst);
this._updateAlternate(inst)},
_dialogDatepicker:function(input,dateText,onSelect,settings,pos){
var inst=this._dialogInst;if(!inst){
var id='dp'+(++this.uuid);
this._dialogInput=$('<input type="text" id="'+id+
'" size="1" style="position: absolute; top: -100px;"/>');
this._dialogInput.keydown(this._doKeyDown);
$('body').append(this._dialogInput);
inst=this._dialogInst=this._newInst(this._dialogInput,false);
inst.settings={};
$.data(this._dialogInput[0],PROP_NAME,inst)}
extendRemove(inst.settings,settings||{});
this._dialogInput.val(dateText);
this._pos=(pos?(pos.length?pos:[pos.pageX,pos.pageY]):null);
if(!this._pos){
var browserWidth=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth;
var browserHeight=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight;
var scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;
var scrollY=document.documentElement.scrollTop||document.body.scrollTop;
this._pos=[(browserWidth/2)-100+scrollX,(browserHeight/2)-150+scrollY]}
this._dialogInput.css('left',this._pos[0]+'px').css('top',this._pos[1]+'px');
inst.settings.onSelect=onSelect;
this._inDialog=true;
this.dpDiv.addClass(this._dialogClass);
this._showDatepicker(this._dialogInput[0]);
if($.blockUI)
$.blockUI(this.dpDiv);
$.data(this._dialogInput[0],PROP_NAME,inst);
return this},
_destroyDatepicker:function(target){
var $target=$(target);
if(!$target.hasClass(this.markerClassName)){
return}
var nodeName=target.nodeName.toLowerCase();
$.removeData(target,PROP_NAME);
if(nodeName=='input'){
$target.siblings('.'+this._appendClass).remove().end().
siblings('.'+this._triggerClass).remove().end().
removeClass(this.markerClassName).
unbind('focus',this._showDatepicker).
unbind('keydown',this._doKeyDown).
unbind('keypress',this._doKeyPress)}else if(nodeName=='div'||nodeName=='span')
$target.removeClass(this.markerClassName).empty()},
_enableDatepicker:function(target){
var $target=$(target);
if(!$target.hasClass(this.markerClassName)){
return}
var nodeName=target.nodeName.toLowerCase();
if(nodeName=='input'){
target.disabled=false;
$target.siblings('button.'+this._triggerClass).
each(function(){this.disabled=false}).end().
siblings('img.'+this._triggerClass).
css({opacity:'1.0',cursor:''})}
else if(nodeName=='div'||nodeName=='span'){
$target.children('.'+this._disableClass).remove()}
this._disabledInputs=$.map(this._disabledInputs,
function(value){return(value==target?null:value)})},
_disableDatepicker:function(target){
var $target=$(target);
if(!$target.hasClass(this.markerClassName)){
return}
var nodeName=target.nodeName.toLowerCase();
if(nodeName=='input'){
target.disabled=true;
$target.siblings('button.'+this._triggerClass).
each(function(){this.disabled=true}).end().
siblings('img.'+this._triggerClass).
css({opacity:'0.5',cursor:'default'})}
else if(nodeName=='div'||nodeName=='span'){
var inline=$target.children('.'+this._inlineClass);
var offset=inline.offset();
var relOffset={left:0,top:0};
inline.parents().each(function(){
if($(this).css('position')=='relative'){
relOffset=$(this).offset();
return false}
});
$target.prepend('<div class="'+this._disableClass+'" style="'+
($.browser.msie?'background-color: transparent; ':'')+
'width: '+inline.width()+'px; height: '+inline.height()+
'px; left: '+(offset.left-relOffset.left)+
'px; top: '+(offset.top-relOffset.top)+'px;"></div>')}
this._disabledInputs=$.map(this._disabledInputs,
function(value){return(value==target?null:value)});this._disabledInputs[this._disabledInputs.length]=target},
_isDisabledDatepicker:function(target){
if(!target)
return false;
for(var i=0;i<this._disabledInputs.length;i++){
if(this._disabledInputs[i]==target)
return true}
return false},
_getInst:function(target){
try{
return $.data(target,PROP_NAME)}
catch(err){
throw'Missing instance data for this datepicker'}
},
_optionDatepicker:function(target,name,value){
var settings=name||{};
if(typeof name=='string'){
settings={};
settings[name]=value}
var inst=this._getInst(target);
if(inst){
if(this._curInst==inst){
this._hideDatepicker(null)}
extendRemove(inst.settings,settings);
var date=new Date();
extendRemove(inst,{rangeStart:null,endDay:null,endMonth:null,endYear:null,selectedDay:date.getDate(),selectedMonth:date.getMonth(),
selectedYear:date.getFullYear(),currentDay:date.getDate(),currentMonth:date.getMonth(),
currentYear:date.getFullYear(),drawMonth:date.getMonth(),drawYear:date.getFullYear()});this._updateDatepicker(inst)}
},
_changeDatepicker:function(target,name,value){
this._optionDatepicker(target,name,value)},
_refreshDatepicker:function(target){
var inst=this._getInst(target);
if(inst){
this._updateDatepicker(inst)}
},
_setDateDatepicker:function(target,date,endDate){
var inst=this._getInst(target);
if(inst){
this._setDate(inst,date,endDate);
this._updateDatepicker(inst);
this._updateAlternate(inst)}
},
_getDateDatepicker:function(target){
var inst=this._getInst(target);
if(inst&&!inst.inline)
this._setDateFromField(inst);
return(inst?this._getDate(inst):null)},
_doKeyDown:function(event){
var inst=$.datepicker._getInst(event.target);
var handled=true;
inst._keyEvent=true;
if($.datepicker._datepickerShowing)
switch(event.keyCode){
case 9:$.datepicker._hideDatepicker(null,'');
break;case 13:var sel=$('td.'+$.datepicker._dayOverClass+
', td.'+$.datepicker._currentClass,inst.dpDiv);
if(sel[0])
$.datepicker._selectDay(event.target,inst.selectedMonth,inst.selectedYear,sel[0]);
else
$.datepicker._hideDatepicker(null,$.datepicker._get(inst,'duration'));
return false;break;case 27:$.datepicker._hideDatepicker(null,$.datepicker._get(inst,'duration'));
break;case 33:$.datepicker._adjustDate(event.target,(event.ctrlKey?
-$.datepicker._get(inst,'stepBigMonths'):
-$.datepicker._get(inst,'stepMonths')),'M');
break;case 34:$.datepicker._adjustDate(event.target,(event.ctrlKey?
+$.datepicker._get(inst,'stepBigMonths'):
+$.datepicker._get(inst,'stepMonths')),'M');
break;case 35:if(event.ctrlKey||event.metaKey)$.datepicker._clearDate(event.target);
handled=event.ctrlKey||event.metaKey;
break;case 36:if(event.ctrlKey||event.metaKey)$.datepicker._gotoToday(event.target);
handled=event.ctrlKey||event.metaKey;
break;case 37:if(event.ctrlKey||event.metaKey)$.datepicker._adjustDate(event.target,-1,'D');
handled=event.ctrlKey||event.metaKey;
if(event.originalEvent.altKey)$.datepicker._adjustDate(event.target,(event.ctrlKey?
-$.datepicker._get(inst,'stepBigMonths'):
-$.datepicker._get(inst,'stepMonths')),'M');
break;
case 38:if(event.ctrlKey||event.metaKey)$.datepicker._adjustDate(event.target,-7,'D');
handled=event.ctrlKey||event.metaKey;
break;case 39:if(event.ctrlKey||event.metaKey)$.datepicker._adjustDate(event.target,+1,'D');
handled=event.ctrlKey||event.metaKey;
if(event.originalEvent.altKey)$.datepicker._adjustDate(event.target,(event.ctrlKey?
+$.datepicker._get(inst,'stepBigMonths'):
+$.datepicker._get(inst,'stepMonths')),'M');
break;
case 40:if(event.ctrlKey||event.metaKey)$.datepicker._adjustDate(event.target,+7,'D');
handled=event.ctrlKey||event.metaKey;
break;default:handled=false}
else if(event.keyCode==36&&event.ctrlKey)$.datepicker._showDatepicker(this);
else{
handled=false}
if(handled){
event.preventDefault();
event.stopPropagation()}
},
_doKeyPress:function(event){
var inst=$.datepicker._getInst(event.target);
if($.datepicker._get(inst,'constrainInput')){
var chars=$.datepicker._possibleChars($.datepicker._get(inst,'dateFormat'));
var chr=String.fromCharCode(event.charCode==undefined?event.keyCode:event.charCode);
return event.ctrlKey||(chr<' '||!chars||chars.indexOf(chr)>-1)}
},
_showDatepicker:function(input){
input=input.target||input;
if(input.nodeName.toLowerCase()!='input')input=$('input',input.parentNode)[0];
if($.datepicker._isDisabledDatepicker(input)||$.datepicker._lastInput==input)return;
var inst=$.datepicker._getInst(input);
var beforeShow=$.datepicker._get(inst,'beforeShow');
extendRemove(inst.settings,(beforeShow?beforeShow.apply(input,[input,inst]):{}));
$.datepicker._hideDatepicker(null,'');
$.datepicker._lastInput=input;
$.datepicker._setDateFromField(inst);
if($.datepicker._inDialog)input.value='';
if(!$.datepicker._pos){$.datepicker._pos=$.datepicker._findPos(input);
$.datepicker._pos[1]+=input.offsetHeight}
var isFixed=false;
$(input).parents().each(function(){
isFixed|=$(this).css('position')=='fixed';
return!isFixed});
if(isFixed&&$.browser.opera){$.datepicker._pos[0]-=document.documentElement.scrollLeft;
$.datepicker._pos[1]-=document.documentElement.scrollTop}
var offset={left:$.datepicker._pos[0],top:$.datepicker._pos[1]};
$.datepicker._pos=null;
inst.rangeStart=null;
inst.dpDiv.css({position:'absolute',display:'block',top:'-1000px'});
$.datepicker._updateDatepicker(inst);
inst.dpDiv.width($.datepicker._getNumberOfMonths(inst)[1]*
$('.ui-datepicker',inst.dpDiv[0])[0].offsetWidth);
offset=$.datepicker._checkOffset(inst,offset,isFixed);
inst.dpDiv.css({position:($.datepicker._inDialog&&$.blockUI?
'static':(isFixed?'fixed':'absolute')),display:'none',
left:offset.left+'px',top:offset.top+'px'});
if(!inst.inline){
var showAnim=$.datepicker._get(inst,'showAnim')||'show';
var duration=$.datepicker._get(inst,'duration');
var postProcess=function(){
$.datepicker._datepickerShowing=true;
if($.browser.msie&&parseInt($.browser.version,10)<7)$('iframe.ui-datepicker-cover').css({width:inst.dpDiv.width()+4,
height:inst.dpDiv.height()+4})};
if($.effects&&$.effects[showAnim])
inst.dpDiv.show(showAnim,$.datepicker._get(inst,'showOptions'),duration,postProcess);
else
inst.dpDiv[showAnim](duration,postProcess);
if(duration=='')
postProcess();
if(inst.input[0].type!='hidden')
inst.input[0].focus();
$.datepicker._curInst=inst}
},
_updateDatepicker:function(inst){
var dims={width:inst.dpDiv.width()+4,
height:inst.dpDiv.height()+4};
inst.dpDiv.empty().append(this._generateHTML(inst)).
find('iframe.ui-datepicker-cover').
css({width:dims.width,height:dims.height});
var numMonths=this._getNumberOfMonths(inst);
inst.dpDiv[(numMonths[0]!=1||numMonths[1]!=1?'add':'remove')+
'Class']('ui-datepicker-multi');
inst.dpDiv[(this._get(inst,'isRTL')?'add':'remove')+
'Class']('ui-datepicker-rtl');
if(inst.input&&inst.input[0].type!='hidden'&&inst==$.datepicker._curInst)
$(inst.input[0]).focus()},
_checkOffset:function(inst,offset,isFixed){
var pos=inst.input?this._findPos(inst.input[0]):null;
var browserWidth=window.innerWidth||(document.documentElement?
document.documentElement.clientWidth:document.body.clientWidth);
var browserHeight=window.innerHeight||(document.documentElement?
document.documentElement.clientHeight:document.body.clientHeight);
var scrollX=document.documentElement.scrollLeft||document.body.scrollLeft;
var scrollY=document.documentElement.scrollTop||document.body.scrollTop;
if(this._get(inst,'isRTL')||(offset.left+inst.dpDiv.width()-scrollX)>browserWidth)
offset.left=Math.max((isFixed?0:scrollX),
pos[0]+(inst.input?inst.input.width():0)-(isFixed?scrollX:0)-inst.dpDiv.width()-
(isFixed&&$.browser.opera?document.documentElement.scrollLeft:0));
else
offset.left-=(isFixed?scrollX:0);
if((offset.top+inst.dpDiv.height()-scrollY)>browserHeight)
offset.top=Math.max((isFixed?0:scrollY),
pos[1]-(isFixed?scrollY:0)-(this._inDialog?0:inst.dpDiv.height())-
(isFixed&&$.browser.opera?document.documentElement.scrollTop:0));
else
offset.top-=(isFixed?scrollY:0);
return offset},
_findPos:function(obj){
while(obj&&(obj.type=='hidden'||obj.nodeType!=1)){
obj=obj.nextSibling}
var position=$(obj).offset();
return[position.left,position.top]},
_hideDatepicker:function(input,duration){
var inst=this._curInst;
if(!inst||(input&&inst!=$.data(input,PROP_NAME)))
return;
var rangeSelect=this._get(inst,'rangeSelect');
if(rangeSelect&&inst.stayOpen)
this._selectDate('#'+inst.id,this._formatDate(inst,
inst.currentDay,inst.currentMonth,inst.currentYear));
inst.stayOpen=false;
if(this._datepickerShowing){
duration=(duration!=null?duration:this._get(inst,'duration'));
var showAnim=this._get(inst,'showAnim');
var postProcess=function(){
$.datepicker._tidyDialog(inst)};
if(duration!=''&&$.effects&&$.effects[showAnim])
inst.dpDiv.hide(showAnim,$.datepicker._get(inst,'showOptions'),
duration,postProcess);
else
inst.dpDiv[(duration==''?'hide':(showAnim=='slideDown'?'slideUp':
(showAnim=='fadeIn'?'fadeOut':'hide')))](duration,postProcess);
if(duration=='')
this._tidyDialog(inst);
var onClose=this._get(inst,'onClose');
if(onClose)
onClose.apply((inst.input?inst.input[0]:null),
[(inst.input?inst.input.val():''),inst]);this._datepickerShowing=false;
this._lastInput=null;
inst.settings.prompt=null;
if(this._inDialog){
this._dialogInput.css({position:'absolute',left:'0',top:'-100px'});
if($.blockUI){
$.unblockUI();
$('body').append(this.dpDiv)}
}
this._inDialog=false}
this._curInst=null},
_tidyDialog:function(inst){
inst.dpDiv.removeClass(this._dialogClass).unbind('.ui-datepicker');
$('.'+this._promptClass,inst.dpDiv).remove()},
_checkExternalClick:function(event){
if(!$.datepicker._curInst)
return;
var $target=$(event.target);
if(($target.parents('#'+$.datepicker._mainDivId).length==0)&&
!$target.hasClass($.datepicker.markerClassName)&&
!$target.hasClass($.datepicker._triggerClass)&&
$.datepicker._datepickerShowing&&!($.datepicker._inDialog&&$.blockUI))
$.datepicker._hideDatepicker(null,'')},
_adjustDate:function(id,offset,period){
var target=$(id);
var inst=this._getInst(target[0]);
this._adjustInstDate(inst,offset,period);
this._updateDatepicker(inst)},
_gotoToday:function(id){
var target=$(id);
var inst=this._getInst(target[0]);
if(this._get(inst,'gotoCurrent')&&inst.currentDay){
inst.selectedDay=inst.currentDay;
inst.drawMonth=inst.selectedMonth=inst.currentMonth;
inst.drawYear=inst.selectedYear=inst.currentYear}
else{
var date=new Date();
inst.selectedDay=date.getDate();
inst.drawMonth=inst.selectedMonth=date.getMonth();
inst.drawYear=inst.selectedYear=date.getFullYear()}
this._notifyChange(inst);
this._adjustDate(target)},
_selectMonthYear:function(id,select,period){
var target=$(id);
var inst=this._getInst(target[0]);
inst._selectingMonthYear=false;
inst['selected'+(period=='M'?'Month':'Year')]=
inst['draw'+(period=='M'?'Month':'Year')]=
parseInt(select.options[select.selectedIndex].value,10);
this._notifyChange(inst);
this._adjustDate(target)},
_clickMonthYear:function(id){
var target=$(id);
var inst=this._getInst(target[0]);
if(inst.input&&inst._selectingMonthYear&&!$.browser.msie)
inst.input[0].focus();
inst._selectingMonthYear=!inst._selectingMonthYear},
_changeFirstDay:function(id,day){
var target=$(id);
var inst=this._getInst(target[0]);
inst.settings.firstDay=day;
this._updateDatepicker(inst)},
_selectDay:function(id,month,year,td){
if($(td).hasClass(this._unselectableClass))
return;
var target=$(id);
var inst=this._getInst(target[0]);
var rangeSelect=this._get(inst,'rangeSelect');
if(rangeSelect){
inst.stayOpen=!inst.stayOpen;
if(inst.stayOpen){
$('.ui-datepicker td',inst.dpDiv).removeClass(this._currentClass);
$(td).addClass(this._currentClass)}
}
inst.selectedDay=inst.currentDay=$('a',td).html();
inst.selectedMonth=inst.currentMonth=month;
inst.selectedYear=inst.currentYear=year;
if(inst.stayOpen){
inst.endDay=inst.endMonth=inst.endYear=null}
else if(rangeSelect){
inst.endDay=inst.currentDay;
inst.endMonth=inst.currentMonth;
inst.endYear=inst.currentYear}
this._selectDate(id,this._formatDate(inst,
inst.currentDay,inst.currentMonth,inst.currentYear));
if(inst.stayOpen){
inst.rangeStart=this._daylightSavingAdjust(
new Date(inst.currentYear,inst.currentMonth,inst.currentDay));
this._updateDatepicker(inst)}
else if(rangeSelect){
inst.selectedDay=inst.currentDay=inst.rangeStart.getDate();
inst.selectedMonth=inst.currentMonth=inst.rangeStart.getMonth();
inst.selectedYear=inst.currentYear=inst.rangeStart.getFullYear();
inst.rangeStart=null;
if(inst.inline)
this._updateDatepicker(inst)}
},
_clearDate:function(id){
var target=$(id);
var inst=this._getInst(target[0]);
if(this._get(inst,'mandatory'))
return;
inst.stayOpen=false;
inst.endDay=inst.endMonth=inst.endYear=inst.rangeStart=null;
this._selectDate(target,'')},
_selectDate:function(id,dateStr){
var target=$(id);
var inst=this._getInst(target[0]);
dateStr=(dateStr!=null?dateStr:this._formatDate(inst));
if(this._get(inst,'rangeSelect')&&dateStr)
dateStr=(inst.rangeStart?this._formatDate(inst,inst.rangeStart):
dateStr)+this._get(inst,'rangeSeparator')+dateStr;
if(inst.input)
inst.input.val(dateStr);
this._updateAlternate(inst);
var onSelect=this._get(inst,'onSelect');
if(onSelect)
onSelect.apply((inst.input?inst.input[0]:null),[dateStr,inst]);else if(inst.input)
inst.input.trigger('change');if(inst.inline)
this._updateDatepicker(inst);
else if(!inst.stayOpen){
this._hideDatepicker(null,this._get(inst,'duration'));
this._lastInput=inst.input[0];
if(typeof(inst.input[0])!='object')
inst.input[0].focus();this._lastInput=null}
},
_updateAlternate:function(inst){
var altField=this._get(inst,'altField');
if(altField){var altFormat=this._get(inst,'altFormat')||this._get(inst,'dateFormat');
var date=this._getDate(inst);
dateStr=(isArray(date)?(!date[0]&&!date[1]?'':
this.formatDate(altFormat,date[0],this._getFormatConfig(inst))+
this._get(inst,'rangeSeparator')+this.formatDate(
altFormat,date[1]||date[0],this._getFormatConfig(inst))):
this.formatDate(altFormat,date,this._getFormatConfig(inst)));
$(altField).each(function(){$(this).val(dateStr)})}
},
noWeekends:function(date){
var day=date.getDay();
return[(day>0&&day<6),'']},
iso8601Week:function(date){
var checkDate=new Date(date.getFullYear(),date.getMonth(),date.getDate());
var firstMon=new Date(checkDate.getFullYear(),1-1,4);var firstDay=firstMon.getDay()||7;firstMon.setDate(firstMon.getDate()+1-firstDay);if(firstDay<4&&checkDate<firstMon){checkDate.setDate(checkDate.getDate()-3);return $.datepicker.iso8601Week(checkDate)}else if(checkDate>new Date(checkDate.getFullYear(),12-1,28)){firstDay=new Date(checkDate.getFullYear()+1,1-1,4).getDay()||7;
if(firstDay>4&&(checkDate.getDay()||7)<firstDay-3){return 1}
}
return Math.floor(((checkDate-firstMon)/86400000)/7)+1},
dateStatus:function(date,inst){
return $.datepicker.formatDate($.datepicker._get(inst,'dateStatus'),
date,$.datepicker._getFormatConfig(inst))},
parseDate:function(format,value,settings){
if(format==null||value==null)
throw'Invalid arguments';
value=(typeof value=='object'?value.toString():value+'');
if(value=='')
return null;
var shortYearCutoff=(settings?settings.shortYearCutoff:null)||this._defaults.shortYearCutoff;
var dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort;
var dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames;
var monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort;
var monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames;
var year=-1;
var month=-1;
var day=-1;
var doy=-1;
var literal=false;
var lookAhead=function(match){
var matches=(iFormat+1<format.length&&format.charAt(iFormat+1)==match);
if(matches)
iFormat++;
return matches};
var getNumber=function(match){
lookAhead(match);
var origSize=(match=='@'?14:(match=='y'?4:(match=='o'?3:2)));
var size=origSize;
var num=0;
while(size>0&&iValue<value.length&&
value.charAt(iValue)>='0'&&value.charAt(iValue)<='9'){
num=num*10+parseInt(value.charAt(iValue++),10);
size--}
if(size==origSize)
throw'Missing number at position '+iValue;
return num};
var getName=function(match,shortNames,longNames){
var names=(lookAhead(match)?longNames:shortNames);
var size=0;
for(var j=0;j<names.length;j++)
size=Math.max(size,names[j].length);
var name='';
var iInit=iValue;
while(size>0&&iValue<value.length){
name+=value.charAt(iValue++);
for(var i=0;i<names.length;i++)
if(name==names[i])
return i+1;
size--}
throw'Unknown name at position '+iInit};
var checkLiteral=function(){
if(value.charAt(iValue)!=format.charAt(iFormat))
throw'Unexpected literal at position '+iValue;
iValue++};
var iValue=0;
for(var iFormat=0;iFormat<format.length;iFormat++){
if(literal)
if(format.charAt(iFormat)=="'"&&!lookAhead("'"))
literal=false;
else
checkLiteral();
else
switch(format.charAt(iFormat)){
case'd':
day=getNumber('d');
break;
case'D':
getName('D',dayNamesShort,dayNames);
break;
case'o':
doy=getNumber('o');
break;
case'm':
month=getNumber('m');
break;
case'M':
month=getName('M',monthNamesShort,monthNames);
break;
case'y':
year=getNumber('y');
break;
case'@':
var date=new Date(getNumber('@'));
year=date.getFullYear();
month=date.getMonth()+1;
day=date.getDate();
break;
case"'":
if(lookAhead("'"))
checkLiteral();
else
literal=true;
break;
default:
checkLiteral()}
}
if(year==-1)
year=new Date().getFullYear();
else if(year<100)
year+=new Date().getFullYear()-new Date().getFullYear()%100+
(year<=shortYearCutoff?0:-100);
if(doy>-1){
month=1;
day=doy;
do{
var dim=this._getDaysInMonth(year,month-1);
if(day<=dim)
break;
month++;
day-=dim}while(true)}
var date=this._daylightSavingAdjust(new Date(year,month-1,day));
if(date.getFullYear()!=year||date.getMonth()+1!=month||date.getDate()!=day)
throw'Invalid date';return date},
ATOM:'yy-mm-dd',COOKIE:'D, dd M yy',
ISO_8601:'yy-mm-dd',
RFC_822:'D, d M y',
RFC_850:'DD, dd-M-y',
RFC_1036:'D, d M y',
RFC_1123:'D, d M yy',
RFC_2822:'D, d M yy',
RSS:'D, d M y',TIMESTAMP:'@',
W3C:'yy-mm-dd',
formatDate:function(format,date,settings){
if(!date)
return'';
var dayNamesShort=(settings?settings.dayNamesShort:null)||this._defaults.dayNamesShort;
var dayNames=(settings?settings.dayNames:null)||this._defaults.dayNames;
var monthNamesShort=(settings?settings.monthNamesShort:null)||this._defaults.monthNamesShort;
var monthNames=(settings?settings.monthNames:null)||this._defaults.monthNames;
var lookAhead=function(match){
var matches=(iFormat+1<format.length&&format.charAt(iFormat+1)==match);
if(matches)
iFormat++;
return matches};
var formatNumber=function(match,value,len){
var num=''+value;
if(lookAhead(match))
while(num.length<len)
num='0'+num;
return num};
var formatName=function(match,value,shortNames,longNames){
return(lookAhead(match)?longNames[value]:shortNames[value])};
var output='';
var literal=false;
if(date)
for(var iFormat=0;iFormat<format.length;iFormat++){
if(literal)
if(format.charAt(iFormat)=="'"&&!lookAhead("'"))
literal=false;
else
output+=format.charAt(iFormat);
else
switch(format.charAt(iFormat)){
case'd':
output+=formatNumber('d',date.getDate(),2);
break;
case'D':
output+=formatName('D',date.getDay(),dayNamesShort,dayNames);
break;
case'o':
var doy=date.getDate();
for(var m=date.getMonth()-1;m>=0;m--)
doy+=this._getDaysInMonth(date.getFullYear(),m);
output+=formatNumber('o',doy,3);
break;
case'm':
output+=formatNumber('m',date.getMonth()+1,2);
break;
case'M':
output+=formatName('M',date.getMonth(),monthNamesShort,monthNames);
break;
case'y':
output+=(lookAhead('y')?date.getFullYear():
(date.getYear()%100<10?'0':'')+date.getYear()%100);
break;
case'@':
output+=date.getTime();
break;
case"'":
if(lookAhead("'"))
output+="'";
else
literal=true;
break;
default:
output+=format.charAt(iFormat)}
}
return output},
_possibleChars:function(format){
var chars='';
var literal=false;
for(var iFormat=0;iFormat<format.length;iFormat++)
if(literal)
if(format.charAt(iFormat)=="'"&&!lookAhead("'"))
literal=false;
else
chars+=format.charAt(iFormat);
else
switch(format.charAt(iFormat)){
case'd':case'm':case'y':case'@':
chars+='0123456789';
break;
case'D':case'M':
return null;case"'":
if(lookAhead("'"))
chars+="'";
else
literal=true;
break;
default:
chars+=format.charAt(iFormat)}
return chars},
_get:function(inst,name){
return inst.settings[name]!==undefined?
inst.settings[name]:this._defaults[name]},
_setDateFromField:function(inst){
var dateFormat=this._get(inst,'dateFormat');
var dates=inst.input?inst.input.val().split(this._get(inst,'rangeSeparator')):null;
inst.endDay=inst.endMonth=inst.endYear=null;
var date=defaultDate=this._getDefaultDate(inst);
if(dates.length>0){
var settings=this._getFormatConfig(inst);
if(dates.length>1){
date=this.parseDate(dateFormat,dates[1],settings)||defaultDate;
inst.endDay=date.getDate();
inst.endMonth=date.getMonth();
inst.endYear=date.getFullYear()}
try{
date=this.parseDate(dateFormat,dates[0],settings)||defaultDate}catch(event){
this.log(event);
date=defaultDate}
}
inst.selectedDay=date.getDate();
inst.drawMonth=inst.selectedMonth=date.getMonth();
inst.drawYear=inst.selectedYear=date.getFullYear();
inst.currentDay=(dates[0]?date.getDate():0);
inst.currentMonth=(dates[0]?date.getMonth():0);
inst.currentYear=(dates[0]?date.getFullYear():0);
this._adjustInstDate(inst)},
_getDefaultDate:function(inst){
var date=this._determineDate(this._get(inst,'defaultDate'),new Date());
var minDate=this._getMinMaxDate(inst,'min',true);
var maxDate=this._getMinMaxDate(inst,'max');
date=(minDate&&date<minDate?minDate:date);
date=(maxDate&&date>maxDate?maxDate:date);
return date},
_determineDate:function(date,defaultDate){
var offsetNumeric=function(offset){
var date=new Date();
date.setDate(date.getDate()+offset);
return date};
var offsetString=function(offset,getDaysInMonth){
var date=new Date();
var year=date.getFullYear();
var month=date.getMonth();
var day=date.getDate();
var pattern=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g;
var matches=pattern.exec(offset);
while(matches){
switch(matches[2]||'d'){
case'd':case'D':
day+=parseInt(matches[1],10);break;
case'w':case'W':
day+=parseInt(matches[1],10)*7;break;
case'm':case'M':
month+=parseInt(matches[1],10);
day=Math.min(day,getDaysInMonth(year,month));
break;
case'y':case'Y':
year+=parseInt(matches[1],10);
day=Math.min(day,getDaysInMonth(year,month));
break}
matches=pattern.exec(offset)}
return new Date(year,month,day)};
date=(date==null?defaultDate:
(typeof date=='string'?offsetString(date,this._getDaysInMonth):
(typeof date=='number'?(isNaN(date)?defaultDate:offsetNumeric(date)):date)));
date=(date&&date.toString()=='Invalid Date'?defaultDate:date);
if(date){
date.setHours(0);
date.setMinutes(0);
date.setSeconds(0);
date.setMilliseconds(0)}
return this._daylightSavingAdjust(date)},
_daylightSavingAdjust:function(date){
if(!date)return null;
date.setHours(date.getHours()>12?date.getHours()+2:0);
return date},
_setDate:function(inst,date,endDate){
var clear=!(date);
var origMonth=inst.selectedMonth;
var origYear=inst.selectedYear;
date=this._determineDate(date,new Date());
inst.selectedDay=inst.currentDay=date.getDate();
inst.drawMonth=inst.selectedMonth=inst.currentMonth=date.getMonth();
inst.drawYear=inst.selectedYear=inst.currentYear=date.getFullYear();
if(this._get(inst,'rangeSelect')){
if(endDate){
endDate=this._determineDate(endDate,null);
inst.endDay=endDate.getDate();
inst.endMonth=endDate.getMonth();
inst.endYear=endDate.getFullYear()}else{
inst.endDay=inst.currentDay;
inst.endMonth=inst.currentMonth;
inst.endYear=inst.currentYear}
}
if(origMonth!=inst.selectedMonth||origYear!=inst.selectedYear)
this._notifyChange(inst);
this._adjustInstDate(inst);
if(inst.input)
inst.input.val(clear?'':this._formatDate(inst)+
(!this._get(inst,'rangeSelect')?'':this._get(inst,'rangeSeparator')+
this._formatDate(inst,inst.endDay,inst.endMonth,inst.endYear)))},
_getDate:function(inst){
var startDate=(!inst.currentYear||(inst.input&&inst.input.val()=='')?null:
this._daylightSavingAdjust(new Date(
inst.currentYear,inst.currentMonth,inst.currentDay)));
if(this._get(inst,'rangeSelect')){
return[inst.rangeStart||startDate,
(!inst.endYear?inst.rangeStart||startDate:
this._daylightSavingAdjust(new Date(inst.endYear,inst.endMonth,inst.endDay)))]}else
return startDate},
_generateHTML:function(inst){
var today=new Date();
today=this._daylightSavingAdjust(
new Date(today.getFullYear(),today.getMonth(),today.getDate()));var showStatus=this._get(inst,'showStatus');
var initStatus=this._get(inst,'initStatus')||'&#xa0;';
var isRTL=this._get(inst,'isRTL');
var clear=(this._get(inst,'mandatory')?'':
'<div class="ui-datepicker-clear"><a onclick="jQuery.datepicker._clearDate(\'#'+inst.id+'\');"'+
this._addStatus(showStatus,inst.id,this._get(inst,'clearStatus'),initStatus)+'>'+
this._get(inst,'clearText')+'</a></div>');
var controls='<div class="ui-datepicker-control">'+(isRTL?'':clear)+
'<div class="ui-datepicker-close"><a onclick="jQuery.datepicker._hideDatepicker();"'+
this._addStatus(showStatus,inst.id,this._get(inst,'closeStatus'),initStatus)+'>'+
this._get(inst,'closeText')+'</a></div>'+(isRTL?clear:'')+'</div>';
var prompt=this._get(inst,'prompt');
var closeAtTop=this._get(inst,'closeAtTop');
var hideIfNoPrevNext=this._get(inst,'hideIfNoPrevNext');
var navigationAsDateFormat=this._get(inst,'navigationAsDateFormat');
var showBigPrevNext=this._get(inst,'showBigPrevNext');
var numMonths=this._getNumberOfMonths(inst);
var showCurrentAtPos=this._get(inst,'showCurrentAtPos');
var stepMonths=this._get(inst,'stepMonths');
var stepBigMonths=this._get(inst,'stepBigMonths');
var isMultiMonth=(numMonths[0]!=1||numMonths[1]!=1);
var currentDate=this._daylightSavingAdjust((!inst.currentDay?new Date(9999,9,9):
new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));
var minDate=this._getMinMaxDate(inst,'min',true);
var maxDate=this._getMinMaxDate(inst,'max');
var drawMonth=inst.drawMonth-showCurrentAtPos;
var drawYear=inst.drawYear;
if(drawMonth<0){
drawMonth+=12;
drawYear--}
if(maxDate){
var maxDraw=this._daylightSavingAdjust(new Date(maxDate.getFullYear(),
maxDate.getMonth()-numMonths[1]+1,maxDate.getDate()));
maxDraw=(minDate&&maxDraw<minDate?minDate:maxDraw);
while(this._daylightSavingAdjust(new Date(drawYear,drawMonth,1))>maxDraw){
drawMonth--;
if(drawMonth<0){
drawMonth=11;
drawYear--}
}
}
var prevText=this._get(inst,'prevText');
prevText=(!navigationAsDateFormat?prevText:this.formatDate(prevText,
this._daylightSavingAdjust(new Date(drawYear,drawMonth-stepMonths,1)),
this._getFormatConfig(inst)));
var prevBigText=(showBigPrevNext?this._get(inst,'prevBigText'):'');
prevBigText=(!navigationAsDateFormat?prevBigText:this.formatDate(prevBigText,
this._daylightSavingAdjust(new Date(drawYear,drawMonth-stepBigMonths,1)),
this._getFormatConfig(inst)));
var prev='<div class="ui-datepicker-prev">'+(this._canAdjustMonth(inst,-1,drawYear,drawMonth)?
(showBigPrevNext?'<a onclick="jQuery.datepicker._adjustDate(\'#'+inst.id+'\', -'+stepBigMonths+', \'M\');"'+
this._addStatus(showStatus,inst.id,this._get(inst,'prevBigStatus'),initStatus)+'>'+prevBigText+'</a>':'')+
'<a onclick="jQuery.datepicker._adjustDate(\'#'+inst.id+'\', -'+stepMonths+', \'M\');"'+
this._addStatus(showStatus,inst.id,this._get(inst,'prevStatus'),initStatus)+'>'+prevText+'</a>':
(hideIfNoPrevNext?'':(showBigPrevNext?'<label>'+prevBigText+'</label>':'')+
'<label>'+prevText+'</label>'))+'</div>';
var nextText=this._get(inst,'nextText');
nextText=(!navigationAsDateFormat?nextText:this.formatDate(nextText,
this._daylightSavingAdjust(new Date(drawYear,drawMonth+stepMonths,1)),
this._getFormatConfig(inst)));
var nextBigText=(showBigPrevNext?this._get(inst,'nextBigText'):'');
nextBigText=(!navigationAsDateFormat?nextBigText:this.formatDate(nextBigText,
this._daylightSavingAdjust(new Date(drawYear,drawMonth+stepBigMonths,1)),
this._getFormatConfig(inst)));
var next='<div class="ui-datepicker-next">'+(this._canAdjustMonth(inst,+1,drawYear,drawMonth)?
'<a onclick="jQuery.datepicker._adjustDate(\'#'+inst.id+'\', +'+stepMonths+', \'M\');"'+
this._addStatus(showStatus,inst.id,this._get(inst,'nextStatus'),initStatus)+'>'+nextText+'</a>'+
(showBigPrevNext?'<a onclick="jQuery.datepicker._adjustDate(\'#'+inst.id+'\', +'+stepBigMonths+', \'M\');"'+
this._addStatus(showStatus,inst.id,this._get(inst,'nextBigStatus'),initStatus)+'>'+nextBigText+'</a>':''):
(hideIfNoPrevNext?'':'<label>'+nextText+'</label>'+
(showBigPrevNext?'<label>'+nextBigText+'</label>':'')))+'</div>';
var currentText=this._get(inst,'currentText');
var gotoDate=(this._get(inst,'gotoCurrent')&&inst.currentDay?currentDate:today);
currentText=(!navigationAsDateFormat?currentText:
this.formatDate(currentText,gotoDate,this._getFormatConfig(inst)));
var html=(closeAtTop&&!inst.inline?controls:'')+
'<div class="ui-datepicker-links">'+(isRTL?next:prev)+
(this._isInRange(inst,gotoDate)?'<div class="ui-datepicker-current">'+
'<a onclick="jQuery.datepicker._gotoToday(\'#'+inst.id+'\');"'+
this._addStatus(showStatus,inst.id,this._get(inst,'currentStatus'),initStatus)+'>'+
currentText+'</a></div>':'')+(isRTL?prev:next)+'</div>'+
(prompt?'<div class="'+this._promptClass+'"><span>'+prompt+'</span></div>':'');
var firstDay=parseInt(this._get(inst,'firstDay'));
firstDay=(isNaN(firstDay)?0:firstDay);
var changeFirstDay=this._get(inst,'changeFirstDay');
var dayNames=this._get(inst,'dayNames');
var dayNamesShort=this._get(inst,'dayNamesShort');
var dayNamesMin=this._get(inst,'dayNamesMin');
var monthNames=this._get(inst,'monthNames');
var beforeShowDay=this._get(inst,'beforeShowDay');
var highlightWeek=this._get(inst,'highlightWeek');
var showOtherMonths=this._get(inst,'showOtherMonths');
var showWeeks=this._get(inst,'showWeeks');
var calculateWeek=this._get(inst,'calculateWeek')||this.iso8601Week;
var weekStatus=this._get(inst,'weekStatus');
var status=(showStatus?this._get(inst,'dayStatus')||initStatus:'');
var dateStatus=this._get(inst,'statusForDate')||this.dateStatus;
var endDate=inst.endDay?this._daylightSavingAdjust(
new Date(inst.endYear,inst.endMonth,inst.endDay)):currentDate;
var defaultDate=this._getDefaultDate(inst);
for(var row=0;row<numMonths[0];row++)
for(var col=0;col<numMonths[1];col++){
var selectedDate=this._daylightSavingAdjust(new Date(drawYear,drawMonth,inst.selectedDay));
html+='<div class="ui-datepicker-one-month'+(col==0?' ui-datepicker-new-row':'')+'">'+
this._generateMonthYearHeader(inst,drawMonth,drawYear,minDate,maxDate,
selectedDate,row>0||col>0,showStatus,initStatus,monthNames)+'<table class="ui-datepicker" cellpadding="0" cellspacing="0"><thead>'+
'<tr class="ui-datepicker-title-row">'+
(showWeeks?'<td'+this._addStatus(showStatus,inst.id,weekStatus,initStatus)+'>'+
this._get(inst,'weekHeader')+'</td>':'');
for(var dow=0;dow<7;dow++){var day=(dow+firstDay)%7;
var dayStatus=(status.indexOf('DD')>-1?status.replace(/DD/,dayNames[day]):
status.replace(/D/,dayNamesShort[day]));
html+='<td'+((dow+firstDay+6)%7>=5?' class="ui-datepicker-week-end-cell"':'')+'>'+
(!changeFirstDay?'<span':
'<a onclick="jQuery.datepicker._changeFirstDay(\'#'+inst.id+'\', '+day+');"')+
this._addStatus(showStatus,inst.id,dayStatus,initStatus)+' title="'+dayNames[day]+'">'+
dayNamesMin[day]+(changeFirstDay?'</a>':'</span>')+'</td>'}
html+='</tr></thead><tbody>';
var daysInMonth=this._getDaysInMonth(drawYear,drawMonth);
if(drawYear==inst.selectedYear&&drawMonth==inst.selectedMonth)
inst.selectedDay=Math.min(inst.selectedDay,daysInMonth);
var leadDays=(this._getFirstDayOfMonth(drawYear,drawMonth)-firstDay+7)%7;
var numRows=(isMultiMonth?6:Math.ceil((leadDays+daysInMonth)/7)); var printDate=this._daylightSavingAdjust(new Date(drawYear,drawMonth,1-leadDays));
for(var dRow=0;dRow<numRows;dRow++){html+='<tr class="ui-datepicker-days-row">'+
(showWeeks?'<td class="ui-datepicker-week-col"'+
this._addStatus(showStatus,inst.id,weekStatus,initStatus)+'>'+
calculateWeek(printDate)+'</td>':'');
for(var dow=0;dow<7;dow++){var daySettings=(beforeShowDay?
beforeShowDay.apply((inst.input?inst.input[0]:null),[printDate]):[true,'']);
var otherMonth=(printDate.getMonth()!=drawMonth);
var unselectable=otherMonth||!daySettings[0]||
(minDate&&printDate<minDate)||(maxDate&&printDate>maxDate);
html+='<td class="ui-datepicker-days-cell'+
((dow+firstDay+6)%7>=5?' ui-datepicker-week-end-cell':'')+(otherMonth?' ui-datepicker-other-month':'')+((printDate.getTime()==selectedDate.getTime()&&drawMonth==inst.selectedMonth&&inst._keyEvent)||(defaultDate.getTime()==printDate.getTime()&&defaultDate.getTime()==selectedDate.getTime())?
' '+$.datepicker._dayOverClass:'')+(unselectable?' '+this._unselectableClass:'')+(otherMonth&&!showOtherMonths?'':' '+daySettings[1]+(printDate.getTime()>=currentDate.getTime()&&printDate.getTime()<=endDate.getTime()?' '+this._currentClass:'')+(printDate.getTime()==today.getTime()?' ui-datepicker-today':''))+'"'+((!otherMonth||showOtherMonths)&&daySettings[2]?' title="'+daySettings[2]+'"':'')+(unselectable?(highlightWeek?' onmouseover="jQuery(this).parent().addClass(\''+this._weekOverClass+'\');"'+' onmouseout="jQuery(this).parent().removeClass(\''+this._weekOverClass+'\');"':''):' onmouseover="jQuery(this).addClass(\''+this._dayOverClass+'\')'+(highlightWeek?'.parent().addClass(\''+this._weekOverClass+'\')':'')+';'+(!showStatus||(otherMonth&&!showOtherMonths)?'':'jQuery(\'#ui-datepicker-status-'+
inst.id+'\').html(\''+(dateStatus.apply((inst.input?inst.input[0]:null),
[printDate,inst])||initStatus)+'\');')+'"'+
' onmouseout="jQuery(this).removeClass(\''+this._dayOverClass+'\')'+(highlightWeek?'.parent().removeClass(\''+this._weekOverClass+'\')':'')+';'+(!showStatus||(otherMonth&&!showOtherMonths)?'':'jQuery(\'#ui-datepicker-status-'+
inst.id+'\').html(\''+initStatus+'\');')+'" onclick="jQuery.datepicker._selectDay(\'#'+
inst.id+'\','+drawMonth+','+drawYear+', this);"')+'>'+(otherMonth?(showOtherMonths?printDate.getDate():'&#xa0;'):(unselectable?printDate.getDate():'<a>'+printDate.getDate()+'</a>'))+'</td>';printDate.setDate(printDate.getDate()+1);
printDate=this._daylightSavingAdjust(printDate)}
html+='</tr>'}
drawMonth++;
if(drawMonth>11){
drawMonth=0;
drawYear++}
html+='</tbody></table></div>'}
html+=(showStatus?'<div style="clear: both;"></div><div id="ui-datepicker-status-'+inst.id+
'" class="ui-datepicker-status">'+initStatus+'</div>':'')+
(!closeAtTop&&!inst.inline?controls:'')+
'<div style="clear: both;"></div>'+
($.browser.msie&&parseInt($.browser.version,10)<7&&!inst.inline?
'<iframe src="javascript:false;" class="ui-datepicker-cover"></iframe>':'');
inst._keyEvent=false;
return html},
_generateMonthYearHeader:function(inst,drawMonth,drawYear,minDate,maxDate,
selectedDate,secondary,showStatus,initStatus,monthNames){
minDate=(inst.rangeStart&&minDate&&selectedDate<minDate?selectedDate:minDate);
var changeMonth=this._get(inst,'changeMonth');
var changeYear=this._get(inst,'changeYear');
var showMonthAfterYear=this._get(inst,'showMonthAfterYear');
var html='<div class="ui-datepicker-header">';
var monthHtml='';
if(secondary||!changeMonth)
monthHtml+=monthNames[drawMonth];
else{
var inMinYear=(minDate&&minDate.getFullYear()==drawYear);
var inMaxYear=(maxDate&&maxDate.getFullYear()==drawYear);
monthHtml+='<select class="ui-datepicker-new-month" '+
'onchange="jQuery.datepicker._selectMonthYear(\'#'+inst.id+'\', this, \'M\');" '+
'onclick="jQuery.datepicker._clickMonthYear(\'#'+inst.id+'\');"'+
this._addStatus(showStatus,inst.id,this._get(inst,'monthStatus'),initStatus)+'>';
for(var month=0;month<12;month++){
if((!inMinYear||month>=minDate.getMonth())&&
(!inMaxYear||month<=maxDate.getMonth()))
monthHtml+='<option value="'+month+'"'+
(month==drawMonth?' selected="selected"':'')+
'>'+monthNames[month]+'</option>'}
monthHtml+='</select>'}
if(!showMonthAfterYear)
html+=monthHtml+(secondary||changeMonth||changeYear?'&#xa0;':'');
if(secondary||!changeYear)
html+=drawYear;
else{
var years=this._get(inst,'yearRange').split(':');
var year=0;
var endYear=0;
if(years.length!=2){
year=drawYear-10;
endYear=drawYear+10}else if(years[0].charAt(0)=='+'||years[0].charAt(0)=='-'){
year=endYear=new Date().getFullYear();
year+=parseInt(years[0],10);
endYear+=parseInt(years[1],10)}else{
year=parseInt(years[0],10);
endYear=parseInt(years[1],10)}
year=(minDate?Math.max(year,minDate.getFullYear()):year);
endYear=(maxDate?Math.min(endYear,maxDate.getFullYear()):endYear);
html+='<select class="ui-datepicker-new-year" '+
'onchange="jQuery.datepicker._selectMonthYear(\'#'+inst.id+'\', this, \'Y\');" '+
'onclick="jQuery.datepicker._clickMonthYear(\'#'+inst.id+'\');"'+
this._addStatus(showStatus,inst.id,this._get(inst,'yearStatus'),initStatus)+'>';
for(;year<=endYear;year++){
html+='<option value="'+year+'"'+
(year==drawYear?' selected="selected"':'')+
'>'+year+'</option>'}
html+='</select>'}
if(showMonthAfterYear)
html+=(secondary||changeMonth||changeYear?'&#xa0;':'')+monthHtml;
html+='</div>';return html},
_addStatus:function(showStatus,id,text,initStatus){
return(showStatus?' onmouseover="jQuery(\'#ui-datepicker-status-'+id+
'\').html(\''+(text||initStatus)+'\');" '+
'onmouseout="jQuery(\'#ui-datepicker-status-'+id+
'\').html(\''+initStatus+'\');"':'')},
_adjustInstDate:function(inst,offset,period){
var year=inst.drawYear+(period=='Y'?offset:0);
var month=inst.drawMonth+(period=='M'?offset:0);
var day=Math.min(inst.selectedDay,this._getDaysInMonth(year,month))+
(period=='D'?offset:0);
var date=this._daylightSavingAdjust(new Date(year,month,day));
var minDate=this._getMinMaxDate(inst,'min',true);
var maxDate=this._getMinMaxDate(inst,'max');
date=(minDate&&date<minDate?minDate:date);
date=(maxDate&&date>maxDate?maxDate:date);
inst.selectedDay=date.getDate();
inst.drawMonth=inst.selectedMonth=date.getMonth();
inst.drawYear=inst.selectedYear=date.getFullYear();
if(period=='M'||period=='Y')
this._notifyChange(inst)},
_notifyChange:function(inst){
var onChange=this._get(inst,'onChangeMonthYear');
if(onChange)
onChange.apply((inst.input?inst.input[0]:null),
[inst.selectedYear,inst.selectedMonth+1,inst])},
_getNumberOfMonths:function(inst){
var numMonths=this._get(inst,'numberOfMonths');
return(numMonths==null?[1,1]:(typeof numMonths=='number'?[1,numMonths]:numMonths))},
_getMinMaxDate:function(inst,minMax,checkRange){
var date=this._determineDate(this._get(inst,minMax+'Date'),null);
return(!checkRange||!inst.rangeStart?date:
(!date||inst.rangeStart>date?inst.rangeStart:date))},
_getDaysInMonth:function(year,month){
return 32-new Date(year,month,32).getDate()},
_getFirstDayOfMonth:function(year,month){
return new Date(year,month,1).getDay()},
_canAdjustMonth:function(inst,offset,curYear,curMonth){
var numMonths=this._getNumberOfMonths(inst);
var date=this._daylightSavingAdjust(new Date(
curYear,curMonth+(offset<0?offset:numMonths[1]),1));
if(offset<0)
date.setDate(this._getDaysInMonth(date.getFullYear(),date.getMonth()));
return this._isInRange(inst,date)},
_isInRange:function(inst,date){
var newMinDate=(!inst.rangeStart?null:this._daylightSavingAdjust(
new Date(inst.selectedYear,inst.selectedMonth,inst.selectedDay)));
newMinDate=(newMinDate&&inst.rangeStart<newMinDate?inst.rangeStart:newMinDate);
var minDate=newMinDate||this._getMinMaxDate(inst,'min');
var maxDate=this._getMinMaxDate(inst,'max');
return((!minDate||date>=minDate)&&(!maxDate||date<=maxDate))},
_getFormatConfig:function(inst){
var shortYearCutoff=this._get(inst,'shortYearCutoff');
shortYearCutoff=(typeof shortYearCutoff!='string'?shortYearCutoff:
new Date().getFullYear()%100+parseInt(shortYearCutoff,10));
return{shortYearCutoff:shortYearCutoff,
dayNamesShort:this._get(inst,'dayNamesShort'),dayNames:this._get(inst,'dayNames'),
monthNamesShort:this._get(inst,'monthNamesShort'),monthNames:this._get(inst,'monthNames')}},
_formatDate:function(inst,day,month,year){
if(!day){
inst.currentDay=inst.selectedDay;
inst.currentMonth=inst.selectedMonth;
inst.currentYear=inst.selectedYear}
var date=(day?(typeof day=='object'?day:
this._daylightSavingAdjust(new Date(year,month,day))):
this._daylightSavingAdjust(new Date(inst.currentYear,inst.currentMonth,inst.currentDay)));
return this.formatDate(this._get(inst,'dateFormat'),date,this._getFormatConfig(inst))}
});
function extendRemove(target,props){
$.extend(target,props);
for(var name in props)
if(props[name]==null||props[name]==undefined)
target[name]=props[name];
return target};
function isArray(a){
return(a&&(($.browser.safari&&typeof a=='object'&&a.length)||
(a.constructor&&a.constructor.toString().match(/\Array\(\)/))))};
$.fn.datepicker=function(options){
if(!$.datepicker.initialized){
$(document.body).append($.datepicker.dpDiv).
mousedown($.datepicker._checkExternalClick);
$.datepicker.initialized=true}
var otherArgs=Array.prototype.slice.call(arguments,1);
if(typeof options=='string'&&(options=='isDisabled'||options=='getDate'))
return $.datepicker['_'+options+'Datepicker'].
apply($.datepicker,[this[0]].concat(otherArgs));
return this.each(function(){
typeof options=='string'?
$.datepicker['_'+options+'Datepicker'].
apply($.datepicker,[this].concat(otherArgs)):
$.datepicker._attachDatepicker(this,options)})};
$.datepicker=new Datepicker();$.datepicker.initialized=false;
$.datepicker.uuid=new Date().getTime();
$.datepicker.version="1.6"})(jQuery);(function($){
$.effects=$.effects||{};
$.extend($.effects,{
version:"1.6",
save:function(el,set){
for(var i=0;i<set.length;i++){
if(set[i]!==null)$.data(el[0],"ec.storage."+set[i],el[0].style[set[i]])}
},
restore:function(el,set){
for(var i=0;i<set.length;i++){
if(set[i]!==null)el.css(set[i],$.data(el[0],"ec.storage."+set[i]))}
},
setMode:function(el,mode){
if(mode=='toggle')mode=el.is(':hidden')?'show':'hide';return mode},
getBaseline:function(origin,original){var y,x;
switch(origin[0]){
case'top':y=0;break;
case'middle':y=0.5;break;
case'bottom':y=1;break;
default:y=origin[0]/original.height};
switch(origin[1]){
case'left':x=0;break;
case'center':x=0.5;break;
case'right':x=1;break;
default:x=origin[1]/original.width};
return{x:x,y:y}},
createWrapper:function(el){
if(el.parent().attr('id')=='fxWrapper')
return el;
var props={width:el.outerWidth({margin:true}),height:el.outerHeight({margin:true}),'float':el.css('float')};
el.wrap('<div id="fxWrapper" style="font-size:100%;background:transparent;border:none;margin:0;padding:0"></div>');
var wrapper=el.parent();
if(el.css('position')=='static'){
wrapper.css({position:'relative'});
el.css({position:'relative'})}else{
var top=el.css('top');if(isNaN(parseInt(top)))top='auto';
var left=el.css('left');if(isNaN(parseInt(left)))left='auto';
wrapper.css({position:el.css('position'),top:top,left:left,zIndex:el.css('z-index')}).show();
el.css({position:'relative',top:0,left:0})}
wrapper.css(props);
return wrapper},
removeWrapper:function(el){
if(el.parent().attr('id')=='fxWrapper')
return el.parent().replaceWith(el);
return el},
setTransition:function(el,list,factor,val){
val=val||{};
$.each(list,function(i,x){
unit=el.cssUnit(x);
if(unit[0]>0)val[x]=unit[0]*factor+unit[1]});
return val},
animateClass:function(value,duration,easing,callback){
var cb=(typeof easing=="function"?easing:(callback?callback:null));
var ea=(typeof easing=="object"?easing:null);
return this.each(function(){
var offset={};var that=$(this);var oldStyleAttr=that.attr("style")||'';
if(typeof oldStyleAttr=='object')oldStyleAttr=oldStyleAttr["cssText"];
if(value.toggle){that.hasClass(value.toggle)?value.remove=value.toggle:value.add=value.toggle}
var oldStyle=$.extend({},(document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle));
if(value.add)that.addClass(value.add);if(value.remove)that.removeClass(value.remove);
var newStyle=$.extend({},(document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle));
if(value.add)that.removeClass(value.add);if(value.remove)that.addClass(value.remove);
for(var n in newStyle){
if(typeof newStyle[n]!="function"&&newStyle[n]
&&n.indexOf("Moz")==-1&&n.indexOf("length")==-1
&&newStyle[n]!=oldStyle[n]
&&(n.match(/color/i)||(!n.match(/color/i)&&!isNaN(parseInt(newStyle[n],10))))
&&(oldStyle.position!="static"||(oldStyle.position=="static"&&!n.match(/left|top|bottom|right/)))
)offset[n]=newStyle[n]}
that.animate(offset,duration,ea,function(){if(typeof $(this).attr("style")=='object'){$(this).attr("style")["cssText"]="";$(this).attr("style")["cssText"]=oldStyleAttr}else $(this).attr("style",oldStyleAttr);
if(value.add)$(this).addClass(value.add);if(value.remove)$(this).removeClass(value.remove);
if(cb)cb.apply(this,arguments)})})}
});
$.fn.extend({
_show:$.fn.show,
_hide:$.fn.hide,
__toggle:$.fn.toggle,
_addClass:$.fn.addClass,
_removeClass:$.fn.removeClass,
_toggleClass:$.fn.toggleClass,
effect:function(fx,o,speed,callback){
return $.effects[fx]?$.effects[fx].call(this,{method:fx,options:o||{},duration:speed,callback:callback}):null},
show:function(){
if(!arguments[0]||(arguments[0].constructor==Number||/(slow|normal|fast)/.test(arguments[0])))
return this._show.apply(this,arguments);
else{
var o=arguments[1]||{};o['mode']='show';
return this.effect.apply(this,[arguments[0],o,arguments[2]||o.duration,arguments[3]||o.callback])}
},
hide:function(){
if(!arguments[0]||(arguments[0].constructor==Number||/(slow|normal|fast)/.test(arguments[0])))
return this._hide.apply(this,arguments);
else{
var o=arguments[1]||{};o['mode']='hide';
return this.effect.apply(this,[arguments[0],o,arguments[2]||o.duration,arguments[3]||o.callback])}
},
toggle:function(){
if(!arguments[0]||(arguments[0].constructor==Number||/(slow|normal|fast)/.test(arguments[0]))||(arguments[0].constructor==Function))
return this.__toggle.apply(this,arguments);
else{
var o=arguments[1]||{};o['mode']='toggle';
return this.effect.apply(this,[arguments[0],o,arguments[2]||o.duration,arguments[3]||o.callback])}
},
addClass:function(classNames,speed,easing,callback){
return speed?$.effects.animateClass.apply(this,[{add:classNames},speed,easing,callback]):this._addClass(classNames)},
removeClass:function(classNames,speed,easing,callback){
return speed?$.effects.animateClass.apply(this,[{remove:classNames},speed,easing,callback]):this._removeClass(classNames)},
toggleClass:function(classNames,speed,easing,callback){
return speed?$.effects.animateClass.apply(this,[{toggle:classNames},speed,easing,callback]):this._toggleClass(classNames)},
morph:function(remove,add,speed,easing,callback){
return $.effects.animateClass.apply(this,[{add:add,remove:remove},speed,easing,callback])},
switchClass:function(){
return this.morph.apply(this,arguments)},
cssUnit:function(key){
var style=this.css(key),val=[];
$.each(['em','px','%','pt'],function(i,unit){
if(style.indexOf(unit)>0)
val=[parseFloat(style),unit]});
return val}
});
$.each(['backgroundColor','borderBottomColor','borderLeftColor','borderRightColor','borderTopColor','color','outlineColor'],function(i,attr){
$.fx.step[attr]=function(fx){
if(fx.state==0){
fx.start=getColor(fx.elem,attr);
fx.end=getRGB(fx.end)}
fx.elem.style[attr]="rgb("+[
Math.max(Math.min(parseInt((fx.pos*(fx.end[0]-fx.start[0]))+fx.start[0]),255),0),
Math.max(Math.min(parseInt((fx.pos*(fx.end[1]-fx.start[1]))+fx.start[1]),255),0),
Math.max(Math.min(parseInt((fx.pos*(fx.end[2]-fx.start[2]))+fx.start[2]),255),0)
].join(",")+")"}
});
function getRGB(color){
var result;
if(color&&color.constructor==Array&&color.length==3)
return color;
if(result=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(color))
return[parseInt(result[1]),parseInt(result[2]),parseInt(result[3])];
if(result=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(color))
return[parseFloat(result[1])*2.55,parseFloat(result[2])*2.55,parseFloat(result[3])*2.55];
if(result=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(color))
return[parseInt(result[1],16),parseInt(result[2],16),parseInt(result[3],16)];
if(result=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(color))
return[parseInt(result[1]+result[1],16),parseInt(result[2]+result[2],16),parseInt(result[3]+result[3],16)];
if(result=/rgba\(0, 0, 0, 0\)/.exec(color))
return colors['transparent'];
return colors[$.trim(color).toLowerCase()]}
function getColor(elem,attr){
var color;
do{
color=$.curCSS(elem,attr);
if(color!=''&&color!='transparent'||$.nodeName(elem,"body"))
break;
attr="backgroundColor"}while(elem=elem.parentNode);
return getRGB(color)};
var colors={
aqua:[0,255,255],
azure:[240,255,255],
beige:[245,245,220],
black:[0,0,0],
blue:[0,0,255],
brown:[165,42,42],
cyan:[0,255,255],
darkblue:[0,0,139],
darkcyan:[0,139,139],
darkgrey:[169,169,169],
darkgreen:[0,100,0],
darkkhaki:[189,183,107],
darkmagenta:[139,0,139],
darkolivegreen:[85,107,47],
darkorange:[255,140,0],
darkorchid:[153,50,204],
darkred:[139,0,0],
darksalmon:[233,150,122],
darkviolet:[148,0,211],
fuchsia:[255,0,255],
gold:[255,215,0],
green:[0,128,0],
indigo:[75,0,130],
khaki:[240,230,140],
lightblue:[173,216,230],
lightcyan:[224,255,255],
lightgreen:[144,238,144],
lightgrey:[211,211,211],
lightpink:[255,182,193],
lightyellow:[255,255,224],
lime:[0,255,0],
magenta:[255,0,255],
maroon:[128,0,0],
navy:[0,0,128],
olive:[128,128,0],
orange:[255,165,0],
pink:[255,192,203],
purple:[128,0,128],
violet:[128,0,128],
red:[255,0,0],
silver:[192,192,192],
white:[255,255,255],
yellow:[255,255,0],
transparent:[255,255,255]
};
$.easing.jswing=$.easing.swing;
$.extend($.easing,
{
def:'easeOutQuad',
swing:function(x,t,b,c,d){
return $.easing[$.easing.def](x,t,b,c,d)},
easeInQuad:function(x,t,b,c,d){
return c*(t/=d)*t+b},
easeOutQuad:function(x,t,b,c,d){
return-c*(t/=d)*(t-2)+b},
easeInOutQuad:function(x,t,b,c,d){
if((t/=d/2)<1)return c/2*t*t+b;
return-c/2*((--t)*(t-2)-1)+b},
easeInCubic:function(x,t,b,c,d){
return c*(t/=d)*t*t+b},
easeOutCubic:function(x,t,b,c,d){
return c*((t=t/d-1)*t*t+1)+b},
easeInOutCubic:function(x,t,b,c,d){
if((t/=d/2)<1)return c/2*t*t*t+b;
return c/2*((t-=2)*t*t+2)+b},
easeInQuart:function(x,t,b,c,d){
return c*(t/=d)*t*t*t+b},
easeOutQuart:function(x,t,b,c,d){
return-c*((t=t/d-1)*t*t*t-1)+b},
easeInOutQuart:function(x,t,b,c,d){
if((t/=d/2)<1)return c/2*t*t*t*t+b;
return-c/2*((t-=2)*t*t*t-2)+b},
easeInQuint:function(x,t,b,c,d){
return c*(t/=d)*t*t*t*t+b},
easeOutQuint:function(x,t,b,c,d){
return c*((t=t/d-1)*t*t*t*t+1)+b},
easeInOutQuint:function(x,t,b,c,d){
if((t/=d/2)<1)return c/2*t*t*t*t*t+b;
return c/2*((t-=2)*t*t*t*t+2)+b},
easeInSine:function(x,t,b,c,d){
return-c*Math.cos(t/d*(Math.PI/2))+c+b},
easeOutSine:function(x,t,b,c,d){
return c*Math.sin(t/d*(Math.PI/2))+b},
easeInOutSine:function(x,t,b,c,d){
return-c/2*(Math.cos(Math.PI*t/d)-1)+b},
easeInExpo:function(x,t,b,c,d){
return(t==0)?b:c*Math.pow(2,10*(t/d-1))+b},
easeOutExpo:function(x,t,b,c,d){
return(t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b},
easeInOutExpo:function(x,t,b,c,d){
if(t==0)return b;
if(t==d)return b+c;
if((t/=d/2)<1)return c/2*Math.pow(2,10*(t-1))+b;
return c/2*(-Math.pow(2,-10*--t)+2)+b},
easeInCirc:function(x,t,b,c,d){
return-c*(Math.sqrt(1-(t/=d)*t)-1)+b},
easeOutCirc:function(x,t,b,c,d){
return c*Math.sqrt(1-(t=t/d-1)*t)+b},
easeInOutCirc:function(x,t,b,c,d){
if((t/=d/2)<1)return-c/2*(Math.sqrt(1-t*t)-1)+b;
return c/2*(Math.sqrt(1-(t-=2)*t)+1)+b},
easeInElastic:function(x,t,b,c,d){
var s=1.70158;var p=0;var a=c;
if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;
if(a<Math.abs(c)){a=c;var s=p/4}
else var s=p/(2*Math.PI)*Math.asin(c/a);
return-(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b},
easeOutElastic:function(x,t,b,c,d){
var s=1.70158;var p=0;var a=c;
if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;
if(a<Math.abs(c)){a=c;var s=p/4}
else var s=p/(2*Math.PI)*Math.asin(c/a);
return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p)+c+b},
easeInOutElastic:function(x,t,b,c,d){
var s=1.70158;var p=0;var a=c;
if(t==0)return b;if((t/=d/2)==2)return b+c;if(!p)p=d*(.3*1.5);
if(a<Math.abs(c)){a=c;var s=p/4}
else var s=p/(2*Math.PI)*Math.asin(c/a);
if(t<1)return-.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;
return a*Math.pow(2,-10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p)*.5+c+b},
easeInBack:function(x,t,b,c,d,s){
if(s==undefined)s=1.70158;
return c*(t/=d)*t*((s+1)*t-s)+b},
easeOutBack:function(x,t,b,c,d,s){
if(s==undefined)s=1.70158;
return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b},
easeInOutBack:function(x,t,b,c,d,s){
if(s==undefined)s=1.70158;
if((t/=d/2)<1)return c/2*(t*t*(((s*=(1.525))+1)*t-s))+b;
return c/2*((t-=2)*t*(((s*=(1.525))+1)*t+s)+2)+b},
easeInBounce:function(x,t,b,c,d){
return c-$.easing.easeOutBounce(x,d-t,0,c,d)+b},
easeOutBounce:function(x,t,b,c,d){
if((t/=d)<(1/2.75)){
return c*(7.5625*t*t)+b}else if(t<(2/2.75)){
return c*(7.5625*(t-=(1.5/2.75))*t+.75)+b}else if(t<(2.5/2.75)){
return c*(7.5625*(t-=(2.25/2.75))*t+.9375)+b}else{
return c*(7.5625*(t-=(2.625/2.75))*t+.984375)+b}
},
easeInOutBounce:function(x,t,b,c,d){
if(t<d/2)return $.easing.easeInBounce(x,t*2,0,c,d)*.5+b;
return $.easing.easeOutBounce(x,t*2-d,0,c,d)*.5+c*.5+b}
})})(jQuery);
(function($){
$.effects.blind=function(o){
return this.queue(function(){
var el=$(this),props=['position','top','left'];
var mode=$.effects.setMode(el,o.options.mode||'hide');var direction=o.options.direction||'vertical';
$.effects.save(el,props);el.show();var wrapper=$.effects.createWrapper(el).css({overflow:'hidden'});var ref=(direction=='vertical')?'height':'width';
var distance=(direction=='vertical')?wrapper.height():wrapper.width();
if(mode=='show')wrapper.css(ref,0);
var animation={};
animation[ref]=mode=='show'?distance:0;
wrapper.animate(animation,o.duration,o.options.easing,function(){
if(mode=='hide')el.hide();$.effects.restore(el,props);$.effects.removeWrapper(el);if(o.callback)o.callback.apply(el[0],arguments);el.dequeue()})})}})(jQuery);
(function($){
$.effects.bounce=function(o){
return this.queue(function(){
var el=$(this),props=['position','top','left'];
var mode=$.effects.setMode(el,o.options.mode||'effect');var direction=o.options.direction||'up';var distance=o.options.distance||20;var times=o.options.times||5;var speed=o.duration||250;if(/show|hide/.test(mode))props.push('opacity');
$.effects.save(el,props);el.show();$.effects.createWrapper(el);var ref=(direction=='up'||direction=='down')?'top':'left';
var motion=(direction=='up'||direction=='left')?'pos':'neg';
var distance=o.options.distance||(ref=='top'?el.outerHeight({margin:true})/3:el.outerWidth({margin:true})/3);
if(mode=='show')el.css('opacity',0).css(ref,motion=='pos'?-distance:distance);if(mode=='hide')distance=distance/(times*2);
if(mode!='hide')times--;
if(mode=='show'){var animation={opacity:1};
animation[ref]=(motion=='pos'?'+=':'-=')+distance;
el.animate(animation,speed/2,o.options.easing);
distance=distance/2;
times--};
for(var i=0;i<times;i++){var animation1={},animation2={};
animation1[ref]=(motion=='pos'?'-=':'+=')+distance;
animation2[ref]=(motion=='pos'?'+=':'-=')+distance;
el.animate(animation1,speed/2,o.options.easing).animate(animation2,speed/2,o.options.easing);
distance=(mode=='hide')?distance*2:distance/2};
if(mode=='hide'){var animation={opacity:0};
animation[ref]=(motion=='pos'?'-=':'+=')+distance;
el.animate(animation,speed/2,o.options.easing,function(){
el.hide();$.effects.restore(el,props);$.effects.removeWrapper(el);if(o.callback)o.callback.apply(this,arguments)})}else{
var animation1={},animation2={};
animation1[ref]=(motion=='pos'?'-=':'+=')+distance;
animation2[ref]=(motion=='pos'?'+=':'-=')+distance;
el.animate(animation1,speed/2,o.options.easing).animate(animation2,speed/2,o.options.easing,function(){
$.effects.restore(el,props);$.effects.removeWrapper(el);if(o.callback)o.callback.apply(this,arguments)})};
el.queue('fx',function(){el.dequeue()});
el.dequeue()})}})(jQuery);
(function($){
$.effects.clip=function(o){
return this.queue(function(){
var el=$(this),props=['position','top','left','height','width'];
var mode=$.effects.setMode(el,o.options.mode||'hide');var direction=o.options.direction||'vertical';
$.effects.save(el,props);el.show();var wrapper=$.effects.createWrapper(el).css({overflow:'hidden'});var animate=el[0].tagName=='IMG'?wrapper:el;
var ref={
size:(direction=='vertical')?'height':'width',
position:(direction=='vertical')?'top':'left'
};
var distance=(direction=='vertical')?animate.height():animate.width();
if(mode=='show'){animate.css(ref.size,0);animate.css(ref.position,distance/2)} 
var animation={};
animation[ref.size]=mode=='show'?distance:0;
animation[ref.position]=mode=='show'?0:distance/2;
animate.animate(animation,{queue:false,duration:o.duration,easing:o.options.easing,complete:function(){
if(mode=='hide')el.hide();$.effects.restore(el,props);$.effects.removeWrapper(el);if(o.callback)o.callback.apply(el[0],arguments);el.dequeue()}})})}})(jQuery);
(function($){
$.effects.drop=function(o){
return this.queue(function(){
var el=$(this),props=['position','top','left','opacity'];
var mode=$.effects.setMode(el,o.options.mode||'hide');var direction=o.options.direction||'left';
$.effects.save(el,props);el.show();$.effects.createWrapper(el);var ref=(direction=='up'||direction=='down')?'top':'left';
var motion=(direction=='up'||direction=='left')?'pos':'neg';
var distance=o.options.distance||(ref=='top'?el.outerHeight({margin:true})/2:el.outerWidth({margin:true})/2);
if(mode=='show')el.css('opacity',0).css(ref,motion=='pos'?-distance:distance);
var animation={opacity:mode=='show'?1:0};
animation[ref]=(mode=='show'?(motion=='pos'?'+=':'-='):(motion=='pos'?'-=':'+='))+distance;
el.animate(animation,{queue:false,duration:o.duration,easing:o.options.easing,complete:function(){
if(mode=='hide')el.hide();$.effects.restore(el,props);$.effects.removeWrapper(el);if(o.callback)o.callback.apply(this,arguments);el.dequeue()}})})}})(jQuery);
(function($){
$.effects.explode=function(o){
return this.queue(function(){
var rows=o.options.pieces?Math.round(Math.sqrt(o.options.pieces)):3;
var cells=o.options.pieces?Math.round(Math.sqrt(o.options.pieces)):3;
o.options.mode=o.options.mode=='toggle'?($(this).is(':visible')?'hide':'show'):o.options.mode;
var el=$(this).show().css('visibility','hidden');
var offset=el.offset();
offset.top-=parseInt(el.css("marginTop"))||0;
offset.left-=parseInt(el.css("marginLeft"))||0;
var width=el.outerWidth(true);
var height=el.outerHeight(true);
for(var i=0;i<rows;i++){for(var j=0;j<cells;j++){el
.clone()
.appendTo('body')
.wrap('<div></div>')
.css({
position:'absolute',
visibility:'visible',
left:-j*(width/cells),
top:-i*(height/rows)
})
.parent()
.addClass('effects-explode')
.css({
position:'absolute',
overflow:'hidden',
width:width/cells,
height:height/rows,
left:offset.left+j*(width/cells)+(o.options.mode=='show'?(j-Math.floor(cells/2))*(width/cells):0),
top:offset.top+i*(height/rows)+(o.options.mode=='show'?(i-Math.floor(rows/2))*(height/rows):0),
opacity:o.options.mode=='show'?0:1
}).animate({
left:offset.left+j*(width/cells)+(o.options.mode=='show'?0:(j-Math.floor(cells/2))*(width/cells)),
top:offset.top+i*(height/rows)+(o.options.mode=='show'?0:(i-Math.floor(rows/2))*(height/rows)),
opacity:o.options.mode=='show'?1:0
},o.duration||500)}
}
setTimeout(function(){
o.options.mode=='show'?el.css({visibility:'visible'}):el.css({visibility:'visible'}).hide();
if(o.callback)o.callback.apply(el[0]);el.dequeue();
$('.effects-explode').remove()},o.duration||500)})}})(jQuery);
(function($){
$.effects.fold=function(o){
return this.queue(function(){
var el=$(this),props=['position','top','left'];
var mode=$.effects.setMode(el,o.options.mode||'hide');var size=o.options.size||15;var horizFirst=!(!o.options.horizFirst);
$.effects.save(el,props);el.show();var wrapper=$.effects.createWrapper(el).css({overflow:'hidden'});var widthFirst=((mode=='show')!=horizFirst);
var ref=widthFirst?['width','height']:['height','width'];
var distance=widthFirst?[wrapper.width(),wrapper.height()]:[wrapper.height(),wrapper.width()];
var percent=/([0-9]+)%/.exec(size);
if(percent)size=parseInt(percent[1])/100*distance[mode=='hide'?0:1];
if(mode=='show')wrapper.css(horizFirst?{height:0,width:size}:{height:size,width:0});
var animation1={},animation2={};
animation1[ref[0]]=mode=='show'?distance[0]:size;
animation2[ref[1]]=mode=='show'?distance[1]:0;
wrapper.animate(animation1,o.duration/2,o.options.easing)
.animate(animation2,o.duration/2,o.options.easing,function(){
if(mode=='hide')el.hide();$.effects.restore(el,props);$.effects.removeWrapper(el);if(o.callback)o.callback.apply(el[0],arguments);el.dequeue()})})}})(jQuery);
(function($){
$.effects.highlight=function(o){
return this.queue(function(){
var el=$(this),props=['backgroundImage','backgroundColor','opacity'];
var mode=$.effects.setMode(el,o.options.mode||'show');var color=o.options.color||"#ffff99";var oldColor=el.css("backgroundColor");
$.effects.save(el,props);el.show();el.css({backgroundImage:'none',backgroundColor:color});
var animation={backgroundColor:oldColor};
if(mode=="hide")animation['opacity']=0;
el.animate(animation,{queue:false,duration:o.duration,easing:o.options.easing,complete:function(){
if(mode=="hide")el.hide();
$.effects.restore(el,props);
if(mode=="show"&&$.browser.msie)this.style.removeAttribute('filter');
if(o.callback)o.callback.apply(this,arguments);
el.dequeue()}})})}})(jQuery);
(function($){
$.effects.pulsate=function(o){
return this.queue(function(){
var el=$(this);
var mode=$.effects.setMode(el,o.options.mode||'show');var times=o.options.times||5;
if(mode=='hide')times--;
if(el.is(':hidden')){el.css('opacity',0);
el.show();el.animate({opacity:1},o.duration/2,o.options.easing);
times=times-2}
for(var i=0;i<times;i++){el.animate({opacity:0},o.duration/2,o.options.easing).animate({opacity:1},o.duration/2,o.options.easing)};
if(mode=='hide'){el.animate({opacity:0},o.duration/2,o.options.easing,function(){
el.hide();if(o.callback)o.callback.apply(this,arguments)})}else{
el.animate({opacity:0},o.duration/2,o.options.easing).animate({opacity:1},o.duration/2,o.options.easing,function(){
if(o.callback)o.callback.apply(this,arguments)})};
el.queue('fx',function(){el.dequeue()});
el.dequeue()})}})(jQuery);
(function($){
$.effects.puff=function(o){
return this.queue(function(){
var el=$(this);
var options=$.extend(true,{},o.options);
var mode=$.effects.setMode(el,o.options.mode||'hide');var percent=parseInt(o.options.percent)||150;options.fade=true;var original={height:el.height(),width:el.width()};
var factor=percent/100;
el.from=(mode=='hide')?original:{height:original.height*factor,width:original.width*factor};
options.from=el.from;
options.percent=(mode=='hide')?percent:100;
options.mode=mode;
el.effect('scale',options,o.duration,o.callback);
el.dequeue()})};
$.effects.scale=function(o){
return this.queue(function(){
var el=$(this);
var options=$.extend(true,{},o.options);
var mode=$.effects.setMode(el,o.options.mode||'effect');var percent=parseInt(o.options.percent)||(parseInt(o.options.percent)==0?0:(mode=='hide'?0:100));var direction=o.options.direction||'both';var origin=o.options.origin;if(mode!='effect'){options.origin=origin||['middle','center'];
options.restore=true}
var original={height:el.height(),width:el.width()};el.from=o.options.from||(mode=='show'?{height:0,width:0}:original);
var factor={y:direction!='horizontal'?(percent/100):1,
x:direction!='vertical'?(percent/100):1
};
el.to={height:original.height*factor.y,width:original.width*factor.x};
if(o.options.fade){if(mode=='show'){el.from.opacity=0;el.to.opacity=1};
if(mode=='hide'){el.from.opacity=1;el.to.opacity=0}};
options.from=el.from;options.to=el.to;options.mode=mode;
el.effect('size',options,o.duration,o.callback);
el.dequeue()})};
$.effects.size=function(o){
return this.queue(function(){
var el=$(this),props=['position','top','left','width','height','overflow','opacity'];
var props1=['position','top','left','overflow','opacity'];var props2=['width','height','overflow'];var cProps=['fontSize'];
var vProps=['borderTopWidth','borderBottomWidth','paddingTop','paddingBottom'];
var hProps=['borderLeftWidth','borderRightWidth','paddingLeft','paddingRight'];
var mode=$.effects.setMode(el,o.options.mode||'effect');var restore=o.options.restore||false;var scale=o.options.scale||'both';var origin=o.options.origin;var original={height:el.height(),width:el.width()};el.from=o.options.from||original;el.to=o.options.to||original;if(origin){var baseline=$.effects.getBaseline(origin,original);
el.from.top=(original.height-el.from.height)*baseline.y;
el.from.left=(original.width-el.from.width)*baseline.x;
el.to.top=(original.height-el.to.height)*baseline.y;
el.to.left=(original.width-el.to.width)*baseline.x};
var factor={from:{y:el.from.height/original.height,x:el.from.width/original.width},
to:{y:el.to.height/original.height,x:el.to.width/original.width}
};
if(scale=='box'||scale=='both'){if(factor.from.y!=factor.to.y){props=props.concat(vProps);
el.from=$.effects.setTransition(el,vProps,factor.from.y,el.from);
el.to=$.effects.setTransition(el,vProps,factor.to.y,el.to)};
if(factor.from.x!=factor.to.x){props=props.concat(hProps);
el.from=$.effects.setTransition(el,hProps,factor.from.x,el.from);
el.to=$.effects.setTransition(el,hProps,factor.to.x,el.to)}};
if(scale=='content'||scale=='both'){if(factor.from.y!=factor.to.y){props=props.concat(cProps);
el.from=$.effects.setTransition(el,cProps,factor.from.y,el.from);
el.to=$.effects.setTransition(el,cProps,factor.to.y,el.to)}};
$.effects.save(el,restore?props:props1);el.show();$.effects.createWrapper(el);el.css('overflow','hidden').css(el.from);
if(scale=='content'||scale=='both'){vProps=vProps.concat(['marginTop','marginBottom']).concat(cProps);hProps=hProps.concat(['marginLeft','marginRight']);props2=props.concat(vProps).concat(hProps);el.find("*[width]").each(function(){
child=$(this);
if(restore)$.effects.save(child,props2);
var c_original={height:child.height(),width:child.width()};child.from={height:c_original.height*factor.from.y,width:c_original.width*factor.from.x};
child.to={height:c_original.height*factor.to.y,width:c_original.width*factor.to.x};
if(factor.from.y!=factor.to.y){child.from=$.effects.setTransition(child,vProps,factor.from.y,child.from);
child.to=$.effects.setTransition(child,vProps,factor.to.y,child.to)};
if(factor.from.x!=factor.to.x){child.from=$.effects.setTransition(child,hProps,factor.from.x,child.from);
child.to=$.effects.setTransition(child,hProps,factor.to.x,child.to)};
child.css(child.from);child.animate(child.to,o.duration,o.options.easing,function(){
if(restore)$.effects.restore(child,props2)})})};
el.animate(el.to,{queue:false,duration:o.duration,easing:o.options.easing,complete:function(){
if(mode=='hide')el.hide();$.effects.restore(el,restore?props:props1);$.effects.removeWrapper(el);if(o.callback)o.callback.apply(this,arguments);el.dequeue()}})})}})(jQuery);
(function($){
$.effects.shake=function(o){
return this.queue(function(){
var el=$(this),props=['position','top','left'];
var mode=$.effects.setMode(el,o.options.mode||'effect');var direction=o.options.direction||'left';var distance=o.options.distance||20;var times=o.options.times||3;var speed=o.duration||o.options.duration||140;
$.effects.save(el,props);el.show();$.effects.createWrapper(el);var ref=(direction=='up'||direction=='down')?'top':'left';
var motion=(direction=='up'||direction=='left')?'pos':'neg';
var animation={},animation1={},animation2={};
animation[ref]=(motion=='pos'?'-=':'+=')+distance;
animation1[ref]=(motion=='pos'?'+=':'-=')+distance*2;
animation2[ref]=(motion=='pos'?'-=':'+=')+distance*2;
el.animate(animation,speed,o.options.easing);
for(var i=1;i<times;i++){el.animate(animation1,speed,o.options.easing).animate(animation2,speed,o.options.easing)};
el.animate(animation1,speed,o.options.easing).
animate(animation,speed/2,o.options.easing,function(){ $.effects.restore(el,props);$.effects.removeWrapper(el);if(o.callback)o.callback.apply(this,arguments)});
el.queue('fx',function(){el.dequeue()});
el.dequeue()})}})(jQuery);
(function($){
$.effects.slide=function(o){
return this.queue(function(){
var el=$(this),props=['position','top','left'];
var mode=$.effects.setMode(el,o.options.mode||'show');var direction=o.options.direction||'left';
$.effects.save(el,props);el.show();$.effects.createWrapper(el).css({overflow:'hidden'});var ref=(direction=='up'||direction=='down')?'top':'left';
var motion=(direction=='up'||direction=='left')?'pos':'neg';
var distance=o.options.distance||(ref=='top'?el.outerHeight({margin:true}):el.outerWidth({margin:true}));
if(mode=='show')el.css(ref,motion=='pos'?-distance:distance);
var animation={};
animation[ref]=(mode=='show'?(motion=='pos'?'+=':'-='):(motion=='pos'?'-=':'+='))+distance;
el.animate(animation,{queue:false,duration:o.duration,easing:o.options.easing,complete:function(){
if(mode=='hide')el.hide();$.effects.restore(el,props);$.effects.removeWrapper(el);if(o.callback)o.callback.apply(this,arguments);el.dequeue()}})})}})(jQuery);
(function($){
$.effects.transfer=function(o){
return this.queue(function(){
var el=$(this);
var mode=$.effects.setMode(el,o.options.mode||'effect');var target=$(o.options.to);var position=el.offset();
var transfer=$('<div class="ui-effects-transfer"></div>').appendTo(document.body);
if(o.options.className)transfer.addClass(o.options.className);
transfer.addClass(o.options.className);
transfer.css({
top:position.top,
left:position.left,
height:el.outerHeight()-parseInt(transfer.css('borderTopWidth'))-parseInt(transfer.css('borderBottomWidth')),
width:el.outerWidth()-parseInt(transfer.css('borderLeftWidth'))-parseInt(transfer.css('borderRightWidth')),
position:'absolute'
});
position=target.offset();
animation={
top:position.top,
left:position.left,
height:target.outerHeight()-parseInt(transfer.css('borderTopWidth'))-parseInt(transfer.css('borderBottomWidth')),
width:target.outerWidth()-parseInt(transfer.css('borderLeftWidth'))-parseInt(transfer.css('borderRightWidth'))
};
transfer.animate(animation,o.duration,o.options.easing,function(){
transfer.remove();if(o.callback)o.callback.apply(el[0],arguments);el.dequeue()})})}})(jQuery);


// Minimisation :: jquery/jquery.autocomplete.js

;(function($){
$.fn.extend({
autocomplete:function(urlOrData,options){
var isUrl=typeof urlOrData=="string";
options=$.extend({},$.Autocompleter.defaults,{
url:isUrl?urlOrData:null,
data:isUrl?null:urlOrData,
delay:isUrl?$.Autocompleter.defaults.delay:10,
max:options&&!options.scroll?10:150
},options);
options.highlight=options.highlight||function(value){return value};
options.formatMatch=options.formatMatch||options.formatItem;
return this.each(function(){
new $.Autocompleter(this,options)})},
result:function(handler){
return this.bind("result",handler)},
search:function(handler){
return this.trigger("search",[handler])},
flushCache:function(){
return this.trigger("flushCache")},
setOptions:function(options){
return this.trigger("setOptions",[options])},
unautocomplete:function(){
return this.trigger("unautocomplete")}
});
$.Autocompleter=function(input,options){
var KEY={
UP:38,
DOWN:40,
DEL:46,
TAB:9,
RETURN:13,
ESC:27,
COMMA:188,
PAGEUP:33,
PAGEDOWN:34,
BACKSPACE:8
};
var $input=$(input).attr("autocomplete","off").addClass(options.inputClass);
var timeout;
var previousValue="";
var cache=$.Autocompleter.Cache(options);
var hasFocus=0;
var lastKeyPressCode;
var config={
mouseDownOnSelect:false
};
var select=$.Autocompleter.Select(options,input,selectCurrent,config);
var blockSubmit;
$.browser.opera&&$(input.form).bind("submit.autocomplete",function(){
if(blockSubmit){
blockSubmit=false;
return false}
});
$input.bind(($.browser.opera?"keypress":"keydown")+".autocomplete",function(event){
lastKeyPressCode=event.keyCode;
switch(event.keyCode){
case KEY.UP:
event.preventDefault();
if(select.visible()){
select.prev()}else{
onChange(0,true)}
break;
case KEY.DOWN:
event.preventDefault();
if(select.visible()){
select.next()}else{
onChange(0,true)}
break;
case KEY.PAGEUP:
event.preventDefault();
if(select.visible()){
select.pageUp()}else{
onChange(0,true)}
break;
case KEY.PAGEDOWN:
event.preventDefault();
if(select.visible()){
select.pageDown()}else{
onChange(0,true)}
break;
case options.multiple&&$.trim(options.multipleSeparator)==","&&KEY.COMMA:
case KEY.TAB:
case KEY.RETURN:
if(selectCurrent()){
event.preventDefault();
blockSubmit=true;
return false}
break;
case KEY.ESC:
select.hide();
break;
default:
clearTimeout(timeout);
timeout=setTimeout(onChange,options.delay);
break}
}).focus(function(){
hasFocus++}).blur(function(){
hasFocus=0;
if(!config.mouseDownOnSelect){
hideResults()}
}).click(function(){
if(hasFocus++>1&&!select.visible()){
onChange(0,true)}
}).bind("search",function(){
var fn=(arguments.length>1)?arguments[1]:null;
function findValueCallback(q,data){
var result;
if(data&&data.length){
for(var i=0;i<data.length;i++){
if(data[i].result.toLowerCase()==q.toLowerCase()){
result=data[i];
break}
}
}
if(typeof fn=="function")fn(result);
else $input.trigger("result",result&&[result.data,result.value])}
$.each(trimWords($input.val()),function(i,value){
request(value,findValueCallback,findValueCallback)})}).bind("flushCache",function(){
cache.flush()}).bind("setOptions",function(){
$.extend(options,arguments[1]);
if("data"in arguments[1])
cache.populate()}).bind("unautocomplete",function(){
select.unbind();
$input.unbind();
$(input.form).unbind(".autocomplete")});
function selectCurrent(){
var selected=select.selected();
if(!selected)
return false;
var v=selected.result;
previousValue=v;
if(options.multiple){
var words=trimWords($input.val());
if(words.length>1){
v=words.slice(0,words.length-1).join(options.multipleSeparator)+options.multipleSeparator+v}
v+=options.multipleSeparator}
$input.val(v);
hideResultsNow();
$input.trigger("result",[selected.data,selected.value]);
return true}
function onChange(crap,skipPrevCheck){
if(lastKeyPressCode==KEY.DEL){
select.hide();
return}
var currentValue=$input.val();
if(!skipPrevCheck&&currentValue==previousValue)
return;
previousValue=currentValue;
currentValue=lastWord(currentValue);
if(currentValue.length>=options.minChars){
$input.addClass(options.loadingClass);
if(!options.matchCase)
currentValue=currentValue.toLowerCase();
request(currentValue,receiveData,hideResultsNow)}else{
stopLoading();
select.hide()}
};
function trimWords(value){
if(!value){
return[""]}
var words=value.split(options.multipleSeparator);
var result=[];
$.each(words,function(i,value){
if($.trim(value))
result[i]=$.trim(value)});
return result}
function lastWord(value){
if(!options.multiple)
return value;
var words=trimWords(value);
return words[words.length-1]}
function autoFill(q,sValue){
if(options.autoFill&&(lastWord($input.val()).toLowerCase()==q.toLowerCase())&&lastKeyPressCode!=KEY.BACKSPACE){
$input.val($input.val()+sValue.substring(lastWord(previousValue).length));
$.Autocompleter.Selection(input,previousValue.length,previousValue.length+sValue.length)}
};
function hideResults(){
clearTimeout(timeout);
timeout=setTimeout(hideResultsNow,200)};
function hideResultsNow(){
var wasVisible=select.visible();
select.hide();
clearTimeout(timeout);
stopLoading();
if(options.mustMatch){
$input.search(
function(result){
if(!result){
if(options.multiple){
var words=trimWords($input.val()).slice(0,-1);
$input.val(words.join(options.multipleSeparator)+(words.length?options.multipleSeparator:""))}
else
$input.val("")}
}
)}
if(wasVisible)
$.Autocompleter.Selection(input,input.value.length,input.value.length)};
function receiveData(q,data){
if(data&&data.length&&hasFocus){
stopLoading();
select.display(data,q);
autoFill(q,data[0].value);
select.show()}else{
hideResultsNow()}
};
function request(term,success,failure){
if(!options.matchCase)
term=term.toLowerCase();
var data=cache.load(term);
if(data&&data.length){
success(term,data)}else if((typeof options.url=="string")&&(options.url.length>0)){
var extraParams={
timestamp:+new Date()
};
$.each(options.extraParams,function(key,param){
extraParams[key]=typeof param=="function"?param():param});
$.ajax({
mode:"abort",
port:"autocomplete"+input.name,
dataType:options.dataType,
url:options.url,
data:$.extend({
q:lastWord(term),
limit:options.max
},extraParams),
success:function(data){
var parsed=options.parse&&options.parse(data)||parse(data);
cache.add(term,parsed);
success(term,parsed)}
})}else{
select.emptyList();
failure(term)}
};
function parse(data){
var parsed=[];
var rows=data.split("\n");
for(var i=0;i<rows.length;i++){
var row=$.trim(rows[i]);
if(row){
row=row.split("|");
parsed[parsed.length]={
data:row,
value:row[0],
result:options.formatResult&&options.formatResult(row,row[0])||row[0]
}}
}
return parsed};
function stopLoading(){
$input.removeClass(options.loadingClass)}};
$.Autocompleter.defaults={
inputClass:"ac_input",
resultsClass:"ac_results",
loadingClass:"ac_loading",
minChars:1,
delay:400,
matchCase:false,
matchSubset:true,
matchContains:false,
cacheLength:10,
max:100,
mustMatch:false,
extraParams:{},
selectFirst:true,
formatItem:function(row){return row[0]},
formatMatch:null,
autoFill:false,
width:0,
multiple:false,
multipleSeparator:", ",
highlight:function(value,term){
return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)("+term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")+")(?![^<>]*>)(?![^&;]+;)","gi"),"<strong>$1</strong>")},
scroll:true,
scrollHeight:180
};
$.Autocompleter.Cache=function(options){
var data={};
var length=0;
function matchSubset(s,sub){
if(!options.matchCase)
s=s.toLowerCase();
var i=s.indexOf(sub);
if(i==-1)return false;
return i==0||options.matchContains};
function add(q,value){
if(length>options.cacheLength){
flush()}
if(!data[q]){
length++}
data[q]=value}
function populate(){
if(!options.data)return false;
var stMatchSets={},
nullData=0;
if(!options.url)options.cacheLength=1;
stMatchSets[""]=[];
for(var i=0,ol=options.data.length;i<ol;i++){
var rawValue=options.data[i];
rawValue=(typeof rawValue=="string")?[rawValue]:rawValue;
var value=options.formatMatch(rawValue,i+1,options.data.length);
if(value===false)
continue;
var firstChar=value.charAt(0).toLowerCase();
if(!stMatchSets[firstChar])
stMatchSets[firstChar]=[];
var row={
value:value,
data:rawValue,
result:options.formatResult&&options.formatResult(rawValue)||value
};
stMatchSets[firstChar].push(row);
if(nullData++<options.max){
stMatchSets[""].push(row)}
};
$.each(stMatchSets,function(i,value){
options.cacheLength++;
add(i,value)})}
setTimeout(populate,25);
function flush(){
data={};
length=0}
return{
flush:flush,
add:add,
populate:populate,
load:function(q){
if(!options.cacheLength||!length)
return null;
if(!options.url&&options.matchContains){
var csub=[];
for(var k in data){
if(k.length>0){
var c=data[k];
$.each(c,function(i,x){
if(matchSubset(x.value,q)){
csub.push(x)}
})}
}
return csub}else
if(data[q]){
return data[q]}else
if(options.matchSubset){
for(var i=q.length-1;i>=options.minChars;i--){
var c=data[q.substr(0,i)];
if(c){
var csub=[];
$.each(c,function(i,x){
if(matchSubset(x.value,q)){
csub[csub.length]=x}
});
return csub}
}
}
return null}
}};
$.Autocompleter.Select=function(options,input,select,config){
var CLASSES={
ACTIVE:"ac_over"
};
var listItems,
active=-1,
data,
term="",
needsInit=true,
element,
list;
function init(){
if(!needsInit)
return;
element=$("<div/>")
.hide()
.addClass(options.resultsClass)
.css("position","absolute")
.appendTo(document.body);
list=$("<ul/>").appendTo(element).mouseover(function(event){
if(target(event).nodeName&&target(event).nodeName.toUpperCase()=='LI'){
active=$("li",list).removeClass(CLASSES.ACTIVE).index(target(event));
$(target(event)).addClass(CLASSES.ACTIVE)}
}).click(function(event){
$(target(event)).addClass(CLASSES.ACTIVE);
select();
input.focus();
return false}).mousedown(function(){
config.mouseDownOnSelect=true}).mouseup(function(){
config.mouseDownOnSelect=false});
if(options.width>0)
element.css("width",options.width);
needsInit=false}
function target(event){
var element=event.target;
while(element&&element.tagName!="LI")
element=element.parentNode;
if(!element)
return[];
return element}
function moveSelect(step){
listItems.slice(active,active+1).removeClass(CLASSES.ACTIVE);
movePosition(step);
var activeItem=listItems.slice(active,active+1).addClass(CLASSES.ACTIVE);
if(options.scroll){
var offset=0;
listItems.slice(0,active).each(function(){
offset+=this.offsetHeight});
if((offset+activeItem[0].offsetHeight-list.scrollTop())>list[0].clientHeight){
list.scrollTop(offset+activeItem[0].offsetHeight-list.innerHeight())}else if(offset<list.scrollTop()){
list.scrollTop(offset)}
}
};
function movePosition(step){
active+=step;
if(active<0){
active=listItems.size()-1}else if(active>=listItems.size()){
active=0}
}
function limitNumberOfItems(available){
return options.max&&options.max<available
?options.max
:available}
function fillList(){
list.empty();
var max=limitNumberOfItems(data.length);
for(var i=0;i<max;i++){
if(!data[i])
continue;
var formatted=options.formatItem(data[i].data,i+1,max,data[i].value,term);
if(formatted===false)
continue;
var li=$("<li/>").html(options.highlight(formatted,term)).addClass(i%2==0?"ac_even":"ac_odd").appendTo(list)[0];
$.data(li,"ac_data",data[i])}
listItems=list.find("li");
if(options.selectFirst){
listItems.slice(0,1).addClass(CLASSES.ACTIVE);
active=0}
if($.fn.bgiframe)
list.bgiframe()}
return{
display:function(d,q){
init();
data=d;
term=q;
fillList()},
next:function(){
moveSelect(1)},
prev:function(){
moveSelect(-1)},
pageUp:function(){
if(active!=0&&active-8<0){
moveSelect(-active)}else{
moveSelect(-8)}
},
pageDown:function(){
if(active!=listItems.size()-1&&active+8>listItems.size()){
moveSelect(listItems.size()-1-active)}else{
moveSelect(8)}
},
hide:function(){
element&&element.hide();
listItems&&listItems.removeClass(CLASSES.ACTIVE);
active=-1},
visible:function(){
return element&&element.is(":visible")},
current:function(){
return this.visible()&&(listItems.filter("."+CLASSES.ACTIVE)[0]||options.selectFirst&&listItems[0])},
show:function(){
var offset=$(input).offset();
element.css({
width:typeof options.width=="string"||options.width>0?options.width:$(input).width(),
top:offset.top+input.offsetHeight,
left:offset.left
}).show();
if(options.scroll){
list.scrollTop(0);
list.css({
maxHeight:options.scrollHeight,
overflow:'auto'
});
if($.browser.msie&&typeof document.body.style.maxHeight==="undefined"){
var listHeight=0;
listItems.each(function(){
listHeight+=this.offsetHeight});
var scrollbarsVisible=listHeight>options.scrollHeight;
list.css('height',scrollbarsVisible?options.scrollHeight:listHeight);
if(!scrollbarsVisible){
listItems.width(list.width()-parseInt(listItems.css("padding-left"))-parseInt(listItems.css("padding-right")))}
}
}
},
selected:function(){
var selected=listItems&&listItems.filter("."+CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE);
return selected&&selected.length&&$.data(selected[0],"ac_data")},
emptyList:function(){
list&&list.empty()},
unbind:function(){
element&&element.remove()}
}};
$.Autocompleter.Selection=function(field,start,end){
if(field.createTextRange){
var selRange=field.createTextRange();
selRange.collapse(true);
selRange.moveStart("character",start);
selRange.moveEnd("character",end);
selRange.select()}else if(field.setSelectionRange){
field.setSelectionRange(start,end)}else{
if(field.selectionStart){
field.selectionStart=start;
field.selectionEnd=end}
}
field.focus()}})(jQuery);


// Minimisation :: jquery/jquery.tooltip.js

;(function($){
var helper={},
current,
title,
tID,
IE=$.browser.msie&&/MSIE\s(5\.5|6\.)/.test(navigator.userAgent),
track=false;
$.tooltip={
blocked:false,
defaults:{
delay:200,
fade:false,
showURL:true,
extraClass:"",
top:15,
left:15,
id:"tooltip"
},
block:function(){
$.tooltip.blocked=!$.tooltip.blocked}
};
$.fn.extend({
tooltip:function(settings){
settings=$.extend({},$.tooltip.defaults,settings);
createHelper(settings);
return this.each(function(){
$.data(this,"tooltip",settings);
this.tOpacity=helper.parent.css("opacity");
this.tooltipText=this.title;
$(this).removeAttr("title");
this.alt=""})
.mouseover(save)
.mouseout(hide)
.click(hide)},
fixPNG:IE?function(){
return this.each(function(){
var image=$(this).css('backgroundImage');
if(image.match(/^url\(["']?(.*\.png)["']?\)$/i)){
image=RegExp.$1;
$(this).css({
'backgroundImage':'none',
'filter':"progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=crop, src='"+image+"')"
}).each(function(){
var position=$(this).css('position');
if(position!='absolute'&&position!='relative')
$(this).css('position','relative')})}
})}:function(){return this},
unfixPNG:IE?function(){
return this.each(function(){
$(this).css({'filter':'',backgroundImage:''})})}:function(){return this},
hideWhenEmpty:function(){
return this.each(function(){
$(this)[$(this).html()?"show":"hide"]()})},
url:function(){
return this.attr('href')||this.attr('src')}
});
function createHelper(settings){
if(helper.parent)
return;
helper.parent=$('<div id="'+settings.id+'"><h3></h3><div class="body"></div><div class="url"></div></div>')
.appendTo(document.body)
.hide();
if($.fn.bgiframe)
helper.parent.bgiframe();
helper.title=$('h3',helper.parent);
helper.body=$('div.body',helper.parent);
helper.url=$('div.url',helper.parent)}
function settings(element){
return $.data(element,"tooltip")}
function handle(event){
if(settings(this).delay)
tID=setTimeout(show,settings(this).delay);
else
show();
track=!!settings(this).track;
$(document.body).bind('mousemove',update);
update(event)}
function save(){
if($.tooltip.blocked||this==current||(!this.tooltipText&&!settings(this).bodyHandler))
return;
current=this;
title=this.tooltipText;
if(settings(this).bodyHandler){
helper.title.hide();
var bodyContent=settings(this).bodyHandler.call(this);
if(bodyContent.nodeType||bodyContent.jquery){
helper.body.empty().append(bodyContent)
}else{
helper.body.html(bodyContent)}
helper.body.show()}else if(settings(this).showBody){
var parts=title.split(settings(this).showBody);
helper.title.html(parts.shift()).show();
helper.body.empty();
for(var i=0,part;(part=parts[i]);i++){
if(i>0)
helper.body.append("<br/>");
helper.body.append(part)}
helper.body.hideWhenEmpty()}else{
helper.title.html(title).show();
helper.body.hide()}
if(settings(this).showURL&&$(this).url())
helper.url.html($(this).url().replace('http://','')).show();
else
helper.url.hide();
helper.parent.addClass(settings(this).extraClass);
if(settings(this).fixPNG)
helper.parent.fixPNG();
handle.apply(this,arguments)}
function show(){
tID=null;
if((!IE||!$.fn.bgiframe)&&settings(current).fade){
if(helper.parent.is(":animated"))
helper.parent.stop().show().fadeTo(settings(current).fade,current.tOpacity);
else
helper.parent.is(':visible')?helper.parent.fadeTo(settings(current).fade,current.tOpacity):helper.parent.fadeIn(settings(current).fade)}else{
helper.parent.show()}
update()}
function update(event){
if($.tooltip.blocked)
return;
if(event&&event.target.tagName=="OPTION"){
return}
if(!track&&helper.parent.is(":visible")){
$(document.body).unbind('mousemove',update)
}
if(current==null){
$(document.body).unbind('mousemove',update);
return}
helper.parent.removeClass("viewport-right").removeClass("viewport-bottom");
var left=helper.parent[0].offsetLeft;
var top=helper.parent[0].offsetTop;
if(event){
left=event.pageX+settings(current).left;
top=event.pageY+settings(current).top;
var right='auto';
if(settings(current).positionLeft){
right=$(window).width()-left;
left='auto'}
helper.parent.css({
left:left,
right:right,
top:top
})}
var v=viewport(),
h=helper.parent[0];
if(v.x+v.cx<h.offsetLeft+h.offsetWidth){
left-=h.offsetWidth+20+settings(current).left;
helper.parent.css({left:left+'px'}).addClass("viewport-right")}
if(v.y+v.cy<h.offsetTop+h.offsetHeight){
top-=h.offsetHeight+20+settings(current).top;
helper.parent.css({top:top+'px'}).addClass("viewport-bottom")}
}
function viewport(){
return{
x:$(window).scrollLeft(),
y:$(window).scrollTop(),
cx:$(window).width(),
cy:$(window).height()
}}
function hide(event){
if($.tooltip.blocked)
return;
if(tID)
clearTimeout(tID);
current=null;
var tsettings=settings(this);
function complete(){
helper.parent.removeClass(tsettings.extraClass).hide().css("opacity","")}
if((!IE||!$.fn.bgiframe)&&tsettings.fade){
if(helper.parent.is(':animated'))
helper.parent.stop().fadeTo(tsettings.fade,0,complete);
else
helper.parent.stop().fadeOut(tsettings.fade,complete)}else
complete();
if(settings(this).fixPNG)
helper.parent.unfixPNG()}
})(jQuery);


// Minimisation :: jquery/jquery.jdMenu.js

$(function(){
$('ul.jd_menu').jdMenu()});
(function($){
function addEvents(ul){
var settings=$.data($(ul).parents().andSelf().filter('ul.jd_menu')[0],'jdMenuSettings');
$('> li',ul)
.bind('mouseenter.jdmenu mouseleave.jdmenu',function(evt){
$(this).toggleClass('jdm_hover');
var ul=$('> ul',this);
if(ul.length==1){
clearTimeout(this.$jdTimer);
var enter=(evt.type=='mouseenter');
var fn=(enter?showMenu:hideMenu);
this.$jdTimer=setTimeout(function(){
fn(ul[0],settings.onAnimate,settings.isVertical)},enter?settings.showDelay:settings.hideDelay)}
})
.bind('click.jdmenu',function(evt){
var ul=$('> ul',this);
if(ul.length==1&&
(settings.disableLinks==true||$(this).hasClass('accessible'))){
showMenu(ul,settings.onAnimate,settings.isVertical);
return false}
if(evt.target==this){
var link=$('> a',evt.target).not('.accessible');
if(link.length>0){
var a=link[0];
if(!a.onclick){
window.open(a.href,a.target||'_self')}else{
$(a).trigger('click')}
}
}
if(settings.disableLinks||
(!settings.disableLinks&&!$(this).parent().hasClass('jd_menu'))){
$(this).parent().jdMenuHide();
evt.stopPropagation()}
})
.find('> a')
.bind('focus.jdmenu blur.jdmenu',function(evt){
var p=$(this).parents('li:eq(0)');
if(evt.type=='focus'){
p.addClass('jdm_hover')}else{
p.removeClass('jdm_hover')}
})
.filter('.accessible')
.bind('click.jdmenu',function(evt){
evt.preventDefault()})}
function showMenu(ul,animate,vertical){
var ul=$(ul);
if(ul.is(':visible')){
return}
ul.bgiframe();
var li=ul.parent();
ul.trigger('jdMenuShow')
.positionBy({target:li[0],
targetPos:(vertical===true||!li.parent().hasClass('jd_menu')?1:3),
elementPos:0,
hideAfterPosition:true
});
if(!ul.hasClass('jdm_events')){
ul.addClass('jdm_events');
addEvents(ul)}
li.addClass('jdm_active')
.siblings('li').find('> ul:eq(0):visible')
.each(function(){
hideMenu(this)});
if(animate===undefined){
ul.show()}else{
animate.apply(ul[0],[true])}
}
function hideMenu(ul,animate){
var ul=$(ul);
$('.bgiframe',ul).remove();
ul.filter(':not(.jd_menu)')
.find('> li > ul:eq(0):visible')
.each(function(){
hideMenu(this)})
.end();
if(animate===undefined){
ul.hide()
}else{
animate.apply(ul[0],[false])}
ul.trigger('jdMenuHide')
.parents('li:eq(0)')
.removeClass('jdm_active jdm_hover')
.end()
.find('> li')
.removeClass('jdm_active jdm_hover')}
$.fn.jdMenu=function(settings){
var settings=$.extend({showDelay:200,
hideDelay:500,
disableLinks:true
},settings);
if(!$.isFunction(settings.onAnimate)){
settings.onAnimate=undefined}
return this.filter('ul.jd_menu').each(function(){
$.data(this,
'jdMenuSettings',
$.extend({isVertical:$(this).hasClass('jd_menu_vertical')},settings)
);
addEvents(this)})};
$.fn.jdMenuUnbind=function(){
$('ul.jdm_events',this)
.unbind('.jdmenu')
.find('> a').unbind('.jdmenu')};
$.fn.jdMenuHide=function(){
return this.filter('ul').each(function(){
hideMenu(this)})};
$(window)
.bind('click.jdmenu',function(){
$('ul.jd_menu ul:visible').jdMenuHide()})})(jQuery);


// Minimisation :: jquery/jquery.cookie.js

jQuery.cookie=function(name,value,options){
if(typeof value!='undefined'){options=options||{};
if(value===null){
value='';
options.expires=-1}
var expires='';
if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){
var date;
if(typeof options.expires=='number'){
date=new Date();
date.setTime(date.getTime()+(options.expires*24*60*60*1000))}else{
date=options.expires}
expires='; expires='+date.toUTCString()}
var path=options.path?'; path='+(options.path):'';
var domain=options.domain?'; domain='+(options.domain):'';
var secure=options.secure?'; secure':'';
document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('')}else{var cookieValue=null;
if(document.cookie&&document.cookie!=''){
var cookies=document.cookie.split(';');
for(var i=0;i<cookies.length;i++){
var cookie=jQuery.trim(cookies[i]);
if(cookie.substring(0,name.length+1)==(name+'=')){
cookieValue=decodeURIComponent(cookie.substring(name.length+1));
break}
}
}
return cookieValue}
};


// Minimisation :: 


// Minimisation :: jquery/jquery.bgiframe.js

(function($){
$.fn.bgIframe=$.fn.bgiframe=function(s){
if($.browser.msie&&parseInt($.browser.version)<=6){
s=$.extend({
top:'auto',left:'auto',width:'auto',height:'auto',opacity:true,
src:'javascript:false;'
},s||{});
var prop=function(n){return n&&n.constructor==Number?n+'px':n},
html='<iframe class="bgiframe"frameborder="0"tabindex="-1"src="'+s.src+'"'+
'style="display:block;position:absolute;z-index:-1;'+
(s.opacity!==false?'filter:Alpha(Opacity=\'0\');':'')+
'top:'+(s.top=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+\'px\')':prop(s.top))+';'+
'left:'+(s.left=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+\'px\')':prop(s.left))+';'+
'width:'+(s.width=='auto'?'expression(this.parentNode.offsetWidth+\'px\')':prop(s.width))+';'+
'height:'+(s.height=='auto'?'expression(this.parentNode.offsetHeight+\'px\')':prop(s.height))+';'+
'"/>';
return this.each(function(){
if($('> iframe.bgiframe',this).length==0)
this.insertBefore(document.createElement(html),this.firstChild)})}
return this};
if(!$.browser.version)
$.browser.version=navigator.userAgent.toLowerCase().match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)[1]})(jQuery);


// Minimisation :: html_entities.js

function html_entity_decode(string,quote_style){
var histogram={},symbol='',tmp_str='',entity='';
tmp_str=string.toString();
if(false===(histogram=get_html_translation_table('HTML_ENTITIES',quote_style))){
return false}
delete(histogram['&']);
histogram['&']='&amp;';
for(symbol in histogram){
entity=histogram[symbol];
tmp_str=tmp_str.split(entity).join(symbol)}
return tmp_str}
function htmlentities(string,quote_style){
var histogram={},symbol='',tmp_str='',entity='';
tmp_str=string.toString();
if(false===(histogram=get_html_translation_table('HTML_ENTITIES',quote_style))){
return false}
for(symbol in histogram){
entity=histogram[symbol];
tmp_str=tmp_str.split(symbol).join(entity)}
return tmp_str}
function htmlspecialchars(string,quote_style){
var histogram={},symbol='',tmp_str='',entity='';
tmp_str=string.toString();
if(false===(histogram=get_html_translation_table('HTML_SPECIALCHARS',quote_style))){
return false}
for(symbol in histogram){
entity=histogram[symbol];
tmp_str=tmp_str.split(symbol).join(entity)}
return tmp_str}
function htmlspecialchars_decode(string,quote_style){
var histogram={},symbol='',tmp_str='',entity='';
tmp_str=string.toString();
if(false===(histogram=get_html_translation_table('HTML_SPECIALCHARS',quote_style))){
return false}
delete(histogram['&']);
histogram['&']='&amp;';
for(symbol in histogram){
entity=histogram[symbol];
tmp_str=tmp_str.split(entity).join(symbol)}
return tmp_str}
function get_html_translation_table(table,quote_style){
var entities={},histogram={},decimal=0,symbol='';
var constMappingTable={},constMappingQuoteStyle={};
var useTable={},useQuoteStyle={};
useTable=(table?table.toUpperCase():'HTML_SPECIALCHARS');
useQuoteStyle=(quote_style?quote_style.toUpperCase():'ENT_COMPAT');
constMappingTable[0]='HTML_SPECIALCHARS';
constMappingTable[1]='HTML_ENTITIES';
constMappingQuoteStyle[0]='ENT_NOQUOTES';
constMappingQuoteStyle[2]='ENT_COMPAT';
constMappingQuoteStyle[3]='ENT_QUOTES';
if(!isNaN(useTable)){
useTable=constMappingTable[useTable]}
if(!isNaN(useQuoteStyle)){
useQuoteStyle=constMappingQuoteStyle[useQuoteStyle]}
if(useQuoteStyle!='ENT_NOQUOTES'){
entities['34']='&quot;'}
if(useQuoteStyle=='ENT_QUOTES'){
entities['39']='&#039;'}
if(useTable=='HTML_SPECIALCHARS'){
entities['38']='&amp;';
entities['60']='&lt;';
entities['62']='&gt;'}else if(useTable=='HTML_ENTITIES'){
entities['38']='&amp;';
entities['60']='&lt;';
entities['62']='&gt;';
entities['160']='&nbsp;';
entities['161']='&iexcl;';
entities['162']='&cent;';
entities['163']='&pound;';
entities['164']='&curren;';
entities['165']='&yen;';
entities['166']='&brvbar;';
entities['167']='&sect;';
entities['168']='&uml;';
entities['169']='&copy;';
entities['170']='&ordf;';
entities['171']='&laquo;';
entities['172']='&not;';
entities['173']='&shy;';
entities['174']='&reg;';
entities['175']='&macr;';
entities['176']='&deg;';
entities['177']='&plusmn;';
entities['178']='&sup2;';
entities['179']='&sup3;';
entities['180']='&acute;';
entities['181']='&micro;';
entities['182']='&para;';
entities['183']='&middot;';
entities['184']='&cedil;';
entities['185']='&sup1;';
entities['186']='&ordm;';
entities['187']='&raquo;';
entities['188']='&frac14;';
entities['189']='&frac12;';
entities['190']='&frac34;';
entities['191']='&iquest;';
entities['192']='&Agrave;';
entities['193']='&Aacute;';
entities['194']='&Acirc;';
entities['195']='&Atilde;';
entities['196']='&Auml;';
entities['197']='&Aring;';
entities['198']='&AElig;';
entities['199']='&Ccedil;';
entities['200']='&Egrave;';
entities['201']='&Eacute;';
entities['202']='&Ecirc;';
entities['203']='&Euml;';
entities['204']='&Igrave;';
entities['205']='&Iacute;';
entities['206']='&Icirc;';
entities['207']='&Iuml;';
entities['208']='&ETH;';
entities['209']='&Ntilde;';
entities['210']='&Ograve;';
entities['211']='&Oacute;';
entities['212']='&Ocirc;';
entities['213']='&Otilde;';
entities['214']='&Ouml;';
entities['215']='&times;';
entities['216']='&Oslash;';
entities['217']='&Ugrave;';
entities['218']='&Uacute;';
entities['219']='&Ucirc;';
entities['220']='&Uuml;';
entities['221']='&Yacute;';
entities['222']='&THORN;';
entities['223']='&szlig;';
entities['224']='&agrave;';
entities['225']='&aacute;';
entities['226']='&acirc;';
entities['227']='&atilde;';
entities['228']='&auml;';
entities['229']='&aring;';
entities['230']='&aelig;';
entities['231']='&ccedil;';
entities['232']='&egrave;';
entities['233']='&eacute;';
entities['234']='&ecirc;';
entities['235']='&euml;';
entities['236']='&igrave;';
entities['237']='&iacute;';
entities['238']='&icirc;';
entities['239']='&iuml;';
entities['240']='&eth;';
entities['241']='&ntilde;';
entities['242']='&ograve;';
entities['243']='&oacute;';
entities['244']='&ocirc;';
entities['245']='&otilde;';
entities['246']='&ouml;';
entities['247']='&divide;';
entities['248']='&oslash;';
entities['249']='&ugrave;';
entities['250']='&uacute;';
entities['251']='&ucirc;';
entities['252']='&uuml;';
entities['253']='&yacute;';
entities['254']='&thorn;';
entities['255']='&yuml;'}else{
throw Error("Table: "+useTable+' not supported');
return false}
for(decimal in entities){
symbol=String.fromCharCode(decimal)
histogram[symbol]=entities[decimal]}
return histogram}


// Minimisation :: jquery/jquery.dimensions.js

(function($){
var height=$.fn.height,
width=$.fn.width;
$.fn.extend({
height:function(){
if(this[0]==window)
return self.innerHeight||
$.boxModel&&document.documentElement.clientHeight||
document.body.clientHeight;
if(this[0]==document)
return Math.max(document.body.scrollHeight,document.body.offsetHeight);
return height.apply(this,arguments)},
width:function(){
if(this[0]==window)
return self.innerWidth||
$.boxModel&&document.documentElement.clientWidth||
document.body.clientWidth;
if(this[0]==document)
return Math.max(document.body.scrollWidth,document.body.offsetWidth);
return width.apply(this,arguments)},
innerHeight:function(){
return this[0]==window||this[0]==document?
this.height():
this.is(':visible')?
this[0].offsetHeight-num(this,'borderTopWidth')-num(this,'borderBottomWidth'):
this.height()+num(this,'paddingTop')+num(this,'paddingBottom')},
innerWidth:function(){
return this[0]==window||this[0]==document?
this.width():
this.is(':visible')?
this[0].offsetWidth-num(this,'borderLeftWidth')-num(this,'borderRightWidth'):
this.width()+num(this,'paddingLeft')+num(this,'paddingRight')},
outerHeight:function(){
return this[0]==window||this[0]==document?
this.height():
this.is(':visible')?
this[0].offsetHeight:
this.height()+num(this,'borderTopWidth')+num(this,'borderBottomWidth')+num(this,'paddingTop')+num(this,'paddingBottom')},
outerWidth:function(){
return this[0]==window||this[0]==document?
this.width():
this.is(':visible')?
this[0].offsetWidth:
this.width()+num(this,'borderLeftWidth')+num(this,'borderRightWidth')+num(this,'paddingLeft')+num(this,'paddingRight')},
scrollLeft:function(val){
if(val!=undefined)
return this.each(function(){
if(this==window||this==document)
window.scrollTo(val,$(window).scrollTop());
else
this.scrollLeft=val});
if(this[0]==window||this[0]==document)
return self.pageXOffset||
$.boxModel&&document.documentElement.scrollLeft||
document.body.scrollLeft;
return this[0].scrollLeft},
scrollTop:function(val){
if(val!=undefined)
return this.each(function(){
if(this==window||this==document)
window.scrollTo($(window).scrollLeft(),val);
else
this.scrollTop=val});
if(this[0]==window||this[0]==document)
return self.pageYOffset||
$.boxModel&&document.documentElement.scrollTop||
document.body.scrollTop;
return this[0].scrollTop},
position:function(options,returnObject){
var elem=this[0],parent=elem.parentNode,op=elem.offsetParent,
options=$.extend({margin:false,border:false,padding:false,scroll:false},options||{}),
x=elem.offsetLeft,
y=elem.offsetTop,
sl=elem.scrollLeft,
st=elem.scrollTop;
if($.browser.mozilla||$.browser.msie){
x+=num(elem,'borderLeftWidth');
y+=num(elem,'borderTopWidth')}
if($.browser.mozilla){
do{
if($.browser.mozilla&&parent!=elem&&$.css(parent,'overflow')!='visible'){
x+=num(parent,'borderLeftWidth');
y+=num(parent,'borderTopWidth')}
if(parent==op)break}while((parent=parent.parentNode)&&(parent.tagName.toLowerCase()!='body'||parent.tagName.toLowerCase()!='html'))}
var returnValue=handleOffsetReturn(elem,options,x,y,sl,st);
if(returnObject){$.extend(returnObject,returnValue);return this}
else{return returnValue}
},
offset:function(options,returnObject){
var x=0,y=0,sl=0,st=0,
elem=this[0],parent=this[0],op,parPos,elemPos=$.css(elem,'position'),
mo=$.browser.mozilla,ie=$.browser.msie,sf=$.browser.safari,oa=$.browser.opera,
absparent=false,relparent=false,
options=$.extend({margin:true,border:false,padding:false,scroll:true,lite:false},options||{});
if(options.lite)return this.offsetLite(options,returnObject);
if(elem.tagName.toLowerCase()=='body'){
x=elem.offsetLeft;
y=elem.offsetTop;
if(mo){
x+=num(elem,'marginLeft')+(num(elem,'borderLeftWidth')*2);
y+=num(elem,'marginTop')+(num(elem,'borderTopWidth')*2)}else
if(oa){
x+=num(elem,'marginLeft');
y+=num(elem,'marginTop')}else
if(ie&&jQuery.boxModel){
x+=num(elem,'borderLeftWidth');
y+=num(elem,'borderTopWidth')}
}else{
do{
parPos=$.css(parent,'position');
x+=parent.offsetLeft;
y+=parent.offsetTop;
if(mo||ie){
x+=num(parent,'borderLeftWidth');
y+=num(parent,'borderTopWidth');
if(mo&&parPos=='absolute')absparent=true;
if(ie&&parPos=='relative')relparent=true}
op=parent.offsetParent;
if(options.scroll||mo){
do{
if(options.scroll){
sl+=parent.scrollLeft;
st+=parent.scrollTop}
if(mo&&parent!=elem&&$.css(parent,'overflow')!='visible'){
x+=num(parent,'borderLeftWidth');
y+=num(parent,'borderTopWidth')}
parent=parent.parentNode}while(parent!=op)}
parent=op;
if(parent.tagName.toLowerCase()=='body'||parent.tagName.toLowerCase()=='html'){
if((sf||(ie&&$.boxModel))&&elemPos!='absolute'&&elemPos!='fixed'){
x+=num(parent,'marginLeft');
y+=num(parent,'marginTop')}
if((mo&&!absparent&&elemPos!='fixed')||
(ie&&elemPos=='static'&&!relparent)){
x+=num(parent,'borderLeftWidth');
y+=num(parent,'borderTopWidth')}
break}
}while(parent)}
var returnValue=handleOffsetReturn(elem,options,x,y,sl,st);
if(returnObject){$.extend(returnObject,returnValue);return this}
else{return returnValue}
},
offsetLite:function(options,returnObject){
var x=0,y=0,sl=0,st=0,parent=this[0],op,
options=$.extend({margin:true,border:false,padding:false,scroll:true},options||{});
do{
x+=parent.offsetLeft;
y+=parent.offsetTop;
op=parent.offsetParent;
if(options.scroll){
do{
sl+=parent.scrollLeft;
st+=parent.scrollTop;
parent=parent.parentNode}while(parent!=op)}
parent=op}while(parent&&parent.tagName.toLowerCase()!='body'&&parent.tagName.toLowerCase()!='html');
var returnValue=handleOffsetReturn(this[0],options,x,y,sl,st);
if(returnObject){$.extend(returnObject,returnValue);return this}
else{return returnValue}
}
});
var num=function(el,prop){
return parseInt($.css(el.jquery?el[0]:el,prop))||0};
var handleOffsetReturn=function(elem,options,x,y,sl,st){
if(!options.margin){
x-=num(elem,'marginLeft');
y-=num(elem,'marginTop')}
if(options.border&&($.browser.safari||$.browser.opera)){
x+=num(elem,'borderLeftWidth');
y+=num(elem,'borderTopWidth')}else if(!options.border&&!($.browser.safari||$.browser.opera)){
x-=num(elem,'borderLeftWidth');
y-=num(elem,'borderTopWidth')}
if(options.padding){
x+=num(elem,'paddingLeft');
y+=num(elem,'paddingTop')}
if(options.scroll){
sl-=elem.scrollLeft;
st-=elem.scrollTop}
return options.scroll?{top:y-st,left:x-sl,scrollTop:st,scrollLeft:sl}
:{top:y,left:x}}})(jQuery);


// Minimisation :: jquery/jquery.positionBy.js

(function($){
var Range=function(x1,y1,x2,y2){
this.x1=x1;this.x2=x2;
this.y1=y1;this.y2=y2};
Range.prototype.contains=function(range){
return(this.x1<=range.x1&&range.x2<=this.x2)
&&
(this.y1<=range.y1&&range.y2<=this.y2)};
Range.prototype.transform=function(x,y){
return new Range(this.x1+x,this.y1+y,this.x2+x,this.y2+y)};
$.fn.positionBy=function(args){
var date1=new Date();
if(this.length==0){
return this}
var args=$.extend({target:null,
targetPos:null,
elementPos:null,
x:null,
y:null,
positions:null,
addClass:false,
force:false,
container:window,
hideAfterPosition:false
},args);
if(args.x!=null){
var tLeft=args.x;
var tTop=args.y;
var tWidth=0;
var tHeight=0}else{
var $target=$($(args.target)[0]);
var tWidth=$target.outerWidth();
var tHeight=$target.outerHeight();
var tOffset=$target.offset();
var tLeft=tOffset.left;
var tTop=tOffset.top}
var tRight=tLeft+tWidth;
var tBottom=tTop+tHeight;
return this.each(function(){
var $element=$(this);
if(!$element.is(':visible')){
$element.css({left:-3000,
top:-3000
})
.show()}
var eWidth=$element.outerWidth();
var eHeight=$element.outerHeight();
var position=[];
var next=[];
position[0]=new Range(tRight,tTop,tRight+eWidth,tTop+eHeight);
next[0]=[1,7,4];
position[1]=new Range(tRight,tBottom-eHeight,tRight+eWidth,tBottom);
next[1]=[0,6,4];
position[2]=new Range(tRight,tBottom,tRight+eWidth,tBottom+eHeight);
next[2]=[1,3,10];
position[3]=new Range(tRight-eWidth,tBottom,tRight,tBottom+eHeight);
next[3]=[1,6,10];
position[4]=new Range(tLeft,tBottom,tLeft+eWidth,tBottom+eHeight);
next[4]=[1,6,9];
position[5]=new Range(tLeft-eWidth,tBottom,tLeft,tBottom+eHeight);
next[5]=[6,4,9];
position[6]=new Range(tLeft-eWidth,tBottom-eHeight,tLeft,tBottom);
next[6]=[7,1,4];
position[7]=new Range(tLeft-eWidth,tTop,tLeft,tTop+eHeight);
next[7]=[6,0,4];
position[8]=new Range(tLeft-eWidth,tTop-eHeight,tLeft,tTop);
next[8]=[7,9,4];
position[9]=new Range(tLeft,tTop-eHeight,tLeft+eWidth,tTop);
next[9]=[0,7,4];
position[10]=new Range(tRight-eWidth,tTop-eHeight,tRight,tTop);
next[10]=[0,7,3];
position[11]=new Range(tRight,tTop-eHeight,tRight+eWidth,tTop);
next[11]=[0,10,3];
position[12]=new Range(tRight-eWidth,tTop,tRight,tTop+eHeight);
next[12]=[13,7,10];
position[13]=new Range(tRight-eWidth,tBottom-eHeight,tRight,tBottom);
next[13]=[12,6,3];
position[14]=new Range(tLeft,tBottom-eHeight,tLeft+eWidth,tBottom);
next[14]=[15,1,4];
position[15]=new Range(tLeft,tTop,tLeft+eWidth,tTop+eHeight);
next[15]=[14,0,9];
if(args.positions!==null){
var pos=args.positions[0]}else if(args.targetPos!=null&&args.elementPos!=null){
var pos=[];
pos[0]=[];
pos[0][0]=15;
pos[0][1]=7;
pos[0][2]=8;
pos[0][3]=9;
pos[1]=[];
pos[1][0]=0;
pos[1][1]=12;
pos[1][2]=10;
pos[1][3]=11;
pos[2]=[];
pos[2][0]=2;
pos[2][1]=3;
pos[2][2]=13;
pos[2][3]=1;
pos[3]=[];
pos[3][0]=4;
pos[3][1]=5;
pos[3][2]=6;
pos[3][3]=14;
var pos=pos[args.targetPos][args.elementPos]}
var ePos=position[pos];
var fPos=pos;
if(!args.force){
$window=$(window);
var sx=$window.scrollLeft();
var sy=$window.scrollTop();
var container=new Range(sx,sy,sx+$window.width(),sy+$window.height());
var stack;
if(args.positions){
stack=args.positions}else{
stack=[pos]}
var test=[];
while(stack.length>0){
var p=stack.shift();
if(test[p]){
continue}
test[p]=true;
if(!container.contains(position[p])){
if(args.positions===null){
stack=jQuery.merge(stack,next[p])}
}else{
ePos=position[p];
break}
}
}
$element.parents().each(function(){
var $this=$(this);
if($this.css('position')!='static'){
var abs=$this.offset();
ePos=ePos.transform(-abs.left,-abs.top);
return false}
});
var css={left:ePos.x1,top:ePos.y1};
if(args.hideAfterPosition){
css['display']='none'}
$element.css(css);
if(args.addClass){
$element.removeClass('positionBy0 positionBy1 positionBy2 positionBy3 positionBy4 positionBy5 '
+'positionBy6 positionBy7 positionBy8 positionBy9 positionBy10 positionBy11 '
+'positionBy12 positionBy13 positionBy14 positionBy15')
.addClass('positionBy'+p)}
})}})(jQuery);



