CustomerVendor: namespace-Aufrufe entfernt
[kivitendo-erp.git] / js / kivi.CustomerVendor.js
1 namespace('kivi.CustomerVendor', function(ns) {
2
3   this.selectShipto = function(params) {
4     var shiptoId = $('#shipto_shipto_id').val();
5
6     if( shiptoId ) {
7       var url = 'controller.pl?action=CustomerVendor/ajaj_get_shipto&id='+ $('#cv_id').val() +'&db='+ $('#db').val() +'&shipto_id='+ shiptoId;
8
9       $.getJSON(url, function(data) {
10         for(var key in data)
11           $(document.getElementById('shipto_'+ key)).val(data[key]);
12
13         $('#action_delete_shipto').show();
14
15         if( params.onFormSet )
16           params.onFormSet();
17       });
18     }
19     else {
20       $('#shipto :input').not(':button, :submit, :reset, :hidden').val('');
21
22       $('#action_delete_shipto').hide();
23
24       if( params.onFormSet )
25         params.onFormSet();
26     }
27   };
28
29   this.selectDelivery = function(fromDate, toDate) {
30     var deliveryId = $('#delivery_id').val();
31
32     if( !deliveryId )
33       $("#delivery").empty();
34     else {
35       var url = 'controller.pl?action=CustomerVendor/get_delivery&id='+ $('#cv_id').val() +'&db='+ $('#db').val() +'&shipto_id='+ $('#delivery_id').val();
36
37       if( fromDate && toDate )
38         url += '&delivery_from='+ fromDate +'&delivery_to='+ toDate;
39
40       $('#delivery').load(url);
41     }
42   };
43
44   this.selectContact = function(params) {
45     var contactId = $('#contact_cp_id').val();
46
47     if( contactId ) {
48       var url = 'controller.pl?action=CustomerVendor/ajaj_get_contact&id='+ $('#cv_id').val() +'&db='+ $('#db').val() +'&contact_id='+ contactId;
49
50       $.getJSON(url, function(data) {
51         var contact = data.contact;
52         for(var key in contact)
53           $(document.getElementById('contact_'+ key)).val(contact[key])
54
55         var cvars = data.contact_cvars;
56         for(var key in cvars)
57           $(document.getElementById('contact_cvar_'+ key)).val(cvars[key]);
58
59         $('#action_delete_contact').show();
60
61         if( params.onFormSet )
62           params.onFormSet();
63       });
64     }
65     else {
66       $('#contacts :input').not(':button, :submit, :reset, :hidden').val('').removeAttr('checked').removeAttr('selected');
67
68       $('#action_delete_contact').hide();
69
70       if( params.onFormSet )
71         params.onFormSet();
72     }
73
74     $('#contact_cp_title_select, #contact_cp_abteilung_select').val('');
75   };
76
77   var mapSearchStmts = [
78     '#street',
79     ', ',
80     '#zipcode',
81     ' ',
82     '#city',
83     ', ',
84     '#country'
85   ];
86
87   this.showMapWidget = function(prefix, widgetWrapper) {
88     var result = {
89     };
90
91     $(function(){
92
93       widgetWrapper = $(widgetWrapper);
94
95       var mapSearchElements = [];
96       for(var i in mapSearchStmts) {
97         var stmt = mapSearchStmts[i];
98         if( stmt.charAt(0) == '#' ) {
99           var elem = $('#'+ prefix + stmt.substring(1));
100           if( elem )
101             mapSearchElements.push(elem);
102         }
103       }
104
105       var isNotEmpty = function() {
106         for(var i in mapSearchElements)
107           if( mapSearchElements[i].val() == '' )
108             return false;
109         return true;
110       };
111
112       widgetWrapper
113         .html('<img src="image/map.png" alt="'+ kivi.t8("Map") +'" title="'+ kivi.t8("Map") +'" />')
114         .click(function(){
115           ns.showMap(prefix);
116         });
117
118       var testInputs = function() {
119         if( isNotEmpty() )
120           widgetWrapper.show();
121         else
122           widgetWrapper.hide();
123       };
124
125       result.testInputs = testInputs;
126
127       $(mapSearchElements)
128         .map(function() {
129           return this.toArray();
130         })
131         .keyup(testInputs)
132
133       if( !isNotEmpty() )
134         widgetWrapper.hide();
135
136     });
137
138     return result;
139   };
140
141   this.showMap = function(prefix) {
142     var searchString = "";
143
144     for(var i in mapSearchStmts) {
145       var stmt = mapSearchStmts[i];
146       if( stmt.charAt(0) == '#' ) {
147         var val = $('#'+ prefix + stmt.substring(1)).val();
148         if( val )
149           searchString += val;
150       }
151       else
152         searchString += stmt;
153     }
154
155     var url = 'https://maps.google.com/maps?q='+ encodeURIComponent(searchString);
156
157     window.open(url, '_blank');
158     window.focus();
159   };
160
161   this.showHistoryWindow = function(id) {
162     var xPos = (screen.width - 800) / 2;
163     var yPos = (screen.height - 500) / 2;
164     var parm = "left="+ xPos +",top="+ yPos +",width=800,height=500,status=yes,scrollbars=yes";
165     var url = "common.pl?INPUT_ENCODING=UTF-8&action=show_history&longdescription=&input_name="+ encodeURIComponent(id);
166     window.open(url, "_new_generic", parm);
167   };
168 });