Author SHA1 Message Date
hexstudy 752046fd09 git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@75 0f545695-f87b-41b6-9a03-7f16563b5454 2016-03-03 22:34:37 +00:00
hexstudy 507ba6f2b7 git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@71 0f545695-f87b-41b6-9a03-7f16563b5454 2016-03-01 14:20:31 +00:00
hexstudy 3732d06a0c git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@70 0f545695-f87b-41b6-9a03-7f16563b5454 2016-02-29 17:09:30 +00:00
hexstudy 342b485088 git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@67 0f545695-f87b-41b6-9a03-7f16563b5454 2016-02-15 21:44:07 +00:00
hexstudy 133cc438a8 git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@64 0f545695-f87b-41b6-9a03-7f16563b5454 2016-02-09 08:14:16 +00:00
hexstudy dd76c9dc52 git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@62 0f545695-f87b-41b6-9a03-7f16563b5454 2016-02-09 08:09:51 +00:00
hexstudy 43c1245005 git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@60 0f545695-f87b-41b6-9a03-7f16563b5454 2016-02-08 22:10:13 +00:00
hexstudy 7737c750eb git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@59 0f545695-f87b-41b6-9a03-7f16563b5454 2016-02-01 17:02:23 +00:00
hexstudy fc7970ec57 git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@58 0f545695-f87b-41b6-9a03-7f16563b5454 2016-01-31 16:13:42 +00:00
hexstudy 52ea2f542e git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@57 0f545695-f87b-41b6-9a03-7f16563b5454 2016-01-29 16:51:39 +00:00
hexstudy 06e9b5867f git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@56 0f545695-f87b-41b6-9a03-7f16563b5454 2016-01-19 21:47:05 +00:00
hexstudy 037eee5c81 git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@54 0f545695-f87b-41b6-9a03-7f16563b5454 2016-01-19 16:08:09 +00:00
hexstudy bcd5752f87 git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@52 0f545695-f87b-41b6-9a03-7f16563b5454 2016-01-18 22:18:39 +00:00
hexstudy b4882d0006 git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@50 0f545695-f87b-41b6-9a03-7f16563b5454 2016-01-18 17:07:24 +00:00
hexstudy 1cd4cb737e git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@49 0f545695-f87b-41b6-9a03-7f16563b5454 2016-01-15 17:04:16 +00:00
hexstudy 247cac972c git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@48 0f545695-f87b-41b6-9a03-7f16563b5454 2016-01-14 14:03:23 +00:00
hexstudy 57a9ecfb84 git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@47 0f545695-f87b-41b6-9a03-7f16563b5454 2016-01-13 20:58:22 +00:00
hexstudy 4266b44e53 git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@46 0f545695-f87b-41b6-9a03-7f16563b5454 2016-01-12 17:10:44 +00:00
hexstudy 0762b4dfb0 git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@45 0f545695-f87b-41b6-9a03-7f16563b5454 2016-01-12 11:39:12 +00:00
hexstudy 2c732a6081 git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@43 0f545695-f87b-41b6-9a03-7f16563b5454 2016-01-11 17:05:00 +00:00
hexstudy d5ada56dbd git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@42 0f545695-f87b-41b6-9a03-7f16563b5454 2016-01-10 22:19:28 +00:00
hexstudy d6e19b50d8 git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@41 0f545695-f87b-41b6-9a03-7f16563b5454 2016-01-10 22:18:54 +00:00
hexstudy 66318c9124 git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@36 0f545695-f87b-41b6-9a03-7f16563b5454 2015-12-09 13:38:35 +00:00
hexstudy 00411c823b git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@35 0f545695-f87b-41b6-9a03-7f16563b5454 2015-12-09 13:37:59 +00:00
hexstudy 7c29b2d8b1 git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@34 0f545695-f87b-41b6-9a03-7f16563b5454 2015-12-04 16:02:46 +00:00
hexstudy 282ad76c48 git-svn-id: https://msi/svn/firstRepo/WebClient/branches/NewRelease@33 0f545695-f87b-41b6-9a03-7f16563b5454 2015-05-07 13:16:11 +00:00
91 changed files with 13413 additions and 7276 deletions
+16 -6
View File
@@ -1,4 +1,14 @@
AddHandler application/x-httpd-php .html .htm
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
<IfModule mod_deflate.c>
<IfModule mod_setenvif.c>
BrowserMatch ^Mozilla/4 gzip-only-text/html
@@ -15,12 +25,12 @@ AddOutputFilterByType DEFLATE text/css application/x-javascript text/html text/r
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^index.html$ index.php [L]
RewriteRule ^js/libs/(.*)\.[0-9]+\.js$ /WebClient_Manut/js/libs/$1.js [L]
RewriteRule ^js/(.*)\.[0-9]+\.js$ /WebClient_Manut/js/$1.js [L]
RewriteRule ^css/(.*)\.[0-9]+\.css$ /WebClient_Manut/css/$1.css [L]
RewriteRule ^Resources/img/(.*)\.[0-9]+\.png$ /WebClient_Manut/Resources/img/$1.png [L]
RewriteRule ^Resources/img/(.*)\.[0-9]+\.gif$ /WebClient_Manut/Resources/img/$1.gif [L]
RewriteRule ^Resources/icons/(.*)\.[0-9]+\.png$ /WebClient_Manut/Resources/icons/$1.png [L]
RewriteRule ^js/libs/(.*)\.[0-9]+\.js$ /WebClient/js/libs/$1.js [L]
RewriteRule ^js/(.*)\.[0-9]+\.js$ /WebClient/js/$1.js [L]
RewriteRule ^css/(.*)\.[0-9]+\.css$ /WebClient/css/$1.css [L]
RewriteRule ^Resources/img/(.*)\.[0-9]+\.png$ /WebClient/Resources/img/$1.png [L]
RewriteRule ^Resources/img/(.*)\.[0-9]+\.gif$ /WebClient/Resources/img/$1.gif [L]
RewriteRule ^Resources/icons/(.*)\.[0-9]+\.png$ /WebClient/Resources/icons/$1.png [L]
</ifModule>
<ifModule mod_headers.c>
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

+2 -1
View File
@@ -5,6 +5,7 @@
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-56591114-1', 'auto');
ga('send', 'pageview');
ga('require', 'linkid', 'linkid.js');
//ga('send', 'pageview');
</script>
-1
View File
@@ -50,7 +50,6 @@
name: "main",
exclude: [
'libs/jQueryPluginsCollection',
'plugins/jquery.mobile.alphascroll.min',
'plugins/jquery.rating.pack'
]
},
+1 -1
View File
@@ -21,6 +21,7 @@
baseUrl: "js",
//- this is the directory that the new files will be. it will be created if it doesn't exist
dir: "./app-build_prod",
removeCombined: true,
paths: {
jquery: 'empty:',
underscore: 'libs/underscore-min',
@@ -43,7 +44,6 @@
name: "main",
exclude: [
'libs/jQueryPluginsCollection',
'plugins/jquery.mobile.alphascroll.min',
'plugins/jquery.rating.pack'
]
},
+1
View File
@@ -0,0 +1 @@
call cleancss --s0 --skip-rebase -o .\css\zocial.min.css .\css\zocial.css
+1 -1
View File
@@ -907,4 +907,4 @@ button[disabled],
.ui-noboxshadow .ui-focus {
outline-width: 1px;
outline-style: auto;
}
}
+66 -97
View File
@@ -1,8 +1,10 @@
#sfondo {
width: 308px;
height: 400px;
#menuHomeMetro {
width: 80%;
margin: auto;
}
.nav-glyphish-example .ui-btn { padding-top: 35px !important; }
.nav-glyphish-example .ui-btn:after { width: 30px!important; height: 30px!important; margin-left: -15px !important; box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important; }
@@ -29,83 +31,26 @@
#saveBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAANlBMVEUAAADLy8vLy8vKysrMzMzNzc3Pz8/MzMzMzMzMzMzLy8vKysrLy8vMzMzMzMzMzMzMzMzMzMw+WxBVAAAAEXRSTlMAY3ZOFMMI8Ni9IjGIm3CqXQ8no6IAAADWSURBVFjD7dfBDoMgDIDhdk4qCri+/8tuEVFwUdb0Yhb+k4n2682k8MmgJf498iMUTQMLIyzms+2De1Ty8WsHWybb3xuo1vHSvH2KvIdw0jO2DK0LbRJsBnRn8/n7nkuB5EApsBzYBSXAsxZgpwUYtQCNSoC9FiAtwA34P+AFJ42x+Ee6ACzUm/gC4D5gJUdfgLQG3BkIBgSZcAQ8CPMHAKUANqABDWhAA+4IkA4gsDrApocgBcK6OB2egwFJ+dhE6eoV5OI8TfnxLW9Y5tP5L40sGgB4A9MVdu6TlqQ9AAAAAElFTkSuQmCC") 50% 50% no-repeat; background-size: 22px 22px;
box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important;}
.ui-page-theme-d .ui-icon-myHome:after {
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAMKSURBVHhe7ZoxjuIwFIY5xF5h77BH2LPsJfYWaCQahERBR7OioJkKChr6XZqlYAsaii0YjYbxn/FDSfyS2M5zxhb+pV92XuJx/g+CBuPR7XZ7aLPFRzJbfCSzxUcyW0zN4/H4C5k732a2OIRxs8vl8gn2uXF4sVj8PJ/Pr6p/1+l0epnP5z9Ulx1TN1sM7el0+g03qvqFjsfjFTXVZa/nPJlMvl6vV9U1dblc3myhssWQrocnoeYCQb/KjZrNZt9Vw44tmy2GclN4kguE5AB0hSfZQkgKgG14kg2EZAC0hUe97VwbhCQAdIXHeZtrVNf429EDcAnmAyFqAD6BXMdEC8AnPNllbJQAXMOv1+tnuFyz/RvRAfAJj3OQD4SoAPQJT3KFgC9R+pDVYAAkwpNcIDR9ESINAkAyPMkFQpuCAwgRniQBISiAkOFJfSEEAzBEeFIfCEEADBme5AtBHMBnhCf5QBAF8JnhSa4Q9D9K9+ubzBbLjiE8yQUCd2+c2SI5pvAkaQhsEY4xPEkSAluMOTxJCoJRSCE8SQJC5SCl8KS+ELwHxhCe1AeC8wA4pvAkXwjFr7T4cfLjVFWphCe5QEBmZC9+Yta1ilILT3KBgFUldnEx1fAkWwgFANWO9vv9v48S/1t9SuFJHITyo344HP4Xj4DqF8Y7AY9DfWOBRHjs4litVr9oR0iXcW1954eP6hCQjeagnPeTnCXCY7dG/R1lY4zBWNXvpTqEutkiLBEe2u12f1XDztFlPba32iCwRanw0Gaz+a0adp4u67EiaoJgFLD5SLViigUApLNV5qgcwBlABpABZACqFVMGkAFkABmAaox5bJwBZAAZQPoAttvtH9UY89hYjxWTFQC9UiImLD2pxpjHxnqsmOqrXXDlgCw9Mb6Lc5M3GddKrklATS+EUYCxJqdaUWFfH5a4bNy1B9BHOpOR1SjAeFYkFiVjEbJwzz9sFMhYJQ7xSgwtZGjbLsMWyRiY8jsB994WHmaLZeMDCc8PPkTwfKpa1MI94l5xz90fvLfROynk7WHR1nx5AAAAAElFTkSuQmCC") 50% 50% no-repeat; background-size: 22px 22px;
}
.ui-page-theme-d #favoriteBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAKMSURBVHhe7ZvdbcIwFEYZoAt0gW7AGAzTNbpNV+gCHaBPfaECRPkRqgAVWh/0JaKQFNtxCIR7JB6KsO/1ybVT2UknhMFg8Dibzd5Wq9X3drv9aQLiEn86nb6Tj1Krl36/f8fAlcNFgQjHvVJND4NfLBafineRkB95KuW0jMfjF8W5aMhTKaeD0tpsNgoRB+3X6/WmyscnB37jqqCXtBKGw+GT+g+CZCaTySsJqasoiP/lCFlw+e3SQUW4+A/qKg4GoX69YfApVueY2IdQPUhUl+HErPwp5mJs5RVBRURLCBVAsMpl50h916ESovIKFcB8VdNK+Cx6RdCurG1UZYYKmM/nH2oaDXcedRcM8WnPP0f6KoeFUSH8aUIAparugsniF92+NT3DbpHXKgDcBV/r65zgdcAEmAATYALU1gsTYAJMgAlQ02hMgAkwASZA3QVjAkyACTAB6sYEXJwAF/yOnVkS++/gpJUCXOAeW+b62W6DUkdnR5uUrRMwGo2ey/bqXZJL5OinO1ojwAXr+pzwIAdJatYOAZzFcRylr73QQw7dqxbAIIpOZXzJqkF/BtO4gKYxASbABJgApW4CTIAJMAEmQF/nmAATYALaLYBdJqV+mwL2nwm+OQG8R+QGmO8x3pyAwyfCkwhI8cx+3bDDvL+nmJFEQMrn9uuAQZa9C5BEAHOKuaX2f8A8tx2mybk/HLBwuEJ+SvWIJAKAQAy2COSUXYEmYaBJnhbPOLVTy27w2d7iPIEbZOF5ROWXOZBQVgkZWM9edWvqU5Zj0UIZDFeZIOrzamCqJnu9lvlV5fDj3FCVtUxPOvU5+2sSrnzta5OriB7/MLnbzvLUGlE3xOeKc2GY86fLvtP5BfOlr8fyeSTjAAAAAElFTkSuQmCC") 50% 50% no-repeat; background-size: 22px 22px; }
.ui-page-theme-d #infoBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAPjSURBVHhe7ZvfjRoxEIcpIQ2kjCsghVwJKSEd5Ckt5DkVXAl5yGMeeYkAARIIRIQiIPEn/UiOXa/NsjNeIHzSKXeH1zNjzz97L4MHD/phOBy+GY1Gb/nie/36/hiPx0/T6fTjYrH4ul6vZ9vt9td+v/9dhd/xGWMYyzM8q2luCxSfz+cvPwOHw0EmtodnmYO5bmIxJpPJe3awi9FNMCdzI0PiroewO89BuYV0dQdZyJT4/iCBLZfL7x47ngOZyEYHqVMWXJGkJX16Ax2Kh0VISl/62PUm0AWdpJ4voUR9k9yrA92kpg/EnGRdLegodW255p2vYu4JxJfmvhnMcgIZ1ivhHUsZMkI5e0dtpw2OtcptYe7O1YEa61XqUJB+X6JOYCF2u13nVUf3Tn2CZ9LLxalV2F2cFNkFL9eHXCvLzmloJ7DhorbZu7cn5iWqEasN2Gw2S015HiQPPetGU/wfYdc01IRWCZFjp55zg3N+6iZotVr90FATsElTpwkr/+QZ+6/RsfbkooPY90i+ygX5S5WQfV/0TBGo+ewORrPrFuWvCWyTmc3gmhp/d2CbzIxT0v37IBsGs9nsk8beLdgoc+vQh2ucOcQ2MU6HR0kKO/HMv/xcMuywUebWsS5/uBxzUvNzLz9YiBLhlyyH1geftn045wM96gY2Slwdi2Poa9hVYg7DWIzw/WeJikJ7rEfdwEaJOwUX1RgzYi6dWwTrTYgRDUer01eOZBIKlFgAbJW4f5RagFQ3VkqH6AJ4hECM1CmQ0qhhrjRWpBLul+rESJoa5kZjEgSv+78jyRIUsO5DYiR18FaAcihRNXDLEh6YbITI0BrnQmh9P0hUDT7TMFeSVcjzMMTuNiafAN6hoa4kD0Oex+Gk6wW88w9kj8PgdTIjw0tEjVCX3VtgwDaJbIZGReNNwUiJqEF7rGGupJqwv3iEAXcBmj6KxyVolbPc/4h1Ocy9mOBzDXUjl4NO4KZGz5nATZCmjlIiAWKTxJ1HWDGzV2O5BbB+CVKl9asxCPFi9nI01wJzOiNBkQtoVGiKrPKCYv+yvym0TE65d4FVrMoxNmjK9rAzVvFJJUi1wiBPMLslRnfm1PSXQfKwCgXmIRtT95kX12RR+Jk8YHkYQhYyZEY32BXNezOgs9S3odRhxQJ0ldq2lOjYutIp6Z3DNXuC285XIb6sEqMF6GIe8znIsCVa2BzoYJbt20KNJeb68AZkIrtznbeAel7iRHcEWRe3t57gijQ6Hh7BnMzdm7u3IezO//nf5mKgODexnPLYQZJWrOXld3zGGMbyzM0afQ5ckZPA+Epdlz944Mlg8AdeGhwrcLZF/QAAAABJRU5ErkJggg==") 50% 50% no-repeat; background-size: 22px 22px; }
.ui-page-theme-d #backBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAIKSURBVHhe7ZtBboMwEEW97El6iN6jl+oBepGueoeus+mqmyhESCkSUSSE0vLQEDmJCSRqCZ7xkyJCAMn/47FnDHGXWK1WT3mev5dlmVdVVe/3+5+5QxtpK22m7WgQOePhoqIovmIQPAQa0DLaiCzLXuu6jl/5CWhCm8gM03SZNzlfLWgUucfgjpyjnrOeQHxo7PZ9oPVoTGCQkGNmQHMrHic0jPbXgua2FzBXym/mQLsjYZB9c6DdkTXJvjnQ7izGfwfanXw3SzJAtmZJBsjWLLMygGlps9l88JmqNpmNAdvt9rtJTR/b/LxhqgJtFgZwxxeLxYNoPzBFkXZXA4ZWaRoDPuXUf+NuBhDvy+XyWbQGUWsARYgf732oNKAv3kOoMmAo3kOoMWC321VD8R5ChQFj4z1E9AZcE+8hojWAeF+v1y+i42aiNODWeA8RnQGIvzXeQ0RnwF90e59kQAqBNAjGZwCYngZ9zCZCPqZT4Q7TxVCH6XLYx+yCiM/pEngfag0A04uiHaaXxX3MPhjxMf1orMP0w9F7kQyQrVmSAbI1S3pRkqlH9s2B9vSytPnX5Uk5LY4DaEZ7m3dPUXTMDTS34mGqwmMuoPVw9zuoy+W4enrXIPhToZyjFjSK3DC4ozEc0DR6VZr4YJDQMDugAS1nMT8GLmKuJGEga4rBENpIW2kzbb8s3LlfGpwrj7uph1IAAAAASUVORK5CYII=") 50% 50% no-repeat; background-size: 22px 22px; }
.ui-page-theme-d #indexBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAT7SURBVHhe7Zq9Uhs9FIapUqZPnStInzoXwA2k5Q5S5w7oU6ZMRZuOljJVugzMYDBgBsyY8Rhiosd5vfHK0krelda7gWfmKz6k1ernnPe8WmfnhRfa5/T09N3FxcXns7Oz3ZOTk1f68/NgOBzuPz4+Pi15eHh4uru7G11fXx+yKefn52/V9f/DLP7T6uJdzOfzp/v7++nNzc3Py8vLr0SJHu835mQ/ctp1MM/Nl1HCJvYuSkzOf5jNZr+1nsZYUfKF8fWq7oHgTafTmeaeDUXJcDQafSdKjo+P32gK24NJmJOaaI6tsvUoGQwGr8lbzacTrEaJEdf3mmoebm9vf+m9nQRBRpg13bQYtT7SezoNh6Qpp+Pq6upA4zsZj8cDQpBNmkwm45AvyAlz0bTTgMtDfHyYzfmmrgUIJapNjUcz6nqFOuA8NY3mhFyeWeAPda0E8TQCtUeUIFi5NoQN1yubg12tmignW/fSw3OIFalFyKLkGrY2SXOfchJyebGnHwsbTjqxEPPujUSEwyDKNFQz8OSxLo9+bAQ6gTvUEEkICe8SjFGye0RTl8eGLF1aU1PCrVHDeiFKm76nQC5vqLGTQCgT0ixmE9tqFrUXKqXJTU8bLo8TQ/TIdXJery7BiYb0h7KctNyZPN6Ky0P9tSEH6AhlMrR4YAM19UWqEGn8t/r3aHhI4/YCDktTX3yQ0Z8LSB81hwm5vK5BtKx6DyqQmgqIJjVXE3J5XYM7hl3rKYFqLmBdavaDAKVwX21BebVrPZFgHyD/HzREUtneHD0H5SqheBZ1KWBdanazicvrApyoT9Q4aXUroIKoeR12jDxS386DOCPSmr4TVxo7LTn5ktrl5QZPoOk7YU2uaMaGq8s/8Odq7wXMV1P34jNvGCN1+YvpeKi2XkCkrtZ6F5yyupdAA0rVAr+stl5AXUerNH0niKLLv6wJJirZJ8WnhIW+KaiEO+8Ka7lPLqit83C1NYur/MVY3yrWnB+s3g8KmnzYaBOVu0r7iiZwD9AjJez7wQJCRe2dZ021HfgU36sZPpXk4yEvxGAwqC+k2sIZuha+taAFHLS6lXHVfUJFzSUYhE2hnVxsi5jP2Nz3oxTfxpX/lQ8IKgf5mDs6XFdbGypCtOLb2B4ZoQleEx3kiA7X1dZGiu8U8Zi02bG/8jB5NdUmRXRwojFfh32KH+MSF9h5k2IDbDaNjmDeCrPBTuvOpodcYgGuSs8VhFxWE0LREXO1BfrokRKViu+CcqdnC4LCkZBldKD0RAiboyYvtRXfBXdpPV+AqETlzxaQ4q+v3sBGqls8CI2eL0F+qUtnIH0qFL/+L9C+L0DkaZ2SmAvfT3KkcaOINXmz68opQFR4MaITrawZ8Cl+jFeIIuZnLzaJ3eYXlZganQo23/YrgIlLOg/fLvtg90kTlDtXqqD4Lu8QczWuBSUwxqzYcBqkCs8nCUlDcsWPhRejqr6Xh+B0uMRQYtEXDbsRRJTvtwnmpm75IQRJDcqPKw9jYCOZ9Capkk3xm0BkEHpNbnw8x/OMw3gauoTLnEEyxU8BJ8mJNk0VIosII9IYl8/zrSh+ash1To68bZIqrshivCyKnwvClGpAHnNyWkdtav17nq6wkipHdX58ifntr1eQxzhJ1Nxnv5fQJ5fB6gTcLUx07JMqJv9LHzU7pfhtQG3nYwbRQc5v8+L1wvNhZ+cP4T66V7TrwhcAAAAASUVORK5CYII=") 50% 50% no-repeat; background-size: 22px 22px; }
.ui-page-theme-d #searchBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAU2SURBVHhe7Zo7bhRBFEUdOiRjC+yAFbABlsAmvAM2QEpITuoFkJE5JCOw/JfHGhshjT+8M7pdmn5+PfR0VXXPWD7SCLmrpj633q962CvJ8fHxm5OTk4/n5+efLy8vv19dXf1oPvb3oT3/cnp6+sk+b/WV3efs7Ow9m7u9vb26v79/fOrB4+Pj093d3RxhEExD7RacMptmM7n8NUzEb1iQht9ezHwP/hhae1EWi8UDQtgc+5pue7DTeXdzc/Nba+0F1oFbPDw86Ek/cI+tcg0Cl1npQusL4fRms9mvi4uLr1GgWw2Q19fXR5i9vhqCcIylr08HkbvrBDnh+Xxuez09sM/GZosgiLHOQqz9p7qPD/7YFeTMTGelzBT3wnq65qJtiMBZcPLRgmqapm2y09WwFHWrDwuJzJLF1Q5OWAPpVVO2MIv8rm71YAHRKZD6aFO3qhAwo4zDoXA46laHaGIEGWvzDfg8AVZLSNha/iKQupXFJj3QPAl8fqqcbOt5y4a1lAQltLqUJarwps7FiO/jEYdS3CIpUDR+glSn5knhxLWkRHEr8JGXFDiV6XvweSpNLW2JrKBMLOBK63M+AUjNWwFXbi0tQa2i5jyiwQmIat4K8HkfC4odkjd/zI00pOYEJlc8+GyAT4u4QbTOjWBTDKQxl1B7q7kFlZjFhQ/6c3S4m2iJCRMgrzAi0GmsRJT6UBrLmDIwIr6WmEAUNQ8jSn+RqvZsWSTRX48mwVtr9nUZs9ZYCdvss7e2TS4mYOrRJPjKkNJdTcPwRQbpUE0tmgA0dXqkOFsuVBDA1TQMLwAmpqYWTZlctAAZgM8E2dWqF4Bcq6YWq6ZXrAAZgE/Z2QLg0xorEZ3w6kXJJp3r8eisrgOyXZLT1FiJKNV50yMrqGlU/J0g+1UZKU9jJaJU510Flxg7FlCFavoEWUzNwyDl+YtQlFsjoUZ9UWlE1lrEEvFpjbeE01VTC56rS2LMFyaU6Jp2id4R5v/S7M0bojhA2anmBIsYozrE3bz/Z2eAhug+EJm3qb0fWQEuhDjqVoXI/LP9fxW/MU6WoKPmBGL5e3kDZWn0nRL0Xd9gIvPuuhZzGj5wNmCmjIXJqns2xBkNn8i+A3giH2OTRH91aYEIXZYAjEU2iWLJJnDK0bpyxw2JrMAsr/NHEcTxphnBBiikEMTmOMR3+1qJL8CgyzKzIcj5lAjU312L5TkbQih1XwuXKYToEnWVKDshZp/vDgbT8i8dAJ9DIHV7Bm32OWBzCIYgLJZ/EZVTw22sT6+8jaiaugVjqEs9oqADmGPfDeQQnTyMegnjJDVvC3y+SgAyMO3I51chhqh7fXzp2UD055S64sIQsDof7bvgcOxzhEXgbrhLFcu0QfeZSPM+gwVzIkODEgLi01iVhhwMY/ALl4YuCwqvy/m0YbrW75u5x9rfDRCLTWNd/zvxKCOtwzRYVBPBrKFXzgeyCH1tAzOEwUx5k9PXxOnXRHssTI97UVUETBbfj9JkCajwsAzvUl0BuYuqIgALLCkELkSd0ZVd1sWhLqqLAE0Qw8w3FYNN4yLEF3/ink1jQcMoIjSQMYgTBEJMlhPF99lkEws4STZs/fifpb3TFuNoTxszqgi1QDTtZxA7LwKuZpvIqhV2XgQWzya0n0G8imC8imC8imBQmZK5NOTuUUKEMX/UqUKuCNXeLY5JjggvQgAYKgJVq4bYfTYVgb4UWPr6y6CvCLxvqPVec3L+J8KL3nwDIpDntecEwrz4zTdQ5JDnifR8CHjPfX5v7x/sDWqlE78CCwAAAABJRU5ErkJggg==") 50% 50% no-repeat; background-size: 22px 22px; }
.ui-page-theme-d #settingsBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAUeSURBVHhe7ZpPTttAFIdZ9QDd9Q49QFc9QM/QK/QIuUA3XKA7dqy6Zd8FUi/QRXcICBAQEQpCEQmdz/pZtSfzxuOxHQWTT0JK7Ddv3hu/P+MhB3v2bJfb29tf8/n8b+jv5ubmp8TGy/Pz8/rF4OnpaSmxcXJ5eflJvgZZr9cvFxcX7yU+Pq6uriby1WQ6nX6V+Pggx+WniZP5IfHxcX9//0d+mtzd3f2W+O5yfX19SD7razKLxWIuP00eHh5mEk8GW1x6fdfXYXHOH1GsqOYshC4nEesAJcvlciXxJHAcvdiEbbo8DKXzVQjrs7OzDxIxOT8//6ghjaToQ8ZPqUEXYTabHfvOl9C/rert2toXNj+Pj48LiTdCqrgxJ07nZ6mpwVzMKfEagyxCzPmS1Wr1gtGnp6fvGENopuR8DOakJjhd39CJbjoJc8XodRFwpMn5Kjjd1fEQLAR/+toINjvbJ3IjH3LNCrddBptTakkShGCbKEiFUG4K5xz09Iu06Q0KmfRnQXujarvcPKQwlrUC+Mw17iGDrIZlga1S3R+8pLSp5CWMoY5UHW4CWcbkztdmrlbwlFJDVhuloy7GMBYdKRsoQA4bNXwYaImaz4SnYPXwEiKKLSx/fNblIOhKiQZs05BhibUjWqBVfSlM5DgVulpU+cw17lnFC52x9upsmkp0WAhL62lwPeQ8TqU8wRJkQwuBbkvP1haASq05a5B/ftizWFTknBbKGMb6NYQ5rJpgRU+vWE+AYiWRAgznoFO3s0GHvwjMpds1Bo8CXkI0Vw0WxTey676hit/XmSv0IIga3jol1j+c1miuGi70aocRhGJO2Fugyw9v5tTtGoMdrdOuQu8E7Nr8p2+liQ+5nNrj0Sn1BcwZ2jHSKTpFgY6XJqwkbYmJY0Yio6EFPCndCsJGikhiHg0pNljoaYoaPwoYo1sbYDOLgQy+4FN1zg3Is9SnUYWuIBUFMaNwHkMkugEnwhIN4i+21ZFi4KNfUwpyK7a/9Yy9Ogcn9ojZgW6JFTC3brWCOaTiP7kLQC5KRbG9tcI4tUJbnQbQUd02M7dutaK3BSCkNbyAHNOtDfynZ4FTsVrg53HOecJ+AfpaAMBgqXh7KQAUIqkoeLVFkF7JBLHwC/Ga2iC+4SO+SsUmhBhhiDFsWHj3j53R+UbtykYIm7GdufAFn6rp0xryNxTeo9sKx3jTL0Pw5l+HwQpvDikkUoCRuZ2lCjr8xWUu3a6xlWMxq/KSyy5Cxn8khkFWFHB99IeiLEDseJp7oUUAnKJ1+fsNPnONe9ZTRGdsXlqeHy2D4MLyRHOa8JT8dPChJ7MX4K+pP6MrJYIG7QBAF0h9+SBPKVZdngpj0ZG6V8A2bNTwfiEEQxuhJpTPW/vnKDZaKdiJ2LYzBXZt6KCLsPWtLgifucY9ZGJb7xTQIdX9YLW+rhCyqSnVFiJI5neDIpWag7sENvuHJ1nw9NtsZGhHsXaVC3rp9fraCDZju9zohlO08QNJH1a8+v95QrDrQjAnjlf3BtjSFJFyvt/fCsYWgWpNEZNoDa6zpW1T0ZFlv2HtJdBp6cPGwX4o4S8Cn0P79RDko4Y1kvJGx5zM7dsz+K9EykWg31ZDM4WUYkoLlHgS2FBurbf2Exk36SRns5GSBuS8xJPBFmqOvu4uKecDnDpJfHzwsiI/TTjAlPj4IHXkp8lgLzO7QFMnoJC5Fpd/dP0aiHUCqrnExgu9m2IY+hv8QGPPHo+Dg3+UfvstVzGsUAAAAABJRU5ErkJggg==") 50% 50% no-repeat; background-size: 22px 22px; }
.ui-page-theme-d #syncBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAO+SURBVHhe7ZpLctpAEIZZZOk7cIEcIescwofIAXyBXCBr77PN3hfIMgdIFYvwfhSPCsUjkPmoXy6QBUhmejQgvirK1gNN90z/PT0jatfCaDT61Wq1PumwWjSbzfpms9nOZrNho9H4oNPVodfrfduKbrf7rNPVYTwe/5b/2/V6va2UFFz4P6xWq4383zGdTru6fPt0Op0v8vuAykiB7C+fDyAqKiGFxWKxks9vuDopMJ250H3q9/s/GNnJZPKHqS35cEzCGw6HPwlxPvL1KNFLod1ufx4MBi9/HczlvkEKrmM/qrl4YKQZVdlpCpGjZsvHjfijc3wi24JBsSQTyoH5Gu1ahHkeSpUCDZcx6mlKkQIhv1wu/8mG0gkqBZxPl6llw2AEkQLTW2zOJ5hLwfVw/VSFloZRIUdQuWEcf5ki5/P5wippumn4q8z1CxsSOKB2MqFzqPQw4lw4uusPSMlVh9/pFF8dYiYFyli1cQCGU8ayertk14bO0CMvAnu8RwGrLzYk9qEhn/t1VJB69LvAPrP9Q/SrdnYgBZKhLnvh2PL3HIQ8aw6zGWB/Y4LGrJIMiVHN5IL7nS3P5BI9wgYSFA0SBVa9TNjuvMoB9jAIQXaJSUxonQSoUyYwkvIvE2xgALBHXwmDNiiedGhGOsckmCa2PLiQr+tfMwjldGVpnthiYn/+p5CiMDJPbDHBSJPRWc1V8vUXYV5Jx+/cuVMtQtQUUcJiitUjH526fZjWWLCwHaYax3w9EQVUcFRyWUvbEAuZ0kpn9E1FRw0vfw/gvHWxQyUZPMpYpbFaS2+XpWHPUF/xDh2bvJoLFgGEM07RaB6s3towAEmesezkHUpshV99W4wMtpBrksijDTcoXvcoXyGxMYL80GHXWkH4nh7lBaIvbQsy1GV/kNhIKkXeBGWBPvXIi8Bxdo7SssM+bNVt/rjU8QQ6gCjSYwuRRN8p2VFv6Ha/oDG1cTFMgyQpnEGrx6ZEHGakaZvRPje7mIR+AkYWTXh5IYzpFAom9MxfjvPOKoBt742s3DDNnBuFMqDDTHSfhU8p+EDOhyt5LaVQFGfHJKjzCTFIgSRqrvlTlCUFXppYldKFCC0FZgSmuVJC/hghpMCIUzzRlpqNizxSKDKfcy+ZndGmqitV53nIIwU6idBlPxD9csyGSfLhWFXho7vv+jZLKWdPSSHa8PWJG8XMX41R2uqW20ZSePNDaUJct9w+WVJA17pcDfalwB4CkaFL1WBfCqbr85hJpBDiB1XRwrwefRHzSq32HwklQEesaIcKAAAAAElFTkSuQmCC") 50% 50% no-repeat; background-size: 22px 22px; }
.ui-page-theme-d #moreBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAGiSURBVHhe7ddBboJAFMZxll32HL2GV+kNeodeoNteogforifoyrVJiYKJITGSEFPLn340SgBnjItGvl9ibJl5M+8NMEJiZmZmZmZmZmZmZmbTlqbpLMuy5+Vy+cp3/f+Dmq5isVjc1WM/1mO/8OFvjqn5Ksi5U8NMTcNWq9XTdrstDh37/f5QFMVX0CAj5vP5/Xq9fq+q6ltD/+EYbfRR94uQI7mScxe1UaO6nqon/1C/QQzKGVNIFM7IbrcrNdQg+tBXYVHIra/wLmpVyK88z9/UdhYTDK7iAM5qSPEt+sZeCeQUUnyLmptALpmYQJRlWcXcs1zaCg1GjMLPIhdyUmgQam5u6c1m86ljUdhYNP8okuu7588hJnSRyUVhUag9ibk0jzXBAdjhFRKNWA0z6tKTSO1J7OXfYkfV/KPYmBQSLXTD7fvlCkHtXoDJ3wKXBrPxaP5R/34TnPzPICb9INTi8VBtg5ggdGPq4vE2ZBHoQ1+FRSG3kEWgVoWcYhX7dlQGvfmXoWMMwsZy9Co5jddhMzMzMzMzMzMzMzO7YUnyA5Oi9b2LNFr2AAAAAElFTkSuQmCC") 50% 50% no-repeat; background-size: 22px 22px; }
.ui-page-theme-d #toolsBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAJTSURBVHhe7ZrdbepAEEZdQOpIGXlOA2kiDVAABaSD9JEibgV5RCCMQAjERRAE9/qQT1acrBMT1mLxzJFWi5jdmZ3x/nqdtcVkMrnJ8/xpuVwONpvN236//9cUylKHuuhAl9ReB0Wjezggf84GXeiU+rSZzWYvh8NBTY8HOtEtM2lCA9Xe1kg2COPx+OG7J8+43u12hybpu/kCG9iS2XRYrVZztbECE9lvGkwd6kpNBWypWBrQWLWtQozuWjeskuoFoUbGfEqh3pXUXBDqqqzfEp8NuqS2BJsSX57QE4rZRUNDLKl5YL1e/1W7SgaDwZ3EZ4MuqS3BpsSXJ7TrGw6HtxKfDbqktgSbEl8euihb1SL1Ga/T6fQ55v4dXehEt2z0kloFOgcRH41G90WUH7uQ8KVRj6TgYrF4PeXoei3gE77ho9ytwhjrouOfwUd8ldvvMLm0cYRNFXzF56PzLDGcwCQzAz4fl+q6w4YFjueJ0C7OCsfdpIWJrw58z/S7MRxCirX1geXkY+K/0KEoNrHtnxyAcvYMgEzFWiO2/YzNwSmJSMveF5CF6sRMse2rqmOXj6+jm6RinNXe0CAL1YmZYtv/zSTYl70vIFOx1oht3wOgvDHmA8DSEXq5wH/IVKw1Yts/OQBdwwOg3CweAOVm8QAoN4sHQLlZPADKzeIBUG4WD4Bys/jNkPm7QfO3w9yRb7dbc+MAn8tP+fI87xn8QqR6v8AbVS4KVKaz4GPtm2W6xHw+/9PFIYFP+FZ2+5+g4Oc7+GtNjZ12HMdxHMexQ5b9BzIZh/CDCWboAAAAAElFTkSuQmCC") 50% 50% no-repeat; background-size: 22px 22px; }
.ui-page-theme-d #faqBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAP6SURBVHhe7ZtNrlIxFICJC3ADjtyBK3AlLsC5u3Do3CW4AqdOnTpjYCD8BwkQQ0DQ+70cyOXaltv2tL2P8CUvjwe9p6c/56/l9R48KEO/3385mUxe88Nrefv+GAwGb2az2aflcvl9s9nMd7vd/ng8/m3Ce3xGG9ryDM+KmOdFtapvF4vF198VMr5gkIEsZIr47jKdTj+wgqfTSdTXA5nIpg/prjuMRqN32+32l+iaHPqiT+m+HMPh8NVqtfqRYsVvQZ/0jQ6iTl7G4/H7ymn9EX2KgQ7oImrlYT6ffymx6jbQBZ1EvXTs9/sXhCjpt3OgGzqKurogGJuTvjoLOiaZhC6vfBN0FbV1wL5E9rNBzSfgYbUdHvLI8Ehs1uv1T37ztylFDoU+oqMDMVYz1DFIcnxb7MZ2SXDYwofDIXrW0T0qT9Byeucw5eOcqBLZHSIiGMYgIv1gJbS2PqsuYi+Q01cr/Y3Vrl5/NpXEGpGHMQSlzVq5PasoIi+YnCr9mXYIE4PpSLMgkC3i2sHqyLPRmKo36n75+Ipqp3yUJlfwvjQJxquKxCvLc9GYDjVsDs4Wv9kFsRGCMYk4Nxw8aNk+mOzPFllM5nIm1gwYU6tDFU5f5BkVml7Y5VxdHlvDJzE2EWcndqZNMDAiAV7fFd9tJgAaE8DYRJwZ7FXaFsGVvtocpy/Og1ZWSdoVwRavUTplTnKBLSjtsoNjtGWKmsWYy8xUw58vNgelXY84w6GWnfnCAG1Fi0Y9UIcxiuj/0SxHfbBlgNohGRijiL+GbEvaZMWU/OALCJnSRB3jXSTlp3yeDXIC+hUVnkC52ArwFs0+nygxAc24jx/I4YiNE5DbBLDF+lYk1qfIQk0YTQByOsF6OEKhXIO3OkHIGQbrhY9Gvd8WZxjMmQjVMzLNTO8WzkQoZyrMViQK8JPT9JypcOliKAfOYqh0OZwDZzkMubxxCRibDNNOivy7CbU9zoh0F5vMNemtjsSqLEn1ULQJTq95Z0funzoStD4UhZTh0Fb5QcoawBn+mmhejNSh7red+gArJE3V8boYAa2rsTq3rqiYHGmqivfVGGhejp655YVThGHGEHQ5Cils0qVMCkdYrzm80T6QBHaBKRkhMminxOge9QUJSPEVGUIhMRnHRFRglbQHj87RX5E5k7Na06J52hRNzkoxFmfFFwohKmWiogU6unKNKBDc5Z2AbskGXwf70naMMaCLus3fAg+rHSJDQAc1b+8LMRabK7Eb6JO+o+O8BmR3KWoHG/QVnN6mhMSGsjPFjkAmsr2ruhJQ1pLpkfaK/sEgA1mtDzO6Bnk/J7GEKFawclr3/4+TbeA6rFrV+//X2Qedptf7B0Vbs7sYByOgAAAAAElFTkSuQmCC") 50% 50% no-repeat; background-size: 22px 22px; }
.ui-page-theme-d #noteBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAALMSURBVHhe7ZvRrdowGIXz0AG6QKfpPp3iSn3vEB2mK/TtIlTEBaGkQkIopc2XHv6WYCAJJomNP8mCgO3858QxdmwyF7PZ7MNqtfpaFMXbbrcrD4fD79AgZmJHA1rQJHnXIfN+v/+leqIBTWiTzHPm8/n7PM9flT9a0IhWyf7HM4g/glbJ/gtNQ985KcuybkIhJWK+ht0OdA4U0OcGnchms/m2WCw+1hkDhNjR4OrE0Vx3jK6rT4HlcvmieoIHLS4T6lbAz4SODVxT2WhAk+QZaM/4rdSxEXKzvwSaJM9Ae9ZsGnQeKhMdzY4R7ZneG3QOyh8drs4+GaBXIxmQDEgGJAOUPzqSAcmABxjAEJPJRpU+D5xeug7ZvRtwaao5FJy7y8TNqwG4P6b4I8TQtiV4N0BFRmcUA2C73f5UsdEgBoVzE+8GHNcP8jz/Pkbi3K2f91d4NyA0kgHJgGRAMkAyjWSAXo1kQAcDqhHYp6H2D3AeJkE6dS+8GsASc1mWg04GMLrLwKeJVwPGmgvQ6hRCZ7y3AFeFj4SVncm0AOBqMBmhzKMT57nn6gP1SKZxlwGhkQxIBiQDkgGSaTyNAfxsN0estVa9N2I0gLEDj9Ak0agfqeu9EYIBLIpUgl6LovhxI70xfnDtGURnPajSsTF1AxCvUO+iGlR9qSvUsTF1A7jyCrU3J6tJ+syYugE0bYXaCwxcr9fvVN1zGUCfcLZTXN8ZsRrgFA/63ojRgIviQXmM2Ay4Kh6Uz4jJgJviQXmNWAxoJR6a4+Opb5ZuY0Br8RDadnnEKUwnncSDq8Iu+26G5tqmjM7iIaS/zCDu0lpEL/HAjIiOT/UYmEBLmMrtwPCVeBTeCb3FH3G1gv+hY8SkMZP3K9/ExyxraIjZi3igopBM4HY4mdX5gtuBJqfzTA5is4cZj4KOESO4v4Za/r4Fwrnq96wNnpNlfwA4HvhbL+BtiAAAAABJRU5ErkJggg==") 50% 50% no-repeat; background-size: 22px 22px; }
.ui-page-theme-d #saveBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAIYSURBVHhe7ZthTsIwGIY5gqfwGpyD+3gIf3oDf3kGr+B/E1hgGCSQYEKUPfPFiLSlxRDW9XuSpmFb135PS8e2MvjNZDK5mU6nD6vV6m273X5+ZQTtXSwWL+PxeKhw0mgKjjabzYfOly2IoBMVVhwEn9LjiJrP5891XT9dM9HjvnbTPoUXhmGf0vPr9fqdMip+daqqulPTjlgul68n28pw0fFRJA+vM2hG5K0vuQIKdSDzWVACB+jYKDCuoheBIFWVE1f9jErtdhKUkDrb5ygAvBK0P5pcBYBTgvZFk7MAYGJUsW+0PZrcBcDBJVLboumDAPi5mulzNH0RwOTf1DUsVgDwS7JoAYyCogWACVAejQkwASbABKjei2ACui5gNpvdq96L0UgY+lLqE6FTJAvgnlr1doJGykhNO4tkAcCQq+v6kTuqayZua1OfaP3lLAF9wgQoLxYToLxYTIDyYjkpgOt98N1aR6HNtF1heAkKaB8aZg4xKBwnQQH82tJ5soUYFI4TE6DciQkwASbABOg82WICTIAJMAEKx4kJUO7EBJgAE2ACdJ5sMQEmwASYAIXjxAQod1KEgNACg74LaNcKh/401XcB7XKf0AG8WtJ5siX0eqztYN6h+VZZsT3H94J7omNjpZVvLuDALvxNNjXRZl/wxErMbfB72OAr0CeI8Sj4PQwJvhdMDv9dftYliIWYiO3wKz0Y7ADbaBPjPVaT8AAAAABJRU5ErkJggg==") 50% 50% no-repeat; background-size: 22px 22px;
box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important;}
#converterLnk:before{
content: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAIOSURBVEhLxZXNS1RRGMZnr39A/4JgFIIuNKVUhlwNblrUZkBEQSWjdOXOQNFWbdzYokVBqyhyJTorG+Z7qME2gQiRXzSYrhzt4/cMD41Rdz4q6IWH95zfed9n7j1z77mh85FOpydTqdQ++VuD2qFv1DY/B4vdLH5FW4xfkOvVS7SNSqjNdpVIJpP39OssdhgFRiKRuEDd3UwmM03fAH296mU+7pJKqMjGF40CQ6bULpNHyJu5XO6qetGkSyrRiLFro/l8von8lp5r/8SYuilddTweb2FcqMs4m81eMgoMatoxW6c+hubZ856axjQ8R0MN6lVN479UsDGPzxK31kfu50pWxchPxCTqntlkxfM+xo/M6vvzdJtiMjASi9gkaiTWZVbVeIarbdUPMH9q9kBMYv5QDD0+x+6b/Yc9Rhtc4QJaRO/FyHkz6Y3ZO3rKjHnCvcHGvJ6XjfQiDIvRHDYSGzQbMtLZUfs5Rjf0qhYKhWb2b06MtVExCcM7YqzNxmKxZol51L1V/7wS+TP5CH1xw6mYpbHY2W9Y1SvexVD7HEfHZp/MNhgXzQ6ZvyaLH5hVNb5ipOezfNto0Eh7fEuMtQkj9V533a/GFOqM1d51Gunwv22TiJHqbpr9ONQZh208ZlQJFruQ9vQDeQ1TnVzaPzXsiVnlbyK5iNatj+gk8GRkcQL90ccUDduGCIW+A39P7pXBbh6KAAAAAElFTkSuQmCC');
padding-right: 25px;
}
.ui-page-theme-d #converterLnk:before{
content: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAkZJREFUSEvFlU1LG1EUhif/Qdf9GW4KWlxUFBVLvxTprnSX7GyjSNHSou2qWOimYrsXCiJYKLhQC/4AabLxAyGBFpJMkpl8x/i84ZTpohmTtuCBwxyee+57zz33zozzy1qtVqRcLi/X6/UycU/GHK9SqcQJIyYXGANjF1ij0UjjOz36jyZWKBQGTS4w3/dXtXo2m50w1NFKpdIN8lfY4Rvi6WKxeF9zYa8sJTAlaTCXyw0b6mgSrdVqm4jGqfbMdd0HJrxqKYH1IqxcWhdNpVJ9CB8j/PB/Cb+uVqsv8vn8AMInXQlnMpnbhjoaPR2mFUeIf6fyDxza1JXCJO9qm906C0SZs3+l8L9YqDDPTSoZxcfp36EYFX3hJRiVE38VI94jZ0wO2xLr+vC0VTEJGnJY7J6Yxgw5HOK4WKgwd3ONl2SQBW7Rv20xRNbF5LBPYlT5mZwhMcbfi11Pj9n2EVVvUMVHtp0ydiwmJz4VY+ycHOWJJcRChbnHI4Ycth0TY/KkIfV42ljMkNPVPebyx/SqptPpfvr4ToxK58Xk5C2J8XyLYJt5njcnFiqsLyfu8RX09Rk11hQzb4oxfqEc8zYLFSYnRwsSeJK4YqxoLKHYmM+OkmK0Jy8WKswVumtI93hRDIFHhtT3J2KMzRvSt2NW7I/CwBUNInzHkIQXxOjxrCGHRR6LscAzQxKeEUPjpaHAOIAR+qe+/WRrB/g3vP3/4+kaO2DcFVNLfmMZvMFh3jS5wMiNUNlz7uRf/UyZ+5TQfqaOcwn+KrjBNuRwnQAAAABJRU5ErkJggg==');
padding-right: 25px;
}
#settingLnk:before{
content: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAKaSURBVEhLpZRLa1NRFIVTUFpjFR8gFJyJ0ImT/gxFB7YDwWI6LP0JHYktiNSgCIror2iRQCltbEPzjjeB0EAmlxQUZ1qdVJo0futm3/bEXMXSDYu9zz5rr3se+9zY/5jneZdKpdKE0Gg0Llj69FYul+dA1zBj6ZNZNps9hxvqjXrGSt85wklLB9btdofIxW0Ybfl8/joiO+B5SM5kMpcZfwqFiTfD44B/sVKpvCbvVavVa8oNWDqdHpGoI1ADL4l/gEMnfwi+gafA5RfxZ02u35hYCIkOvlO0UiwWNbdA/AG/58wHH8PPm8yg6XwhBNs28jJ+jG2ex98QyMVrtZqObFU8wyaIXm1oEF4ZeTmVSg3jH4Jd+1AH3wJTvu+PMF4DWsQTK4+2QqFwFeJPoO2P4SXaVvEfOOBoJnO53E14+4x3rZuOTc3PxByE93hPhcQr2r4KbOwjdI8OuE/8xXI7XPgZ/AbjDiiAt4xn1S3q0QkRXeiiyOtM1QHCbVuH+I/EwXfUisSLbi1ocwe3IoVBIIzXmUr4jumKnxAH/29hNTuDGZCEnNEkXi0Vx7ds3GIXD8A046+Wq+soiD8SawHrYAkk6vX6qK2jZ/bK9CD2rKWmiA8k5IL8Lz5yl3hcMd7XAzOZaIP4wopX1VIITBLrmWtVQl2iCI3CU/92udTHVh5tuk0KGyIb1tRS2rJ2I9j2x0EgKlBTHmi30PSXgvAmJDtF+0AtpUsSdKbafh8PJKVhcsfGRByEfaxO2GLLz/CfNbZiIXh92j4+7+S3m83msMn1m359kPWXmgfB27eHolwgwPx6uG1dGLlFctvkrij3VwsFXaPw6EdPvGTpI9M/xcKTGWKziOqf0SZOWPr0pm7RaxIGmj/SYrHfMliSETOqv9cAAAAASUVORK5CYII=');
padding-right: 25px;
}
.ui-page-theme-d #settingLnk:before{
content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAt5JREFUSEullMtrU0EUxtsugtZnKVoUQRBE3blx686/QRHEhSil4kpcd9kHdCciIpgqgl2p/0HBlko3RppKxSJtSNq8aJo+kjS3yfX3zT1JW3IDln4w3Jkz3/nOOTNnbsf/YHNzs299ff2OxsrKyjkzHx3VavWFb2A+YObDYW1t7Qz+nbZ0KJfLXwNZ369UKuNmdsDUVSgUztoyHMVi8arneUmc3ymAbLlc7uLu7m48kPV95t83NjbcccDvhfsJn0X4l2VrAQKnKDNl/hL4i9OHWq1WNlMT7JXYe6MkzOQzX0gkEsdN7iAgvzJeExLZ2dn5RoAhxjACU2HBOK4xk2mFssbxj3GVxSSdcEVnSPk3CHxdR8QRXGNvxmjixfgcM5lw4PzRyJOpVKp7e3v7GVnn6/W6r8E8h+1JJpM5CWdWXFVq7uHI5/OXKLOi8pWpRFnX5bwfBKhtbW09ppKb7HuMDL6nTSaAml99qpaCMC9HnanKV6Zak1mmVCrdx/4QW8FsCT4RfOeskhgan1k/d12j1yTifhBgSGcqBwHRu5aHenpANu2l0+k+uCOOZMBex/d2O+FhXVRDmEzvma6En8qmPao9D3fUkQxNYb19PVOExiG5y6DMKd2+LsrWOQQfMfqxFWXjuxSPxyMEnVcQ1tPsR9HqTyaTvZZHgGw2ewFChQBltZRuH6eahPaD/RrH84Bqb7Hv4ZNWl5hMOMj8vZzJckZk3b4uSllZZksS1eVi/yEuPi/NPRx6+5Cbz5r5rFqKaUQXpTNV+cq0ISow/63HZTIHwX4XkScC6h6o2lNL8R1hjNqZerbdBL7RwcHBLpPbw/Lycg+RF42nLGKQ3yLmXl0DdhxZlQ/nl5nFn2t7zvr1QVjgdsfgurdP2T2I/wzcXTdMN14Zy24CvJaoLl62tgj79RHoSyDr/mJRMztg6lxdXT1hy8NBz5QjcFCfmvno0NvXa9Joaf5QdHT8A7NRP0BJz0NpAAAAAElFTkSuQmCC");
padding-right: 25px;
}
#aboutLnk:before{
content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAIaSURBVEhLnZQ/T1RREMWffxCzYmLjh7DgA1ja0VgQsw0FVH4G7ZbEjhZqooUheQpWVhRb7/8tNq7ZZLOQaAjGkKAJqKusv3MZ2LfD3YUwyXlz78y55827d95Nrmppmt4aDAY3bXp9a7VaM5VKZRFsga/VavWfwPgL/h1+AZ8z+uWmyiTIon0wmAR7Yb5QKEz+kk6nMw15HZx4kXEQt1wurzKeMplRs0rX/cIsyPdA7EtOarXaWvQMWKD9nFTpa/b9TqPReMD4s8sJf0He5E5NB0Vw4p6WSqXnRk+Yb/i8QGG7+OGBqlpPimAP3hL+Jf6PywXYFw+rJvDBk7Ig/xv8ZNz3OQ94myYbhNU2MaKEXnEwj9rt9n38Y7gHjjMC8jtBVN1AQM0fI/YhtsHbQMaIvXGcEcA9Dt2hB4FxwgGQt01Xwh993uHovO1YqN80Rgog/0I8/UDMtddRngC3F0RlBN57Qgbajlnx8E8ieY80iMpYoAslRlIF34rF4m3xmBd8Pgu4arf5ICpjkiMY7Qzin4yW0BXLxPbAcZZzBrhdirhr9FMjkbc3+gW/EJxrNpv36vX6Q8bPiP1wHKHPZfTU5Iamq89uqQvivFD3wHf8oc8ZdE+v0A03TG7UIExR0RpeQjGBGHS4K/ofTCZu1tfall0w9rZTDnT1+WMrjRmLc0Av2AQ7QAd2hO/hUzB/4aCuY/qS8z/qUkuS/2/ZX77O3DewAAAAAElFTkSuQmCC");;
padding-right: 25px;
}
.ui-page-theme-d #aboutLnk:before{
content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAiNJREFUSEudlL9u01AUhy3aCFEJgcTSjbeAZ2BhZ+mARCWGIiHxFGyIjYEROoKYqkbNwJonyJIlAiJLiY0S54/tpN/v+iSp5Wun6idZcc499+dzzj3nBrel2+229NjfuzMYDJ5Mp9OzxWJxlaZpsjKWy2WC7XI2m70dj8ePzX0/6/W6heA7xCa8N4LPGN9TXg9sux8cjojmp9t1S5TFfD7/3uv17ptMGXxa+0SzLPuX53lkf0sgft7pdA5NbofSNx8vfPQXwT0YDofHlGBg5i18cDWZTN6YXIEOal9NieiDuQdE/sPMJbCHo9Hokbm5aM9srRY2xfi9pxs+El1u5gqs76Kmha7M7oUSZGip5WoFN6DVNtkgUJ+avYSEkiT5EkXRs36/fxzH8Qsi9/puQDhyopomBFZmL6GUcRxS345zBkzfbNkL63M3oU3CGxDvmq6y+21mLxLmp2g7NjampwOTXxiGDylFZmYvmkYnKujRttkrqM50w3P58fvSzLUQ5IUTFbpQzF6B1CLE3bhS689mroUheS1fh24ppWBrJbD/NTcF8IlK/Odj3nKw9kflMvcC0jz1HSIiKS33StPJVD3V2CKQ2vIW/HLWTkxuB2sHuqUKtzL6IPtinrp+1w33ldd7JldGVx8O5wg0tt9NFKmJVm+2m+jqs3TDYms9qqnS59UfqQ/dUrpQaJ82T6TA9OiQ1VI6/cpB3QVNKJE1p7slCK4BqMokNhmSvQcAAAAASUVORK5CYII=");
padding-right: 25px;
}
#donationLnk:before{
content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAI9SURBVEhLnZTNS1RRGIevhmWBQVSgQQtFaWH/QTtTaiu0aOXKCFfSRsSEaZGbaFeC0UpwNUtL3CSzGeb7y2GckVEZw0UgVEYkTGbj8555L1yvZ2rGFx7O1+/87rnvee91moi2ZDL5AsrpdLpf584fmNyKxWK9qVTqAaY/aWu0y/Cc/mYikehTafNRLBavs/kAjuGvmHrBfJ/2isqbj1qtJq+/6jd0YW1epa0HqbiPwZnTCvF4/KHKWo9KpdKJ8bbN+Fz59QYnG8V8B7MfcEh/H5bod6ik9chkMjepiiG4itENDHtKpVJXPp+/xnia8Vg4HO5S+f+jUChcZNMUfAPJ8R6E6H+ABP2vYFLC+DM84rLbdbs99HSNqqGqDzo1z5yU5Buwp6dcLl9C9Mm7yUOVFPSxXrGsubyznpybfmkRC19YG5balhwzXvStuxzz4Am1q0c0Gh1g4cgnNCB+FolELtNG4CNs2HTKAXfUrbaOg/iVRWTgQ5nTL3EMsjaNF94uoLbGuGQTCaxVaWeo6e5gMHiB8Xu/xgvr68ZUTsPEH7/AgxjLhl+c5i7tPcbWT10QnXg6gUCgnYGUTCPhLIyQkqehUKiTuUm/xseheJpTs3HXInCJwxPN82swb9AI1reMqQQTC36BF8S/OfFj+vLPsGpc0L5VW1PDUvzfbcIWkZq/rbb1yOVycjFSq/+6yEYcsW+NH9eA2p0OyWM2mx1ENMGTF2CFfhTWYUORvszJT2kextHdYXtb3UXCcU4A7pYN+kMtWjYAAAAASUVORK5CYII=");
padding-right: 25px;
}
.ui-page-theme-d #donationLnk:before{
content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAmNJREFUSEudlLtrFFEUh2d3U4ioKKhpFLQRLESRgIjW/gOBCNqkSacgFoIo2AkK4qOw0M4EhC1SauemCabZylRJsU32xcw+Zl+zO7Pr+p25B8I4s0l2P7jcu/ec+7vnnnNmrcMYj8epfr//yfd9p9PpXNft2SmVSlcbjcbNXq93fzgc+lwwDoJgYzAYvGXUbdteUNejU6vVLiLm/QUR/J/RaOQWCoXT6n50OJsiut9GJg5pWVPX6Wm1WouqE6Pdbj9Ut+khhydJR0m1IjiOc0vdZsPzvGXyuccFA2amoUvhfpLfY+oyPd1u9wJjsVwun5di0iGXSc850jBPp7zn0sfNZvOMuh9OsVg8zqE3RNiVZxOlQyHzRLrF+g8j3BdY2/iusMzo8WSI6CwiW+ZYFDov0GUEaUm6ZHVieqrV6gkc8uofQUSx38He1q0YvCiby+XmVG4fPtvP6hOB5zbI6xLLTKVSmefpP4wlinxL5P6FyhnkP4CcJn5lCL2mvU4R7S5p2mQU1BSDIDyKfEllLYtDX9QWgyi+MqXpkCeI7prdyRDIR5UNhW3djyH9i/M7iYSfc+Ry3ViSQWsvFM1msxmprO7HQHiks1+v1++StnuhYQJIeaJpSSUPEibaDxTvASl5Lp3D/EpNiYgwk+lrwm+Z7ThSNDrmKcs0l3yT1BhLMvg7oajAj++6nwhRBBTvEVU/UFQgiP2/VJ56jTM9tc0MGk3Xda+orIGN27TTNtGFxZoGKTCvzlPYGyoXBZ+0XMBzXuK4xkUbkmNGmWHLoN1kvcP4xVilmM/4l1vgbEplwLL+AdY5yl4fpJX7AAAAAElFTkSuQmCC");
padding-right: 25px;
}
.loginfb:before {
content: url('https://dl.dropboxusercontent.com/s/vsc19gan0ihjptr/fblogin.png');
width: 200px;
}
.logoutfb:before {
content: url('https://dl.dropboxusercontent.com/s/sdbe56vqxeqevph/fblogout.png');
width: 200px;
}
.logingplus:before {
content: url('https://dl.dropboxusercontent.com/s/k43w3cfzowlynhk/gpluslogin.png');
width: 200px;
}
.logoutgplus:before {
content: url('https://dl.dropboxusercontent.com/s/nnprsunm8zg31en/gpluslogout.png');
width: 200px;
}
#infoBtn {
font-size: x-small;
}
@@ -115,6 +60,13 @@ h1{
font-size: 1.5em;
}
h3{
text-align: center;
font-size: 1em;
margin-top: 0.5em;
margin-bottom: 0.5em;
}
/*--------- Fix per FAQ ---------*/
h4.ui-collapsible-heading a{
white-space: normal;
@@ -256,43 +208,6 @@ input[type=password] {
background-image: url('sfondo_selected.png');
}
.ui-page-theme-d .ui-btn-left {
background-color: #3b5998;
border-color: #3b5998 !important;
//text-shadow: 0 1px 0 #bbb;
color: #fff;
}
.ui-page-theme-d .ui-btn-right {
background-color: #3b5998;
border-color: #3b5998 !important;
//text-shadow: 0 1px 0 #bbb;
color: #fff;
}
.ui-page-theme-d .nav-glyphish-example .ui-btn {
background-color: #3b5998;
border-color: #3b5998 !important;
border-right-color: #ccc;
border-right-width: 1px;
//text-shadow: 0 1px 0 #bbb;
color: #fff;
}
.ui-page-theme-d .nav-glyphish-example .ui-btn.ui-btn-active {
background-color: #395184;
border-color: #395184;
border-right-color: #ccc;
border-right-width: 1px;
//text-shadow: 0 1px 0 #bbb;
color: #fff;
}
.ui-page-theme-d .ui-corner-all {
-webkit-border-radius: 0.1em /*{global-radii-blocks}*/;
border-radius: 0.1em /*{global-radii-blocks}*/;
}
/*--------- END Remove select possibility ---------*/
label.error {
@@ -303,4 +218,58 @@ label.error {
margin-top: 0.5em;
width: 100%;
float: none;
}
.custom-corners .ui-bar {
  -webkit-border-top-left-radius: inherit;
  border-top-left-radius: inherit;
  -webkit-border-top-right-radius: inherit;
  border-top-right-radius: inherit;
}
.custom-corners .ui-body {
  border-top-width: 0;
  -webkit-border-bottom-left-radius: inherit;
  border-bottom-left-radius: inherit;
  -webkit-border-bottom-right-radius: inherit;
  border-bottom-right-radius: inherit;
}
.imageRic{
position: absolute;
left: 0;
top: 0;
max-width: 5em;
border-right: 2px solid #cdcdcd!important;
width: 80px;
height: 100%;
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAATlBMVEUAAADT09PMzMy+vr7KysrPz8/Q0NDOzs7V1dXY2NjS0tK7u7vJycnExMTCwsK2trba2tq/v7/i4uLb29vGxsaysrLc3NysrKympqafn5/59uVfAAAAAXRSTlMAQObYZgAAATlJREFUWMPt18luwzAMRVHzWSKpwUPsTP3/H23iIAWstJtSCLLQ2Qjg4kIrgeqapmma5h3S6AQ/fJ6MPReUxT8xYhhMvahMyO4uu5xdFKgYemlm7AYXFpCh6CMXkxxhKZIeislAAAj/DlL6JWi4I1H/GiyKdYIgrhQ8RjwoKgWDbIDQVwmeVr7z5CWagqXkvNqCpUnJEgSkvCJZgkp8Loq9JTgoAKoY/FoAaMVgtwRejzWD3RHPZ2eZrMG9OUjdIEs41QwmBY1Vgu5xSIQsNYK08v24rgDOV3twDG57/9QDYJiDUwBAmFzEjag56Ag3HBibcDEGT4odGoxBnmknkDGYDv3OOBmDrz4pmLo/JCLbslQ6KNnWuRJHb1o4S+A5GVbiQgaxRsvSXhDW4EzfioK4MXVN0zRN8wbf0o0Kwdr1WXcAAAAASUVORK5CYII=') 50% 50% no-repeat;
background-size: 80px 80px;
}
.contentItem{
padding-left: 80px;
}
.freewallGallery {
margin: 15px;
}
.brick img {
margin: 0;
display: block;
}
.imageborder {
border: 2px solid #3b5998!important;
border-radius: 7px;
width: 100%;
}
.imageborder-b {
border: 2px solid #cdcdcd!important;
}
.imageborder-a,
.imageborder-c,
.imageborder-d {
border: 2px solid #3b5998!important;
}
+6 -6
View File
@@ -1,12 +1,12 @@
/* jQuery.Rating Plugin CSS - http://www.fyneworks.com/jquery/star-rating/ */
div.rating-cancel,div.star-rating{float:left;width:16px;height:16px;text-indent:-999em;cursor:pointer;display:block;background:transparent;overflow:hidden}
div.rating-cancel,div.rating-cancel a{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAgCAYAAAAbifjMAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAABAZJREFUSEuVlGtIHFcUx++6YaPGB2ow3WqiCa2apmo0tkrQSExqrCVak7gVs6SPL6FQUGPB9RH8YkFBKPigii8oguL7rbvia0VQ/BBajCFQKCQxJsXo2mzdjbs7p/87O6luNt0kf/hx7sz9nzN3Zu497FXNz8/76fX65OXl5ZtLS0u3gWZxcfHG7Oxs5MzMzAHJ9nqNjY0dhEkHswHszs3NCYgConl6evox5n6SrM6ampqKBvcBuWJycrJpYGDAW0rbk06n6wcCDNzkChP4WkqzC4kZWq2W3paJiQkDOComd3V1KUZHR/V4f+JgTCMjIw7we+Pj4zxR9Ei+PLHA4ODgkaGhodXh4WHirKyskMViEdnd3SWTyUQ7OztkNBoJH1T0cJBTVV5e7sZ6e3uV/f399/BhiLO6ukr7ZbPZxGK8CP+IL319fX3VWL2coZInBgs9PT3EwYoIRQn3HOju7hbn93FLfAWujo6OvM7OTnoXUOBDKV2UrL29fQEIgN6AGThvqNbW1pS2trZNQG9A29TU5C+l/SdZQUGBR0NDg7q5ufkOilleTWxpadnC3FB9fX1Udna2XMqzi/8O4FlaWhpSUVGRVVVVVVtXV3e3sbFxE0XXampqdJWVlfnwxGk0mgBEp0Mlw00F8C8rKwtHTEFUFRcXq0EOxuklJSWxIKiwsPAQ5t2kvD3hl8vwu+T8VfhTsJqjiCeKiopCkRAIfAB/iHPyflFurp/w7ffJQt6PN623NLet+UUa6w95N17kfhNJyc5Ld5CQlnZQyPxKR1m5BuHq9V3hmlqwXVULGJttmTmPbRmq/+8HQmpWtC39yn364hq5wpZ2pUk4m+HcD2wXL/cLn2UKlPoluQIek3DhsmM/EM5dzKDkz+ltsSWlGYSkVHs/oI+yFZb483pr/AUS+eQ8WWOSyXpago9jwdlUsiZesns4cSn2fvD84/gj/0QnrppOnyOOubqWzDi6O+gDRkTD9jZtPHtGT54+JaPqO9FjJ6mKGHNjxohYpTHi03vGkwnEefHzL/ZGIMlqtYpNZRtFnmdcFz2cvyMSqrsYtvSa8oznVmjMguF4LHG2IxMRz9BWUJQDhmAQGiN6RN/xmL1+sHH4VN5G4Cl6F/46fNKxH6z7hC2se4UJT7zCyBXwmNd9P3DeUA/ZsZRHspDNNVkIueKR7Jj2AQt27gfBjHlo3d5T/86Ud/5k71sesCB6yUPwB1Nu/caUQ4MsMAp+x34A8RPm6e7uHpKg8MpSyb1qf2W+d/XMf3OS+a3Vy3x1KjeP/HB2IA6+AODcD4DCh/n4eyu8w+VyeQquVUANcnCdjhgLgsAh8NojzYvwpXl4M+8Ad+bOt+oJEAoCgQ9QgH3JjP0LiOu08eQI5iQAAAAASUVORK5CYII=') no-repeat 0 -16px}
div.star-rating,div.star-rating a{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAwCAYAAAAYX/pXAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAaFSURBVEhLjZZrTFNnGMd7O6cXbrYsgoRvxo9GxC1Zsg98IEaMMSFmzTRsMidpshCMSJlfltR7QTMTXUDocFxkqdsQBCog4CjScqflUsUlBnVLVC4G2UUQ7Hv2f05beqgY9yaPPefw/v/v+zzv8/6iDEOem5ubVFJScqy2tnYEsWi326crKiounj17dmdDQ8MOm82WcuDAgQ8wV0khCIIsFDKTyaS7cuXKtcHBwdednZ3M6XSy0dFR4c6dO29cLteC1+ud6+vrm7l06ZLDarUWw/xcdnb2J7SwaJCfn7/t7t27syRyOBxsbGxMIJOhoSFhYmJiNfDND0OGhfx1dXUzKSkpaaJBWVnZnoGBgeXx8XGBxDS5sbHRLxVTuN1u5vF4BCwmLnLo0KES0aC6unofXFloIhndvHlzjQF9a2trE8iAdkfvR44cqRQNSktLd8FgSSqg1aTvra2trKWlRfw2PDwsdHV1sbS0tP2iQWFh4Ra4PqUaSEXSoHrQqvSMXfiLioquJycna0UDi8Wiq6ysvI1Kr66Kyq/ZgTQ6OjomzWbzZhKLBjhG7gIGTsBPWxsZGRGam5vFQlHOocKi0AyLzKMnDhqNxtVeoKHMy8sz37hxgyFXoaenh+GYWHd3N0N9GITiN6S5WFVVdYb6JiReNcDEglCOoUAaVEw6EXb58mWGZuvPyclJlopFA2yHRy9US8XSIOPe3l4hNTX1Sywmdt8ag6ysrGRs/xFtlQJHKkSeCO5JP8SqSLFokJ6evhVdNXvixAlG26V2bmpqYlRIyp3M0O6F64kpZHSeiYmJBdjJ/fr6+hU6czoJ2kl7ezvD7WQo3N71xBSBf1DI7du3J2VkZKAkRvupU6em0BtLqPocbqAtMzMzPlIYChryQq02qUmjOebi+RE3zy/2c9x0u1p9sSYqauc4x+1w6HQpx6Kj38GDTZt0t9Tqa//I5a//UKnYM6WSvcHG/lQq38wqFAvLMtncS7l8pk6jcVRHRRX3cdy5o3p9mAdWnW7bjEIxuyKXC7/DgMTPYfIv3sUMgwFj/wuFgmEhv5fjZj5OTAzwoJXn9/wtly/7MYnENNnHcX6pmILESzCdhjnNNev1AR44eX4fXFloIkMg7zUG9G1KpRJew4B2R+8nY2MDPGhWq3dhB0tSAa0mfX+I1ChIuAiTZ/h7RkJCgAfFMTFbnisUT0PbXy9eQURiekYa/hqtNsyDcplMhzRuv5SsuixJKTKeKBST52NjwzyAAfeTVnvhgUrlf4r8qFCT2C4Vip7pl4RIky3I5fNtGs3BXyS9QEN5Oi7OPMpxlKeAs2cePE/j16HRsL8UCvEb0lzsUqvPWNA3IbFoYITBLY2mILRSKFYQKCYdKavXahmarf8bg+FtHlhkMt7B89VSsTSoePMw+ighYX0e5MEV5/4IOVKeAnpCXF1q0qjRvJsHuzdu3Jqv18+WRUezeygetTMVEUVlc8idjtcaF/d+HuTq9fcnOG6F7gA1C+3mMU4Ft5Md37Dhf/AgPj7pU4PBeNhgsF/V6aZQ8aVunp+r0mptX8TEvIcHueBBGXhgBw/s4MGv4MGP4EEReNAAHtjAA1OYB6IqNEwm8MAGHnjBAyd44AIP7oEH3eDBAHjgAw+GwYPvwYNi8OBn8CA7wAPRwHocPOgFD3zgQRt4APFzN3gwihN7gF0G45kbPBgAD7zgQQN48GFimmjQWgEeeMGDSfDgfmCy7xaus0RMQeKlCfCgFzzAPPNhfYlo4LSDB15cnuBEBqPx5rUG9G2qEzyAAe2O3k8eja0UDZpt4IEHPJAIXgziZkreH3aABwiG58Ux8MAFHqQl7BcNir8FD1zgAXKXiqTxCvWgVekZafhrzgd4IBqUW8CDWvBgOLzqsi+cUmQ8cYIH5tjNophGuQk8+A48aAMPesCDcfCgBTxAoeiZfkmINNnCMHhwFTwwru0F5emj4EEjeNABHvSBBw3gQS94YAMPPOBBP3jgBg9qwQP0TVAXGCIPfgAPgjmGYsUnHp3gc4AHJeCBDTzIMSQHZeFhsYAH5eCBRCwNKt78EHiQGuBBQCUZeVngQRN44MENRKAnhJWIE2ksDfAgoIgYu9PBg6/Ag9PggQM8QDtPtoIH+J1D7nS81oK4wuD0t8cqDz4HD5rAA5w5NQvt5vFv4MF18ODrDXuD09858P8D8CADPPgMPDgDHtSAB7XggRU8yIyJD86LGDLZfy7jet43Ah+lAAAAAElFTkSuQmCC') no-repeat 0 0px}
div.rating-cancel a,div.star-rating a{display:block;width:16px;height:100%;background-position:0 0px;border:0}
div.star-rating-on a{background-position:0 -16px!important}
div.star-rating-hover a{background-position:0 -48px}
div.rating-cancel,div.rating-cancel a, div.rating-cancel div{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAgCAYAAAAbifjMAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAABAZJREFUSEuVlGtIHFcUx++6YaPGB2ow3WqiCa2apmo0tkrQSExqrCVak7gVs6SPL6FQUGPB9RH8YkFBKPigii8oguL7rbvia0VQ/BBajCFQKCQxJsXo2mzdjbs7p/87O6luNt0kf/hx7sz9nzN3Zu497FXNz8/76fX65OXl5ZtLS0u3gWZxcfHG7Oxs5MzMzAHJ9nqNjY0dhEkHswHszs3NCYgConl6evox5n6SrM6ampqKBvcBuWJycrJpYGDAW0rbk06n6wcCDNzkChP4WkqzC4kZWq2W3paJiQkDOComd3V1KUZHR/V4f+JgTCMjIw7we+Pj4zxR9Ei+PLHA4ODgkaGhodXh4WHirKyskMViEdnd3SWTyUQ7OztkNBoJH1T0cJBTVV5e7sZ6e3uV/f399/BhiLO6ukr7ZbPZxGK8CP+IL319fX3VWL2coZInBgs9PT3EwYoIRQn3HOju7hbn93FLfAWujo6OvM7OTnoXUOBDKV2UrL29fQEIgN6AGThvqNbW1pS2trZNQG9A29TU5C+l/SdZQUGBR0NDg7q5ufkOilleTWxpadnC3FB9fX1Udna2XMqzi/8O4FlaWhpSUVGRVVVVVVtXV3e3sbFxE0XXampqdJWVlfnwxGk0mgBEp0Mlw00F8C8rKwtHTEFUFRcXq0EOxuklJSWxIKiwsPAQ5t2kvD3hl8vwu+T8VfhTsJqjiCeKiopCkRAIfAB/iHPyflFurp/w7ffJQt6PN623NLet+UUa6w95N17kfhNJyc5Ld5CQlnZQyPxKR1m5BuHq9V3hmlqwXVULGJttmTmPbRmq/+8HQmpWtC39yn364hq5wpZ2pUk4m+HcD2wXL/cLn2UKlPoluQIek3DhsmM/EM5dzKDkz+ltsSWlGYSkVHs/oI+yFZb483pr/AUS+eQ8WWOSyXpago9jwdlUsiZesns4cSn2fvD84/gj/0QnrppOnyOOubqWzDi6O+gDRkTD9jZtPHtGT54+JaPqO9FjJ6mKGHNjxohYpTHi03vGkwnEefHzL/ZGIMlqtYpNZRtFnmdcFz2cvyMSqrsYtvSa8oznVmjMguF4LHG2IxMRz9BWUJQDhmAQGiN6RN/xmL1+sHH4VN5G4Cl6F/46fNKxH6z7hC2se4UJT7zCyBXwmNd9P3DeUA/ZsZRHspDNNVkIueKR7Jj2AQt27gfBjHlo3d5T/86Ud/5k71sesCB6yUPwB1Nu/caUQ4MsMAp+x34A8RPm6e7uHpKg8MpSyb1qf2W+d/XMf3OS+a3Vy3x1KjeP/HB2IA6+AODcD4DCh/n4eyu8w+VyeQquVUANcnCdjhgLgsAh8NojzYvwpXl4M+8Ad+bOt+oJEAoCgQ9QgH3JjP0LiOu08eQI5iQAAAAASUVORK5CYII=') no-repeat 0 -16px}
div.star-rating,div.star-rating a,div.star-rating div{background:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAwCAYAAAAYX/pXAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAaFSURBVEhLjZZrTFNnGMd7O6cXbrYsgoRvxo9GxC1Zsg98IEaMMSFmzTRsMidpshCMSJlfltR7QTMTXUDocFxkqdsQBCog4CjScqflUsUlBnVLVC4G2UUQ7Hv2f05beqgY9yaPPefw/v/v+zzv8/6iDEOem5ubVFJScqy2tnYEsWi326crKiounj17dmdDQ8MOm82WcuDAgQ8wV0khCIIsFDKTyaS7cuXKtcHBwdednZ3M6XSy0dFR4c6dO29cLteC1+ud6+vrm7l06ZLDarUWw/xcdnb2J7SwaJCfn7/t7t27syRyOBxsbGxMIJOhoSFhYmJiNfDND0OGhfx1dXUzKSkpaaJBWVnZnoGBgeXx8XGBxDS5sbHRLxVTuN1u5vF4BCwmLnLo0KES0aC6unofXFloIhndvHlzjQF9a2trE8iAdkfvR44cqRQNSktLd8FgSSqg1aTvra2trKWlRfw2PDwsdHV1sbS0tP2iQWFh4Ra4PqUaSEXSoHrQqvSMXfiLioquJycna0UDi8Wiq6ysvI1Kr66Kyq/ZgTQ6OjomzWbzZhKLBjhG7gIGTsBPWxsZGRGam5vFQlHOocKi0AyLzKMnDhqNxtVeoKHMy8sz37hxgyFXoaenh+GYWHd3N0N9GITiN6S5WFVVdYb6JiReNcDEglCOoUAaVEw6EXb58mWGZuvPyclJlopFA2yHRy9US8XSIOPe3l4hNTX1Sywmdt8ag6ysrGRs/xFtlQJHKkSeCO5JP8SqSLFokJ6evhVdNXvixAlG26V2bmpqYlRIyp3M0O6F64kpZHSeiYmJBdjJ/fr6+hU6czoJ2kl7ezvD7WQo3N71xBSBf1DI7du3J2VkZKAkRvupU6em0BtLqPocbqAtMzMzPlIYChryQq02qUmjOebi+RE3zy/2c9x0u1p9sSYqauc4x+1w6HQpx6Kj38GDTZt0t9Tqa//I5a//UKnYM6WSvcHG/lQq38wqFAvLMtncS7l8pk6jcVRHRRX3cdy5o3p9mAdWnW7bjEIxuyKXC7/DgMTPYfIv3sUMgwFj/wuFgmEhv5fjZj5OTAzwoJXn9/wtly/7MYnENNnHcX6pmILESzCdhjnNNev1AR44eX4fXFloIkMg7zUG9G1KpRJew4B2R+8nY2MDPGhWq3dhB0tSAa0mfX+I1ChIuAiTZ/h7RkJCgAfFMTFbnisUT0PbXy9eQURiekYa/hqtNsyDcplMhzRuv5SsuixJKTKeKBST52NjwzyAAfeTVnvhgUrlf4r8qFCT2C4Vip7pl4RIky3I5fNtGs3BXyS9QEN5Oi7OPMpxlKeAs2cePE/j16HRsL8UCvEb0lzsUqvPWNA3IbFoYITBLY2mILRSKFYQKCYdKavXahmarf8bg+FtHlhkMt7B89VSsTSoePMw+ighYX0e5MEV5/4IOVKeAnpCXF1q0qjRvJsHuzdu3Jqv18+WRUezeygetTMVEUVlc8idjtcaF/d+HuTq9fcnOG6F7gA1C+3mMU4Ft5Md37Dhf/AgPj7pU4PBeNhgsF/V6aZQ8aVunp+r0mptX8TEvIcHueBBGXhgBw/s4MGv4MGP4EEReNAAHtjAA1OYB6IqNEwm8MAGHnjBAyd44AIP7oEH3eDBAHjgAw+GwYPvwYNi8OBn8CA7wAPRwHocPOgFD3zgQRt4APFzN3gwihN7gF0G45kbPBgAD7zgQQN48GFimmjQWgEeeMGDSfDgfmCy7xaus0RMQeKlCfCgFzzAPPNhfYlo4LSDB15cnuBEBqPx5rUG9G2qEzyAAe2O3k8eja0UDZpt4IEHPJAIXgziZkreH3aABwiG58Ux8MAFHqQl7BcNir8FD1zgAXKXiqTxCvWgVekZafhrzgd4IBqUW8CDWvBgOLzqsi+cUmQ8cYIH5tjNophGuQk8+A48aAMPesCDcfCgBTxAoeiZfkmINNnCMHhwFTwwru0F5emj4EEjeNABHvSBBw3gQS94YAMPPOBBP3jgBg9qwQP0TVAXGCIPfgAPgjmGYsUnHp3gc4AHJeCBDTzIMSQHZeFhsYAH5eCBRCwNKt78EHiQGuBBQCUZeVngQRN44MENRKAnhJWIE2ksDfAgoIgYu9PBg6/Ag9PggQM8QDtPtoIH+J1D7nS81oK4wuD0t8cqDz4HD5rAA5w5NQvt5vFv4MF18ODrDXuD09858P8D8CADPPgMPDgDHtSAB7XggRU8yIyJD86LGDLZfy7jet43Ah+lAAAAAElFTkSuQmCC') no-repeat 0 0px}
div.rating-cancel a,div.star-rating a,div.star-rating div{display:block;width:16px;height:100%;background-position:0 0px;border:0}
div.star-rating-on a, div.star-rating-on div{background-position:0 -16px!important}
div.star-rating-hover a, div.star-rating-hover div{background-position:0 -32px}
/* Read Only CSS */
div.star-rating-readonly a{cursor:default !important}
div.star-rating-readonly a, div.star-rating-readonly div{cursor:default !important}
/* Partial Star CSS */
div.star-rating{background:transparent!important;overflow:hidden!important}
/* END jQuery.Rating Plugin CSS */
+15 -14
View File
File diff suppressed because one or more lines are too long
+73
View File
@@ -0,0 +1,73 @@
.ui-page-theme-d .ui-icon-myHome:after {
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAMKSURBVHhe7ZoxjuIwFIY5xF5h77BH2LPsJfYWaCQahERBR7OioJkKChr6XZqlYAsaii0YjYbxn/FDSfyS2M5zxhb+pV92XuJx/g+CBuPR7XZ7aLPFRzJbfCSzxUcyW0zN4/H4C5k732a2OIRxs8vl8gn2uXF4sVj8PJ/Pr6p/1+l0epnP5z9Ulx1TN1sM7el0+g03qvqFjsfjFTXVZa/nPJlMvl6vV9U1dblc3myhssWQrocnoeYCQb/KjZrNZt9Vw44tmy2GclN4kguE5AB0hSfZQkgKgG14kg2EZAC0hUe97VwbhCQAdIXHeZtrVNf429EDcAnmAyFqAD6BXMdEC8AnPNllbJQAXMOv1+tnuFyz/RvRAfAJj3OQD4SoAPQJT3KFgC9R+pDVYAAkwpNcIDR9ESINAkAyPMkFQpuCAwgRniQBISiAkOFJfSEEAzBEeFIfCEEADBme5AtBHMBnhCf5QBAF8JnhSa4Q9D9K9+ubzBbLjiE8yQUCd2+c2SI5pvAkaQhsEY4xPEkSAluMOTxJCoJRSCE8SQJC5SCl8KS+ELwHxhCe1AeC8wA4pvAkXwjFr7T4cfLjVFWphCe5QEBmZC9+Yta1ilILT3KBgFUldnEx1fAkWwgFANWO9vv9v48S/1t9SuFJHITyo344HP4Xj4DqF8Y7AY9DfWOBRHjs4litVr9oR0iXcW1954eP6hCQjeagnPeTnCXCY7dG/R1lY4zBWNXvpTqEutkiLBEe2u12f1XDztFlPba32iCwRanw0Gaz+a0adp4u67EiaoJgFLD5SLViigUApLNV5qgcwBlABpABZACqFVMGkAFkABmAaox5bJwBZAAZQPoAttvtH9UY89hYjxWTFQC9UiImLD2pxpjHxnqsmOqrXXDlgCw9Mb6Lc5M3GddKrklATS+EUYCxJqdaUWFfH5a4bNy1B9BHOpOR1SjAeFYkFiVjEbJwzz9sFMhYJQ7xSgwtZGjbLsMWyRiY8jsB994WHmaLZeMDCc8PPkTwfKpa1MI94l5xz90fvLfROynk7WHR1nx5AAAAAElFTkSuQmCC") 50% 50% no-repeat; background-size: 22px 22px;
}
.ui-page-theme-d #favoriteBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAKMSURBVHhe7ZvdbcIwFEYZoAt0gW7AGAzTNbpNV+gCHaBPfaECRPkRqgAVWh/0JaKQFNtxCIR7JB6KsO/1ybVT2UknhMFg8Dibzd5Wq9X3drv9aQLiEn86nb6Tj1Krl36/f8fAlcNFgQjHvVJND4NfLBafineRkB95KuW0jMfjF8W5aMhTKaeD0tpsNgoRB+3X6/WmyscnB37jqqCXtBKGw+GT+g+CZCaTySsJqasoiP/lCFlw+e3SQUW4+A/qKg4GoX69YfApVueY2IdQPUhUl+HErPwp5mJs5RVBRURLCBVAsMpl50h916ESovIKFcB8VdNK+Cx6RdCurG1UZYYKmM/nH2oaDXcedRcM8WnPP0f6KoeFUSH8aUIAparugsniF92+NT3DbpHXKgDcBV/r65zgdcAEmAATYALU1gsTYAJMgAlQ02hMgAkwASZA3QVjAkyACTAB6sYEXJwAF/yOnVkS++/gpJUCXOAeW+b62W6DUkdnR5uUrRMwGo2ey/bqXZJL5OinO1ojwAXr+pzwIAdJatYOAZzFcRylr73QQw7dqxbAIIpOZXzJqkF/BtO4gKYxASbABJgApW4CTIAJMAEmQF/nmAATYALaLYBdJqV+mwL2nwm+OQG8R+QGmO8x3pyAwyfCkwhI8cx+3bDDvL+nmJFEQMrn9uuAQZa9C5BEAHOKuaX2f8A8tx2mybk/HLBwuEJ+SvWIJAKAQAy2COSUXYEmYaBJnhbPOLVTy27w2d7iPIEbZOF5ROWXOZBQVgkZWM9edWvqU5Zj0UIZDFeZIOrzamCqJnu9lvlV5fDj3FCVtUxPOvU5+2sSrnzta5OriB7/MLnbzvLUGlE3xOeKc2GY86fLvtP5BfOlr8fyeSTjAAAAAElFTkSuQmCC") 50% 50% no-repeat; background-size: 22px 22px; }
.ui-page-theme-d #infoBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAPjSURBVHhe7ZvfjRoxEIcpIQ2kjCsghVwJKSEd5Ckt5DkVXAl5yGMeeYkAARIIRIQiIPEn/UiOXa/NsjNeIHzSKXeH1zNjzz97L4MHD/phOBy+GY1Gb/nie/36/hiPx0/T6fTjYrH4ul6vZ9vt9td+v/9dhd/xGWMYyzM8q2luCxSfz+cvPwOHw0EmtodnmYO5bmIxJpPJe3awi9FNMCdzI0PiroewO89BuYV0dQdZyJT4/iCBLZfL7x47ngOZyEYHqVMWXJGkJX16Ax2Kh0VISl/62PUm0AWdpJ4voUR9k9yrA92kpg/EnGRdLegodW255p2vYu4JxJfmvhnMcgIZ1ivhHUsZMkI5e0dtpw2OtcptYe7O1YEa61XqUJB+X6JOYCF2u13nVUf3Tn2CZ9LLxalV2F2cFNkFL9eHXCvLzmloJ7DhorbZu7cn5iWqEasN2Gw2S015HiQPPetGU/wfYdc01IRWCZFjp55zg3N+6iZotVr90FATsElTpwkr/+QZ+6/RsfbkooPY90i+ygX5S5WQfV/0TBGo+ewORrPrFuWvCWyTmc3gmhp/d2CbzIxT0v37IBsGs9nsk8beLdgoc+vQh2ucOcQ2MU6HR0kKO/HMv/xcMuywUebWsS5/uBxzUvNzLz9YiBLhlyyH1geftn045wM96gY2Slwdi2Poa9hVYg7DWIzw/WeJikJ7rEfdwEaJOwUX1RgzYi6dWwTrTYgRDUer01eOZBIKlFgAbJW4f5RagFQ3VkqH6AJ4hECM1CmQ0qhhrjRWpBLul+rESJoa5kZjEgSv+78jyRIUsO5DYiR18FaAcihRNXDLEh6YbITI0BrnQmh9P0hUDT7TMFeSVcjzMMTuNiafAN6hoa4kD0Oex+Gk6wW88w9kj8PgdTIjw0tEjVCX3VtgwDaJbIZGReNNwUiJqEF7rGGupJqwv3iEAXcBmj6KxyVolbPc/4h1Ocy9mOBzDXUjl4NO4KZGz5nATZCmjlIiAWKTxJ1HWDGzV2O5BbB+CVKl9asxCPFi9nI01wJzOiNBkQtoVGiKrPKCYv+yvym0TE65d4FVrMoxNmjK9rAzVvFJJUi1wiBPMLslRnfm1PSXQfKwCgXmIRtT95kX12RR+Jk8YHkYQhYyZEY32BXNezOgs9S3odRhxQJ0ldq2lOjYutIp6Z3DNXuC285XIb6sEqMF6GIe8znIsCVa2BzoYJbt20KNJeb68AZkIrtznbeAel7iRHcEWRe3t57gijQ6Hh7BnMzdm7u3IezO//nf5mKgODexnPLYQZJWrOXld3zGGMbyzM0afQ5ckZPA+Epdlz944Mlg8AdeGhwrcLZF/QAAAABJRU5ErkJggg==") 50% 50% no-repeat; background-size: 22px 22px; }
.ui-page-theme-d #backBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAIKSURBVHhe7ZtBboMwEEW97El6iN6jl+oBepGueoeus+mqmyhESCkSUSSE0vLQEDmJCSRqCZ7xkyJCAMn/47FnDHGXWK1WT3mev5dlmVdVVe/3+5+5QxtpK22m7WgQOePhoqIovmIQPAQa0DLaiCzLXuu6jl/5CWhCm8gM03SZNzlfLWgUucfgjpyjnrOeQHxo7PZ9oPVoTGCQkGNmQHMrHic0jPbXgua2FzBXym/mQLsjYZB9c6DdkTXJvjnQ7izGfwfanXw3SzJAtmZJBsjWLLMygGlps9l88JmqNpmNAdvt9rtJTR/b/LxhqgJtFgZwxxeLxYNoPzBFkXZXA4ZWaRoDPuXUf+NuBhDvy+XyWbQGUWsARYgf732oNKAv3kOoMmAo3kOoMWC321VD8R5ChQFj4z1E9AZcE+8hojWAeF+v1y+i42aiNODWeA8RnQGIvzXeQ0RnwF90e59kQAqBNAjGZwCYngZ9zCZCPqZT4Q7TxVCH6XLYx+yCiM/pEngfag0A04uiHaaXxX3MPhjxMf1orMP0w9F7kQyQrVmSAbI1S3pRkqlH9s2B9vSytPnX5Uk5LY4DaEZ7m3dPUXTMDTS34mGqwmMuoPVw9zuoy+W4enrXIPhToZyjFjSK3DC4ozEc0DR6VZr4YJDQMDugAS1nMT8GLmKuJGEga4rBENpIW2kzbb8s3LlfGpwrj7uph1IAAAAASUVORK5CYII=") 50% 50% no-repeat; background-size: 22px 22px; }
.ui-page-theme-d #indexBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAT7SURBVHhe7Zq9Uhs9FIapUqZPnStInzoXwA2k5Q5S5w7oU6ZMRZuOljJVugzMYDBgBsyY8Rhiosd5vfHK0krelda7gWfmKz6k1ernnPe8WmfnhRfa5/T09N3FxcXns7Oz3ZOTk1f68/NgOBzuPz4+Pi15eHh4uru7G11fXx+yKefn52/V9f/DLP7T6uJdzOfzp/v7++nNzc3Py8vLr0SJHu835mQ/ctp1MM/Nl1HCJvYuSkzOf5jNZr+1nsZYUfKF8fWq7oHgTafTmeaeDUXJcDQafSdKjo+P32gK24NJmJOaaI6tsvUoGQwGr8lbzacTrEaJEdf3mmoebm9vf+m9nQRBRpg13bQYtT7SezoNh6Qpp+Pq6upA4zsZj8cDQpBNmkwm45AvyAlz0bTTgMtDfHyYzfmmrgUIJapNjUcz6nqFOuA8NY3mhFyeWeAPda0E8TQCtUeUIFi5NoQN1yubg12tmignW/fSw3OIFalFyKLkGrY2SXOfchJyebGnHwsbTjqxEPPujUSEwyDKNFQz8OSxLo9+bAQ6gTvUEEkICe8SjFGye0RTl8eGLF1aU1PCrVHDeiFKm76nQC5vqLGTQCgT0ixmE9tqFrUXKqXJTU8bLo8TQ/TIdXJery7BiYb0h7KctNyZPN6Ky0P9tSEH6AhlMrR4YAM19UWqEGn8t/r3aHhI4/YCDktTX3yQ0Z8LSB81hwm5vK5BtKx6DyqQmgqIJjVXE3J5XYM7hl3rKYFqLmBdavaDAKVwX21BebVrPZFgHyD/HzREUtneHD0H5SqheBZ1KWBdanazicvrApyoT9Q4aXUroIKoeR12jDxS386DOCPSmr4TVxo7LTn5ktrl5QZPoOk7YU2uaMaGq8s/8Odq7wXMV1P34jNvGCN1+YvpeKi2XkCkrtZ6F5yyupdAA0rVAr+stl5AXUerNH0niKLLv6wJJirZJ8WnhIW+KaiEO+8Ka7lPLqit83C1NYur/MVY3yrWnB+s3g8KmnzYaBOVu0r7iiZwD9AjJez7wQJCRe2dZ021HfgU36sZPpXk4yEvxGAwqC+k2sIZuha+taAFHLS6lXHVfUJFzSUYhE2hnVxsi5jP2Nz3oxTfxpX/lQ8IKgf5mDs6XFdbGypCtOLb2B4ZoQleEx3kiA7X1dZGiu8U8Zi02bG/8jB5NdUmRXRwojFfh32KH+MSF9h5k2IDbDaNjmDeCrPBTuvOpodcYgGuSs8VhFxWE0LREXO1BfrokRKViu+CcqdnC4LCkZBldKD0RAiboyYvtRXfBXdpPV+AqETlzxaQ4q+v3sBGqls8CI2eL0F+qUtnIH0qFL/+L9C+L0DkaZ2SmAvfT3KkcaOINXmz68opQFR4MaITrawZ8Cl+jFeIIuZnLzaJ3eYXlZganQo23/YrgIlLOg/fLvtg90kTlDtXqqD4Lu8QczWuBSUwxqzYcBqkCs8nCUlDcsWPhRejqr6Xh+B0uMRQYtEXDbsRRJTvtwnmpm75IQRJDcqPKw9jYCOZ9Capkk3xm0BkEHpNbnw8x/OMw3gauoTLnEEyxU8BJ8mJNk0VIosII9IYl8/zrSh+ash1To68bZIqrshivCyKnwvClGpAHnNyWkdtav17nq6wkipHdX58ifntr1eQxzhJ1Nxnv5fQJ5fB6gTcLUx07JMqJv9LHzU7pfhtQG3nYwbRQc5v8+L1wvNhZ+cP4T66V7TrwhcAAAAASUVORK5CYII=") 50% 50% no-repeat; background-size: 22px 22px; }
.ui-page-theme-d #searchBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAU2SURBVHhe7Zo7bhRBFEUdOiRjC+yAFbABlsAmvAM2QEpITuoFkJE5JCOw/JfHGhshjT+8M7pdmn5+PfR0VXXPWD7SCLmrpj633q962CvJ8fHxm5OTk4/n5+efLy8vv19dXf1oPvb3oT3/cnp6+sk+b/WV3efs7Ow9m7u9vb26v79/fOrB4+Pj093d3RxhEExD7RacMptmM7n8NUzEb1iQht9ezHwP/hhae1EWi8UDQtgc+5pue7DTeXdzc/Nba+0F1oFbPDw86Ek/cI+tcg0Cl1npQusL4fRms9mvi4uLr1GgWw2Q19fXR5i9vhqCcIylr08HkbvrBDnh+Xxuez09sM/GZosgiLHOQqz9p7qPD/7YFeTMTGelzBT3wnq65qJtiMBZcPLRgmqapm2y09WwFHWrDwuJzJLF1Q5OWAPpVVO2MIv8rm71YAHRKZD6aFO3qhAwo4zDoXA46laHaGIEGWvzDfg8AVZLSNha/iKQupXFJj3QPAl8fqqcbOt5y4a1lAQltLqUJarwps7FiO/jEYdS3CIpUDR+glSn5knhxLWkRHEr8JGXFDiV6XvweSpNLW2JrKBMLOBK63M+AUjNWwFXbi0tQa2i5jyiwQmIat4K8HkfC4odkjd/zI00pOYEJlc8+GyAT4u4QbTOjWBTDKQxl1B7q7kFlZjFhQ/6c3S4m2iJCRMgrzAi0GmsRJT6UBrLmDIwIr6WmEAUNQ8jSn+RqvZsWSTRX48mwVtr9nUZs9ZYCdvss7e2TS4mYOrRJPjKkNJdTcPwRQbpUE0tmgA0dXqkOFsuVBDA1TQMLwAmpqYWTZlctAAZgM8E2dWqF4Bcq6YWq6ZXrAAZgE/Z2QLg0xorEZ3w6kXJJp3r8eisrgOyXZLT1FiJKNV50yMrqGlU/J0g+1UZKU9jJaJU510Flxg7FlCFavoEWUzNwyDl+YtQlFsjoUZ9UWlE1lrEEvFpjbeE01VTC56rS2LMFyaU6Jp2id4R5v/S7M0bojhA2anmBIsYozrE3bz/Z2eAhug+EJm3qb0fWQEuhDjqVoXI/LP9fxW/MU6WoKPmBGL5e3kDZWn0nRL0Xd9gIvPuuhZzGj5wNmCmjIXJqns2xBkNn8i+A3giH2OTRH91aYEIXZYAjEU2iWLJJnDK0bpyxw2JrMAsr/NHEcTxphnBBiikEMTmOMR3+1qJL8CgyzKzIcj5lAjU312L5TkbQih1XwuXKYToEnWVKDshZp/vDgbT8i8dAJ9DIHV7Bm32OWBzCIYgLJZ/EZVTw22sT6+8jaiaugVjqEs9oqADmGPfDeQQnTyMegnjJDVvC3y+SgAyMO3I51chhqh7fXzp2UD055S64sIQsDof7bvgcOxzhEXgbrhLFcu0QfeZSPM+gwVzIkODEgLi01iVhhwMY/ALl4YuCwqvy/m0YbrW75u5x9rfDRCLTWNd/zvxKCOtwzRYVBPBrKFXzgeyCH1tAzOEwUx5k9PXxOnXRHssTI97UVUETBbfj9JkCajwsAzvUl0BuYuqIgALLCkELkSd0ZVd1sWhLqqLAE0Qw8w3FYNN4yLEF3/ink1jQcMoIjSQMYgTBEJMlhPF99lkEws4STZs/fifpb3TFuNoTxszqgi1QDTtZxA7LwKuZpvIqhV2XgQWzya0n0G8imC8imC8imBQmZK5NOTuUUKEMX/UqUKuCNXeLY5JjggvQgAYKgJVq4bYfTYVgb4UWPr6y6CvCLxvqPVec3L+J8KL3nwDIpDntecEwrz4zTdQ5JDnifR8CHjPfX5v7x/sDWqlE78CCwAAAABJRU5ErkJggg==") 50% 50% no-repeat; background-size: 22px 22px; }
.ui-page-theme-d #settingsBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAUeSURBVHhe7ZpPTttAFIdZ9QDd9Q49QFc9QM/QK/QIuUA3XKA7dqy6Zd8FUi/QRXcICBAQEQpCEQmdz/pZtSfzxuOxHQWTT0JK7Ddv3hu/P+MhB3v2bJfb29tf8/n8b+jv5ubmp8TGy/Pz8/rF4OnpaSmxcXJ5eflJvgZZr9cvFxcX7yU+Pq6uriby1WQ6nX6V+Pggx+WniZP5IfHxcX9//0d+mtzd3f2W+O5yfX19SD7razKLxWIuP00eHh5mEk8GW1x6fdfXYXHOH1GsqOYshC4nEesAJcvlciXxJHAcvdiEbbo8DKXzVQjrs7OzDxIxOT8//6ghjaToQ8ZPqUEXYTabHfvOl9C/rert2toXNj+Pj48LiTdCqrgxJ07nZ6mpwVzMKfEagyxCzPmS1Wr1gtGnp6fvGENopuR8DOakJjhd39CJbjoJc8XodRFwpMn5Kjjd1fEQLAR/+toINjvbJ3IjH3LNCrddBptTakkShGCbKEiFUG4K5xz09Iu06Q0KmfRnQXujarvcPKQwlrUC+Mw17iGDrIZlga1S3R+8pLSp5CWMoY5UHW4CWcbkztdmrlbwlFJDVhuloy7GMBYdKRsoQA4bNXwYaImaz4SnYPXwEiKKLSx/fNblIOhKiQZs05BhibUjWqBVfSlM5DgVulpU+cw17lnFC52x9upsmkp0WAhL62lwPeQ8TqU8wRJkQwuBbkvP1haASq05a5B/ftizWFTknBbKGMb6NYQ5rJpgRU+vWE+AYiWRAgznoFO3s0GHvwjMpds1Bo8CXkI0Vw0WxTey676hit/XmSv0IIga3jol1j+c1miuGi70aocRhGJO2Fugyw9v5tTtGoMdrdOuQu8E7Nr8p2+liQ+5nNrj0Sn1BcwZ2jHSKTpFgY6XJqwkbYmJY0Yio6EFPCndCsJGikhiHg0pNljoaYoaPwoYo1sbYDOLgQy+4FN1zg3Is9SnUYWuIBUFMaNwHkMkugEnwhIN4i+21ZFi4KNfUwpyK7a/9Yy9Ogcn9ojZgW6JFTC3brWCOaTiP7kLQC5KRbG9tcI4tUJbnQbQUd02M7dutaK3BSCkNbyAHNOtDfynZ4FTsVrg53HOecJ+AfpaAMBgqXh7KQAUIqkoeLVFkF7JBLHwC/Ga2iC+4SO+SsUmhBhhiDFsWHj3j53R+UbtykYIm7GdufAFn6rp0xryNxTeo9sKx3jTL0Pw5l+HwQpvDikkUoCRuZ2lCjr8xWUu3a6xlWMxq/KSyy5Cxn8khkFWFHB99IeiLEDseJp7oUUAnKJ1+fsNPnONe9ZTRGdsXlqeHy2D4MLyRHOa8JT8dPChJ7MX4K+pP6MrJYIG7QBAF0h9+SBPKVZdngpj0ZG6V8A2bNTwfiEEQxuhJpTPW/vnKDZaKdiJ2LYzBXZt6KCLsPWtLgifucY9ZGJb7xTQIdX9YLW+rhCyqSnVFiJI5neDIpWag7sENvuHJ1nw9NtsZGhHsXaVC3rp9fraCDZju9zohlO08QNJH1a8+v95QrDrQjAnjlf3BtjSFJFyvt/fCsYWgWpNEZNoDa6zpW1T0ZFlv2HtJdBp6cPGwX4o4S8Cn0P79RDko4Y1kvJGx5zM7dsz+K9EykWg31ZDM4WUYkoLlHgS2FBurbf2Exk36SRns5GSBuS8xJPBFmqOvu4uKecDnDpJfHzwsiI/TTjAlPj4IHXkp8lgLzO7QFMnoJC5Fpd/dP0aiHUCqrnExgu9m2IY+hv8QGPPHo+Dg3+UfvstVzGsUAAAAABJRU5ErkJggg==") 50% 50% no-repeat; background-size: 22px 22px; }
.ui-page-theme-d #syncBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAO+SURBVHhe7ZpLctpAEIZZZOk7cIEcIescwofIAXyBXCBr77PN3hfIMgdIFYvwfhSPCsUjkPmoXy6QBUhmejQgvirK1gNN90z/PT0jatfCaDT61Wq1PumwWjSbzfpms9nOZrNho9H4oNPVodfrfduKbrf7rNPVYTwe/5b/2/V6va2UFFz4P6xWq4383zGdTru6fPt0Op0v8vuAykiB7C+fDyAqKiGFxWKxks9vuDopMJ250H3q9/s/GNnJZPKHqS35cEzCGw6HPwlxPvL1KNFLod1ufx4MBi9/HczlvkEKrmM/qrl4YKQZVdlpCpGjZsvHjfijc3wi24JBsSQTyoH5Gu1ahHkeSpUCDZcx6mlKkQIhv1wu/8mG0gkqBZxPl6llw2AEkQLTW2zOJ5hLwfVw/VSFloZRIUdQuWEcf5ki5/P5wippumn4q8z1CxsSOKB2MqFzqPQw4lw4uusPSMlVh9/pFF8dYiYFyli1cQCGU8ayertk14bO0CMvAnu8RwGrLzYk9qEhn/t1VJB69LvAPrP9Q/SrdnYgBZKhLnvh2PL3HIQ8aw6zGWB/Y4LGrJIMiVHN5IL7nS3P5BI9wgYSFA0SBVa9TNjuvMoB9jAIQXaJSUxonQSoUyYwkvIvE2xgALBHXwmDNiiedGhGOsckmCa2PLiQr+tfMwjldGVpnthiYn/+p5CiMDJPbDHBSJPRWc1V8vUXYV5Jx+/cuVMtQtQUUcJiitUjH526fZjWWLCwHaYax3w9EQVUcFRyWUvbEAuZ0kpn9E1FRw0vfw/gvHWxQyUZPMpYpbFaS2+XpWHPUF/xDh2bvJoLFgGEM07RaB6s3towAEmesezkHUpshV99W4wMtpBrksijDTcoXvcoXyGxMYL80GHXWkH4nh7lBaIvbQsy1GV/kNhIKkXeBGWBPvXIi8Bxdo7SssM+bNVt/rjU8QQ6gCjSYwuRRN8p2VFv6Ha/oDG1cTFMgyQpnEGrx6ZEHGakaZvRPje7mIR+AkYWTXh5IYzpFAom9MxfjvPOKoBt742s3DDNnBuFMqDDTHSfhU8p+EDOhyt5LaVQFGfHJKjzCTFIgSRqrvlTlCUFXppYldKFCC0FZgSmuVJC/hghpMCIUzzRlpqNizxSKDKfcy+ZndGmqitV53nIIwU6idBlPxD9csyGSfLhWFXho7vv+jZLKWdPSSHa8PWJG8XMX41R2uqW20ZSePNDaUJct9w+WVJA17pcDfalwB4CkaFL1WBfCqbr85hJpBDiB1XRwrwefRHzSq32HwklQEesaIcKAAAAAElFTkSuQmCC") 50% 50% no-repeat; background-size: 22px 22px; }
.ui-page-theme-d #moreBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAGiSURBVHhe7ddBboJAFMZxll32HL2GV+kNeodeoNteogforifoyrVJiYKJITGSEFPLn340SgBnjItGvl9ibJl5M+8NMEJiZmZmZmZmZmZmZmbTlqbpLMuy5+Vy+cp3/f+Dmq5isVjc1WM/1mO/8OFvjqn5Ksi5U8NMTcNWq9XTdrstDh37/f5QFMVX0CAj5vP5/Xq9fq+q6ltD/+EYbfRR94uQI7mScxe1UaO6nqon/1C/QQzKGVNIFM7IbrcrNdQg+tBXYVHIra/wLmpVyK88z9/UdhYTDK7iAM5qSPEt+sZeCeQUUnyLmptALpmYQJRlWcXcs1zaCg1GjMLPIhdyUmgQam5u6c1m86ljUdhYNP8okuu7588hJnSRyUVhUag9ibk0jzXBAdjhFRKNWA0z6tKTSO1J7OXfYkfV/KPYmBQSLXTD7fvlCkHtXoDJ3wKXBrPxaP5R/34TnPzPICb9INTi8VBtg5ggdGPq4vE2ZBHoQ1+FRSG3kEWgVoWcYhX7dlQGvfmXoWMMwsZy9Co5jddhMzMzMzMzMzMzMzO7YUnyA5Oi9b2LNFr2AAAAAElFTkSuQmCC") 50% 50% no-repeat; background-size: 22px 22px; }
.ui-page-theme-d #toolsBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAJTSURBVHhe7ZrdbepAEEZdQOpIGXlOA2kiDVAABaSD9JEibgV5RCCMQAjERRAE9/qQT1acrBMT1mLxzJFWi5jdmZ3x/nqdtcVkMrnJ8/xpuVwONpvN236//9cUylKHuuhAl9ReB0Wjezggf84GXeiU+rSZzWYvh8NBTY8HOtEtM2lCA9Xe1kg2COPx+OG7J8+43u12hybpu/kCG9iS2XRYrVZztbECE9lvGkwd6kpNBWypWBrQWLWtQozuWjeskuoFoUbGfEqh3pXUXBDqqqzfEp8NuqS2BJsSX57QE4rZRUNDLKl5YL1e/1W7SgaDwZ3EZ4MuqS3BpsSXJ7TrGw6HtxKfDbqktgSbEl8euihb1SL1Ga/T6fQ55v4dXehEt2z0kloFOgcRH41G90WUH7uQ8KVRj6TgYrF4PeXoei3gE77ho9ytwhjrouOfwUd8ldvvMLm0cYRNFXzF56PzLDGcwCQzAz4fl+q6w4YFjueJ0C7OCsfdpIWJrw58z/S7MRxCirX1geXkY+K/0KEoNrHtnxyAcvYMgEzFWiO2/YzNwSmJSMveF5CF6sRMse2rqmOXj6+jm6RinNXe0CAL1YmZYtv/zSTYl70vIFOx1oht3wOgvDHmA8DSEXq5wH/IVKw1Yts/OQBdwwOg3CweAOVm8QAoN4sHQLlZPADKzeIBUG4WD4Bys/jNkPm7QfO3w9yRb7dbc+MAn8tP+fI87xn8QqR6v8AbVS4KVKaz4GPtm2W6xHw+/9PFIYFP+FZ2+5+g4Oc7+GtNjZ12HMdxHMexQ5b9BzIZh/CDCWboAAAAAElFTkSuQmCC") 50% 50% no-repeat; background-size: 22px 22px; }
.ui-page-theme-d #faqBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAP6SURBVHhe7ZtNrlIxFICJC3ADjtyBK3AlLsC5u3Do3CW4AqdOnTpjYCD8BwkQQ0DQ+70cyOXaltv2tL2P8CUvjwe9p6c/56/l9R48KEO/3385mUxe88Nrefv+GAwGb2az2aflcvl9s9nMd7vd/ng8/m3Ce3xGG9ryDM+KmOdFtapvF4vF198VMr5gkIEsZIr47jKdTj+wgqfTSdTXA5nIpg/prjuMRqN32+32l+iaHPqiT+m+HMPh8NVqtfqRYsVvQZ/0jQ6iTl7G4/H7ymn9EX2KgQ7oImrlYT6ffymx6jbQBZ1EvXTs9/sXhCjpt3OgGzqKurogGJuTvjoLOiaZhC6vfBN0FbV1wL5E9rNBzSfgYbUdHvLI8Ehs1uv1T37ztylFDoU+oqMDMVYz1DFIcnxb7MZ2SXDYwofDIXrW0T0qT9Byeucw5eOcqBLZHSIiGMYgIv1gJbS2PqsuYi+Q01cr/Y3Vrl5/NpXEGpGHMQSlzVq5PasoIi+YnCr9mXYIE4PpSLMgkC3i2sHqyLPRmKo36n75+Ipqp3yUJlfwvjQJxquKxCvLc9GYDjVsDs4Wv9kFsRGCMYk4Nxw8aNk+mOzPFllM5nIm1gwYU6tDFU5f5BkVml7Y5VxdHlvDJzE2EWcndqZNMDAiAV7fFd9tJgAaE8DYRJwZ7FXaFsGVvtocpy/Og1ZWSdoVwRavUTplTnKBLSjtsoNjtGWKmsWYy8xUw58vNgelXY84w6GWnfnCAG1Fi0Y9UIcxiuj/0SxHfbBlgNohGRijiL+GbEvaZMWU/OALCJnSRB3jXSTlp3yeDXIC+hUVnkC52ArwFs0+nygxAc24jx/I4YiNE5DbBLDF+lYk1qfIQk0YTQByOsF6OEKhXIO3OkHIGQbrhY9Gvd8WZxjMmQjVMzLNTO8WzkQoZyrMViQK8JPT9JypcOliKAfOYqh0OZwDZzkMubxxCRibDNNOivy7CbU9zoh0F5vMNemtjsSqLEn1ULQJTq95Z0funzoStD4UhZTh0Fb5QcoawBn+mmhejNSh7red+gArJE3V8boYAa2rsTq3rqiYHGmqivfVGGhejp655YVThGHGEHQ5Cils0qVMCkdYrzm80T6QBHaBKRkhMminxOge9QUJSPEVGUIhMRnHRFRglbQHj87RX5E5k7Na06J52hRNzkoxFmfFFwohKmWiogU6unKNKBDc5Z2AbskGXwf70naMMaCLus3fAg+rHSJDQAc1b+8LMRabK7Eb6JO+o+O8BmR3KWoHG/QVnN6mhMSGsjPFjkAmsr2ruhJQ1pLpkfaK/sEgA1mtDzO6Bnk/J7GEKFawclr3/4+TbeA6rFrV+//X2Qedptf7B0Vbs7sYByOgAAAAAElFTkSuQmCC") 50% 50% no-repeat; background-size: 22px 22px; }
.ui-page-theme-d #noteBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAALMSURBVHhe7ZvRrdowGIXz0AG6QKfpPp3iSn3vEB2mK/TtIlTEBaGkQkIopc2XHv6WYCAJJomNP8mCgO3858QxdmwyF7PZ7MNqtfpaFMXbbrcrD4fD79AgZmJHA1rQJHnXIfN+v/+leqIBTWiTzHPm8/n7PM9flT9a0IhWyf7HM4g/glbJ/gtNQ985KcuybkIhJWK+ht0OdA4U0OcGnchms/m2WCw+1hkDhNjR4OrE0Vx3jK6rT4HlcvmieoIHLS4T6lbAz4SODVxT2WhAk+QZaM/4rdSxEXKzvwSaJM9Ae9ZsGnQeKhMdzY4R7ZneG3QOyh8drs4+GaBXIxmQDEgGJAOUPzqSAcmABxjAEJPJRpU+D5xeug7ZvRtwaao5FJy7y8TNqwG4P6b4I8TQtiV4N0BFRmcUA2C73f5UsdEgBoVzE+8GHNcP8jz/Pkbi3K2f91d4NyA0kgHJgGRAMkAyjWSAXo1kQAcDqhHYp6H2D3AeJkE6dS+8GsASc1mWg04GMLrLwKeJVwPGmgvQ6hRCZ7y3AFeFj4SVncm0AOBqMBmhzKMT57nn6gP1SKZxlwGhkQxIBiQDkgGSaTyNAfxsN0estVa9N2I0gLEDj9Ak0agfqeu9EYIBLIpUgl6LovhxI70xfnDtGURnPajSsTF1AxCvUO+iGlR9qSvUsTF1A7jyCrU3J6tJ+syYugE0bYXaCwxcr9fvVN1zGUCfcLZTXN8ZsRrgFA/63ojRgIviQXmM2Ay4Kh6Uz4jJgJviQXmNWAxoJR6a4+Opb5ZuY0Br8RDadnnEKUwnncSDq8Iu+26G5tqmjM7iIaS/zCDu0lpEL/HAjIiOT/UYmEBLmMrtwPCVeBTeCb3FH3G1gv+hY8SkMZP3K9/ExyxraIjZi3igopBM4HY4mdX5gtuBJqfzTA5is4cZj4KOESO4v4Za/r4Fwrnq96wNnpNlfwA4HvhbL+BtiAAAAABJRU5ErkJggg==") 50% 50% no-repeat; background-size: 22px 22px; }
.ui-page-theme-d #saveBtn:after { background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuNWWFMmUAAAIYSURBVHhe7ZthTsIwGIY5gqfwGpyD+3gIf3oDf3kGr+B/E1hgGCSQYEKUPfPFiLSlxRDW9XuSpmFb135PS8e2MvjNZDK5mU6nD6vV6m273X5+ZQTtXSwWL+PxeKhw0mgKjjabzYfOly2IoBMVVhwEn9LjiJrP5891XT9dM9HjvnbTPoUXhmGf0vPr9fqdMip+daqqulPTjlgul68n28pw0fFRJA+vM2hG5K0vuQIKdSDzWVACB+jYKDCuoheBIFWVE1f9jErtdhKUkDrb5ygAvBK0P5pcBYBTgvZFk7MAYGJUsW+0PZrcBcDBJVLboumDAPi5mulzNH0RwOTf1DUsVgDwS7JoAYyCogWACVAejQkwASbABKjei2ACui5gNpvdq96L0UgY+lLqE6FTJAvgnlr1doJGykhNO4tkAcCQq+v6kTuqayZua1OfaP3lLAF9wgQoLxYToLxYTIDyYjkpgOt98N1aR6HNtF1heAkKaB8aZg4xKBwnQQH82tJ5soUYFI4TE6DciQkwASbABOg82WICTIAJMAEKx4kJUO7EBJgAE2ACdJ5sMQEmwASYAIXjxAQod1KEgNACg74LaNcKh/401XcB7XKf0AG8WtJ5siX0eqztYN6h+VZZsT3H94J7omNjpZVvLuDALvxNNjXRZl/wxErMbfB72OAr0CeI8Sj4PQwJvhdMDv9dftYliIWYiO3wKz0Y7ADbaBPjPVaT8AAAAABJRU5ErkJggg==") 50% 50% no-repeat; background-size: 22px 22px;
box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important;}
.ui-page-theme-d #converterLnk:before{
content: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAkZJREFUSEvFlU1LG1EUhif/Qdf9GW4KWlxUFBVLvxTprnSX7GyjSNHSou2qWOimYrsXCiJYKLhQC/4AabLxAyGBFpJMkpl8x/i84ZTpohmTtuCBwxyee+57zz33zozzy1qtVqRcLi/X6/UycU/GHK9SqcQJIyYXGANjF1ij0UjjOz36jyZWKBQGTS4w3/dXtXo2m50w1NFKpdIN8lfY4Rvi6WKxeF9zYa8sJTAlaTCXyw0b6mgSrdVqm4jGqfbMdd0HJrxqKYH1IqxcWhdNpVJ9CB8j/PB/Cb+uVqsv8vn8AMInXQlnMpnbhjoaPR2mFUeIf6fyDxza1JXCJO9qm906C0SZs3+l8L9YqDDPTSoZxcfp36EYFX3hJRiVE38VI94jZ0wO2xLr+vC0VTEJGnJY7J6Yxgw5HOK4WKgwd3ONl2SQBW7Rv20xRNbF5LBPYlT5mZwhMcbfi11Pj9n2EVVvUMVHtp0ydiwmJz4VY+ycHOWJJcRChbnHI4Ycth0TY/KkIfV42ljMkNPVPebyx/SqptPpfvr4ToxK58Xk5C2J8XyLYJt5njcnFiqsLyfu8RX09Rk11hQzb4oxfqEc8zYLFSYnRwsSeJK4YqxoLKHYmM+OkmK0Jy8WKswVumtI93hRDIFHhtT3J2KMzRvSt2NW7I/CwBUNInzHkIQXxOjxrCGHRR6LscAzQxKeEUPjpaHAOIAR+qe+/WRrB/g3vP3/4+kaO2DcFVNLfmMZvMFh3jS5wMiNUNlz7uRf/UyZ+5TQfqaOcwn+KrjBNuRwnQAAAABJRU5ErkJggg==');
padding-right: 25px;
}
.ui-page-theme-d #settingLnk:before{
content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAt5JREFUSEullMtrU0EUxtsugtZnKVoUQRBE3blx686/QRHEhSil4kpcd9kHdCciIpgqgl2p/0HBlko3RppKxSJtSNq8aJo+kjS3yfX3zT1JW3IDln4w3Jkz3/nOOTNnbsf/YHNzs299ff2OxsrKyjkzHx3VavWFb2A+YObDYW1t7Qz+nbZ0KJfLXwNZ369UKuNmdsDUVSgUztoyHMVi8arneUmc3ymAbLlc7uLu7m48kPV95t83NjbcccDvhfsJn0X4l2VrAQKnKDNl/hL4i9OHWq1WNlMT7JXYe6MkzOQzX0gkEsdN7iAgvzJeExLZ2dn5RoAhxjACU2HBOK4xk2mFssbxj3GVxSSdcEVnSPk3CHxdR8QRXGNvxmjixfgcM5lw4PzRyJOpVKp7e3v7GVnn6/W6r8E8h+1JJpM5CWdWXFVq7uHI5/OXKLOi8pWpRFnX5bwfBKhtbW09ppKb7HuMDL6nTSaAml99qpaCMC9HnanKV6Zak1mmVCrdx/4QW8FsCT4RfOeskhgan1k/d12j1yTifhBgSGcqBwHRu5aHenpANu2l0+k+uCOOZMBex/d2O+FhXVRDmEzvma6En8qmPao9D3fUkQxNYb19PVOExiG5y6DMKd2+LsrWOQQfMfqxFWXjuxSPxyMEnVcQ1tPsR9HqTyaTvZZHgGw2ewFChQBltZRuH6eahPaD/RrH84Bqb7Hv4ZNWl5hMOMj8vZzJckZk3b4uSllZZksS1eVi/yEuPi/NPRx6+5Cbz5r5rFqKaUQXpTNV+cq0ISow/63HZTIHwX4XkScC6h6o2lNL8R1hjNqZerbdBL7RwcHBLpPbw/Lycg+RF42nLGKQ3yLmXl0DdhxZlQ/nl5nFn2t7zvr1QVjgdsfgurdP2T2I/wzcXTdMN14Zy24CvJaoLl62tgj79RHoSyDr/mJRMztg6lxdXT1hy8NBz5QjcFCfmvno0NvXa9Joaf5QdHT8A7NRP0BJz0NpAAAAAElFTkSuQmCC");
padding-right: 25px;
}
.ui-page-theme-d #aboutLnk:before{
content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAiNJREFUSEudlL9u01AUhy3aCFEJgcTSjbeAZ2BhZ+mARCWGIiHxFGyIjYEROoKYqkbNwJonyJIlAiJLiY0S54/tpN/v+iSp5Wun6idZcc499+dzzj3nBrel2+229NjfuzMYDJ5Mp9OzxWJxlaZpsjKWy2WC7XI2m70dj8ePzX0/6/W6heA7xCa8N4LPGN9TXg9sux8cjojmp9t1S5TFfD7/3uv17ptMGXxa+0SzLPuX53lkf0sgft7pdA5NbofSNx8vfPQXwT0YDofHlGBg5i18cDWZTN6YXIEOal9NieiDuQdE/sPMJbCHo9Hokbm5aM9srRY2xfi9pxs+El1u5gqs76Kmha7M7oUSZGip5WoFN6DVNtkgUJ+avYSEkiT5EkXRs36/fxzH8Qsi9/puQDhyopomBFZmL6GUcRxS345zBkzfbNkL63M3oU3CGxDvmq6y+21mLxLmp2g7NjampwOTXxiGDylFZmYvmkYnKujRttkrqM50w3P58fvSzLUQ5IUTFbpQzF6B1CLE3bhS689mroUheS1fh24ppWBrJbD/NTcF8IlK/Odj3nKw9kflMvcC0jz1HSIiKS33StPJVD3V2CKQ2vIW/HLWTkxuB2sHuqUKtzL6IPtinrp+1w33ldd7JldGVx8O5wg0tt9NFKmJVm+2m+jqs3TDYms9qqnS59UfqQ/dUrpQaJ82T6TA9OiQ1VI6/cpB3QVNKJE1p7slCK4BqMokNhmSvQcAAAAASUVORK5CYII=");
padding-right: 25px;
}
.ui-page-theme-d #donationLnk:before{
content: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOwgAADsIBFShKgAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMC41ZYUyZQAAAmNJREFUSEudlLtrFFEUh2d3U4ioKKhpFLQRLESRgIjW/gOBCNqkSacgFoIo2AkK4qOw0M4EhC1SauemCabZylRJsU32xcw+Zl+zO7Pr+p25B8I4s0l2P7jcu/ec+7vnnnNmrcMYj8epfr//yfd9p9PpXNft2SmVSlcbjcbNXq93fzgc+lwwDoJgYzAYvGXUbdteUNejU6vVLiLm/QUR/J/RaOQWCoXT6n50OJsiut9GJg5pWVPX6Wm1WouqE6Pdbj9Ut+khhydJR0m1IjiOc0vdZsPzvGXyuccFA2amoUvhfpLfY+oyPd1u9wJjsVwun5di0iGXSc850jBPp7zn0sfNZvOMuh9OsVg8zqE3RNiVZxOlQyHzRLrF+g8j3BdY2/iusMzo8WSI6CwiW+ZYFDov0GUEaUm6ZHVieqrV6gkc8uofQUSx38He1q0YvCiby+XmVG4fPtvP6hOB5zbI6xLLTKVSmefpP4wlinxL5P6FyhnkP4CcJn5lCL2mvU4R7S5p2mQU1BSDIDyKfEllLYtDX9QWgyi+MqXpkCeI7prdyRDIR5UNhW3djyH9i/M7iYSfc+Ry3ViSQWsvFM1msxmprO7HQHiks1+v1++StnuhYQJIeaJpSSUPEibaDxTvASl5Lp3D/EpNiYgwk+lrwm+Z7ThSNDrmKcs0l3yT1BhLMvg7oajAj++6nwhRBBTvEVU/UFQgiP2/VJ56jTM9tc0MGk3Xda+orIGN27TTNtGFxZoGKTCvzlPYGyoXBZ+0XMBzXuK4xkUbkmNGmWHLoN1kvcP4xVilmM/4l1vgbEplwLL+AdY5yl4fpJX7AAAAAElFTkSuQmCC");
padding-right: 25px;
}
.ui-page-theme-d .ui-btn-left {
background-color: #3b5998;
border-color: #3b5998 !important;
//text-shadow: 0 1px 0 #bbb;
color: #fff;
}
.ui-page-theme-d .ui-btn-right {
background-color: #3b5998;
border-color: #3b5998 !important;
//text-shadow: 0 1px 0 #bbb;
color: #fff;
}
.ui-page-theme-d .nav-glyphish-example .ui-btn {
background-color: #3b5998;
border-color: #3b5998 !important;
border-right-color: #ccc;
border-right-width: 1px;
//text-shadow: 0 1px 0 #bbb;
color: #fff;
}
.ui-page-theme-d .nav-glyphish-example .ui-btn.ui-btn-active {
background-color: #395184;
border-color: #395184;
border-right-color: #ccc;
border-right-width: 1px;
//text-shadow: 0 1px 0 #bbb;
color: #fff;
}
.ui-page-theme-d .ui-corner-all {
-webkit-border-radius: 0.1em /*{global-radii-blocks}*/;
border-radius: 0.1em /*{global-radii-blocks}*/;
}
+66
View File
File diff suppressed because one or more lines are too long
+130 -15
View File
@@ -1,7 +1,31 @@
/*-------------Customize by Screen Dimensions---------------------*/
@media screen and (orientation:landscape) {
#sfondo {
width: 154px;
@media screen and (min-width : 320px) and (max-device-width : 736px) and (orientation: portrait){
div.ricettaTitolo{
font-size: 13px;
}
div.ricettaAutore{
font-size: 12px;
}
}
@media only screen and (min-width : 1700px) and (max-width : 1980px) {
.itemMenuHomeMetro a{
background-size: 250px 250px!important;
height: 300px;
}
}
@media screen and (min-width : 1281px) and (max-width : 1700px) {
.itemMenuHomeMetro a{
background-size: 200px 200px!important;
height: 220px;
}
}
@media screen and (min-width : 1100px) and (max-width : 1280px) {
.itemMenuHomeMetro a{
background-size: 180px 180px!important;
height: 200px;
}
}
@@ -9,23 +33,114 @@
/*
iPhone 5 in portrait & landscape
*/
@media only screen
and (min-device-width : 320px)
and (max-device-width : 568px) {
#sfondo {
width: 231px;
height: 300px;
@media only screen and (min-device-width : 320px) and (max-device-width : 568px) {
.itemMenuHomeMetro {
width: 100px;
height: 100px;
}
.itemMenuHomeMetro a{
background-size: 85px 85px!important;
height: 100px;
}
}
/*
iPhone 2G-4S in portrait & landscape
*/
@media only screen
and (min-device-width : 320px)
and (max-device-width : 480px) {
#sfondo {
width: 231px;
height: 300px;
@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {
.itemMenuHomeMetro {
width: 100px;
height: 100px;
}
}
@media only screen and (min-device-width : 320px) and (max-device-width : 480px) and (orientation: portrait) {
.itemMenuHomeMetro a{
background-size: 70px 70px!important;
height: 80px;
}
}
@media only screen and (min-device-width : 320px) and (max-device-width : 480px) and (orientation: landscape){
.itemMenuHomeMetro a{
background-size: 75px 75px!important;
height: 85px;
}
}
/*
iPhone 6 in portrait & landscape
*/
@media only screen and (min-device-width : 375px) and (max-device-width : 667px) {
.itemMenuHomeMetro {
width: 100px;
height: 100px;
}
}
@media only screen and (min-device-width : 375px) and (max-device-width : 667px) and (orientation: portrait) {
.itemMenuHomeMetro a{
background-size: 85px 85px!important;
height: 110px;
}
}
@media only screen and (min-device-width : 375px) and (max-device-width : 667px) and (orientation: landscape) {
.itemMenuHomeMetro a{
background-size: 85px 85px!important;
height: 100px;
}
}
/*
iPhone 6 Plus in portrait & landscape
*/
@media only screen and (min-device-width : 414px) and (max-device-width : 736px) {
.itemMenuHomeMetro {
width: 145px;
height: 145px;
}
}
@media only screen and (min-device-width : 414px) and (max-device-width : 736px) and (orientation: portrait) {
.itemMenuHomeMetro a{
background-size: 140px 140px!important;
height: 180px;
}
}
@media only screen and (min-device-width : 414px) and (max-device-width : 736px) and (orientation: landscape) {
.itemMenuHomeMetro a{
background-size: 55px 55px!important;
height: 70px;
}
}
/*
Ipad
*/
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px){
.itemMenuHomeMetro {
width: 145px;
height: 145px;
}
}
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation: portrait) {
.itemMenuHomeMetro a{
background-size: 200px 200px!important;
height: 240px;
}
}
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation: landscape){
.itemMenuHomeMetro a{
background-size: 110px 110px!important;
height: 140px;
}
}
+4 -1
View File
@@ -2,5 +2,8 @@
@import url("IlLievitario.min.css");
@import url("loadingStyle.css");
@import url("base.style.css");
@import url("metroHome.css");
@import url("material-design.css");
@import url("mobile.style.css") screen;
@import url("jquery.rating.css");
@import url("jquery.rating.css");
@import url("zocial.css");
+1 -1
View File
File diff suppressed because one or more lines are too long
+473
View File
File diff suppressed because one or more lines are too long
+1
View File
File diff suppressed because one or more lines are too long
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

+44 -31
View File
@@ -1,35 +1,48 @@
<!DOCTYPE html>
<html>
<head>
<title>Il Lievitario</title>
<meta name="google" value="notranslate" />
<meta http-equiv="expires" content="0">
<meta http-equiv="Pragma" content="no-cache">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="format-detection" content="telephone=no">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.3/jquery.mobile-1.4.3.min.css" >
<link rel="stylesheet" href="css/style.min.<?php echo filemtime('css/style.min.css'); ?>.css">
<link rel="shortcut icon" sizes="196x196" href="https://dl.dropboxusercontent.com/s/l26w7lk0zwnpehf/Icon_Android196.png">
<link rel="apple-touch-icon" href="https://dl.dropboxusercontent.com/s/9cc174ato4hckl5/Icon.png" />
<link rel="apple-touch-icon" sizes="72x72" href="https://dl.dropboxusercontent.com/s/onehseqh6cusbo0/Icon~ipad.png" />
<link rel="apple-touch-icon" sizes="114x114" href="https://dl.dropboxusercontent.com/s/tcxl91zd502mapa/Icon%402x.png" />
<link rel="apple-touch-icon" sizes="144x144" href="https://dl.dropboxusercontent.com/s/pj3fk1lgc4cefwx/Icon~ipad%402x.png" />
<meta name="viewport" content="width=device-width, initial-scale=1, minimal-ui"/>
<meta http-equiv="Access-Control-Allow-Origin" content="*"/>
<script type='text/javascript' src="js/common.min.<?php echo filemtime('js/common.min.js'); ?>.js"></script>
<script type='text/javascript'>
<?php echo file_get_contents("js/manifest.js"); ?>
</script>
<script data-main="js/config.<?php echo filemtime('js/config.js'); ?>" src="js/libs/require.<?php echo filemtime('js/libs/require.js'); ?>.js"></script>
</head>
<body style="background-color: #1d1d1d;">
<?php include_once("analyticstracking.php") ?>
<div id="loadingFrm" style="text-align: center;">
<div class="loadingSfondo">
<div class="loadingText">
<div style="color: #ffffff;"><b>Caricamento...</b></div>
<head>
<title>Il Lievitario</title>
<meta name="google" value="notranslate" />
<meta http-equiv="expires" content="0">
<meta http-equiv="Pragma" content="no-cache">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="format-detection" content="telephone=no">
<!-- Meta tag per FB-->
<meta property="og:locale" content="it_IT"/>
<meta property="og:site_name" content="Il Lievitario"/>
<meta property="og:title" content="Il Lievitario"/>
<meta itemprop="name" content="Home - Il Lievitario"/>
<meta property="og:url" content="http://app.gruppolapastamadre.it"/>
<meta property="og:type" content="website"/>
<meta property="og:image" content="http://app.gruppolapastamadre.it/previewLink.png"/>
<meta property="og:description" content="Ricettario web del il Gruppo la pasta madre" />
<meta property="description" content="Ricettario web del il Gruppo la pasta madre" />
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" >
<link rel="stylesheet" href="css/style.min.<?php echo filemtime('css/style.min.css'); ?>.css">
<link href='http://fonts.googleapis.com/css?family=Pompiere' rel='stylesheet' type='text/css'>
<link rel="shortcut icon" sizes="196x196" href="https://dl.dropboxusercontent.com/s/l26w7lk0zwnpehf/Icon_Android196.png">
<link rel="apple-touch-icon" href="https://dl.dropboxusercontent.com/s/9cc174ato4hckl5/Icon.png" />
<link rel="apple-touch-icon" sizes="72x72" href="https://dl.dropboxusercontent.com/s/onehseqh6cusbo0/Icon~ipad.png" />
<link rel="apple-touch-icon" sizes="114x114" href="https://dl.dropboxusercontent.com/s/tcxl91zd502mapa/Icon%402x.png" />
<link rel="apple-touch-icon" sizes="144x144" href="https://dl.dropboxusercontent.com/s/pj3fk1lgc4cefwx/Icon~ipad%402x.png" />
<meta name="viewport" content="width=device-width, initial-scale=1, minimal-ui"/>
<meta http-equiv="Access-Control-Allow-Origin" content="*"/>
<script src="https://maps.googleapis.com/maps/api/js?libraries=places"></script>
<script type='text/javascript' src="js/common.min.<?php echo filemtime('js/common.min.js'); ?>.js"></script>
<script type='text/javascript'>
<?php echo file_get_contents("js/manifest.js"); ?>
</script>
<script data-main="js/config.<?php echo filemtime('js/config.js'); ?>" src="js/libs/require.<?php echo filemtime('js/libs/require.js'); ?>.js"></script>
</head>
<body style="background-color: #3b5998;">
<?php include_once("analyticstracking.php") ?>
<div id="loadingFrm" style="text-align: center;">
<div class="loadingSfondo"></div><br>
<div style="color: #ffffff;">
<b>Il Lievitario</b><br><br>
<i>...Caricamento in corso...</i>
</div>
</div>
</div>
</body>
</body>
</html>
+34 -19
View File
@@ -1,27 +1,28 @@
define(['jquery', 'underscore', 'backbone', 'router', 'classes/profile', 'classes/cache'], function
($, _, Backbone, Router, Profile, Cache) {
define(['jquery', 'underscore', 'backbone', 'router', 'classes/profile', 'classes/cache', 'libs/fastclick', 'classes/debug'], function
($, _, Backbone, Router, Profile, Cache, FastClick, Debug) {
'use strict';
var init = function () {
//create backbone router
var router = new Router();
Backbone.history.start();
Backbone.emulateJSON = true;
hello.init({
facebook: '1466942266882168',
google: '319140243944-qk0lfhgmi8shi4go97r83l69f1k0gdf4.apps.googleusercontent.com'
}, {display: 'page', scope: 'email'});
//console.log("Backbone history start");
// Trigger 'route' event on router instance.
router.on('route', function (name, args) {
//alert(name);
});
Cache.checkCacheFromServer();
if (Profile.isConnected()) {
Profile.loadProfile();
}
@@ -33,7 +34,7 @@ define(['jquery', 'underscore', 'backbone', 'router', 'classes/profile', 'classe
var id = "";
var displayName = "";
var email = "";
var gender = "";
var gender = "unknown";
if (auth.network === "google")
{
@@ -49,23 +50,37 @@ define(['jquery', 'underscore', 'backbone', 'router', 'classes/profile', 'classe
email = json.email;
gender = json.gender;
}
Profile.internalLoadProfile(id, function(retVal){
if(retVal === false)
if(gender === undefined)
gender = "unknown";
if(email === undefined)
email = "";
Debug.writeMessage('Your name is ' + json.name + ' in the social ' + auth.network + ", ID=" + id + ", DisplayName: "+ displayName + ", email:"+ email);
Profile._loadProfile(id, function (retVal) {
if (retVal === false)
{
Debug.writeMessage("Profilo non trovato, ne creo uno nuovo");
Profile.createProfile(
id,
auth.network,
displayName,
email,
gender,
function () {
window.location.href = "#syncView/tokenFound";
}
id,
auth.network,
displayName,
email,
gender,
function () {
Debug.writeMessage("Profilo nuovo creato");
window.location.href = "";
}
);
}
else
window.location.href = "#syncView/tokenFound";
window.location.href = "";
});
},
function(e){
Debug.writeMessage('Whoops! ' + e.error.message);
});
}
});
+8 -1
View File
@@ -22,13 +22,15 @@ define(['jquery', 'underscore', 'backbone', 'classes/cache'],
self[options.reset ? 'reset' : 'set'](false, options);
//deferred.resolve(cachedItem);
self.trigger('sync', self, false, options);
deferred.notify(self);
if(self.length == 1)
self.remove(self.models[0]);
self.push(cachedItem);
if (_.isFunction(options.success)) {
options.success(self, false, options);
}
deferred.resolve(cachedItem);
self.trigger('sync', self, false, options);
return deferred;
}, 0);
}
@@ -51,6 +53,11 @@ define(['jquery', 'underscore', 'backbone', 'classes/cache'],
// return a promise which provides the same methods as a jqXHR object
return deferred;
}
},
isCached: function () {
var cachedItem = Cache.get(this.cacheName);
return (cachedItem !== null);
}
});
return CachedCollection;
+43
View File
@@ -0,0 +1,43 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
define(['jquery', 'backbone'],
function ($, Backbone) {
var Debug = {
writeMessage: function (msg) {
var prevMsg = window.localStorage.getItem("debugMessages");
if(prevMsg === null)
prevMsg = "";
window.localStorage.setItem("debugMessages", prevMsg + "\n" + msg);
},
readMessage: function () {
return window.localStorage.getItem("debugMessages");
},
clearMessage: function () {
window.localStorage.setItem("debugMessages","");
},
testFastClick: function (element) {
var self = this;
var teTime, cTime;
element.addEventListener('touchend', function (event) {
teTime = Date.now();
self.writeMessage("touchend event: " + teTime);
}, false);
element.addEventListener('click', function (event) {
cTime = Date.now();
self.writeMessage("click event: " + cTime);
self.writeMessage("Diff Time event: " + (cTime - teTime));
}, false);
}
};
return Debug;
});
+121 -13
View File
@@ -6,6 +6,8 @@ define(['jquery', 'backbone'],
var Profile = {
_loadme: function () {
this.data.name = this.getName();
this.data.gender = this.getGender();
if (this.isConnected()) {
if (this.data.type == null)
this.loadProfile();
@@ -17,9 +19,22 @@ define(['jquery', 'backbone'],
"name": null,
"email": null,
"gender": null,
"tema": 'b',
"tema": 'd',
"risRic": '10',
"type": null
"type": null,
"picture": null,
"isSpacc": 0,
"dataSpacc": {
"stato": null,
"provincia": null,
"comune": null,
"cap": null,
"note": null,
"tipopm": null,
"privacy": 0,
"long": null,
"lat": null
}
},
isConnected: function () {
return this.getKeySave() != "null" &&
@@ -27,12 +42,21 @@ define(['jquery', 'backbone'],
this.getKeySave() != "undefined" &&
this.getKeySave() != undefined;
},
loadProfile: function (successFn) {
this.internalLoadProfile(this.getKeySave(), successFn);
setPictureEvent: null,
setPicture: function (val) {
this.data.picture = val;
if (this.setPictureEvent)
this.setPictureEvent(val);
},
internalLoadProfile: function (keyStore, successFn) {
if (this.dataloaded)
loadProfile: function (successFn) {
this._loadProfile(this.getKeySave(), successFn);
},
_loadProfile: function (keyStore, successFn) {
if (this.dataloaded) {
if (successFn)
successFn(retBool);
return;
}
//var keyStore = this.getKeySave();
var self = this;
var retBool = false;
@@ -45,24 +69,97 @@ define(['jquery', 'backbone'],
if (response.length > 0)
{
self.dataloaded = true;
self.setKeySave(keyStore);
self.data.name = response[0].Name;
self.data.name = unescape(response[0].Name);
self.data.email = response[0].Email;
self.data.gender = response[0].Gender;
self.data.tema = response[0].TemaUI;
self.data.risRic = response[0].RisultatiRicerca;
self.data.type = response[0].TipoAccesso;
self.setKeySave(keyStore);
self.setName(self.data.name);
self.setGender(self.data.gender);
self.data.isSpacc = response[0].bSpacciatore;
self.data.dataSpacc.stato = response[0].Stato;
self.data.dataSpacc.provincia = unescape(response[0].Provincia);
self.data.dataSpacc.comune = unescape(response[0].Comune);
self.data.dataSpacc.cap = response[0].Cap;
self.data.dataSpacc.privacy = response[0].bPrivacy;
self.data.dataSpacc.tipopm = response[0].TipoPM;
self.data.dataSpacc.note = unescape(response[0].Note);
self.data.dataSpacc.lat = response[0].Latitudine;
self.data.dataSpacc.long = response[0].Longitudine;
retBool = true;
switch (self.data.type)
{
case "facebook":
img = "https://graph.facebook.com/" + keyStore + "/picture?type=normal";
self.setPicture(img);
break;
case "google":
var resp = $.ajax({
url: "https://www.googleapis.com/plus/v1/people/" + keyStore + "?fields=image&key=" + myManifest.getGPublicApiKey(),
//dataType: "json",
//async: false,
type: 'GET',
success: function (resp) {
self.setPicture(resp.image.url.replace("?sz=50", "?sz=150"));
}
});
break;
}
}
if (successFn)
successFn(retBool);
}
});
});
},
resetProfile: function(){
this.data.name = null;
this.data.email = null;
this.data.gender = null;
this.data.type = null;
this.data.picture = null;
this.data.tema = 'd';
this.data.risRic = '10';
this.data.isSpacc = 0;
this.data.dataSpacc.stato = null;
this.data.dataSpacc.provincia = null;
this.data.dataSpacc.comune = null;
this.data.dataSpacc.cap = null;
this.data.dataSpacc.tipopm = null;
this.data.dataSpacc.note = null;
this.data.dataSpacc.privacy = 0;
this.data.dataSpacc.long = null;
this.data.dataSpacc.lat = null;
this.setKeySave(null);
this.setName("");
this.setGender("");
window.localStorage.setItem("hello", null);
},
_getVal: function (key) {
return window.localStorage.getItem(key);
},
_setVal: function (key, val) {
window.localStorage.setItem(key, val);
},
getKeySave: function () {
return window.localStorage.getItem("KeySave");
return this._getVal("KeySave");
},
setKeySave: function (val) {
window.localStorage.setItem("KeySave", val);
this._setVal("KeySave", val);
},
getName: function () {
return this._getVal("userName");
},
setName: function (val) {
this._setVal("userName", val);
},
getGender: function () {
return this._getVal("userGender");
},
setGender: function (val) {
this._setVal("userGender", val);
},
isGPlusConnected: function () {
if (this.data.type === "google")
@@ -125,7 +222,7 @@ define(['jquery', 'backbone'],
var sendobj = {
"keyStore": this.getKeySave(),
"name": this.data.name,
"name": escape(this.data.name),
"email": this.data.email,
"gender": this.data.gender,
"tema": this.data.tema,
@@ -150,7 +247,18 @@ define(['jquery', 'backbone'],
"keyStore": this.getKeySave(),
"tema": this.data.tema,
"risRic": this.data.risRic,
"type": this.data.type
"type": this.data.type,
"email": this.data.email,
"isSpacc": this.data.isSpacc,
"stato": this.data.dataSpacc.stato,
"prov": escape(this.data.dataSpacc.provincia),
"comune": escape(this.data.dataSpacc.comune),
"cap": this.data.dataSpacc.cap,
"tipopm": this.data.dataSpacc.tipopm,
"note": escape(this.data.dataSpacc.note),
"privacy": this.data.dataSpacc.privacy,
"lng": this.data.dataSpacc.long,
"lat": this.data.dataSpacc.lat
};
$.ajax({
+3 -3
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -2,8 +2,8 @@
<ul>
<li><a href="#noteView" id="noteBtn" data-icon="custom">Blocco note</a></li>
<li><a href="#faqView" id="faqBtn" data-icon="custom">Lo sai che?</a></li>
<li><a href="#indexView" id="indexBtn" data-icon="custom">Indice</a></li>
<li><a href="#searchView" id="searchBtn" data-icon="custom">Cerca</a></li>
<!--<li><a href="#indexView" id="indexBtn" data-icon="custom">Indice</a></li>
<li><a href="#searchView" id="searchBtn" data-icon="custom">Cerca</a></li>-->
<li><a href="#moreView" id="moreBtn" data-icon="custom">Altro</a></li>
<!--<li><a href="#aboutView" id="infoBtn" data-icon="custom">About</a></li>
<li><a href="#toolsView" id="toolsBtn" data-icon="custom">Tools</a></li>-->
+7 -5
View File
@@ -1,16 +1,18 @@
define(['jquery'], function ($){
'use strict';
define(['jquery'], function ($) {
'use strict';
$(document).bind("mobileinit", function () {
$.mobile.ajaxEnabled = false;
$.mobile.linkBindingEnabled = false;
$.mobile.hashListeningEnabled = false;
$.mobile.pushStateEnabled = false;
$.support.cors = true;
$.mobile.allowCrossDomainPages = true;
$.mobile.defaultPageTransition = 'flip';
$.mobile.allowCrossDomainPages = true;
//$.mobile.defaultPageTransition = 'flip';
$.mobile.buttonMarkup.hoverDelay = 0;
// Remove page from DOM when it's being replaced
$(document).on("pagecontainerhide", function (event, ui) {
$("div[data-role='page']:not(.ui-page-active)").remove();
//ui.prevPage.remove();
$("div[data-role='page'][stay-in-page='false']:not(.ui-page-active)").remove();
});
});
});
+1 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+841 -828
View File
File diff suppressed because it is too large Load Diff
+4 -2
View File
File diff suppressed because one or more lines are too long
+2 -1
View File
@@ -1,3 +1,4 @@
define(['plugins/jquery.rating.pack', 'plugins/jquery.mobile.alphascroll.min', 'plugins/jquery.validate.min'], function ($) {
define(['plugins/jquery.rating.pack',
'plugins/freewall'], function ($) {
// Do nothing
});
+32 -31
View File
@@ -1,36 +1,37 @@
/*
RequireJS 2.1.15 Copyright (c) 2010-2014, The Dojo Foundation All Rights Reserved.
RequireJS 2.1.22 Copyright (c) 2010-2015, The Dojo Foundation All Rights Reserved.
Available via the MIT or new BSD license.
see: http://github.com/jrburke/requirejs for details
*/
var requirejs,require,define;
(function(ba){function G(b){return"[object Function]"===K.call(b)}function H(b){return"[object Array]"===K.call(b)}function v(b,c){if(b){var d;for(d=0;d<b.length&&(!b[d]||!c(b[d],d,b));d+=1);}}function T(b,c){if(b){var d;for(d=b.length-1;-1<d&&(!b[d]||!c(b[d],d,b));d-=1);}}function t(b,c){return fa.call(b,c)}function m(b,c){return t(b,c)&&b[c]}function B(b,c){for(var d in b)if(t(b,d)&&c(b[d],d))break}function U(b,c,d,e){c&&B(c,function(c,g){if(d||!t(b,g))e&&"object"===typeof c&&c&&!H(c)&&!G(c)&&!(c instanceof
RegExp)?(b[g]||(b[g]={}),U(b[g],c,d,e)):b[g]=c});return b}function u(b,c){return function(){return c.apply(b,arguments)}}function ca(b){throw b;}function da(b){if(!b)return b;var c=ba;v(b.split("."),function(b){c=c[b]});return c}function C(b,c,d,e){c=Error(c+"\nhttp://requirejs.org/docs/errors.html#"+b);c.requireType=b;c.requireModules=e;d&&(c.originalError=d);return c}function ga(b){function c(a,k,b){var f,l,c,d,e,g,i,p,k=k&&k.split("/"),h=j.map,n=h&&h["*"];if(a){a=a.split("/");l=a.length-1;j.nodeIdCompat&&
Q.test(a[l])&&(a[l]=a[l].replace(Q,""));"."===a[0].charAt(0)&&k&&(l=k.slice(0,k.length-1),a=l.concat(a));l=a;for(c=0;c<l.length;c++)if(d=l[c],"."===d)l.splice(c,1),c-=1;else if(".."===d&&!(0===c||1==c&&".."===l[2]||".."===l[c-1])&&0<c)l.splice(c-1,2),c-=2;a=a.join("/")}if(b&&h&&(k||n)){l=a.split("/");c=l.length;a:for(;0<c;c-=1){e=l.slice(0,c).join("/");if(k)for(d=k.length;0<d;d-=1)if(b=m(h,k.slice(0,d).join("/")))if(b=m(b,e)){f=b;g=c;break a}!i&&(n&&m(n,e))&&(i=m(n,e),p=c)}!f&&i&&(f=i,g=p);f&&(l.splice(0,
g,f),a=l.join("/"))}return(f=m(j.pkgs,a))?f:a}function d(a){z&&v(document.getElementsByTagName("script"),function(k){if(k.getAttribute("data-requiremodule")===a&&k.getAttribute("data-requirecontext")===i.contextName)return k.parentNode.removeChild(k),!0})}function e(a){var k=m(j.paths,a);if(k&&H(k)&&1<k.length)return k.shift(),i.require.undef(a),i.makeRequire(null,{skipMap:!0})([a]),!0}function n(a){var k,c=a?a.indexOf("!"):-1;-1<c&&(k=a.substring(0,c),a=a.substring(c+1,a.length));return[k,a]}function p(a,
k,b,f){var l,d,e=null,g=k?k.name:null,j=a,p=!0,h="";a||(p=!1,a="_@r"+(K+=1));a=n(a);e=a[0];a=a[1];e&&(e=c(e,g,f),d=m(r,e));a&&(e?h=d&&d.normalize?d.normalize(a,function(a){return c(a,g,f)}):-1===a.indexOf("!")?c(a,g,f):a:(h=c(a,g,f),a=n(h),e=a[0],h=a[1],b=!0,l=i.nameToUrl(h)));b=e&&!d&&!b?"_unnormalized"+(O+=1):"";return{prefix:e,name:h,parentMap:k,unnormalized:!!b,url:l,originalName:j,isDefine:p,id:(e?e+"!"+h:h)+b}}function s(a){var k=a.id,b=m(h,k);b||(b=h[k]=new i.Module(a));return b}function q(a,
k,b){var f=a.id,c=m(h,f);if(t(r,f)&&(!c||c.defineEmitComplete))"defined"===k&&b(r[f]);else if(c=s(a),c.error&&"error"===k)b(c.error);else c.on(k,b)}function w(a,b){var c=a.requireModules,f=!1;if(b)b(a);else if(v(c,function(b){if(b=m(h,b))b.error=a,b.events.error&&(f=!0,b.emit("error",a))}),!f)g.onError(a)}function x(){R.length&&(ha.apply(A,[A.length,0].concat(R)),R=[])}function y(a){delete h[a];delete V[a]}function F(a,b,c){var f=a.map.id;a.error?a.emit("error",a.error):(b[f]=!0,v(a.depMaps,function(f,
d){var e=f.id,g=m(h,e);g&&(!a.depMatched[d]&&!c[e])&&(m(b,e)?(a.defineDep(d,r[e]),a.check()):F(g,b,c))}),c[f]=!0)}function D(){var a,b,c=(a=1E3*j.waitSeconds)&&i.startTime+a<(new Date).getTime(),f=[],l=[],g=!1,h=!0;if(!W){W=!0;B(V,function(a){var i=a.map,j=i.id;if(a.enabled&&(i.isDefine||l.push(a),!a.error))if(!a.inited&&c)e(j)?g=b=!0:(f.push(j),d(j));else if(!a.inited&&(a.fetched&&i.isDefine)&&(g=!0,!i.prefix))return h=!1});if(c&&f.length)return a=C("timeout","Load timeout for modules: "+f,null,
f),a.contextName=i.contextName,w(a);h&&v(l,function(a){F(a,{},{})});if((!c||b)&&g)if((z||ea)&&!X)X=setTimeout(function(){X=0;D()},50);W=!1}}function E(a){t(r,a[0])||s(p(a[0],null,!0)).init(a[1],a[2])}function I(a){var a=a.currentTarget||a.srcElement,b=i.onScriptLoad;a.detachEvent&&!Y?a.detachEvent("onreadystatechange",b):a.removeEventListener("load",b,!1);b=i.onScriptError;(!a.detachEvent||Y)&&a.removeEventListener("error",b,!1);return{node:a,id:a&&a.getAttribute("data-requiremodule")}}function J(){var a;
for(x();A.length;){a=A.shift();if(null===a[0])return w(C("mismatch","Mismatched anonymous define() module: "+a[a.length-1]));E(a)}}var W,Z,i,L,X,j={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},h={},V={},$={},A=[],r={},S={},aa={},K=1,O=1;L={require:function(a){return a.require?a.require:a.require=i.makeRequire(a.map)},exports:function(a){a.usingExports=!0;if(a.map.isDefine)return a.exports?r[a.map.id]=a.exports:a.exports=r[a.map.id]={}},module:function(a){return a.module?
a.module:a.module={id:a.map.id,uri:a.map.url,config:function(){return m(j.config,a.map.id)||{}},exports:a.exports||(a.exports={})}}};Z=function(a){this.events=m($,a.id)||{};this.map=a;this.shim=m(j.shim,a.id);this.depExports=[];this.depMaps=[];this.depMatched=[];this.pluginMaps={};this.depCount=0};Z.prototype={init:function(a,b,c,f){f=f||{};if(!this.inited){this.factory=b;if(c)this.on("error",c);else this.events.error&&(c=u(this,function(a){this.emit("error",a)}));this.depMaps=a&&a.slice(0);this.errback=
c;this.inited=!0;this.ignore=f.ignore;f.enabled||this.enabled?this.enable():this.check()}},defineDep:function(a,b){this.depMatched[a]||(this.depMatched[a]=!0,this.depCount-=1,this.depExports[a]=b)},fetch:function(){if(!this.fetched){this.fetched=!0;i.startTime=(new Date).getTime();var a=this.map;if(this.shim)i.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],u(this,function(){return a.prefix?this.callPlugin():this.load()}));else return a.prefix?this.callPlugin():this.load()}},load:function(){var a=
this.map.url;S[a]||(S[a]=!0,i.load(this.map.id,a))},check:function(){if(this.enabled&&!this.enabling){var a,b,c=this.map.id;b=this.depExports;var f=this.exports,l=this.factory;if(this.inited)if(this.error)this.emit("error",this.error);else{if(!this.defining){this.defining=!0;if(1>this.depCount&&!this.defined){if(G(l)){if(this.events.error&&this.map.isDefine||g.onError!==ca)try{f=i.execCb(c,l,b,f)}catch(d){a=d}else f=i.execCb(c,l,b,f);this.map.isDefine&&void 0===f&&((b=this.module)?f=b.exports:this.usingExports&&
(f=this.exports));if(a)return a.requireMap=this.map,a.requireModules=this.map.isDefine?[this.map.id]:null,a.requireType=this.map.isDefine?"define":"require",w(this.error=a)}else f=l;this.exports=f;if(this.map.isDefine&&!this.ignore&&(r[c]=f,g.onResourceLoad))g.onResourceLoad(i,this.map,this.depMaps);y(c);this.defined=!0}this.defining=!1;this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else this.fetch()}},callPlugin:function(){var a=
this.map,b=a.id,d=p(a.prefix);this.depMaps.push(d);q(d,"defined",u(this,function(f){var l,d;d=m(aa,this.map.id);var e=this.map.name,P=this.map.parentMap?this.map.parentMap.name:null,n=i.makeRequire(a.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){if(f.normalize&&(e=f.normalize(e,function(a){return c(a,P,!0)})||""),f=p(a.prefix+"!"+e,this.map.parentMap),q(f,"defined",u(this,function(a){this.init([],function(){return a},null,{enabled:!0,ignore:!0})})),d=m(h,f.id)){this.depMaps.push(f);
if(this.events.error)d.on("error",u(this,function(a){this.emit("error",a)}));d.enable()}}else d?(this.map.url=i.nameToUrl(d),this.load()):(l=u(this,function(a){this.init([],function(){return a},null,{enabled:!0})}),l.error=u(this,function(a){this.inited=!0;this.error=a;a.requireModules=[b];B(h,function(a){0===a.map.id.indexOf(b+"_unnormalized")&&y(a.map.id)});w(a)}),l.fromText=u(this,function(f,c){var d=a.name,e=p(d),P=M;c&&(f=c);P&&(M=!1);s(e);t(j.config,b)&&(j.config[d]=j.config[b]);try{g.exec(f)}catch(h){return w(C("fromtexteval",
"fromText eval for "+b+" failed: "+h,h,[b]))}P&&(M=!0);this.depMaps.push(e);i.completeLoad(d);n([d],l)}),f.load(a.name,n,l,j))}));i.enable(d,this);this.pluginMaps[d.id]=d},enable:function(){V[this.map.id]=this;this.enabling=this.enabled=!0;v(this.depMaps,u(this,function(a,b){var c,f;if("string"===typeof a){a=p(a,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap);this.depMaps[b]=a;if(c=m(L,a.id)){this.depExports[b]=c(this);return}this.depCount+=1;q(a,"defined",u(this,function(a){this.defineDep(b,
a);this.check()}));this.errback&&q(a,"error",u(this,this.errback))}c=a.id;f=h[c];!t(L,c)&&(f&&!f.enabled)&&i.enable(a,this)}));B(this.pluginMaps,u(this,function(a){var b=m(h,a.id);b&&!b.enabled&&i.enable(a,this)}));this.enabling=!1;this.check()},on:function(a,b){var c=this.events[a];c||(c=this.events[a]=[]);c.push(b)},emit:function(a,b){v(this.events[a],function(a){a(b)});"error"===a&&delete this.events[a]}};i={config:j,contextName:b,registry:h,defined:r,urlFetched:S,defQueue:A,Module:Z,makeModuleMap:p,
nextTick:g.nextTick,onError:w,configure:function(a){a.baseUrl&&"/"!==a.baseUrl.charAt(a.baseUrl.length-1)&&(a.baseUrl+="/");var b=j.shim,c={paths:!0,bundles:!0,config:!0,map:!0};B(a,function(a,b){c[b]?(j[b]||(j[b]={}),U(j[b],a,!0,!0)):j[b]=a});a.bundles&&B(a.bundles,function(a,b){v(a,function(a){a!==b&&(aa[a]=b)})});a.shim&&(B(a.shim,function(a,c){H(a)&&(a={deps:a});if((a.exports||a.init)&&!a.exportsFn)a.exportsFn=i.makeShimExports(a);b[c]=a}),j.shim=b);a.packages&&v(a.packages,function(a){var b,
a="string"===typeof a?{name:a}:a;b=a.name;a.location&&(j.paths[b]=a.location);j.pkgs[b]=a.name+"/"+(a.main||"main").replace(ia,"").replace(Q,"")});B(h,function(a,b){!a.inited&&!a.map.unnormalized&&(a.map=p(b))});if(a.deps||a.callback)i.require(a.deps||[],a.callback)},makeShimExports:function(a){return function(){var b;a.init&&(b=a.init.apply(ba,arguments));return b||a.exports&&da(a.exports)}},makeRequire:function(a,e){function j(c,d,m){var n,q;e.enableBuildCallback&&(d&&G(d))&&(d.__requireJsBuild=
!0);if("string"===typeof c){if(G(d))return w(C("requireargs","Invalid require call"),m);if(a&&t(L,c))return L[c](h[a.id]);if(g.get)return g.get(i,c,a,j);n=p(c,a,!1,!0);n=n.id;return!t(r,n)?w(C("notloaded",'Module name "'+n+'" has not been loaded yet for context: '+b+(a?"":". Use require([])"))):r[n]}J();i.nextTick(function(){J();q=s(p(null,a));q.skipMap=e.skipMap;q.init(c,d,m,{enabled:!0});D()});return j}e=e||{};U(j,{isBrowser:z,toUrl:function(b){var d,e=b.lastIndexOf("."),k=b.split("/")[0];if(-1!==
e&&(!("."===k||".."===k)||1<e))d=b.substring(e,b.length),b=b.substring(0,e);return i.nameToUrl(c(b,a&&a.id,!0),d,!0)},defined:function(b){return t(r,p(b,a,!1,!0).id)},specified:function(b){b=p(b,a,!1,!0).id;return t(r,b)||t(h,b)}});a||(j.undef=function(b){x();var c=p(b,a,!0),e=m(h,b);d(b);delete r[b];delete S[c.url];delete $[b];T(A,function(a,c){a[0]===b&&A.splice(c,1)});e&&(e.events.defined&&($[b]=e.events),y(b))});return j},enable:function(a){m(h,a.id)&&s(a).enable()},completeLoad:function(a){var b,
c,d=m(j.shim,a)||{},g=d.exports;for(x();A.length;){c=A.shift();if(null===c[0]){c[0]=a;if(b)break;b=!0}else c[0]===a&&(b=!0);E(c)}c=m(h,a);if(!b&&!t(r,a)&&c&&!c.inited){if(j.enforceDefine&&(!g||!da(g)))return e(a)?void 0:w(C("nodefine","No define call for "+a,null,[a]));E([a,d.deps||[],d.exportsFn])}D()},nameToUrl:function(a,b,c){var d,e,h;(d=m(j.pkgs,a))&&(a=d);if(d=m(aa,a))return i.nameToUrl(d,b,c);if(g.jsExtRegExp.test(a))d=a+(b||"");else{d=j.paths;a=a.split("/");for(e=a.length;0<e;e-=1)if(h=a.slice(0,
e).join("/"),h=m(d,h)){H(h)&&(h=h[0]);a.splice(0,e,h);break}d=a.join("/");d+=b||(/^data\:|\?/.test(d)||c?"":".js");d=("/"===d.charAt(0)||d.match(/^[\w\+\.\-]+:/)?"":j.baseUrl)+d}return j.urlArgs?d+((-1===d.indexOf("?")?"?":"&")+j.urlArgs):d},load:function(a,b){g.load(i,a,b)},execCb:function(a,b,c,d){return b.apply(d,c)},onScriptLoad:function(a){if("load"===a.type||ja.test((a.currentTarget||a.srcElement).readyState))N=null,a=I(a),i.completeLoad(a.id)},onScriptError:function(a){var b=I(a);if(!e(b.id))return w(C("scripterror",
"Script error for: "+b.id,a,[b.id]))}};i.require=i.makeRequire();return i}var g,x,y,D,I,E,N,J,s,O,ka=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,la=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,Q=/\.js$/,ia=/^\.\//;x=Object.prototype;var K=x.toString,fa=x.hasOwnProperty,ha=Array.prototype.splice,z=!!("undefined"!==typeof window&&"undefined"!==typeof navigator&&window.document),ea=!z&&"undefined"!==typeof importScripts,ja=z&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,
Y="undefined"!==typeof opera&&"[object Opera]"===opera.toString(),F={},q={},R=[],M=!1;if("undefined"===typeof define){if("undefined"!==typeof requirejs){if(G(requirejs))return;q=requirejs;requirejs=void 0}"undefined"!==typeof require&&!G(require)&&(q=require,require=void 0);g=requirejs=function(b,c,d,e){var n,p="_";!H(b)&&"string"!==typeof b&&(n=b,H(c)?(b=c,c=d,d=e):b=[]);n&&n.context&&(p=n.context);(e=m(F,p))||(e=F[p]=g.s.newContext(p));n&&e.configure(n);return e.require(b,c,d)};g.config=function(b){return g(b)};
g.nextTick="undefined"!==typeof setTimeout?function(b){setTimeout(b,4)}:function(b){b()};require||(require=g);g.version="2.1.15";g.jsExtRegExp=/^\/|:|\?|\.js$/;g.isBrowser=z;x=g.s={contexts:F,newContext:ga};g({});v(["toUrl","undef","defined","specified"],function(b){g[b]=function(){var c=F._;return c.require[b].apply(c,arguments)}});if(z&&(y=x.head=document.getElementsByTagName("head")[0],D=document.getElementsByTagName("base")[0]))y=x.head=D.parentNode;g.onError=ca;g.createNode=function(b){var c=
b.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");c.type=b.scriptType||"text/javascript";c.charset="utf-8";c.async=!0;return c};g.load=function(b,c,d){var e=b&&b.config||{};if(z)return e=g.createNode(e,c,d),e.setAttribute("data-requirecontext",b.contextName),e.setAttribute("data-requiremodule",c),e.attachEvent&&!(e.attachEvent.toString&&0>e.attachEvent.toString().indexOf("[native code"))&&!Y?(M=!0,e.attachEvent("onreadystatechange",b.onScriptLoad)):
(e.addEventListener("load",b.onScriptLoad,!1),e.addEventListener("error",b.onScriptError,!1)),e.src=d,J=e,D?y.insertBefore(e,D):y.appendChild(e),J=null,e;if(ea)try{importScripts(d),b.completeLoad(c)}catch(m){b.onError(C("importscripts","importScripts failed for "+c+" at "+d,m,[c]))}};z&&!q.skipDataMain&&T(document.getElementsByTagName("script"),function(b){y||(y=b.parentNode);if(I=b.getAttribute("data-main"))return s=I,q.baseUrl||(E=s.split("/"),s=E.pop(),O=E.length?E.join("/")+"/":"./",q.baseUrl=
O),s=s.replace(Q,""),g.jsExtRegExp.test(s)&&(s=I),q.deps=q.deps?q.deps.concat(s):[s],!0});define=function(b,c,d){var e,g;"string"!==typeof b&&(d=c,c=b,b=null);H(c)||(d=c,c=null);!c&&G(d)&&(c=[],d.length&&(d.toString().replace(ka,"").replace(la,function(b,d){c.push(d)}),c=(1===d.length?["require"]:["require","exports","module"]).concat(c)));if(M){if(!(e=J))N&&"interactive"===N.readyState||T(document.getElementsByTagName("script"),function(b){if("interactive"===b.readyState)return N=b}),e=N;e&&(b||
(b=e.getAttribute("data-requiremodule")),g=F[e.getAttribute("data-requirecontext")])}(g?g.defQueue:R).push([b,c,d])};define.amd={jQuery:!0};g.exec=function(b){return eval(b)};g(q)}})(this);
(function(ha){function L(b){return"[object Function]"===R.call(b)}function M(b){return"[object Array]"===R.call(b)}function x(b,c){if(b){var d;for(d=0;d<b.length&&(!b[d]||!c(b[d],d,b));d+=1);}}function Y(b,c){if(b){var d;for(d=b.length-1;-1<d&&(!b[d]||!c(b[d],d,b));--d);}}function w(b,c){return la.call(b,c)}function g(b,c){return w(b,c)&&b[c]}function E(b,c){for(var d in b)if(w(b,d)&&c(b[d],d))break}function Z(b,c,d,k){c&&E(c,function(c,g){if(d||!w(b,g))!k||"object"!==typeof c||!c||M(c)||L(c)||c instanceof
RegExp?b[g]=c:(b[g]||(b[g]={}),Z(b[g],c,d,k))});return b}function y(b,c){return function(){return c.apply(b,arguments)}}function ia(b){throw b;}function ja(b){if(!b)return b;var c=ha;x(b.split("."),function(b){c=c[b]});return c}function G(b,c,d,g){c=Error(c+"\nhttp://requirejs.org/docs/errors.html#"+b);c.requireType=b;c.requireModules=g;d&&(c.originalError=d);return c}function ma(b){function c(a,n,b){var f,l,c,d,h,k,e,A;n=n&&n.split("/");var q=m.map,p=q&&q["*"];if(a){a=a.split("/");l=a.length-1;m.nodeIdCompat&&
V.test(a[l])&&(a[l]=a[l].replace(V,""));"."===a[0].charAt(0)&&n&&(l=n.slice(0,n.length-1),a=l.concat(a));l=a;for(c=0;c<l.length;c++)d=l[c],"."===d?(l.splice(c,1),--c):".."===d&&0!==c&&(1!==c||".."!==l[2])&&".."!==l[c-1]&&0<c&&(l.splice(c-1,2),c-=2);a=a.join("/")}if(b&&q&&(n||p)){l=a.split("/");c=l.length;a:for(;0<c;--c){h=l.slice(0,c).join("/");if(n)for(d=n.length;0<d;--d)if(b=g(q,n.slice(0,d).join("/")))if(b=g(b,h)){f=b;k=c;break a}!e&&p&&g(p,h)&&(e=g(p,h),A=c)}!f&&e&&(f=e,k=A);f&&(l.splice(0,k,
f),a=l.join("/"))}return(f=g(m.pkgs,a))?f:a}function d(a){F&&x(document.getElementsByTagName("script"),function(n){if(n.getAttribute("data-requiremodule")===a&&n.getAttribute("data-requirecontext")===h.contextName)return n.parentNode.removeChild(n),!0})}function p(a){var n=g(m.paths,a);if(n&&M(n)&&1<n.length)return n.shift(),h.require.undef(a),h.makeRequire(null,{skipMap:!0})([a]),!0}function e(a){var n,b=a?a.indexOf("!"):-1;-1<b&&(n=a.substring(0,b),a=a.substring(b+1,a.length));return[n,a]}function q(a,
n,b,f){var l,d,z=null,k=n?n.name:null,m=a,q=!0,A="";a||(q=!1,a="_@r"+(R+=1));a=e(a);z=a[0];a=a[1];z&&(z=c(z,k,f),d=g(r,z));a&&(z?A=d&&d.normalize?d.normalize(a,function(a){return c(a,k,f)}):-1===a.indexOf("!")?c(a,k,f):a:(A=c(a,k,f),a=e(A),z=a[0],A=a[1],b=!0,l=h.nameToUrl(A)));b=!z||d||b?"":"_unnormalized"+(U+=1);return{prefix:z,name:A,parentMap:n,unnormalized:!!b,url:l,originalName:m,isDefine:q,id:(z?z+"!"+A:A)+b}}function u(a){var b=a.id,c=g(t,b);c||(c=t[b]=new h.Module(a));return c}function v(a,
b,c){var f=a.id,l=g(t,f);if(!w(r,f)||l&&!l.defineEmitComplete)if(l=u(a),l.error&&"error"===b)c(l.error);else l.on(b,c);else"defined"===b&&c(r[f])}function B(a,b){var c=a.requireModules,f=!1;if(b)b(a);else if(x(c,function(b){if(b=g(t,b))b.error=a,b.events.error&&(f=!0,b.emit("error",a))}),!f)k.onError(a)}function C(){W.length&&(x(W,function(a){var b=a[0];"string"===typeof b&&(h.defQueueMap[b]=!0);H.push(a)}),W=[])}function D(a){delete t[a];delete aa[a]}function K(a,b,c){var f=a.map.id;a.error?a.emit("error",
a.error):(b[f]=!0,x(a.depMaps,function(f,d){var h=f.id,k=g(t,h);!k||a.depMatched[d]||c[h]||(g(b,h)?(a.defineDep(d,r[h]),a.check()):K(k,b,c))}),c[f]=!0)}function I(){var a,b,c=(a=1E3*m.waitSeconds)&&h.startTime+a<(new Date).getTime(),f=[],l=[],k=!1,g=!0;if(!ba){ba=!0;E(aa,function(a){var h=a.map,e=h.id;if(a.enabled&&(h.isDefine||l.push(a),!a.error))if(!a.inited&&c)p(e)?k=b=!0:(f.push(e),d(e));else if(!a.inited&&a.fetched&&h.isDefine&&(k=!0,!h.prefix))return g=!1});if(c&&f.length)return a=G("timeout",
"Load timeout for modules: "+f,null,f),a.contextName=h.contextName,B(a);g&&x(l,function(a){K(a,{},{})});c&&!b||!k||!F&&!ka||ca||(ca=setTimeout(function(){ca=0;I()},50));ba=!1}}function J(a){w(r,a[0])||u(q(a[0],null,!0)).init(a[1],a[2])}function P(a){a=a.currentTarget||a.srcElement;var b=h.onScriptLoad;a.detachEvent&&!da?a.detachEvent("onreadystatechange",b):a.removeEventListener("load",b,!1);b=h.onScriptError;a.detachEvent&&!da||a.removeEventListener("error",b,!1);return{node:a,id:a&&a.getAttribute("data-requiremodule")}}
function Q(){var a;for(C();H.length;){a=H.shift();if(null===a[0])return B(G("mismatch","Mismatched anonymous define() module: "+a[a.length-1]));J(a)}h.defQueueMap={}}var ba,ea,h,S,ca,m={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},t={},aa={},fa={},H=[],r={},X={},ga={},R=1,U=1;S={require:function(a){return a.require?a.require:a.require=h.makeRequire(a.map)},exports:function(a){a.usingExports=!0;if(a.map.isDefine)return a.exports?r[a.map.id]=a.exports:a.exports=r[a.map.id]=
{}},module:function(a){return a.module?a.module:a.module={id:a.map.id,uri:a.map.url,config:function(){return g(m.config,a.map.id)||{}},exports:a.exports||(a.exports={})}}};ea=function(a){this.events=g(fa,a.id)||{};this.map=a;this.shim=g(m.shim,a.id);this.depExports=[];this.depMaps=[];this.depMatched=[];this.pluginMaps={};this.depCount=0};ea.prototype={init:function(a,b,c,f){f=f||{};if(!this.inited){this.factory=b;if(c)this.on("error",c);else this.events.error&&(c=y(this,function(a){this.emit("error",
a)}));this.depMaps=a&&a.slice(0);this.errback=c;this.inited=!0;this.ignore=f.ignore;f.enabled||this.enabled?this.enable():this.check()}},defineDep:function(a,b){this.depMatched[a]||(this.depMatched[a]=!0,--this.depCount,this.depExports[a]=b)},fetch:function(){if(!this.fetched){this.fetched=!0;h.startTime=(new Date).getTime();var a=this.map;if(this.shim)h.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],y(this,function(){return a.prefix?this.callPlugin():this.load()}));else return a.prefix?
this.callPlugin():this.load()}},load:function(){var a=this.map.url;X[a]||(X[a]=!0,h.load(this.map.id,a))},check:function(){if(this.enabled&&!this.enabling){var a,b,c=this.map.id;b=this.depExports;var f=this.exports,l=this.factory;if(!this.inited)w(h.defQueueMap,c)||this.fetch();else if(this.error)this.emit("error",this.error);else if(!this.defining){this.defining=!0;if(1>this.depCount&&!this.defined){if(L(l)){try{f=h.execCb(c,l,b,f)}catch(d){a=d}this.map.isDefine&&void 0===f&&((b=this.module)?f=b.exports:
this.usingExports&&(f=this.exports));if(a){if(this.events.error&&this.map.isDefine||k.onError!==ia)return a.requireMap=this.map,a.requireModules=this.map.isDefine?[this.map.id]:null,a.requireType=this.map.isDefine?"define":"require",B(this.error=a);if("undefined"!==typeof console&&console.error)console.error(a);else k.onError(a)}}else f=l;this.exports=f;if(this.map.isDefine&&!this.ignore&&(r[c]=f,k.onResourceLoad)){var e=[];x(this.depMaps,function(a){e.push(a.normalizedMap||a)});k.onResourceLoad(h,
this.map,e)}D(c);this.defined=!0}this.defining=!1;this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}},callPlugin:function(){var a=this.map,b=a.id,d=q(a.prefix);this.depMaps.push(d);v(d,"defined",y(this,function(f){var l,d,e=g(ga,this.map.id),N=this.map.name,p=this.map.parentMap?this.map.parentMap.name:null,r=h.makeRequire(a.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){if(f.normalize&&(N=f.normalize(N,function(a){return c(a,
p,!0)})||""),d=q(a.prefix+"!"+N,this.map.parentMap),v(d,"defined",y(this,function(a){this.map.normalizedMap=d;this.init([],function(){return a},null,{enabled:!0,ignore:!0})})),f=g(t,d.id)){this.depMaps.push(d);if(this.events.error)f.on("error",y(this,function(a){this.emit("error",a)}));f.enable()}}else e?(this.map.url=h.nameToUrl(e),this.load()):(l=y(this,function(a){this.init([],function(){return a},null,{enabled:!0})}),l.error=y(this,function(a){this.inited=!0;this.error=a;a.requireModules=[b];
E(t,function(a){0===a.map.id.indexOf(b+"_unnormalized")&&D(a.map.id)});B(a)}),l.fromText=y(this,function(f,c){var d=a.name,e=q(d),N=T;c&&(f=c);N&&(T=!1);u(e);w(m.config,b)&&(m.config[d]=m.config[b]);try{k.exec(f)}catch(g){return B(G("fromtexteval","fromText eval for "+b+" failed: "+g,g,[b]))}N&&(T=!0);this.depMaps.push(e);h.completeLoad(d);r([d],l)}),f.load(a.name,r,l,m))}));h.enable(d,this);this.pluginMaps[d.id]=d},enable:function(){aa[this.map.id]=this;this.enabling=this.enabled=!0;x(this.depMaps,
y(this,function(a,b){var c,f;if("string"===typeof a){a=q(a,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap);this.depMaps[b]=a;if(c=g(S,a.id)){this.depExports[b]=c(this);return}this.depCount+=1;v(a,"defined",y(this,function(a){this.undefed||(this.defineDep(b,a),this.check())}));this.errback?v(a,"error",y(this,this.errback)):this.events.error&&v(a,"error",y(this,function(a){this.emit("error",a)}))}c=a.id;f=t[c];w(S,c)||!f||f.enabled||h.enable(a,this)}));E(this.pluginMaps,y(this,function(a){var b=
g(t,a.id);b&&!b.enabled&&h.enable(a,this)}));this.enabling=!1;this.check()},on:function(a,b){var c=this.events[a];c||(c=this.events[a]=[]);c.push(b)},emit:function(a,b){x(this.events[a],function(a){a(b)});"error"===a&&delete this.events[a]}};h={config:m,contextName:b,registry:t,defined:r,urlFetched:X,defQueue:H,defQueueMap:{},Module:ea,makeModuleMap:q,nextTick:k.nextTick,onError:B,configure:function(a){a.baseUrl&&"/"!==a.baseUrl.charAt(a.baseUrl.length-1)&&(a.baseUrl+="/");var b=m.shim,c={paths:!0,
bundles:!0,config:!0,map:!0};E(a,function(a,b){c[b]?(m[b]||(m[b]={}),Z(m[b],a,!0,!0)):m[b]=a});a.bundles&&E(a.bundles,function(a,b){x(a,function(a){a!==b&&(ga[a]=b)})});a.shim&&(E(a.shim,function(a,c){M(a)&&(a={deps:a});!a.exports&&!a.init||a.exportsFn||(a.exportsFn=h.makeShimExports(a));b[c]=a}),m.shim=b);a.packages&&x(a.packages,function(a){var b;a="string"===typeof a?{name:a}:a;b=a.name;a.location&&(m.paths[b]=a.location);m.pkgs[b]=a.name+"/"+(a.main||"main").replace(na,"").replace(V,"")});E(t,
function(a,b){a.inited||a.map.unnormalized||(a.map=q(b,null,!0))});(a.deps||a.callback)&&h.require(a.deps||[],a.callback)},makeShimExports:function(a){return function(){var b;a.init&&(b=a.init.apply(ha,arguments));return b||a.exports&&ja(a.exports)}},makeRequire:function(a,n){function e(c,d,g){var m,p;n.enableBuildCallback&&d&&L(d)&&(d.__requireJsBuild=!0);if("string"===typeof c){if(L(d))return B(G("requireargs","Invalid require call"),g);if(a&&w(S,c))return S[c](t[a.id]);if(k.get)return k.get(h,
c,a,e);m=q(c,a,!1,!0);m=m.id;return w(r,m)?r[m]:B(G("notloaded",'Module name "'+m+'" has not been loaded yet for context: '+b+(a?"":". Use require([])")))}Q();h.nextTick(function(){Q();p=u(q(null,a));p.skipMap=n.skipMap;p.init(c,d,g,{enabled:!0});I()});return e}n=n||{};Z(e,{isBrowser:F,toUrl:function(b){var d,e=b.lastIndexOf("."),n=b.split("/")[0];-1!==e&&("."!==n&&".."!==n||1<e)&&(d=b.substring(e,b.length),b=b.substring(0,e));return h.nameToUrl(c(b,a&&a.id,!0),d,!0)},defined:function(b){return w(r,
q(b,a,!1,!0).id)},specified:function(b){b=q(b,a,!1,!0).id;return w(r,b)||w(t,b)}});a||(e.undef=function(b){C();var c=q(b,a,!0),e=g(t,b);e.undefed=!0;d(b);delete r[b];delete X[c.url];delete fa[b];Y(H,function(a,c){a[0]===b&&H.splice(c,1)});delete h.defQueueMap[b];e&&(e.events.defined&&(fa[b]=e.events),D(b))});return e},enable:function(a){g(t,a.id)&&u(a).enable()},completeLoad:function(a){var b,c,d=g(m.shim,a)||{},e=d.exports;for(C();H.length;){c=H.shift();if(null===c[0]){c[0]=a;if(b)break;b=!0}else c[0]===
a&&(b=!0);J(c)}h.defQueueMap={};c=g(t,a);if(!b&&!w(r,a)&&c&&!c.inited)if(!m.enforceDefine||e&&ja(e))J([a,d.deps||[],d.exportsFn]);else return p(a)?void 0:B(G("nodefine","No define call for "+a,null,[a]));I()},nameToUrl:function(a,b,c){var d,e,p;(d=g(m.pkgs,a))&&(a=d);if(d=g(ga,a))return h.nameToUrl(d,b,c);if(k.jsExtRegExp.test(a))d=a+(b||"");else{d=m.paths;a=a.split("/");for(e=a.length;0<e;--e)if(p=a.slice(0,e).join("/"),p=g(d,p)){M(p)&&(p=p[0]);a.splice(0,e,p);break}d=a.join("/");d+=b||(/^data\:|\?/.test(d)||
c?"":".js");d=("/"===d.charAt(0)||d.match(/^[\w\+\.\-]+:/)?"":m.baseUrl)+d}return m.urlArgs?d+((-1===d.indexOf("?")?"?":"&")+m.urlArgs):d},load:function(a,b){k.load(h,a,b)},execCb:function(a,b,c,d){return b.apply(d,c)},onScriptLoad:function(a){if("load"===a.type||oa.test((a.currentTarget||a.srcElement).readyState))O=null,a=P(a),h.completeLoad(a.id)},onScriptError:function(a){var b=P(a);if(!p(b.id)){var c=[];E(t,function(a,d){0!==d.indexOf("_@r")&&x(a.depMaps,function(a){a.id===b.id&&c.push(d);return!0})});
return B(G("scripterror",'Script error for "'+b.id+(c.length?'", needed by: '+c.join(", "):'"'),a,[b.id]))}}};h.require=h.makeRequire();return h}function pa(){if(O&&"interactive"===O.readyState)return O;Y(document.getElementsByTagName("script"),function(b){if("interactive"===b.readyState)return O=b});return O}var k,C,D,I,P,J,O,Q,u,U,qa=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,ra=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,V=/\.js$/,na=/^\.\//;C=Object.prototype;var R=C.toString,la=C.hasOwnProperty,
F=!("undefined"===typeof window||"undefined"===typeof navigator||!window.document),ka=!F&&"undefined"!==typeof importScripts,oa=F&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,da="undefined"!==typeof opera&&"[object Opera]"===opera.toString(),K={},v={},W=[],T=!1;if("undefined"===typeof define){if("undefined"!==typeof requirejs){if(L(requirejs))return;v=requirejs;requirejs=void 0}"undefined"===typeof require||L(require)||(v=require,require=void 0);k=requirejs=function(b,
c,d,p){var e,q="_";M(b)||"string"===typeof b||(e=b,M(c)?(b=c,c=d,d=p):b=[]);e&&e.context&&(q=e.context);(p=g(K,q))||(p=K[q]=k.s.newContext(q));e&&p.configure(e);return p.require(b,c,d)};k.config=function(b){return k(b)};k.nextTick="undefined"!==typeof setTimeout?function(b){setTimeout(b,4)}:function(b){b()};require||(require=k);k.version="2.1.22";k.jsExtRegExp=/^\/|:|\?|\.js$/;k.isBrowser=F;C=k.s={contexts:K,newContext:ma};k({});x(["toUrl","undef","defined","specified"],function(b){k[b]=function(){var c=
K._;return c.require[b].apply(c,arguments)}});F&&(D=C.head=document.getElementsByTagName("head")[0],I=document.getElementsByTagName("base")[0])&&(D=C.head=I.parentNode);k.onError=ia;k.createNode=function(b,c,d){c=b.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");c.type=b.scriptType||"text/javascript";c.charset="utf-8";c.async=!0;return c};k.load=function(b,c,d){var g=b&&b.config||{},e;if(F){e=k.createNode(g,c,d);if(g.onNodeCreated)g.onNodeCreated(e,
g,c,d);e.setAttribute("data-requirecontext",b.contextName);e.setAttribute("data-requiremodule",c);!e.attachEvent||e.attachEvent.toString&&0>e.attachEvent.toString().indexOf("[native code")||da?(e.addEventListener("load",b.onScriptLoad,!1),e.addEventListener("error",b.onScriptError,!1)):(T=!0,e.attachEvent("onreadystatechange",b.onScriptLoad));e.src=d;Q=e;I?D.insertBefore(e,I):D.appendChild(e);Q=null;return e}if(ka)try{importScripts(d),b.completeLoad(c)}catch(q){b.onError(G("importscripts","importScripts failed for "+
c+" at "+d,q,[c]))}};F&&!v.skipDataMain&&Y(document.getElementsByTagName("script"),function(b){D||(D=b.parentNode);if(P=b.getAttribute("data-main"))return u=P,v.baseUrl||(J=u.split("/"),u=J.pop(),U=J.length?J.join("/")+"/":"./",v.baseUrl=U),u=u.replace(V,""),k.jsExtRegExp.test(u)&&(u=P),v.deps=v.deps?v.deps.concat(u):[u],!0});define=function(b,c,d){var g,e;"string"!==typeof b&&(d=c,c=b,b=null);M(c)||(d=c,c=null);!c&&L(d)&&(c=[],d.length&&(d.toString().replace(qa,"").replace(ra,function(b,d){c.push(d)}),
c=(1===d.length?["require"]:["require","exports","module"]).concat(c)));T&&(g=Q||pa())&&(b||(b=g.getAttribute("data-requiremodule")),e=K[g.getAttribute("data-requirecontext")]);e?(e.defQueue.push([b,c,d]),e.defQueueMap[b]=!0):W.push([b,c,d])};define.amd={jQuery:!0};k.exec=function(b){return eval(b)};k(v)}})(this);
+4 -5
View File
File diff suppressed because one or more lines are too long
+3 -3
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -2,7 +2,7 @@
//2. configure jquery mobile to prevent default JQM ajax navigation
//3. bootstrapping application
define(["app", "jqm", "jqm-config", 'jQueryPlugins'], function( app ){
if(myManifest.Agent.browser.name == "IE Mobile" && myManifest.Agent.browser.version <= 9 ) {
if(myManifest.Agent.browser.name == "IEMobile" && myManifest.Agent.browser.version <= 9 ) {
window.location.href = "http://old.gruppolapastamadre.it";
}
else {
+13 -9
View File
@@ -1,20 +1,24 @@
var myManifest = {
Debug: false,
Debug: (window.location.port !== ""),
Name: "Il Lievitario",
Version: "2.6.0",
Version: "3.0.4.0",
Author: "Denis Ironi",
Settings: {
//DefaultURL: "http://localhost:8081/Service_Manut",
DefaultURL: "http://app.gruppolapastamadre.it/Service",
DefaultURL: (window.location.port === "" ? "http://" + window.location.host + "/Service": "http://" + window.location.hostname + ":" + window.location.port + "/Service_Manut"),
JQueryVersion: "1.11.1",
JQueryMobileVersion: "1.4.3",
Device:{
JQueryMobileVersion: "1.4.5",
Device: {
Width: (window.innerWidth > 0) ? window.innerWidth : screen.width,
Height: (window.innerHeight > 0) ? window.innerHeight : screen.height
}
},
Agent: (new UAParser()).getResult(),
getUrlArg: function(){
return (this.Debug ? this.Version + "." + (Math.random() * 1000) : this.Version);
Agent: (new UAParser()).getResult(),
getUrlArg: function () {
return this.Version;
},
getGPublicApiKey: function () {
if (myManifest.Debug)
return "AIzaSyBnai4MPffctg_ygCCincgjFUBQaytCH9k";
return "AIzaSyCwZVaNHV_z79Uull23XpBlP-5jTkzI3rE";
}
};
@@ -1,7 +1,7 @@
define(['app', 'jquery', 'underscore', 'backbone', 'model/categoryItem/categoryItemModel', 'classes/cachedCollection'],
function (app, $, _, Backbone, Category, CachedCollection){
var CategoryItems=CachedCollection.extend({
var CategoryItems = CachedCollection.extend({
categoryId: null,
initialize: function (options) {
@@ -12,7 +12,7 @@ var CategoryItems=CachedCollection.extend({
model:Category,
url: function() {
return myManifest.Settings.DefaultURL + "/api/categoryitems/" + this.categoryId;
return myManifest.Settings.DefaultURL + "/api/ricette/" + this.categoryId;
}
});
@@ -7,6 +7,7 @@ function ($, _, Backbone){
ricetta_id: "",
titolo: '',
autore: '',
firstImage: "",
valutazione: 0,
difficolta: 0,
categoria_name: 0
+4 -3
View File
@@ -10,7 +10,8 @@ define(['app', 'jquery', 'underscore', 'backbone', 'model/categoryItem/searchIte
this.dataFilter = {
titolo: options.titolo,
difficolta: options.difficolta,
categoryId: options.categoryId
categoryId: options.categoryId,
autore: options.autore
};
this.numItems = options.nResult;
this.indexItems = options.indexItems;
@@ -28,11 +29,11 @@ define(['app', 'jquery', 'underscore', 'backbone', 'model/categoryItem/searchIte
},
url: function() {
var u = myManifest.Settings.DefaultURL + "/api/categoryitems/search/" +
var u = myManifest.Settings.DefaultURL + "/api/ricette/search/" +
this.numItems +
"/" + this.indexItems +
"/" + this.dataFilter.categoryId +
"/" + this.dataFilter.difficolta;
"/" + this.dataFilter.difficolta+ "/" + this.dataFilter.autore;
if(this.dataFilter.titolo !== null)
u += "/" + this.dataFilter.titolo;
+1
View File
@@ -7,6 +7,7 @@ function ($, _, Backbone){
ricetta_id: "",
titolo: '',
autore: '',
firstImage: "",
valutazione: 0,
difficolta: 0,
categoria_name: 0
+30 -29
View File
@@ -1,30 +1,31 @@
define(['jquery', 'underscore', 'backbone','text!modules/about/aboutViewTemplate.html', 'modules/base/baseView', 'classes/profile'],
function($, _, Backbone, aboutViewTemplate, BaseView, Profile){
define(['jquery', 'underscore', 'backbone', 'text!modules/about/aboutViewTemplate.html', 'modules/base/baseView', 'classes/profile'],
function ($, _, Backbone, aboutViewTemplate, BaseView, Profile) {
var AboutView = BaseView.extend({
//initialize template
template:_.template(aboutViewTemplate),
initialize: function () {
AboutView.__super__.initialize.call(this);
},
//render the content into div of view
render: function(){
//this.header.title = "pippo";
AboutView.__super__.render.call(this);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
this.$el.append(this.header.$el);
this.$el.append(this.template( { app: myManifest, profile: Profile }));
this.$el.append(this.footer.$el);
this.$el.find("#infoBtn").addClass("ui-btn-active");
//$("#homeBtn").addClass("ui-btn-active");
//return to enable chained calls
return this;
}
});
return AboutView;
});
var AboutView = BaseView.extend({
//initialize template
template: _.template(aboutViewTemplate),
initialize: function () {
this.id = "AboutView";
AboutView.__super__.initialize.call(this);
},
//render the content into div of view
render: function () {
if (this.created === true)
{
//this.header.title = "pippo";
AboutView.__super__.render.call(this);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
this.$el.append(this.header.$el);
this.$el.append(this.template({app: myManifest, profile: Profile}));
this.$el.append(this.footer.$el);
this.$el.find("#infoBtn").addClass("ui-btn-active");
}
//$("#homeBtn").addClass("ui-btn-active");
//return to enable chained calls
return this;
}
});
return AboutView;
});
+4 -2
View File
@@ -1,7 +1,8 @@
<div data-role="content">
<br>
<center>
<h1 style='font-size: xx-large;'><%= app.Name %></h1>
<h1 style='font-size: xx-large;'><%= app.Name %><sup style='font-size: medium;'>&copy;</sup></h1>
<p>Copyright 2015-2016<br>Lievitario è un marchio registrato</p>
<br>Applicazione Ricettario del <br><br>'<i><b>Gruppo La Pasta Madre</b></i>'<br><br>
<b>Versione:</b> <%= app.Version %><br><br>
<b>Sviluppatore:</b> <%= app.Author %><br><br>
@@ -17,6 +18,8 @@
<i>Per il codice del convertitore</i><br><br>
ringrazio l'autore Giuseppe Burgio <a href="http://www.pastamadre.eu/">PastaMadre</a><br><br>
<i>Per l'inserimento di tutte le ricette</i><br><br>
Monica R.<br>
Rita M.<br>
Angela P.<br>
Carlotta G.<br>
Cristina D.<br>
@@ -26,7 +29,6 @@
Lucia A.<br>
Malek Ben C.<br>
Raffaella G.<br>
Rita M.<br>
Serenella S.<br>
Valentina C.<br>
Valentina D'a.<br>
+31 -8
View File
@@ -3,22 +3,45 @@ function($, _, Backbone, Footer, Header, Profile){
var BaseView = Backbone.View.extend({
id: "",
header: null,
footer: null,
created: true,
initialize: function () {
this.header = new Header({ title: "Il Lievitario"});
this.footer = new Footer();
this.footer = new Footer();
if( this.id !== "")
{
var el = $('#' + this.id);
if(el.length !== 0)
{
this.created = false;
this.setElement(el);
}
}
},
render: function(){
this.header.render();
this.footer.render();
//add the attribute 'data-role="page" ' for each view's div
this.$el.attr('data-role', 'page');
this.$el.attr('data-theme', Profile.data.tema);
isStayInPage:function(){
return true;
},
render: function(){
if(this.created === true)
{
this.header.render();
this.footer.render();
//add the attribute 'data-role="page" ' for each view's div
this.$el.attr('data-role', 'page');
this.$el.attr('data-theme', Profile.data.tema);
this.$el.attr('stay-in-page', this.isStayInPage());
this.$el.attr('id', this.id);
}
},
onShowed: null
onShowing: null,
onShowed: null,
onClosing: null,
onClosed: null
});
return BaseView;
});
+53 -42
View File
@@ -1,63 +1,74 @@
define(['jquery', 'underscore', 'backbone', 'text!modules/category/categoryViewTemplate.html', 'text!modules/category/categoryItemTemplate.html', 'modules/base/baseView'],
function ($, _, Backbone, categoryViewTemplate, categoryItemTemplate, BaseView) {
define(['jquery', 'underscore', 'backbone', 'text!modules/category/categoryViewTemplate.html',
'text!modules/category/categoryItemTemplate.html', 'modules/base/baseView', 'libs/fastclick', 'classes/debug'],
function ($, _, Backbone, categoryViewTemplate, categoryItemTemplate, BaseView, FastClick, Debug) {
var CategoryView = BaseView.extend({
collection: null,
categoryName: null,
//initialize template
template: _.template(categoryViewTemplate),
itemtemplate: _.template(categoryItemTemplate, {variable: 'item'}),
itemtemplate: _.template(categoryItemTemplate, {variable: 'data'}),
initialize: function (options) {
this.id = "CategoryView" + options.categoryId;
var self = this;
CategoryView.__super__.initialize.call(this);
this.collection = options.collection;
this.categoryName = options.categoryName;
this.collection.fetch({
success: function (data, textStatus, jqXHR) {
self.renderItem();
//if (this.created === true)
{
this.collection = options.collection;
this.categoryName = options.categoryName;
if(!this.collection.isCached() ||
this.$el.find('#allRicette').length === 0){
this.collection.fetch({
success: function (data, textStatus, jqXHR) {
setTimeout(self.renderItem(), 0);
}
});
}
});
}
},
renderItem: function () {
var $ul = $('#allRicette');
var self = this;
var html = "";
_.each(this.collection.toJSON(), function(d) {
html += self.itemtemplate(d);
});
//var items = this.itemtemplate({data: this.collection.toJSON()});
var $ul = this.$el.find('#allRicette');
if ($ul.html().trim() === "") {
// var start = new Date().getTime();
$ul.html(html);
$ul.listview("refresh");
$ul.trigger("updatelayout");
$ul.find('input[type=radio].star').rating({
callback: function (value, link) {
var tip = $('#hover-test');
if (value === undefined)
{
$('#hover-test').html("Nessuna" || 'value: ');
}
else
$('#hover-test').html(link.title || 'value: ' + value);
}
});
var self = this;
var html = "";
//$ul.html(html);
/*_.each(this.collection.toJSON(), function (d) {
html += self.itemtemplate(d);
});*/
html = this.itemtemplate({
items: this.collection.toJSON(),
myManifest: myManifest
});
$(html).appendTo($ul).enhanceWithin();
$ul.listview("refresh");
//$ul.trigger("updatelayout");
}
$.mobile.loading('hide');
//$( '[data-alpha="true"]' ).alphascroll();
},
onShowed: function(){
$('body').scrollTop(0);
},
//render the content into div of view
render: function () {
//this.header.title = "pippo";
CategoryView.__super__.render.call(this);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
this.$el.append(this.header.$el);
this.$el.append(this.template({categoryName: this.categoryName}));
this.$el.append(this.footer.$el);
//return to enable chained calls
this.$el.find("#indexBtn").addClass("ui-btn-active");
if (this.created === true)
{
//this.header.title = "pippo";
CategoryView.__super__.render.call(this);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
this.$el.append(this.header.$el);
this.$el.append(this.template({categoryName: this.categoryName}));
this.$el.append(this.footer.$el);
//return to enable chained calls
}
this.$el.find("#indexBtn").addClass("ui-btn-active");
return this;
}
});
+34 -14
View File
@@ -1,14 +1,34 @@
<li><a href="#ricetta/<%= item.ricetta_id%>" class="ui-btn ui-btn-icon-right ui-icon-carat-r">
<div class='ricettaTitolo'><%= unescape(item.titolo) %></div>
<div class='ricettaAutore'><%= unescape(item.autore) %></div>
<br><div class='ricettaAutore'>Diff.:&nbsp;&nbsp;</div>
<div id="valutazione" style="">
<form id="difficoltaFrm" data-role="none">
<input name="difficolta" <% if(item.difficolta==="1"){%>checked="checked"<%}%> type="radio" data-role="none" value="1" disabled="disabled" title="Molto Semplice" class="star"/>
<input name="difficolta" <% if(item.difficolta==="2"){%>checked="checked"<%}%> type="radio" data-role="none" value="2" disabled="disabled" title="Semplice" class="star"/>
<input name="difficolta" <% if(item.difficolta==="3"){%>checked="checked"<%}%> type="radio" data-role="none" value="3" disabled="disabled" title="Normale" class="star"/>
<input name="difficolta" <% if(item.difficolta==="4"){%>checked="checked"<%}%> type="radio" data-role="none" value="4" disabled="disabled" title="Difficile" class="star"/>
<input name="difficolta" <% if(item.difficolta==="5"){%>checked="checked"<%}%> type="radio" data-role="none" value="5" disabled="disabled" title="Molto Difficile" class="star"/>
</form>
</div>
</a></li>
<% if(data.items.length == 0){ %>
<h1>Nessuna ricetta trovata</h1>
<%} else { for (var i = 0; i < data.items.length; i++) { %>
<% var item = data.items[i]; %>
<li><a href="#ricetta/<%= item.ricetta_id%>" class="ui-btn ui-btn-icon-right ui-icon-carat-r ui-li-has-thumb">
<div class="imageRic">
<% if(item.firstImage !== ""){ %>
<img src='<%=myManifest.Settings.DefaultURL%>/api/photo/thumbnail/<%=item.firstImage%>'>
<%}%>
</div>
<div class="contentItem">
<div class='ricettaTitolo'><%= unescape(item.titolo) %></div>
<div class='ricettaAutore'><%= unescape(item.autore) %></div>
<br><div class='ricettaAutore'>Diff.:&nbsp;&nbsp;</div>
<div id="valutazione">
<div role="text" data-role="none" aria-label="Molto Semplice" class="star-rating rater-0 star star-rating-applied star-rating-live <% if(parseInt(item.difficolta)>=1){%>star-rating-on<%}%>">
<div data-role="none" title="Molto Semplice">1</div>
</div>
<div data-role="none" role="text" aria-label="Semplice" class="star-rating rater-0 star star-rating-applied star-rating-live <% if(parseInt(item.difficolta)>=2){%>star-rating-on<%}%>">
<div data-role="none" title="Semplice">2</div>
</div>
<div data-role="none" role="text" aria-label="Normale" class="star-rating rater-0 star star-rating-applied star-rating-live <% if(parseInt(item.difficolta)>=3){%>star-rating-on<%}%>">
<div data-role="none" title="Normale">3</div>
</div>
<div data-role="none" role="text" aria-label="Difficile" class="star-rating rater-0 star star-rating-applied star-rating-live <% if(parseInt(item.difficolta)>=4){%>star-rating-on<%}%>">
<div data-role="none" title="Difficile">4</div>
</div>
<div data-role="none" role="text" aria-label="Molto Difficile" class="star-rating rater-0 star star-rating-applied star-rating-live <% if(parseInt(item.difficolta)>=5){%>star-rating-on<%}%>">
<div data-role="none" title="Molto Difficile">5</div>
</div>
</div>
</div>
</a></li>
<% }} %>
@@ -1,5 +1,5 @@
<div id="categoryListContent" data-role="content">
<h1>Indice <%= categoryName %></h1>
<div id="categoryListContent" data-role="content">
<h1>Indice <%= categoryName %></h1>
<ul id="allRicette" data-role="listview" data-autodividers="true" data-alpha="true" data-inset="true">
</ul>
</div>
+44
View File
@@ -0,0 +1,44 @@
define(['jquery', 'underscore', 'backbone', 'text!modules/debug/debugViewTemplate.html', 'modules/base/baseView', 'classes/debug'],
function ($, _, Backbone, debugViewTemplate, BaseView, Debug) {
var DebugView = BaseView.extend({
//initialize template
template: _.template(debugViewTemplate),
initialize: function () {
this.id = "DebugView";
DebugView.__super__.initialize.call(this);
},
events: {
"click #clearDebug": "clrDebugBtn"
},
onShowed:function(){
this.$el.find('#debugInfo').height(350);
},
clrDebugBtn: function(){
Debug.clearMessage();
this.$el.find('#debugInfo').val('');
},
//render the content into div of view
render: function () {
if (this.created === true)
{
//this.header.title = "pippo";
DebugView.__super__.render.call(this);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
this.$el.append(this.header.$el);
this.$el.append(this.template());
this.$el.append(this.footer.$el);
this.$el.find("#moreBtn").addClass("ui-btn-active");
}
this.$el.find('#debugInfo').val(Debug.readMessage());
//$("#homeBtn").addClass("ui-btn-active");
//return to enable chained calls
return this;
}
});
return DebugView;
});
+5
View File
@@ -0,0 +1,5 @@
<div data-role="content">
<h1>Messaggi Debug</h1>
<textarea id="debugInfo" rows="15" style="height: auto;"></textarea>
<button id="clearDebug">Cancella Messaggi Debug</button>
</div>
+30 -30
View File
@@ -1,31 +1,31 @@
define(['jquery', 'underscore', 'backbone','text!modules/donation/donationViewTemplate.html', 'modules/base/baseView'],
function($, _, Backbone, homeViewTemplate, BaseView){
define(['jquery', 'underscore', 'backbone', 'text!modules/donation/donationViewTemplate.html', 'modules/base/baseView'],
function ($, _, Backbone, homeViewTemplate, BaseView) {
var DonationView = BaseView.extend({
//initialize template
template:_.template(homeViewTemplate),
initialize: function () {
DonationView.__super__.initialize.call(this);
//this.header.title = "pippo";
},
//render the content into div of view
render: function(){
//this.header.title = "pippo";
DonationView.__super__.render.call(this);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
this.$el.append(this.header.$el);
this.$el.append(this.template());
this.$el.append(this.footer.$el);
this.$el.find("#moreBtn").addClass("ui-btn-active");
//$("#homeBtn").addClass("ui-btn-active");
//return to enable chained calls
return this;
}
});
return DonationView;
});
var DonationView = BaseView.extend({
//initialize template
template: _.template(homeViewTemplate),
initialize: function () {
this.id = "DonationView";
DonationView.__super__.initialize.call(this);
},
//render the content into div of view
render: function () {
if (this.created === true)
{
//this.header.title = "pippo";
DonationView.__super__.render.call(this);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
this.$el.append(this.header.$el);
this.$el.append(this.template());
this.$el.append(this.footer.$el);
this.$el.find("#moreBtn").addClass("ui-btn-active");
}
//$("#homeBtn").addClass("ui-btn-active");
//return to enable chained calls
return this;
}
});
return DonationView;
});
+29 -29
View File
@@ -1,30 +1,30 @@
define(['jquery', 'underscore', 'backbone','text!modules/faq/faqViewTemplate.html', 'modules/base/baseView'],
function($, _, Backbone, faqViewTemplate, BaseView){
define(['jquery', 'underscore', 'backbone', 'text!modules/faq/faqViewTemplate.html', 'modules/base/baseView'],
function ($, _, Backbone, faqViewTemplate, BaseView) {
var FaqView = BaseView.extend({
//initialize template
template:_.template(faqViewTemplate),
initialize: function () {
FaqView.__super__.initialize.call(this);
//this.header.title = "pippo";
},
//render the content into div of view
render: function(){
//this.header.title = "pippo";
FaqView.__super__.render.call(this);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
this.$el.append(this.header.$el);
this.$el.append(this.template());
this.$el.append(this.footer.$el);
this.$el.find("#faqBtn").addClass("ui-btn-active");
//return to enable chained calls
return this;
}
});
return FaqView;
});
var FaqView = BaseView.extend({
//initialize template
template: _.template(faqViewTemplate),
initialize: function () {
this.id = "FaqView";
FaqView.__super__.initialize.call(this);
},
//render the content into div of view
render: function () {
if (this.created === true)
{
//this.header.title = "pippo";
FaqView.__super__.render.call(this);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
this.$el.append(this.header.$el);
this.$el.append(this.template());
this.$el.append(this.footer.$el);
}
this.$el.find("#faqBtn").addClass("ui-btn-active");
//return to enable chained calls
return this;
}
});
return FaqView;
});
+166 -43
View File
@@ -1,47 +1,170 @@
define(['jquery', 'underscore', 'backbone','text!modules/home/homeViewTemplate.html', 'modules/base/baseView', 'classes/profile'],
function($, _, Backbone, homeViewTemplate, BaseView, Profile){
define(['jquery', 'underscore', 'backbone', 'text!modules/home/homeViewTemplate.html',
'modules/base/baseView', 'classes/profile', 'classes/debug', 'jQueryPlugins'],
function ($, _, Backbone, homeViewTemplate, BaseView, Profile, Debug) {
var HomeView = BaseView.extend({
var HomeView = BaseView.extend({
//initialize template
template: _.template(homeViewTemplate),
initialize: function () {
var self = this;
this.id = "HomeView";
HomeView.__super__.initialize.call(this);
if (Profile.data.picture === null)
{
Profile.setPictureEvent = this.changePicture;
}
},
changePicture: function (val) {
var item = $('.itemMenuHomeMetro a[href="#settingsView"]');
if (item.length > 0)
{
$('.profileClass').removeClass("profileClass");
item.css('background', 'url(' + val + ') 50% 50% no-repeat');
}
},
events: {
},
//initialize template
template:_.template(homeViewTemplate),
freeWall: null,
initialize: function () {
HomeView.__super__.initialize.call(this);
//this.header.title = "pippo";
},
events: {
"click #goFbGroup": "goFbGroup"
},
goFbGroup: function(){
window.localStorage.setItem("goFbGroup", 1);
window.location.href = "https://www.facebook.com/groups/732844273469518/";
},
onShowed: function()
{
if(window.localStorage.getItem("goFbGroup") !== "1")
this.$el.find("#nuovoGruppo").popup("open");
},
calculateSize: function(){
var size = 100;
var widthDevice = (window.innerWidth > 0) ? window.innerWidth : screen.width;
if(window.matchMedia("(orientation: portrait)").matches)
{
if(widthDevice > 1800)
{
size = 350;
}
else if(widthDevice >= 900)
{
size = 200;
}
else if(widthDevice >= 700)
{
size = 250;
}
else if(widthDevice >= 600)
{
size = 200;
}
else if(widthDevice >= 320)
{
size = 120;
}
else
{
size = 100;
}
}
else {
if(widthDevice >= 1700)
{
size = 350;
}
else if(widthDevice >= 1500)
{
size = 300;
}
else if(widthDevice >= 1400)
{
size = 245;
}
else if(widthDevice >= 1200)
{
size = 250;
}
else if(widthDevice >= 900)
{
size = 180;
}
else if(widthDevice >= 700)
{
size = 140;
}
else if(widthDevice >= 690)
{
size = 120;
}
else if(widthDevice >= 640)
{
size = 125;
}
else if(widthDevice >= 550)
{
size = 100;
}
else if(widthDevice >= 400)
{
size = 85;
}
else
{
size = 60;
}
}
//render the content into div of view
render: function(){
//this.header.title = "pippo";
HomeView.__super__.render.call(this);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
this.$el.append(this.header.$el);
this.$el.append(this.template({ profile: Profile}));
this.$el.append(this.footer.$el);
this.$el.find("#homeBtn").addClass("ui-btn-active");
//$("#homeBtn").addClass("ui-btn-active");
//return to enable chained calls
return this;
}
});
return HomeView;
});
return size;
},
setupFreeWall: function(){
var self = this;
//$('.itemMenuHomeMetro').first().attr("lastSize", size);
if (this.freeWall === null) {
this.freeWall = new freewall("#menuHomeMetro");
}
this.freeWall.reset({
selector: '.itemMenuHomeMetro',
animate: true,
cellW: self.calculateSize,
cellH: self.calculateSize,
onResize: function () {
//this.refresh();
this.fitWidth();
//Debug.writeMessage("onResize");
}
});
this.freeWall.fitWidth();
},
onShowed: function ()
{
var self = this;
self.setupFreeWall();
if (Profile.data.picture !== null)
{
this.changePicture(Profile.data.picture);
}
//Debug.writeMessage(myManifest.Agent.ua);
},
onClosing: function () {
if (this.freeWall !== null)
this.freeWall.reset({
selector: '.itemMenuHomeMetro',
onResize: function(){}
});
},
//render the content into div of view
render: function () {
if (this.created === true)
{
//this.header.title = "pippo";
HomeView.__super__.render.call(this);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
this.$el.append(this.header.$el);
this.$el.append(this.template({profile: Profile}));
this.$el.append(this.footer.$el);
}
this.$el.find("#homeBtn").addClass("ui-btn-active");
//$("#homeBtn").addClass("ui-btn-active");
//return to enable chained calls
return this;
}
});
return HomeView;
});
+56 -17
View File
@@ -1,25 +1,64 @@
<div data-role="content">
<div style="text-align: center;">
<% if(profile.data.name){ %>
<h2 id="benvenuto">Bentornat<% if(profile.data.gender=="male"){%>o<%}else{%>a<%}%>
<br><%=profile.data.name %></h2>
<h3 id="benvenuto">Bentornat<% if(profile.data.gender=="male"){%>o<%}else{%>a<%}%> <%=profile.data.name %></h3><% }else{ %>
<h3 id="benvenuto">Benarrivata/o nel nostro ricettario</h3>
<% } %>
<img id="sfondo" src="https://dl.dropboxusercontent.com/s/6qrdp9mbi1rb92k/sfondo.png">
</div>
<div>
<% var customClassTheme = "itemMenuHomeMetro-" + profile.data.tema;%>
<div id="menuHomeMetro">
<div class="itemMenuHomeMetro <%= customClassTheme %><% if(!profile.isConnected()){ %> loginClass<% }else{ %> profileClass<%}%>">
<div>
<% if(profile.isConnected()){ %>
<a href="#settingsView" data-role="none" style=""></a>
<span>Profilo</span>
<% }else{ %>
<a href="#syncView" data-role="none"></a>
<span>Login</span>
<% } %>
</div>
</div>
<div class="itemMenuHomeMetro <%= customClassTheme %> indexClass">
<div>
<a href="#indexView" data-role="none"></a>
<span>Indice</span>
</div>
</div>
<div class="itemMenuHomeMetro <%= customClassTheme %> searchClass">
<div>
<a href="#searchView" data-role="none"></a>
<span>Ricerca</span>
</div>
</div>
<div class="itemMenuHomeMetro <%= customClassTheme %> blogClass">
<div>
<a href="http://blog.gruppolapastamadre.it" data-role="none"></a>
<span>Blog</span>
</div>
</div>
<div class="itemMenuHomeMetro <%= customClassTheme %> mapsClass">
<div>
<a href="#mapsView" data-role="none"></a>
<span>Mappa Spacciatori</span>
</div>
</div>
</div>
</div>
</div>
<div data-role="popup" id="nuovoGruppo" data-history="false" data-dismissible="false">
<!--<div data-role="popup" id="nuovoGruppo" data-history="false" data-dismissible="false">
<div data-role="header"><h1>IMPORTANTE</h1></div>
    <div role="main" class="ui-content">
<p style="text-align: center;font-style: italic;">
<img src="https://dl.dropboxusercontent.com/s/xnbrbbe7eejkfv2/festa.png"><br><br>
Le admin <br><br><b>Alessia, Elena e Francesca</b><br><br>hanno RIFONDATO IL GRUPPO!!<br>
<br>"<b>Gruppo La Pasta Madre</b>"<br>
<br>vuoi chiedere di diventare membro?
<br>Se sei già membro premi si e poi torna indietro con il browser
</p>
<p style="text-align: center;">
<a id="goFbGroup" href="#" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b" data-rel="back">Si</a>
<a href="#" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b" data-rel="back" data-transition="flow">No</a>
</p>
    <div role="main" class="ui-content">
<p style="text-align: center;font-style: italic;">
<img src="https://dl.dropboxusercontent.com/s/xnbrbbe7eejkfv2/festa.png"><br><br>
Le admin <br><br><b>Alessia, Elena e Francesca</b><br><br>hanno RIFONDATO IL GRUPPO!!<br>
<br>"<b>Gruppo La Pasta Madre</b>"<br>
<br>vuoi chiedere di diventare membro?
<br>Se sei già membro premi si e poi torna indietro con il browser
</p>
<p style="text-align: center;">
<a id="goFbGroup" href="#" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b" data-rel="back">Si</a>
<a href="#" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-btn-b" data-rel="back" data-transition="flow">No</a>
</p>
</div>
</div>
</div>-->
+48 -43
View File
@@ -1,47 +1,52 @@
define(['jquery', 'underscore', 'backbone','text!modules/index/indexViewTemplate.html','text!modules/index/indexItemViewTemplate.html', 'modules/base/baseView'],
function($, _, Backbone, indexViewTemplate, indexItemViewTemplate, BaseView){
define(['jquery', 'underscore', 'backbone', 'text!modules/index/indexViewTemplate.html', 'text!modules/index/indexItemViewTemplate.html', 'modules/base/baseView'],
function ($, _, Backbone, indexViewTemplate, indexItemViewTemplate, BaseView) {
var IndexView = BaseView.extend({
var IndexView = BaseView.extend({
collection: null,
//initialize template
template: _.template(indexViewTemplate),
//templateItem:_.template(indexItemViewTemplate, {variable: 'item'}),
collection: null,
//initialize template
template:_.template(indexViewTemplate),
templateItem:_.template(indexItemViewTemplate, {variable: 'item'}),
initialize: function (options) {
this.id = "IndexView";
var self = this;
IndexView.__super__.initialize.call(this);
/*this.collection = options.collection;
this.collection.fetch({
success: function(){
var $ul = $('#categoryList');
var html = "";
_.each(self.collection.toJSON(), function(d) {
html += self.templateItem(d);
});
$ul.html(html);
$ul.listview("refresh");
$ul.trigger("updatelayout");
self.trigger("renderCompleted:Categories",self);
}
});*/
},
onShowed: function(){
$('body').scrollTop(0);
},
//render the content into div of view
render: function () {
if (this.created === true)
{
//this.header.title = "pippo";
IndexView.__super__.render.call(this);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
this.$el.append(this.header.$el);
this.$el.append(this.template());
this.$el.append(this.footer.$el);
initialize: function (options) {
var self = this;
IndexView.__super__.initialize.call(this);
this.collection = options.collection;
this.collection.fetch({
success: function(){
var $ul = $('#categoryList');
var html = "";
_.each(self.collection.toJSON(), function(d) {
html += self.templateItem(d);
});
$ul.html(html);
//$ul.listview("refresh");
//$ul.trigger("updatelayout");
//self.trigger("renderCompleted:Categories",self);
//return to enable chained calls
}
});
},
//render the content into div of view
render: function(){
//this.header.title = "pippo";
IndexView.__super__.render.call(this);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
this.$el.append(this.header.$el);
this.$el.append(this.template());
this.$el.append(this.footer.$el);
//return to enable chained calls
this.$el.find("#indexBtn").addClass("ui-btn-active");
return this;
}
});
return IndexView;
});
this.$el.find("#indexBtn").addClass("ui-btn-active");
return this;
}
});
return IndexView;
});
+10
View File
@@ -1,5 +1,15 @@
<div id="categoryListContent" data-role="content">
<h1>Indice</h1>
<ul id="categoryList" data-role="listview" data-inset="true">
<li><a href="#category/Dolci/3" class="ui-btn ui-btn-icon-right ui-icon-carat-r">Dolci</a></li>
<li><a href="#category/Esuberi/6" class="ui-btn ui-btn-icon-right ui-icon-carat-r">Esuberi</a></li>
<li><a href="#category/Focacce/4" class="ui-btn ui-btn-icon-right ui-icon-carat-r">Focacce</a></li>
<li><a href="#category/Grandi Lievitati/10" class="ui-btn ui-btn-icon-right ui-icon-carat-r">Grandi Lievitati</a></li>
<li><a href="#category/Pane/1" class="ui-btn ui-btn-icon-right ui-icon-carat-r">Pane</a></li>
<li><a href="#category/Panificati Vari/5" class="ui-btn ui-btn-icon-right ui-icon-carat-r">Panificati Vari</a></li>
<li><a href="#category/Pasquali/9" class="ui-btn ui-btn-icon-right ui-icon-carat-r">Pasquali</a></li>
<li><a href="#category/Pizza/2" class="ui-btn ui-btn-icon-right ui-icon-carat-r">Pizza</a></li>
<li><a href="#category/Senza Glutine/8" class="ui-btn ui-btn-icon-right ui-icon-carat-r">Senza Glutine</a></li>
<li><a href="#category/Vegane/7" class="ui-btn ui-btn-icon-right ui-icon-carat-r">Vegane</a></li>
</ul>
</div>
+175 -115
View File
@@ -1,129 +1,189 @@
define(['jquery', 'underscore', 'backbone','text!modules/item/itemViewTemplate.html', 'modules/base/baseView', 'classes/profile'],
function($, _, Backbone, itemViewTemplate, BaseView, Profile){
define(['jquery', 'underscore', 'backbone', 'text!modules/item/itemViewTemplate.html', 'modules/base/baseView', 'classes/profile', 'jQueryPlugins'],
function ($, _, Backbone, itemViewTemplate, BaseView, Profile) {
var ItemView = BaseView.extend({
var ItemView = BaseView.extend({
collRicetta: null,
collIngredienti: null,
fetchedRicetta: false,
fetchedIngredienti: false,
galleryWall: null,
//initialize template
template: _.template(itemViewTemplate),
initialize: function (options) {
this.id = "ItemView";
var self = this;
ItemView.__super__.initialize.call(this);
this.collRicetta = options.collRicetta;
this.collIngredienti = options.collIngredienti;
collRicetta: null,
collIngredienti: null,
fetchedRicetta: false,
fetchedIngredienti: false,
//initialize template
template:_.template(itemViewTemplate),
initialize: function (options) {
var self = this;
ItemView.__super__.initialize.call(this);
this.collRicetta = options.collRicetta;
this.collIngredienti = options.collIngredienti;
this.collRicetta.fetch({success: function() {
this.collRicetta.fetch({success: function () {
self.fetchedRicetta = true;
self.render();
}});
this.collIngredienti.fetch({success: function() {
this.collIngredienti.fetch({success: function () {
self.fetchedIngredienti = true;
self.render();
}});
},
events: {
"click #favoriteBtn": "favBtn",
"click #backBtn": "backBtn"
},
backBtn:function(e){
e.preventDefault();
window.history.back();
},
favBtn:function(e){
e.preventDefault();
var self = this;
var ric = this.collRicetta.toJSON()[0];
if(!Profile.isConnected())
{
self.$el.find('#popupDialog').popup("open");
return;
}
Profile.addRicettaBloccoNote(ric.ricetta_id,
function(msg) {
var favBtn = self.$el.find('#favoriteBtn');
favBtn.addClass('ui-disabled');
}
);
},
//render the content into div of view
render: function(){
if(this.fetchedIngredienti && this.fetchedRicetta )
{
ItemView.__super__.render.call(this);
isStayInPage: function () {
return false;
},
events: {
"click #favoriteBtn": "favBtn",
"click #backBtn": "backBtn"
},
backBtn: function (e) {
e.preventDefault();
window.history.back();
},
favBtn: function (e) {
e.preventDefault();
var self = this;
var ric = this.collRicetta.toJSON()[0];
var ric = self.collRicetta.toJSON()[0];
Profile.existRicettaBloccoNote(ric.ricetta_id,
function(exist) {
self.$el.append(self.template({
ricetta: self.collRicetta.toJSON()[0],
ingredienti: self.collIngredienti.toJSON()
}));
self.$arrayContent = self.$el.find('div[data-role="content"]');
self.$arrayNavBar = self.$el.find('div[data-role="navbar"] a');
var favBtn = self.$el.find('#favoriteBtn');
if(exist > 0)
favBtn.addClass('ui-disabled');
self.$arrayNavBar.on("click", function(e){
e.preventDefault();
var index = jQuery.inArray( this , self.$arrayNavBar);
self.goToContent(index);
});
self.$arrayContent.on("swipeleft", function(e) {
var index = jQuery.inArray(this, self.$arrayContent);
self.goToContent(index + 1 );
});
self.$arrayContent.on("swiperight", function(e) {
var index = jQuery.inArray(this, self.$arrayContent);
self.goToContent(index - 1 );
});
self.trigger("renderCompleted:Item",self);
}
);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
//return to enable chained calls
return this;
}
},
goToContent:function(newIndex)
{
if(this.$arrayContent.length > newIndex && newIndex >= 0)
if (!Profile.isConnected())
{
this.indexContent = newIndex;
this.switchContent();
self.$el.find('#popupDialog').popup("open");
return;
}
Profile.addRicettaBloccoNote(ric.ricetta_id,
function (msg) {
var favBtn = self.$el.find('#favoriteBtn');
favBtn.addClass('ui-disabled');
}
);
},
onShowed: function(){
var self = this;
$('body').scrollTop(0);
this.galleryWall = new Freewall("#Gallery");
this.galleryWall.reset({
selector: '.brick',
animate: true,
cellW: 150,
cellH: 'auto',
onResize: function() {
self.galleryWall.fitWidth();
}
});
var images = this.galleryWall.container.find('.brick');
images.find('img').load(function() {
self.galleryWall.fitWidth();
});
$.mobile.loading('hide');
},
//render the content into div of view
render: function () {
if (this.fetchedIngredienti && this.fetchedRicetta)
{
ItemView.__super__.render.call(this);
var self = this;
var ric = self.collRicetta.toJSON()[0];
var countImgLoaded = 0;
Profile.existRicettaBloccoNote(ric.ricetta_id,
function (exist) {
var ric = self.collRicetta.toJSON()[0];
self.$el.append(self.template({
ricetta: ric,
ingredienti: self.collIngredienti.toJSON(),
profile: Profile,
}));
self.scrollPositions = [];
self.$arrayContent = self.$el.find('div[data-role="content"]');
self.$arrayNavBar = self.$el.find('div[data-role="navbar"] a');
self.$photos = self.$el.find('#contentFoto a');
self.$el.find('#contentFoto a img').load(function(){
countImgLoaded++;
if(self.$photos.length == countImgLoaded)
if(self.galleryWall !== null)
self.galleryWall.fitWidth();
});
self.$photos.on("click", function(e){
e.preventDefault();
$.mobile.loading('show', {
text: 'Caricamento immagine...',
textVisible: true,
//theme: 'z',
html: ""
});
var photoID = $(this).attr("data-photoid");
self.$el.find('#photoFull').attr("src" , myManifest.Settings.DefaultURL + "/api/photo/" + photoID);
self.$el.find('#photoFull').load(function(){
$.mobile.loading('hide');
self.$el.find('#fullPhotoPopupDialog').popup("open");
});
});
for (var i = self.$arrayContent.length - 1; i >= 0; i--) {
self.scrollPositions.push(0);
};
var favBtn = self.$el.find('#favoriteBtn');
if (exist > 0)
favBtn.addClass('ui-disabled');
self.$arrayNavBar.on("click", function (e) {
e.preventDefault();
var index = jQuery.inArray(this, self.$arrayNavBar);
self.goToContent(index);
});
self.$arrayContent.on("swipeleft", function (e) {
var index = jQuery.inArray(this, self.$arrayContent);
self.goToContent(index + 1);
});
self.$arrayContent.on("swiperight", function (e) {
var index = jQuery.inArray(this, self.$arrayContent);
self.goToContent(index - 1);
});
self.trigger("renderCompleted:Item", self);
}
);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
//return to enable chained calls
return this;
}
},
switchContent: function(){
this.$arrayContent.hide();
this.$arrayNavBar.removeClass('ui-btn-active');
this.$arrayNavBar.removeClass('ui-state-persist');
$(this.$arrayContent[this.indexContent]).show();
$(this.$arrayNavBar[this.indexContent]).addClass('ui-btn-active');
$(this.$arrayNavBar[this.indexContent]).addClass('ui-state-persist');
}
});
return ItemView;
});
goToContent: function (newIndex)
{
if (this.$arrayContent.length > newIndex && newIndex >= 0)
{
this.scrollPositions[this.indexContent] = $('body').scrollTop();
this.indexContent = newIndex;
this.switchContent();
$('body').scrollTop(this.scrollPositions[this.indexContent]);
}
},
switchContent: function () {
this.$arrayContent.hide();
this.$arrayNavBar.removeClass('ui-btn-active');
this.$arrayNavBar.removeClass('ui-state-persist');
$(this.$arrayContent[this.indexContent]).show();
$(this.$arrayNavBar[this.indexContent]).addClass('ui-btn-active');
$(this.$arrayNavBar[this.indexContent]).addClass('ui-state-persist');
if(this.indexContent == 2)
this.galleryWall.fitWidth();
}
});
return ItemView;
});
+29 -7
View File
@@ -2,7 +2,17 @@
<a id="favoriteBtn" href="#" class="nav-glyphish-example ui-btn ui-icon-myHome ui-btn-icon-notext ui-btn-left" data-icon="custom"></a>
<h3 id='titoloRicetta'><%= unescape(ricetta.titolo)%></h3>
<a id="backBtn" href="#" class="nav-glyphish-example ui-btn ui-icon-myHome ui-btn-icon-notext ui-btn-right" data-icon="custom"></a>
</div>
</div>
<%
var widthImg = 320;
if( myManifest.Agent.device.type != "" )
{
/*prendo la larghezza del viewport e sottraggo il 10perc, poi divito per le due colonne*/
widthImg = (myManifest.Settings.Device.Width - (myManifest.Settings.Device.Width / 10)) / 2;
if(widthImg>320)
widthImg = 320;
}
%>
<div id="contentIngredienti" data-role="content">
<h1>Ingredienti</h1>
<center><p id='ingredienti'>
@@ -17,27 +27,33 @@
nome_ingr = "";
} %> <li style="<%= liStyle %>"><b><%= nome_ingr %></b><%= qty %> <%= ingrediente.unita %> <%= unescape(ingrediente.note) %></li><br> <% }); %>
</p></center>
<p style="font-size: xx-small;font-weight: lighter;">La proprietà del materiale pubblicato nel Lievitario , salvo diversa indicazione, è dei rispettivi autori. E vietata la ripubblicazione, anche parziale, di tutto il materiale pubblicato nel sito Lievitario senza preventiva autorizzazione scritta.</p>
</div>
<div id="contentProcedimento" data-role="content" style="display: none;">
<h1>Procedimento</h1>
<p id='procedimento'><%= ricetta.procedimento%></p>
<p style="font-size: xx-small;font-weight: lighter;">La proprietà del materiale pubblicato nel Lievitario , salvo diversa indicazione, è dei rispettivi autori. E vietata la ripubblicazione, anche parziale, di tutto il materiale pubblicato nel sito Lievitario senza preventiva autorizzazione scritta.</p>
</div>
<!--<div id="contentFoto" data-role="content" data-theme="d" style="display: none;" data-iscroll>
<div id="contentFoto" data-role="content" style="display: none;">
<h1>Foto</h1>
<ul id="Gallery" class="gallery">
</ul>
<div id="Gallery" class="freewallGallery">
<% _.each(ricetta.foto, function(fotoID) {%>
<div class='brick' style='width:<%=widthImg%>px;'><a id="photo_<%=fotoID.ID%>" data-role="none" data-photoid="<%=fotoID.ID%>" href="">
<img src='<%=myManifest.Settings.DefaultURL%>/api/photo/medium/<%=fotoID.ID%>' class="imageborder imageborder-<%=profile.data.tema%>"></a></div>
<%});%>
</div>
</div>
<div id="contentVideo" data-role="content" data-theme="d" style="display: none;" data-iscroll>
<h1>Video</h1>
<p id='video'></p>
</div>-->
</div>
<div data-role="footer" data-position="fixed" data-tap-toggle="false">
<div data-role="navbar">
<ul>
<li><a href="" class="ui-btn-active ui-state-persist">Ingredienti</a></li>
<li><a href="">Procedimento</a></li>
<!--<li><a href="">Foto</a></li>
<li><a href="">Video</a></li>-->
<li><a href="">Foto</a></li>
<!--<li><a href="">Video</a></li>-->
</ul>
</div><!-- /navbar -->
<% if(ricetta.autore.length > 0){ %>
@@ -46,6 +62,12 @@
<h1 id="linkFonte" style="padding: 0px;"><a target="_blank" href="<%= ricetta.link_fonte%>">Link Fonte</a></h1>
<% }%>
</div>
<div data-role="popup" id="fullPhotoPopupDialog">
<a href="#" data-rel="back" class="ui-btn ui-corner-all ui-shadow ui-btn-a ui-icon-delete ui-btn-icon-notext ui-btn-right">Close</a>
<div role="main" class="ui-content">
<img id="photoFull" src='' style="width: 100%;">
</div>
</div>
<div data-role="popup" id="popupDialog">
<div data-role="header">
<h1>Informazione</h1>
+12
View File
@@ -0,0 +1,12 @@
<div id="content">
<div id="siteNotice">
</div>
<h3 id="firstHeading" class="firstHeading"><%= unescape(item.Name)%></h3>
<div id="bodyContent">
<p><i>Località:</i> <%= unescape(item.Comune) + ", " + item.Cap + ", " + unescape(item.Provincia)%><br>
<i>Tipo di Lievito:</i> <% if(item.TipoPM==1){%>Pasta Madre Solida<%} else if(item.TipoPM==2){%>Li.Co.Li.<%} else if(item.TipoPM==4){%>Gluten Free<%}else{%>Entrambi<%}%><br>
<i>Contatta:</i> <a href="mailto:<%= item.Email%>"><%= item.Email%></a>
<% if(item.Note!=""){%><br><i>Note:</i> <%= unescape(item.Note)%><%}%>
</p>
</div>
</div>
+248
View File
@@ -0,0 +1,248 @@
define(['jquery', 'underscore', 'backbone', 'text!modules/maps/mapsViewTemplate.html', 'text!modules/maps/infoWindowTemplate.html', 'modules/base/baseView', 'classes/profile'],
function ($, _, Backbone, mapsViewTemplate, infoWindowTemplate, BaseView, Profile) {
var MapsView = BaseView.extend({
map: null,
markers: [],
//initialize template
template: _.template(mapsViewTemplate),
infoWindowtemplate: _.template(infoWindowTemplate),
defaultLatLng: new google.maps.LatLng(45.4654219, 9.1859243),  // Default to Milan
iconPM: {
url: "http://app.gruppolapastamadre.it/icon.png",
scaledSize: new google.maps.Size(24, 24)
},
iconPMGF: {
url: "http://app.gruppolapastamadre.it/iconGreen.png",
scaledSize: new google.maps.Size(24, 24)
},
initialize: function () {
this.id = "MapsView";
this.markers = [];
MapsView.__super__.initialize.call(this);
},
_centerControl: function(controlDiv, map) {
var self = this;
// Set CSS for the control border.
var controlUI = document.createElement('div');
controlUI.style.backgroundColor = '#fff';
controlUI.style.border = '2px solid #fff';
controlUI.style.borderRadius = '3px';
controlUI.style.boxShadow = '0 2px 6px rgba(0,0,0,.3)';
controlUI.style.cursor = 'pointer';
controlUI.style.marginTop = '10px';
controlUI.style.marginLeft = '15px';
controlUI.style.textAlign = 'center';
controlUI.title = 'Click to recenter the map';
controlDiv.appendChild(controlUI);
// Set CSS for the control interior.
var controlText = document.createElement('div');
controlText.style.color = 'rgb(25,25,25)';
controlText.style.fontFamily = 'Roboto,Arial,sans-serif';
controlText.style.fontSize = '16px';
//controlText.style.lineHeight = '32px';
controlText.style.padding = '4px';
// controlText.style.paddingRight = '5px';
controlText.innerHTML = 'Mia Posizione';
controlUI.appendChild(controlText);
// Setup the click event listeners: simply set the map to Chicago.
controlUI.addEventListener('click', function() {
if ( navigator.geolocation ) {
        function success(pos) {
            // Location found, show map with these coordinates
self.map.setCenter(new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude));
        }
        function fail(error) {
self.map.setCenter(self.defaultLatLng);  // Failed to find location, show default map
        }
        // Find the users current position.  Cache the location for 5 minutes, timeout after 6 seconds
        navigator.geolocation.getCurrentPosition(success, fail, {maximumAge: 500000, enableHighAccuracy:true, timeout: 6000});
    } else {
self.map.setCenter(self.defaultLatLng);  // Failed to find location, show default map
    }
});
},
_drawMap: function(LatLng){
var self = this;
var myOptions = {
            zoom: 10,
            center: LatLng,
            mapTypeId: google.maps.MapTypeId.ROADMAP,
streetViewControl: false,
mapTypeControl: false,
zoomControlOptions: {
position: google.maps.ControlPosition.RIGHT_CENTER
},
        };
$("#map-canvas").width(document.documentElement.clientWidth - 32/*Padding content*/);
$("#map-canvas").height(document.documentElement.clientHeight - 151 - self.$el.find('#searchPanel').height());
self.map = new google.maps.Map($("#map-canvas")[0], myOptions);
// Create the search box and link it to the UI element.
var input = $('<input id="pac-input" data-role="none" class="controls" type="text" placeholder="Ricerca località..." style="display:none;">')[0];
self.$el.find('div[data-role="content"]')[0].appendChild(input);
var searchBox = new google.maps.places.SearchBox(input);
self.map.controls[google.maps.ControlPosition.TOP_CENTER].push(input);
var centerControlDiv = document.createElement('div');
var centerControl = self._centerControl(centerControlDiv, self.map);
//centerControlDiv.index = 4;
self.map.controls[google.maps.ControlPosition.LEFT_BOTTOM].push(centerControlDiv);
var markers = [];
// [START region_getplaces]
// Listen for the event fired when the user selects a prediction and retrieve
// more details for that place.
searchBox.addListener('places_changed', function() {
var places = searchBox.getPlaces();
if (places.length == 0) {
return;
}
// Clear out the old markers.
markers.forEach(function(marker) {
marker.setMap(null);
});
markers = [];
// For each place, get the icon, name and location.
var bounds = new google.maps.LatLngBounds();
places.forEach(function(place) {
var icon = {
url: place.icon,
size: new google.maps.Size(71, 71),
origin: new google.maps.Point(0, 0),
anchor: new google.maps.Point(17, 34),
scaledSize: new google.maps.Size(25, 25)
};
// Create a marker for each place.
markers.push(new google.maps.Marker({
map: self.map,
icon: icon,
title: place.name,
position: place.geometry.location
}));
if (place.geometry.viewport) {
// Only geocodes have viewport.
bounds.union(place.geometry.viewport);
} else {
bounds.extend(place.geometry.location);
}
});
self.map.fitBounds(bounds);
});
self.map.addListener('bounds_changed', function() {
var bound = self.map.getBounds();
searchBox.setBounds(bound);
var latLngFrom = bound.getNorthEast();
var latLngTo = bound.getSouthWest();
$.ajax({
url: myManifest.Settings.DefaultURL + "/api/spacciatori/bound/" + latLngFrom.lat() + "/"+ latLngFrom.lng() + "/" + latLngTo.lat() + "/"+ latLngTo.lng(),
//dataType: "json",
//async: false,
type: 'GET',
success: function (resp) {
resp.forEach(function(ele, index){
var key = "|" + ele.Latitudine+ "|" + ele.Longitudine+ "|";
if(!self.markers[key])
{
self._makeMarker(ele, key);
}
else if(!self.markers[key][ele.ID])
{
ele.Latitudine = parseFloat(ele.Latitudine) + (Math.random() / 500);
ele.Longitudine = parseFloat(ele.Longitudine) + (Math.random() / 500);
self._makeMarker(ele, key);
}
});
}
});
});
$("#pac-input").show();
},
_makeMarker: function(ele,key){
var self = this;
var marker = new google.maps.Marker({
position: new google.maps.LatLng(ele.Latitudine, ele.Longitudine),
icon: ele.TipoPM == "4"?self.iconPMGF:self.iconPM,
//label: ele.Name,
title: ele.Name,
map: self.map
});
if(!self.markers[key])
self.markers[key] = [];
self.markers[key][ele.ID] = marker;
var infowindow = new google.maps.InfoWindow({
content: self.infoWindowtemplate({item: ele})
});
marker.addListener('click', function() {
infowindow.open(self.map, marker);
});
},
onShowed: function(){
if(this.map)
return;
var self = this;
$( window ).resize( function(){
$("#map-canvas").width(document.documentElement.clientWidth - 32/*Padding content*/);
$("#map-canvas").height(document.documentElement.clientHeight - 151 - self.$el.find('#searchPanel').height());
});
if ( navigator.geolocation ) {
        function success(pos) {
            // Location found, show map with these coordinates
self._drawMap(new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude));
        }
        function fail(error) {
self._drawMap(self.defaultLatLng);  // Failed to find location, show default map
        }
        // Find the users current position.  Cache the location for 5 minutes, timeout after 6 seconds
        navigator.geolocation.getCurrentPosition(success, fail, {maximumAge: 500000, enableHighAccuracy:true, timeout: 6000});
    } else {
self._drawMap(self.defaultLatLng);  // No geolocation support, show default map
    }
},
onClosing: function(){
var self = this;
Object.keys(self.markers).forEach(function(key, i){
Object.keys(self.markers[key]).forEach(function(ID, k){
self.markers[key][ID].setMap(null);
});
});
self.markers = [];
},
//render the content into div of view
render: function () {
if (this.created === true)
{
//this.header.title = "pippo";
MapsView.__super__.render.call(this);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
this.$el.append(this.header.$el);
this.$el.append(this.template({app: myManifest, profile: Profile}));
this.$el.append(this.footer.$el);
this.$el.find("#infoBtn").addClass("ui-btn-active");
}
//$("#homeBtn").addClass("ui-btn-active");
//return to enable chained calls
return this;
}
});
return MapsView;
});
+37
View File
@@ -0,0 +1,37 @@
<div data-role="content">
<style>
.controls {
margin-top: 10px;
border: 1px solid transparent;
border-radius: 2px 0 0 2px;
box-sizing: border-box;
-moz-box-sizing: border-box;
height: 32px;
outline: none;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
#pac-input {
background-color: #fff;
font-family: Roboto;
font-size: 15px;
font-weight: 300;
margin-left: 12px;
padding: 0 11px 0 13px;
text-overflow: ellipsis;
width: 300px;
}
#pac-input:focus {
border-color: #4d90fe;
}
.pac-container {
font-family: Roboto;
}
</style>
<div id="searchPanel">
<h3>Mappa Spacciatori</h3>
</div>
<div id="map-canvas">
        <!-- map loads here... -->
    </div>
</div>
+40 -42
View File
@@ -1,43 +1,41 @@
define(['jquery', 'underscore', 'backbone','text!modules/more/moreViewTemplate.html', 'modules/base/baseView'],
function($, _, Backbone, moreViewTemplate, BaseView){
define(['jquery', 'underscore', 'backbone', 'text!modules/more/moreViewTemplate.html', 'modules/base/baseView'],
function ($, _, Backbone, moreViewTemplate, BaseView) {
var MoreView = BaseView.extend({
collection: null,
//initialize template
template:_.template(moreViewTemplate),
initialize: function (options) {
var self = this;
MoreView.__super__.initialize.call(this);
//this.header.title = "pippo";
},
events:{
"click #converterLnk": "converterLnkClick"
},
converterLnkClick:function()
{
window.location.href = "http://www.pastamadre.eu/webapps/conversione_lieviti/index.php";
},
//render the content into div of view
render: function(){
//this.header.title = "pippo";
MoreView.__super__.render.call(this);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
this.$el.append(this.header.$el);
this.$el.append(this.template());
this.$el.append(this.footer.$el);
this.$el.find("#moreBtn").addClass("ui-btn-active");
//$("#homeBtn").addClass("ui-btn-active");
//return to enable chained calls
return this;
}
});
return MoreView;
});
var MoreView = BaseView.extend({
collection: null,
//initialize template
template: _.template(moreViewTemplate),
initialize: function (options) {
this.id = "MoreView";
var self = this;
MoreView.__super__.initialize.call(this);
//this.header.title = "pippo";
},
events: {
"click #converterLnk": "converterLnkClick"
},
converterLnkClick: function ()
{
window.location.href = "http://www.pastamadre.eu/webapps/conversione_lieviti/?p=conversioneLieviti";
},
//render the content into div of view
render: function () {
if (this.created === true)
{
//this.header.title = "pippo";
MoreView.__super__.render.call(this);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
this.$el.append(this.header.$el);
this.$el.append(this.template());
this.$el.append(this.footer.$el);
}
this.$el.find("#moreBtn").addClass("ui-btn-active");
//$("#homeBtn").addClass("ui-btn-active");
//return to enable chained calls
return this;
}
});
return MoreView;
});
+2 -2
View File
@@ -3,9 +3,9 @@
<li data-role="list-divider">Altre opzioni</li>
<li><a id="converterLnk" href="#" class="ui-li-icon ui-corner-none">Convertitore</a></li>
<li><a id="settingLnk" href="#settingsView">Impostazioni</a></li>
<!--<li><a id="settingLnk" href="#settingsView">Impostazioni</a></li>-->
<li><a id="aboutLnk" href="#aboutView">Informazioni su...</a></li>
<li><a id="donationLnk" href="#donationView">Donazione</a></li>
<li><a id="debugMsgLnk" href="#debugView">Messaggi di debug</a></li>
</ul>
</div>
+72 -74
View File
@@ -1,82 +1,80 @@
define(['jquery', 'underscore', 'backbone','text!modules/note/noteViewTemplate.html', 'text!modules/note/noteItemTemplate.html', 'modules/base/baseView', 'classes/profile'],
function($, _, Backbone, noteViewTemplate, noteItemTemplate, BaseView, Profile){
define(['jquery', 'underscore', 'backbone', 'text!modules/note/noteViewTemplate.html', 'text!modules/note/noteItemTemplate.html', 'modules/base/baseView', 'classes/profile'],
function ($, _, Backbone, noteViewTemplate, noteItemTemplate, BaseView, Profile) {
var NoteView = BaseView.extend({
var NoteView = BaseView.extend({
collection: null,
//initialize template
template: _.template(noteViewTemplate),
itemtemplate: _.template(noteItemTemplate),
current_ricetta_id: null,
initialize: function (options) {
this.id = "NoteView";
var self = this;
NoteView.__super__.initialize.call(this);
this.collection = options.collection;
this.collection.fetch({success: function () {
self.renderItem();
}});
},
events: {
"click #deleteItem": "deleteItemClick",
"popupafterclose #popupMenu": "popupMenuPopupafterclose"
},
updateList: function () {
var $ul = this.$el.find('#allNote');
$ul.html('');
var items = this.itemtemplate({data: this.collection.toJSON()});
collection: null,
//initialize template
template:_.template(noteViewTemplate),
itemtemplate:_.template(noteItemTemplate),
current_ricetta_id: null,
$ul.html(items);
$ul.listview("refresh");
$ul.trigger("updatelayout");
},
renderItem: function () {
this.updateList();
initialize: function (options) {
var self = this;
NoteView.__super__.initialize.call(this);
this.collection = options.collection;
this.collection.fetch({ success: function(){ self.renderItem(); } });
},
events: {
"click #deleteItem": "deleteItemClick",
"popupafterclose #popupMenu": "popupMenuPopupafterclose"
},
updateList: function(){
var $ul = this.$el.find('#allNote');
var items = this.itemtemplate({data:this.collection.toJSON()});
$ul.html( items );
$ul.listview( "refresh" );
$ul.trigger( "updatelayout");
},
renderItem: function(){
this.updateList();
$.mobile.loading( 'hide' );
var self = this;
this.$el.find('.optionLink').on("click", function(e){
$.mobile.loading('hide');
var self = this;
this.$el.find('.optionLink').on("click", function (e) {
e.preventDefault();
self.current_ricetta_id = $(e.target.parentElement).find('#itemID').text();
self.$el.find('#popupMenu').popup("open");
});
},
deleteItemClick: function (e) {
e.preventDefault();
self.current_ricetta_id = $(e.target.parentElement).find('#itemID').text();
self.$el.find('#popupMenu').popup("open");
});
},
var self = this;
Profile.removeRicettaBloccoNote(this.current_ricetta_id, function (msg) {
var item = self.collection.get(self.current_ricetta_id);
deleteItemClick: function(e){
e.preventDefault();
var self = this;
Profile.removeRicettaBloccoNote(this.current_ricetta_id, function(msg) {
var item = self.collection.get(self.current_ricetta_id);
self.$el.find('#popupMenu').popup("close");
self.$el.find('#popupMenu').popup("close");
self.collection.remove(item);
self.updateList();
});
},
popupMenuPopupafterclose: function (event, ui) {
this.current_ricetta_id = null;
},
//render the content into div of view
render: function () {
if (this.created === true)
{
//this.header.title = "pippo";
NoteView.__super__.render.call(this);
self.collection.remove(item);
self.updateList();
});
},
var self = this;
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
this.$el.append(this.header.$el);
this.$el.append(this.template());
this.$el.append(this.footer.$el);
popupMenuPopupafterclose: function( event, ui ) {
this.current_ricetta_id = null;
},
//render the content into div of view
render: function(){
//this.header.title = "pippo";
NoteView.__super__.render.call(this);
var self = this;
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
this.$el.append(this.header.$el);
this.$el.append(this.template());
this.$el.append(this.footer.$el);
//return to enable chained calls
this.$el.find("#noteBtn").addClass("ui-btn-active");
return this;
}
});
return NoteView;
});
//return to enable chained calls
}
this.$el.find("#noteBtn").addClass("ui-btn-active");
return this;
}
});
return NoteView;
});
+84 -82
View File
@@ -1,88 +1,90 @@
define(['jquery', 'underscore', 'backbone','text!modules/search/foundViewTemplate.html','text!modules/search/foundItemTemplate.html', 'modules/base/baseView'],
function($, _, Backbone, foundViewTemplate, foundItemTemplate, BaseView){
define(['jquery', 'underscore', 'backbone', 'text!modules/search/foundViewTemplate.html', 'text!modules/search/foundItemTemplate.html', 'modules/base/baseView'],
function ($, _, Backbone, foundViewTemplate, foundItemTemplate, BaseView) {
var FoundView = BaseView.extend({
var FoundView = BaseView.extend({
collection: null,
//initialize template
template: _.template(foundViewTemplate),
itemTemplate: _.template(foundItemTemplate),
initialize: function (options) {
this.id = "FoundView";
var self = this;
FoundView.__super__.initialize.call(this);
this.collection = options.collection;
collection: null,
//initialize template
template:_.template(foundViewTemplate),
itemTemplate:_.template(foundItemTemplate),
this.collection.fetch({
success: function () {
self.renderItem();
}});
},
isStayInPage: function () {
return false;
},
events: {
"click #pagSucc": "nextPageSearch",
"click #pagPrec": "prevPageSearch"
},
goTop: function (element) {
$('html, body').animate({
scrollTop: '0px'
}, 'fast');
return element; // for chaining...
},
renderItem: function () {
var $ul = $('#foundRicette');
$ul.html('');
var items = this.itemTemplate({data: this.collection.toJSON()});
initialize: function (options) {
var self = this;
FoundView.__super__.initialize.call(this);
this.collection = options.collection;
this.collection.fetch({
success: function(){ self.renderItem(); } });
},
events: {
"click #pagSucc": "nextPageSearch",
"click #pagPrec": "prevPageSearch"
},
goTop: function(element) {
$('html, body').animate({
scrollTop: '0px'
}, 'fast');
return element; // for chaining...
},
$ul.html(items);
$ul.listview("refresh");
$ul.trigger("updatelayout");
renderItem: function(){
var $ul = $('#foundRicette');
$ul.html('');
var items = this.itemTemplate({data:this.collection.toJSON()});
if (this.collection.indexItems === 0)
$('#pagPrec').hide();
else
$('#pagPrec').show();
$ul.html( items );
$ul.listview( "refresh" );
$ul.trigger( "updatelayout");
if(this.collection.indexItems === 0)
$('#pagPrec').hide();
else
$('#pagPrec').show();
if(this.collection.getTotalRecords() < (this.collection.indexItems + 1) * this.collection.numItems)
$('#pagSucc').hide();
else
$('#pagSucc').show();
if (this.collection.getTotalRecords() < (this.collection.indexItems + 1) * this.collection.numItems)
$('#pagSucc').hide();
else
$('#pagSucc').show();
$.mobile.loading( 'hide' );
//$( '[data-alpha="true"]' ).alphascroll();
},
nextPageSearch: function(e){
e.preventDefault();
var self=this;
this.collection.indexItems++;
this.collection.fetch({reset: true,
success: function(){ self.renderItem(); } });
this.goTop();
},
prevPageSearch: function(e){
e.preventDefault();
var self=this;
this.collection.indexItems--;
this.collection.fetch({reset: true,
success: function(){ self.renderItem(); } });
},
//render the content into div of view
render: function(){
//this.header.title = "pippo";
FoundView.__super__.render.call(this);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
this.$el.append(this.header.$el);
this.$el.append(this.template());
this.$el.append(this.footer.$el);
//return to enable chained calls
this.$el.find("#searchBtn").addClass("ui-btn-active");
return this;
}
});
return FoundView;
});
$.mobile.loading('hide');
//$( '[data-alpha="true"]' ).alphascroll();
},
nextPageSearch: function (e) {
e.preventDefault();
var self = this;
this.collection.indexItems++;
this.collection.fetch({reset: true,
success: function () {
self.renderItem();
}});
this.goTop();
},
prevPageSearch: function (e) {
e.preventDefault();
var self = this;
this.collection.indexItems--;
this.collection.fetch({reset: true,
success: function () {
self.renderItem();
}});
},
//render the content into div of view
render: function () {
//this.header.title = "pippo";
FoundView.__super__.render.call(this);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
this.$el.append(this.header.$el);
this.$el.append(this.template());
this.$el.append(this.footer.$el);
//return to enable chained calls
this.$el.find("#searchBtn").addClass("ui-btn-active");
return this;
}
});
return FoundView;
});
+29 -3
View File
@@ -2,7 +2,33 @@
<h1>Nessuna ricetta trovata</h1>
<%} else { for (var i = 0; i < data.length; i++) { %>
<% var item = data[i]; %>
<li><a href="#ricetta/<%= item.ricetta_id%>" class="ui-btn ui-btn-icon-right ui-icon-carat-r">
<div class='ricettaTitolo'><%= unescape(item.titolo) %> - <%= unescape(item.categoria_name) %></div><div class='ricettaAutore'><%= unescape(item.autore) %></div>
</a></li>
<li><a href="#ricetta/<%= item.ricetta_id%>" class="ui-btn ui-btn-icon-right ui-icon-carat-r ui-li-has-thumb">
<div class="imageRic">
<% if(item.firstImage !== ""){ %>
<img src='<%=myManifest.Settings.DefaultURL%>/api/photo/thumbnail/<%=item.firstImage%>'>
<%}%>
</div>
<div class="contentItem">
<div class='ricettaTitolo'><%= unescape(item.titolo)%> - <%= unescape(item.categoria_name)%></div>
<div class='ricettaAutore'><%= unescape(item.autore) %></div>
<br><div class='ricettaAutore'>Diff.:&nbsp;&nbsp;</div>
<div id="valutazione">
<div role="text" data-role="none" aria-label="Molto Semplice" class="star-rating rater-0 star star-rating-applied star-rating-live <% if(parseInt(item.difficolta)>=1){%>star-rating-on<%}%>">
<div data-role="none" title="Molto Semplice">1</div>
</div>
<div data-role="none" role="text" aria-label="Semplice" class="star-rating rater-0 star star-rating-applied star-rating-live <% if(parseInt(item.difficolta)>=2){%>star-rating-on<%}%>">
<div data-role="none" title="Semplice">2</div>
</div>
<div data-role="none" role="text" aria-label="Normale" class="star-rating rater-0 star star-rating-applied star-rating-live <% if(parseInt(item.difficolta)>=3){%>star-rating-on<%}%>">
<div data-role="none" title="Normale">3</div>
</div>
<div data-role="none" role="text" aria-label="Difficile" class="star-rating rater-0 star star-rating-applied star-rating-live <% if(parseInt(item.difficolta)>=4){%>star-rating-on<%}%>">
<div data-role="none" title="Difficile">4</div>
</div>
<div data-role="none" role="text" aria-label="Molto Difficile" class="star-rating rater-0 star star-rating-applied star-rating-live <% if(parseInt(item.difficolta)>=5){%>star-rating-on<%}%>">
<div data-role="none" title="Molto Difficile">5</div>
</div>
</div>
</div>
</a></li>
<% }} %>
+38 -13
View File
@@ -6,11 +6,9 @@ define(['jquery', 'underscore', 'backbone','text!modules/search/searchViewTempla
template:_.template(searchViewTemplate),
initialize: function (options) {
this.id = "SearchView";
var self = this;
SearchView.__super__.initialize.call(this);
this.collection = options.collection;
this.collection.fetch({ success: function () { self.render(); } });
//this.header.title = "pippo";
},
events: {
@@ -20,6 +18,7 @@ define(['jquery', 'underscore', 'backbone','text!modules/search/searchViewTempla
performSearch: function (e) {
e.preventDefault();
var titolo = $('#titolo').val();
var autore = $('#autore').val();
var categoria = $('#categoria').val();
var nResult = $('#nResult').val();
var diffi = $('#difficoltaFrm').serialize();
@@ -27,19 +26,45 @@ define(['jquery', 'underscore', 'backbone','text!modules/search/searchViewTempla
if (diffi === "") {
diffi = "0";
}
Backbone.history.navigate('search/' + nResult + "/"+ categoria + "/" + diffi + "/" + titolo, { trigger: true });
if (autore === "" || autore == undefined) {
autore = "_";
}
Backbone.history.navigate('search/' + nResult + "/"+ categoria + "/" + diffi + "/" + autore + "/"+titolo, { trigger: true });
},
onShowed: function(){
var stars = $('input[type=radio].star');
if (stars.length > 0)
{
stars.rating({
callback: function (value, link) {
var tip = $('#hover-test');
if (value === undefined)
{
$('#hover-test').html("Nessuna" || 'value: ');
}
else
$('#hover-test').html(link.title || 'value: ' + value);
},
focus: function (value, link) {
var tip = $('#hover-test');
tip[0].data = tip[0].data || tip.html();
tip.html(link.title || 'value: ' + value);
}
});
}
},
//render the content into div of view
render: function () {
//this.header.title = "pippo";
SearchView.__super__.render.call(this);
this.$el.append(this.header.$el);
this.$el.append(this.template({data:this.collection.toJSON()}));
this.$el.append(this.footer.$el);
this.$el.find('#nResult').val(Profile.data.risRic);
this.trigger("renderCompleted:Search", this);
if (this.created === true)
{
SearchView.__super__.render.call(this);
this.$el.append(this.header.$el);
this.$el.append(this.template());
this.$el.append(this.footer.$el);
}
this.$el.find('#nResult').val(Profile.data.risRic);
this.trigger("renderCompleted:Search", this);
this.$el.find("#searchBtn").addClass("ui-btn-active");
return this;
}
+15 -8
View File
@@ -5,10 +5,16 @@
<label for="categoria">Categoria:</label>
<select name="categoria" id="categoria" data-native-menu="true" >
<option value="0" selected="true">Selezionare Categoria...</option>
<% for (var i = 0; i < data.length; i++) { %>
<% var item = data[i]; %>
<option value="<%=item.category_id%>"><%=item.name%></option>
<% } %>
<option value="3">Dolci</option>
<option value="6">Esuberi</option>
<option value="4">Focacce</option>
<option value="10">Grandi Lievitati</option>
<option value="1">Pane</option>
<option value="5">Panificati Vari</option>
<option value="9">Pasquali</option>
<option value="2">Pizza</option>
<option value="8">Senza Glutine</option>
<option value="7">Vegane</option>
</select><br>
<label for="difficoltaFrm">Livello Difficoltà:</label>
<form id="difficoltaFrm" data-role="none">
@@ -21,11 +27,12 @@
<label for="nResult">Numero Risultati:</label>
<select name="nResult" id="nResult" >
<option value="10" selected="true">10</option>
<option value="15">15</option>
<option value="20">20</option>
<option value="25">25</option>
<option value="30">30</option>
</select>
<option value="50">50</option>
<option value="100">100</option>
</select>
<label for="autore">Autore:</label>
<input type="text" name="autore" id="autore" placeholder="Autore..." value="" data-clear-btn="true" ><br>
<br><br>
<center><a href="" id="search" button="true" class="ui-btn ui-corner-all">Cerca</a></center>
</div>
+209 -12
View File
@@ -5,37 +5,234 @@ define(['jquery', 'underscore', 'backbone','text!modules/settings/settingsViewTe
//initialize template
template:_.template(settingsViewTemplate),
_flagSave: false,
initialize: function () {
SettingsView.__super__.initialize.call(this);
var self = this;
this.id = "SettingsView";
SettingsView.__super__.initialize.call(this);
},
events: {
"click #saveBtn": "saveBtn"
"click #saveBtn": "saveBtn",
"change #spacc-PMChk": "spaccPMClick",
"change #stato": "statoChange"
},
statoChange: function(){
if(this.$el.find('#stato').val() !== "ITALIA")
{
this.$el.find('#provTxt').parent().show();
this.$el.find('#prov').parent().hide();
}
else
{
this.$el.find('#provTxt').parent().hide();
this.$el.find('#prov').parent().show();
}
},
saveBtn:function(e){
var self = this;
if(self._flagSave)
return;
self._flagSave = true;
e.preventDefault();
Profile.data.risRic = this.$el.find('#nResult').val();
Profile.data.tema = this.$el.find('#theme').val();
Profile.updateProfile(function(){
Backbone.history.loadUrl();
});
if($('#mapSpacc').is(':visible'))
{
Profile.data.isSpacc = this.$el.find('#spacc-PMChk').prop('checked')?"1":"0";
if(Profile.data.isSpacc==="1")
{
Profile.data.email = this.$el.find('#email').val();
Profile.data.dataSpacc.stato = this.$el.find('#stato').val();
if(this.$el.find('#stato').val() !== "ITALIA"){
Profile.data.dataSpacc.provincia = this.$el.find('#provTxt').val();
}
else{
Profile.data.dataSpacc.provincia = this.$el.find('#prov').val();
}
Profile.data.dataSpacc.comune = this.$el.find('#comune').val();
Profile.data.dataSpacc.cap = this.$el.find('#CAP').val();
Profile.data.dataSpacc.tipopm = this.$el.find('#tPM').val();
Profile.data.dataSpacc.note = this.$el.find('#note').val();
Profile.data.dataSpacc.privacy = this.$el.find('#privacyChk').prop('checked')?"1":"0";
if(Profile.data.email === "" ||
Profile.data.dataSpacc.stato === "" ||
Profile.data.dataSpacc.provincia === "" ||
Profile.data.dataSpacc.comune === "" ||
Profile.data.dataSpacc.cap === "" ||
Profile.data.dataSpacc.tipopm === "")
{
self.$el.find('#titlePopup').html("Campi obbligatori");
self.$el.find('#messaggio').html("<center><h1 style='color: red;'>ATTENZIONE</h1> devono essere settate tutte i campi</center>");
self.$el.find('#popupDialog').popup("open");
self._flagSave = false;
return;
}
if(Profile.data.dataSpacc.privacy==="0")
{
self.$el.find('#titlePopup').html("Informativa privacy");
self.$el.find('#messaggio').html("<center><h1 style='color: red;'>ATTENZIONE</h1> per proseguire è obbligatorio accettare l'informativa privacy</center>");
self.$el.find('#popupDialog').popup("open");
self._flagSave = false;
return;
}
$.ajax({
url: "http://maps.google.com/maps/api/geocode/json?address=" +
Profile.data.dataSpacc.comune + "+" +
Profile.data.dataSpacc.cap + "+" +
Profile.data.dataSpacc.provincia + "+" + Profile.data.dataSpacc.stato + "&sensor=false",
                Type: "GET"
            }).then(function ( response ) {
if(response.results.length > 0)
{
Profile.data.dataSpacc.lat = response.results[0].geometry.location.lat;
Profile.data.dataSpacc.long = response.results[0].geometry.location.lng;
}
if(Profile.data.dataSpacc.lat === "" &&
Profile.data.dataSpacc.long === ""){
self._flagSave = false;
return;
}
Profile.updateProfile(function(){
self._flagSave = false;
self.$el.find('#titlePopup').html("Salvataggio");
self.$el.find('#messaggio').html("Impostazioni salvate con successo");
self.$el.find('#popupDialog').popup("open");
});
});
}
else
{
Profile.updateProfile(function(){
self._flagSave = false;
self.$el.find('#titlePopup').html("Salvataggio");
self.$el.find('#messaggio').html("Impostazioni salvate con successo");
self.$el.find('#popupDialog').popup("open");
});
}
}
else
{
Profile.updateProfile(function(){
self._flagSave = false;
self.$el.find('#titlePopup').html("Salvataggio");
self.$el.find('#messaggio').html("Impostazioni salvate con successo");
self.$el.find('#popupDialog').popup("open");
//Backbone.history.loadUrl(Backbone.history.getFragment());
});
}
},
onShowed: function(){
var self = this;
if(Profile.data.isSpacc==="0"){
this.$el.find('#mapSpacc > :not(.ui-checkbox:has(#spacc-PMChk))').hide();
}
else
this.$el.find('#mapSpacc > :not(.ui-checkbox:has(#spacc-PMChk))').show();
if(this.$el.find('#stato').val() !== "ITALIA")
{
this.$el.find('#provTxt').parent().show();
this.$el.find('#prov').parent().hide();
}
else
{
this.$el.find('#provTxt').parent().hide();
this.$el.find('#prov').parent().show();
}
$( "#autocomplete_comune" ).on( "filterablebeforefilter", function ( e, data ) {
if(self.$el.find('#stato').val() !== "ITALIA")
return;
        var $ul = $( this ),
            $input = $( data.input ),
            value = $input.val(),
            html = "";
        $ul.html( "" );
        if ( value && value.length > 0 ) {
            $ul.html( "<li><div class='ui-loader'><span class='ui-icon ui-icon-loading'></span></div></li>" );
            $ul.listview( "refresh" );
            $.ajax({
url: myManifest.Settings.DefaultURL + "/api/profile/comuni/" + self.$el.find('#prov').val() + "/" + $input.val(),
                Type: "GET"
            })
            .then( function ( response ) {
                $.each( response, function ( i, val ) {
                    html += "<li>" + unescape(val.Comune) + "<input id='hdnCAP" + i + "'' type='hidden' value='" + val.CAP + "'></li>";
                });
                $ul.html( html );
                $ul.listview( "refresh" );
                $ul.trigger( "updatelayout");
$ul.find('li').on("click", function(e){
$input.val($(this).text());
self.$el.find('#CAP').val($(this).find(":hidden").val());
$ul.html( "" );
$ul.listview( "refresh" );
$ul.trigger( "updatelayout");
});
            });
        }
    });
},
spaccPMClick: function(e){
if(this.$el.find('#spacc-PMChk').prop('checked')){
this.$el.find('#mapSpacc > :not(.ui-checkbox:has(#spacc-PMChk))').show();
}
else
this.$el.find('#mapSpacc > :not(.ui-checkbox:has(#spacc-PMChk))').hide();
},
//render the content into div of view
render: function(){
SettingsView.__super__.render.call(this);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
this.$el.append(this.header.$el);
this.$el.append(this.template());
this.$el.append(this.footer.$el);
if(this.created === true)
{
SettingsView.__super__.render.call(this);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
this.$el.append(this.header.$el);
this.$el.append(this.template());
this.$el.append(this.footer.$el);
}
this.$el.find('#nResult').val(Profile.data.risRic);
this.$el.find('#theme').val(Profile.data.tema);
this.$el.find('#spacc-PMChk').prop('checked', Profile.data.isSpacc==="0"?false:true);
this.$el.find('#email').val(Profile.data.email);
this.$el.find('#stato').val(Profile.data.dataSpacc.stato);
if(this.$el.find('#stato').val() !== "ITALIA")
{
this.$el.find('#provTxt').parent().show();
this.$el.find('#prov').parent().hide();
this.$el.find('#provTxt').val(Profile.data.dataSpacc.provincia);
}
else
{
this.$el.find('#provTxt').parent().hide();
this.$el.find('#prov').parent().show();
this.$el.find('#prov').val(Profile.data.dataSpacc.provincia);
}
this.$el.find('#comune').val(Profile.data.dataSpacc.comune);
this.$el.find('#CAP').val(Profile.data.dataSpacc.cap);
this.$el.find('#note').val(Profile.data.dataSpacc.note);
this.$el.find('#tPM').val(Profile.data.dataSpacc.tipopm);
this.$el.find('#privacyChk').prop('checked', Profile.data.dataSpacc.privacy==="0"?false:true);
this.$el.find("#moreBtn").addClass("ui-btn-active");
//$("#homeBtn").addClass("ui-btn-active");
//return to enable chained calls
+219 -21
View File
@@ -1,24 +1,222 @@
<div data-role="content">
<h1>Impostazioni</h1>
<div>
<label for="nResult">Numero Risultati Ricerca:</label>
<select name="nResult" id="nResult">
<option value="10" selected="true">10</option>
<option value="15">15</option>
<option value="20">20</option>
<option value="25">25</option>
<option value="30">30</option>
</select>
<label for="theme">Tema Grafico:</label>
<select name="theme" id="theme">
<option value="a" selected="true">Blu</option>
<option value="b">Nero</option>
<option value="c">Chiaro</option>
<option value="d">Material Design</option>
</select>
<a id="saveBtn" href="" button="true" class="ui-link ui-btn ui-icon-custom ui-btn-icon-left">Save</a>
<br><br>
Impostazione di sincronizzazione
<a id="syncBtn" href="#syncView" button="true" class="ui-link ui-btn ui-icon-custom ui-btn-icon-left">Sincronizzazione</a>
<h1>Profilo Utente</h1>
<div data-role="tabs" id="tabs">
<div data-role="navbar">
<ul>
<li><a href="#appSetting" data-ajax="false">Settaggi Lievitario</a></li>
<li><a href="#mapSpacc" data-ajax="false">Mappa Spacciatori</a></li>
</ul>
</div>
  <div id="appSetting" class="ui-body-d ui-content">
<label for="nResult">Numero Risultati Ricerca:</label>
<select name="nResult" id="nResult">
<option value="10" selected="true">10</option>
<option value="15">15</option>
<option value="20">20</option>
<option value="25">25</option>
<option value="30">30</option>
</select>
<label for="theme">Tema Grafico:</label>
<select name="theme" id="theme">
<option value="a" selected="true">Blu</option>
<option value="b">Nero</option>
<option value="c">Chiaro</option>
<option value="d">Material Design</option>
</select>
  </div>
  <div id="mapSpacc" class="ui-body-d ui-content">
<label for="spacc-PMChk">Sono uno spacciatore di PM</label>
<input type="checkbox" name="spacc-PMChk" id="spacc-PMChk">
<label for="email">Email:</label>
<input type="text" name="email" id="email" placeholder="Inserire proprio indirizzo di posta...">
<label for="stato">Stato:</label>
<select name="stato" id="stato">
<option value='AUSTRIA'>Austria</option>
<option value='AUSTRIALIA'>Austrialia</option>
<option value='ABUDHABI'>Abu Dhabi</option>
<option value='BELGIO'>Belgio</option>
<option value='BULGARIA'>Bulgaria</option>
<option value='CANADA'>Canada</option>
<option value='CIPRO'>Cipro</option>
<option value='CROAZIA'>Croazia</option>
<option value='DANIMARCA'>Danimarca</option>
<option value='ESTONIA'>Estonia</option>
<option value='FINLANDIA'>Finlandia</option>
<option value='FRANCIA'>Francia</option>
<option value='GERMANIA'>Germania</option>
<option value='GRECIA'>Grecia</option>
<option value='ITALIA' selected="true">Italia</option>
<option value='IRLANDA'>Irlanda</option>
<option value='LETTONIA'>Lettonia</option>
<option value='LITUANIA'>Lituania</option>
<option value='LUSSEMBURGO'>Lussemburgo</option>
<option value='MALTA'>Malta</option>
<option value='NORVEGIA'>Norvegia</option>
<option value='PAESI BASSI'>Paesi Bassi</option>
<option value='POLONIA'>Polonia</option>
<option value='PORTOGALLO'>Portogallo</option>
<option value='REGNOUNITO'>RegnoUnito</option>
<option value='REP.CECA'>Rep.Ceca</option>
<option value='ROMANIA'>Romania</option>
<option value='SLOVACCHIA'>Slovacchia</option>
<option value='SLOVENIA'>Slovenia</option>
<option value='SPAGNA'>Spagna</option>
<option value='USA'>Stati Uniti D'America</option>
<option value='SVEZIA'>Svezia</option>
<option value='SVIZZERA'>Svizzera</option>
<option value='UNGHERIA'>Ungheria</option>
</select>
<label for="prov">Provincia:</label>
<input type="text" name="provTxt" id="provTxt" placeholder="Inserire propria provincia...">
<select name="prov" id="prov">
<option value='AG'>AG</option>
<option value='AL'>AL</option>
<option value='AN'>AN</option>
<option value='AO'>AO</option>
<option value='AP'>AP</option>
<option value='AQ'>AQ</option>
<option value='AR'>AR</option>
<option value='AT'>AT</option>
<option value='AV'>AV</option>
<option value='BA'>BA</option>
<option value='BG'>BG</option>
<option value='BI'>BI</option>
<option value='BL'>BL</option>
<option value='BN'>BN</option>
<option value='BO'>BO</option>
<option value='BR'>BR</option>
<option value='BS'>BS</option>
<option value='BT'>BT</option>
<option value='BZ'>BZ</option>
<option value='CA'>CA</option>
<option value='CB'>CB</option>
<option value='CE'>CE</option>
<option value='CH'>CH</option>
<option value='CI'>CI</option>
<option value='CL'>CL</option>
<option value='CN'>CN</option>
<option value='CO'>CO</option>
<option value='CR'>CR</option>
<option value='CS'>CS</option>
<option value='CT'>CT</option>
<option value='CZ'>CZ</option>
<option value='EN'>EN</option>
<option value='FC'>FC</option>
<option value='FE'>FE</option>
<option value='FG'>FG</option>
<option value='FI'>FI</option>
<option value='FM'>FM</option>
<option value='FR'>FR</option>
<option value='GE'>GE</option>
<option value='GO'>GO</option>
<option value='GR'>GR</option>
<option value='IM'>IM</option>
<option value='IS'>IS</option>
<option value='KR'>KR</option>
<option value='LC'>LC</option>
<option value='LE'>LE</option>
<option value='LI'>LI</option>
<option value='LO'>LO</option>
<option value='LT'>LT</option>
<option value='LU'>LU</option>
<option value='MB'>MB</option>
<option value='MC'>MC</option>
<option value='ME'>ME</option>
<option value='MI'>MI</option>
<option value='MN'>MN</option>
<option value='MO'>MO</option>
<option value='MS'>MS</option>
<option value='MT'>MT</option>
<option value='NA'>NA</option>
<option value='NO'>NO</option>
<option value='NU'>NU</option>
<option value='OG'>OG</option>
<option value='OR'>OR</option>
<option value='OT'>OT</option>
<option value='PA'>PA</option>
<option value='PC'>PC</option>
<option value='PD'>PD</option>
<option value='PE'>PE</option>
<option value='PG'>PG</option>
<option value='PI'>PI</option>
<option value='PN'>PN</option>
<option value='PO'>PO</option>
<option value='PR'>PR</option>
<option value='PT'>PT</option>
<option value='PU'>PU</option>
<option value='PV'>PV</option>
<option value='PZ'>PZ</option>
<option value='RA'>RA</option>
<option value='RC'>RC</option>
<option value='RE'>RE</option>
<option value='RG'>RG</option>
<option value='RI'>RI</option>
<option value='RM'>RM</option>
<option value='RN'>RN</option>
<option value='RO'>RO</option>
<option value='SA'>SA</option>
<option value='SI'>SI</option>
<option value='SO'>SO</option>
<option value='SP'>SP</option>
<option value='SR'>SR</option>
<option value='SS'>SS</option>
<option value='SV'>SV</option>
<option value='TA'>TA</option>
<option value='TE'>TE</option>
<option value='TN'>TN</option>
<option value='TO'>TO</option>
<option value='TP'>TP</option>
<option value='TR'>TR</option>
<option value='TS'>TS</option>
<option value='TV'>TV</option>
<option value='UD'>UD</option>
<option value='VA'>VA</option>
<option value='VB'>VB</option>
<option value='VC'>VC</option>
<option value='VE'>VE</option>
<option value='VI'>VI</option>
<option value='VR'>VR</option>
<option value='VS'>VS</option>
<option value='VT'>VT</option>
<option value='VV'>VV</option>
</select>
<label for="comune">Comune:</label>
<input type="text" name="comune" id="comune" placeholder="Comune di domicilio...">
<ul id="autocomplete_comune" data-role="listview" data-inset="true" data-filter="true" data-input="#comune"></ul>
<label for="CAP">CAP:</label>
<input type="text" name="CAP" id="CAP" placeholder="CAP...">
<label for="tPM">Tipo PM:</label>
<select name="tPM" id="tPM">
<option value="1" selected="true">Solida</option>
<option value="2">Liquida/Licoli</option>
<option value="3">Entrambe</option>
<option value="4">GlutenFree</option>
</select>
<label for="note">Note:</label>
<input type="text" name="note" id="note" placeholder="Note...">
<label>Infomativa privacy, AUTORIZZAZIONE DATI PERSONALI
ai sensi e per gli effetti degli artt. 13 e 23 del D.Lgs. n. 196/2003, acconsento al trattamento e alla pubblicazione dei dati personali forniti a seguito della
segnalazione inoltrata.</label>
<label for="privacyChk">Accetto</label>
<input type="checkbox" name="privacyChk" id="privacyChk">
  </div>
</div>
<div>
<a id="saveBtn" href="" button="true" class="ui-link ui-btn ui-icon-custom ui-btn-icon-left">Save</a>
<br><br>
Impostazione di sincronizzazione
<a id="syncBtn" href="#syncView" button="true" class="ui-link ui-btn ui-icon-custom ui-btn-icon-left">Sincronizzazione</a>
</div>
</div>
<div data-role="popup" id="popupDialog">
<div data-role="header">
<h3 id="titlePopup"></h3>
</div>
<div role="main" class="ui-content">
<p id="messaggio" style="text-align: center;font-style: italic;">
</p>
<p style="text-align: center;">
<a href="" class="ui-btn ui-corner-all ui-shadow ui-btn-inline ui-icon-check" data-rel="back">Ok</a>
</p>
</div>
</div>
+45 -67
View File
@@ -5,25 +5,24 @@ define(['jquery', 'underscore', 'backbone', 'text!modules/sync/syncViewTemplate.
//initialize template
template: _.template(syncViewTemplate),
initialize: function (options) {
this.id = "SyncView";
SyncView.__super__.initialize.call(this);
if (options &&
options.tokenFound == 1)
options.tokenFound === 1)
{
this.updateLoginBtn();
}
window.localStorage.setItem("tryLogin", null);
},
isStayInPage: function () {
return false;
},
events: {
"click #backBtn": "backBtn",
"click #fblogin": "fbLogin",
"click #gpluslogin": "gplusLogin",
"click #resetBtn": "resetBtn"
},
resetBtn: function (e) {
e.preventDefault();
Profile.setKeySave(null);
window.localStorage.setItem("hello", null);
Backbone.history.loadUrl();
"click #fblogout": "fbLogout",
"click #gpluslogout": "gplusLogout"
},
backBtn: function (e) {
e.preventDefault();
@@ -35,91 +34,70 @@ define(['jquery', 'underscore', 'backbone', 'text!modules/sync/syncViewTemplate.
hello('facebook').login();
},
fbAfterLogin: function ()
{
/*
var self = this;
openFB.api({
path: '/me',
success: function (data) {
Profile.internalLoadProfile(data.id, function(retVal){
if(retVal == false)
Profile.createProfile(
data.id,
"fb",
data.name,
data.email,
data.gender,
function(){
//Backbone.history.loadUrl();
});
self.updateLoginBtn();
});
}});
*/
},
gplusLogin: function (e) {
var self = this;
e.preventDefault();
hello('google').login();
},
gPlusAfterLogin: function ()
{
/*
var self = this;
openGPlus.api({
path: 'people/me',
success: function (data) {
Profile.internalLoadProfile(data.id, function(retVal){
if(retVal == false)
Profile.createProfile(
data.id,
"gplus",
data.displayName,
data.emails[0].value,
data.gender,
function(){
//Backbone.history.loadUrl();
}
);
self.updateLoginBtn();
});
}});
*/
fbLogout: function (e) {
var self = this;
e.preventDefault();
hello('facebook').logout().then(function() {
Profile.resetProfile();
self.updateLoginBtn();
});
},
gplusLogout: function (e) {
var self = this;
e.preventDefault();
hello('google').logout().
then(function() {
Profile.resetProfile();
self.updateLoginBtn();
});
},
updateLoginBtn: function ()
{
if (Profile.isConnected()) {
if (Profile.isFbConnected()) {
this.$el.find("#fblogin").show();
this.$el.find("#gpluslogin").hide();
this.$el.find("#fblogin").removeClass("loginfb");
this.$el.find("#fblogin").addClass("logoutfb");
this.changeBtn("#fblogout", "inline-block!important");
this.changeBtn("#gpluslogout", "none");
this.changeBtn("#fblogin", "none");
this.changeBtn("#gpluslogin", "none");
}
if (Profile.isGPlusConnected()) {
this.$el.find("#gpluslogin").show();
this.$el.find("#fblogin").hide();
this.$el.find("#gpluslogin").removeClass("logingplus");
this.$el.find("#gpluslogin").addClass("logoutgplus");
this.changeBtn("#fblogout", "none");
this.changeBtn("#gpluslogout", "inline-block!important");
this.changeBtn("#fblogin", "none");
this.changeBtn("#gpluslogin", "none");
}
}
else
{
this.$el.find("#fblogin").removeClass("logoutfb");
this.$el.find("#fblogin").addClass("loginfb");
this.$el.find("#gpluslogin").removeClass("logoutgplus");
this.$el.find("#gpluslogin").addClass("logingplus");
this.changeBtn("#fblogout", "none");
this.changeBtn("#gpluslogout", "none");
this.changeBtn("#fblogin", "inline-block!important");
this.changeBtn("#gpluslogin", "inline-block!important");
}
},
changeBtn: function (selector, displayStyle)
{
var ele = this.$el.find(selector)[0];
ele.style.display = "";
ele.style.cssText = ele.style.cssText + " display: " + displayStyle + ";";
},
//render the content into div of view
render: function () {
var self = this;
//this.header.title = "pippo";
SyncView.__super__.render.call(this);
this.header.$el.append("<a id=\"backBtn\" href=\"\" data-role=\"button\" class=\"ui-btn-right\" data-icon=\"custom\">Indietro</a>");
this.header.$el.append("<a id=\"backBtn\" href=\"\" data-role=\"button\" class=\"nav-glyphish-example ui-btn-right ui-btn ui-icon-myHome ui-btn-icon-notext\" data-icon=\"custom\"></a>");
this.$el.append(this.header.$el);
this.$el.append(this.template({app: myManifest}));
+4 -3
View File
@@ -3,12 +3,13 @@
<div style="text-align: center;">
Qui puoi collegarti con l'account che preferisci<br>per avere la sincronizzazione dei tuoi dati su qualsiasi dispositivo che userai<br>
Scegli il tipo di account e premi il tasto qui sotto per effettuare il login<br><br>
<a id="fblogin" href="" class="loginfb"></a><br>
<a id="gpluslogin" href="" class="logingplus"></a>
<a id="fblogin" href="" class="zocial facebook" data-role="none" style="font-size: 14px; color: #fff;">Connettiti con Facebook</a>
<a id="fblogout" href="" class="zocial facebook" data-role="none" style="font-size: 14px; color: #fff;">Disconnettiti da Facebook</a><br><br>
<a id="gpluslogin" href="" class="zocial googleplus" data-role="none" style="font-size: 14px; color: #fff;">Connettiti con Google+</a>
<a id="gpluslogout" href="" class="zocial googleplus" data-role="none" style="font-size: 14px; color: #fff;">Disconnettiti da Google+</a>
<div data-role="popup" id="popupLogin" data-overlay-theme="a" data-theme="a" data-corners="false" data-tolerance="15,15">
<a href="#" data-rel="back" class="ui-btn ui-btn-b ui-corner-all ui-shadow ui-btn-a ui-icon-delete ui-btn-icon-notext ui-btn-right">Close</a>
<iframe id="urlLogin" src="" width="497" height="298" seamless=""></iframe>
</div>
<a id="resetBtn" href="" class="ui-btn ui-corner-all ui-shadow">Reset Account</a>
</div>
</div>
-253
View File
@@ -1,253 +0,0 @@
/**
* OpenFB is a micro-library that lets you integrate your JavaScript application with Facebook.
* OpenFB works for both BROWSER-BASED apps and CORDOVA/PHONEGAP apps.
* This library has no dependency: You don't need (and shouldn't use) the Facebook SDK with this library. Whe running in
* Cordova, you also don't need the Facebook Cordova plugin. There is also no dependency on jQuery.
* OpenFB allows you to login to Facebook and execute any Facebook Graph API request.
* @author Christophe Coenraets @ccoenraets
* @version 0.3
*/
var openFB = (function () {
var FB_LOGIN_URL = 'https://www.facebook.com/dialog/oauth',
// By default we store fbtoken in sessionStorage. This can be overridden in init()
tokenStore = window.sessionStorage,
fbAppId,
oauthRedirectURL,
// Because the OAuth login spans multiple processes, we need to keep the success/error handlers as variables
// inside the module instead of keeping them local within the login function.
loginSuccessHandler,
loginErrorHandler,
// Indicates if the app is running inside Cordova
runningInCordova,
// Used in the exit event handler to identify if the login has already been processed elsewhere (in the oauthCallback function)
loginProcessed;
document.addEventListener("deviceready", function () {
runningInCordova = true;
}, false);
/**
* Initialize the OpenFB module. You must use this function and initialize the module with an appId before you can
* use any other function.
* @param appId - The id of the Facebook app
* @param redirectURL - The OAuth redirect URL. Optional. If not provided, we use sensible defaults.
* @param store - The store used to save the Facebook token. Optional. If not provided, we use sessionStorage.
*/
function init(appId, redirectURL, store) {
fbAppId = appId;
if (redirectURL) oauthRedirectURL = redirectURL;
if (store) tokenStore = store;
}
/**
* Login to Facebook using OAuth. If running in a Browser, the OAuth workflow happens in a a popup window.
* If running in Cordova container, it happens using the In-App Browser. Don't forget to install the In-App Browser
* plugin in your Cordova project: cordova plugins add org.apache.cordova.inappbrowser.
* @param scope - The set of Facebook permissions requested
* @param success - Callback function to invoke when the login process succeeds
* @param error - Callback function to invoke when the login process fails
* @returns {*}
*/
function login(scope, success, error) {
var loginWindow,
startTime;
function loginWindowLoadStart(event) {
var url = event.url;
if (url.indexOf("access_token=") > 0 || url.indexOf("error=") > 0) {
// When we get the access token fast, the login window (inappbrowser) is still opening with animation
// in the Cordova app, and trying to close it while it's animating generates an exception. Wait a little...
var timeout = 600 - (new Date().getTime() - startTime);
setTimeout(function () {
loginWindow.close();
}, timeout > 0 ? timeout : 0);
oauthCallback(url);
}
}
function loginWindowExit() {
console.log('exit and remove listeners');
// Handle the situation where the user closes the login window manually before completing the login process
deferredLogin.reject({error: 'user_cancelled', error_description: 'User cancelled login process', error_reason: "user_cancelled"});
loginWindow.removeEventListener('loadstop', loginWindowLoadStart);
loginWindow.removeEventListener('exit', loginWindowExit);
loginWindow = null;
console.log('done removing listeners');
}
if (!fbAppId) {
return error({error: 'Facebook App Id not set.'});
}
scope = scope || '';
loginSuccessHandler = success;
loginErrorHandler = error;
loginProcessed = false;
logout();
// Check if an explicit oauthRedirectURL has been provided in init(). If not, infer the appropriate value
if (!oauthRedirectURL) {
if (runningInCordova) {
oauthRedirectURL = 'https://www.facebook.com/connect/login_success.html';
} else {
var origin = location.protocol + '//' + location.hostname + (location.port ? ':' + location.port : '');
// could also use 'var origin = window.location.origin' when enough browsers support it
oauthRedirectURL = origin + '/oauthcallback.html';
}
}
startTime = new Date().getTime();
var url = FB_LOGIN_URL + '?client_id=' + fbAppId + '&redirect_uri=' + oauthRedirectURL +
'&response_type=token&display=popup&scope=' + scope;
window.location.href = url;
//loginWindow = window.open(url, '_blank', 'location=no');
// If the app is running in Cordova, listen to URL changes in the InAppBrowser until we get a URL with an access_token or an error
if (runningInCordova) {
loginWindow.addEventListener('loadstart', loginWindowLoadStart);
loginWindow.addEventListener('exit', loginWindowExit);
}
// Note: if the app is running in the browser the loginWindow dialog will call back by invoking the
// oauthCallback() function. See oauthcallback.html for details.
}
/**
* Called either by oauthcallback.html (when the app is running the browser) or by the loginWindow loadstart event
* handler defined in the login() function (when the app is running in the Cordova/PhoneGap container).
* @param url - The oautchRedictURL called by Facebook with the access_token in the querystring at the ned of the
* OAuth workflow.
*/
function oauthCallback(url) {
// Parse the OAuth data received from Facebook
var queryString,
obj;
loginProcessed = true;
if (url.indexOf("access_token=") > 0) {
queryString = url.substr(url.indexOf('#') + 1);
obj = parseQueryString(queryString);
tokenStore['fbtoken'] = obj['access_token'];
if (loginSuccessHandler) loginSuccessHandler();
} else if (url.indexOf("error=") > 0) {
queryString = url.substring(url.indexOf('?') + 1, url.indexOf('#'));
obj = parseQueryString(queryString);
if (loginErrorHandler) loginErrorHandler(obj);
} else {
if (loginErrorHandler) loginErrorHandler();
}
}
/**
* Application-level logout: we simply discard the token.
*/
function logout() {
tokenStore['fbtoken'] = undefined;
}
function createHttpReq(callbackFn){
var request;
if (window.XDomainRequest) {
request = new window.XDomainRequest();
request.onload = callbackFn;
}
else {
request = new XMLHttpRequest();
request.onreadystatechange = callbackFn;
}
return request;
}
/**
* Lets you make any Facebook Graph API request.
* @param obj - Request configuration object. Can include:
* method: HTTP method: GET, POST, etc. Optional - Default is 'GET'
* path: path in the Facebook graph: /me, /me.friends, etc. - Required
* params: queryString parameters as a map - Optional
* success: callback function when operation succeeds - Optional
* error: callback function when operation fails - Optional
*/
function api(obj) {
var method = obj.method || 'GET',
params = obj.params || {},
url;
params['access_token'] = tokenStore['fbtoken'];
url = 'https://graph.facebook.com' + obj.path + '?' + toQueryString(params);
var xhr = createHttpReq( function() {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
if (obj.success) obj.success(JSON.parse(xhr.responseText));
} else {
var error = xhr.responseText ? JSON.parse(xhr.responseText).error : {message: 'An error has occurred'};
if (obj.error) obj.error(error);
}
}
});
xhr.open(method, url, true);
xhr.send();
}
/**
* Helper function to de-authorize the app
* @param success
* @param error
* @returns {*}
*/
function revokePermissions(success, error) {
return api({method: 'DELETE',
path: '/me/permissions',
success: function () {
tokenStore['fbtoken'] = undefined;
success();
},
error: error});
}
function parseQueryString(queryString) {
var qs = decodeURIComponent(queryString),
obj = {},
params = qs.split('&');
params.forEach(function (param) {
var splitter = param.split('=');
obj[splitter[0]] = splitter[1];
});
return obj;
}
function toQueryString(obj) {
var parts = [];
for (var i in obj) {
if (obj.hasOwnProperty(i)) {
parts.push(encodeURIComponent(i) + "=" + encodeURIComponent(obj[i]));
}
}
return parts.join("&");
}
// The public API
return {
init: init,
login: login,
logout: logout,
revokePermissions: revokePermissions,
api: api,
oauthCallback: oauthCallback
}
}());
-258
View File
@@ -1,258 +0,0 @@
/**
* openGPlus is a micro-library that lets you integrate your JavaScript application with GooglePlus.
* openGPlus works for both BROWSER-BASED apps and CORDOVA/PHONEGAP apps.
* This library has no dependency: You don't need (and shouldn't use) the Facebook SDK with this library. Whe running in
* Cordova, you also don't need the Facebook Cordova plugin. There is also no dependency on jQuery.
* openGPlus allows you to login to Facebook and execute any Facebook Graph API request.
* @author Denis Ironi @hexstudy
* @version 0.1
*/
var openGPlus = (function () {
var GPLUS_LOGIN_URL = 'https://accounts.google.com/o/oauth2/auth',
// By default we store fbtoken in sessionStorage. This can be overridden in init()
tokenStore = window.sessionStorage,
clientId,
oauthRedirectURL,
// Because the OAuth login spans multiple processes, we need to keep the success/error handlers as variables
// inside the module instead of keeping them local within the login function.
loginSuccessHandler,
loginErrorHandler,
// Indicates if the app is running inside Cordova
runningInCordova,
// Used in the exit event handler to identify if the login has already been processed elsewhere (in the oauthCallback function)
loginProcessed;
document.addEventListener("deviceready", function () {
runningInCordova = true;
}, false);
/**
* Initialize the openGPlus module. You must use this function and initialize the module with an appId before you can
* use any other function.
* @param appId - The id of the Facebook app
* @param redirectURL - The OAuth redirect URL. Optional. If not provided, we use sensible defaults.
* @param store - The store used to save the Facebook token. Optional. If not provided, we use sessionStorage.
*/
function init(appId, redirectURL, store) {
clientId = appId;
if (redirectURL) oauthRedirectURL = redirectURL;
if (store) tokenStore = store;
}
/**
* Login to Facebook using OAuth. If running in a Browser, the OAuth workflow happens in a a popup window.
* If running in Cordova container, it happens using the In-App Browser. Don't forget to install the In-App Browser
* plugin in your Cordova project: cordova plugins add org.apache.cordova.inappbrowser.
* @param scope - The set of Facebook permissions requested
* @param success - Callback function to invoke when the login process succeeds
* @param error - Callback function to invoke when the login process fails
* @returns {*}
*/
function login(scope, success, error) {
var loginWindow,
startTime;
function loginWindowLoadStart(event) {
var url = event.url;
if (url.indexOf("access_token=") > 0 || url.indexOf("error=") > 0) {
// When we get the access token fast, the login window (inappbrowser) is still opening with animation
// in the Cordova app, and trying to close it while it's animating generates an exception. Wait a little...
var timeout = 600 - (new Date().getTime() - startTime);
setTimeout(function () {
loginWindow.close();
}, timeout > 0 ? timeout : 0);
oauthCallback(url);
}
}
function loginWindowExit() {
console.log('exit and remove listeners');
// Handle the situation where the user closes the login window manually before completing the login process
deferredLogin.reject({error: 'user_cancelled', error_description: 'User cancelled login process', error_reason: "user_cancelled"});
loginWindow.removeEventListener('loadstop', loginWindowLoadStart);
loginWindow.removeEventListener('exit', loginWindowExit);
loginWindow = null;
console.log('done removing listeners');
}
if (!clientId) {
return error({error: 'Google Client Id not set.'});
}
scope = scope || '';
loginSuccessHandler = success;
loginErrorHandler = error;
loginProcessed = false;
logout();
// Check if an explicit oauthRedirectURL has been provided in init(). If not, infer the appropriate value
if (!oauthRedirectURL) {
if (runningInCordova) {
//oauthRedirectURL = 'https://www.facebook.com/connect/login_success.html';
} else {
var origin = location.protocol + '//' + location.hostname + (location.port ? ':' + location.port : '');
// could also use 'var origin = window.location.origin' when enough browsers support it
oauthRedirectURL = origin + '/oauthcallbackgplus.html';
}
}
startTime = new Date().getTime();
var url = GPLUS_LOGIN_URL + '?client_id=' + clientId + '&redirect_uri=' + oauthRedirectURL +
'&response_type=token&display=popup&scope=' + scope;
window.location.href = url;
/*
// If the app is running in Cordova, listen to URL changes in the InAppBrowser until we get a URL with an access_token or an error
if (runningInCordova) {
loginWindow.addEventListener('loadstart', loginWindowLoadStart);
loginWindow.addEventListener('exit', loginWindowExit);
}
*/
// Note: if the app is running in the browser the loginWindow dialog will call back by invoking the
// oauthCallback() function. See oauthcallback.html for details.
}
/**
* Called either by oauthcallback.html (when the app is running the browser) or by the loginWindow loadstart event
* handler defined in the login() function (when the app is running in the Cordova/PhoneGap container).
* @param url - The oautchRedictURL called by Facebook with the access_token in the querystring at the ned of the
* OAuth workflow.
*/
function oauthCallback(url) {
// Parse the OAuth data received from Facebook
var queryString,
obj;
loginProcessed = true;
if (url.indexOf("access_token=") > 0) {
queryString = url.substr(url.indexOf('#') + 1);
obj = parseQueryString(queryString);
tokenStore['gplustoken'] = obj['access_token'];
if (loginSuccessHandler) loginSuccessHandler();
} else if (url.indexOf("error=") > 0) {
queryString = url.substring(url.indexOf('?') + 1, url.indexOf('#'));
obj = parseQueryString(queryString);
if (loginErrorHandler) loginErrorHandler(obj);
} else {
if (loginErrorHandler) loginErrorHandler();
}
}
/**
* Application-level logout: we simply discard the token.
*/
function logout() {
tokenStore['gplustoken'] = undefined;
}
function createHttpReq(callbackFn){
var request;
if (window.XDomainRequest) {
request = new window.XDomainRequest();
request.onload = callbackFn;
}
else {
request = new XMLHttpRequest();
request.onreadystatechange = callbackFn;
}
return request;
}
/**
* Lets you make any Facebook Graph API request.
* @param obj - Request configuration object. Can include:
* method: HTTP method: GET, POST, etc. Optional - Default is 'GET'
* path: path in the Facebook graph: /me, /me.friends, etc. - Required
* params: queryString parameters as a map - Optional
* success: callback function when operation succeeds - Optional
* error: callback function when operation fails - Optional
*/
function api(obj) {
var method = obj.method || 'GET',
baseUrl = obj.baseUrl || 'https://www.googleapis.com/plus/v1/',
params = obj.params || {},
url;
params['access_token'] = tokenStore['gplustoken'];
url = baseUrl + obj.path + '?' + toQueryString(params);
//xhr.onreadystatechange =
var xhr = createHttpReq(function () {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
if (obj.success) obj.success(JSON.parse(xhr.responseText));
} else {
var error = xhr.responseText ? JSON.parse(xhr.responseText).error : {message: 'An error has occurred'};
if (obj.error) obj.error(error);
}
}
});
xhr.open(method, url, true);
xhr.send();
}
/**
* Helper function to de-authorize the app
* @param success
* @param error
* @returns {*}
*/
function revokePermissions(success, error) {
return api({
baseUrl: 'https://accounts.google.com/o/oauth2',
path: '/revoke',
params: { 'token': tokenStore['gplustoken'] },
success: function () {
tokenStore['gplustoken'] = undefined;
success();
},
error: error});
}
function parseQueryString(queryString) {
var qs = decodeURIComponent(queryString),
obj = {},
params = qs.split('&');
params.forEach(function (param) {
var splitter = param.split('=');
obj[splitter[0]] = splitter[1];
});
return obj;
}
function toQueryString(obj) {
var parts = [];
for (var i in obj) {
if (obj.hasOwnProperty(i)) {
parts.push(encodeURIComponent(i) + "=" + encodeURIComponent(obj[i]));
}
}
return parts.join("&");
}
// The public API
return {
init: init,
login: login,
logout: logout,
revokePermissions: revokePermissions,
api: api,
oauthCallback: oauthCallback
}
}());
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-1
View File
@@ -1 +0,0 @@
(function($){$.fn.extend({alphascroll:function(){return this.each(function(){var content=$(this),alphabet=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'],shortAlphabet=['a','d','g','j','m','p','s','w','z'],dividers=[],dividerClass,scrollbar='';$(content).find('.ui-li-divider').each(function(){dividerClass=$(this).html().toLowerCase();dividers.push(dividerClass);$(this).addClass(dividerClass);});function createScrollbar(){$(alphabet).each(function(index,value){if($.inArray(value,dividers)>-1){scrollbar+='<li id="alphascroll-'+value+'" class="alphascroll-item" unselectable="on">'+value.toUpperCase()+'</li>';}else{scrollbar+='<li id="alphascroll-'+value+'" unselectable="on">'+value.toUpperCase()+'</li>';}});$(content).wrap('<div />');var wrapper=$(content).parent();$(wrapper).prepend('<ul class="alphascroll">'+scrollbar+'</ul>');var alphascroll=$(content).closest('div').children('.alphascroll');$(alphascroll).bind('touchmove',function(event){event.preventDefault();var touch=event.originalEvent.touches[0]||event.originalEvent.changedTouches[0];alphaScroll(touch.pageY);});$(alphascroll).bind('mousedown',function(){$('.ui-page-active').bind('mousemove',function(event){$(this).css({"-webkit-user-select":"none","-moz-user-select":"none","-ms-user-select":"none","user-select":"none"});alphaScroll(event.pageY);});$('.ui-page-active').bind('mouseup',function(){$('.ui-page-active').unbind('mousemove');$(this).css({"-webkit-user-select":"text","-moz-user-select":"text","-ms-user-select":"text","user-select":"text"});});});if($(window).height()<=320){truncateScrollbar();}}$(window).bind('orientationchange',function(){$('.alphascroll').unwrap().remove();scrollbar='';createScrollbar();});function truncateScrollbar(){$('.alphascroll li').each(function(index,value){if($.inArray($(this).html().toLowerCase(),shortAlphabet)<0){$(this).html('&#183;').addClass('truncated');}});}function alphaScroll(y){$('.alphascroll-item').each(function(){if(!(y<=$(this).offset().top||y>=$(this).offset().top+$(this).outerHeight())){var scroll_id=$(this).attr('id'),letter=scroll_id.split('-'),target=$('.'+letter[1]),position=target.position(),header_height;if($('.ui-page-active [data-role="header"]').hasClass('ui-fixed-hidden')){header_height=0;}else{header_height=$('.ui-page-active [data-role="header"]').height();}$.mobile.silentScroll(position.top-header_height);}});}createScrollbar();});}});})(jQuery);
File diff suppressed because one or more lines are too long
+85 -63
View File
@@ -1,20 +1,46 @@
define(['jquery', 'underscore', 'backbone',
'modules/home/home', 'modules/faq/faq', 'modules/index/index', 'modules/category/category', 'modules/item/item',
'modules/about/about', 'modules/search/search', 'modules/search/found', 'modules/more/more', 'modules/note/note',
'modules/sync/sync', 'modules/converter/converter', 'modules/donation/donation', 'modules/settings/settings',
'modules/sync/sync', 'modules/donation/donation','modules/settings/settings',
'modules/debug/debug','modules/maps/maps',
'model/note/noteCollection', 'model/category/categoryCollection', 'model/categoryItem/categoryItemCollection',
'model/item/itemCollection', 'model/item/ingredientiCollection', 'model/categoryItem/foundItemCollection',
'libs/fastclick', 'classes/cache', 'jqm', 'jQueryPlugins'],
'classes/cache', 'libs/fastclick',
'jqm', 'jQueryPlugins'],
function ($, _, Backbone,
HomeView, FaqView, IndexView, CategoryView, ItemView,
AboutView, SearchView, FoundView, MoreView, NoteView,
SyncView, ConverterView, DonationView, SettingsView,
SyncView, DonationView, SettingsView,
DebugView, MapsView,
NoteCollection, CategoryCollection, CategoryItemCollection,
ItemCollection, IngredientiCollection, FoundItemCollection,
FastClick, Cache) {
Cache, FastClick) {
'use strict';
var Router = Backbone.Router.extend({
initialize: function (options) {
var self = this;
$(document).on("pagecontainershow", function (event, ui) {
try
{
ga('send', 'pageview',
{
'page': "/" + this.location.hash,
'title': document.title
});
}
catch (err)
{
}
if (self.activeView.onShowed !== null)
self.activeView.onShowed();
// if (self.fastClickInstance !== null)
// self.fastClickInstance.destroy();
// self.fastClickInstance = FastClick.attach(document.body);
});
},
//define routes and mapping route to the function
routes: {
'': 'showHome', //home view
@@ -27,13 +53,15 @@ define(['jquery', 'underscore', 'backbone',
'syncView(/)*founded': 'showSync',
'noteView': 'showNote',
'searchView': 'showSearch',
'mapsView': 'showMaps',
'debugView': 'showDebug',
'settingsView': 'showSettings',
'donationView': 'showDonation',
'search/:nresult/:categoria/:difficolta/*titolo': 'searchFn',
'search/:nresult/:categoria/:difficolta/:autore/*titolo': 'searchFn',
'converterView': 'showConverter',
'moreView': 'showMore',
'*actions': 'defaultAction' //default action
},
},
defaultAction: function (actions) {
this.showHome(actions);
},
@@ -85,10 +113,9 @@ define(['jquery', 'underscore', 'backbone',
},
showIndex: function (actions) {
Cache.checkCacheFromServer();
var categories = new CategoryCollection();
//var categories = new CategoryCollection();
// will render home view and navigate to homeView
var indexView = new IndexView({collection: categories});
var indexView = new IndexView();//{collection: categories});
indexView.render();
this.changePage(indexView);
//indexView.bind('renderCompleted:Categories', this.changePage, this);
@@ -96,20 +123,28 @@ define(['jquery', 'underscore', 'backbone',
showCategory: function (categoryName, categoryId) {
var categories = new CategoryItemCollection({categoryId: categoryId});
// will render home view and navigate to homeView
var categoryView = new CategoryView({categoryName: categoryName, collection: categories});
var categoryView = new CategoryView({categoryName: categoryName, categoryId: categoryId, collection: categories});
categoryView.render();
this.changePage(categoryView);
if(!categories.isCached() || categoryView.created){
$.mobile.loading('show', {
text: 'Caricamento categoria ' + categoryName + '...',
textVisible: true,
//theme: 'z',
html: ""
});
}
//categoryView.bind('renderCompleted:Category',this.changePage,this);
},
showItem: function (itemId) {
$.mobile.loading('show', {
text: 'Caricamento categoria ' + categoryName + '...',
text: 'Caricamento ricetta...',
textVisible: true,
//theme: 'z',
html: ""
});
//categoryView.bind('renderCompleted:Category',this.changePage,this);
},
showItem: function (itemId) {
var item = new ItemCollection({ricettaId: itemId});
var ingr = new IngredientiCollection({ricettaId: itemId});
// will render home view and navigate to homeView
@@ -120,25 +155,29 @@ define(['jquery', 'underscore', 'backbone',
//indexView.render();
itemView.bind('renderCompleted:Item', this.changePage, this);
},
showConverter: function () {
var converterView = new ConverterView();
converterView.render();
this.changePage(converterView);
},
showMore: function () {
var moreView = new MoreView();
moreView.render();
this.changePage(moreView);
},
showSearch: function () {
var categories = new CategoryCollection();
// will render home view and navigate to homeView
var searchView = new SearchView({collection: categories});
//indexView.render();
searchView.bind('renderCompleted:Search', this.changePage, this);
showDebug: function () {
var debugView = new DebugView();
debugView.render();
this.changePage(debugView);
},
searchFn: function (nresult, categoria, difficolta, titolo) {
var foundedItems = new FoundItemCollection({categoryId: categoria, difficolta: difficolta, titolo: titolo, nResult: nresult, indexItems: 0});
showMaps: function(){
var mapsView = new MapsView();
mapsView.render();
this.changePage(mapsView);
},
showSearch: function () {
var searchView = new SearchView();
searchView.render();
this.changePage(searchView);
},
searchFn: function (nresult, categoria, difficolta, autore, titolo) {
var foundedItems = new FoundItemCollection({categoryId: categoria, difficolta: difficolta, titolo: titolo, autore: autore, nResult: nresult, indexItems: 0});
var foundView = new FoundView({collection: foundedItems});
foundView.render();
@@ -151,52 +190,35 @@ define(['jquery', 'underscore', 'backbone',
html: ""
});
},
init: true,
fastClickInstance: null,
activeView: null,
//1. changePage will insert view into DOM and then call changePage to enhance and transition
//2. for the first page, jQuery mobile will present and enhance automatically
//3. for the other page, we will call $.mobile.changePage() to enhance page and make transition
//4. argument 'view' is passed from event trigger
changePage: function (view) {
var self = this;
//append to dom
$('body').append(view.$el);
if (view.created === true)
{
$('body').append(view.$el);
}
if (this.activeView !== null &&
this.activeView.onClosing !== null)
this.activeView.onClosing();
$.mobile.pageContainer.pagecontainer("change", $(view.el), {changeHash: false});
FastClick.attach(document.body);
var lastView = this.activeView;
this.activeView = view;
$(":jqmData(role='page'):last").on("pageshow", function (event) {
if (view.onShowed !== null)
view.onShowed();
});
if (lastView !== null &&
lastView.onClosed !== null)
lastView.onClosed();
$('input[type=radio].star').rating({
callback: function (value, link) {
var tip = $('#hover-test');
if (value === undefined)
{
$('#hover-test').html("Nessuna" || 'value: ');
}
else
$('#hover-test').html(link.title || 'value: ' + value);
},
focus: function (value, link) {
var tip = $('#hover-test');
tip[0].data = tip[0].data || tip.html();
tip.html(link.title || 'value: ' + value);
}
// ,
// blur: function(value, link){
// var tip = $('#hover-test');
// $('#hover-test').html(tip[0].data || '');
// }
});
if (!this.init) {
} else {
this.init = false;
}
if (this.activeView.onShowing !== null)
this.activeView.onShowing();
}
});
+257
View File
@@ -0,0 +1,257 @@
<!DOCTYPE html>
<html>
<head>
<title>Mappa Spacciatori</title>
<meta charset="ISO-8859-1" />
<meta name="google" value="notranslate" />
<meta http-equiv="expires" content="0">
<meta http-equiv="Pragma" content="no-cache">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="format-detection" content="telephone=no">
<meta name="viewport" content="width=device-width, initial-scale=1, minimal-ui"/>
<meta http-equiv="Access-Control-Allow-Origin" content="*"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?libraries=places"></script>
</head>
<body>
<style>
.controls {
margin-top: 10px;
border: 1px solid transparent;
border-radius: 2px 0 0 2px;
box-sizing: border-box;
-moz-box-sizing: border-box;
height: 32px;
outline: none;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
#pac-input {
background-color: #fff;
font-family: Roboto;
font-size: 15px;
font-weight: 300;
margin-left: 12px;
padding: 0 11px 0 13px;
text-overflow: ellipsis;
width: 300px;
}
#pac-input:focus {
border-color: #4d90fe;
}
.pac-container {
font-family: Roboto;
}
</style>
<script>
var map = undefined;
var defaultLatLng = new google.maps.LatLng(45.4654219, 9.1859243); // Default to Milan
var myMakers = [];
var iconPM = {
url: "http://app.gruppolapastamadre.it/icon.png",
scaledSize: new google.maps.Size(24, 24)
};
function _makeMarker(ele,key){
var marker = new google.maps.Marker({
position: new google.maps.LatLng(ele.Latitudine, ele.Longitudine),
icon: iconPM,
//label: ele.Name,
title: ele.Name,
map: self.map
});
if(!myMakers[key])
myMakers[key] = [];
myMakers[key][ele.ID] = marker;
var tipopm = "";
if(ele.TipoPM==1){tipopm = "Pasta Madre Solida"} else if(ele.TipoPM==2){tipopm = 'Li.Co.Li.'}else{tipopm = 'Entrambi'}
var infowindow = new google.maps.InfoWindow({
content: '<div id="content"><div id="siteNotice"></div><h3 id="firstHeading" class="firstHeading"> ' + ele.Name + '</h3><div id="bodyContent"><p><i>Località:</i> '+ ele.Indirizzo +'<br><i>Tipo di Lievito:</i> ' + tipopm + '<br><i>Contatta:</i> <a href="mailto:'+ele.Email+'">'+ ele.Email + '</a></p></div></div>'
});
marker.addListener('click', function() {
infowindow.open(self.map, marker);
});
};
function _centerControl(controlDiv, map) {
var self = this;
// Set CSS for the control border.
var controlUI = document.createElement('div');
controlUI.style.backgroundColor = '#fff';
controlUI.style.border = '2px solid #fff';
controlUI.style.borderRadius = '3px';
controlUI.style.boxShadow = '0 2px 6px rgba(0,0,0,.3)';
controlUI.style.cursor = 'pointer';
controlUI.style.marginTop = '10px';
controlUI.style.marginLeft = '15px';
controlUI.style.textAlign = 'center';
controlUI.title = 'Click to recenter the map';
controlDiv.appendChild(controlUI);
// Set CSS for the control interior.
var controlText = document.createElement('div');
controlText.style.color = 'rgb(25,25,25)';
controlText.style.fontFamily = 'Roboto,Arial,sans-serif';
controlText.style.fontSize = '16px';
//controlText.style.lineHeight = '32px';
controlText.style.padding = '4px';
// controlText.style.paddingRight = '5px';
controlText.innerHTML = 'Mia Posizione';
controlUI.appendChild(controlText);
// Setup the click event listeners: simply set the map to Chicago.
controlUI.addEventListener('click', function() {
if ( navigator.geolocation ) {
function success(pos) {
// Location found, show map with these coordinates
map.setCenter(new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude));
}
function fail(error) {
map.setCenter(defaultLatLng); // Failed to find location, show default map
}
// Find the users current position. Cache the location for 5 minutes, timeout after 6 seconds
navigator.geolocation.getCurrentPosition(success, fail, {maximumAge: 500000, enableHighAccuracy:true, timeout: 6000});
} else {
map.setCenter(defaultLatLng); // Failed to find location, show default map
}
});
};
function _drawMap(LatLng){
var myOptions = {
zoom: 10,
center: LatLng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
streetViewControl: false,
mapTypeControl: false,
zoomControlOptions: {
position: google.maps.ControlPosition.RIGHT_CENTER
},
};
$("#map-canvas").width(document.documentElement.clientWidth - 32/*Padding content*/);
$("#map-canvas").height(document.documentElement.clientHeight - 151 - $('#searchPanel').height());
map = new google.maps.Map($("#map-canvas")[0], myOptions);
// Create the search box and link it to the UI element.
var input = $("#pac-input")[0];
var searchBox = new google.maps.places.SearchBox(input);
self.map.controls[google.maps.ControlPosition.TOP_CENTER].push(input);
var centerControlDiv = document.createElement('div');
var centerControl = self._centerControl(centerControlDiv, self.map);
//centerControlDiv.index = 4;
map.controls[google.maps.ControlPosition.LEFT_BOTTOM].push(centerControlDiv);
var markers = [];
// [START region_getplaces]
// Listen for the event fired when the user selects a prediction and retrieve
// more details for that place.
searchBox.addListener('places_changed', function() {
var places = searchBox.getPlaces();
if (places.length == 0) {
return;
}
// Clear out the old markers.
markers.forEach(function(marker) {
marker.setMap(null);
});
markers = [];
// For each place, get the icon, name and location.
var bounds = new google.maps.LatLngBounds();
places.forEach(function(place) {
var icon = {
url: place.icon,
size: new google.maps.Size(71, 71),
origin: new google.maps.Point(0, 0),
anchor: new google.maps.Point(17, 34),
scaledSize: new google.maps.Size(25, 25)
};
// Create a marker for each place.
markers.push(new google.maps.Marker({
map: self.map,
icon: icon,
title: place.name,
position: place.geometry.location
}));
if (place.geometry.viewport) {
// Only geocodes have viewport.
bounds.union(place.geometry.viewport);
} else {
bounds.extend(place.geometry.location);
}
});
map.fitBounds(bounds);
});
var iconPM = {
url: "http://app.gruppolapastamadre.it/icon.png",
scaledSize: new google.maps.Size(24, 24)
};
self.map.addListener('bounds_changed', function() {
var bound = map.getBounds();
searchBox.setBounds(bound);
var latLngFrom = bound.getNorthEast();
var latLngTo = bound.getSouthWest();
$.ajax({
url: "http://dev.gruppolapastamadre.it/Service/api/spacciatori/bound/" + latLngFrom.lat() + "/"+ latLngFrom.lng() + "/" + latLngTo.lat() + "/"+ latLngTo.lng(),
//dataType: "json",
//async: false,
type: 'GET',
success: function (resp) {
resp.forEach(function(ele, index){
var key = "|" + ele.Latitudine+ "|" + ele.Longitudine+ "|";
if(!myMakers[key])
{
self._makeMarker(ele, key);
}
else if(!myMakers[key][ele.ID])
{
ele.Latitudine = parseFloat(ele.Latitudine) + (Math.random() / 500);
ele.Longitudine = parseFloat(ele.Longitudine) + (Math.random() / 500);
self._makeMarker(ele, key);
}
});
}
});
});
$("#pac-input").show();
}
$( window ).resize( function(){
$("#map-canvas").width(document.documentElement.clientWidth - 32/*Padding content*/);
$("#map-canvas").height(document.documentElement.clientHeight - 151 - self.$el.find('#searchPanel').height());
});
if ( navigator.geolocation ) {
function success(pos) {
// Location found, show map with these coordinates
_drawMap(new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude));
}
function fail(error) {
_drawMap(defaultLatLng); // Failed to find location, show default map
}
// Find the users current position. Cache the location for 5 minutes, timeout after 6 seconds
navigator.geolocation.getCurrentPosition(success, fail, {maximumAge: 500000, enableHighAccuracy:true, timeout: 6000});
} else {
_drawMap(defaultLatLng); // No geolocation support, show default map
}
</script>
<input id="pac-input" data-role="none" class="controls" type="text" placeholder="Ricerca località..." style="display:none;">
<div id="map-canvas">
<!-- map loads here... -->
</div>
</body>
</html>
-4
View File
@@ -3,11 +3,7 @@
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group>
<file>file:/E:/Sviluppo/IlLievitario/WebClient_Manut/js/router.js</file>
<file>file:/E:/Sviluppo/IlLievitario/WebClient_Manut/js/modules/search/foundViewTemplate.html</file>
<file>file:/E:/Sviluppo/IlLievitario/WebClient_Manut/js/model/categoryItem/foundItemCollection.js</file>
<file>file:/E:/Sviluppo/IlLievitario/WebClient_Manut/js/modules/search/search.js</file>
<file>file:/E:/Sviluppo/IlLievitario/WebClient_Manut/js/manifest.js</file>
<file>file:/E:/Sviluppo/IlLievitario/WebClient_Manut/js/modules/search/found.js</file>
</group>
</open-files>
+7874 -3726
View File
File diff suppressed because one or more lines are too long
+27 -26
View File
@@ -1,30 +1,31 @@
<!DOCTYPE html>
<html>
<head>
<title>Il Lievitario</title>
<meta name="google" value="notranslate" />
<meta http-equiv="expires" content="0">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="X-UA-Compatible" content="IE=9">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="format-detection" content="telephone=no">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.3/jquery.mobile-1.4.3.min.css" >
<link rel="stylesheet" href="css/style.min.<?php echo filemtime('css/style.min.css'); ?>.css">
<link rel="shortcut icon" sizes="196x196" href="https://dl.dropboxusercontent.com/s/l26w7lk0zwnpehf/Icon_Android196.png">
<link rel="apple-touch-icon" href="https://dl.dropboxusercontent.com/s/9cc174ato4hckl5/Icon.png" />
<link rel="apple-touch-icon" sizes="72x72" href="https://dl.dropboxusercontent.com/s/onehseqh6cusbo0/Icon~ipad.png" />
<link rel="apple-touch-icon" sizes="114x114" href="https://dl.dropboxusercontent.com/s/tcxl91zd502mapa/Icon%402x.png" />
<link rel="apple-touch-icon" sizes="144x144" href="https://dl.dropboxusercontent.com/s/pj3fk1lgc4cefwx/Icon~ipad%402x.png" />
<meta name="viewport" content="width=device-width, initial-scale=1, minimal-ui"/>
<meta http-equiv="Access-Control-Allow-Origin" content="*"/>
</head>
<body style="background-color: #1d1d1d;">
<div id="loadingFrm" style="text-align: center;">
<div class="loadingSfondo">
<div class="loadingText">
<div style="color: #ffffff;"><b>Caricamento...</b></div>
<head>
<title>Il Lievitario</title>
<meta name="google" value="notranslate" />
<meta http-equiv="expires" content="0">
<meta http-equiv="Pragma" content="no-cache">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="format-detection" content="telephone=no">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" >
<link rel="stylesheet" href="css/style.min.<?php echo filemtime('css/style.min.css'); ?>.css">
<link href='http://fonts.googleapis.com/css?family=Pompiere' rel='stylesheet' type='text/css'>
<link rel="shortcut icon" sizes="196x196" href="https://dl.dropboxusercontent.com/s/l26w7lk0zwnpehf/Icon_Android196.png">
<link rel="apple-touch-icon" href="https://dl.dropboxusercontent.com/s/9cc174ato4hckl5/Icon.png" />
<link rel="apple-touch-icon" sizes="72x72" href="https://dl.dropboxusercontent.com/s/onehseqh6cusbo0/Icon~ipad.png" />
<link rel="apple-touch-icon" sizes="114x114" href="https://dl.dropboxusercontent.com/s/tcxl91zd502mapa/Icon%402x.png" />
<link rel="apple-touch-icon" sizes="144x144" href="https://dl.dropboxusercontent.com/s/pj3fk1lgc4cefwx/Icon~ipad%402x.png" />
<meta name="viewport" content="width=device-width, initial-scale=1, minimal-ui"/>
<meta http-equiv="Access-Control-Allow-Origin" content="*"/>
</head>
<body style="background-color: #3b5998;">
<div id="loadingFrm" style="text-align: center;">
<div class="loadingSfondo"></div><br>
<div style="color: #ffffff;">
<b>Il Lievitario</b><br><br>
<i>...Caricamento in corso...</i>
</div>
</div>
</div>
</body>
</body>
</html>
+74
View File
@@ -0,0 +1,74 @@
<!DOCTYPE html>
<html>
<head>
<title>Il Lievitario</title>
<meta name="google" value="notranslate" />
<meta http-equiv="expires" content="0">
<meta http-equiv="Pragma" content="no-cache">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="format-detection" content="telephone=no">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" >
<link rel="stylesheet" href="css/style.min.<?php echo filemtime('css/style.min.css'); ?>.css">
<link href='http://fonts.googleapis.com/css?family=Pompiere' rel='stylesheet' type='text/css'>
<link rel="shortcut icon" sizes="196x196" href="https://dl.dropboxusercontent.com/s/l26w7lk0zwnpehf/Icon_Android196.png">
<link rel="apple-touch-icon" href="https://dl.dropboxusercontent.com/s/9cc174ato4hckl5/Icon.png" />
<link rel="apple-touch-icon" sizes="72x72" href="https://dl.dropboxusercontent.com/s/onehseqh6cusbo0/Icon~ipad.png" />
<link rel="apple-touch-icon" sizes="114x114" href="https://dl.dropboxusercontent.com/s/tcxl91zd502mapa/Icon%402x.png" />
<link rel="apple-touch-icon" sizes="144x144" href="https://dl.dropboxusercontent.com/s/pj3fk1lgc4cefwx/Icon~ipad%402x.png" />
<meta name="viewport" content="width=device-width, initial-scale=1, minimal-ui"/>
<meta http-equiv="Access-Control-Allow-Origin" content="*"/>
<script type='text/javascript' src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type='text/javascript' src="js/common.min.js"></script>
<script type='text/javascript' src="js/plugins/freewall.js"></script>
</head>
<body style="background-color: #3b5998;">
<div>
<div id="menuHomeMetro">
<div class="itemMenuHomeMetro loginClass">
<div>
<a href="#settingsView" data-role="none" style=""></a>
<span>Profilo</span>
</div>
</div>
<div class="itemMenuHomeMetro indexClass">
<div>
<a href="#indexView" data-role="none"></a>
<span>Indice</span>
</div>
</div>
<div class="itemMenuHomeMetro searchClass">
<div>
<a href="#searchView" data-role="none"></a>
<span>Ricerca</span>
</div>
</div>
<div class="itemMenuHomeMetro blogClass">
<div>
<a href="http://blog.gruppolapastamadre.it" data-role="none"></a>
<span>Blog</span>
</div>
</div>
</div>
</div>
<script type="text/javascript">
freeWall = new freewall("#menuHomeMetro");
freeWall.reset({
selector: '.itemMenuHomeMetro',
animate: true,
cellW: function(){
return 100;
},
cellH: function(){
return 100;
},
onResize: function () {
//this.refresh();
this.fitWidth();
}
});
freeWall.fitWidth();
</script>
</body>
</html>