| @@ -485,7 +485,7 @@ | |||
| </section> | |||
| </div> | |||
| <div id=""> | |||
| <div class="services-wrap"> | |||
| <section id="services" class="services clearfix general-section"> | |||
| <!-- <div class="section-triangle-grey"></div> --> | |||
| <div class="section-title"> | |||
| @@ -565,7 +565,7 @@ | |||
| </section> | |||
| </div> | |||
| <div id="services-wrap"> | |||
| <div class="services-wrap"> | |||
| <section id="services" class="services clearfix general-section"> | |||
| <div class="section-triangle-grey"></div> | |||
| <div class="section-title"> | |||
| @@ -641,7 +641,7 @@ | |||
| </section> | |||
| </div> | |||
| <div id="services-wrap"> | |||
| <div class="services-wrap"> | |||
| <section id="services" class="services clearfix general-section"> | |||
| <div class="section-triangle-grey"></div> | |||
| <div class="section-title"> | |||
| @@ -717,7 +717,7 @@ | |||
| </section> | |||
| </div> | |||
| <div id=""> | |||
| <div class="services-wrap"> | |||
| <section id="services" class="services clearfix general-section"> | |||
| <div class="section-triangle-grey"></div> | |||
| <div class="section-title"> | |||
| @@ -797,7 +797,7 @@ | |||
| </section> | |||
| </div> | |||
| <div id=""> | |||
| <div class="services-wrap"> | |||
| <section id="services" class="services clearfix general-section"> | |||
| <div class="section-triangle-grey"></div> | |||
| <div class="section-title"> | |||
| @@ -876,7 +876,7 @@ | |||
| </section> | |||
| </div> | |||
| <div id=""> | |||
| <div class="services-wrap"> | |||
| <section id="services" class="services clearfix general-section"> | |||
| <div class="section-triangle-grey"></div> | |||
| <div class="section-title"> | |||
| @@ -1,4 +0,0 @@ | |||
| node_modules | |||
| build | |||
| .sizecache.json | |||
| *.log* | |||
| @@ -1,2 +0,0 @@ | |||
| build | |||
| node_modules | |||
| @@ -1,12 +0,0 @@ | |||
| { | |||
| "curly": true, | |||
| "eqeqeq": true, | |||
| "expr": true, | |||
| // "maxlen": 130, | |||
| "newcap": true, | |||
| "noarg": true, | |||
| "nonbsp": true, | |||
| "trailing": true, | |||
| "undef": true, | |||
| "unused": true | |||
| } | |||
| @@ -1,11 +0,0 @@ | |||
| softTabs = false | |||
| tabSize = 2 | |||
| [ text.plain ] | |||
| softWrap = true | |||
| wrapColumn = "Use Window Frame" | |||
| softTabs = true | |||
| tabSize = 4 | |||
| [ "*.md" ] | |||
| fileType = "text.plain" | |||
| @@ -1,10 +0,0 @@ | |||
| language: node_js | |||
| node_js: | |||
| - 0.10 | |||
| before_script: | |||
| - npm install -g grunt-cli | |||
| script: grunt ci --verbose | |||
| env: | |||
| global: | |||
| - secure: HRae0kyIDDuhonvMi2SfEl1WJb4K/wX8WmzT9YkxFbmWwLjiOMkmqyuEyi76DbTC1cb9o7WwGVgbP1DhSm6n6m0Lz+PSzpprBN4QZuJc56jcc+tBA6gM81hyUufaTT0yUWz112Bu06kWIAs44w5PtG0FYZR0CuIN8fQvZi8fXCQ= | |||
| - secure: c+M5ECIfxDcVrr+ZlqgpGjv8kVM/hxiz3ACMCn4ZkDiaeq4Rw0wWIGZYL6aV5fhsoHgzEQ/XQPca8xKs3Umr7R3b6Vr3AEyFnW+LP67K/1Qbz4Pi3PvhDH/h4rvK7fOoTqTDCVVDEH3v4pefsz2VaKemG4iBKxrcof5aR4Rjopk= | |||
| @@ -1,73 +0,0 @@ | |||
| HEAD | |||
| ----- | |||
| 1.4.1 | |||
| ----- | |||
| - Added support for CommonJS. | |||
| - Added support for package managers: Jam (http://jamjs.org), volo (http://volojs.org), Component (http://component.io), jspm (http://jspm.io). | |||
| - The expires option now interpretes fractions of numbers (e.g. days) correctly. | |||
| 1.4.0 | |||
| ----- | |||
| - Support for AMD. | |||
| - Removed deprecated method `$.cookie('name', null)` for deleting a cookie, | |||
| use `$.removeCookie('name')`. | |||
| - `$.cookie('name')` now returns `undefined` in case such cookie does not exist | |||
| (was `null`). Because the return value is still falsy, testing for existence | |||
| of a cookie like `if ( $.cookie('foo') )` keeps working without change. | |||
| - Renamed bower package definition (component.json -> bower.json) for usage | |||
| with up-to-date bower. | |||
| - Badly encoded cookies no longer throw exception upon reading but do return | |||
| undefined (similar to how we handle JSON parse errors with json = true). | |||
| - Added conversion function as optional last argument for reading, | |||
| so that values can be changed to a different representation easily on the fly. | |||
| Useful for parsing numbers for instance: | |||
| ```javascript | |||
| $.cookie('foo', '42'); | |||
| $.cookie('foo', Number); // => 42 | |||
| ``` | |||
| 1.3.1 | |||
| ----- | |||
| - Fixed issue where it was no longer possible to check for an arbitrary cookie, | |||
| while json is set to true, there was a SyntaxError thrown from JSON.parse. | |||
| - Fixed issue where RFC 2068 decoded cookies were not properly read. | |||
| 1.3.0 | |||
| ----- | |||
| - Configuration options: `raw`, `json`. Replaces raw option, becomes config: | |||
| ```javascript | |||
| $.cookie.raw = true; // bypass encoding/decoding the cookie value | |||
| $.cookie.json = true; // automatically JSON stringify/parse value | |||
| ``` | |||
| Thus the default options now cleanly contain cookie attributes only. | |||
| - Removing licensing under GPL Version 2, the plugin is now released under MIT License only | |||
| (keeping it simple and following the jQuery library itself here). | |||
| - Bugfix: Properly handle RFC 2068 quoted cookie values. | |||
| - Added component.json for bower. | |||
| - Added jQuery plugin package manifest. | |||
| - `$.cookie()` returns all available cookies. | |||
| 1.2.0 | |||
| ----- | |||
| - Adding `$.removeCookie('foo')` for deleting a cookie, using `$.cookie('foo', null)` is now deprecated. | |||
| 1.1 | |||
| --- | |||
| - Adding default options. | |||
| @@ -1,51 +0,0 @@ | |||
| ##Issues | |||
| - Report issues or feature requests on [GitHub Issues](https://github.com/carhartl/jquery-cookie/issues). | |||
| - If reporting a bug, please add a [simplified example](http://sscce.org/). | |||
| ##Pull requests | |||
| - Create a new topic branch for every separate change you make. | |||
| - Create a test case if you are fixing a bug or implementing an important feature. | |||
| - Make sure the build runs successfully. | |||
| ## Development | |||
| ###Tools | |||
| We use the following tools for development: | |||
| - [Qunit](http://qunitjs.com/) for tests. | |||
| - [NodeJS](http://nodejs.org/download/) required to run grunt. | |||
| - [Grunt](http://gruntjs.com/getting-started) for task management. | |||
| ###Getting started | |||
| Install [NodeJS](http://nodejs.org/). | |||
| Install globally grunt-cli using the following command: | |||
| $ npm install -g grunt-cli | |||
| Browse to the project root directory and install the dev dependencies: | |||
| $ npm install -d | |||
| To execute the build and tests run the following command in the root of the project: | |||
| $ grunt | |||
| You should see a green message in the console: | |||
| Done, without errors. | |||
| ###Tests | |||
| You can also run the tests in the browser. | |||
| Start a test server from the project root: | |||
| $ grunt connect:tests | |||
| This will automatically open the test suite at http://127.0.0.1:9998 in the default browser, with livereload enabled. | |||
| _Note: we recommend cleaning all the browser cookies before running the tests, that can avoid false positive failures._ | |||
| ###Automatic build | |||
| You can build automatically after a file change using the following command: | |||
| $ grunt watch | |||
| @@ -1,168 +0,0 @@ | |||
| /*jshint node:true, quotmark:single */ | |||
| 'use strict'; | |||
| module.exports = function (grunt) { | |||
| grunt.initConfig({ | |||
| pkg: grunt.file.readJSON('package.json'), | |||
| qunit: { | |||
| all: 'test/index.html' | |||
| }, | |||
| jshint: { | |||
| options: { | |||
| jshintrc: true | |||
| }, | |||
| grunt: 'Gruntfile.js', | |||
| source: 'src/**/*.js', | |||
| tests: 'test/**/*.js' | |||
| }, | |||
| uglify: { | |||
| options: { | |||
| banner: '/*! <%= pkg.name %> v<%= pkg.version %> | <%= pkg.license %> */\n' | |||
| }, | |||
| build: { | |||
| files: { | |||
| 'build/jquery.cookie-<%= pkg.version %>.min.js': 'src/jquery.cookie.js' | |||
| } | |||
| } | |||
| }, | |||
| watch: { | |||
| options: { | |||
| livereload: true | |||
| }, | |||
| files: '{src,test}/**/*.js', | |||
| tasks: 'default' | |||
| }, | |||
| compare_size: { | |||
| files: [ | |||
| 'build/jquery.cookie-<%= pkg.version %>.min.js', | |||
| 'src/jquery.cookie.js' | |||
| ], | |||
| options: { | |||
| compress: { | |||
| gz: function (fileContents) { | |||
| return require('gzip-js').zip(fileContents, {}).length; | |||
| } | |||
| } | |||
| } | |||
| }, | |||
| connect: { | |||
| saucelabs: { | |||
| options: { | |||
| port: 9999, | |||
| base: ['.', 'test'] | |||
| } | |||
| }, | |||
| tests: { | |||
| options: { | |||
| port: 9998, | |||
| base: ['.', 'test'], | |||
| open: 'http://127.0.0.1:9998', | |||
| keepalive: true, | |||
| livereload: true | |||
| } | |||
| } | |||
| }, | |||
| 'saucelabs-qunit': { | |||
| all: { | |||
| options: { | |||
| urls: ['http://127.0.0.1:9999'], | |||
| build: process.env.TRAVIS_JOB_ID, | |||
| browsers: [ | |||
| // iOS | |||
| { | |||
| browserName: 'iphone', | |||
| platform: 'OS X 10.9', | |||
| version: '7.1' | |||
| }, | |||
| { | |||
| browserName: 'ipad', | |||
| platform: 'OS X 10.9', | |||
| version: '7.1' | |||
| }, | |||
| // Android | |||
| { | |||
| browserName: 'android', | |||
| platform: 'Linux', | |||
| version: '4.3' | |||
| }, | |||
| // OS X | |||
| { | |||
| browserName: 'safari', | |||
| platform: 'OS X 10.9', | |||
| version: '7' | |||
| }, | |||
| { | |||
| browserName: 'safari', | |||
| platform: 'OS X 10.8', | |||
| version: '6' | |||
| }, | |||
| { | |||
| browserName: 'firefox', | |||
| platform: 'OS X 10.9', | |||
| version: '28' | |||
| }, | |||
| // Windows | |||
| { | |||
| browserName: 'internet explorer', | |||
| platform: 'Windows 8.1', | |||
| version: '11' | |||
| }, | |||
| { | |||
| browserName: 'internet explorer', | |||
| platform: 'Windows 8', | |||
| version: '10' | |||
| }, | |||
| { | |||
| browserName: 'internet explorer', | |||
| platform: 'Windows 7', | |||
| version: '11' | |||
| }, | |||
| { | |||
| browserName: 'internet explorer', | |||
| platform: 'Windows 7', | |||
| version: '10' | |||
| }, | |||
| { | |||
| browserName: 'internet explorer', | |||
| platform: 'Windows 7', | |||
| version: '9' | |||
| }, | |||
| { | |||
| browserName: 'internet explorer', | |||
| platform: 'Windows 7', | |||
| version: '8' | |||
| }, | |||
| { | |||
| browserName: 'firefox', | |||
| platform: 'Windows 7', | |||
| version: '29' | |||
| }, | |||
| { | |||
| browserName: 'chrome', | |||
| platform: 'Windows 7', | |||
| version: '34' | |||
| }, | |||
| // Linux | |||
| { | |||
| browserName: 'firefox', | |||
| platform: 'Linux', | |||
| version: '29' | |||
| } | |||
| ] | |||
| } | |||
| } | |||
| } | |||
| }); | |||
| // Loading dependencies | |||
| for (var key in grunt.file.readJSON('package.json').devDependencies) { | |||
| if (key !== 'grunt' && key.indexOf('grunt') === 0) { | |||
| grunt.loadNpmTasks(key); | |||
| } | |||
| } | |||
| grunt.registerTask('default', ['jshint', 'qunit', 'uglify', 'compare_size']); | |||
| grunt.registerTask('saucelabs', ['connect:saucelabs', 'saucelabs-qunit']); | |||
| grunt.registerTask('ci', ['jshint', 'qunit', 'saucelabs']); | |||
| }; | |||
| @@ -1,20 +0,0 @@ | |||
| Copyright 2014 Klaus Hartl | |||
| Permission is hereby granted, free of charge, to any person obtaining | |||
| a copy of this software and associated documentation files (the | |||
| "Software"), to deal in the Software without restriction, including | |||
| without limitation the rights to use, copy, modify, merge, publish, | |||
| distribute, sublicense, and/or sell copies of the Software, and to | |||
| permit persons to whom the Software is furnished to do so, subject to | |||
| the following conditions: | |||
| The above copyright notice and this permission notice shall be | |||
| included in all copies or substantial portions of the Software. | |||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | |||
| EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | |||
| MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | |||
| NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE | |||
| LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION | |||
| OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION | |||
| WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |||
| @@ -1,162 +0,0 @@ | |||
| # IMPORTANT! | |||
| This project was moved to https://github.com/js-cookie/js-cookie, check [the discussion](https://github.com/carhartl/jquery-cookie/issues/349). | |||
| New issues should be opened at https://github.com/js-cookie/js-cookie/issues | |||
| # jquery.cookie [](https://travis-ci.org/carhartl/jquery-cookie) [](https://codeclimate.com/github/carhartl/jquery-cookie) | |||
| A simple, lightweight jQuery plugin for reading, writing and deleting cookies. | |||
| **If you're viewing this, you're reading the documentation for the old repository. | |||
| [View documentation for the latest backwards compatible release (1.5.1).](https://github.com/js-cookie/js-cookie/tree/v1.5.1)** | |||
| ## Build Status Matrix | |||
| [](https://saucelabs.com/u/jquery-cookie) | |||
| ## Installation | |||
| Include script *after* the jQuery library (unless you are packaging scripts somehow else): | |||
| ```html | |||
| <script src="/path/to/jquery.cookie.js"></script> | |||
| ``` | |||
| **Do not include the script directly from GitHub (http://raw.github.com/...).** The file is being served as text/plain and as such being blocked | |||
| in Internet Explorer on Windows 7 for instance (because of the wrong MIME type). Bottom line: GitHub is not a CDN. | |||
| The plugin can also be loaded as AMD or CommonJS module. | |||
| ## Usage | |||
| Create session cookie: | |||
| ```javascript | |||
| $.cookie('name', 'value'); | |||
| ``` | |||
| Create expiring cookie, 7 days from then: | |||
| ```javascript | |||
| $.cookie('name', 'value', { expires: 7 }); | |||
| ``` | |||
| Create expiring cookie, valid across entire site: | |||
| ```javascript | |||
| $.cookie('name', 'value', { expires: 7, path: '/' }); | |||
| ``` | |||
| Read cookie: | |||
| ```javascript | |||
| $.cookie('name'); // => "value" | |||
| $.cookie('nothing'); // => undefined | |||
| ``` | |||
| Read all available cookies: | |||
| ```javascript | |||
| $.cookie(); // => { "name": "value" } | |||
| ``` | |||
| Delete cookie: | |||
| ```javascript | |||
| // Returns true when cookie was successfully deleted, otherwise false | |||
| $.removeCookie('name'); // => true | |||
| $.removeCookie('nothing'); // => false | |||
| // Need to use the same attributes (path, domain) as what the cookie was written with | |||
| $.cookie('name', 'value', { path: '/' }); | |||
| // This won't work! | |||
| $.removeCookie('name'); // => false | |||
| // This will work! | |||
| $.removeCookie('name', { path: '/' }); // => true | |||
| ``` | |||
| *Note: when deleting a cookie, you must pass the exact same path, domain and secure options that were used to set the cookie, unless you're relying on the default options that is.* | |||
| ## Configuration | |||
| ### raw | |||
| By default the cookie value is encoded/decoded when writing/reading, using `encodeURIComponent`/`decodeURIComponent`. Bypass this by setting raw to true: | |||
| ```javascript | |||
| $.cookie.raw = true; | |||
| ``` | |||
| ### json | |||
| Turn on automatic storage of JSON objects passed as the cookie value. Assumes `JSON.stringify` and `JSON.parse`: | |||
| ```javascript | |||
| $.cookie.json = true; | |||
| ``` | |||
| ## Cookie Options | |||
| Cookie attributes can be set globally by setting properties of the `$.cookie.defaults` object or individually for each call to `$.cookie()` by passing a plain object to the options argument. Per-call options override the default options. | |||
| ### expires | |||
| expires: 365 | |||
| Define lifetime of the cookie. Value can be a `Number` which will be interpreted as days from time of creation or a `Date` object. If omitted, the cookie becomes a session cookie. | |||
| ### path | |||
| path: '/' | |||
| Define the path where the cookie is valid. *By default the path of the cookie is the path of the page where the cookie was created (standard browser behavior).* If you want to make it available for instance across the entire domain use `path: '/'`. Default: path of page where the cookie was created. | |||
| **Note regarding Internet Explorer:** | |||
| > Due to an obscure bug in the underlying WinINET InternetGetCookie implementation, IE’s document.cookie will not return a cookie if it was set with a path attribute containing a filename. | |||
| (From [Internet Explorer Cookie Internals (FAQ)](http://blogs.msdn.com/b/ieinternals/archive/2009/08/20/wininet-ie-cookie-internals-faq.aspx)) | |||
| This means one cannot set a path using `path: window.location.pathname` in case such pathname contains a filename like so: `/check.html` (or at least, such cookie cannot be read correctly). | |||
| ### domain | |||
| domain: 'example.com' | |||
| Define the domain where the cookie is valid. Default: domain of page where the cookie was created. | |||
| ### secure | |||
| secure: true | |||
| If true, the cookie transmission requires a secure protocol (https). Default: `false`. | |||
| ## Converters | |||
| Provide a conversion function as optional last argument for reading, in order to change the cookie's value | |||
| to a different representation on the fly. | |||
| Example for parsing a value into a number: | |||
| ```javascript | |||
| $.cookie('foo', '42'); | |||
| $.cookie('foo', Number); // => 42 | |||
| ``` | |||
| Dealing with cookies that have been encoded using `escape` (3rd party cookies): | |||
| ```javascript | |||
| $.cookie.raw = true; | |||
| $.cookie('foo', unescape); | |||
| ``` | |||
| You can pass an arbitrary conversion function. | |||
| ## Contributing | |||
| Check out the [Contributing Guidelines](CONTRIBUTING.md) | |||
| ## Authors | |||
| [Klaus Hartl](https://github.com/carhartl) | |||
| @@ -1,18 +0,0 @@ | |||
| { | |||
| "name": "jquery.cookie", | |||
| "version": "1.4.1", | |||
| "main": [ | |||
| "src/jquery.cookie.js" | |||
| ], | |||
| "dependencies": { | |||
| "jquery": ">=1.2" | |||
| }, | |||
| "ignore": [ | |||
| "test", | |||
| ".*", | |||
| "*.json", | |||
| "*.md", | |||
| "*.txt", | |||
| "Gruntfile.js" | |||
| ] | |||
| } | |||
| @@ -1,14 +0,0 @@ | |||
| { | |||
| "name": "jquery.cookie", | |||
| "repo": "carhartl/jquery-cookie", | |||
| "description": "A simple, lightweight jQuery plugin for reading, writing and deleting cookies", | |||
| "version": "1.4.1", | |||
| "keywords": [], | |||
| "dependencies": {}, | |||
| "development": {}, | |||
| "license": "MIT", | |||
| "main": "src/jquery.cookie.js", | |||
| "scripts": [ | |||
| "src/jquery.cookie.js" | |||
| ] | |||
| } | |||
| @@ -1,32 +0,0 @@ | |||
| { | |||
| "name": "cookie", | |||
| "version": "1.4.1", | |||
| "title": "jQuery Cookie", | |||
| "description": "A simple, lightweight jQuery plugin for reading, writing and deleting cookies.", | |||
| "author": { | |||
| "name": "Klaus Hartl", | |||
| "url": "https://github.com/carhartl" | |||
| }, | |||
| "maintainers": [ | |||
| { | |||
| "name": "Klaus Hartl", | |||
| "url": "https://github.com/carhartl" | |||
| }, | |||
| { | |||
| "name": "Fagner Martins", | |||
| "url": "https://github.com/FagnerMartinsBrack" | |||
| } | |||
| ], | |||
| "licenses": [ | |||
| { | |||
| "type": "MIT", | |||
| "url": "https://raw.github.com/carhartl/jquery-cookie/master/MIT-LICENSE.txt" | |||
| } | |||
| ], | |||
| "dependencies": { | |||
| "jquery": ">=1.2" | |||
| }, | |||
| "bugs": "https://github.com/carhartl/jquery-cookie/issues", | |||
| "homepage": "https://github.com/carhartl/jquery-cookie", | |||
| "docs": "https://github.com/carhartl/jquery-cookie#readme" | |||
| } | |||
| @@ -1,50 +0,0 @@ | |||
| { | |||
| "name": "jquery.cookie", | |||
| "version": "1.4.1", | |||
| "description": "A simple, lightweight jQuery plugin for reading, writing and deleting cookies.", | |||
| "main": "src/jquery.cookie.js", | |||
| "directories": { | |||
| "test": "test" | |||
| }, | |||
| "scripts": { | |||
| "test": "grunt" | |||
| }, | |||
| "repository": { | |||
| "type": "git", | |||
| "url": "git://github.com/carhartl/jquery-cookie.git" | |||
| }, | |||
| "author": "Klaus Hartl", | |||
| "license": "MIT", | |||
| "gitHead": "bd3c9713222bace68d25fe2128c0f8633cad1269", | |||
| "readmeFilename": "README.md", | |||
| "devDependencies": { | |||
| "grunt": "~0.4.1", | |||
| "grunt-contrib-jshint": "~0.10.0", | |||
| "grunt-contrib-uglify": "~0.2.0", | |||
| "grunt-contrib-qunit": "~0.2.0", | |||
| "grunt-contrib-watch": "~0.6.1", | |||
| "grunt-compare-size": "~0.4.0", | |||
| "grunt-saucelabs": "~7.0.0", | |||
| "grunt-contrib-connect": "~0.7.1", | |||
| "gzip-js": "~0.3.0" | |||
| }, | |||
| "volo": { | |||
| "url": "https://raw.github.com/carhartl/jquery-cookie/v{version}/src/jquery.cookie.js" | |||
| }, | |||
| "jspm": { | |||
| "main": "jquery.cookie", | |||
| "files": ["src/jquery.cookie.js"], | |||
| "buildConfig": { | |||
| "uglify": true | |||
| } | |||
| }, | |||
| "jam": { | |||
| "dependencies": { | |||
| "jquery": ">=1.2" | |||
| }, | |||
| "main": "src/jquery.cookie.js", | |||
| "include": [ | |||
| "src/jquery.cookie.js" | |||
| ] | |||
| } | |||
| } | |||
| @@ -1,13 +0,0 @@ | |||
| { | |||
| "browser": true, | |||
| "camelcase": true, | |||
| "jquery": true, | |||
| "quotmark": "single", | |||
| "globals": { | |||
| "define": true, | |||
| "module": true, | |||
| "require": true | |||
| }, | |||
| "extends": "../.jshintrc" | |||
| } | |||
| @@ -1,114 +0,0 @@ | |||
| /*! | |||
| * jQuery Cookie Plugin v1.4.1 | |||
| * https://github.com/carhartl/jquery-cookie | |||
| * | |||
| * Copyright 2006, 2014 Klaus Hartl | |||
| * Released under the MIT license | |||
| */ | |||
| (function (factory) { | |||
| if (typeof define === 'function' && define.amd) { | |||
| // AMD (Register as an anonymous module) | |||
| define(['jquery'], factory); | |||
| } else if (typeof exports === 'object') { | |||
| // Node/CommonJS | |||
| module.exports = factory(require('jquery')); | |||
| } else { | |||
| // Browser globals | |||
| factory(jQuery); | |||
| } | |||
| }(function ($) { | |||
| var pluses = /\+/g; | |||
| function encode(s) { | |||
| return config.raw ? s : encodeURIComponent(s); | |||
| } | |||
| function decode(s) { | |||
| return config.raw ? s : decodeURIComponent(s); | |||
| } | |||
| function stringifyCookieValue(value) { | |||
| return encode(config.json ? JSON.stringify(value) : String(value)); | |||
| } | |||
| function parseCookieValue(s) { | |||
| if (s.indexOf('"') === 0) { | |||
| // This is a quoted cookie as according to RFC2068, unescape... | |||
| s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\'); | |||
| } | |||
| try { | |||
| // Replace server-side written pluses with spaces. | |||
| // If we can't decode the cookie, ignore it, it's unusable. | |||
| // If we can't parse the cookie, ignore it, it's unusable. | |||
| s = decodeURIComponent(s.replace(pluses, ' ')); | |||
| return config.json ? JSON.parse(s) : s; | |||
| } catch(e) {} | |||
| } | |||
| function read(s, converter) { | |||
| var value = config.raw ? s : parseCookieValue(s); | |||
| return $.isFunction(converter) ? converter(value) : value; | |||
| } | |||
| var config = $.cookie = function (key, value, options) { | |||
| // Write | |||
| if (arguments.length > 1 && !$.isFunction(value)) { | |||
| options = $.extend({}, config.defaults, options); | |||
| if (typeof options.expires === 'number') { | |||
| var days = options.expires, t = options.expires = new Date(); | |||
| t.setMilliseconds(t.getMilliseconds() + days * 864e+5); | |||
| } | |||
| return (document.cookie = [ | |||
| encode(key), '=', stringifyCookieValue(value), | |||
| options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE | |||
| options.path ? '; path=' + options.path : '', | |||
| options.domain ? '; domain=' + options.domain : '', | |||
| options.secure ? '; secure' : '' | |||
| ].join('')); | |||
| } | |||
| // Read | |||
| var result = key ? undefined : {}, | |||
| // To prevent the for loop in the first place assign an empty array | |||
| // in case there are no cookies at all. Also prevents odd result when | |||
| // calling $.cookie(). | |||
| cookies = document.cookie ? document.cookie.split('; ') : [], | |||
| i = 0, | |||
| l = cookies.length; | |||
| for (; i < l; i++) { | |||
| var parts = cookies[i].split('='), | |||
| name = decode(parts.shift()), | |||
| cookie = parts.join('='); | |||
| if (key === name) { | |||
| // If second argument (value) is a function it's a converter... | |||
| result = read(cookie, value); | |||
| break; | |||
| } | |||
| // Prevent storing a cookie that we couldn't decode. | |||
| if (!key && (cookie = read(cookie)) !== undefined) { | |||
| result[name] = cookie; | |||
| } | |||
| } | |||
| return result; | |||
| }; | |||
| config.defaults = {}; | |||
| $.removeCookie = function (key, options) { | |||
| // Must not alter options, thus extending a fresh object... | |||
| $.cookie(key, '', $.extend({}, options, { expires: -1 })); | |||
| return !$.cookie(key); | |||
| }; | |||
| })); | |||
| @@ -1,9 +0,0 @@ | |||
| { | |||
| "browser": true, | |||
| "jquery": true, | |||
| "qunit": true, | |||
| "-W053": true, | |||
| "extends": "../.jshintrc" | |||
| } | |||
| @@ -1,16 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html> | |||
| <head> | |||
| <meta charset="utf-8"> | |||
| <title>jquery.cookie Test Suite</title> | |||
| <link rel="stylesheet" href="http://code.jquery.com/qunit/qunit-1.14.0.css"> | |||
| <script src="http://code.jquery.com/qunit/qunit-1.14.0.js"></script> | |||
| <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> | |||
| <script src="../src/jquery.cookie.js"></script> | |||
| <script src="tests.js"></script> | |||
| </head> | |||
| <body> | |||
| <div id="qunit"></div> | |||
| <div id="qunit-fixture"></div> | |||
| </body> | |||
| </html> | |||
| @@ -1,18 +0,0 @@ | |||
| <!DOCTYPE html> | |||
| <html> | |||
| <head> | |||
| <title></title> | |||
| <script src="http://code.jquery.com/jquery-1.11.1.min.js"></script> | |||
| <script src="../src/jquery.cookie.js"></script> | |||
| <script> | |||
| try { | |||
| Object.defineProperty(document, "cookie", { get: function() { return "first=one; ; second=two"; } }); | |||
| window.testValue = $.cookie("second"); | |||
| window.ok = true; | |||
| } catch (er) { | |||
| } | |||
| </script> | |||
| </head> | |||
| <body> | |||
| </body> | |||
| </html> | |||
| @@ -1,345 +0,0 @@ | |||
| // Required for exposing test results to the Sauce Labs API. | |||
| // Can be removed when the following issue is fixed: | |||
| // https://github.com/axemclion/grunt-saucelabs/issues/84 | |||
| QUnit.done(function (details) { | |||
| window.global_test_results = details; | |||
| }); | |||
| var lifecycle = { | |||
| teardown: function () { | |||
| $.cookie.defaults = {}; | |||
| delete $.cookie.raw; | |||
| delete $.cookie.json; | |||
| $.each($.cookie(), $.removeCookie); | |||
| } | |||
| }; | |||
| module('read', lifecycle); | |||
| test('simple value', function () { | |||
| expect(1); | |||
| document.cookie = 'c=v'; | |||
| strictEqual($.cookie('c'), 'v', 'should return value'); | |||
| }); | |||
| test('empty value', function () { | |||
| expect(1); | |||
| // IE saves cookies with empty string as "c; ", e.g. without "=" as opposed to EOMB, which | |||
| // resulted in a bug while reading such a cookie. | |||
| $.cookie('c', ''); | |||
| strictEqual($.cookie('c'), '', 'should return value'); | |||
| }); | |||
| test('not existing', function () { | |||
| expect(1); | |||
| strictEqual($.cookie('whatever'), undefined, 'return undefined'); | |||
| }); | |||
| test('RFC 2068 quoted string', function () { | |||
| expect(1); | |||
| document.cookie = 'c="v@address.com\\"\\\\\\""'; | |||
| strictEqual($.cookie('c'), 'v@address.com"\\"', 'should decode RFC 2068 quoted string'); | |||
| }); | |||
| test('decode', function () { | |||
| expect(1); | |||
| document.cookie = encodeURIComponent(' c') + '=' + encodeURIComponent(' v'); | |||
| strictEqual($.cookie(' c'), ' v', 'should decode key and value'); | |||
| }); | |||
| test('decode pluses to space for server side written cookie', function () { | |||
| expect(1); | |||
| document.cookie = 'c=foo+bar'; | |||
| strictEqual($.cookie('c'), 'foo bar', 'should convert pluses back to space'); | |||
| }); | |||
| test('raw = true', function () { | |||
| expect(2); | |||
| $.cookie.raw = true; | |||
| document.cookie = 'c=%20v'; | |||
| strictEqual($.cookie('c'), '%20v', 'should not decode value'); | |||
| // see https://github.com/carhartl/jquery-cookie/issues/50 | |||
| $.cookie('c', 'foo=bar'); | |||
| strictEqual($.cookie('c'), 'foo=bar', 'should include the entire value'); | |||
| }); | |||
| test('json = true', function () { | |||
| expect(1); | |||
| if ('JSON' in window) { | |||
| $.cookie.json = true; | |||
| $.cookie('c', { foo: 'bar' }); | |||
| deepEqual($.cookie('c'), { foo: 'bar' }, 'should parse JSON'); | |||
| } else { | |||
| ok(true); | |||
| } | |||
| }); | |||
| test('not existing with json = true', function () { | |||
| expect(1); | |||
| if ('JSON' in window) { | |||
| $.cookie.json = true; | |||
| strictEqual($.cookie('whatever'), undefined, "won't throw exception"); | |||
| } else { | |||
| ok(true); | |||
| } | |||
| }); | |||
| test('string with json = true', function () { | |||
| expect(1); | |||
| if ('JSON' in window) { | |||
| $.cookie.json = true; | |||
| $.cookie('c', 'v'); | |||
| strictEqual($.cookie('c'), 'v', 'should return value'); | |||
| } else { | |||
| ok(true); | |||
| } | |||
| }); | |||
| test('invalid JSON string with json = true', function () { | |||
| expect(1); | |||
| if ('JSON' in window) { | |||
| $.cookie('c', 'v'); | |||
| $.cookie.json = true; | |||
| strictEqual($.cookie('c'), undefined, "won't throw exception, returns undefined"); | |||
| } else { | |||
| ok(true); | |||
| } | |||
| }); | |||
| test('invalid URL encoding', function () { | |||
| expect(1); | |||
| document.cookie = 'bad=foo%'; | |||
| strictEqual($.cookie('bad'), undefined, "won't throw exception, returns undefined"); | |||
| // Delete manually here because it requires raw === true... | |||
| $.cookie.raw = true; | |||
| $.removeCookie('bad'); | |||
| }); | |||
| asyncTest('malformed cookie value in IE (#88, #117)', function () { | |||
| expect(1); | |||
| // Sandbox in an iframe so that we can poke around with document.cookie. | |||
| var iframe = $('<iframe src="malformed_cookie.html"></iframe>')[0]; | |||
| $(iframe).on('load', function () { | |||
| start(); | |||
| if (iframe.contentWindow.ok) { | |||
| strictEqual(iframe.contentWindow.testValue, 'two', 'reads all cookie values, skipping duplicate occurences of "; "'); | |||
| } else { | |||
| // Skip the test where we can't stub document.cookie using | |||
| // Object.defineProperty. Seems to work fine in | |||
| // Chrome, Firefox and IE 8+. | |||
| ok(true, 'N/A'); | |||
| } | |||
| }); | |||
| document.body.appendChild(iframe); | |||
| }); | |||
| test('Call to read all when there are cookies', function () { | |||
| $.cookie('c', 'v'); | |||
| $.cookie('foo', 'bar'); | |||
| deepEqual($.cookie(), { c: 'v', foo: 'bar' }, 'returns object containing all cookies'); | |||
| }); | |||
| test('Call to read all when there are no cookies at all', function () { | |||
| deepEqual($.cookie(), {}, 'returns empty object'); | |||
| }); | |||
| test('Call to read all with json: true', function () { | |||
| $.cookie.json = true; | |||
| $.cookie('c', { foo: 'bar' }); | |||
| deepEqual($.cookie(), { c: { foo: 'bar' } }, 'returns JSON parsed cookies'); | |||
| }); | |||
| test('Call to read all with a badly encoded cookie', function () { | |||
| expect(1); | |||
| document.cookie = 'bad=foo%'; | |||
| document.cookie = 'good=foo'; | |||
| deepEqual($.cookie(), { good: 'foo' }, 'returns object containing all decodable cookies'); | |||
| // Delete manually here because it requires raw === true... | |||
| $.cookie.raw = true; | |||
| $.removeCookie('bad'); | |||
| }); | |||
| module('write', lifecycle); | |||
| test('String primitive', function () { | |||
| expect(1); | |||
| $.cookie('c', 'v'); | |||
| strictEqual($.cookie('c'), 'v', 'should write value'); | |||
| }); | |||
| test('String object', function () { | |||
| expect(1); | |||
| $.cookie('c', new String('v')); | |||
| strictEqual($.cookie('c'), 'v', 'should write value'); | |||
| }); | |||
| test('value "[object Object]"', function () { | |||
| expect(1); | |||
| $.cookie('c', '[object Object]'); | |||
| strictEqual($.cookie('c'), '[object Object]', 'should write value'); | |||
| }); | |||
| test('number', function () { | |||
| expect(1); | |||
| $.cookie('c', 1234); | |||
| strictEqual($.cookie('c'), '1234', 'should write value'); | |||
| }); | |||
| test('null', function () { | |||
| expect(1); | |||
| $.cookie('c', null); | |||
| strictEqual($.cookie('c'), 'null', 'should write value'); | |||
| }); | |||
| test('undefined', function () { | |||
| expect(1); | |||
| $.cookie('c', undefined); | |||
| strictEqual($.cookie('c'), 'undefined', 'should write value'); | |||
| }); | |||
| test('expires option as days from now', function () { | |||
| expect(1); | |||
| var sevenDaysFromNow = new Date(); | |||
| sevenDaysFromNow.setDate(sevenDaysFromNow.getDate() + 21); | |||
| strictEqual($.cookie('c', 'v', { expires: 21 }), 'c=v; expires=' + sevenDaysFromNow.toUTCString(), | |||
| 'should write the cookie string with expires'); | |||
| }); | |||
| test('expires option as fraction of a day', function () { | |||
| expect(1); | |||
| var now = new Date().getTime(); | |||
| var expires = Date.parse($.cookie('c', 'v', { expires: 0.5 }).replace(/.+expires=/, '')); | |||
| // When we were using Date.setDate() fractions have been ignored | |||
| // and expires resulted in the current date. Allow 1000 milliseconds | |||
| // difference for execution time. | |||
| ok(expires > now + 1000, 'should write expires attribute with the correct date'); | |||
| }); | |||
| test('expires option as Date instance', function () { | |||
| expect(1); | |||
| var sevenDaysFromNow = new Date(); | |||
| sevenDaysFromNow.setDate(sevenDaysFromNow.getDate() + 7); | |||
| strictEqual($.cookie('c', 'v', { expires: sevenDaysFromNow }), 'c=v; expires=' + sevenDaysFromNow.toUTCString(), | |||
| 'should write the cookie string with expires'); | |||
| }); | |||
| test('return value', function () { | |||
| expect(1); | |||
| strictEqual($.cookie('c', 'v'), 'c=v', 'should return written cookie string'); | |||
| }); | |||
| test('defaults', function () { | |||
| expect(2); | |||
| $.cookie.defaults.path = '/foo'; | |||
| ok($.cookie('c', 'v').match(/path=\/foo/), 'should use options from defaults'); | |||
| ok($.cookie('c', 'v', { path: '/bar' }).match(/path=\/bar/), 'options argument has precedence'); | |||
| }); | |||
| test('raw = true', function () { | |||
| expect(1); | |||
| $.cookie.raw = true; | |||
| strictEqual($.cookie('c[1]', 'v[1]'), 'c[1]=v[1]', 'should not encode'); | |||
| // Delete manually here because it requires raw === true... | |||
| $.removeCookie('c[1]'); | |||
| }); | |||
| test('json = true', function () { | |||
| expect(1); | |||
| $.cookie.json = true; | |||
| if ('JSON' in window) { | |||
| $.cookie('c', { foo: 'bar' }); | |||
| strictEqual(document.cookie, 'c=' + encodeURIComponent(JSON.stringify({ foo: 'bar' })), 'should stringify JSON'); | |||
| } else { | |||
| ok(true); | |||
| } | |||
| }); | |||
| module('removeCookie', lifecycle); | |||
| test('deletion', function () { | |||
| expect(1); | |||
| $.cookie('c', 'v'); | |||
| $.removeCookie('c'); | |||
| strictEqual(document.cookie, '', 'should delete the cookie'); | |||
| }); | |||
| test('when sucessfully deleted', function () { | |||
| expect(1); | |||
| $.cookie('c', 'v'); | |||
| strictEqual($.removeCookie('c'), true, 'returns true'); | |||
| }); | |||
| test('when cookie does not exist', function () { | |||
| expect(1); | |||
| strictEqual($.removeCookie('c'), true, 'returns true'); | |||
| }); | |||
| test('when deletion failed', function () { | |||
| expect(1); | |||
| $.cookie('c', 'v'); | |||
| var originalCookie = $.cookie; | |||
| $.cookie = function () { | |||
| // Stub deletion... | |||
| if (arguments.length === 1) { | |||
| return originalCookie.apply(null, arguments); | |||
| } | |||
| }; | |||
| strictEqual($.removeCookie('c'), false, 'returns false'); | |||
| $.cookie = originalCookie; | |||
| }); | |||
| test('with options', function () { | |||
| expect(1); | |||
| var options = { path: '/' }; | |||
| $.cookie('c', 'v', options); | |||
| $.removeCookie('c', options); | |||
| strictEqual(document.cookie, '', 'should delete the cookie'); | |||
| }); | |||
| test('passing options reference', function () { | |||
| expect(1); | |||
| var options = { path: '/' }; | |||
| $.cookie('c', 'v', options); | |||
| $.removeCookie('c', options); | |||
| deepEqual(options, { path: '/' }, "won't alter options object"); | |||
| }); | |||
| test('[] used in name', function () { | |||
| expect(1); | |||
| $.cookie.raw = true; | |||
| document.cookie = 'c[1]=foo'; | |||
| $.removeCookie('c[1]'); | |||
| strictEqual(document.cookie, '', 'delete the cookie'); | |||
| }); | |||
| module('conversion', lifecycle); | |||
| test('read converter', function() { | |||
| expect(1); | |||
| $.cookie('c', '1'); | |||
| strictEqual($.cookie('c', Number), 1, 'converts read value'); | |||
| }); | |||
| test('read converter with raw = true', function() { | |||
| expect(1); | |||
| $.cookie.raw = true; | |||
| $.cookie('c', '1'); | |||
| strictEqual($.cookie('c', Number), 1, 'does not decode, but converts read value'); | |||
| }); | |||
| @@ -80,6 +80,10 @@ z-index: 1; | |||
| background-color: #9e9e9e !important; | |||
| } | |||
| .services-wrap | |||
| { | |||
| border-top: 5px solid #ddd; | |||
| } | |||
| @media (max-width: 1024px){ | |||
| #gallery .gallery-box | |||
| { | |||