
MC.Navigation=(function(){var _magazines=[],_content_suffix="__content",_prompt_suffix="__prompt",_common_kid_attrs={"class":"wrapped"},_kid_attrs=function(id_requested){var result={id:id_requested};$.extend(result,_common_kid_attrs);return result;},_create_plain_image=function(image_url){return $("<img/>",{"class":"image_fit","border":"0","src":image_url});},_create_uploader=function(object_attr,container_entity,container_id,owner_entity,owner_id){var instance=$("<div/>",object_attr);var _uploader=new qq.FileUploader({element:instance[0],action:MC.DataServerApp.post_image_url(),params:{"container_entity":container_entity,"container_id":container_id,"owner_entity":owner_entity,"owner_id":owner_id}});return instance;},_create_full_screen_image=function(image,container_attr){var container=$("<div/>",container_attr).addClass("full_screen").appendTo("body");var height=$(window).height();var width=$(window).width();var left_margin="";var top_margin="";if(width>height){left_margin=" margin-left: "+(Math.round((width/2)-(height/2))).toString()+"px;";width=height;}else{top_margin=" margin-top: "+(Math.round((height/2)-(width/2))).toString()+"px;";}
var content=$("<div/>",{"class":"full_screen_image","style":"width: "+width+"px; height: "+width+"px;"+left_margin+top_margin}).appendTo(container);_create_plain_image(image).appendTo($("<div/>",{}).appendTo(content));return container;},_create_film=function(entity,instance){var film=$("<div/>",{"class":"film"});var image_loaded=$("<div/>",{"class":"form_row_image"}).addClass("floatright").addClass("javascript_action").appendTo(film);_create_uploader({"class":'form_row_image'},"","",entity,instance.id).appendTo(image_loaded);if(instance&&instance.images&&instance.images.length>0){for(var i in instance.images){_create_plain_image(instance.images[i]).appendTo($("<div/>",{"class":"form_row_image"}).addClass("film_item").appendTo(film));}}
return film;},_setup_item=function(id,parent,readable_name,local_attrs,attrs,prompt_class){if(typeof(id)==='string'&&parent!=undefined){var content_attrs=_kid_attrs(id+_content_suffix);var container_adaptions={"id":id,"class":"row__bigitem__"};if(attrs===undefined){attrs={};}
$.extend(attrs,container_adaptions);var container=$("<div/>",attrs);var content=$("<div/>",content_attrs).addClass("row__bigitem__");content.appendTo(container);if(parent!=undefined){container.appendTo(parent);}
var actions=$("<div/>",{"class":"floatright"}).appendTo(content);if(typeof(local_attrs)==='object'){if($.inArray('delete',local_attrs)>-1){var delete_control=$("<div/>",{"id":"delete","class":"javascript_action","data-name":readable_name,"data-class_for_dialogs":prompt_class}).appendTo(actions);$("<img/>",{"class":"icon_action","src":"images/cancel_48.png","border":"0"}).appendTo(delete_control);delete_control.bind('click',null,function(){MC.Call['delete'](container);});}
if($.inArray('edit',local_attrs)>-1){var submit_control,cancel_control;var edit_control=$("<div/>",{"id":"edit","class":"javascript_action","data-name":readable_name}).appendTo(actions);$("<img/>",{"class":"icon_action","src":"images/pencil_48.png","border":"0"}).appendTo(edit_control);edit_control.bind('click',null,function(){$(edit_control).hide();$(submit_control).show();$(cancel_control).show();$(container).addClass("on_edit");$(content).find(".report_field___").hide();$(content).find(".edit_field___").show();});submit_control=$("<div/>",{"id":"submit_edit","class":"javascript_action","data-name":readable_name}).appendTo(actions).hide();$("<img/>",{"class":"icon_action","src":"images/accepted_48.png","border":"0"}).appendTo(submit_control);submit_control.bind('click',null,function(){$(submit_control).hide();$(cancel_control).hide();$(edit_control).show();$(container).removeClass("on_edit");$(content).find(".edit_field___").hide();$(content).find(".report_field___").show();MC.Call['update'](container);});cancel_control=$("<div/>",{"id":"cancel_edit","class":"javascript_action","data-name":readable_name}).appendTo(actions).hide();$("<img/>",{"class":"icon_action","src":"stylesheets/undo_48x48.png","border":"0"}).appendTo(cancel_control);cancel_control.bind('click',null,function(){$(submit_control).hide();$(cancel_control).hide();$(edit_control).show();$(container).removeClass("on_edit");$(content).find(".edit_field___").hide();$(content).find(".report_field___").show();});}}
return content;}
return undefined;};return{adapt_window_height:function(){var new_value=$(window).height()-100;if(new_value>130){$(".desktop").height(new_value);}},content_suffix:_content_suffix,prompt_suffix:_prompt_suffix,add_magazine:function(magazine){if(typeof(magazine)==='object'){_magazines.push(magazine);}},add_magazine_css:function(magazine){var css_stream="<style type='text/css'> ."+magazine.prefix()+"_selectors { ";css_stream+="float: left; width: 30%;";css_stream+="padding: 4px;   font-size: 12pt; } .";css_stream+=magazine.prefix()+"_selected { background: gray;  font-weight: bold; color: white; -moz-border-radius: 10px; border-radius: 10px; } .";css_stream+=magazine.prefix()+"_unselected {  background: white; }";css_stream+="</style>";$(css_stream).appendTo("head");},get_magazine:function(magazine_name){for(var magazine in _magazines){if(_magazines[magazine].prefix()===magazine_name){return _magazines[magazine];}}
return undefined;},get_desktop:function(desktop_name){for(var magazine in _magazines){var desktop=_magazines[magazine].get_desktop(desktop_name);if(typeof(desktop)==='object'){return desktop;}}
return undefined;},create_app:function(definition){if(typeof(definition)==='object'){for(var magazine in definition){var local_magazine=MC.Navigation.Magazine(magazine);var selected_desktop=undefined;for(var desktop in definition[magazine]){local_magazine.add_desktop((definition[magazine])[desktop],(selected_desktop===undefined));if(selected_desktop===undefined){selected_desktop=(definition[magazine])[desktop];}}
local_magazine.triggers(selected_desktop);MC.Navigation.add_magazine(local_magazine)}}},triggers:function(object){var attended=false;for(var magazine in _magazines){if(_magazines[magazine].triggers(object)){attended=true;break;}}
if(!attended){alert("TODO: ["+object.id+"]");}},setup_dropdown:function(key){$('#hide__'+key).bind('click',null,function(){$("."+key).hide();$('#hide__'+key).hide();$('#show__'+key).show();});$('#show__'+key).bind('click',null,function(){$("."+key).show();$('#show__'+key).hide();$('#hide__'+key).show();});},create_field:function(instance,attribute,field_type,css_attributes_object,prompt_attributes){var container=undefined;if(typeof(attribute)==='string'&&attribute.length>0){var readable_attribute="";if(attribute==='readable_name'){readable_attribute="name";}else{readable_attribute=attribute.replace("_"," ");}
if(typeof(css_attributes_object)!='object'){css_attributes_object={};}
if(typeof(prompt_attributes)!='object'){prompt_attributes={};}
$.extend(prompt_attributes,{value:instance[attribute],name:attribute,id:"prompt_"+attribute});container=$("<div/>",css_attributes_object);$("<div/>",{id:"report_"+attribute,html:instance[attribute]}).appendTo(container).addClass("report_field___");var prompt=$("<div/>",{"class":"edit_field___"}).addClass("normal_row").appendTo(container).hide();$("<div />",{"class":"label",html:readable_attribute+":"}).appendTo(prompt);$("<"+field_type+"/>",prompt_attributes).addClass("edit_field_control___").appendTo(prompt);}
else{}
return container;},create_plain_image:function(image_url){return _create_plain_image(image_url);},create_image:function(instance){var default_image="images/menucookface109x109_unavailable.png";if(instance&&instance.images&&instance.images.length>0){default_image=instance.images[0];}
return _create_plain_image(default_image);},create_full_screen_film:function(entity,instance){var container=null;if(instance&&instance.images&&instance.images.length>0){container=_create_full_screen_image(instance.images[0],{"class":"full_screen_image_film"});var left_actions=$("<div/>",{"class":"left_actions__full_screen__"}).appendTo(container);var right_actions=$("<div/>",{"class":"right_actions__full_screen__"}).appendTo(container);var cancel_control=$("<div/>",{"id":"close_film"}).appendTo(right_actions);var cancel_image=$("<img/>",{"class":"full_screen_icon_action","src":"images/cancel_48.png","border":"0"}).addClass("javascript_action").appendTo(cancel_control);cancel_image.bind('click',null,function(){$(container).remove();});if(instance.images.length>1){var right_control=$("<div/>",{"id":"move_right_film"}).appendTo(right_actions);var right_image=$("<img/>",{"class":"full_screen_icon_action","src":"images/right_48.png","border":"0"}).addClass("javascript_action").appendTo(right_control);right_image.bind('click',null,function(){});$("<div/>",{"class":"full_screen_icon_action"}).appendTo(left_actions);var left_control=$("<div/>",{"id":"move_left_film","class":"javascript_action"}).appendTo(left_actions);$("<img/>",{"class":"full_screen_icon_action","src":"images/left_48.png","border":"0"}).appendTo(left_control);left_control.bind('click',null,function(){});}}
return container;},create_full_screen_image:function(image,image_attr){return _create_full_screen_image(image,image_attr);},create_uploader:function(object_attr,container_entity,container_id,owner_entity,owner_id){return _create_uploader(object_attr,container_entity,container_id,owner_entity,owner_id);},create_registry_entry:function(entity,entry,parent_instance,actions_array){var dish_id=entry.id.toString();var id_string=entity+"_"+dish_id;var content_item=_setup_item(id_string,parent_instance,entry.readable_name,actions_array,{"class":"row__bigitem__"},"overlap_my_items");var image_loaded=$("<div/>",{"class":"form_row_image"}).addClass("javascript_action").appendTo(content_item);MC.Navigation.create_image(entry).appendTo(image_loaded);image_loaded.bind('click',null,function(){var item=content_item,container=$(item).parent(),dish=entry;return function(){$(item).hide();var image_container=$("<div/>",{"class":"row__bigitem__"}).addClass("image_film").appendTo(container);var left_actions=$("<div/>",{"class":"row__bigitem__left"}).addClass("image_film").appendTo(image_container);var right_actions=$("<div/>",{"class":"row__bigitem__right"}).addClass("image_film").appendTo(image_container);var content=$("<div/>",{"class":"row__bigitem__center"}).addClass("image_film").appendTo(image_container);_create_film(entity,dish).appendTo(content);var cancel_control=$("<div/>",{"id":"close_film","class":"javascript_action"}).appendTo(right_actions);$("<img/>",{"class":"icon_action","src":"stylesheets/undo_48x48.png","border":"0"}).appendTo(cancel_control);cancel_control.bind('click',null,function(){$(image_container).remove();$(item).show();});var add_control=$("<div/>",{"id":"add_to_film","class":"javascript_action"}).appendTo(right_actions);$("<img/>",{"class":"icon_action","src":"images/add_48.png","border":"0"}).appendTo(add_control);cancel_control.bind('click',null,function(){});var right_control=$("<div/>",{"id":"move_right_film","class":"javascript_action"}).appendTo(right_actions);$("<img/>",{"class":"icon_action","src":"images/right_48.png","border":"0"}).appendTo(right_control);right_control.bind('click',null,function(){});$("<div/>",{"class":"icon_action"}).appendTo(left_actions);$("<div/>",{"class":"icon_action"}).appendTo(left_actions);var left_control=$("<div/>",{"id":"move_left_film","class":"javascript_action"}).appendTo(left_actions);$("<img/>",{"class":"icon_action","src":"images/left_48.png","border":"0"}).appendTo(left_control);left_control.bind('click',null,function(){});};}());var title=$("<div/>",{"class":"row__bigitem_title__"}).appendTo(content_item);MC.Navigation.create_field(entry,"readable_name","input",{"class":"floatleft"},{"class":"edit_input_field"}).appendTo(title);MC.Navigation.create_field(entry,"description","textarea",{"class":"row__bigitem_description__"},{"class":"edit_input_field"}).appendTo(content_item);}}})();MC.Navigation.Alert=(function(){return{no_intrusive_confirm:function(dom_obj,message,class_for_dialogs,perform_callback){var prompt_dialog=$("<div/>",{"class":"row__bigitem__"});var prompt_title_dialog=$("<div/>",{"class":"embedded_dialog_title",html:message});var prompt_accept_button=$("<div/>",{"class":"embedded_dialog_button",text:"Accept"}).addClass("embedded_dialog_button_style").addClass("javascript_action");var prompt_cancel_button=$("<div/>",{"class":"embedded_dialog_button",text:"Cancel"}).addClass("embedded_dialog_button_style").addClass("javascript_action");var prompt_buttons_area=$("<div/>",{"class":"wrapped"});prompt_cancel_button.appendTo(prompt_buttons_area);prompt_accept_button.appendTo(prompt_buttons_area);var prompt=$("<div/>",{"class":class_for_dialogs}).addClass("generic_transparent");prompt.appendTo(dom_obj);prompt_dialog.appendTo(prompt);prompt_title_dialog.appendTo(prompt_dialog);prompt_buttons_area.appendTo(prompt_dialog);$(prompt_cancel_button).bind('click',null,function(){prompt.remove();prompt=null;});$(prompt_accept_button).bind('click',null,function(){prompt.remove();prompt=null;perform_callback();var supplier_desktop=MC.Navigation.get_desktop("suppliers")
supplier_desktop.status(MC.Navigation.StatusManager.Status.Progress);});}}})();MC.Navigation.StatusManager=(function(){return{Status:{Undefined:"undefined",Progress:"progress",Enable:"enable",Disable:"disable"}};})();MC.Navigation.Magazine=function(prefix_value){if(typeof(prefix_value)==='string'&&prefix_value.length>0)
{var _prefix=prefix_value;var _unselected_class=_prefix+"_unselected";var _selected_class=_prefix+"_selected";var _common_layout_selectors={};_common_layout_selectors[MC.Navigation.StatusManager.Status.Progress]="#"+_prefix+"_progress";_common_layout_selectors[MC.Navigation.StatusManager.Status.Disable]="#"+_prefix+"_disable";var _desktops={};var _refresh_selection_elements=function(id){for(var desktop in _desktops)
{var selector_instance=$("#"+desktop);if(id===desktop){if(selector_instance.hasClass(_unselected_class)){selector_instance.removeClass(_unselected_class);}
if(!(selector_instance.hasClass(_selected_class))){selector_instance.addClass(_selected_class);}}else{if(selector_instance.hasClass(_selected_class)){selector_instance.removeClass(_selected_class);}
if(!(selector_instance.hasClass(_unselected_class))){selector_instance.addClass(_unselected_class);}}}};var _refresh_common_layers_for=function(id){var current_status=_desktops[id].status();for(var status in _common_layout_selectors){if(current_status===status){$(_common_layout_selectors[status]).show();}else{$(_common_layout_selectors[status]).hide();}}};var _select=function(id){var desktops_to_hide="";for(var desktop in _desktops)
{if(desktop===id){_desktops[desktop].selected(true);}
else{_desktops[desktop].selected(false);if(desktops_to_hide!=""){desktops_to_hide+=",";}
desktops_to_hide+=_desktops[desktop].id_selector();}}
$(desktops_to_hide).hide();$(_desktops[id].id_selector()).show();_refresh_common_layers_for(id);_refresh_selection_elements(id);};return{prefix:function(){return _prefix;},add_desktop:function(suffix,selected){_desktops[suffix]=MC.Navigation.Desktop(suffix,this,selected);if(selected){_select(suffix);}
$('#'+suffix).bind('click',null,function(){MC.Navigation.triggers(this);});return _desktops[suffix];},keep_desktop:function(suffix){for(var desktop in _desktops)
{if(desktop!=suffix){delete _desktops[desktop];}}},flush_desktop:function(suffix){if(typeof(suffix)==='string'&&typeof(_desktops[suffix])==='object'){delete _desktops[suffix];}},flush_all:function(){_desktops={};},get_desktop:function(desktop_name){return _desktops[desktop_name];},triggers:function(object){var id;if(typeof(object)==='string'){id=object;object=_desktops[object];}else{if(typeof(object.id)==='string'){id=object.id;object=_desktops[object.id];}else{try{id=object.suffix();}catch(exception){object=undefined;id=undefined;}}}
if(typeof(object)==='object'){if(typeof(id)==='string'&&_desktops[id]){_select(id);return true;}}
return false;},refresh:function(id){if(_desktops[id].selected()){_refresh_common_layers_for(id);}}};}
else
{return undefined;}};MC.Navigation.Desktop=function(suffix_val,caller_magazine,selected_default){if(typeof(suffix_val)==='string'&&typeof(caller_magazine)==='object'){var _status=MC.Navigation.StatusManager.Status.Undefined;var _suffix=suffix_val;var _magazine=caller_magazine;var _selected=selected_default;return{id:function(){return _magazine.prefix()+"_"+_suffix;},suffix:function(){return _suffix;},id_selector:function(){return"#"+this.id();},status:function(status_value){if(typeof(status_value)==='string'&&_status!=status_value){_status=status_value;_magazine.refresh(_suffix);}
return _status;},selected:function(value){if(typeof(value)==='boolean'){_selected=value;}
return _selected;}};}
else{return undefined;}};MC.Navigation.adapt_window_height();$(window).bind("resize",function(){MC.Navigation.adapt_window_height();});
