/* jquery.datePicker */
jQuery.autocomplete=function(input,options){
var me=this;
var $input=$(input).attr("autocomplete","off");
if(options.inputClass) $input.addClass(options.inputClass);
var results=document.createElement("div");
var $results=$(results);
$results.hide().addClass(options.resultsClass).css("position","absolute");
if(options.width>0) $results.css("width",options.width);
$("body").append(results);
input.autocompleter=me;
var timeout=null;
var prev="";
var active=-1;
var cache={};
var keyb=false;
var hasFocus=false;
var lastKeyPressCode=null;
function flushCache(){
cache={};
cache.data={};
cache.length=0;};
flushCache();
if(options.data!=null){
var sFirstChar="",stMatchSets={},row=[];
if(typeof options.url!="string") options.cacheLength=1;
for(var i=0;i<options.data.length;i++){
row=((typeof options.data[i]=="string")?[options.data[i]]:options.data[i]);
if(row[0].length>0){
sFirstChar=row[0].substring(0,1).toLowerCase();
if(!stMatchSets[sFirstChar]) stMatchSets[sFirstChar]=[];
stMatchSets[sFirstChar].push(row);}}
for(var k in stMatchSets){
options.cacheLength++;
addToCache(k,stMatchSets[k]);}}
$input.keydown(function(e) {
lastKeyPressCode=e.keyCode;
switch(e.keyCode) {
case 38:
e.preventDefault();
moveSelect(-1);
break;
case 40:
e.preventDefault();
moveSelect(1);
break;
case 9:
case 13:
if(selectCurrent()){
$input.get(0).blur();
e.preventDefault();}
break;
default:
active=-1;
if(timeout) clearTimeout(timeout);
timeout=setTimeout(function(){onChange();},options.delay);
break;}})
.focus(function(){
hasFocus=true;})
.blur(function() {
hasFocus=false;
hideResults();});
hideResultsNow();
function onChange() {
if(lastKeyPressCode==46||(lastKeyPressCode>8&&lastKeyPressCode<32)) return $results.hide();
var v=$input.val();
if(v==prev) return;
prev=v;
if(v.length >= options.minChars) {
$input.addClass(options.loadingClass);
requestData(v);
}else{
$input.removeClass(options.loadingClass);
$results.hide();}};
 function moveSelect(step) {
var lis=$("li",results);
if(!lis) return;
active += step;
if(active<0) {
active=0;
}else if(active >= lis.size()){active=lis.size() - 1;}
lis.removeClass("ac_over");
$(lis[active]).addClass("ac_over");};
function selectCurrent() {
var li=$("li.ac_over",results)[0];
if(!li) {
var $li=$("li",results);
if(options.selectOnly) {
if($li.length==1) li=$li[0];
}else if(options.selectFirst) {
li=$li[0];}}
if(li){
selectItem(li);
return true;
}else{
return false;}};
function selectItem(li) {
if(!li) {
li=document.createElement("li");
li.extra=[];
li.selectValue="";}
var v=$.trim(li.selectValue?li.selectValue:li.innerHTML);
input.lastSelected=v;
prev=v;
$results.html("");
$input.val(v);
hideResultsNow();
if(options.onItemSelect) setTimeout(function() {options.onItemSelect(li)},1);};
function createSelection(start,end){
var field=$input.get(0);
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();};
function autoFill(sValue){
if(lastKeyPressCode!=8){
$input.val($input.val() + sValue.substring(prev.length));
createSelection(prev.length,sValue.length);}};
function showResults() {
var pos=findPos(input);
var iWidth=(options.width>0)?options.width:$input.width();
$results.css({
width: parseInt(iWidth) + "px",
top: (pos.y + input.offsetHeight) + "px",
left: pos.x + "px"
}).show();};
function hideResults() {
if(timeout) clearTimeout(timeout);
timeout=setTimeout(hideResultsNow,200);};
function hideResultsNow() {
if(timeout) clearTimeout(timeout);
$input.removeClass(options.loadingClass);
if($results.is(":visible")) {
$results.hide();}
if(options.mustMatch) {
var v=$input.val();
if(v!=input.lastSelected) {
selectItem(null);}}};
function receiveData(q,data) {
if(data) {
$input.removeClass(options.loadingClass);
results.innerHTML="";
if(!hasFocus||data.length==0) return hideResultsNow();
if($.browser.msie) {
$results.append(document.createElement('iframe'));}
results.appendChild(dataToDom(data));
if(options.autoFill&&($input.val().toLowerCase()==q.toLowerCase())) autoFill(data[0][0]);
showResults();
}else{
hideResultsNow();}};
function parseData(data) {
if(!data) return null;
var parsed=[];
var rows=data.split(options.lineSeparator);
for(var i=0;i<rows.length;i++) {
var row=$.trim(rows[i]);
if(row) {
parsed[parsed.length]=row.split(options.cellSeparator);}}
return parsed;};
function dataToDom(data) {
var ul=document.createElement("ul");
var num=data.length;
if((options.maxItemsToShow>0)&&(options.maxItemsToShow<num)) num=options.maxItemsToShow;
for(var i=0;i<num;i++) {
var row=data[i];
if(!row) continue;
var li=document.createElement("li");
if(options.formatItem) {
li.innerHTML=options.formatItem(row,i,num);
li.selectValue=row[0];
}else{
li.innerHTML=row[0];
li.selectValue=row[0];}
var extra=null;
if(row.length>1) {
extra=[];
for(var j=1;j<row.length;j++) {
extra[extra.length]=row[j];}}
li.extra=extra;
ul.appendChild(li);
$(li).hover(
function() {$("li",ul).removeClass("ac_over");$(this).addClass("ac_over");active=$("li",ul).indexOf($(this).get(0));},
function() {$(this).removeClass("ac_over");}
).click(function(e) {e.preventDefault();e.stopPropagation();selectItem(this)});}
return ul;};
function requestData(q) {
if(!options.matchCase) q=q.toLowerCase();
var data=options.cacheLength?loadFromCache(q):null;
if(data){
receiveData(q,data);
} else if((typeof options.url=="string")&&(options.url.length>0)){
$.get(makeUrl(q),function(data) {
data=parseData(data);
addToCache(q,data);
receiveData(q,data);});
}else{
$input.removeClass(options.loadingClass);}};
function makeUrl(q) {
var url=options.url + "?q=" + encodeURI(q);
for(var i in options.extraParams) {
url += "&" + i + "=" + encodeURI(options.extraParams[i]);}
return url;};
function loadFromCache(q) {
if(!q) return null;
if(cache.data[q]) return cache.data[q];
if(options.matchSubset) {
for(var i=q.length - 1;i >= options.minChars;i--) {
var qs=q.substr(0,i);
var c=cache.data[qs];
if(c){
var csub=[];
for(var j=0;j<c.length;j++) {
var x=c[j];
var x0=x[0];
if(matchSubset(x0,q)) {
csub[csub.length]=x;}}
return csub;}}}
return null;};
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;};
this.flushCache=function() {
flushCache();};
this.setExtraParams=function(p) {
options.extraParams=p;};
this.findValue=function(){
var q=$input.val();
if(!options.matchCase) q=q.toLowerCase();
var data=options.cacheLength?loadFromCache(q):null;
if(data) {
findValueCallback(q,data);
}else if((typeof options.url=="string")&&(options.url.length>0)){
$.get(makeUrl(q),function(data) {
data=parseData(data)
addToCache(q,data);
findValueCallback(q,data);});
}else{
// no matches
findValueCallback(q,null);}}
function findValueCallback(q,data){
if(data) $input.removeClass(options.loadingClass);
var num=(data)?data.length:0;
var li=null;
for(var i=0;i<num;i++) {
var row=data[i];
if(row[0].toLowerCase()==q.toLowerCase()){
li=document.createElement("li");
if(options.formatItem) {
li.innerHTML=options.formatItem(row,i,num);
li.selectValue=row[0];
}else{
li.innerHTML=row[0];
li.selectValue=row[0];}
var extra=null;
if(row.length>1){
extra=[];
for(var j=1;j<row.length;j++) {
extra[extra.length]=row[j];}}
li.extra=extra;}}
if(options.onFindValue) setTimeout(function() {options.onFindValue(li)},1);}
function addToCache(q,data) {
if(!data||!q||!options.cacheLength) return;
if(!cache.length||cache.length>options.cacheLength) {
flushCache();
cache.length++;
}else if(!cache[q]) {
cache.length++;}
cache.data[q]=data;};
function findPos(obj) {
var curleft=obj.offsetLeft||0;
var curtop=obj.offsetTop||0;
while (obj=obj.offsetParent) {
curleft += obj.offsetLeft
curtop += obj.offsetTop}
return {x:curleft,y:curtop};}}
jQuery.fn.autocomplete=function(url,options,data) {
options=options||{};
options.url=url;
options.data=((typeof data=="object")&&(data.constructor==Array))?data:null;
options.inputClass=options.inputClass||"ac_input";
options.resultsClass=options.resultsClass||"ac_results";
options.lineSeparator=options.lineSeparator||"\n";
options.cellSeparator=options.cellSeparator||"|";
options.minChars=options.minChars||1;
options.delay=options.delay||400;
options.matchCase=options.matchCase||0;
options.matchSubset=options.matchSubset||1;
options.matchContains=options.matchContains||0;
options.cacheLength=options.cacheLength||1;
options.mustMatch=options.mustMatch||0;
options.extraParams=options.extraParams||{};
options.loadingClass=options.loadingClass||"ac_loading";
options.selectFirst=options.selectFirst||false;
options.selectOnly=options.selectOnly||false;
options.maxItemsToShow=options.maxItemsToShow||-1;
options.autoFill=options.autoFill||false;
options.width=parseInt(options.width,10)||0;
this.each(function() {
var input=this;
new jQuery.autocomplete(input,options);});
return this;}
jQuery.fn.autocompleteArray=function(data,options) {
return this.autocomplete(null,options,data);}
jQuery.fn.indexOf=function(e){
for(var i=0;i<this.length;i++){
if(this[i]==e) return i;}
return -1;};
/* datepicker.date */
Date.dayNames=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];
Date.abbrDayNames=['Sun','Mon','Tue','Wed','Thu','Fri','Sat'];
Date.monthNames=['January','February','March','April','May','June','July','August','September','October','November','December'];
Date.abbrMonthNames=['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
Date.firstDayOfWeek=1;
Date.format='dd/mm/yyyy';
Date.fullYearStart='20';
(function() {
function add(name,method) {
if(!Date.prototype[name]) {
Date.prototype[name]=method;}};
add("isLeapYear",function() {
var y=this.getFullYear();
return (y%4==0&&y%100!=0)||y%400==0;});
add("isWeekend",function() {
return this.getDay()==0||this.getDay()==6;});
add("isWeekDay",function() {
return !this.isWeekend();});
add("getDaysInMonth",function() {
return [31,(this.isLeapYear()?29:28),31,30,31,30,31,31,30,31,30,31][this.getMonth()];});
add("getDayName",function(abbreviated) {
return abbreviated?Date.abbrDayNames[this.getDay()]:Date.dayNames[this.getDay()];});
add("getMonthName",function(abbreviated) {
return abbreviated?Date.abbrMonthNames[this.getMonth()]:Date.monthNames[this.getMonth()];});
add("getDayOfYear",function() {
var tmpdtm=new Date("1/1/" + this.getFullYear());
return Math.floor((this.getTime() - tmpdtm.getTime()) / 86400000);});
add("getWeekOfYear",function() {
return Math.ceil(this.getDayOfYear() / 7);});
add("setDayOfYear",function(day) {
this.setMonth(0);
this.setDate(day);
return this;});
add("addYears",function(num) {
this.setFullYear(this.getFullYear() + num);
return this;});
add("addMonths",function(num) {
var tmpdtm=this.getDate();
this.setMonth(this.getMonth() + num);
if(tmpdtm>this.getDate())
this.addDays(-this.getDate());
return this;});
add("addDays",function(num) {
this.setDate(this.getDate() + num);
return this;});
add("addHours",function(num) {
this.setHours(this.getHours() + num);
return this;});
add("addMinutes",function(num) {
this.setMinutes(this.getMinutes() + num);
return this;});
add("addSeconds",function(num) {
this.setSeconds(this.getSeconds() + num);
return this;});
add("zeroTime",function() {
this.setMilliseconds(0);
this.setSeconds(0);
this.setMinutes(0);
this.setHours(0);
return this;});
add("asString",function() {
var r=Date.format;
return r
.split('yyyy').join(this.getFullYear())
.split('yy').join((this.getFullYear()+'').substring(2))
.split('mmm').join(this.getMonthName(true))
.split('mm').join(_zeroPad(this.getMonth()+1))
.split('dd').join(_zeroPad(this.getDate()));});
Date.fromString=function(s){
var f=Date.format;
var d=new Date('01/01/1977');
var iY=f.indexOf('yyyy');
if(iY>-1) {
d.setFullYear(Number(s.substr(iY,4)));
}else{
d.setFullYear(Number(Date.fullYearStart + s.substr(f.indexOf('yy'),2)));}
var iM=f.indexOf('mmm');
if(iM>-1) {
var mStr=s.substr(iM,3);
for(var i=0;i<Date.abbrMonthNames.length;i++){
if(Date.abbrMonthNames[i]==mStr) break;}
d.setMonth(i);
}else{
d.setMonth(Number(s.substr(f.indexOf('mm'),2))-1);}
d.setDate(Number(s.substr(f.indexOf('dd'),2)));
if(isNaN(d.getTime())){
return false;}
return d;};
var _zeroPad=function(num) {
var s='0'+num;
return s.substring(s.length-2)};})();
/* datepicker.date_es */
Date.dayNames=['domingo','lunes','martes','miércoles','jueves','viernes','sábado'];
Date.abbrDayNames=['dom','lun','mar','mie','jue','vie','sab'];
Date.monthNames=['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'];
Date.abbrMonthNames=['ene','feb','mar','abr','may','jun','jul','ago','sep','oct','nov','dic'];
/* bgiframe */
(function($){
$.fn.bgIframe=$.fn.bgiframe=function(s) {
if($.browser.msie&&/6.0/.test(navigator.userAgent)) {
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;};
})(jQuery);
/* jquery.datePicker */
(function($){
$.fn.extend({
renderCalendar:function(s){
var dc=function(a){
return document.createElement(a);};
s=$.extend({},$.fn.datePicker.defaults,s);
if(s.showHeader!=$.dpConst.SHOW_HEADER_NONE) {
var headRow=$(dc('tr'));
for(var i=Date.firstDayOfWeek;i<Date.firstDayOfWeek+7;i++) {
var weekday=i%7;
var day=Date.dayNames[weekday];
headRow.append(
jQuery(dc('th')).attr({'scope':'col','abbr':day,'title':day,'class':(weekday==0||weekday==6?'weekend':'weekday')}).html(s.showHeader==$.dpConst.SHOW_HEADER_SHORT?day.substr(0,1):day));}};
var calendarTable=$(dc('table')).attr({'cellspacing':2,'className':'jCalendar'}).append((s.showHeader!=$.dpConst.SHOW_HEADER_NONE?$(dc('thead')).append(headRow):dc('thead')));
var tbody=$(dc('tbody'));
var today=(new Date()).zeroTime();
var month=s.month==undefined?today.getMonth():s.month;
var year=s.year||today.getFullYear();
var currentDate=new Date(year,month,1);
var firstDayOffset=Date.firstDayOfWeek - currentDate.getDay() + 1;
if(firstDayOffset>1) firstDayOffset -= 7;
var weeksToDraw=Math.ceil(((-1*firstDayOffset+1) + currentDate.getDaysInMonth()) /7);
currentDate.addDays(firstDayOffset-1);
var doHover=function(){
if(s.hoverClass) {
$(this).addClass(s.hoverClass);}};
var unHover=function(){
if(s.hoverClass) {
$(this).removeClass(s.hoverClass);}};
var w=0;
while (w++<weeksToDraw) {
var r=jQuery(dc('tr'));
for(var i=0;i<7;i++) {
var thisMonth=currentDate.getMonth()==month;
var d=$(dc('td')).text(currentDate.getDate() + '').attr('className',(thisMonth?'current-month ':'other-month ')+(currentDate.isWeekend()?'weekend ':'weekday ')+(thisMonth&&currentDate.getTime()==today.getTime()?'today ':'')).hover(doHover,unHover);
if(s.renderCallback) {
s.renderCallback(d,currentDate,month,year);}
r.append(d);
currentDate.addDays(1);}
tbody.append(r);}
calendarTable.append(tbody);
return this.each(
function(){
$(this).empty().append(calendarTable);});},
datePicker:function(s){
if(!$.event._dpCache) $.event._dpCache=[];
s=$.extend({},$.fn.datePicker.defaults,s);
return this.each(
function(){
var $this=$(this);
var alreadyExists=true;
if(!this._dpId) {
this._dpId=$.event.guid++;
$.event._dpCache[this._dpId]=new DatePicker(this);
alreadyExists=false;}
if(s.inline) {
s.createButton=false;
s.displayClose=false;
s.closeOnSelect=false;
$this.empty();}
var controller=$.event._dpCache[this._dpId];
controller.init(s);
if(!alreadyExists&&s.createButton) {
controller.button=$('<a href="#" class="dp-choose-date" title="' + $.dpText.TEXT_CHOOSE_DATE + '" tabindex="-1">' + $.dpText.TEXT_CHOOSE_DATE + '</a>').bind('click',
function(){
$this.dpDisplay(this);
this.blur();
return false;});
$this.after(controller.button);}
if(!alreadyExists&&$this.is(':text')) {
$this.bind('dateSelected',
function(e,selectedDate,$td){
this.value=selectedDate.asString();}
).bind('change',
function(){
if(this.value!='') {
var d=Date.fromString(this.value);
if(d) {
controller.setSelected(d,true,true);}}});
if(s.clickInput) {
$this.bind('click',
function(){
$this.dpDisplay();});}
var d=Date.fromString(this.value);
if(this.value!=''&&d) {
controller.setSelected(d,true,true);}}
$this.addClass('dp-applied');})},
dpSetDisabled:function(s){
return _w.call(this,'setDisabled',s);},
dpSetStartDate:function(d){
return _w.call(this,'setStartDate',d);},
dpSetEndDate:function(d){
return _w.call(this,'setEndDate',d);},
dpGetSelected:function(){
var c=_getController(this[0]);
if(c) {
return c.getSelected();}
return null;},
dpSetSelected:function(d,v,m){
if(v==undefined) v=true;
if(m==undefined) m=true;
return _w.call(this,'setSelected',Date.fromString(d),v,m,true);},
dpSetDisplayedMonth:function(m,y){
return _w.call(this,'setDisplayedMonth',Number(m),Number(y),true);},
dpDisplay:function(e){
return _w.call(this,'display',e);},
dpSetRenderCallback:function(a){
return _w.call(this,'setRenderCallback',a);},
dpSetPosition:function(v,h){
return _w.call(this,'setPosition',v,h);},
dpSetOffset:function(v,h){
return _w.call(this,'setOffset',v,h);},
dpClose:function(){
return _w.call(this,'_closeCalendar',false,this[0]);},
_dpDestroy:function(){}});
var _w=function(f,a1,a2,a3,a4){
return this.each(
function(){
var c=_getController(this);
if(c) {
c[f](a1,a2,a3,a4);}});};
function DatePicker(ele){
this.ele=ele;
this.displayedMonth=null;
this.displayedYear=null;
this.startDate=null;
this.endDate=null;
this.showYearNavigation=null;
this.closeOnSelect=null;
this.displayClose=null;
this.selectMultiple=null;
this.verticalPosition=null;
this.horizontalPosition=null;
this.verticalOffset=null;
this.horizontalOffset=null;
this.button=null;
this.renderCallback=[];
this.selectedDates={};
this.inline=null;
this.context='#dp-popup';};
$.extend(
DatePicker.prototype,{
init:function(s){
this.setStartDate(s.startDate);
this.setEndDate(s.endDate);
this.setDisplayedMonth(Number(s.month),Number(s.year));
this.setRenderCallback(s.renderCallback);
this.showYearNavigation=s.showYearNavigation;
this.closeOnSelect=s.closeOnSelect;
this.displayClose=s.displayClose;
this.selectMultiple=s.selectMultiple;
this.verticalPosition=s.verticalPosition;
this.horizontalPosition=s.horizontalPosition;
this.hoverClass=s.hoverClass;
this.setOffset(s.verticalOffset,s.horizontalOffset);
this.inline=s.inline;
if(this.inline) {
this.context=this.ele;
this.display();}},
setStartDate:function(d){
if(d){
this.startDate=Date.fromString(d);}
if(!this.startDate) {
this.startDate=(new Date()).zeroTime();}
this.setDisplayedMonth(this.displayedMonth,this.displayedYear);},
setEndDate:function(d){
if(d){
this.endDate=Date.fromString(d);}
if(!this.endDate) {
this.endDate=(new Date('12/31/2999'));}
if(this.endDate.getTime()<this.startDate.getTime()) {
this.endDate=this.startDate;}
this.setDisplayedMonth(this.displayedMonth,this.displayedYear);},
setPosition:function(v,h){
this.verticalPosition=v;
this.horizontalPosition=h;},
setOffset:function(v,h){
this.verticalOffset=parseInt(v)||0;
this.horizontalOffset=parseInt(h)||0;},
setDisabled:function(s){
$e=$(this.ele);
$e[s?'addClass':'removeClass']('dp-disabled');
if(this.button) {
$but=$(this.button);
$but[s?'addClass':'removeClass']('dp-disabled');
$but.attr('title',s?'':$.dpText.TEXT_CHOOSE_DATE);}
if($e.is(':text')) {
$e.attr('disabled',s?'disabled':'');}},
setDisplayedMonth:function(m,y,rerender){
if(this.startDate==undefined||this.endDate==undefined) {
return;}
var s=new Date(this.startDate.getTime());
s.setDate(1);
var e=new Date(this.endDate.getTime());
e.setDate(1);
var t;
if((!m&&!y)||(isNaN(m)&&isNaN(y))) {
t=new Date().zeroTime();
t.setDate(1);
}else if(isNaN(m)) {
t=new Date(y,this.displayedMonth,1);
}else if(isNaN(y)) {
t=new Date(this.displayedYear,m,1);
}else{
t=new Date(y,m,1)}
if(t.getTime()<s.getTime()){t=s;}else if(t.getTime()>e.getTime()){t=e;}
var oldMonth=this.displayedMonth;
var oldYear=this.displayedYear;
this.displayedMonth=t.getMonth();
this.displayedYear=t.getFullYear();
if(rerender&&(this.displayedMonth!=oldMonth||this.displayedYear!=oldYear)){
this._rerenderCalendar();
$(this.ele).trigger('dpMonthChanged',[this.displayedMonth,this.displayedYear]);}},
setSelected:function(d,v,moveToMonth,dispatchEvents){
if(v==this.isSelected(d)){
return;}
if(this.selectMultiple==false){
this.selectedDates={};
$('td.selected',this.context).removeClass('selected');}
if(moveToMonth&&this.displayedMonth!=d.getMonth()) {
this.setDisplayedMonth(d.getMonth(),d.getFullYear(),true);}
this.selectedDates[d.toString()]=v;
var selectorString='td.';
selectorString += d.getMonth()==this.displayedMonth?'current-month':'other-month';
selectorString += ':contains("' + d.getDate() + '")';
var $td;
$(selectorString,this.ele).each(
function(){
if($(this).text()==d.getDate()){$td=$(this);
$td[v?'addClass':'removeClass']('selected');}});
if(dispatchEvents){
var s=this.isSelected(d);
$e=$(this.ele);
var dClone=Date.fromString(d.asString());
$e.trigger('dateSelected',[dClone,$td,s]);
$e.trigger('change');}},
isSelected:function(d){
return this.selectedDates[d.toString()];},
getSelected:function(){
var r=[];
for(s in this.selectedDates) {
if(this.selectedDates[s]==true) {
r.push(Date.parse(s));}}
return r;},
display:function(eleAlignTo){
if($(this.ele).is('.dp-disabled')) return;
eleAlignTo=eleAlignTo||this.ele;
var c=this;
var $ele=$(eleAlignTo);
var eleOffset=$ele.offset();
var $createIn;
var attrs;
var attrsCalendarHolder;
var cssRules;
if(c.inline){
$createIn=$(this.ele);
attrs={'id':'calendar-' + this.ele._dpId,'className':'dp-popup dp-popup-inline'};
cssRules={};
}else{
$createIn=$('body');
attrs={'id':'dp-popup','className':'dp-popup'};
cssRules={'top':eleOffset.top + c.verticalOffset,'left':eleOffset.left + c.horizontalOffset};
var _checkMouse=function(e){
var el=e.target;
var cal=$('#dp-popup')[0];
while (true){
if(el==cal) {
return true;
}else if(el==document) {
c._closeCalendar();
return false;
}else{
el=$(el).parent()[0];}}};
this._checkMouse=_checkMouse;
this._closeCalendar(true);}
$createIn.append($('<div></div>').attr(attrs).css(cssRules).append($('<h2></h2>'),$('<div class="dp-nav-prev"></div>').append($('<a class="dp-nav-prev-year" href="#" title="' + $.dpText.TEXT_PREV_YEAR + '">&lt;&lt;</a>').bind('click',
function(){
return c._displayNewMonth.call(c,this,0,-1);}),
$('<a class="dp-nav-prev-month" href="#" title="' + $.dpText.TEXT_PREV_MONTH + '"></a>').bind('click',
function(){
return c._displayNewMonth.call(c,this,-1,0);})),
$('<div class="dp-nav-next"></div>').append($('<a class="dp-nav-next-year" href="#" title="' + $.dpText.TEXT_NEXT_YEAR + '">&gt;&gt;</a>').bind('click',
function(){
return c._displayNewMonth.call(c,this,0,1);}),
$('<a class="dp-nav-next-month" href="#" title="' + $.dpText.TEXT_NEXT_MONTH + '"></a>').bind('click',
function(){
return c._displayNewMonth.call(c,this,1,0);})),
$('<div></div>').attr('className','dp-calendar')).bgIframe());
var $pop=this.inline?$('.dp-popup',this.context) : $('#dp-popup');
if(this.showYearNavigation==false) {
$('.dp-nav-prev-year,.dp-nav-next-year',c.context).css('display','none');}
if(this.displayClose) {
$pop.append($('<a href="#" id="dp-close">' + $.dpText.TEXT_CLOSE + '</a>').bind('click',
function(){
c._closeCalendar();
return false;}));}
c._renderCalendar();
$(this.ele).trigger('dpDisplayed',$pop);
if(!c.inline){
if(this.verticalPosition==$.dpConst.POS_BOTTOM) {
$pop.css('top',eleOffset.top + $ele.height() - $pop.height() + c.verticalOffset);}
if(this.horizontalPosition==$.dpConst.POS_RIGHT) {
$pop.css('left',eleOffset.left + $ele.width() - $pop.width() + c.horizontalOffset);}
$(document).bind('mousedown',this._checkMouse);}},
setRenderCallback:function(a){
if(a==null) return;
if(a&&typeof(a)=='function'){a=[a];}
this.renderCallback=this.renderCallback.concat(a);},
cellRender:function ($td,thisDate,month,year) {
var c=this.dpController;
var d=new Date(thisDate.getTime());
$td.bind('click',
function(){
var $this=$(this);
if(!$this.is('.disabled')) {
c.setSelected(d,!$this.is('.selected')||!c.selectMultiple,false,true);
if(c.closeOnSelect) {
c._closeCalendar();}}});
if(c.isSelected(d)) {
$td.addClass('selected');}
for(var i=0;i<c.renderCallback.length;i++) {
c.renderCallback[i].apply(this,arguments);}},
_displayNewMonth:function(ele,m,y) {
if(!$(ele).is('.disabled')) {
this.setDisplayedMonth(this.displayedMonth + m,this.displayedYear + y,true);}
ele.blur();
return false;},
_rerenderCalendar:function(){
this._clearCalendar();
this._renderCalendar();},
_renderCalendar:function(){
$('h2',this.context).html(Date.monthNames[this.displayedMonth] + ' ' + this.displayedYear);
$('.dp-calendar',this.context).renderCalendar({
month: this.displayedMonth,
year: this.displayedYear,
renderCallback: this.cellRender,
dpController: this,
hoverClass: this.hoverClass});
if(this.displayedYear==this.startDate.getFullYear()&&this.displayedMonth==this.startDate.getMonth()) {
$('.dp-nav-prev-year',this.context).addClass('disabled');
$('.dp-nav-prev-month',this.context).addClass('disabled');
$('.dp-calendar td.other-month',this.context).each(
function(){
var $this=$(this);
if(Number($this.text())>20) {
$this.addClass('disabled');}});
var d=this.startDate.getDate();
$('.dp-calendar td.current-month',this.context).each(
function(){
var $this=$(this);
if(Number($this.text())<d) {
$this.addClass('disabled');}});
}else{
$('.dp-nav-prev-year',this.context).removeClass('disabled');
$('.dp-nav-prev-month',this.context).removeClass('disabled');
var d=this.startDate.getDate();
if(d>20){
var sd=new Date(this.startDate.getTime());
sd.addMonths(1);
if(this.displayedYear==sd.getFullYear()&&this.displayedMonth==sd.getMonth()) {
$('dp-calendar td.other-month',this.context).each(
function(){
var $this=$(this);
if(Number($this.text())<d) {
$this.addClass('disabled');}});}}}
if(this.displayedYear==this.endDate.getFullYear()&&this.displayedMonth==this.endDate.getMonth()) {
$('.dp-nav-next-year',this.context).addClass('disabled');
$('.dp-nav-next-month',this.context).addClass('disabled');
$('.dp-calendar td.other-month',this.context).each(
function(){
var $this=$(this);
if(Number($this.text())<14){
$this.addClass('disabled');}});
var d=this.endDate.getDate();
$('.dp-calendar td.current-month',this.context).each(
function(){
var $this=$(this);
if(Number($this.text())>d) {
$this.addClass('disabled');}});
}else{
$('.dp-nav-next-year',this.context).removeClass('disabled');
$('.dp-nav-next-month',this.context).removeClass('disabled');
var d=this.endDate.getDate();
if(d<13) {
var ed=new Date(this.endDate.getTime());
ed.addMonths(-1);
if(this.displayedYear==ed.getFullYear()&&this.displayedMonth==ed.getMonth()) {
$('.dp-calendar td.other-month',this.context).each(
function(){
var $this=$(this);
if(Number($this.text())>d) {
$this.addClass('disabled');}});}}}},
_closeCalendar:function(programatic,ele)
{if(!ele||ele==this.ele){
$(document).unbind('mousedown',this._checkMouse);
this._clearCalendar();
$('#dp-popup a').unbind();
$('#dp-popup').empty().remove();
if(!programatic) {
$(this.ele).trigger('dpClosed',[this.getSelected()]);}}},
_clearCalendar:function(){
$('.dp-calendar td',this.context).unbind();
$('.dp-calendar',this.context).empty();}});
$.dpConst={SHOW_HEADER_NONE:0,SHOW_HEADER_SHORT:1,SHOW_HEADER_LONG:2,POS_TOP:0,POS_BOTTOM:1,POS_LEFT:0,POS_RIGHT:1};
$.dpText={TEXT_PREV_YEAR:'Previous year',TEXT_PREV_MONTH:'Previous month',TEXT_NEXT_YEAR:'Next year',TEXT_NEXT_MONTH:'Next month',TEXT_CLOSE:'Close',TEXT_CHOOSE_DATE:'Choose date'};
$.dpVersion='$Id: jquery.datePicker.js 18 2008-12-23 23:37:34Z kelvin.luck $';$.fn.datePicker.defaults={month: undefined,year: undefined,
showHeader:$.dpConst.SHOW_HEADER_SHORT,startDate:undefined,endDate:undefined,inline:false,renderCallback:null,createButton:true,showYearNavigation:false,closeOnSelect:true,
displayClose:false,selectMultiple:false,clickInput:false,verticalPosition:$.dpConst.POS_TOP,horizontalPosition:$.dpConst.POS_LEFT,verticalOffset:0,horizontalOffset:0,hoverClass:'dp-hover'};
function _getController(ele){
if(ele._dpId) return $.event._dpCache[ele._dpId];
return false;};
if($.fn.bgIframe==undefined) {
$.fn.bgIframe=function() {return this;};};
$(window)
.bind('unload',function() {
var els=$.event._dpCache||[];
for(var i in els) {
$(els[i].ele)._dpDestroy();}});
})(jQuery);
/* jquery.alerts */
(function($){
$.alerts={
verticalOffset:-75,
horizontalOffset: 0,
repositionOnResize: true,
overlayOpacity: .01,
overlayColor: '#FFF',
draggable: true,
okButton: 'http://img.viavuelos.com/okbutton.png',
cancelButton: '&nbsp;Cancelar&nbsp;',
dialogClass: null,
alert: function(message,title,callback) {
if(title==null) title='Alert';
$.alerts._show(title,message,null,'alert',function(result) {
if(callback) callback(result);});},
confirm: function(message,title,callback) {
if(title==null) title='Confirm';
$.alerts._show(title,message,null,'confirm',function(result) {
if(callback) callback(result);});},
prompt: function(message,value,title,callback) {
if(title==null) title='Prompt';
$.alerts._show(title,message,value,'prompt',function(result) {
if(callback) callback(result);});},
_show: function(title,msg,value,type,callback) {
$.alerts._hide();
$.alerts._overlay('show');
$("BODY").append('<div id="popup_container">'+'<h1 id="popup_title"></h1>'+'<div id="popup_content">'+'<div id="popup_message"></div>'+'</div>'+'</div>');
if($.alerts.dialogClass) $("#popup_container").addClass($.alerts.dialogClass);
var pos=($.browser.msie&&parseInt($.browser.version)<=6)?'absolute':'fixed';
$("#popup_container").css({position: pos,zIndex: 99999,padding: 0,margin: 0});
$("#popup_title").text(title);
$("#popup_content").addClass(type);
$("#popup_message").text(msg);
$("#popup_message").html($("#popup_message").text().replace(/\n/g,'<br />'));
$("#popup_container").css({
minWidth: $("#popup_container").outerWidth(),
maxWidth: $("#popup_container").outerWidth()});
$.alerts._reposition();
$.alerts._maintainPosition(true);
switch(type) {
case 'alert':
$("#popup_message").after('<div id="popup_panel"><a href="#"><img border="0" src="' + $.alerts.okButton + '" /></a></div>');
$("#popup_panel").click(function() {
$.alerts._hide();
callback(true);});
$("#popup_ok").focus().keypress(function(e) {
if(e.keyCode==13||e.keyCode==27) $("#popup_ok").trigger('click');});
break;
case 'confirm':
$("#popup_message").after('<div id="popup_panel"><input type="button" value="' + $.alerts.okButton + '" id="popup_ok" /> <input type="button" value="' + $.alerts.cancelButton + '" id="popup_cancel" /></div>');
$("#popup_ok").click(function() {
$.alerts._hide();
if(callback) callback(true);});
$("#popup_cancel").click(function() {
$.alerts._hide();
if(callback) callback(false);});
$("#popup_ok").focus();
$("#popup_ok,#popup_cancel").keypress(function(e) {
if(e.keyCode==13) $("#popup_ok").trigger('click');
if(e.keyCode==27) $("#popup_cancel").trigger('click');});
break;
case 'prompt':
$("#popup_message").append('<br /><input type="text" size="30" id="popup_prompt" />').after('<div id="popup_panel"><input type="button" value="' + $.alerts.okButton + '" id="popup_ok" /> <input type="button" value="' + $.alerts.cancelButton + '" id="popup_cancel" /></div>');
$("#popup_prompt").width($("#popup_message").width());
$("#popup_ok").click(function() {
var val=$("#popup_prompt").val();
$.alerts._hide();
if(callback) callback(val);});
$("#popup_cancel").click(function() {
$.alerts._hide();
if(callback) callback(null);});
$("#popup_prompt,#popup_ok,#popup_cancel").keypress(function(e) {
if(e.keyCode==13) $("#popup_ok").trigger('click');
if(e.keyCode==27) $("#popup_cancel").trigger('click');});
if(value) $("#popup_prompt").val(value);
$("#popup_prompt").focus().select();
break;}
if($.alerts.draggable) {
try{
$("#popup_container").draggable({handle: $("#popup_title")});
$("#popup_title").css({cursor: 'move'});
}catch(e){}}},
_hide: function() {
$("#popup_container").remove();
$.alerts._overlay('hide');
$.alerts._maintainPosition(false);},
_overlay: function(status) {
switch(status) {
case 'show':
$.alerts._overlay('hide');
$("BODY").append('<div id="popup_overlay"></div>');
$("#popup_overlay").css({position: 'absolute',zIndex:99998,top:'0px',left:'0px',width:'100%',height:$(document).height(),background:$.alerts.overlayColor,opacity:$.alerts.overlayOpacity});
break;
case 'hide':
$("#popup_overlay").remove();
break;}},
_reposition: function() {
var top=(($(window).height() / 2) - ($("#popup_container").outerHeight() / 2)) + $.alerts.verticalOffset;
var left=(($(window).width() / 2) - ($("#popup_container").outerWidth() / 2)) + $.alerts.horizontalOffset;
if(top<0) top=0;
if(left<0) left=0;
if($.browser.msie&&parseInt($.browser.version)<=6) top=top + $(window).scrollTop();
$("#popup_container").css({
top: top + 'px',
left: left + 'px'});
$("#popup_overlay").height($(document).height());},
_maintainPosition: function(status) {
if($.alerts.repositionOnResize) {
switch(status) {
case true:
$(window).bind('resize',function() {
$.alerts._reposition();});
break;
case false:
$(window).unbind('resize');
break;}}}}
jAlert=function(message,title,callback) {
$.alerts.alert(message,title,callback);}
jConfirm=function(message,title,callback) {
$.alerts.confirm(message,title,callback);};
jPrompt=function(message,value,title,callback) {
$.alerts.prompt(message,value,title,callback);};
})(jQuery);