Tizen 2.0 Release
[samples/web/ContactsExchanger.git] / js / write_to_card.js
1 /*jslint devel: true*/
2 /*global $, tizen, nfcAdapter, timeOutHandler, timeExpired, phoneNumber2NDEF, sucDetach */
3
4 var sucSend = function () {
5         "use strict";
6         console.log('sucSend');
7         timeExpired('Send success!');
8 };
9
10 var errSend = function (e) {
11         "use strict";
12         console.log('errSend');
13         timeExpired('Send problem! ' + e.message);
14 };
15
16 var prepareForNFC;
17
18 var sucTagWriteAttach = function (tag) {
19         "use strict";
20         var newMessage = null,
21                 separator = String.fromCharCode(30),
22                 endOfText = String.fromCharCode(3),
23                 fullContact = localStorage.phoneNumber + separator + localStorage.firstName + separator + localStorage.lastName,
24                 prepareForNFC;
25
26         prepareForNFC = prepareForNFC || function prepareForNFC(contact) {
27                 if (contact.length > 31) {
28                         contact = contact.substring(0, 31);
29                         if (contact[29] !== separator) {
30                                 contact = contact.substring(0, 30) + endOfText;
31                         }
32                 }
33                 return contact;
34         };
35
36         fullContact = prepareForNFC(fullContact);
37
38         try {
39                 newMessage = phoneNumber2NDEF(fullContact);
40         } catch (err) {
41                 console.log("NDEFMessage problem: " + err.message);
42         }
43
44         if (tag.isSupportedNDEF) {
45                 tag.writeNDEF(newMessage, sucSend, errSend);
46         } else {
47                 console.log("This Tag doesn't support NDEF");
48         }
49 };
50
51 var setTagDetectWrite = function () {
52         "use strict";
53         /*
54         var err, suc;
55         err = function (e) {
56                 console.log('Tag Listen Error: ' + e.message);
57         };
58         */
59         var suc = { onattach: sucTagWriteAttach, ondetach: sucDetach };
60         try {
61                 //nfcAdapter.setTagListener(suc, err);
62                 nfcAdapter.setTagListener(suc);
63         } catch (error) {
64                 console.log('error: ' + error.message);
65         }
66 };