jQuery(function($){function paramsFromObject(obj){d=obj.metadata();params="object_class="+d.object_class+"&object_id="+d.object_id+"&object_field="+d.object_field+"&object_formatted_field="+d.object_formatted_field;if(d.tool_id!=undefined)
params+="&tool_id="+d.tool_id;return(params);}
$.fn.getDblClicksFromEnclosingTableCell=function(){$(this).each(function(i,e){$(e).closest('td').dblclick(function(){$(e).triggerHandler('dblclick')});});}
$.fn.bindInlineTextfieldEdit=function(){$(this).getDblClicksFromEnclosingTableCell();var callback=$(this).metadata().custom_callback;$(this).editInPlace({url:"/utilities/update_field_inplace",params:paramsFromObject($(this)),value_required:'true',element_id:'procore_item',success:function(){if(typeof(window.inlineSuccess)=='function')
window.inlineSuccess();if(callback!=""){eval(callback);}
return false;},error:function(r){if(typeof(window.inlineError)=='function')
window.inlineError();else
alert("Did not save:"+r);return false;}});};$.fn.bindInlineSelectEdit=function(){$(this).getDblClicksFromEnclosingTableCell();var md=$(this).metadata();var callback=md.custom_callback;$(this).editInPlace({url:"/utilities/update_field_inplace",field_type:"select",params:paramsFromObject($(this)),element_id:'procore_item',value_required:'true',before_edit:function(elem){$(elem).html('<img src="/images/ajax-loader-blue-bar.gif" alt="Loading ...">');},select_options:function(){var optionsArray=[];if(md.selectable!=undefined)
return md.selectable
jQuery.ajax({type:'POST',url:'/utilities/selectable_options_for_inplace_editor',dataType:'json',data:{tool_id:md.tool_id,object_class:md.object_class,object_id:md.object_id,object_field:md.object_field},success:function(r){optionsArray=r;},async:false});return optionsArray;},success:function(){if(typeof(window.inlineSuccess)=='function')
window.inlineSuccess();if(callback!=""){eval(callback);}
return false;},error:function(r){if(typeof(window.inlineError)=='function')
window.inlineError();else
alert("Did not save:"+r);return false;}});return false;};$.fn.bindInlineDateTimeEdit=function(){$(this).getDblClicksFromEnclosingTableCell();var callback=$(this).metadata().custom_callback;$(this).editInPlace({url:"/utilities/update_field_inplace",params:paramsFromObject($(this)),value_required:'true',element_id:'procore_item',on_blur:'nothing',on_edit:function(id,editable_field,original_html,params){datepickerOptions={onClose:function(dateText,inst){$(editable_field)[0].saveAction();}};$(editable_field).datepicker(datepickerOptions);},success:function(){if(typeof(window.inlineSuccess)=='function')
window.inlineSuccess();if(callback!=""){eval(callback);}
return false;},error:function(r){if(typeof(window.inlineError)=='function')
window.inlineError();else
alert("Did not save:"+r);return false;}});};$.extend({bindInlineDateTimeEdit:function(elem){elem.bindInlineDateTimeEdit();},bindInlineTextfieldEdit:function(elem){elem.bindInlineTextfieldEdit();},bindInlineSelectEdit:function(elem){elem.bindInlineSelectEdit();},bindInlineEditors:function(elem){$(".inline_editable",elem).each(function(){var $parent_td=$(this).closest("td")
$parent_td.addClass('inline_edit');$parent_td.mouseenter(function(){$(this).addClass('inline_edit_hover');});$parent_td.mouseleave(function(){$(this).removeClass('inline_edit_hover');});});$("span.inline_textfield_edit",elem).each(function(){$(this).bindInlineTextfieldEdit();});$("span.inline_select_edit",elem).each(function(){$(this).bindInlineSelectEdit();});$("span.inline_datetime_edit",elem).each(function(){$(this).bindInlineDateTimeEdit();});}});$(document).ready(function(){$.bindInlineEditors();$("table.item_list.sortable").bind("sortStop",function(){$.bindInlineEditors();});});});jQuery(function($){$(document).ready(function(){function compare(a,b){return(a<b)?-1:((a>b)?1:0)};jQuery.fn.dataTableExt.oSort['num-html-asc']=function(a,b){var x=a.replace(/<.*?>/g,"");var y=b.replace(/<.*?>/g,"");x=parseFloat(x);y=parseFloat(y);return((x<y)?-1:((x>y)?1:0));};jQuery.fn.dataTableExt.oSort['num-html-desc']=function(a,b){var x=a.replace(/<.*?>/g,"");var y=b.replace(/<.*?>/g,"");x=parseFloat(x);y=parseFloat(y);return((x<y)?1:((x>y)?-1:0));};jQuery.fn.dataTableExt.aTypes.push(function(sData)
{sData=typeof sData.replace=='function'?sData.replace(/<.*?>/g,""):sData;var sValidFirstChars="0123456789-";var sValidChars="0123456789.";var Char;var bDecimal=false;Char=sData.charAt(0);if(sValidFirstChars.indexOf(Char)==-1)
{return null;}
for(var i=1;i<sData.length;i++)
{Char=sData.charAt(i);if(sValidChars.indexOf(Char)==-1)
{return null;}
if(Char==".")
{if(bDecimal)
{return null;}
bDecimal=true;}}
return'num-html';});jQuery.fn.dataTableExt.oSort['currency-asc']=function(a,b){var x=a=="-"?0:a.replace(/,/g,"");var y=b=="-"?0:b.replace(/,/g,"");x=x.substring(1);y=y.substring(1);x=parseFloat(x);y=parseFloat(y);return x-y;};jQuery.fn.dataTableExt.oSort['currency-desc']=function(a,b){var x=a=="-"?0:a.replace(/,/g,"");var y=b=="-"?0:b.replace(/,/g,"");x=x.substring(1);y=y.substring(1);x=parseFloat(x);y=parseFloat(y);return y-x;};function civicFlagValue(s){return{red:1,yellow:2,green:3}[s.match(/Flag_(\w+)/)[1]]||9;}
jQuery.fn.dataTableExt.oSort['civicflag-sort-asc']=function(a,b){return compare(civicFlagValue(a),civicFlagValue(b));};jQuery.fn.dataTableExt.oSort['civicflag-sort-desc']=function(a,b){return(-1*compare(civicFlagValue(a),civicFlagValue(b)));};jQuery.fn.dataTableExt.aTypes.push(function(s){return(/Flag_(\w+)/.test(s)?'civicflag-sort':null);});var table_selector='table.datatables';$(table_selector).each(function(i){domTable=this;aoColumns=[];$(domTable).find("th").each(function(i){md=$(this).metadata();col={"sName":md.column_name};if(md.sortable==false)
col.bSortable=false;var est=md.explicit_sort_type;if(est)
col.sType=est;var ew=md.explicit_width;if(ew)
col.sWidth=ew;var dsd=md.default_sort_direction;if(dsd&&dsd.toLowerCase()=='desc')
col.asSorting=['desc','asc'];aoColumns.push(col);});dtOptions=jQuery.extend({"bPaginate":true,"bLengthChange":true,"iDisplayLength":100,"bFilter":true,"bSort":true,"bInfo":true,"bAutoWidth":false,"bJQueryUI":true,"bStateSave":false,"sPaginationType":"full_numbers","aoColumns":aoColumns},$(domTable).metadata().initOptions);oDataTable=$(domTable).dataTable(dtOptions);$(domTable).data('dataTable',oDataTable);$.fn.extend({getDataTable:function(){return $(this).data('dataTable');}});var sortCallbackUrl=$(domTable).metadata().sort_callback
if(sortCallbackUrl){$(domTable).find("thead").click(function(){aoSort=[];oSettings=oDataTable.fnSettings();$.each(oSettings.aaSorting,function(index,value){aoSort.push({"sort_column":oSettings.aoColumns[value[0]].sName,"sort_direction":value[1]});});$.ajax({type:"POST",url:sortCallbackUrl,data:{"sort_columns":JSON.stringify(aoSort)}});});};});});});if(jQuery)(function($){var picker_window;var setFile=function(picker_content,file_object,isFolder){var file_name=$(file_object).attr('rel');var file_id=isFolder?$(file_object).metadata().folder_id:$(file_object).metadata().file_id;var this_picker=$('#'+picker_content.data('div_id'));var selector=this_picker.parents('div.multi_file_uploader');picker_window.hide();if(selector.length>0){selector.addSelected(file_id,file_name);}else{var file_field=this_picker.prev('input[type=file]');file_field.hide();file_field.attr('disabled',true);this_picker.children('.picker_button').html('&lt;'+file_name+'&gt;&nbsp;&nbsp;<a href="#">(change)</a>');this_picker.find('.picker_button a').bindFileTreeClick();this_picker.find('input.prostore_file_id').val(file_id);}}
$.fn.bindFileTreeClick=function(){if($(this).length>0)initTree();$(this).bind('click',function(){picker_window.getContent().data('div_id',$(this).parents('div.document_picker,div.folder_picker')[0].id);picker_window.show();return false;});}
$.fn.resetFilePicker=function(){picker_window.hide();$('div.picker_button',this).html('<button class="picker_button" type="submit">From Procore...</button>');$('input.prostore_file_id',this).val('');$('div.picker_button button',this).bindFileTreeClick();}
var selectFolders=function(){r=$('#'+picker_window.getContent().data('div_id')).is('.folder_picker');return r;};var initTree=function(){var picker_url=$('div#picker_content').metadata().url;$('div#picker_content').procoreFileTree({selectFolders:selectFolders,script:function(){return picker_url}},setFile);};$(document).ready(function(){picker_window=new Boxy($('div#picker_window'),{show:false,modal:true,title:'Project Documents'});$('a#close_picker_window').click(function(){picker_window.hide();return false;});function centerPicker(){picker_window.center('x');}
$(window).resize(function(){centerPicker();});$('div.document_picker div.picker_button button, div.folder_picker div.picker_button button').bindFileTreeClick();});})(jQuery);