
(function($){var active_popup_params={};var formControls={};$(document).keydown(function(e){if(e.which!=27)return;if($('#j_dim_screen').attr('required'))return;$.popup.close(active_popup_params.callback);});$.dim={start:function(){this.stop();var dim=$('<div id="j_dim_screen"></div>').appendTo(document.body);var height=Math.max($(window).height(),$(document).height());var width=Math.min($(window).width(),$(document).width());dim.height(height).width(width).click($.popup.close).removeAttr('required');return dim;},stop:function(){$('#j_dim_screen').remove();}};$.popup={alert:function(title,message,params){params=params||{};if(params.close)setTimeout($.popup.close,params.close);params.zindex=10000;return $.popup.form(title,[{type:'html',data:message},{type:'buttons',items:{okay:[params.okayButton||$t('Okay','popup_button_okay'),$.popup.close]}}],params);},confirm:function(title,message,params,callback){if($.isFunction(params)){callback=params;params=null;}
params=params||{};active_popup_params.callback=callback;if(typeof callback!='function')return;return $.popup.form(title,[{type:'html',data:message},{type:'buttons',items:{okay:[params.okayButton||$t('Okay','popup_button_okay'),function(){if(!params.leaveOpen)$.popup.close();callback(true);}],cancel:[params.cancelButton||$t('Cancel','popup_button_cancel'),function(){if(!params.leaveOpen)$.popup.close();callback(false);}]}}],params);},prompt:function(title,message,defaultMessage,params,callback){if(typeof params=='function'){callback=params;params=null;}
params=params||{};active_popup_params.callback=callback;if(typeof callback!='function')return;return $.popup.form(title,[{type:'input',label:message,linebreak:true,name:'prompt',value:defaultMessage},{type:'buttons',items:{okay:[params.okayButton||$t('Okay','popup_button_okay'),function(data){callback(data.prompt);$.popup.close();}],cancel:[params.cancelButton||$t('Cancel','popup_button_cancel'),function(){callback(null);$.popup.close();}]}}],params);},addControl:function(control,callback){formControls[control]=callback;},renderControl:function(controlName,params){if(controlName==null)return;if(typeof controlName=='string'){params=params||{};params.oldType=params.type;params.type=controlName;}
else if(typeof controlName=='object'){params=controlName;controlName=params.type||params[0];}
if(params==null)return null;if(params.constructor==Array&&typeof params[0]!='string'){return $.popup.renderControl({type:'section',align:'center',contents:params});}
if(controlName.substr(controlName.length-1)=='/'){controlName=controlName.substr(0,controlName.length-1);}
return formControls[controlName](params);},form:function(title,data,params){params=params||{};var contents=createControls(data);var onLoad=function(popup){var controls=popup.find('input, select, button, textarea').filter(':visible');if(controls.size()==0)return;if(params.default_focus)var element=controls.filter('[name='+params.default_focus+']');if(!element||element.size()==0)var element=controls.slice(0,1);element.focus();if(!element.hasClass('button'))element.get(0).select();}
if($.isFunction(params.onLoad)){var oldOnload=params.onLoad;params.onLoad=function(){onLoad();oldOnload();};}else{params.onLoad=onLoad;}
var popup=$.popup.open(title,contents,params);return popup;},get:function(){return $('#j_popup');},open:function(title,contents,params){params=params||{};$.popup.loading=false;var is_existing_popup=$.popup.get().is(':visible');var favicon_url=params.favicon_url||null;var height=params.height||'auto';var left=typeof params.left!='undefined'?params.left:'auto';var required=params.required||false;var top=typeof params.top!='undefined'?params.top:'auto';var use_dim=typeof params.use_dim!='undefined'?params.use_dim:true;var width=params.width||408;if(!is_existing_popup){var html='<div id="j_popup" style="position:absolute;">'
+' <div id="j_popup_top">'
+'  <div id="j_popup_top_left"></div>'
+'  <div id="j_popup_top_middle"></div>'
+'  <div id="j_popup_top_right"></div>'
+' </div>'
+' <table id="j_popup_table"><tr id="j_popup_body">'
+'  <td id="j_popup_body_shadow_left"></td>'
+'  <td id="j_popup_body_main">'
+'   <div id="j_popup_title">'
+'    <div id="j_popup_title_text">'+(title||'Message')+'</div>'
+'    <a id="j_popup_title_help" href="/help/new" target="_blank">'+$t('HELP','popup_help')+'</a>'
+'   </div>'
+'   <div id="j_popup_body_contents"></div>'
+'  </td>'
+'  <td id="j_popup_body_shadow_right"></td>'
+' </tr></table>'
+' <div id="j_popup_bottom">'
+'  <div id="j_popup_bottom_left"></div>'
+'  <div id="j_popup_bottom_middle"></div>'
+'  <div id="j_popup_bottom_right"></div>'
+' </div>'
+'</div>';var popup=$(html).appendTo(document.body);if(params.zindex)popup.css('z-index',params.zindex);}else{var popup=$.popup.get();if(title)$('#j_popup_title_text').text(title);}
popup.find('#j_popup_body_contents').empty().append(contents);$('#j_popup_top').css('width',width+6);$('#j_popup_top_middle').css('width',width);$('#j_popup_body_main').css('height',height).css('width',width-3);$('#j_popup_bottom').css('width',width+6);$('#j_popup_bottom_middle').css('width',width);var windowHeight=$(window).height();if(left=='auto')left=($(window).width()-popup.outerWidth())/2;if(top=='auto')top=($(window).height()-popup.outerHeight())*0.3;left+=$(window).scrollLeft();top+=$(window).scrollTop();if(favicon_url){$('#j_popup_title_text').css('background-image','url('+favicon_url+')');}
if(use_dim){var dim=$.dim.start();if(required)$.popup.require();}
popup.css({left:left,top:top});if($.isFunction(popup.draggable)){popup.draggable({handle:'#j_popup_top, #j_popup_title'});}
if($.isFunction(params.onLoad))params.onLoad(popup);$(window).trigger('popup.open');return popup;},require:function(){$('#j_dim_screen').unbind('click').click(function(){return false;}).attr('required','true');},setContents:function(popup,contents){popup.find('#j_popup_body_contents').empty().append(contents);},close:function(callback){$(window).trigger('popup.close');var popup=$.popup.get();var doAfter=function(){popup.remove();$.dim.stop();if(typeof callback=='function')callback();};if(popup.size()==0)return doAfter();return popup.unbind().fadeOut('fast',doAfter);}};var createControls=function(contents){var container=$('<form id="j_popup_form" method="post" enctype="multipart/form-data"></form>');for(var i=0;i<contents.length;i++){var control=$.popup.renderControl(contents[i]);if(control)control.appendTo(container);}
if(container.find('input[type=image], input[type=submit]').size()==0){$('<input type="submit" value="Submit" />').css({left:-10000,position:'absolute'}).hide().appendTo(container);container.submit(function(){container.find('input[type=button]:first').click();return false;});}
return container;};$.popup.addControl('base',function(params){var el=$('<div></div>');var label=params.label?$('<strong class="label"></strong>').append(params.label):null;var linebreak=params.linebreak;if(typeof params.linebreak=='undefined'&&params.oldType)linebreak=(params.oldType.substr(params.oldType.length-1)=='/');if(label){el.append(label);linebreak?el.append('<br />'):el.addClass('same_line');}
if(params.hidden)el.hide();if(params.base_id)el.attr('id',params.base_id);return el;});$.popup.addControl('html',function(params){if(params.constructor==Array){params={data:params[1],type:params[0]};}
return $('<div></div>').html(params.data);});$.popup.addControl('text',function(params){if(params.constructor==Array){params={data:params[1],type:params[0]}}
return $('<div></div>').text(params.data);});$.popup.addControl('input',function(params){if(params.constructor==Array){params={label:params[1],name:params[2],type:params[0],value:params[3]};}
var input=$('<input type="text" />').attr({name:params.name,value:params.value});return $.popup.renderControl('base',params).append(input);});$.popup.addControl('readonly',function(params){var el=$.popup.renderControl('input',params);el.children('input').attr('readonly','readonly').click(function(e){this.select();});return el;});$.popup.addControl('password',function(params){if(params.constructor==Array){params={label:params[1],name:params[2],type:params[0],value:params[3]};}
var input=$('<input type="password" />').attr({name:params.name,value:params.value});return $.popup.renderControl('base',params).append(input);});$.popup.addControl('hidden',function(params){if(params.constructor==Array){params={name:params[1],type:params[0],value:params[2]};}
var input=$('<input type="hidden" />').attr({name:params.name,value:params.value});return $('<div></div>').append(input);});$.popup.addControl('file',function(params){if(params.constructor==Array){params={label:params[1],name:params[2],type:params[0]};}
var input=$('<input type="file" />').attr('name',params.name);return $.popup.renderControl('base',params).append(input);});$.popup.addControl('textarea',function(params){if(params.constructor==Array){params={label:params[1],name:params[2],type:params[0],value:params[3]};}
var cols=params.cols||30;var rows=params.rows||4;var textarea=$('<textarea cols="'+cols+'" rows="'+rows+'">'+(params.value||'')+'</textarea>').attr('name',params.name);if(params.defaultValue)
{if(!params.value)textarea.val(params.defaultValue);textarea.focus(function(){if($(this).val()==params.defaultValue)$(this).val('');}).blur(function(){if(!$.trim($(this).val()))$(this).val(params.defaultValue)});}
return $.popup.renderControl('base',params).append(textarea);});$.popup.addControl('radio',function(params){if(params.constructor==Array){params={items:params[4],label:params[1],name:params[2],type:params[0],value:params[3]};}
var el=$.popup.renderControl('base',params);var checked_item=0;for(var j=0;j<params.items.length;j++){if(params.items[j].value!=params.value)continue;checked_item=j;}
for(var j=0;j<params.items.length;j++){var radio_item=params.items[j];var radio='<input type="radio" name="'+params.name+'"';var id='rl_'+name+'_'+radio_item.value;radio+=' style="display:inline;width:auto;border:0;"';radio+=' value="'+radio_item.value+'"';radio+=' id="'+id+'"';if(j==checked_item)radio+=' checked="checked"';radio+=' />';radio=$(radio);var label=$('<label for="'+id+'"></label>').html(radio_item.label).prepend(radio).appendTo(el);if(params.linebreak)label.append('<br />');if($.isFunction(radio_item.click))radio.click(radio_item.click);}
return el;});$.popup.addControl('dropdown',function(params){if(params.constructor==Array){params={items:params[4],label:params[1],name:params[2],type:params[0],value:params[3]}}
var el=$.popup.renderControl('base',params);var dropdown=$('<select></select>').attr('name',params.name);var option_to_select=null;for(var j=0;j<params.items.length;j++){var dropdown_item=params.items[j];if(dropdown_item.label==null||dropdown_item.value==null)continue;var option=$('<option></option>').val(dropdown_item.value).text(dropdown_item.label).appendTo(dropdown);if(j==0||dropdown_item.value==params.value)option_to_select=option;}
if(option_to_select)option_to_select[0].selected=true;el.append(dropdown);return el;});$.popup.addControl('checkbox',function(params){if(params.constructor==Array){params={checked:params[3],label:params[1],name:params[2],type:params[0]}}
var el=$('<div></div>');if(params.name=='skip_popup'){var checkbox=$('<label></label>').css({color:'#999',display:'block',fontSize:11,fontWeight:'normal',textAlign:'center'});$('<input type="checkbox" />').attr('name','skip_popup').css({border:0,width:'auto'}).val(1).appendTo(checkbox);$('<span></span>').text(params.label).appendTo(checkbox);}else{var checkbox='<input type="checkbox" value="1"';checkbox+=' style="width: auto;"';checkbox+=' name="'+params.name+'"';if(params.checked)checkbox+=' checked="checked"';checkbox+=' />';$(checkbox).appendTo(el);var label=$('<label></label>').css({display:'block',fontSize:13,fontWeight:'normal',lineHeight:14}).html(params.label);label.appendTo(el);}
el.append(checkbox);return el;});$.popup.addControl('datepicker',function(params){var el=$.popup.renderControl('input',params).addClass('datepicker');var datepicker=el.find('input');$('<img src="/img/calender_drop.gif" />').click(function(){if(params.disabled)return;datepicker.datepicker('show');}).appendTo(el);if(params.disabled)
{datepicker.attr('readonly','true');}
var delete_icon=$('<img src="/img/icon_menu_delete_o.gif" class="delete_date" />').click(function(){datepicker.val('');delete_icon.hide();datepicker.datepicker('show');}).appendTo(el);if(datepicker.val()=='')delete_icon.hide();datepicker.change(function(e){if(datepicker.val()==''){delete_icon.click();return;}
delete_icon.show();});if(!params.disabled)
{$(window).one('popup.open',function(){datepicker.datepicker({changeFirstDay:false,changeMonth:false,changeYear:false,hideIfNoPrevNext:true,mandatory:true,minDate:new Date()});});}
return el;});$.popup.addControl('button',function(params){if(params.constructor==Array){params={click:params[2],getValues:params[3],type:params[0],value:params[1]}};var el=$('<button class="button"></button>').click(function(e){$(window).trigger('popup.submit');if(!params.getValues){params.click.call(this);return;}
var values={};$('#j_popup_form').find('input, button, textarea, select').each(function(){if(!this.name)return;if(this.type=='radio'&&!this.checked){return;}
if(this.type=='checkbox'){values[this.name]=this.checked?1:'';return;}
var val=(this.tagName!='BUTTON')?this.value:$('span span',this).text();if(typeof values[this.name]=='undefined'){values[this.name]=val;}
else if(typeof values[this.name]=='string'){values[this.name]=[values[this.name],val];}else{values[this.name].push(val);}});params.click.call(this,values,this.form);});el.hover(function(e){$(this).addClass('button_hover');},function(e){$(this).removeClass('button_hover');});$('<span></span>').append($('<span></span>').text(params.value||'')).appendTo(el);return el;});$.popup.addControl('section',function(params){var el=$('<div class="field_group"></div>');if(params.id)el.attr('id',params.id);var group=$('<div></div>').appendTo(el);if(params['class'])el.addClass(params['class']);if(!params.contents)params.contents=[];if(params.label||params.handle){if(params.label){if(params.collapsable){var handle=$('<a href="#"></a>').text(params.label)
$('<label></label>').append(handle).prependTo(el);}else{$('<label></label>').text(params.label).prependTo(el);}}else{var handle=$(params.handle);}
if(params.collapsable){handle.click(function(e){group.toggle();return false;});}}
if(params.collapsed)group.hide();$.each(params.contents,function(i){var control=$.popup.renderControl(params.contents[i]);if(control)control.appendTo(group);});if(params.align)group.css('text-align',params.align);return el;});$.popup.addControl('buttons',function(params){var controls=[];$.popup.loading=false;var active_button=null;$.each(params.items,function(i){var click=params.items[i];if(!click)return;var name=i;if(click.constructor==Array){name=click[0];click=click[1];}
if(!$.isFunction(click))return;controls.push({type:'button',value:name,getValues:true,click:function(data,form){if($.popup.loading)return;$.popup.loading=true;active_button=[this,$(this).find('span span').text()];$(this).find('span span').text($t('Loading...','popup_button_loading'));$.popup.require();click.call(this,data,form);}});});$.popup.revert=function(){$('#j_dim_screen').unbind('click').click($.popup.close).removeAttr('required');$.popup.loading=false;if(active_button)$(active_button[0]).find('span span').text(active_button[1]);active_button=null;};return $.popup.renderControl({type:'section',align:'center',contents:controls});});})(jQuery);