├── .babelrc ├── .gitignore ├── README.md ├── circle.yml ├── mocha.opts ├── package.json ├── src ├── css-checklist-helper.js ├── css-traversal-helper.js ├── defaults.js ├── index.js └── option-handler.js ├── test ├── default.js ├── index.js └── stub │ ├── index.html │ └── nuvi 2595LMT_files │ ├── 1067.gif │ ├── 1068.jpg │ ├── 113.jpg │ ├── 115.jpg │ ├── 1154.jpg │ ├── 117.jpg │ ├── 119.jpg │ ├── 123.jpg │ ├── 131.jpg │ ├── 14361531_landing.js │ ├── 1477.jpg │ ├── 1478.jpg │ ├── 824.jpg │ ├── 838.jpg │ ├── dswidget.css │ ├── ga.js │ ├── icon_facebook.gif │ ├── icon_twitter.gif │ ├── images.js │ ├── issues.css │ ├── logoImage.gif │ ├── mz-packed.js │ ├── nds.css │ ├── options.js │ ├── percentage.css │ ├── productDetail.js │ ├── sc-04-lg.jpg │ ├── seal.js │ ├── secure90x72.gif │ └── util.js └── webpack.config.babel.js /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["latest"], 3 | "plugins": ["transform-decorators-legacy", "transform-class-properties"], 4 | } 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | npm-debug.log 3 | .npmignore 4 | lib/* 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # CSS Optimum Selector 2 | 3 | 4 | A module to identify an unique css selector for a jQuery element in a most efficient way. An input of two jQuery elements return a common CSS selector matching a pattern of both the input elements. 5 | 6 | ### Installation 7 | ``` 8 | npm i css-optimum-selector --save 9 | ``` 10 | or 11 | ``` html 12 | 13 | ``` 14 | 15 | ### What CSS Optimum Selector do? 16 | 17 | The module solves two use-cases: 18 | 1. Given an element, extract the unique css selector. 19 | 2. Given a couple of elements, extract a multi-element css selector uniquely identifying the patten in the input element list. 20 | 21 | What is multi-element css selector? 22 | 23 | Imagine an ordered list with n number of elements. To select all the elements in the list, one would skim through each of the element and find a common pattern of CSS selector among them. 24 | "CSS Optimum Selector" do it more intelligently. A input of just 2 elements from the list is enough to pull-out the common pattern and the module extracts a single CSS selector that can select all the list elements. 25 | 26 | What if there is a different pattern, for instance odd, even type? Can the module uniquely identify all the elements or can it get only certain pattern of elements? 27 | 28 | Yes, it can still identify all the elements. The relative-depth option allows to select a either only a single matching pattern or all the patterns. 29 | 30 | What if there is no pattern in selection ? 31 | 32 | In no patterns case, CSS Optimum Selector will return css selector for each of the element passed as input. 33 | 34 | ### How to use ? 35 | 36 | ``` 37 | import CSSOptimumSelector from 'css-optimum-selector' 38 | ``` 39 | 40 | Optionally, The module accepts a list of options. The options help to identify the selector in more optimum way by applying filter operations the on input element's tag, id, class or any other attributes. 41 | 42 | Below are definition of options: 43 | * root : The root element to begin unique CSS selector extraction. _Default - html_ 44 | * startWith: The selector can start with the specified rule. This is optional, if not specified the selector of shortest will be returned. The value is an array which means that the startwith value can be more than one (i.e) specifying ['id', 'class', 'tag'] means the selector can start with any one of the above value. 45 | * priority : The ordered list of identifiers to be used as priority in extractiong selector. _Default - priority: ['tag', 'id', 'class']_ 46 | * relativeDepth - Used only for multi-element selector. A value of __1__ is to select all matching list of elements. A value of __2 or above__ is to select only the patterns which match its occurance. For example: Consider a (odd, even, odd, even..) pattern of elements. An input of two odd elements with relativeDepth=2 will return CSS selector to identify all the odd elements. An input of two odd elements with relativeDepth=1 will return CSS selector to identify all listed elements. _Default - 1_ 47 | 48 | * ignore : For each of class, id and tag, the option accepts an array of classes, ids or tags to 49 | ignored in extracting a CSS selector. 50 | * ignoreFunc : Same logic as ignore parameter, but ignoreFunc accepts a function returning a boolean indicating whether the class, id or tag can be ignored or not. 51 | 52 | 53 | * Option Structure 54 | 55 | ``` 56 | const option = { 57 | root: 'html', //type - string 58 | startWith: ['id', 'class'] //type - Array of string 59 | priority: ['tag', 'id', 'class'], //type - Array of string 60 | relativeDepth: 2, //type - number 61 | ignore: { //type - Object of array of string 62 | class: ['class1', 'class2', 'class3'], 63 | id: ['id1', 'id2', 'id3'], //not mandatory to have all keys 64 | tag: ['tag1', 'tag2', 'tag3'], //include only the needed one 65 | }, 66 | ignoreFunc: { 67 | class: args => args.filter(arg => //type - Object of functions 68 | arg.index('sample') > -1) //type args - Array of string 69 | } 70 | } 71 | ``` 72 | 73 | ### Usage 74 | 75 | There are two member-functions availabe to use. One for unique-css-selector and one for multi-selector. 76 | 77 | The module can be used in ES6 or ES5. Below is an example in ES6 format. 78 | 79 | * Unique CSS Selector 80 | 81 | ``` 82 | => getUniqueCssSelector ---> argument is jQuery node element; return type string 83 | 84 | ``` 85 | 86 | * Multi-element CSS Selector 87 | 88 | ``` 89 | => getMultiSelector ---> argument is jQuery node element; return type array of string 90 | 91 | ``` 92 | 93 | **getUniqueCssSelector** accepts one argument the target element. 94 | 95 | **getMultiSelector** accepts three arguments, the third being optional. The first two arguments are the target elements and the third optional argument is a number indicating the relative depth. 96 | 97 | * Snippet 98 | 99 | ``` 100 | import CSSOptimumSelector from 'css-optimum-selector' 101 | 102 | const option = { 103 | root: 'body', 104 | relativeDepth: 3, 105 | } 106 | 107 | class SomeRandomClass { 108 | constructor() { 109 | this.cssOptimumSelector = new cssOptimumSelector(option) 110 | } 111 | 112 | someEventHandler(event) { 113 | const selector = this.cssOptimumSelector.getUniqueCssSelector($(event.target)) 114 | } 115 | 116 | multiSelector(target1, target2) { 117 | const multiSelector = this.cssOptimumSelector.getMultiSelector(target1, target2, 2) 118 | } 119 | 120 | } 121 | ``` 122 | 123 | ### Status 124 | This project is being actively developed and should be considered alpha quality. 125 | 126 | 127 | ### Further Enhancement 128 | 129 | What if the module suggests the maximum relative depth available and the same can be set at runtime, instead of hard-coding relativeDepth within options? Star or watch the project for updates on features. 130 | 131 | ### Contribute 132 | 133 | For any issues or queries, do raise a Github Issue. If you're interested to contribute, please feel free to fork and send in a Pull Request. 134 | -------------------------------------------------------------------------------- /circle.yml: -------------------------------------------------------------------------------- 1 | machine: 2 | node: 3 | version: 6 4 | dependencies: 5 | override: 6 | - npm install 7 | deployment: 8 | npm: 9 | tag: /v.*/ 10 | commands: 11 | - echo -e "$NPM_USERNAME\n$NPM_PASSWORD\n$NPM_EMAIL" | npm login 12 | - npm publish 13 | -------------------------------------------------------------------------------- /mocha.opts: -------------------------------------------------------------------------------- 1 | --compilers jsx?:babel-core/register 2 | --require babel-polyfill 3 | --recursive 4 | --ui bdd 5 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "css-optimum-selector", 3 | "version": "2.0.9", 4 | "description": "Module for finding relative css-selector", 5 | "main": "lib/index.js", 6 | "repository": "https://github.com/manishwaran/css-selector.git", 7 | "scripts": { 8 | "test": "mocha --compilers jsx?:babel-core/register test/index.js", 9 | "build:watch": "babel src --out-dir lib --watch", 10 | "build": "webpack --config=webpack.config.babel.js", 11 | "build:minify": "babel src/index.js --out-file lib/index.min.js --minified", 12 | "prepublish": "npm run build && npm run build", 13 | "preversion": "npm build && npm test" 14 | }, 15 | "keywords": [ 16 | "css-selector", 17 | "css-extractor", 18 | "css selector", 19 | "manishwaran", 20 | "css selection" 21 | ], 22 | "author": "Manishwaran", 23 | "license": "MIT", 24 | "devDependencies": { 25 | "babel-cli": "^6.18.0", 26 | "babel-core": "^6.18.2", 27 | "babel-loader": "^6.2.7", 28 | "babel-plugin-transform-class-properties": "^6.16.0", 29 | "babel-plugin-transform-decorators-legacy": "^1.3.4", 30 | "babel-plugin-transform-object-rest-spread": "^6.16.0", 31 | "babel-polyfill": "^6.13.0", 32 | "babel-preset-es2015": "^6.14.0", 33 | "babel-preset-latest": "^6.16.0", 34 | "chai": "^3.5.0", 35 | "cheerio": "^0.22.0", 36 | "html-loader": "^0.4.4", 37 | "mocha": "^3.2.0", 38 | "webpack": "^2.1.0-beta.25", 39 | "webpack-dev-server": "^1.16.2" 40 | }, 41 | "dependencies": { 42 | "jquery": "^3.1.1" 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/css-checklist-helper.js: -------------------------------------------------------------------------------- 1 | import OptionHandler from './option-handler' 2 | 3 | export default class CssCheckList extends OptionHandler { 4 | 5 | getCheckList(element) { 6 | const checkListValues = {} 7 | this.priority.forEach((checkList) => { 8 | let value = null 9 | if (checkList === 'tag') { 10 | value = element.prop('tagName').replace(/(\W)/g, '\\$1').toLowerCase() 11 | } 12 | else { 13 | value = element.attr(checkList) 14 | value = value ? value.split(" ").filter(i => i) : null 15 | } 16 | if (value) checkListValues[checkList] = Array.isArray(value) && value || [value] 17 | }) 18 | return checkListValues 19 | } 20 | 21 | getIgnoredValues(key, values) { 22 | return this.ignore[key] 23 | ? values.filter(value => !(this.ignore[key].indexOf(value) > -1)) 24 | : values 25 | } 26 | 27 | getIgnoredValuesFromFunc(key, values) { 28 | return this.ignoreFunc[key] 29 | ? this.ignoreFunc[key](values) 30 | : values 31 | } 32 | 33 | getFilteredCheckList(checkList) { 34 | const checkListKeys = Object.keys(checkList) 35 | const newCheckList = {} 36 | checkListKeys.forEach((key) => { 37 | newCheckList[key] = checkList[key] 38 | if (this.ignoreFunc){ 39 | newCheckList[key] = this.getIgnoredValuesFromFunc(key, newCheckList[key]) 40 | } 41 | if (this.ignore) newCheckList[key] = this.getIgnoredValues(key, newCheckList[key]) 42 | }) 43 | return newCheckList 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /src/css-traversal-helper.js: -------------------------------------------------------------------------------- 1 | import CssCheckListHelper from './css-checklist-helper' 2 | import $ from 'jquery' 3 | 4 | export default class CssTraversalHelper extends CssCheckListHelper { 5 | 6 | composePathStringHelper(key, val) { 7 | switch (key) { 8 | case 'tag': return val 9 | case 'id': return val.map(item => `#${item}`) 10 | case 'class': return val.map(item => `.${item}`) 11 | } 12 | } 13 | 14 | formPriorityArray(checkList) { 15 | const priorityArray = [] 16 | Object.keys(checkList).forEach(cur => priorityArray.push( 17 | ...this.composePathStringHelper(cur, checkList[cur]) 18 | )); 19 | return priorityArray; 20 | } 21 | 22 | isUniqueToParent(element, path) { 23 | return (element.find(path).length === 1) 24 | } 25 | 26 | isUniqueInDocument(element, path) { 27 | const root = element.closest(this.root) 28 | if (root.prop('tagName') === element.prop('tagName')) return root.find(path).length === 1 29 | if (this.checkStartWith(element, path)) return root.find(path).length === 1 30 | } 31 | 32 | nthChildStr(element) { 33 | let str = `${element.prop('tagName').toLowerCase()}:nth-child(`; 34 | element.parent().children().each((idx, child) => { 35 | if(element.is(child)) str+=`${idx+1})`; 36 | }); 37 | return str; 38 | } 39 | 40 | checkUniqueInParent(parent, priorityArray, path) { 41 | let temPath = '' 42 | let resultPath = false 43 | for(let i=0; i ${path}` 47 | : `${temPath}${priorityArray[j]}` 48 | const result = this.isUniqueToParent(parent, newPath) && newPath 49 | if (result) { 50 | if (!resultPath) resultPath = result 51 | if (this.isUniqueInDocument(parent, result)) return result 52 | } 53 | } 54 | temPath = `${priorityArray[i]}${temPath}` 55 | } 56 | return resultPath 57 | } 58 | 59 | checkCommonPath(path1, path2) { 60 | return path1 !== null && path1 === path2 61 | } 62 | 63 | checkCommonParent(elm1, elm2) { 64 | if (!elm1.length || !elm2.length) return null 65 | return elm1.is(elm2) ? elm1 : this.checkCommonParent(elm1.parent(), elm2.parent()) 66 | } 67 | 68 | childToParentTraversal(child, par, path=[]) { 69 | if(par.is(child)) return path 70 | path.unshift(this.nthChildStr(child)) 71 | path = this.childToParentTraversal(child.parent(), par, path) 72 | return path 73 | } 74 | 75 | checkRelativeDegree(path1, path2) { 76 | let relative = 0 77 | const path1Array = path1.split(" > ").reverse() 78 | const path2Array = path2.split(" > ").reverse() 79 | while (path1Array[relative] && path1Array[relative] === path2Array[relative]) relative++ 80 | this.maxRelativeDegree = relative 81 | return relative 82 | } 83 | 84 | getRelativeChildPath(path1, relativeDepth) { 85 | let depth = this.maxRelativeDegree 86 | if (relativeDepth <= depth) depth = relativeDepth 87 | let path = []; 88 | let iterator = 0; 89 | const path1Array = path1.split(" > ").reverse() 90 | while(--depth > -1) path.push(path1Array[iterator++]) 91 | return path.reverse().join(" > ") 92 | } 93 | 94 | } 95 | -------------------------------------------------------------------------------- /src/defaults.js: -------------------------------------------------------------------------------- 1 | export default { 2 | priority: [ 3 | 'tag', 4 | 'id', 5 | 'class', 6 | ], 7 | relativeDepth: 1, 8 | startWith: [], 9 | } 10 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | import CssOptimumSelectorHelper from './css-traversal-helper' 2 | import $ from 'jquery' 3 | export default class CssOptimumSelector extends CssOptimumSelectorHelper { 4 | 5 | constructor(props) { 6 | super(props); 7 | this.multiSelector = this.multiSelector.bind(this) 8 | this.getMultiSelector = this.getMultiSelector.bind(this) 9 | this.uniqueCssSelector = this.uniqueCssSelector.bind(this) 10 | this.getUniqueCssSelector = this.getUniqueCssSelector.bind(this) 11 | } 12 | 13 | getUniqueCssSelector(element, path = '') { 14 | if (path && this.isUniqueInDocument(element, path)) return path 15 | const checkList = this.getCheckList(element) 16 | const filteredCheckList = this.getFilteredCheckList(checkList) 17 | const priorityArray = this.formPriorityArray(filteredCheckList) 18 | const result = this.checkUniqueInParent(element.parent(), priorityArray, path) 19 | let parentPath = null 20 | if(result) { 21 | parentPath = result 22 | } else { 23 | parentPath = `${this.nthChildStr(element)}` 24 | if (path) parentPath = `${parentPath} > ${path}` 25 | } 26 | return this.getUniqueCssSelector(element.parent(), parentPath) 27 | } 28 | 29 | uniqueCssSelector(element) { 30 | return this.getUniqueCssSelector($(element)) 31 | } 32 | 33 | getMultiSelector(firstElement, secondElement, relativeDepth = this.relativeDepth) { 34 | const commonParent = this.checkCommonParent(firstElement, secondElement) 35 | const noCommonSelector = () => [ 36 | this.getUniqueCssSelector(firstElement), 37 | this.getUniqueCssSelector(secondElement) 38 | ] 39 | if (!commonParent) return noCommonSelector() 40 | const ele1Path = this.childToParentTraversal(firstElement, commonParent).slice(1).join(' > ') 41 | const ele2Path = this.childToParentTraversal(secondElement, commonParent).slice(1).join(' > ') 42 | if (this.checkCommonPath(ele1Path, ele2Path)) { 43 | const path = this.getUniqueCssSelector(commonParent) 44 | const relativeDegree = this.checkRelativeDegree(ele1Path, ele2Path) 45 | const relativeChildPath = this.getRelativeChildPath(ele1Path,relativeDepth) 46 | const commonSelector = `${path} ${relativeChildPath}` 47 | return [commonSelector] 48 | } 49 | return noCommonSelector() 50 | } 51 | 52 | multiSelector(firstElement, secondElement, relativeDepth = this.relativeDepth) { 53 | return this.getMultiSelector($(firstElement), $(secondElement), relativeDepth) 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/option-handler.js: -------------------------------------------------------------------------------- 1 | import defaultProps from './defaults' 2 | 3 | export default class OptionHandler { 4 | 5 | constructor(props) { 6 | this.ignore = (props && props.ignore) || null 7 | this.ignoreFunc = (props && props.ignoreFunc) || null 8 | this.root = (props && props.root) || 'html' 9 | this.priority = (props && props.priority) || defaultProps.priority 10 | this.relativeDepth = (props && props.relativeDepth) || defaultProps.relativeDepth 11 | this.startWith = (props && props.startWith) || defaultProps.startWith 12 | } 13 | 14 | checkStartWith(element, path) { 15 | try { 16 | const mapper = { 17 | id: '#', 18 | class: '.', 19 | tag: element.prop('tagName').toLowerCase(), 20 | } 21 | const startCrumb = path.split(' > ')[0]; 22 | for( let item in this.startWith ) { 23 | if (startCrumb.startsWith(mapper[this.startWith[item]])) return true 24 | } 25 | return false; 26 | } catch(e) { 27 | console.log(e); 28 | } 29 | 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /test/default.js: -------------------------------------------------------------------------------- 1 | export default { 2 | ignore: { 3 | class: ['form-label'], 4 | }, 5 | ignoreFunc: { 6 | class: (data) => { 7 | if(data.length > 0) data.push('test-class') 8 | return data 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /test/index.js: -------------------------------------------------------------------------------- 1 | import fs from 'fs' 2 | import { expect } from 'chai' 3 | import cheerio from 'cheerio' 4 | import CRS from '../src' 5 | import defaultOption from './default' 6 | 7 | const html = fs.readFileSync('./test/stub/index.html', 'utf8') 8 | 9 | describe('CSS-Optimum-Selector', () => { 10 | it('should return elements tag, id, class etc...', (done) => { 11 | const crs = new CRS() 12 | const $ = cheerio.load(html) 13 | const ele1 = $('div#extraDetails > div:nth-child(5) > div.form-field') 14 | const checkList = crs.getCheckList(ele1) 15 | expect(checkList.tag[0]).to.equal('div') 16 | expect(checkList.class[0]).to.equal('form-field') 17 | done() 18 | }) 19 | 20 | it('should return filtered data for values in ignore field', (done) => { 21 | const crs = new CRS(defaultOption) 22 | const $ = cheerio.load(html) 23 | const ele1 = $('div#extraDetails > div:nth-child(5) > div.form-field') 24 | const checkList = crs.getCheckList(ele1) 25 | expect(checkList.class[0]).to.equal('form-field') 26 | const filteredCheckList = crs.getFilteredCheckList(checkList) 27 | done(); 28 | }) 29 | 30 | it('should return filtered data for values in ignore field', (done) => { 31 | const crs = new CRS(defaultOption) 32 | const $ = cheerio.load(html) 33 | const ele1 = $('div#extraDetails > div:nth-child(5) > div.form-field') 34 | const checkList = crs.getCheckList(ele1) 35 | expect(checkList.class.length).to.equal(1) 36 | const filteredCheckList = crs.getFilteredCheckList(checkList) 37 | expect(checkList.class.length).to.equal(2) 38 | expect(filteredCheckList.class[1]).to.equal('test-class') 39 | done(); 40 | }) 41 | 42 | it('should return array of attr in priority basis', (done) => { 43 | const crs = new CRS() 44 | const $ = cheerio.load(html) 45 | const ele1 = $('div#extraDetails > div:nth-child(5) > div.form-field') 46 | const checkList = crs.getCheckList($(ele1)) 47 | const filteredCheckList = crs.getFilteredCheckList(checkList) 48 | const priorityArray = crs.formPriorityArray(filteredCheckList) 49 | expect(priorityArray.length).to.equal(2) 50 | done(); 51 | }) 52 | 53 | it('should check whether the node is unique to parent', (done) => { 54 | const crs = new CRS() 55 | const $ = cheerio.load(html) 56 | const ele1 = $('div#extraDetails > div:nth-child(5) > div.form-field') 57 | const checkList = crs.getCheckList($(ele1), $) 58 | const filteredCheckList = crs.getFilteredCheckList(checkList) 59 | const priorityArray = crs.formPriorityArray(filteredCheckList) 60 | const result = crs.checkUniqueInParent(priorityArray, '', $) 61 | expect(priorityArray.length).to.equal(2) 62 | done(); 63 | }) 64 | 65 | it('should return two selector for uncommon selectors', (done) => { 66 | const crs = new CRS() 67 | const $ = cheerio.load(html) 68 | const ele1 = $('#productsRelated > div:nth-child(3) > div.content-even > div.details > div.sprice > span') 69 | const ele2 = $('#extraDetails > div:nth-child(3) > div.form-field') 70 | const path = crs.getMultiSelector(ele1, ele2) 71 | expect(path.length).to.equal(2) 72 | done() 73 | }) 74 | 75 | it('should return relative path for relative selectors', (done) => { 76 | const crs = new CRS() 77 | const $ = cheerio.load(html) 78 | const ele1 = $('#productsRelated > div:nth-child(3) > div.content-even > div.details > div.sprice > span') 79 | const ele2 = $('#productsRelated > div:nth-child(2) > div.content-even > div.details > div.sprice > span') 80 | const path = crs.getMultiSelector(ele1, ele2) 81 | expect(path.length).to.equal(1) 82 | done() 83 | }) 84 | 85 | it('should return relative path on relative depth basis', (done) => { 86 | const crs = new CRS() 87 | const $ = cheerio.load(html) 88 | const ele1 = $('#productsRelated > div:nth-child(3) > div.content-even > div.details > div.sprice > span') 89 | const ele2 = $('#productsRelated > div:nth-child(2) > div.content-even > div.details > div.sprice > span') 90 | const path = crs.getMultiSelector(ele1, ele2) 91 | expect(path[0]).to.equal('body > table > tbody > tr > td > div > div > #productsRelated span:nth-child(5)') 92 | done() 93 | }) 94 | 95 | it('should return unique css selector', (done) => { 96 | const crs = new CRS({ 97 | ignoreFunc: { 98 | class: data => data.filter(item => item.indexOf('indix') < 0) 99 | } 100 | }) 101 | const $ = cheerio.load(html) 102 | const ele1 = $('#price > strike') 103 | const path = crs.getUniqueCssSelector(ele1) 104 | expect(path).to.equal('body > table > tbody > tr > td > div > form > div > div > div > strike') 105 | done() 106 | }) 107 | 108 | it('should return unique css selector for element having special character in tag name', (done) => { 109 | const crs = new CRS({ 110 | priority: ['tag'], 111 | }) 112 | const $ = cheerio.load(html) 113 | const ele1 = $('#sample_div') 114 | const path = crs.getUniqueCssSelector(ele1.parent()) 115 | expect(path).to.equal('body > table > tbody > tr > td > div > sample\\:div') 116 | done() 117 | }) 118 | 119 | }) 120 | -------------------------------------------------------------------------------- /test/stub/nuvi 2595LMT_files/1067.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indix/css-optimum-selector/49d256d09817af201785b49b49e466a39410bb2b/test/stub/nuvi 2595LMT_files/1067.gif -------------------------------------------------------------------------------- /test/stub/nuvi 2595LMT_files/1068.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indix/css-optimum-selector/49d256d09817af201785b49b49e466a39410bb2b/test/stub/nuvi 2595LMT_files/1068.jpg -------------------------------------------------------------------------------- /test/stub/nuvi 2595LMT_files/113.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indix/css-optimum-selector/49d256d09817af201785b49b49e466a39410bb2b/test/stub/nuvi 2595LMT_files/113.jpg -------------------------------------------------------------------------------- /test/stub/nuvi 2595LMT_files/115.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indix/css-optimum-selector/49d256d09817af201785b49b49e466a39410bb2b/test/stub/nuvi 2595LMT_files/115.jpg -------------------------------------------------------------------------------- /test/stub/nuvi 2595LMT_files/1154.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indix/css-optimum-selector/49d256d09817af201785b49b49e466a39410bb2b/test/stub/nuvi 2595LMT_files/1154.jpg -------------------------------------------------------------------------------- /test/stub/nuvi 2595LMT_files/117.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indix/css-optimum-selector/49d256d09817af201785b49b49e466a39410bb2b/test/stub/nuvi 2595LMT_files/117.jpg -------------------------------------------------------------------------------- /test/stub/nuvi 2595LMT_files/119.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indix/css-optimum-selector/49d256d09817af201785b49b49e466a39410bb2b/test/stub/nuvi 2595LMT_files/119.jpg -------------------------------------------------------------------------------- /test/stub/nuvi 2595LMT_files/123.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indix/css-optimum-selector/49d256d09817af201785b49b49e466a39410bb2b/test/stub/nuvi 2595LMT_files/123.jpg -------------------------------------------------------------------------------- /test/stub/nuvi 2595LMT_files/131.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indix/css-optimum-selector/49d256d09817af201785b49b49e466a39410bb2b/test/stub/nuvi 2595LMT_files/131.jpg -------------------------------------------------------------------------------- /test/stub/nuvi 2595LMT_files/14361531_landing.js: -------------------------------------------------------------------------------- 1 | URL is Unknown or in Syntax Error 2 | 3 |

URL is Unknown or in Syntax Error

4 | 5 | Your request: 6 |
 7 |     /14361531_landing.js
 8 | 
9 |
10 |
Proxy HTTP Server DeleGate/9.9.13 (October 31, 2014) by Yutaka Sato (National Institute of Advanced Industrial Science and Technology) 11 | @_@V 12 |
13 | -------------------------------------------------------------------------------- /test/stub/nuvi 2595LMT_files/1477.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indix/css-optimum-selector/49d256d09817af201785b49b49e466a39410bb2b/test/stub/nuvi 2595LMT_files/1477.jpg -------------------------------------------------------------------------------- /test/stub/nuvi 2595LMT_files/1478.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indix/css-optimum-selector/49d256d09817af201785b49b49e466a39410bb2b/test/stub/nuvi 2595LMT_files/1478.jpg -------------------------------------------------------------------------------- /test/stub/nuvi 2595LMT_files/824.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indix/css-optimum-selector/49d256d09817af201785b49b49e466a39410bb2b/test/stub/nuvi 2595LMT_files/824.jpg -------------------------------------------------------------------------------- /test/stub/nuvi 2595LMT_files/838.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indix/css-optimum-selector/49d256d09817af201785b49b49e466a39410bb2b/test/stub/nuvi 2595LMT_files/838.jpg -------------------------------------------------------------------------------- /test/stub/nuvi 2595LMT_files/dswidget.css: -------------------------------------------------------------------------------- 1 | 2 | /* widgets definitions */ 3 | 4 | .noItems { 5 | padding-top: 5px; 6 | padding: 5px; 7 | padding-left: 10px; 8 | margin: 0px; 9 | font-size: 10px; 10 | font-weight: normal; 11 | } 12 | 13 | 14 | /* begin widgetSidebar */ 15 | /* used in templates/cart.sidebar.tem.php */ 16 | 17 | #widgetSidebar { 18 | float: right; 19 | font-size: 10px; 20 | font-family: Tahoma; 21 | width: 220px; 22 | text-align: left; 23 | border: 1px solid #000000; 24 | margin-top: 10px; 25 | } 26 | 27 | #widgetSidebar .top { 28 | padding-left: 10px; 29 | padding-top: 4px; 30 | padding-bottom: 4px; 31 | font-weight: bold; 32 | font-size: 12px; 33 | text-align: left; 34 | } 35 | 36 | #widgetSidebar .body { 37 | margin: 5px; 38 | } 39 | 40 | #widgetSidebar .top a { 41 | font-size: 12px; 42 | font-weight: bold; 43 | text-decoration: underline; 44 | } 45 | 46 | #widgetSidebar .top a:hover { 47 | text-decoration: none; 48 | } 49 | 50 | #widgetSidebar .body { } 51 | 52 | #widgetSidebar .body .items { 53 | padding: 2px; 54 | font-size: 11px; 55 | } 56 | 57 | #widgetSidebar .body .subtotal { 58 | padding: 2px; 59 | font-size: 11px; 60 | font-weight: bold; 61 | } 62 | 63 | #widgetSidebar .btm { } 64 | 65 | /* end widgetSidebar */ 66 | 67 | 68 | 69 | 70 | 71 | 72 | /* begin widgetSidebarDetailed */ 73 | /* used in templates/cart.sidebar.detailed.tem.php */ 74 | 75 | #widgetSidebarDetailed { 76 | float: right; 77 | font-size: 10px; 78 | font-family: Tahoma; 79 | width: 220px; 80 | text-align: left; 81 | border: 1px solid #000000; 82 | margin: 0px; 83 | margin-top: 10px; 84 | } 85 | 86 | #widgetSidebarDetailed form { 87 | margin: 0; 88 | padding: 0; 89 | } 90 | 91 | #widgetSidebarDetailed form table { 92 | padding: 0; 93 | margin: 0; 94 | } 95 | 96 | #widgetSidebarDetailed .top { 97 | padding-left: 10px; 98 | padding-top: 4px; 99 | padding-bottom: 4px; 100 | font-weight: bold; 101 | font-size: 12px; 102 | text-align: left; 103 | } 104 | 105 | #widgetSidebarDetailed .items { 106 | padding: 2px; 107 | font-size: 11px; 108 | } 109 | 110 | #widgetSidebarDetailed .price { 111 | padding: 2px; 112 | font-size: 11px; 113 | font-weight: bold; 114 | } 115 | 116 | #widgetSidebarDetailed .btm { } 117 | 118 | /* end widgetSidebarDetailed */ 119 | 120 | 121 | 122 | 123 | 124 | 125 | /* begin widgetLanguage */ 126 | /* used in templates/cart.language.tem.php */ 127 | 128 | #widgetLanguage { 129 | float: right; 130 | font-size: 10px; 131 | font-family: Tahoma; 132 | width: 220px; 133 | text-align: left; 134 | border: 1px solid #000000; 135 | margin-top: 10px; 136 | } 137 | 138 | #widgetLanguage .top { 139 | padding-left: 10px; 140 | padding-top: 4px; 141 | padding-bottom: 4px; 142 | font-weight: bold; 143 | font-size: 12px; 144 | text-align: left; 145 | } 146 | 147 | #widgetLanguage .body { 148 | margin: 5px; 149 | } 150 | 151 | #widgetLanguage .body select { 152 | width: 116px; 153 | height: 18px; 154 | color: #464646; 155 | font-size: 10px; 156 | margin-left: 4px; 157 | } 158 | 159 | #widgetLanguage .btm { 160 | 161 | } 162 | 163 | /* end widgetLanguage */ 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | /* begin widgetCurrency */ 176 | /* used in templates/cart.currency.tem.php */ 177 | 178 | #widgetCurrency { 179 | float: right; 180 | font-size: 10px; 181 | font-family: Tahoma; 182 | width: 220px; 183 | text-align: left; 184 | border: 1px solid #000000; 185 | margin-top: 10px; 186 | } 187 | 188 | #widgetCurrency .top { 189 | padding-left: 10px; 190 | padding-top: 4px; 191 | padding-bottom: 4px; 192 | font-weight: bold; 193 | font-size: 12px; 194 | text-align: left; 195 | } 196 | 197 | #widgetCurrency .body { 198 | margin: 5px; 199 | } 200 | 201 | #widgetCurrency .body select { 202 | width: 116px; 203 | height: 18px; 204 | color: #464646; 205 | font-size: 10px; 206 | margin-left: 4px; 207 | } 208 | 209 | #widgetCurrency .btm { 210 | 211 | } 212 | 213 | /* end widgetCurrency */ 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | /* begin widgetSearch */ 224 | /* used in templates/cart.search.tem.php */ 225 | 226 | #widgetSearch { 227 | float: right; 228 | font-size: 10px; 229 | font-family: Tahoma; 230 | width: 220px; 231 | text-align: left; 232 | border: 1px solid #000000; 233 | margin-top: 10px; 234 | } 235 | 236 | #widgetSearch .top { 237 | padding-left: 10px; 238 | padding-top: 4px; 239 | padding-bottom: 4px; 240 | font-weight: bold; 241 | font-size: 12px; 242 | text-align: left; 243 | } 244 | 245 | #widgetSearch .body { 246 | margin: 5px; 247 | } 248 | 249 | #widgetSearch .body .field { 250 | float: left; 251 | padding-left: 4px; 252 | } 253 | 254 | #widgetSearch .body .field input { 255 | width: 150px; 256 | font-size: 11px; 257 | font-family: Tahoma; 258 | } 259 | 260 | #widgetSearch .body .button input { 261 | font-size: 11px; 262 | font-family: Tahoma; 263 | } 264 | 265 | #widgetSearch .body .button { 266 | font-weight: bold; 267 | font-size: 11px; 268 | float: left; 269 | width: 25px; 270 | height: 19px; 271 | padding-left: 2px; 272 | text-align: center; 273 | vertical-align: middle; 274 | } 275 | 276 | #widgetSearch .body .button a { 277 | text-decoration: none; 278 | } 279 | 280 | #widgetSearch .body .button a:hover { 281 | text-decoration: underline; 282 | } 283 | 284 | #widgetSearch .advanced { 285 | clear: left; 286 | float: left; 287 | font-size: 9px; 288 | padding-top: 5px; 289 | margin-left: 13px; 290 | padding-bottom: 10px; 291 | } 292 | 293 | #widgetSearch .advanced a { 294 | text-decoration: underline; 295 | } 296 | 297 | #widgetSearch .advanced a:hover { 298 | text-decoration: none; 299 | } 300 | 301 | #widgetSearch .btm { 302 | padding-left: 15px; 303 | padding-top: 8px; 304 | font-weight: bold; 305 | font-size: 14px; 306 | } 307 | 308 | /* end widgetSearch */ 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | /* begin widgetVendors */ 320 | /* used in templates/cart.vendors.tem.php */ 321 | 322 | #widgetVendors { 323 | float: right; 324 | font-size: 10px; 325 | font-family: Tahoma; 326 | width: 220px; 327 | text-align: left; 328 | border: 1px solid #000000; 329 | margin-top: 10px; 330 | } 331 | 332 | #widgetVendors .top { 333 | padding-left: 10px; 334 | padding-top: 4px; 335 | padding-bottom: 4px; 336 | font-weight: bold; 337 | font-size: 12px; 338 | text-align: left; 339 | } 340 | 341 | #widgetVendors .body { 342 | margin: 0px; 343 | } 344 | 345 | #widgetVendors .body ul { 346 | padding: 0; 347 | margin: 0 0 0 1px; 348 | list-style: none; 349 | text-align: left; 350 | } 351 | 352 | #widgetVendors .body ul li { 353 | padding-left: 20px; 354 | background-image: url(../../design/images/arrow.gif); 355 | background-repeat: no-repeat; 356 | background-position: .75em; 357 | font-size: 13px; 358 | } 359 | 360 | #widgetVendors .body ul li a { 361 | text-decoration: underline; 362 | line-height: 20px; 363 | } 364 | 365 | #widgetVendors .body ul li a:hover { 366 | text-decoration: none; 367 | } 368 | 369 | #widgetVendors .btm { 370 | 371 | } 372 | 373 | /* end widgetVendors */ 374 | 375 | 376 | 377 | 378 | 379 | 380 | 381 | 382 | 383 | 384 | 385 | 386 | 387 | 388 | 389 | /* begin widgetCategories */ 390 | /* used in templates/cart.categories.tem.php */ 391 | 392 | #widgetCategories { 393 | float: right; 394 | font-size: 10px; 395 | font-family: Tahoma; 396 | width: 220px; 397 | text-align: left; 398 | border: 1px solid #000000; 399 | margin-top: 10px; 400 | } 401 | 402 | #widgetCategories .top { 403 | padding-left: 10px; 404 | padding-top: 4px; 405 | padding-bottom: 4px; 406 | font-weight: bold; 407 | font-size: 12px; 408 | text-align: left; 409 | } 410 | 411 | #widgetCategories .body { 412 | margin-bottom: 5px; 413 | } 414 | 415 | #widgetCategories .body ul { 416 | padding: 0; 417 | margin: 0 0 0 1px; 418 | list-style: none; 419 | text-align: left; 420 | } 421 | 422 | #widgetCategories .body ul li { 423 | padding-left: 20px; 424 | background-image: url(../../design/images/arrow.gif); 425 | background-repeat: no-repeat; 426 | background-position: .75em; 427 | font-size: 13px; 428 | } 429 | 430 | #widgetCategories .body ul li a { 431 | text-decoration: underline; 432 | line-height: 20px; 433 | } 434 | 435 | #widgetCategories .body ul li a:hover { 436 | text-decoration: none; 437 | } 438 | 439 | #widgetCategories .btm { } 440 | 441 | /* end widgetCategories */ 442 | 443 | 444 | 445 | 446 | 447 | 448 | 449 | /* begin widgetRewardPoints */ 450 | /* used in templates/cart.reward.points.tem.php */ 451 | 452 | #widgetRewardPoints { 453 | float: right; 454 | font-size: 10px; 455 | font-family: Tahoma; 456 | width: 220px; 457 | text-align: left; 458 | border: 1px solid #000000; 459 | margin-top: 10px; 460 | } 461 | 462 | #widgetRewardPoints .top { 463 | padding-left: 10px; 464 | padding-top: 4px; 465 | padding-bottom: 4px; 466 | font-weight: bold; 467 | font-size: 12px; 468 | text-align: left; 469 | } 470 | 471 | #widgetRewardPoints .body { 472 | padding: 8px; 473 | } 474 | 475 | #widgetRewardPoints .body a { 476 | text-decoration: underline; 477 | font-weight: normal; 478 | } 479 | 480 | #widgetRewardPoints .body a:hover { 481 | text-decoration: none; 482 | font-weight: normal; 483 | } 484 | 485 | #widgetRewardPoints .btm { } 486 | 487 | /* end widgetRewardPoints */ 488 | 489 | 490 | 491 | 492 | 493 | 494 | 495 | 496 | 497 | 498 | 499 | /* begin widgetInformation */ 500 | /* used in templates/cart.information.tem.php */ 501 | 502 | #widgetInformation { 503 | float: right; 504 | font-size: 10px; 505 | font-family: Tahoma; 506 | width: 220px; 507 | text-align: left; 508 | border: 1px solid #000000; 509 | margin-top: 10px; 510 | } 511 | 512 | #widgetInformation .top { 513 | padding-left: 10px; 514 | padding-top: 4px; 515 | padding-bottom: 4px; 516 | font-weight: bold; 517 | font-size: 12px; 518 | text-align: left; 519 | } 520 | 521 | #widgetInformation .body { 522 | margin-top: 5px; 523 | margin-bottom: 5px; 524 | } 525 | 526 | #widgetInformation .body ul { 527 | padding: 0; 528 | margin: 0 0 0 1px; 529 | list-style: none; 530 | text-align: left; 531 | } 532 | 533 | #widgetInformation .body ul li { 534 | padding-left: 20px; 535 | background-image: url(../../design/images/arrow.gif); 536 | background-repeat: no-repeat; 537 | background-position: .75em; 538 | font-size: 13px; 539 | } 540 | 541 | #widgetInformation .body ul li a { 542 | text-decoration: underline; 543 | line-height: 20px; 544 | } 545 | 546 | #widgetInformation .body ul li a:hover { 547 | text-decoration: none; 548 | } 549 | 550 | #widgetInformation .btm { 551 | 552 | } 553 | 554 | /* end widgetInformation */ 555 | 556 | 557 | 558 | 559 | 560 | 561 | 562 | 563 | 564 | /* begin widgetNewArrivals */ 565 | /* used in templates/cart.new.arrivals.tem.php */ 566 | 567 | #widgetNewArrivals { 568 | float: right; 569 | font-size: 10px; 570 | font-family: Tahoma; 571 | width: 220px; 572 | text-align: left; 573 | border: 1px solid #000000; 574 | margin-top: 10px; 575 | padding-bottom: 10px; 576 | } 577 | 578 | #widgetNewArrivals .top { 579 | padding-left: 10px; 580 | padding-top: 4px; 581 | padding-bottom: 4px; 582 | font-weight: bold; 583 | font-size: 12px; 584 | text-align: left; 585 | } 586 | 587 | #widgetNewArrivals .body { 588 | margin: 5px; 589 | } 590 | 591 | #widgetNewArrivals .body .photo { 592 | width: auto; 593 | float: left; 594 | } 595 | 596 | #widgetNewArrivals .body .title { 597 | font-size: 11px; 598 | font-weight: bold; 599 | text-align: right; 600 | line-height: 16px; 601 | } 602 | 603 | #widgetNewArrivals .body .title a { 604 | text-decoration: underline; 605 | } 606 | 607 | #widgetNewArrivals .body .title a:hover { 608 | text-decoration: none; 609 | } 610 | 611 | #widgetNewArrivals .body .sprice { 612 | float: right; 613 | font-size: 11px; 614 | font-weight: bold; 615 | text-align: right; 616 | line-height: 18px; 617 | padding-top: 8px; 618 | width: 75px; 619 | } 620 | 621 | #widgetNewArrivals .body .sdetails { 622 | background:url(../../design/images/small_btn.gif) no-repeat center center; 623 | font-weight: bold; 624 | font-size: 11px; 625 | float: right; 626 | clear: right; 627 | padding-top: 10px; 628 | padding-bottom: 6px; 629 | width: 64px; 630 | height: 19px; 631 | text-align: center; 632 | vertical-align: middle; 633 | } 634 | 635 | #widgetNewArrivals .body .sdetailsNoImg { 636 | font-weight: bold; 637 | font-size: 11px; 638 | float: right; 639 | clear: right; 640 | padding-top: 10px; 641 | padding-bottom: 6px; 642 | width: 64px; 643 | height: 19px; 644 | text-align: center; 645 | vertical-align: middle; 646 | } 647 | 648 | 649 | #widgetNewArrivals .body .sdetails a { 650 | color: #FFFFFF; 651 | text-decoration: none; 652 | } 653 | 654 | #widgetNewArrivals .body .sdetails a:hover { 655 | color: #FFFFFF; 656 | text-decoration: underline; 657 | } 658 | 659 | #widgetNewArrivals .body .all-link { 660 | padding-top: 15px; 661 | float: right; 662 | clear: right; 663 | width: 100px; 664 | text-align: right; 665 | } 666 | 667 | #widgetNewArrivals .body .all-link a { 668 | text-decoration: underline; 669 | } 670 | 671 | #widgetNewArrivals .body .all-link a:hover { 672 | text-decoration: none; 673 | } 674 | 675 | #widgetNewArrivals .btm { } 676 | 677 | /* end widgetNewArrivals */ 678 | 679 | 680 | 681 | 682 | 683 | 684 | 685 | 686 | /* begin widgetSpecials */ 687 | /* used in templates/cart.specials.tem.php */ 688 | 689 | #widgetSpecials { 690 | float: right; 691 | font-size: 10px; 692 | font-family: Tahoma; 693 | width: 220px; 694 | text-align: left; 695 | border: 1px solid #000000; 696 | margin-top: 10px; 697 | padding-bottom: 10px; 698 | height: auto; 699 | } 700 | 701 | #widgetSpecials .top { 702 | padding-left: 10px; 703 | padding-top: 4px; 704 | padding-bottom: 4px; 705 | font-weight: bold; 706 | font-size: 12px; 707 | text-align: left; 708 | } 709 | 710 | #widgetSpecials .body { 711 | margin: 5px; 712 | } 713 | 714 | #widgetSpecials .body .photo { 715 | width: auto; 716 | float: left; 717 | } 718 | 719 | #widgetSpecials .body .title { 720 | font-size: 11px; 721 | font-weight: bold; 722 | text-align: right; 723 | line-height: 16px; 724 | } 725 | 726 | #widgetSpecials .body .title a { 727 | text-decoration: underline; 728 | } 729 | 730 | #widgetSpecials .body .title a:hover { 731 | text-decoration: none; 732 | } 733 | 734 | #widgetSpecials .body .sprice { 735 | float: right; 736 | font-size: 11px; 737 | font-weight: bold; 738 | text-align: right; 739 | line-height: 18px; 740 | padding-top: 8px; 741 | width: 75px; 742 | } 743 | 744 | #widgetSpecials .body .sdetails { 745 | background:url(../../design/images/small_btn.gif) no-repeat center center; 746 | font-weight: bold; 747 | font-size: 11px; 748 | float: right; 749 | clear: right; 750 | padding-top: 10px; 751 | padding-bottom: 6px; 752 | width: 64px; 753 | height: 19px; 754 | text-align: center; 755 | vertical-align: middle; 756 | } 757 | 758 | #widgetSpecials .body .sdetailsNoImg { 759 | font-weight: bold; 760 | font-size: 11px; 761 | float: right; 762 | clear: right; 763 | padding-top: 10px; 764 | padding-bottom: 6px; 765 | width: 64px; 766 | height: 19px; 767 | text-align: center; 768 | vertical-align: middle; 769 | } 770 | 771 | #widgetSpecials .body .sdetails a { 772 | color: #FFFFFF; 773 | text-decoration: none; 774 | } 775 | 776 | #widgetSpecials .body .sdetails a:hover { 777 | color: #FFFFFF; 778 | text-decoration: underline; 779 | } 780 | 781 | #widgetSpecials .body .all-link { 782 | padding-top: 15px; 783 | float: right; 784 | clear: right; 785 | width: 100px; 786 | text-align: right; 787 | } 788 | 789 | #widgetSpecials .body .all-link a { 790 | text-decoration: underline; 791 | } 792 | 793 | #widgetSpecials .body .all-link a:hover { 794 | text-decoration: none; 795 | } 796 | 797 | #widgetSpecials .btm { } 798 | 799 | 800 | /* end widgetSpecials */ 801 | 802 | 803 | 804 | 805 | 806 | 807 | 808 | 809 | 810 | 811 | 812 | 813 | 814 | /* begin widgetTopSellers */ 815 | /* used in templates/cart.top.sellers.tem.php */ 816 | #widgetTopSellers { 817 | float: right; 818 | font-size: 10px; 819 | font-family: Tahoma; 820 | width: 220px; 821 | text-align: left; 822 | border: 1px solid #000000; 823 | margin-top: 10px; 824 | padding-bottom: 10px; 825 | } 826 | 827 | #widgetTopSellers .top { 828 | padding-left: 10px; 829 | padding-top: 4px; 830 | padding-bottom: 4px; 831 | font-weight: bold; 832 | font-size: 12px; 833 | text-align: left; 834 | } 835 | 836 | #widgetTopSellers .body { 837 | margin: 5px; 838 | } 839 | 840 | #widgetTopSellers .body .photo { 841 | width: auto; 842 | float: left; 843 | } 844 | 845 | #widgetTopSellers .body .title { 846 | font-size: 11px; 847 | font-weight: bold; 848 | text-align: right; 849 | line-height: 16px; 850 | } 851 | 852 | #widgetTopSellers .body .title a { 853 | text-decoration: underline; 854 | } 855 | 856 | #widgetTopSellers .body .title a:hover { 857 | text-decoration: none; 858 | } 859 | 860 | #widgetTopSellers .body .sprice { 861 | float: right; 862 | font-size: 11px; 863 | font-weight: bold; 864 | text-align: right; 865 | line-height: 18px; 866 | padding-top: 8px; 867 | width: 75px; 868 | } 869 | 870 | #widgetTopSellers .body .sdetails { 871 | background:url(../../design/images/small_btn.gif) no-repeat center center; 872 | font-weight: bold; 873 | font-size: 11px; 874 | float: right; 875 | clear: right; 876 | padding-top: 10px; 877 | padding-bottom: 6px; 878 | width: 64px; 879 | height: 19px; 880 | text-align: center; 881 | vertical-align: middle; 882 | } 883 | 884 | #widgetTopSellers .body .sdetailsNoImg { 885 | font-weight: bold; 886 | font-size: 11px; 887 | float: right; 888 | clear: right; 889 | padding-top: 10px; 890 | padding-bottom: 6px; 891 | width: 64px; 892 | height: 19px; 893 | text-align: center; 894 | vertical-align: middle; 895 | } 896 | 897 | #widgetTopSellers .body .sdetails a { 898 | color: #FFFFFF; 899 | text-decoration: none; 900 | } 901 | 902 | #widgetTopSellers .body .sdetails a:hover { 903 | color: #FFFFFF; 904 | text-decoration: underline; 905 | } 906 | 907 | #widgetTopSellers .body .all-link { 908 | padding-top: 15px; 909 | float: right; 910 | clear: right; 911 | width: 100px; 912 | text-align: right; 913 | } 914 | 915 | #widgetTopSellers .body .all-link a { 916 | text-decoration: underline; 917 | } 918 | 919 | #widgetTopSellers .body .all-link a:hover { 920 | text-decoration: none; 921 | } 922 | 923 | #widgetTopSellers .btm { } 924 | 925 | /* end widgetTopSellers */ 926 | 927 | 928 | 929 | 930 | 931 | 932 | 933 | 934 | /* begin widgetFeatured */ 935 | /* used in templates/cart.featured.tem.php */ 936 | 937 | #widgetFeatured { 938 | float: right; 939 | font-size: 10px; 940 | font-family: Tahoma; 941 | width: 220px; 942 | text-align: left; 943 | border: 1px solid #000000; 944 | margin-top: 10px; 945 | padding-bottom: 10px; 946 | } 947 | 948 | #widgetFeatured .top { 949 | padding-left: 10px; 950 | padding-top: 4px; 951 | padding-bottom: 4px; 952 | font-weight: bold; 953 | font-size: 12px; 954 | text-align: left; 955 | } 956 | 957 | #widgetFeatured .body { 958 | margin: 5px; 959 | } 960 | 961 | #widgetFeatured .body .photo { 962 | width: auto; 963 | float: left; 964 | } 965 | 966 | #widgetFeatured .body .title { 967 | font-size: 11px; 968 | font-weight: bold; 969 | text-align: right; 970 | line-height: 16px; 971 | } 972 | 973 | #widgetFeatured .body .title a { 974 | text-decoration: underline; 975 | } 976 | 977 | #widgetFeatured .body .title a:hover { 978 | text-decoration: none; 979 | } 980 | 981 | #widgetFeatured .body .sprice { 982 | float: right; 983 | font-size: 11px; 984 | font-weight: bold; 985 | text-align: right; 986 | line-height: 18px; 987 | padding-top: 8px; 988 | width: 75px; 989 | } 990 | 991 | #widgetFeatured .body .sdetails { 992 | background:url(../../design/images/small_btn.gif) no-repeat center center; 993 | font-weight: bold; 994 | font-size: 11px; 995 | float: right; 996 | clear: right; 997 | padding-top: 10px; 998 | padding-bottom: 6px; 999 | width: 64px; 1000 | height: 19px; 1001 | text-align: center; 1002 | vertical-align: middle; 1003 | } 1004 | 1005 | #widgetFeatured .body .sdetailsNoImg { 1006 | font-weight: bold; 1007 | font-size: 11px; 1008 | float: right; 1009 | clear: right; 1010 | padding-top: 10px; 1011 | padding-bottom: 6px; 1012 | width: 64px; 1013 | height: 19px; 1014 | text-align: center; 1015 | vertical-align: middle; 1016 | } 1017 | 1018 | #widgetFeatured .body .sdetails a { 1019 | color: #FFFFFF; 1020 | text-decoration: none; 1021 | } 1022 | 1023 | #widgetFeatured .body .sdetails a:hover { 1024 | color: #FFFFFF; 1025 | text-decoration: underline; 1026 | } 1027 | 1028 | #widgetFeatured .body .all-link { 1029 | padding-top: 15px; 1030 | float: right; 1031 | clear: right; 1032 | width: 100px; 1033 | text-align: right; 1034 | } 1035 | 1036 | #widgetFeatured .body .all-link a { 1037 | text-decoration: underline; 1038 | } 1039 | 1040 | #widgetFeatured .body .all-link a:hover { 1041 | text-decoration: none; 1042 | } 1043 | 1044 | #widgetFeatured .btm { 1045 | } 1046 | 1047 | /* end widgetFeatured */ 1048 | 1049 | 1050 | 1051 | 1052 | 1053 | 1054 | 1055 | /* begin widgetSubscribe */ 1056 | /* used in templates/cart.subscribe.tem.php */ 1057 | 1058 | #widgetSubscribe { 1059 | margin-top: 10px; 1060 | float: right; 1061 | font-size: 10px; 1062 | font-family: Tahoma; 1063 | width: 220px; 1064 | text-align: left; 1065 | border: 1px solid #000000; 1066 | } 1067 | 1068 | #widgetSubscribe .top { 1069 | padding-left: 10px; 1070 | padding-top: 4px; 1071 | padding-bottom: 4px; 1072 | font-weight: bold; 1073 | font-size: 12px; 1074 | text-align: left; 1075 | } 1076 | 1077 | #widgetSubscribe .body { 1078 | height: 25px; 1079 | padding: 10px; 1080 | } 1081 | 1082 | #widgetSubscribe .body .field { 1083 | float: left; 1084 | } 1085 | 1086 | #widgetSubscribe .body .field input { 1087 | width: 150px; 1088 | color: #464646; 1089 | font-size: 11px; 1090 | font-family: Tahoma; 1091 | padding-left: 4px; 1092 | } 1093 | 1094 | #widgetSubscribe .body .button input { 1095 | color: #464646; 1096 | font-size: 11px; 1097 | font-family: Tahoma; 1098 | } 1099 | 1100 | #widgetSubscribe .body .button { 1101 | font-weight: bold; 1102 | font-size: 11px; 1103 | float: left; 1104 | width: 25px; 1105 | height: 19px; 1106 | padding-left: 2px; 1107 | text-align: center; 1108 | vertical-align: middle; 1109 | } 1110 | 1111 | #widgetSubscribe .body .button a { 1112 | text-decoration: none; 1113 | } 1114 | 1115 | #widgetSubscribe .body .button a:hover { 1116 | text-decoration: underline; 1117 | } 1118 | 1119 | #widgetSubscribe .btm { 1120 | 1121 | } 1122 | 1123 | /* end widgetSubscribe */ 1124 | 1125 | 1126 | 1127 | 1128 | 1129 | 1130 | 1131 | 1132 | 1133 | 1134 | 1135 | 1136 | /* begin widgetFooter */ 1137 | /* used in templates/cart.footer.tem.php */ 1138 | 1139 | #widgetFooter { 1140 | height: auto; 1141 | margin-top: 25px; 1142 | width: 600px; 1143 | } 1144 | 1145 | #widgetFooter hr { 1146 | background-color: #878787; 1147 | color: #878787; 1148 | height: 1px; 1149 | clear: left; 1150 | float: left; 1151 | } 1152 | 1153 | #widgetFooter .actionItems { 1154 | clear: left; 1155 | float: left; 1156 | line-height: 22px; 1157 | font-size: 100%; 1158 | font-weight: bold; 1159 | width: 100%; 1160 | } 1161 | 1162 | #widgetFooter .actionItems a { 1163 | text-decoration: underline; 1164 | } 1165 | 1166 | #widgetFooter .actionItems a:hover { 1167 | text-decoration: none; 1168 | } 1169 | 1170 | #widgetFooter .copyright { 1171 | clear: left; 1172 | float: left; 1173 | line-height: 22px; 1174 | margin-top: 20px; 1175 | width: 150px;; 1176 | } 1177 | 1178 | #widgetFooter .copyright a { 1179 | text-decoration: underline; 1180 | } 1181 | 1182 | #widgetFooter .copyright a:hover { 1183 | text-decoration: none; 1184 | } 1185 | 1186 | #widgetFooter .img { 1187 | border: 1px solid orange; 1188 | background: url(../images/design/p1.gif) no-repeat fixed center left; 1189 | float: left; 1190 | width: 165px; 1191 | height: 30px; 1192 | } 1193 | 1194 | #widgetFooter .nav { 1195 | float: right; 1196 | text-align: left; 1197 | width: auto; 1198 | line-height: 16px; 1199 | padding: 6px; 1200 | margin-left: 10px; 1201 | margin-top: 5px; 1202 | } 1203 | 1204 | #widgetFooter .nav .title { 1205 | text-align: left; 1206 | font-weight: bold; 1207 | font-size: 12px; 1208 | } 1209 | 1210 | #widgetFooter .nav ul { 1211 | padding: 0; 1212 | margin: 0 0 0 1px; 1213 | list-style: none; 1214 | text-align: left; 1215 | } 1216 | 1217 | #widgetFooter .nav ul li { 1218 | text-align: left; 1219 | } 1220 | 1221 | #widgetFooter .nav ul li a { 1222 | text-decoration: underline; 1223 | } 1224 | 1225 | #widgetFooter .nav ul li a:hover { 1226 | text-decoration: underline; 1227 | } 1228 | 1229 | /* end widgetFooter */ 1230 | 1231 | 1232 | /* begin widgetImages */ 1233 | /* used in templates/cart.left_image.tem.php */ 1234 | /* used in templates/cart.right_image.tem.php */ 1235 | /* used in templates/cart.horizontal_image.tem.php */ 1236 | 1237 | .widgetImages { 1238 | margin-top: 15px; 1239 | float: right; 1240 | color: #464646; 1241 | font-family: Tahoma; 1242 | text-align: left; 1243 | } 1244 | 1245 | .widgetImages .text { 1246 | text-align: left; 1247 | font-size: 12px; 1248 | clear: left; 1249 | } 1250 | /* end widgetImages */ 1251 | 1252 | 1253 | /* begin widgetPos */ 1254 | /* used in templates/cart.pos.tem.php */ 1255 | 1256 | #widgetPos { 1257 | float: left; 1258 | clear: both; 1259 | width: 98%; 1260 | padding-bottom: 15px; 1261 | text-align: left; 1262 | margin: 5px; 1263 | } 1264 | 1265 | #widgetPos #productNumber { 1266 | clear: left; 1267 | float: left; 1268 | padding-right: 15px; 1269 | width: 100%; 1270 | } 1271 | 1272 | #widgetPos #postal { 1273 | float: left; 1274 | padding-right: 15px; 1275 | } 1276 | 1277 | #widgetPos #cvv { 1278 | float: left; 1279 | } 1280 | 1281 | #widgetPos #cash { 1282 | float: left; 1283 | clear: left; 1284 | padding-right: 15px; 1285 | padding-top: 10px; 1286 | width: 95%; 1287 | } 1288 | 1289 | #widgetPos #credit { 1290 | float: left; 1291 | clear: left; 1292 | padding-top: 10px; 1293 | width: 95%; 1294 | } 1295 | 1296 | #widgetPos #check { 1297 | float: left; 1298 | clear: left; 1299 | padding-right: 15px; 1300 | padding-top: 10px; 1301 | width: 95%; 1302 | } 1303 | 1304 | #widgetPos #expiration { 1305 | float: left; 1306 | padding-top: 10px; 1307 | } 1308 | 1309 | #widgetPos #links { 1310 | float: left; 1311 | clear: left; 1312 | padding-top: 10px; 1313 | } 1314 | 1315 | #widgetPos .link { 1316 | padding-right: 20px; 1317 | float: left; 1318 | clear: none; 1319 | } 1320 | /* end widgetPos */ 1321 | 1322 | /* begin widgetShopByPrice */ 1323 | #widgetShopByPrice { 1324 | float: right; 1325 | font-size: 10px; 1326 | font-family: Tahoma; 1327 | width: 220px; 1328 | text-align: left; 1329 | border: 1px solid #000000; 1330 | margin-top: 10px; 1331 | padding-bottom: 10px; 1332 | } 1333 | 1334 | #widgetShopByPrice .top { 1335 | padding-left: 10px; 1336 | padding-top: 4px; 1337 | padding-bottom: 4px; 1338 | font-weight: bold; 1339 | font-size: 12px; 1340 | text-align: left; 1341 | } 1342 | 1343 | #widgetShopByPrice .body { 1344 | margin: 5px; 1345 | } 1346 | /* end widgetShopByPrice */ 1347 | 1348 | 1349 | 1350 | 1351 | 1352 | 1353 | /* begin widgetCustomProductLists */ 1354 | /* used in templates/cart.custom.list.tem.php */ 1355 | 1356 | .widgetCustomProductLists { 1357 | float: right; 1358 | font-size: 10px; 1359 | font-family: Tahoma; 1360 | width: 220px; 1361 | text-align: left; 1362 | border: 1px solid #000000; 1363 | margin-top: 10px; 1364 | } 1365 | 1366 | .widgetCustomProductLists .top { 1367 | padding-left: 10px; 1368 | padding-top: 4px; 1369 | padding-bottom: 4px; 1370 | font-weight: bold; 1371 | font-size: 12px; 1372 | text-align: left; 1373 | } 1374 | 1375 | .widgetCustomProductLists .body { 1376 | margin: 0px; 1377 | } 1378 | 1379 | .widgetCustomProductLists .body ul { 1380 | padding: 0; 1381 | margin: 0 0 0 1px; 1382 | list-style: none; 1383 | text-align: left; 1384 | } 1385 | 1386 | .widgetCustomProductLists .body ul li { 1387 | padding-left: 20px; 1388 | background-image: url(../../design/images/arrow.gif); 1389 | background-repeat: no-repeat; 1390 | background-position: .75em; 1391 | font-size: 13px; 1392 | } 1393 | 1394 | .widgetCustomProductLists .body ul li a { 1395 | text-decoration: underline; 1396 | line-height: 20px; 1397 | } 1398 | 1399 | .widgetCustomProductLists .body ul li a:hover { 1400 | text-decoration: none; 1401 | } 1402 | 1403 | .widgetCustomProductLists .btm { 1404 | 1405 | } 1406 | 1407 | /* end widgetCustomProductLists */ -------------------------------------------------------------------------------- /test/stub/nuvi 2595LMT_files/ga.js: -------------------------------------------------------------------------------- 1 | (function(){var E;function Aa(a,b){switch(b){case 0:return""+a;case 1:return 1*a;case 2:return!!a;case 3:return 1E3*a}return a}function Ba(a){return"function"==typeof a}function Ca(a){return void 0!=a&&-1<(a.constructor+"").indexOf("String")}function F(a,b){return void 0==a||"-"==a&&!b||""==a}function Da(a){if(!a||""==a)return"";for(;a&&-1<" \n\r\t".indexOf(a.charAt(0));)a=a.substring(1);for(;a&&-1<" \n\r\t".indexOf(a.charAt(a.length-1));)a=a.substring(0,a.length-1);return a} 2 | function Ea(){return Math.round(2147483647*Math.random())}function Fa(){}function G(a,b){if(encodeURIComponent instanceof Function)return b?encodeURI(a):encodeURIComponent(a);H(68);return escape(a)}function I(a){a=a.split("+").join(" ");if(decodeURIComponent instanceof Function)try{return decodeURIComponent(a)}catch(b){H(17)}else H(68);return unescape(a)}var Ga=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,!!d):a.attachEvent&&a.attachEvent("on"+b,c)}; 3 | function Ia(a,b){if(a){var c=J.createElement("script");c.type="text/javascript";c.async=!0;c.src=a;c.id=b;var d=J.getElementsByTagName("script")[0];d.parentNode.insertBefore(c,d);return c}}function K(a){return a&&0a.split("/")[0].indexOf(":")&&(a=k+f[2].substring(0,f[2].lastIndexOf("/"))+ 8 | "/"+a):a=k+f[2]+(a||Be);d.href=a;e=c(d);return{protocol:(d.protocol||"").toLowerCase(),host:e[0],port:e[1],path:e[2],Oa:d.search||"",url:a||""}}function Na(a,b){function c(b,c){a.contains(b)||a.set(b,[]);a.get(b).push(c)}for(var d=Da(b).split("&"),e=0;ef?c(d[e],"1"):c(d[e].substring(0,f),d[e].substring(f+1))}} 9 | function Pa(a,b){if(F(a)||"["==a.charAt(0)&&"]"==a.charAt(a.length-1))return"-";var c=J.domain;return a.indexOf(c+(b&&"/"!=b?b:""))==(0==a.indexOf("http://")?7:0==a.indexOf("https://")?8:0)?"0":a};var Qa=0;function Ra(a,b,c){1<=Qa||1<=100*Math.random()||ld()||(a=["utmt=error","utmerr="+a,"utmwv=5.6.7","utmn="+Ea(),"utmsp=1"],b&&a.push("api="+b),c&&a.push("msg="+G(c.substring(0,100))),M.w&&a.push("aip=1"),Sa(a.join("&")),Qa++)};var Ta=0,Ua={};function N(a){return Va("x"+Ta++,a)}function Va(a,b){Ua[a]=!!b;return a} 10 | var Wa=N(),Xa=Va("anonymizeIp"),Ya=N(),$a=N(),ab=N(),bb=N(),O=N(),P=N(),cb=N(),db=N(),eb=N(),fb=N(),gb=N(),hb=N(),ib=N(),jb=N(),kb=N(),lb=N(),nb=N(),ob=N(),pb=N(),qb=N(),rb=N(),sb=N(),tb=N(),ub=N(),vb=N(),wb=N(),xb=N(),yb=N(),zb=N(),Ab=N(),Bb=N(),Cb=N(),Db=N(),Eb=N(),Fb=N(!0),Gb=Va("currencyCode"),Hb=Va("page"),Ib=Va("title"),Jb=N(),Kb=N(),Lb=N(),Mb=N(),Nb=N(),Ob=N(),Pb=N(),Qb=N(),Rb=N(),Q=N(!0),Sb=N(!0),Tb=N(!0),Ub=N(!0),Vb=N(!0),Wb=N(!0),Zb=N(!0),$b=N(!0),ac=N(!0),bc=N(!0),cc=N(!0),R=N(!0),dc=N(!0), 11 | ec=N(!0),fc=N(!0),gc=N(!0),hc=N(!0),ic=N(!0),jc=N(!0),S=N(!0),kc=N(!0),lc=N(!0),mc=N(!0),nc=N(!0),oc=N(!0),pc=N(!0),qc=N(!0),rc=Va("campaignParams"),sc=N(),tc=Va("hitCallback"),uc=N();N();var vc=N(),wc=N(),xc=N(),yc=N(),zc=N(),Ac=N(),Bc=N(),Cc=N(),Dc=N(),Ec=N(),Fc=N(),Gc=N(),Hc=N(),Ic=N();N();var Mc=N(),Nc=N(),Yb=N(),Jc=N(),Kc=N(),Lc=Va("utmtCookieName"),Cd=Va("displayFeatures"),Oc=N(),of=Va("gtmid"),Oe=Va("uaName"),Pe=Va("uaDomain"),Qe=Va("uaPath"),pf=Va("linkid");var Re=function(){function a(a,c,d){T(qf.prototype,a,c,d)}a("_createTracker",qf.prototype.hb,55);a("_getTracker",qf.prototype.oa,0);a("_getTrackerByName",qf.prototype.u,51);a("_getTrackers",qf.prototype.pa,130);a("_anonymizeIp",qf.prototype.aa,16);a("_forceSSL",qf.prototype.la,125);a("_getPlugin",Pc,120)},Se=function(){function a(a,c,d){T(U.prototype,a,c,d)}Qc("_getName",$a,58);Qc("_getAccount",Wa,64);Qc("_visitCode",Q,54);Qc("_getClientInfo",ib,53,1);Qc("_getDetectTitle",lb,56,1);Qc("_getDetectFlash", 12 | jb,65,1);Qc("_getLocalGifPath",wb,57);Qc("_getServiceMode",xb,59);V("_setClientInfo",ib,66,2);V("_setAccount",Wa,3);V("_setNamespace",Ya,48);V("_setAllowLinker",fb,11,2);V("_setDetectFlash",jb,61,2);V("_setDetectTitle",lb,62,2);V("_setLocalGifPath",wb,46,0);V("_setLocalServerMode",xb,92,void 0,0);V("_setRemoteServerMode",xb,63,void 0,1);V("_setLocalRemoteServerMode",xb,47,void 0,2);V("_setSampleRate",vb,45,1);V("_setCampaignTrack",kb,36,2);V("_setAllowAnchor",gb,7,2);V("_setCampNameKey",ob,41);V("_setCampContentKey", 13 | tb,38);V("_setCampIdKey",nb,39);V("_setCampMediumKey",rb,40);V("_setCampNOKey",ub,42);V("_setCampSourceKey",qb,43);V("_setCampTermKey",sb,44);V("_setCampCIdKey",pb,37);V("_setCookiePath",P,9,0);V("_setMaxCustomVariables",yb,0,1);V("_setVisitorCookieTimeout",cb,28,1);V("_setSessionCookieTimeout",db,26,1);V("_setCampaignCookieTimeout",eb,29,1);V("_setReferrerOverride",Jb,49);V("_setSiteSpeedSampleRate",Dc,132);a("_trackPageview",U.prototype.Fa,1);a("_trackEvent",U.prototype.F,4);a("_trackPageLoadTime", 14 | U.prototype.Ea,100);a("_trackSocial",U.prototype.Ga,104);a("_trackTrans",U.prototype.Ia,18);a("_sendXEvent",U.prototype.ib,78);a("_createEventTracker",U.prototype.ia,74);a("_getVersion",U.prototype.qa,60);a("_setDomainName",U.prototype.B,6);a("_setAllowHash",U.prototype.va,8);a("_getLinkerUrl",U.prototype.na,52);a("_link",U.prototype.link,101);a("_linkByPost",U.prototype.ua,102);a("_setTrans",U.prototype.za,20);a("_addTrans",U.prototype.$,21);a("_addItem",U.prototype.Y,19);a("_clearTrans",U.prototype.ea, 15 | 105);a("_setTransactionDelim",U.prototype.Aa,82);a("_setCustomVar",U.prototype.wa,10);a("_deleteCustomVar",U.prototype.ka,35);a("_getVisitorCustomVar",U.prototype.ra,50);a("_setXKey",U.prototype.Ca,83);a("_setXValue",U.prototype.Da,84);a("_getXKey",U.prototype.sa,76);a("_getXValue",U.prototype.ta,77);a("_clearXKey",U.prototype.fa,72);a("_clearXValue",U.prototype.ga,73);a("_createXObj",U.prototype.ja,75);a("_addIgnoredOrganic",U.prototype.W,15);a("_clearIgnoredOrganic",U.prototype.ba,97);a("_addIgnoredRef", 16 | U.prototype.X,31);a("_clearIgnoredRef",U.prototype.ca,32);a("_addOrganic",U.prototype.Z,14);a("_clearOrganic",U.prototype.da,70);a("_cookiePathCopy",U.prototype.ha,30);a("_get",U.prototype.ma,106);a("_set",U.prototype.xa,107);a("_addEventListener",U.prototype.addEventListener,108);a("_removeEventListener",U.prototype.removeEventListener,109);a("_addDevId",U.prototype.V);a("_getPlugin",Pc,122);a("_setPageGroup",U.prototype.ya,126);a("_trackTiming",U.prototype.Ha,124);a("_initData",U.prototype.initData, 17 | 2);a("_setVar",U.prototype.Ba,22);V("_setSessionTimeout",db,27,3);V("_setCookieTimeout",eb,25,3);V("_setCookiePersistence",cb,24,1);a("_setAutoTrackOutbound",Fa,79);a("_setTrackOutboundSubdomains",Fa,81);a("_setHrefExamineLimit",Fa,80)};function Pc(a){var b=this.plugins_;if(b)return b.get(a)} 18 | var T=function(a,b,c,d){a[b]=function(){try{return void 0!=d&&H(d),c.apply(this,arguments)}catch(a){throw Ra("exc",b,a&&a.name),a;}}},Qc=function(a,b,c,d){U.prototype[a]=function(){try{return H(c),Aa(this.a.get(b),d)}catch(e){throw Ra("exc",a,e&&e.name),e;}}},V=function(a,b,c,d,e){U.prototype[a]=function(f){try{H(c),void 0==e?this.a.set(b,Aa(f,d)):this.a.set(b,e)}catch(Be){throw Ra("exc",a,Be&&Be.name),Be;}}},Te=function(a,b){return{type:b,target:a,stopPropagation:function(){throw"aborted";}}};var Rc=new RegExp(/(^|\.)doubleclick\.net$/i),Sc=function(a,b){return Rc.test(J.location.hostname)?!0:"/"!==b?!1:0!=a.indexOf("www.google.")&&0!=a.indexOf(".google.")&&0!=a.indexOf("google.")||-1b.length||ad(b[0],c))return!1;b=b.slice(1).join(".").split("|"); 23 | 0=b.length)return!0;b=b[1].split(-1==b[1].indexOf(",")?"^":",");for(c=0;cb.length||ad(b[0],c))return a.set(ec,void 0),a.set(fc,void 0),a.set(gc,void 0),a.set(ic,void 0),a.set(jc,void 0),a.set(nc,void 0),a.set(oc,void 0),a.set(pc,void 0),a.set(qc,void 0),a.set(S,void 0),a.set(kc,void 0),a.set(lc,void 0),a.set(mc,void 0),!1;a.set(ec,1*b[1]);a.set(fc,1*b[2]);a.set(gc,1*b[3]); 25 | Ve(a,b.slice(4).join("."));return!0},Ve=function(a,b){function c(a){return(a=b.match(a+"=(.*?)(?:\\|utm|$)"))&&2==a.length?a[1]:void 0}function d(b,c){c?(c=e?I(c):c.split("%20").join(" "),a.set(b,c)):a.set(b,void 0)}-1==b.indexOf("=")&&(b=I(b));var e="2"==c("utmcvr");d(ic,c("utmcid"));d(jc,c("utmccn"));d(nc,c("utmcsr"));d(oc,c("utmcmd"));d(pc,c("utmctr"));d(qc,c("utmcct"));d(S,c("utmgclid"));d(kc,c("utmgclsrc"));d(lc,c("utmdclid"));d(mc,c("utmdsid"))},ad=function(a,b){return b?a!=b:!/^\d+$/.test(a)};var Uc=function(){this.filters=[]};Uc.prototype.add=function(a,b){this.filters.push({name:a,s:b})};Uc.prototype.cb=function(a){try{for(var b=0;b=100*a.get(vb)&&a.stopPropagation()}function kd(a){ld(a.get(Wa))&&a.stopPropagation()}function md(a){"file:"==J.location.protocol&&a.stopPropagation()}function Ge(a){He()&&a.stopPropagation()} 26 | function nd(a){a.get(Ib)||a.set(Ib,J.title,!0);a.get(Hb)||a.set(Hb,J.location.pathname+J.location.search,!0)}function lf(a){a.get(Wa)&&"UA-XXXXX-X"!=a.get(Wa)||a.stopPropagation()};var od=new function(){var a=[];this.set=function(b){a[b]=!0};this.encode=function(){for(var b=[],c=0;c=b[0]||0>=b[1]?"":b.join("x");a.Wa=d}catch(k){H(135)}qd=a}},td=function(){sd();for(var a=qd,b=W.navigator,a=b.appName+b.version+a.language+b.platform+b.userAgent+a.javaEnabled+a.jb+a.P+(J.cookie?J.cookie:"")+(J.referrer?J.referrer:""),b=a.length,c=W.history.length;0d?(this.i=b.substring(0,d),this.l=b.substring(d+1,c),this.h=b.substring(c+1)):(this.i=b.substring(0,d),this.h=b.substring(d+1));this.Xa=a.slice(1);this.Ma=!this.l&&"_require"==this.h;this.J=!this.i&&!this.l&&"_provide"==this.h}},Y=function(){T(Y.prototype, 32 | "push",Y.prototype.push,5);T(Y.prototype,"_getPlugin",Pc,121);T(Y.prototype,"_createAsyncTracker",Y.prototype.Sa,33);T(Y.prototype,"_getAsyncTracker",Y.prototype.Ta,34);this.I=new nf;this.eb=[]};E=Y.prototype;E.Na=function(a,b,c){var d=this.I.get(a);if(!Ba(d))return!1;b.plugins_=b.plugins_||new nf;b.plugins_.set(a,new d(b,c||{}));return!0};E.push=function(a){var b=Z.Va.apply(this,arguments),b=Z.eb.concat(b);for(Z.eb=[];0e?b+"#"+d:b+"&"+d;c="";f=b.indexOf("?");0f?b+"?"+d+c:b+"&"+d+c},$d=function(a,b,c,d){for(var e=0;3>e;e++){for(var f= 48 | 0;3>f;f++){if(d==Yc(a+b+c))return H(127),[b,c];var Be=b.replace(/ /g,"%20"),k=c.replace(/ /g,"%20");if(d==Yc(a+Be+k))return H(128),[Be,k];Be=Be.replace(/\+/g,"%20");k=k.replace(/\+/g,"%20");if(d==Yc(a+Be+k))return H(129),[Be,k];try{var Ja=b.match("utmctr=(.*?)(?:\\|utm|$)");if(Ja&&2==Ja.length&&(Be=b.replace(Ja[1],G(I(Ja[1]))),d==Yc(a+Be+c)))return H(139),[Be,c]}catch(t){}b=I(b)}c=I(c)}};var de="|",fe=function(a,b,c,d,e,f,Be,k,Ja){var t=ee(a,b);t||(t={},a.get(Cb).push(t));t.id_=b;t.affiliation_=c;t.total_=d;t.tax_=e;t.shipping_=f;t.city_=Be;t.state_=k;t.country_=Ja;t.items_=t.items_||[];return t},ge=function(a,b,c,d,e,f,Be){a=ee(a,b)||fe(a,b,"",0,0,0,"","","");var k;a:{if(a&&a.items_){k=a.items_;for(var Ja=0;Jab.length||!/^\d+$/.test(b[0])||(b[0]=""+c,Fd(a,"__utmx",b.join("."),void 0))},be=function(a,b){var c=$c(a.get(O),pd("__utmx"));"-"==c&&(c="");return b?G(c):c},Ye=function(a){try{var b=La(J.location.href,!1),c=decodeURIComponent(L(b.R.get("utm_referrer")))||"";c&&a.set(Jb,c);var d=decodeURIComponent(K(b.R.get("utm_expid")))||"";d&&(d=d.split(".")[0],a.set(Oc,""+d))}catch(e){H(146)}},l=function(a){var b=W.gaData&&W.gaData.expId;b&&a.set(Oc, 50 | ""+b)};var ke=function(a,b){var c=Math.min(a.b(Dc,0),100);if(a.b(Q,0)%100>=c)return!1;c=Ze()||$e();if(void 0==c)return!1;var d=c[0];if(void 0==d||Infinity==d||isNaN(d))return!1;0a[b])return!1;return!0},le=function(a){return isNaN(a)||0>a?0:5E3>a?10*Math.floor(a/10):5E4>a?100*Math.floor(a/100):41E5>a?1E3*Math.floor(a/1E3):41E5},je=function(a){for(var b=new yd,c=0;cc.length)){for(var d=[],e=0;e=f)return!1;c=1*(""+c);if(""==a||!wd(a)||""==b||!wd(b)||!xd(c)||isNaN(c)||0>c||0>f||100=a||a>e.get(yb))a=!1;else if(!b||!c||128=a&&Ca(b)&&""!=b){var c=this.get(Fc)||[];c[a]=b;this.set(Fc,c)}};E.V=function(a){a=""+a;if(a.match(/^[A-Za-z0-9]{1,5}$/)){var b=this.get(Ic)||[];b.push(a);this.set(Ic,b)}};E.initData=function(){this.a.load()}; 66 | E.Ba=function(a){a&&""!=a&&(this.set(Tb,a),this.a.j("var"))};var ne=function(a){"trans"!==a.get(sc)&&500<=a.b(cc,0)&&a.stopPropagation();if("event"===a.get(sc)){var b=(new Date).getTime(),c=a.b(dc,0),d=a.b(Zb,0),c=Math.floor((b-(c!=d?c:1E3*c))/1E3*1);0=a.b(R,0)&&a.stopPropagation()}},pe=function(a){"event"===a.get(sc)&&a.set(R,Math.max(0,a.b(R,10)-1))};var qe=function(){var a=[];this.add=function(b,c,d){d&&(c=G(""+c));a.push(b+"="+c)};this.toString=function(){return a.join("&")}},re=function(a,b){(b||2!=a.get(xb))&&a.Za(cc)},se=function(a,b){b.add("utmwv","5.6.7");b.add("utms",a.get(cc));b.add("utmn",Ea());var c=J.location.hostname;F(c)||b.add("utmhn",c,!0);c=a.get(vb);100!=c&&b.add("utmsp",c,!0)},te=function(a,b){b.add("utmht",(new Date).getTime());b.add("utmac",Da(a.get(Wa)));a.get(Oc)&&b.add("utmxkey",a.get(Oc),!0);a.get(vc)&&b.add("utmni",1); 67 | a.get(of)&&b.add("utmgtm",a.get(of),!0);var c=a.get(Ic);c&&0=a.length)gf(a,b,c);else if(8192>=a.length){if(0<=W.navigator.userAgent.indexOf("Firefox")&&![].reduce)throw new De(a.length);df(a,b)||ef(a,b)||Ee(a,b)||b()}else throw new Ce(a.length);},gf=function(a,b,c){c=c||Ne()+"/__utm.gif?"; 74 | var d=new Image(1,1);d.src=c+a;d.onload=function(){d.onload=null;d.onerror=null;b()};d.onerror=function(){d.onload=null;d.onerror=null;b()}},ef=function(a,b){if(0!=Ne().indexOf(J.location.protocol))return!1;var c;c=W.XDomainRequest;if(!c)return!1;c=new c;c.open("POST",Ne()+"/p/__utm.gif");c.onerror=function(){b()};c.onload=b;c.send(a);return!0},df=function(a,b){var c=W.XMLHttpRequest;if(!c)return!1;var d=new c;if(!("withCredentials"in d))return!1;d.open("POST",Ne()+"/p/__utm.gif",!0);d.withCredentials= 75 | !0;d.setRequestHeader("Content-Type","text/plain");d.onreadystatechange=function(){4==d.readyState&&(b(),d=null)};d.send(a);return!0},Ee=function(a,b){if(!J.body)return We(function(){Ee(a,b)},100),!0;a=encodeURIComponent(a);try{var c=J.createElement('')}catch(d){c=J.createElement("iframe"),c.name=a}c.height="0";c.width="0";c.style.display="none";c.style.visibility="hidden";var e=Ne()+"/u/post_iframe.html";Ga(W,"beforeunload",function(){c.src="";c.parentNode&&c.parentNode.removeChild(c)}); 76 | setTimeout(b,1E3);J.body.appendChild(c);c.src=e;return!0};var qf=function(){this.G=this.w=!1;0==Ea()%1E4&&(H(142),this.G=!0);this.C={};this.D=[];this.U=0;this.S=[["www.google-analytics.com","","/plugins/"]];this._gasoCPath=this._gasoDomain=this.bb=void 0;Re();Se()};E=qf.prototype;E.oa=function(a,b){return this.hb(a,void 0,b)};E.hb=function(a,b,c){b&&H(23);c&&H(67);void 0==b&&(b="~"+M.U++);a=new U(b,a,c);M.C[b]=a;M.D.push(a);return a};E.u=function(a){a=a||"";return M.C[a]||M.hb(void 0,a)};E.pa=function(){return M.D.slice(0)};E.ab=function(){return M.D.length}; 77 | E.aa=function(){this.w=!0};E.la=function(){this.G=!0};var Fe=function(a){if("prerender"==J.visibilityState)return!1;a();return!0};var M=new qf;var Ha=W._gat;Ha&&Ba(Ha._getTracker)?M=Ha:W._gat=M;var Z=new Y;(function(a){if(!Fe(a)){H(123);var b=!1,c=function(){if(!b&&Fe(a)){b=!0;var d=J,e=c;d.removeEventListener?d.removeEventListener("visibilitychange",e,!1):d.detachEvent&&d.detachEvent("onvisibilitychange",e)}};Ga(J,"visibilitychange",c)}})(function(){var a=W._gaq,b=!1;if(a&&Ba(a.push)&&(b="[object Array]"==Object.prototype.toString.call(Object(a)),!b)){Z=a;return}W._gaq=Z;b&&Z.push.apply(Z,a)});function Yc(a){var b=1,c=0,d;if(a)for(b=0,d=a.length-1;0<=d;d--)c=a.charCodeAt(d),b=(b<<6&268435455)+c+(c<<14),c=b&266338304,b=0!=c?b^c>>21:b;return b};})(); 78 | -------------------------------------------------------------------------------- /test/stub/nuvi 2595LMT_files/icon_facebook.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indix/css-optimum-selector/49d256d09817af201785b49b49e466a39410bb2b/test/stub/nuvi 2595LMT_files/icon_facebook.gif -------------------------------------------------------------------------------- /test/stub/nuvi 2595LMT_files/icon_twitter.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indix/css-optimum-selector/49d256d09817af201785b49b49e466a39410bb2b/test/stub/nuvi 2595LMT_files/icon_twitter.gif -------------------------------------------------------------------------------- /test/stub/nuvi 2595LMT_files/images.js: -------------------------------------------------------------------------------- 1 | function drawMainImage(key, imageCaption, pers, type, fromElement, altElement){ 2 | var skip = false; 3 | 4 | if(altElement && altElement != 'undefined' && altElement != ''){ 5 | var elementName = altElement + key; 6 | } else { 7 | var elementName = 'prodMainImage' + key; 8 | } 9 | 10 | if(!document.getElementById(elementName)){ 11 | elementName = 'prodMainImage0'; 12 | } 13 | 14 | if(currentElement = document.getElementById(elementName)){ 15 | //If a checkbox has been clicked and it's now unchecked then skip this stuff. 16 | if(pers && pers != '' && pers != 'undefined' && type && type != '' && type != 'undefined' && type == 'checkbox'){ 17 | if(fromElement.checked == false){ 18 | skip = true; 19 | } 20 | } 21 | 22 | if(!skip){ 23 | //First let's hide all of the other displayed elements. 24 | if(displayedMain != ''){ 25 | if(displayedElement = document.getElementById(displayedMain)){ 26 | displayedElement.style.display = 'none'; 27 | } 28 | } 29 | 30 | //Now let's display the one we want. 31 | currentElement.style.display = 'block'; 32 | displayedMain = elementName; 33 | 34 | //Now let's display the caption should there be one; 35 | var html = ''; 36 | var captionElement = 'prodCaption'; 37 | 38 | if(pers && pers != '' && pers != 'undefined'){ 39 | var caption = persCaptions[key]; 40 | } else { 41 | var caption = imageCaption; 42 | } 43 | 44 | if(caption && caption != ''){ 45 | html += decodeURIComponent(caption); 46 | } else { 47 | html += ' '; 48 | } 49 | 50 | document.getElementById(captionElement).innerHTML = html; 51 | } 52 | } 53 | } 54 | 55 | function cycleThumbs(direction, key, url){ 56 | var start; 57 | var end; 58 | var indexes = new Array(); 59 | 60 | //First let's get our starting and ending points. 61 | if(direction > 0){ 62 | start = parseInt(key) + parseInt(1); 63 | 64 | if(start > parseInt(totalCount) - parseInt(1)){ 65 | start = parseInt(0); 66 | } else { 67 | //Nothing 68 | } 69 | 70 | end = parseInt(start) + (parseInt(maxThumbs) - parseInt(1)); 71 | 72 | if(end > (parseInt(totalCount) - parseInt(1))){ 73 | end = (parseInt(key) + parseInt(maxThumbs)) - parseInt(totalCount); 74 | } else { 75 | //Nothing 76 | } 77 | } else { 78 | end = parseInt(key) - parseInt(1); 79 | 80 | if(end < parseInt(0)){ 81 | end = parseInt(totalCount) - parseInt(1); 82 | } 83 | 84 | start = parseInt(end) - (parseInt(maxThumbs) - parseInt(1)); 85 | 86 | if(start < parseInt(0)){ 87 | start = parseInt(totalCount) - (parseInt(start) * parseInt(-1)); 88 | } 89 | } 90 | 91 | indexes.push(start); 92 | 93 | //Now that we have our starting and ending indexes we can grab the images and their respective alt tags, captions, etc. 94 | //to build the html we will return to the page. 95 | var photoSubGroups = new Array(); 96 | photoSubGroups.push(photoGroups[start]); 97 | var trueStart = start; 98 | var current = start++; 99 | 100 | //We know the end points here, the trick is filling in the rest. The minus one accounts for the end point. 101 | while(parseInt(photoSubGroups.length) < (parseInt(maxThumbs) - parseInt(1))){ 102 | current++; 103 | if(!photoGroups[current]){ 104 | current = 0; 105 | } 106 | 107 | photoSubGroups.push(photoGroups[current]); 108 | indexes.push(current); 109 | } 110 | 111 | photoSubGroups.push(photoGroups[end]); 112 | indexes.push(end); 113 | var groupLength = photoSubGroups.length; 114 | 115 | //Draw left arrow 116 | if(leftArrow = document.getElementById('prodThumbnailLeftArrow')){ 117 | var leftArrowHtml = ''; 118 | leftArrow.innerHTML = leftArrowHtml; 119 | } 120 | 121 | var x = 0; 122 | 123 | //Draw middle content 124 | for(j=0;j'; 148 | html += ''; 149 | element.innerHTML = html; 150 | 151 | x++; 152 | } 153 | } 154 | 155 | //Draw right arrow 156 | if(rightArrow = document.getElementById('prodThumbnailRightArrow')){ 157 | var rightArrowHtml = ''; 158 | rightArrow.innerHTML = rightArrowHtml; 159 | } 160 | } 161 | 162 | function sanitizeString(string){ 163 | if(string && string != ''){ 164 | var length = string.length; 165 | var newString = ''; 166 | var watch = ''; 167 | var watchstring = ''; 168 | 169 | for(i=0;i\';4.E.V(4.B)}4.41=\'\';4.28=v;1u.2q(4);4.2s=1c(4,"2e")};I.S.3h=b(){3a(O.9,"1S",4.2s)};I.S.2e=b(e){7 y=0;7 x=0;6(a==\'F\'){y=e.1Y;x=e.21;6(9.T&&(9.T.1n||9.T.11)){y=e.1Y+9.T.11;x=e.21+9.T.1n}z 6(9.12&&(9.12.1n||9.12.11)){y=e.1Y+9.12.11;x=e.21+9.12.1n}}z{y=e.1Y;x=e.21;y+=O.2Y;x+=O.2X}7 1i=0;7 1l=0;7 K=4.D;1Q(K&&K.1J!="2Q"&&K.1J!="2O"){1i+=K.2N;1l+=K.2n;K=K.2L}6(a==\'F\'){r=2Z(4.D);1l=r[\'k\'];1i=r[\'q\']}6(x>G(1l+4.1g)){4.23();h v}6(xG(1i+4.17)){4.23();h v}6(y=4.1g){4.1b=4.1g-4.1j/2}6((4.18+4.1h/2)>=4.17){4.18=4.17-4.1h/2}6((4.1b-4.1j/2)<=0){4.1b=4.1j/2}6((4.18-4.1h/2)<=0){4.18=4.1h/2}2m(1c(4,"2D"),10)};I.S.2D=b(){4.o.5.k=(4.1b-4.1j/2)+\'L\';4.o.5.q=(4.18-4.1h/2)+\'L\';4.o.5.13="2h";2W=G(4.o.5.k)*(4.1R/4.1g);3g=G(4.o.5.q)*(4.1y/4.17);4.m.5.k=(-2W)+\'L\';4.m.5.q=(-3g)+\'L\';4.c.5.2j=\'2k\';4.c.5.13=\'2h\';4.m.5.2j=\'2k\';4.m.5.13=\'2h\';4.2b=v;4.c.5.k=4.2r};b 4w(2E){7 2u="";1f(i=0;i<2E.1d;i++){2u+=4x.4D(14^2E.4C(i))}h 2u};I.S.23=b(){6(4.g&&4.g["27"]==J)h;6(4.o){4.o.5.13="1o"}4.c.5.k=\'-1Z\';4.c.5.13=\'1o\';6(a==\'F\'){4.E.5.1N=0}};I.S.2A=b(){4.1j=(G(4.c.5.H)-3)/(4.1R/4.1g);6(4.g&&4.g["1C"]!=""){4.1h=(G(4.c.5.M)-3-19)/(4.1y/4.17)}z{4.1h=(G(4.c.5.M)-3)/(4.1y/4.17)}4.o.5.H=4.1j+\'L\';4.o.5.M=4.1h+\'L\'};I.S.3l=b(){4.o=9.U("1V");4.o.1I=\'4n\';4.o.5.1N=10;4.o.5.13=\'1o\';4.o.5.l=\'1M\';4.o.5["P"]=2z(4.g[\'P\']/1P.0);4.o.5["-4m-P"]=2z(4.g[\'P\']/1P.0);4.o.5["-49-P"]=2z(4.g[\'P\']/1P.0);4.o.5["2U"]="4b(48="+4.g[\'P\']+")";4.2A();4.E.V(4.o);4.E.47="2v";4.E.5.44="3i";4.E.45=2w;4.E.46=2w};I.S.3q=b(){7 3b=4.m.16;1Q(4.c.1k){4.c.3n(4.c.1k)}6(a==\'F\'){7 f=9.U("4d");f.5.k=\'X\';f.5.q=\'X\';f.5.l=\'1M\';f.5.2U=\'4j:4k.4l.4i(5=0,P=0)\';f.5.H=4.c.5.H;f.5.M=4.c.5.M;f.4h=0;4.c.V(f)}6(4.g&&4.g["1C"]!=""){7 f=9.U("1V");f.1I=\'2p\';f.u=\'2p\'+4.c.u;f.5.l=\'1W\';f.5.1N=10;f.5.k=\'X\';f.5.q=\'X\';f.5.4f=\'4g\';f.2F=4.g["1C"];4.c.V(f)}7 2d=9.U("1V");2d.5.30="1o";4.c.V(2d);4.m=9.U("1q");4.m.16=3b;4.m.5.l=\'1W\';2d.V(4.m)};I.S.1A=b(){6(4.B!=29&&!4.m.2y&&4.D.H!=0&&4.D.M!=0){4.B.5.k=(G(4.D.H)/2-G(4.B.4c)/2)+\'L\';4.B.5.q=(G(4.D.M)/2-G(4.B.4p)/2)+\'L\';4.B.5.13=\'2h\'}6(a==\'1t\'){6(!4.28){Z(4.m,"2R",1c(4,"1A"));4.28=J;h}}z{6(!4.m.2y||!4.D.2y){2m(1c(4,"1A"),1P);h}}4.1R=4.m.H;4.1y=4.m.M;4.1g=4.D.H;4.17=4.D.M;6(4.1R==0||4.1y==0||4.1g==0||4.17==0){2m(1c(4,"1A"),1P);h}6(4.B!=29)4.B.5.13=\'1o\';4.E.5.H=4.D.H+\'L\';4.c.5.k=4.D.H+15+\'L\';4.c.5.q=\'X\';2M(4.g[\'l\']){1m\'k\':4.c.5.k=\'-\'+(15+G(4.c.5.H))+\'L\';Y;1m\'24\':4.c.5.q=4.D.M+15+\'L\';4.c.5.k=\'X\';Y;1m\'q\':4.c.5.q=\'-\'+(15+G(4.c.5.M))+\'L\';4.c.5.k=\'X\';Y;1m\'26\':4.c.5.k=\'X\';4.c.5.q=\'X\';Y}4.2r=4.c.5.k;6(4.o){4.2A();h}4.3q();4.3l();Z(O.9,"1S",4.2s);Z(4.E,"1S",1c(4,"1S"));6(4.g&&4.g["1D"]==J){Z(4.E,"2B",1c(4,"2B"));Z(4.E,"2x",1c(4,"2x"));4.1b=4.1g/2;4.18=4.17/2;4.2D()}};I.S.2J=b(e,1H){6(1H.2f==4.m.16)h;7 1X=9.U("1q");1X.u=4.m.u;1X.16=1H.2f;7 p=4.m.3H;p.3P(1X,4.m);4.m=1X;4.m.5.l=\'1W\';4.D.16=1H.3s;6(1H.2G!=\'\'){1r(\'2p\'+4.c.u).2F=1H.2G}4.28=v;4.1A()};b 3f(u,C){7 8=O.9.2K("A");1f(7 i=0;i<8.1d;i++){6(8[i].1p==u){Z(8[i],"2c",b(Q){6(a!=\'F\'){4.3p()}z{O.2T()}1F(Q);h v});Z(8[i],C.g[\'25\'],1c(C,"2J",8[i]));8[i].5.3j=\'0\';8[i].3r=3o;8[i].3r({C:C,3N:b(){4.C.2J(29,4)}});7 R=9.U("1q");R.16=8[i].2f;R.5.l=\'1M\';R.5.k=\'-1Z\';R.5.q=\'-1Z\';9.T.V(R);R=9.U("1q");R.16=8[i].3s;R.5.l=\'1M\';R.5.k=\'-1Z\';R.5.q=\'-1Z\';9.T.V(R)}}};b 3I(){1Q(1u.1d>0){7 C=1u.3J();C.3h()}};b 2V(){7 1x=\'3Y 3Z\';7 1z=\'\';7 1E=O.9.2K("1q");1f(7 i=0;i<1E.1d;i++){6(/3k/.3m(1E[i].1I)){6(1E[i].2H!=\'\')1x=1E[i].2H;1z=1E[i].16;Y}}7 8=O.9.2K("A");1f(7 i=0;i<8.1d;i++){6(/I/.3m(8[i].1I)){1Q(8[i].1k){6(8[i].1k.1J!=\'1q\'){8[i].3n(8[i].1k)}z{Y}}6(8[i].1k.1J!=\'1q\')3F"3B I 3v!";7 1s=3t.3U(3t.4u()*4r);8[i].C=C;8[i].5.l="1W";8[i].5.2j=\'2k\';8[i].5.3j=\'0\';8[i].5.4o=\'3i\';Z(8[i],"2c",b(Q){6(a!=\'F\'){4.3p()}z{O.2T()}1F(Q);h v});6(8[i].u==\'\'){8[i].u="43"+1s}6(a==\'F\'){8[i].5.1N=0}7 2i=8[i].1k;2i.u="31"+1s;7 t=9.U("1V");t.u="4A"+1s;N=1e 1v(/P(\\s+)?:(\\s+)?(\\d+)/i);n=N.1w(8[i].1p);7 P=4z;6(n){P=G(n[3])}N=1e 1v(/4y\\-4E(\\s+)?:(\\s+)?(2c|4q)/i);n=N.1w(8[i].1p);7 25=\'2c\';6(n){25=n[3]}N=1e 1v(/C\\-H(\\s+)?:(\\s+)?(\\w+)/i);n=N.1w(8[i].1p);t.5.H=\'2S\';6(n){t.5.H=n[3]}N=1e 1v(/C\\-M(\\s+)?:(\\s+)?(\\w+)/i);n=N.1w(8[i].1p);t.5.M=\'2S\';6(n){t.5.M=n[3]}N=1e 1v(/C\\-l(\\s+)?:(\\s+)?(\\w+)/i);n=N.1w(8[i].1p);t.5.k=8[i].1k.H+15+\'L\';t.5.q=\'X\';7 l=\'2I\';6(n){2M(n[3]){1m\'k\':l=\'k\';Y;1m\'24\':l=\'24\';Y;1m\'q\':l=\'q\';Y;1m\'26\':l=\'26\';Y}}N=1e 1v(/4B\\-3w(\\s+)?:(\\s+)?(J|v)/i);n=N.1w(8[i].1p);7 1D=v;6(n){6(n[3]==\'J\')1D=J}N=1e 1v(/3y\\-3E\\-C(\\s+)?:(\\s+)?(J|v)/i);n=N.1w(8[i].1p);7 27=v;6(n){6(n[3]==\'J\')27=J}t.5.30=\'1o\';t.1I="3x";t.5.1N=1P;t.5.13=\'1o\';6(l!=\'26\'){t.5.l=\'1M\'}z{t.5.l=\'1W\'}7 2g=9.U("1q");2g.u="34"+1s;2g.16=8[i].2f;t.V(2g);6(l!=\'26\'){8[i].V(t)}z{1r(8[i].u+\'-3u\').V(t)}7 g={27:27,1D:1D,1C:8[i].2G,P:P,25:25,l:l,1x:1x,1z:1z};7 C=1e I(8[i].u,\'31\'+1s,t.u,\'34\'+1s,g);C.1A();3f(8[i].u,C)}}};6(a==\'F\')4t{9.3M("3z",v,J)}3C(e){};Z(O,"2R",2V);',62,290,'||||this|style|if|var|aels|document|MagicZoom_ua|function|bigImageCont||||settings|return|||left|position|bigImage|matches|pup||top|||bigCont|id|false||||else||loadingCont|zoom|smallImage|smallImageCont|msie|parseInt|width|MagicZoom|true|tag|px|height|re|window|opacity|event|img|prototype|body|createElement|appendChild||0px|break|MagicZoom_addEventListener||scrollTop|documentElement|visibility|||src|smallImageSizeY|positionY||args|positionX|MagicZoom_createMethodReference|length|new|for|smallImageSizeX|popupSizeY|smallY|popupSizeX|firstChild|smallX|case|scrollLeft|hidden|rel|IMG|_el|rand|safari|MagicZoom_zooms|RegExp|exec|loadingText|bigImageSizeY|loadingImg|initZoom|listener|header|drag_mode|iels|MagicZoom_stopEventPropagation|obj|ael|className|tagName|result|arguments|absolute|zIndex|opera|100|while|bigImageSizeX|mousemove|wx|wy|DIV|relative|newBigImage|clientY|10000px||clientX|gecko|hiderect|bottom|thumb_change|custom|bigImage_always_visible|safariOnLoadStarted|null|indexOf|recalculating|click|ar1|checkcoords|href|bigImg|visible|smallImg|display|block|sequence|setTimeout|offsetLeft|property|MagicZoomHeader|push|bigImageContStyleLeft|checkcoords_ref|cursor|vc68|on|MagicView_ia|mouseup|complete|parseFloat|recalculatePopupDimensions|mousedown|object|showrect|vc67|innerHTML|title|alt|right|replaceZoom|getElementsByTagName|offsetParent|switch|offsetTop|HTML|move|BODY|load|300px|focus|filter|MagicZoom_findZooms|perX|pageXOffset|pageYOffset|MagicZoom_getBounds|overflow|sim|skip|MagicZoom_concat|bim|MagicZoom_withoutFirst|methodName|cancelBubble|smallImageContId|bigImageId|MagicZoom_removeEventListener|bigimgsrc|getBoundingClientRect|smallImageId|bigImageContId|MagicZoom_findSelectors|perY|stopZoom|none|outline|MagicZoomLoading|initPopup|test|removeChild|MagicZoom_extendElement|blur|initBigContainer|mzextend|rev|Math|big|invocation|mode|MagicZoomBigImageCont|always|BackgroundImageCache|in|Invalid|catch|default|show|throw|br|parentNode|MagicZoom_stopZooms|pop|removeEventListener|apply|execCommand|selectThisZoom|detachEvent|replaceChild|preventDefault|stopPropagation|textAlign|center|round|border|addEventListener|popupSizey|Loading|Zoom|attachEvent|baseuri|getElementById|sc|MozUserSelect|onselectstart|oncontextmenu|unselectable|Opacity|html|userAgent|alpha|offsetWidth|IFRAME|navigator|padding|3px|frameBorder|Alpha|progid|DXImageTransform|Microsoft|moz|MagicZoomPup|textDecoration|offsetHeight|mouseover|1000000|mozilla|try|random|Array|xgdf7fsgd56|String|thumb|50|bc|drag|charCodeAt|fromCharCode|change|toLowerCase'.split('|'),0,{})) -------------------------------------------------------------------------------- /test/stub/nuvi 2595LMT_files/nds.css: -------------------------------------------------------------------------------- 1 | /* !!!IMPORTANT!!! PLEASE READ: do NOT modify this file. This file WILL GET OVERWRITTEN during every upgrade.*/ 2 | /* If you would like to implement custom CSS changes, please do so in the issues.css file, NOT HERE. */ 3 | /* In that file you can override classes declared here and implement your custom CSS changes. */ 4 | /* We make sure to include issues.css last in all of our distributed templates to make sure that your changes */ 5 | /* override all of the in-house CSS. However, it is up to you to make sure issues.css is included last to make sure */ 6 | /* that your CSS changes take effect. */ 7 | /* file should be the same */ 8 | /* css/nds.css */ 9 | /* secure/css/nds.css */ 10 | 11 | 12 | body { 13 | font-family: verdana, arial, helvetica, sans-serif; 14 | font-size: 11px; 15 | background-color: #FFFFFF; 16 | color: #5B5B5B; 17 | margin: 0px; 18 | padding: 0px; 19 | text-align: left; 20 | } 21 | 22 | a { 23 | color: #E50029; 24 | } 25 | 26 | a:active { 27 | color: #E50029; 28 | text-decoration: underline; 29 | } 30 | 31 | a:visited { 32 | color: #E50029; 33 | text-decoration: underline; 34 | } 35 | 36 | a:hover { 37 | color: #000000; 38 | text-decoration: underline; 39 | } 40 | 41 | a:visited:hover { 42 | color: #E50029; 43 | text-decoration: underline; 44 | } 45 | 46 | .sublink { 47 | font-size: 85%; 48 | } 49 | 50 | a.sublink { 51 | color: #E50029; 52 | } 53 | 54 | a.sublink:active { 55 | text-decoration: underline; 56 | } 57 | 58 | a.sublink:visited { 59 | text-decoration: underline; 60 | } 61 | 62 | a.sublink:hover { 63 | text-decoration: underline; 64 | } 65 | 66 | a.sublink:visited:hover { 67 | text-decoration: underline; 68 | } 69 | 70 | h2, .page-title { 71 | font-size: 18px; 72 | font-weight: bold; 73 | padding: 3px; 74 | padding-left: 0; 75 | text-align: left; 76 | color: #878787; 77 | } 78 | 79 | h2 a { 80 | color: #878787; 81 | text-decoration: none; 82 | } 83 | 84 | h2 a:hover { 85 | color: #878787; 86 | text-decoration: underline; 87 | } 88 | 89 | form { 90 | margin: 0; 91 | } 92 | 93 | 94 | .padMe { 95 | float: left; 96 | padding: 5px; 97 | width: 95%; 98 | } 99 | 100 | .display-line { 101 | font-size: 11px; 102 | padding: 3px; 103 | } 104 | 105 | .display-line-footer { 106 | font-size: 11px; 107 | padding: 3px; 108 | text-align: right; 109 | line-height: 20px; 110 | } 111 | 112 | #bg { 113 | background: url(../design/images/bg_11.jpg) repeat fixed top center; 114 | width: 100%; 115 | height: 140px; 116 | left: 0px; 117 | top: 0px; 118 | z-index: -1; 119 | } 120 | 121 | #page { 122 | width: 724px; 123 | height: auto; 124 | position: absolute; 125 | left: 10%; 126 | top: 0px; 127 | z-index: 1; 128 | } 129 | 130 | #tabs { 131 | clear: left; 132 | text-align: right; 133 | padding-right: 15px; 134 | width: 724px; 135 | } 136 | 137 | #masthead { 138 | clear: left; 139 | width: 724px; 140 | height: 140px; 141 | } 142 | 143 | .container { 144 | float: left; 145 | width: 65%; 146 | padding: 10px; 147 | text-align: left; 148 | } 149 | 150 | hr { 151 | float: left; 152 | width: 98%; 153 | color: #E2E2E2; 154 | background-color: #E2E2E2; 155 | height: 1px; 156 | } 157 | 158 | .disabled { 159 | font-weight: bold; 160 | color: #E2E2E2; 161 | padding-top: 10px; 162 | padding-bottom: 10px; 163 | } 164 | 165 | .myerror, .pending{ 166 | font-weight: bold; 167 | color: #C00000; 168 | padding-top: 10px; 169 | padding-bottom: 10px; 170 | } 171 | 172 | .price, .display-item-price { 173 | font-weight: bold; 174 | color: #E50029; 175 | font-size: 110%; 176 | padding: 5px; 177 | } 178 | 179 | .form-label { 180 | clear: left; 181 | float: left; 182 | text-align: right; 183 | padding: 4px; 184 | width: 20%; 185 | } 186 | 187 | .form-label-required { 188 | clear: left; 189 | float: left; 190 | text-align: right; 191 | padding: 4px; 192 | width: 20%; 193 | font-weight: bold; 194 | } 195 | 196 | .form-field { 197 | padding: 4px; 198 | height: auto; 199 | float: left; 200 | } 201 | 202 | 203 | #infolist { 204 | margin-left: 0; 205 | padding-left: 0; 206 | list-style: none; 207 | } 208 | 209 | #infolist li { 210 | padding-left: 17px; 211 | background-image: url(../design/images/arrow.gif); 212 | background-repeat: no-repeat; 213 | background-position: 0.5em; 214 | } 215 | 216 | input, textarea, select { 217 | font-size: 100%; 218 | font-weight: normal; 219 | } 220 | 221 | #orderStats { 222 | padding: 2px; 223 | margin: 5px; 224 | float: left; 225 | border: 1px solid #D8DDE3; 226 | height: 190px; 227 | width: 25%; 228 | } 229 | 230 | .goLeft, .section { 231 | float: left; 232 | text-align: left; 233 | } 234 | 235 | .goRight, .logout { 236 | text-align: right; 237 | float: right; 238 | } 239 | 240 | .goUp { 241 | vertical-align: top; 242 | } 243 | 244 | .moneyFormat{ 245 | text-align: right; 246 | height:20px; 247 | vertical-align: middle; 248 | } 249 | 250 | 251 | #pageNote { 252 | width: 95%; 253 | text-align: left; 254 | float: left; 255 | padding-bottom: 10px; 256 | } 257 | 258 | .submitBtn { 259 | font-size: 130%; 260 | font-weight: bold; 261 | } 262 | 263 | .submitOrder { 264 | width: 80%; 265 | margin-top: 10px; 266 | margin-bottom: 10px; 267 | background-color: #C6C6C6; 268 | } 269 | #logo { 270 | float: left; 271 | height: 73px; 272 | vertical-align: middle; 273 | padding-top: 30px; 274 | } 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | /* begin giftCerts */ 284 | /* used in templates/gift.certs.tem.php */ 285 | 286 | #giftCerts { 287 | text-align: left; 288 | margin: 5px; 289 | width: 500px; 290 | } 291 | 292 | #giftCerts h2 { } 293 | 294 | #giftCerts #pageNote { 295 | height: 25px; 296 | width: auto; 297 | } 298 | 299 | #giftCerts .form-label { } 300 | 301 | #giftCerts .form-field { } 302 | 303 | 304 | /* end giftCerts */ 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | /* begin categoryList */ 313 | /* used in templates/category.grid.tem.php */ 314 | /* only used when the cart is displaying a "list" of categories */ 315 | 316 | #categoryList { 317 | } 318 | 319 | #categoryList h2 { } 320 | 321 | #categoryList #categoryDescription { 322 | } 323 | 324 | #categoryList #topOptions .sort .option select { 325 | } 326 | 327 | #categoryList .content-odd1 { 328 | } 329 | 330 | #categoryList .content-even1 { 331 | } 332 | 333 | #categoryList .title { 334 | } 335 | 336 | #categoryList .title a { 337 | } 338 | 339 | #categoryList .title a:hover { 340 | } 341 | 342 | #categoryList .photo { 343 | } 344 | 345 | #categoryList .description { 346 | } 347 | 348 | #categoryList .details { 349 | } 350 | 351 | #categoryList .details .buttons { 352 | } 353 | 354 | #categoryList .details .buttons .detailBtn { 355 | } 356 | 357 | #categoryList .details .buttons .detailBtn a { 358 | } 359 | 360 | #categoryList .details .buttons .detailBtn a:hover { 361 | } 362 | 363 | 364 | #categoryList #btmOptions { 365 | } 366 | 367 | 368 | #categoryList #btmOptions .pagination { 369 | } 370 | 371 | #categoryList #btmOptions .pagination a { 372 | } 373 | 374 | #categoryList #btmOptions .pagination a:hover { 375 | } 376 | 377 | #categoryList homepagecontent { 378 | } 379 | 380 | /* end categoryList */ 381 | 382 | 383 | 384 | 385 | 386 | 387 | 388 | 389 | 390 | 391 | 392 | 393 | /* begin categoryGrid */ 394 | /* only used when the cart is displaying a "grid" (multiple columns) of categories */ 395 | 396 | #categoryGrid { 397 | text-align: left; 398 | margin: 5px; 399 | width: 500px; 400 | } 401 | 402 | #categoryGrid h2 { } 403 | 404 | #categoryGrid #categoryDescription { 405 | float: left; 406 | clear: left; 407 | margin-bottom: 10px; 408 | border: 1px solid #FFFFFF; 409 | width: auto; 410 | height: auto; 411 | } 412 | 413 | /* used in 2 column category Grids */ 414 | #categoryGrid .content-odd2 { 415 | border: 1px dotted #D9D9D9; 416 | text-align: center; 417 | vertical-align: top; 418 | padding: 8px; 419 | margin: 1px; 420 | width: 45%; 421 | padding-bottom: 15px; 422 | } 423 | 424 | #categoryGrid .content-even2 { 425 | border: 1px dotted #D9D9D9; 426 | text-align: center; 427 | vertical-align: top; 428 | padding: 8px; 429 | margin: 1px; 430 | width: 45%; 431 | padding-bottom: 15px; 432 | } 433 | 434 | 435 | /* used in 3 column category Grids */ 436 | #categoryGrid .content-odd3 { 437 | border: 1px dotted #D9D9D9; 438 | text-align: center; 439 | vertical-align: top; 440 | padding: 8px; 441 | margin: 1px; 442 | width: 30%; 443 | padding-left: 35px; 444 | padding-right: 35px; 445 | padding-bottom: 15px; 446 | } 447 | 448 | #categoryGrid .content-even3 { 449 | border: 1px dotted #D9D9D9; 450 | text-align: center; 451 | vertical-align: top; 452 | padding: 8px; 453 | margin: 1px; 454 | width: 30%; 455 | padding-left: 35px; 456 | padding-right: 35px; 457 | padding-bottom: 15px; 458 | } 459 | 460 | 461 | /* used in 4 column category Grids */ 462 | #categoryGrid .content-odd4 { 463 | border: 1px dotted #D9D9D9; 464 | text-align: center; 465 | vertical-align: top; 466 | padding: 8px; 467 | margin: 1px; 468 | width: 22%; 469 | padding-bottom: 15px; 470 | } 471 | 472 | #categoryGrid .content-even4 { 473 | border: 1px dotted #D9D9D9; 474 | text-align: center; 475 | vertical-align: top; 476 | padding: 8px; 477 | margin: 1px; 478 | width: 22%; 479 | padding-bottom: 15px; 480 | } 481 | 482 | 483 | /* used in 5 column category Grids */ 484 | #categoryGrid .content-odd5 { 485 | border: 1px dotted #D9D9D9; 486 | text-align: center; 487 | vertical-align: top; 488 | padding: 8px; 489 | margin: 1px; 490 | width: auto; 491 | padding-bottom: 15px; 492 | } 493 | 494 | #categoryGrid .content-even5 { 495 | border: 1px dotted #D9D9D9; 496 | text-align: center; 497 | vertical-align: top; 498 | padding: 8px; 499 | margin: 1px; 500 | width: auto; 501 | padding-bottom: 15px; 502 | } 503 | 504 | 505 | #categoryGrid .title { 506 | margin-top: 8px; 507 | margin-bottom: 8px; 508 | float: left; 509 | clear: both; 510 | width: 100%; 511 | text-align: center; 512 | } 513 | 514 | #categoryGrid .title a { 515 | color: #C50024; 516 | font-size: 14px; 517 | text-decoration: underline; 518 | font-weight: bold; 519 | line-height: 16px; 520 | } 521 | 522 | #categoryGrid .title a:hover { 523 | text-decoration: none; 524 | } 525 | 526 | #categoryGrid .photo { 527 | width: 100%; 528 | height: auto; 529 | float: left; 530 | clear: left; 531 | } 532 | 533 | #categoryGrid .description { 534 | width: 100%; 535 | text-align: center; 536 | clear: both; 537 | } 538 | 539 | #categoryGrid .details { 540 | width: 100%; 541 | font-size: 11px; 542 | font-weight: normal; 543 | text-align: center; 544 | color: #464646; 545 | } 546 | 547 | #categoryGrid .details .buttons { 548 | width: 100%; 549 | float: left; 550 | clear: left; 551 | text-align: center; 552 | margin-top: 5px; 553 | margin-bottom: 5px; 554 | } 555 | 556 | #categoryGrid .details .buttons .detailBtn { 557 | background:url(../design/images/medium_btn.gif) no-repeat center center; 558 | font-weight: bold; 559 | font-size: 10px; 560 | float: left; 561 | padding-top: 6px; 562 | width: 100%; 563 | height: 19px; 564 | text-align: center; 565 | vertical-align: middle; 566 | } 567 | 568 | #categoryGrid .details .buttons .detailBtn a { 569 | text-align: center; 570 | color: #FFFFFF; 571 | text-decoration: none; 572 | } 573 | 574 | #categoryGrid .details .buttons .detailBtn a:hover { 575 | text-align: center; 576 | color: #FFFFFF; 577 | text-decoration: underline; 578 | } 579 | 580 | #categoryGrid #btmOptions { 581 | height: 40px; 582 | } 583 | 584 | #categoryGrid #btmOptions .pagination { 585 | float: right; 586 | padding-top: 18px; 587 | height: 22px; 588 | font-size: 12px; 589 | } 590 | 591 | #categoryGrid #btmOptions .pagination a { 592 | color: #C00000; 593 | text-decoration: underline; 594 | } 595 | 596 | #categoryGrid #btmOptions .pagination a:hover { 597 | color: #000000; 598 | text-decoration: none; 599 | 600 | } 601 | 602 | #categoryGrid homepagecontent { 603 | clear: left; 604 | float: left; 605 | } 606 | 607 | /* end categoryGrid */ 608 | 609 | 610 | 611 | 612 | 613 | 614 | 615 | /* begin affiliateLogin */ 616 | /* used in templates/affiliate.login.tem.php */ 617 | /* used in templates/affiliate.login.password.tem.php */ 618 | /* used in templates/affiliate.default.tem.php */ 619 | 620 | #affiliateLogin { 621 | text-align: left; 622 | width: 500px; 623 | margin: 5px; 624 | } 625 | 626 | #affiliateLogin h2 { } 627 | 628 | 629 | /* end affiliateLogin */ 630 | 631 | 632 | 633 | 634 | 635 | 636 | 637 | 638 | 639 | /* begin customerLogin */ 640 | /* used in templates/client.login.tem.php */ 641 | /* used in templates/client.login.password.tem.php */ 642 | /* used in templates/client.create.form.tem.php */ 643 | 644 | #customerLogin { 645 | text-align: left; 646 | width: 500px; 647 | margin: 5px; 648 | } 649 | 650 | #customerLogin h2 { } 651 | 652 | #customerLogin #existingCustomer { 653 | height: 190px; 654 | width: 265px; 655 | clear: left; 656 | float: left; 657 | } 658 | 659 | #customerLogin #newCustomer { 660 | height: 190px; 661 | width: 200px; 662 | float: right; 663 | } 664 | 665 | #existingCustomer .hdr-title, #newCustomer .hdr-title ,#createCustomer .hdr-title , #passwordRemindCustomer .hdr-title { 666 | color: #FFFFFF; 667 | background-color: #878787; 668 | text-align: left; 669 | padding:5px; 670 | font-weight: bold; 671 | } 672 | 673 | #existingCustomer .body { } 674 | 675 | #newCustomer .body { 676 | padding: 5px; 677 | text-align: center; 678 | } 679 | 680 | #newCustomer .body input { 681 | margin-top: 12px; 682 | } 683 | 684 | 685 | #customerLogin #passwordRemindCustomer, #customerLogin #createCustomer { 686 | width: 90%; 687 | } 688 | 689 | #customerLogin #createCustomer .body { } 690 | 691 | 692 | /* end customerLogin */ 693 | 694 | 695 | 696 | 697 | 698 | 699 | 700 | /* begin productGrid */ 701 | /* only used when a product is displaying a "grid" (multiple columns) of products */ 702 | 703 | #productGrid { 704 | text-align: left; 705 | margin: 5px; 706 | width: 500px; 707 | } 708 | 709 | #productGrid h2 { } 710 | 711 | #productGrid #categoryDescription { 712 | float: left; 713 | clear: left; 714 | margin-bottom: 10px; 715 | border: 1px solid #FFFFFF; 716 | width: auto; 717 | height: auto; 718 | } 719 | 720 | #productGrid table{ 721 | float: left; 722 | clear: left; 723 | width: 100%; 724 | } 725 | 726 | #productGrid #topOptions { 727 | width: auto; 728 | height: 40px; 729 | float: left; 730 | clear: left; 731 | } 732 | 733 | #productGrid #topOptions .search { 734 | float: left; 735 | clear: left; 736 | height: 18px; 737 | } 738 | 739 | #productGrid #topOptions .myrow { 740 | width: 500px; 741 | height: 25px; 742 | } 743 | 744 | #productGrid #topOptions .display { 745 | float: left; 746 | clear: left; 747 | height: 18px; 748 | width: 260px; 749 | text-align: left; 750 | } 751 | 752 | #productGrid #topOptions .sort { 753 | width: 210px; 754 | height: 20px; 755 | float: right; 756 | text-align: right; 757 | } 758 | 759 | #productGrid #topOptions .sort .label { 760 | float: left; 761 | height: 18px; 762 | padding: 2px; 763 | padding-top: 5px; 764 | } 765 | 766 | #productGrid #topOptions .sort .option { 767 | float: left; 768 | height: 18px; 769 | padding: 2px; 770 | } 771 | 772 | #productGrid #topOptions .sort .option select { 773 | height: 18px; 774 | } 775 | 776 | 777 | /* used in 2 column product Grids */ 778 | #productGrid .content-even2 { 779 | border: 1px dotted #D9D9D9; 780 | text-align: center; 781 | vertical-align: top; 782 | padding: 8px; 783 | margin: 1px; 784 | width: 45%; 785 | padding-bottom: 15px; 786 | } 787 | 788 | #productGrid .content-odd2 { 789 | border: 1px dotted #D9D9D9; 790 | text-align: center; 791 | vertical-align: top; 792 | padding: 8px; 793 | margin: 1px; 794 | width: 45%; 795 | padding-bottom: 15px; 796 | } 797 | 798 | 799 | /* used in 3 column product Grids */ 800 | #productGrid .content-even3 { 801 | border: 1px dotted #D9D9D9; 802 | text-align: center; 803 | vertical-align: top; 804 | padding: 8px; 805 | margin: 1px; 806 | width: 30%; 807 | padding-left: 35px; 808 | padding-right: 35px; 809 | padding-bottom: 15px; 810 | } 811 | 812 | #productGrid .content-odd3 { 813 | border: 1px dotted #D9D9D9; 814 | text-align: center; 815 | vertical-align: top; 816 | padding: 8px; 817 | margin: 1px; 818 | width: 30%; 819 | padding-left: 35px; 820 | padding-right: 35px; 821 | padding-bottom: 15px; 822 | } 823 | 824 | 825 | /* used in 4 column product Grids */ 826 | #productGrid .content-even4 { 827 | border: 1px dotted #D9D9D9; 828 | text-align: center; 829 | vertical-align: top; 830 | padding: 8px; 831 | margin: 1px; 832 | width: 22%; 833 | padding-bottom: 15px; 834 | } 835 | 836 | #productGrid .content-odd4 { 837 | border: 1px dotted #D9D9D9; 838 | text-align: center; 839 | vertical-align: top; 840 | padding: 8px; 841 | margin: 1px; 842 | width: 22%; 843 | padding-bottom: 15px; 844 | } 845 | 846 | 847 | /* used in 5 column product Grids */ 848 | #productGrid .content-even5 { 849 | border: 1px dotted #D9D9D9; 850 | text-align: center; 851 | vertical-align: top; 852 | padding: 8px; 853 | margin: 1px; 854 | width: 18%; 855 | padding-bottom: 15px; 856 | } 857 | 858 | #productGrid .content-odd5 { 859 | border: 1px dotted #D9D9D9; 860 | text-align: center; 861 | vertical-align: top; 862 | padding: 8px; 863 | margin: 1px; 864 | width: 18%; 865 | padding-bottom: 15px; 866 | } 867 | 868 | /* used in 6 column product Grids */ 869 | #productGrid .content-even6 { 870 | border: 1px dotted #D9D9D9; 871 | text-align: center; 872 | vertical-align: top; 873 | padding: 8px; 874 | margin: 1px; 875 | width: 15%; 876 | padding-bottom: 15px; 877 | } 878 | 879 | #productGrid .content-odd6 { 880 | border: 1px dotted #D9D9D9; 881 | text-align: center; 882 | vertical-align: top; 883 | padding: 8px; 884 | margin: 1px; 885 | width: 15%; 886 | padding-bottom: 15px; 887 | } 888 | #productGrid .title { 889 | margin-top: 8px; 890 | margin-bottom: 8px; 891 | text-align: center; 892 | float: left; 893 | clear: both; 894 | width: 100%; 895 | } 896 | 897 | #productGrid .title a { 898 | color: #C50024; 899 | font-size: 14px; 900 | text-decoration: underline; 901 | font-weight: bold; 902 | line-height: 16px; 903 | } 904 | 905 | #productGrid .title a:hover { 906 | text-decoration: none; 907 | } 908 | 909 | #productGrid .photo { 910 | width: 100%; 911 | height: auto; 912 | float: left; 913 | clear: left; 914 | } 915 | 916 | #productGrid .details { 917 | width: 100%; 918 | height: auto; 919 | font-size: 10px; 920 | font-weight: normal; 921 | float: right; 922 | clear: none; 923 | text-align: left; 924 | color: #464646; 925 | } 926 | 927 | #productGrid .description { 928 | float: left; 929 | clear: left; 930 | width: 100%; 931 | height: auto; 932 | text-align: left; 933 | } 934 | 935 | #productGrid .details .sprice { 936 | float: left; 937 | clear: left; 938 | width: 100%; 939 | font-size: 13px; 940 | font-weight: bold; 941 | text-align: center; 942 | margin-top: 8px; 943 | margin-bottom: 8px; 944 | } 945 | 946 | #productGrid .details .buttons { 947 | width: 100%; 948 | height: auto; 949 | float: left; 950 | clear: left; 951 | text-align: center; 952 | } 953 | 954 | #productGrid .details .buttons .detailBtn { 955 | background:url(../design/images/small_btn.gif) no-repeat center center; 956 | font-weight: bold; 957 | font-size: 10px; 958 | float: left; 959 | padding-top: 6px; 960 | width: 100%; 961 | height: 19px; 962 | text-align: center; 963 | vertical-align: middle; 964 | } 965 | 966 | #productGrid .details .buttons .detailBtnNoImg { 967 | font-weight: bold; 968 | font-size: 10px; 969 | float: left; 970 | padding-top: 6px; 971 | width: 100%; 972 | height: 19px; 973 | text-align: center; 974 | vertical-align: middle; 975 | } 976 | 977 | #productGrid .details .buttons .detailBtn a { 978 | color: #FFFFFF; 979 | text-decoration: none; 980 | } 981 | 982 | #productGrid .details .buttons .detailBtn a:hover { 983 | color: #FFFFFF; 984 | text-decoration: underline; 985 | } 986 | 987 | #productGrid .details .buttons .addToCartBtn { 988 | background:url(../design/images/medium_btn.gif) no-repeat center center; 989 | font-weight: bold; 990 | font-size: 11px; 991 | float: left; 992 | padding-top: 6px; 993 | width: 100%; 994 | height: 19px; 995 | text-align: center; 996 | vertical-align: middle; 997 | } 998 | 999 | #productGrid .details .buttons .addToCartBtnNoImg { 1000 | font-weight: bold; 1001 | font-size: 11px; 1002 | float: left; 1003 | padding-top: 6px; 1004 | width: 100%; 1005 | height: 19px; 1006 | text-align: center; 1007 | vertical-align: middle; 1008 | } 1009 | 1010 | #productGrid .details .buttons .addToCartBtn a { 1011 | color: #FFFFFF; 1012 | text-decoration: none; 1013 | } 1014 | 1015 | #productGrid .details .buttons .addToCartBtn a:hover { 1016 | color: #FFFFFF; 1017 | text-decoration: underline; 1018 | } 1019 | 1020 | #productGrid .details .pricenote { 1021 | margin-top: 10px; 1022 | margin-bottom: 10px; 1023 | color: #C00000; 1024 | font-weight: bold; 1025 | } 1026 | 1027 | #productGrid .options { 1028 | clear: left; 1029 | width: 100%; 1030 | height: auto; 1031 | text-align: center; 1032 | margin-top: 10px; 1033 | } 1034 | 1035 | #productGrid .options .form-label{ 1036 | clear: left; 1037 | float: left; 1038 | text-align: center; 1039 | width: 100%; 1040 | margin: 0px; 1041 | padding: 0px; 1042 | } 1043 | 1044 | #productGrid .options .form-field{ 1045 | float: left; 1046 | text-align: center; 1047 | width: 100%; 1048 | margin: 0px; 1049 | padding: 0px; 1050 | padding-bottom: 10px; 1051 | } 1052 | 1053 | #productGrid #btmOptions { 1054 | clear: left; 1055 | float: left; 1056 | width: 100%; 1057 | height: 60px; 1058 | } 1059 | 1060 | #productGrid #btmOptions .batchAddToCartButton { 1061 | background:url(../design/images/large_btn.gif) no-repeat; 1062 | font-weight: bold; 1063 | font-size: 10px; 1064 | float: left; 1065 | width: 158px; 1066 | height: 19px; 1067 | text-align: center; 1068 | padding: 3px; 1069 | vertical-align: middle; 1070 | margin-top: 15px; 1071 | } 1072 | 1073 | #productGrid #btmOptions .batchAddToCartButtonImg { 1074 | font-weight: bold; 1075 | font-size: 10px; 1076 | float: left; 1077 | width: 158px; 1078 | height: 19px; 1079 | text-align: center; 1080 | padding: 3px; 1081 | vertical-align: middle; 1082 | margin-top: 15px; 1083 | } 1084 | 1085 | #productGrid #btmOptions .batchAddToCartButton a { 1086 | color: #FFFFFF; 1087 | text-decoration: none; 1088 | } 1089 | 1090 | #productGrid #btmOptions .batchAddToCartButton a:hover { 1091 | color: #FFFFFF; 1092 | text-decoration: underline; 1093 | } 1094 | 1095 | #productGrid #btmOptions .pagination { 1096 | float: right; 1097 | width: auto; 1098 | height: 19px; 1099 | font-size: 12px; 1100 | padding-top: 15px; 1101 | } 1102 | 1103 | #productGrid #btmOptions .pagination a { 1104 | color: #C00000; 1105 | text-decoration: underline; 1106 | } 1107 | 1108 | #productGrid #btmOptions .pagination a:hover { 1109 | color: #000000; 1110 | text-decoration: none; 1111 | 1112 | } 1113 | 1114 | #productGrid #btmCategoryPhoto { 1115 | clear: left; 1116 | float: left; 1117 | } 1118 | 1119 | #productGrid #btmCategoryPhotoImage { 1120 | clear: left; 1121 | float: left; 1122 | } 1123 | 1124 | #productGrid #btmCategoryPhotoCaption { 1125 | clear: left; 1126 | float: left; 1127 | } 1128 | 1129 | /* end productGrid */ 1130 | 1131 | 1132 | 1133 | 1134 | 1135 | 1136 | 1137 | 1138 | 1139 | /* begin productList */ 1140 | /* used in templates/product.grid.tem.php */ 1141 | /* only used when a product is displaying a "list" of products */ 1142 | 1143 | #productList { 1144 | text-align: left; 1145 | margin: 5px; 1146 | width: 500px; 1147 | } 1148 | 1149 | #productList h2 { } 1150 | 1151 | #productList #categoryDescription { 1152 | float: left; 1153 | clear: left; 1154 | margin-bottom: 10px; 1155 | border: 1px solid #FFFFFF; 1156 | width: auto; 1157 | height: auto; 1158 | } 1159 | 1160 | #productList table{ 1161 | float: left; 1162 | clear: left; 1163 | } 1164 | 1165 | #productList #topOptions { 1166 | width: auto; 1167 | height: 40px; 1168 | float: left; 1169 | clear: left; 1170 | } 1171 | 1172 | #productList #topOptions .search { 1173 | float: left; 1174 | clear: left; 1175 | height: 18px; 1176 | } 1177 | 1178 | #productList #topOptions .display { 1179 | float: left; 1180 | clear: left; 1181 | height: 18px; 1182 | } 1183 | 1184 | #productList #topOptions .sort { 1185 | width: 230px; 1186 | height: 20px; 1187 | float: right; 1188 | } 1189 | 1190 | #productList #topOptions .sort .label { 1191 | float: left; 1192 | height: 18px; 1193 | padding: 2px; 1194 | padding-top: 5px; 1195 | } 1196 | 1197 | #productList #topOptions .sort .option { 1198 | float: left; 1199 | height: 18px; 1200 | padding: 2px; 1201 | } 1202 | 1203 | #productList #topOptions .sort .option select { 1204 | height: 18px; 1205 | } 1206 | 1207 | #productList .content-even1 { 1208 | border-bottom: 1px dotted #D9D9D9; 1209 | text-align: left; 1210 | vertical-align: top; 1211 | padding: 8px; 1212 | margin: 1px; 1213 | width: 470px; 1214 | } 1215 | 1216 | #productList .content-odd1 { 1217 | border-bottom: 1px dotted #D9D9D9; 1218 | text-align: left; 1219 | vertical-align: top; 1220 | padding: 8px; 1221 | margin: 1px; 1222 | width: 470px; 1223 | } 1224 | 1225 | #productList .title { 1226 | margin-top: 8px; 1227 | margin-bottom: 8px; 1228 | text-align: left; 1229 | float: left; 1230 | clear: both; 1231 | width: 100%; 1232 | } 1233 | 1234 | #productList .title a { 1235 | color: #C50024; 1236 | font-size: 14px; 1237 | text-decoration: underline; 1238 | font-weight: bold; 1239 | line-height: 16px; 1240 | } 1241 | 1242 | #productList .title a:hover { 1243 | text-decoration: none; 1244 | } 1245 | 1246 | #productList .photo { 1247 | width: 150px; 1248 | height: auto; 1249 | float: left; 1250 | clear: left; 1251 | } 1252 | 1253 | #productList .description { 1254 | width: 60%; 1255 | height: auto; 1256 | float: left; 1257 | padding: 5px; 1258 | text-align: left; 1259 | } 1260 | 1261 | #productList .details { 1262 | width: 60%; 1263 | height: auto; 1264 | font-size: 11px; 1265 | font-weight: normal; 1266 | float: left; 1267 | text-align: left; 1268 | color: #464646; 1269 | } 1270 | 1271 | #productList .details .sprice { 1272 | width: 40%; 1273 | float: right; 1274 | font-size: 13px; 1275 | font-weight: bold; 1276 | text-align: left; 1277 | padding: 8px; 1278 | } 1279 | 1280 | #productList .details .buttons { 1281 | float: left; 1282 | clear: left; 1283 | text-align: left; 1284 | width: 40%; 1285 | } 1286 | 1287 | #productList .details .buttons .detailBtn { 1288 | background:url(../design/images/small_btn.gif) no-repeat center center; 1289 | font-weight: bold; 1290 | font-size: 10px; 1291 | float: left; 1292 | padding-top: 6px; 1293 | width: 100%; 1294 | height: 19px; 1295 | text-align: center; 1296 | vertical-align: middle; 1297 | } 1298 | 1299 | #productList .details .buttons .detailBtnNoImg { 1300 | font-weight: bold; 1301 | font-size: 10px; 1302 | float: left; 1303 | padding-top: 6px; 1304 | width: 100%; 1305 | height: 19px; 1306 | text-align: center; 1307 | vertical-align: middle; 1308 | } 1309 | 1310 | #productList .details .buttons .detailBtn a { 1311 | color: #FFFFFF; 1312 | text-decoration: none; 1313 | } 1314 | 1315 | #productList .details .buttons .detailBtn a:hover { 1316 | color: #FFFFFF; 1317 | text-decoration: underline; 1318 | } 1319 | 1320 | #productList .details .buttons .addToCartBtn { 1321 | background:url(../design/images/medium_btn.gif) no-repeat center center; 1322 | font-weight: bold; 1323 | font-size: 11px; 1324 | float: left; 1325 | padding-top: 6px; 1326 | width: 100%; 1327 | height: 19px; 1328 | text-align: center; 1329 | vertical-align: middle; 1330 | } 1331 | 1332 | #productList .details .buttons .addToCartBtnNoImg { 1333 | font-weight: bold; 1334 | font-size: 11px; 1335 | float: left; 1336 | padding-top: 6px; 1337 | width: 100%; 1338 | height: 19px; 1339 | text-align: center; 1340 | vertical-align: middle; 1341 | } 1342 | 1343 | #productList .details .buttons .addToCartBtn a { 1344 | color: #FFFFFF; 1345 | text-decoration: none; 1346 | } 1347 | 1348 | #productList .details .buttons .addToCartBtn a:hover { 1349 | color: #FFFFFF; 1350 | text-decoration: underline; 1351 | } 1352 | 1353 | #productList .details .pricenote { 1354 | margin-top: 10px; 1355 | margin-bottom: 10px; 1356 | color: #C00000; 1357 | font-weight: bold; 1358 | } 1359 | 1360 | #productList .options { 1361 | float: left; 1362 | clear: left; 1363 | margin-top: 5px; 1364 | color: #464646; 1365 | text-align: left; 1366 | margin-top: 10px; 1367 | } 1368 | 1369 | #productList .options .qty { 1370 | margin-top: 4px; 1371 | } 1372 | 1373 | #productList .options .qty input { 1374 | color: #464646; 1375 | } 1376 | 1377 | #productList .options .form-label { 1378 | width: 25%; 1379 | text-align: left; 1380 | padding: 3px; 1381 | } 1382 | 1383 | #productList .options .form-field { 1384 | text-align: left; 1385 | width: auto; 1386 | padding: 0px; 1387 | } 1388 | 1389 | #productList #btmOptions { 1390 | clear: left; 1391 | float: left; 1392 | width: 500px; 1393 | height: 60px; 1394 | } 1395 | 1396 | #productList #btmOptions .batchAddToCartButton { 1397 | background:url(../design/images/large_btn.gif) no-repeat; 1398 | font-weight: bold; 1399 | font-size: 10px; 1400 | float: left; 1401 | width: 158px; 1402 | height: 19px; 1403 | text-align: center; 1404 | padding: 3px; 1405 | vertical-align: middle; 1406 | margin-top: 15px; 1407 | } 1408 | 1409 | #productList #btmOptions .batchAddToCartButton a { 1410 | color: #FFFFFF; 1411 | text-decoration: none; 1412 | } 1413 | 1414 | #productList #btmOptions .batchAddToCartButton a:hover { 1415 | color: #FFFFFF; 1416 | text-decoration: underline; 1417 | } 1418 | 1419 | #productList #btmOptions .pagination { 1420 | float: right; 1421 | width: auto; 1422 | height: 19px; 1423 | font-size: 12px; 1424 | padding-top: 15px; 1425 | } 1426 | 1427 | #productList #btmOptions .pagination a { 1428 | color: #C00000; 1429 | text-decoration: underline; 1430 | } 1431 | 1432 | #productList #btmOptions .pagination a:hover { 1433 | color: #000000; 1434 | text-decoration: none; 1435 | 1436 | } 1437 | 1438 | #productList #btmCategoryPhoto { 1439 | clear: left; 1440 | float: left; 1441 | } 1442 | 1443 | #productList #btmCategoryPhotoImage { 1444 | clear: left; 1445 | float: left; 1446 | } 1447 | 1448 | #productList #btmCategoryPhotoCaption { 1449 | clear: left; 1450 | float: left; 1451 | } 1452 | 1453 | /* end productList */ 1454 | 1455 | 1456 | 1457 | 1458 | 1459 | 1460 | 1461 | 1462 | 1463 | 1464 | 1465 | /* begin productDetail */ 1466 | /* used in templates/product.detail.tem.php */ 1467 | 1468 | #productDetail{ 1469 | text-align: left; 1470 | margin: 5px; 1471 | width: 525px; 1472 | } 1473 | 1474 | #productDetail h2 { } 1475 | 1476 | #productDetail #productPhotos { 1477 | float: left; 1478 | clear: left; 1479 | width: 250px; 1480 | padding-top: 10px; 1481 | vertical-align: middle; 1482 | text-align: center; 1483 | } 1484 | 1485 | #productDetail #prodThumbnails { 1486 | clear: left; 1487 | } 1488 | 1489 | #productDetail #extraDetails { 1490 | float: left; 1491 | clear: none; 1492 | height: auto; 1493 | width: 260px; 1494 | border-collapse: collapse; 1495 | margin: 0px; 1496 | padding: 0px 5px 5px 5px; 1497 | color: #878787; 1498 | } 1499 | 1500 | #productDetail .submitBtn { 1501 | font-size: 130%; 1502 | font-weight: bold; 1503 | } 1504 | 1505 | #productDetail #qtyPricing { 1506 | float: left; 1507 | border-collapse: collapse; 1508 | margin-bottom: 15px; 1509 | } 1510 | 1511 | #productDetail #qtyPricing .hdr-title-left { 1512 | float: left; 1513 | color: #FFFFFF; 1514 | background-color: #878787; 1515 | text-align: left; 1516 | font-weight: bold; 1517 | padding: 3px; 1518 | width: 60px; 1519 | } 1520 | 1521 | #productDetail #qtyPricing .hdr-title-right { 1522 | float: left; 1523 | color: #FFFFFF; 1524 | background-color: #878787; 1525 | text-align: left; 1526 | font-weight: bold; 1527 | padding: 3px; 1528 | width: 150px; 1529 | } 1530 | 1531 | #productDetail #qtyPricing .list-left { 1532 | clear: left; 1533 | float: left; 1534 | border-bottom: 1px solid #D8DDE3; 1535 | padding: 3px; 1536 | width: 60px; 1537 | } 1538 | 1539 | #productDetail #qtyPricing .list-right { 1540 | float: left; 1541 | border-bottom: 1px solid #D8DDE3; 1542 | padding: 3px; 1543 | width: 150px; 1544 | } 1545 | 1546 | #productDetail #price { 1547 | font-size: 110%; 1548 | font-weight: bold; 1549 | } 1550 | 1551 | #productDetail .form-label { 1552 | font-weight: bold; 1553 | width: 110px; 1554 | } 1555 | 1556 | #productDetail .form-field { } 1557 | 1558 | #productDetail #customerUpload { 1559 | margin-top: 15px; 1560 | clear: left; 1561 | float: left; 1562 | } 1563 | 1564 | #productDetail #detailGroup { 1565 | float: left; 1566 | clear: left; 1567 | } 1568 | 1569 | #productDetail #detailTabs { 1570 | clear: left; 1571 | float: left; 1572 | width: 98%; 1573 | } 1574 | 1575 | #productDetail #detailTabs ul { 1576 | margin: 0; 1577 | padding: 10px 10px 0 5px; 1578 | list-style: none; 1579 | } 1580 | 1581 | #productDetail #detailTabs li { 1582 | display: inline; 1583 | margin: 0; 1584 | padding: 0; 1585 | font-weight: bold; 1586 | } 1587 | 1588 | #productDetail #detailTabs a .current { 1589 | color: #FFFFFF; 1590 | font-size: 150%; 1591 | } 1592 | 1593 | #productDetail #detailTabs a { 1594 | float: left; 1595 | background: url(../design/images/tab-left.gif) no-repeat left top; 1596 | margin: 0; 1597 | padding: 0 0 0 5px; 1598 | text-decoration: none; 1599 | } 1600 | 1601 | #productDetail #detailTabs a span { 1602 | float: left; 1603 | display: block; 1604 | background: url(../design/images/tab-right.gif) no-repeat right top; 1605 | padding: 5px 10px 5px 3px; 1606 | color: #404040; 1607 | } 1608 | 1609 | /* Commented Backslash Hack hides rule from IE5-Mac \*/ 1610 | 1611 | #productDetail #detailTabs a span { 1612 | float: none; 1613 | } 1614 | 1615 | /* End IE5-Mac hack */ 1616 | #productDetail #detailTabs a:hover span { 1617 | color: #FFFFFF; 1618 | } 1619 | 1620 | #productDetail #detailTabs a:hover { 1621 | color: #FFFFFF; 1622 | } 1623 | 1624 | #productDetail #detailTabs a:hover span { 1625 | color: #FFFFFF; 1626 | } 1627 | 1628 | #productDetail .hdr-title { 1629 | float: left; 1630 | color: #FFFFFF; 1631 | background-color: #878787; 1632 | text-align: left; 1633 | font-weight: bold; 1634 | padding: 5px; 1635 | width: 98%; 1636 | } 1637 | 1638 | #productDetail .container { 1639 | clear: both; 1640 | float: left; 1641 | } 1642 | 1643 | #productDetail .body { 1644 | clear: left; 1645 | padding: 5px; 1646 | } 1647 | 1648 | #productDetail #productDescription { 1649 | margin-top: 15px; 1650 | float: left; 1651 | clear: left; 1652 | width: 485px; 1653 | height: auto; 1654 | text-align: left; 1655 | } 1656 | 1657 | #productDetail #productDescription p { 1658 | margin: 0px; 1659 | padding: 0px; 1660 | text-align: left; 1661 | } 1662 | 1663 | #productDetail #productReviews { 1664 | border: 1px solid #404040; 1665 | width: 485px; 1666 | float: left; 1667 | clear: left; 1668 | height: auto; 1669 | margin-top: 15px; 1670 | text-align: left; 1671 | } 1672 | 1673 | #productReviews .body { 1674 | width: 470px; 1675 | } 1676 | 1677 | #productReviews .form-field { 1678 | width: 320px; 1679 | } 1680 | 1681 | #productDetail #productReviews #productReviewsAddNote { 1682 | display: block; 1683 | } 1684 | 1685 | #productDetail #productReviews #productReviewsAdd { 1686 | display: none; 1687 | } 1688 | 1689 | /* end productDetail */ 1690 | 1691 | 1692 | 1693 | 1694 | 1695 | 1696 | 1697 | 1698 | /* begin search form */ 1699 | /* used in templates/search.form.tem.php */ 1700 | 1701 | #searchForm { 1702 | text-align: left; 1703 | width: 500px; 1704 | margin: 5px; 1705 | } 1706 | 1707 | #searchForm h2 { } 1708 | 1709 | #searchForm #searchFormCategory { 1710 | float: left; 1711 | } 1712 | 1713 | #searchForm #searchFormCategory .label { 1714 | float: left; 1715 | height: 16px; 1716 | } 1717 | 1718 | #searchForm #searchFormCategory .field { 1719 | float: left; 1720 | clear: left; 1721 | } 1722 | 1723 | #searchForm #searchFormCategory select { 1724 | color: #000000; 1725 | } 1726 | 1727 | #searchForm #searchFormVendor, #searchFormShopByPrice { 1728 | float: left; 1729 | clear: left; 1730 | margin-top: 15px; 1731 | } 1732 | 1733 | #searchForm #searchFormVendor .label, #searchFormShopByPrice .label { 1734 | float: left; 1735 | height: 16px; 1736 | } 1737 | 1738 | #searchForm #searchFormVendor .field, #searchFormShopByPrice select { 1739 | float: left; 1740 | clear: left; 1741 | } 1742 | 1743 | #searchForm #searchFormVendor select, #searchFormShopByPrice select { 1744 | color: #000000; 1745 | } 1746 | 1747 | #searchForm #searchFormKeywords { 1748 | float: left; 1749 | margin-top: 15px; 1750 | } 1751 | 1752 | #searchForm #searchFormKeywords .label { 1753 | float: left; 1754 | height: 16px; 1755 | } 1756 | 1757 | #searchForm #searchFormKeywords .field { 1758 | float: left; 1759 | clear: left; 1760 | } 1761 | 1762 | #searchForm #searchFormKeywords input { 1763 | width: 200px; 1764 | color: #000000; 1765 | } 1766 | 1767 | #searchForm #searchFormSubmit { 1768 | float: left; 1769 | clear: left; 1770 | padding-top: 15px; 1771 | } 1772 | 1773 | #searchForm #searchFormSubmit .button { 1774 | float: left; 1775 | font-family: Tahoma; 1776 | font-size: 11px; 1777 | line-height: 13px; 1778 | padding: 1px; 1779 | margin-bottom: 15px; 1780 | } 1781 | 1782 | /* end search form */ 1783 | 1784 | 1785 | 1786 | 1787 | 1788 | 1789 | 1790 | 1791 | 1792 | /* begin registry search form */ 1793 | /* used in templates/registry.search.form.tem.php */ 1794 | 1795 | #registrySearchForm { 1796 | text-align: left; 1797 | width: 500px; 1798 | margin: 5px; 1799 | } 1800 | 1801 | #registrySearchForm h2 { } 1802 | 1803 | 1804 | #registrySearchForm #searchFormKeywords { 1805 | float: left; 1806 | } 1807 | 1808 | #registrySearchForm #searchFormKeywords .label { 1809 | float: left; 1810 | height: 16px; 1811 | color: #878787; 1812 | } 1813 | 1814 | #registrySearchForm #searchFormKeywords .field { 1815 | float: left; 1816 | clear: left; 1817 | } 1818 | 1819 | #registrySearchForm #searchFormKeywords input { 1820 | width: 200px; 1821 | color: #000000; 1822 | } 1823 | 1824 | #registrySearchForm #searchFormSubmit { 1825 | float: left; 1826 | padding-top: 15px; 1827 | } 1828 | 1829 | #registrySearchForm #searchFormSubmit .button { 1830 | float: left; 1831 | font-family: Tahoma; 1832 | font-size: 11px; 1833 | line-height: 13px; 1834 | color: #5B5B5B; 1835 | padding: 1px; 1836 | } 1837 | 1838 | /* end registrysearch form */ 1839 | 1840 | 1841 | 1842 | 1843 | 1844 | 1845 | 1846 | 1847 | 1848 | /* begin view cart */ 1849 | /* used in templates/view.cart.tem.php */ 1850 | 1851 | #viewCart { 1852 | text-align: left; 1853 | margin: 5px; 1854 | width: 500px; 1855 | } 1856 | 1857 | #viewCart h2 { } 1858 | 1859 | #viewCart p { 1860 | height: auto; 1861 | text-align: left; 1862 | } 1863 | 1864 | #viewCart #pageNote { 1865 | height: auto; 1866 | text-align: left; 1867 | } 1868 | 1869 | #viewCart #pageError { 1870 | border: 1px solid #C00000; 1871 | padding: 5px; 1872 | line-height: 20px; 1873 | font-weight: bold; 1874 | } 1875 | 1876 | #viewCart #cartItems { 1877 | height: auto; 1878 | width: 96%; 1879 | border-collapse: collapse; 1880 | float: left; 1881 | clear: left; 1882 | } 1883 | 1884 | #viewCart #cartItems thead tr th { 1885 | color: #FFFFFF; 1886 | background-color: #878787; 1887 | text-align: left; 1888 | font-weight: bold; 1889 | height: 22px; 1890 | font-size: 12px; 1891 | } 1892 | 1893 | #viewCart #cartItems tbody tr td { 1894 | border-bottom: 1px solid #D8DDE3; 1895 | text-align: left; 1896 | font-weight: normal; 1897 | height: auto; 1898 | padding-top: 5px; 1899 | padding-bottom: 5px; 1900 | } 1901 | 1902 | #viewCart #cartItems .cartError { 1903 | background-color: #FF4040; 1904 | } 1905 | 1906 | #viewCart #cartItems .normal { 1907 | background-color: yellow; 1908 | } 1909 | 1910 | #viewCart #cartItems .cartWarning { 1911 | background-color: #FFFF80; 1912 | } 1913 | 1914 | 1915 | #viewCart #cartInfo { 1916 | height: auto; 1917 | width: 96%; 1918 | border-collapse: collapse; 1919 | float: left; 1920 | clear: left; 1921 | } 1922 | 1923 | #viewCart #cartNumItems { 1924 | width: 150px; 1925 | padding-top: 8px; 1926 | height: 35px; 1927 | float:left; 1928 | clear:left; 1929 | text-align: left; 1930 | } 1931 | 1932 | #viewCart #cartCoupon { 1933 | height: 35px; 1934 | width: auto; 1935 | text-align: left; 1936 | float:left; 1937 | clear: left; 1938 | } 1939 | 1940 | #viewCart #cartAmounts { 1941 | padding-top: 8px; 1942 | margin-bottom: 8px; 1943 | float: right; 1944 | text-align: right; 1945 | } 1946 | 1947 | #viewCart #cartAmounts .field-link { 1948 | width: 130px; 1949 | padding-top: 8px; 1950 | padding-bottom: 8px; 1951 | text-align: right; 1952 | vertical-align: bottom; 1953 | } 1954 | 1955 | #viewCart #cartAmounts .field-price { 1956 | text-align: right; 1957 | font-weight: bold; 1958 | height: 18px; 1959 | padding: 2px; 1960 | } 1961 | 1962 | #viewCart #cartAmounts .field-label { 1963 | text-align: left; 1964 | height: 18px; 1965 | clear: left; 1966 | float: left; 1967 | padding: 2px; 1968 | } 1969 | 1970 | #viewCart #cartButtons { 1971 | clear: both; 1972 | float: left; 1973 | margin-top: 25px; 1974 | width: 96%; 1975 | text-align: left; 1976 | } 1977 | 1978 | #viewCart #gatewayButtonsContainer { 1979 | width: 500px; 1980 | height: 50px; 1981 | } 1982 | 1983 | #viewCart #gatewayButtonsContainer .gatewayButtons { 1984 | float: right; 1985 | height: 50px; 1986 | } 1987 | 1988 | #viewCart #crossSell { 1989 | border-top: 1px dotted #D9D9D9; 1990 | height: auto; 1991 | width: 96%; 1992 | border-collapse: collapse; 1993 | float: left; 1994 | clear: left; 1995 | padding-top: 5px; 1996 | margin-top: 15px; 1997 | } 1998 | 1999 | #viewCart #crossSell .content-even { 2000 | text-align: center; 2001 | width: 165px; 2002 | height: auto; 2003 | padding-top: 15px; 2004 | } 2005 | 2006 | #viewCart #crossSell .content-odd { 2007 | text-align: center; 2008 | width: 165px; 2009 | height: auto; 2010 | padding-top: 15px; 2011 | } 2012 | 2013 | #viewCart #crossSell .title { 2014 | width: 100%; 2015 | margin-top: 8px; 2016 | margin-bottom: 8px; 2017 | text-align: center; 2018 | } 2019 | 2020 | #viewCart #crossSell .title a { 2021 | color: #C50024; 2022 | font-size: 12px; 2023 | text-decoration: underline; 2024 | font-weight: bold; 2025 | line-height: 16px; 2026 | } 2027 | 2028 | #viewCart #crossSell .title a:hover { 2029 | text-decoration: none; 2030 | } 2031 | 2032 | #viewCart #crossSell .photo{ 2033 | text-align: center; 2034 | } 2035 | 2036 | #viewCart #crossSell .details { 2037 | width: 100%; 2038 | text-align: center; 2039 | padding-bottom: 8px; 2040 | } 2041 | 2042 | #viewCart #crossSell .details .detailsBtn { 2043 | background:url(../design/images/small_btn.gif) no-repeat center center; 2044 | font-weight: bold; 2045 | font-size: 11px; 2046 | height: 22px; 2047 | margin: 5px; 2048 | padding-top: 8px; 2049 | text-align: center; 2050 | } 2051 | 2052 | #viewCart #crossSell .details .detailsBtn a { 2053 | color: #FFFFFF; 2054 | text-decoration: none; 2055 | } 2056 | 2057 | #viewCart #crossSell .details .detailsBtn a:hover { 2058 | color: #FFFFFF; 2059 | text-decoration: underline; 2060 | } 2061 | 2062 | /* end view cart */ 2063 | 2064 | 2065 | 2066 | 2067 | 2068 | 2069 | 2070 | 2071 | /* begin popupShipping */ 2072 | /* used in templates/view.shipping.form.tem.php */ 2073 | /* used in templates/view.shipping.results.tem.php */ 2074 | 2075 | #popupShipping { 2076 | text-align: left; 2077 | margin: 10px; 2078 | } 2079 | 2080 | #popupShipping h2 { 2081 | width: 300px; 2082 | } 2083 | 2084 | #popupShipping #pageNote{ 2085 | float: left; 2086 | width: 100%; 2087 | } 2088 | 2089 | #popupShipping #serviceLogo { 2090 | width: 150px; 2091 | float: right; 2092 | padding-left: 15px; 2093 | } 2094 | 2095 | 2096 | /* end popupShipping */ 2097 | 2098 | 2099 | 2100 | 2101 | 2102 | 2103 | /* begin checkoutOnePage */ 2104 | /* used in templates/checkout.onepage.tem.php */ 2105 | 2106 | #checkoutOnePage { 2107 | } 2108 | 2109 | #checkoutOnePage h2 { } 2110 | 2111 | #checkoutOnePage .form-label { 2112 | font-weight: normal; 2113 | text-align: left; 2114 | padding: 5px; 2115 | width: 20%; 2116 | } 2117 | 2118 | #checkoutOnePage .form-label-required { 2119 | font-weight: bold; 2120 | text-align: left; 2121 | padding: 5px; 2122 | width: 20%; 2123 | } 2124 | 2125 | #checkoutOnePage .form-label-long { 2126 | font-weight: normal; 2127 | text-align: left; 2128 | padding: 5px; 2129 | width: 75%; 2130 | } 2131 | 2132 | #checkoutOnePage .form-label-required-long { 2133 | font-weight: bold; 2134 | text-align: left; 2135 | padding: 5px; 2136 | width: 75%; 2137 | } 2138 | 2139 | #checkoutOnePage #cartItems { 2140 | height: auto; 2141 | width: 96%; 2142 | border-collapse: collapse; 2143 | float: left; 2144 | clear: left; 2145 | } 2146 | 2147 | #checkoutOnePage #cartItems thead tr th { 2148 | color: #FFFFFF; 2149 | background-color: #878787; 2150 | text-align: left; 2151 | font-weight: bold; 2152 | height: 22px; 2153 | font-size: 12px; 2154 | } 2155 | 2156 | #checkoutOnePage #cartItems tbody tr td { 2157 | border-bottom: 1px solid #D8DDE3; 2158 | text-align: left; 2159 | font-weight: normal; 2160 | height: auto; 2161 | padding-top: 5px; 2162 | padding-bottom: 5px; 2163 | } 2164 | 2165 | #checkoutOnePage #cartItems .cartError { 2166 | background-color: #FF4040; 2167 | } 2168 | 2169 | #checkoutOnePage #cartItems .normal { 2170 | background-color: yellow; 2171 | } 2172 | 2173 | #checkoutOnePage #cartItems .cartWarning { 2174 | background-color: #FFFF80; 2175 | } 2176 | 2177 | #checkoutOnePage #cartInfo { 2178 | height: auto; 2179 | width: 96%; 2180 | float: left; 2181 | clear: left; 2182 | } 2183 | 2184 | #checkoutOnePage #cartAmounts { 2185 | padding-top: 8px; 2186 | width: 145px; 2187 | float: right; 2188 | } 2189 | 2190 | #checkoutOnePage #cartAmounts .field-link { 2191 | width: 130px; 2192 | padding-top: 8px; 2193 | padding-bottom: 8px; 2194 | text-align: right; 2195 | vertical-align: bottom; 2196 | } 2197 | 2198 | #checkoutOnePage #cartAmounts .field-price { 2199 | text-align: right; 2200 | font-weight: bold; 2201 | height: 18px; 2202 | padding: 2px; 2203 | } 2204 | 2205 | #checkoutOnePage #cartAmounts .field-label { 2206 | text-align: left; 2207 | height: 18px; 2208 | clear: left; 2209 | float: left; 2210 | padding: 2px; 2211 | } 2212 | 2213 | #checkoutOnePage #checkoutWelcome { 2214 | } 2215 | 2216 | #checkoutOnePage #existingCustomer { 2217 | } 2218 | 2219 | #checkoutOnePage #existingCustomer .hdr-title{ 2220 | } 2221 | 2222 | #checkoutOnePage #existingCustomer .body { 2223 | } 2224 | 2225 | #checkoutOnePage #newCustomer { 2226 | } 2227 | 2228 | #checkoutOnePage #newCustomer .hdr-title{ 2229 | } 2230 | 2231 | #checkoutOnePage #newCustomer .body { 2232 | } 2233 | 2234 | #checkoutOnePage #billAddress { 2235 | clear: left; 2236 | float: left; 2237 | margin-top: 15px; 2238 | border-top: 1px solid #D8DDE3; 2239 | padding: 4px; 2240 | width: 96%; 2241 | } 2242 | 2243 | #checkoutOnePage #billAddress table { 2244 | text-align: left; 2245 | padding: 4px; 2246 | width: 100%; 2247 | } 2248 | 2249 | #checkoutOnePage #shipAddress { 2250 | clear: left; 2251 | float: left; 2252 | margin-top: 15px; 2253 | border-top: 1px solid #D8DDE3; 2254 | padding: 4px; 2255 | width: 96%;; 2256 | } 2257 | 2258 | #checkoutOnePage #shipAddress table { 2259 | text-align: left; 2260 | padding: 4px; 2261 | width: 100%; 2262 | } 2263 | 2264 | #checkoutOnePage #shipMethod { 2265 | clear: left; 2266 | float: left; 2267 | margin-top: 15px; 2268 | border-top: 1px solid #D8DDE3; 2269 | padding: 4px; 2270 | width: 96%; 2271 | } 2272 | 2273 | #checkoutOnePage #shipMethod table { 2274 | text-align: left; 2275 | padding: 4px; 2276 | width: 100%; 2277 | } 2278 | 2279 | #checkoutOnePage #shipMethod table .multiShipOptions { 2280 | width: 180px; 2281 | } 2282 | 2283 | #checkoutOnePage #paymentInfo { 2284 | clear: left; 2285 | float: left; 2286 | margin-top: 15px; 2287 | border-top: 1px solid #D8DDE3; 2288 | padding: 4px; 2289 | width: 96%; 2290 | } 2291 | 2292 | #checkoutOnePage #paymentInfo table { 2293 | text-align: left; 2294 | padding: 4px; 2295 | width: 100%; 2296 | } 2297 | 2298 | #checkoutOnePage #totalsInfo { 2299 | clear: left; 2300 | float: left; 2301 | margin-top: 15px; 2302 | border-top: 1px solid #D8DDE3; 2303 | } 2304 | 2305 | #checkoutOnePage #totalsInfo { 2306 | text-align: left; 2307 | padding: 4px; 2308 | width: 96%; 2309 | } 2310 | 2311 | #checkoutOnePage #totalsInfo .totalLabel { 2312 | text-align: right; 2313 | font-weight: bold; 2314 | font-size: 125%; 2315 | width: 125px; 2316 | padding: 4px; 2317 | } 2318 | 2319 | #checkoutOnePage #totalsInfo .totalField { 2320 | text-align: left; 2321 | font-size: 125%; 2322 | width: auto; 2323 | padding: 4px; 2324 | } 2325 | 2326 | #checkoutOnePage #totalsInfo #grand_total_div { 2327 | font-size: 125%; 2328 | font-weight: bold; 2329 | height: 28px; 2330 | color: #878787; 2331 | width: auto; 2332 | } 2333 | 2334 | #checkoutOnePage #checkoutSubscription { 2335 | clear: left; 2336 | float: left; 2337 | margin-top: 15px; 2338 | border-top: 1px solid #D8DDE3; 2339 | padding: 4px; 2340 | width: 96%; 2341 | } 2342 | 2343 | #checkoutOnePage #checkoutSubscription table { 2344 | text-align: left; 2345 | padding: 4px; 2346 | width: 100%; 2347 | } 2348 | 2349 | /* end checkoutOnePage */ 2350 | 2351 | 2352 | 2353 | 2354 | 2355 | 2356 | 2357 | 2358 | /* begin checkoutBilling */ 2359 | /* used in templates/checkout.billing.form.tem.php */ 2360 | 2361 | #checkoutBilling { 2362 | text-align: left; 2363 | width: 500px; 2364 | margin: 5px; 2365 | } 2366 | 2367 | #checkoutBilling .form-label { } 2368 | 2369 | #checkoutBilling .form-label-required { } 2370 | 2371 | #checkoutBilling .form-field { } 2372 | 2373 | /* end checkoutBilling */ 2374 | 2375 | 2376 | 2377 | 2378 | 2379 | 2380 | 2381 | 2382 | 2383 | /* begin checkoutShipping */ 2384 | /* used in templates/checkout.shipping.form.tem.php */ 2385 | 2386 | #checkoutShipping { 2387 | text-align: left; 2388 | width: 500px; 2389 | margin: 5px; 2390 | } 2391 | 2392 | #checkoutShipping .form-label { } 2393 | 2394 | #checkoutShipping .form-label-required { } 2395 | 2396 | #checkoutShipping .form-field { } 2397 | 2398 | /* end checkoutShipping */ 2399 | 2400 | 2401 | 2402 | 2403 | 2404 | 2405 | 2406 | 2407 | 2408 | /* begin checkoutPayment */ 2409 | /* used in templates/checkout.payment.form.tem.php */ 2410 | 2411 | #checkoutPayment { 2412 | text-align: left; 2413 | width: 500px; 2414 | margin: 5px; 2415 | } 2416 | 2417 | #checkoutPayment .form-label { } 2418 | 2419 | #checkoutPayment .form-field { } 2420 | 2421 | #checkoutPayment #paymentOpts { } 2422 | 2423 | #checkoutPayment #paymentOpts .form-label { 2424 | height: auto; 2425 | } 2426 | 2427 | #checkoutPayment #paymentOpts .form-field { 2428 | padding: 4px; 2429 | height: auto; 2430 | float: left; 2431 | } 2432 | 2433 | #checkoutPayment #spacer { 2434 | clear: left; 2435 | float: left; 2436 | } 2437 | 2438 | #checkoutPayment .pageNote { 2439 | clear:left; 2440 | float: left; 2441 | margin: 5px; 2442 | } 2443 | 2444 | /* end checkoutPayment */ 2445 | 2446 | 2447 | 2448 | 2449 | 2450 | 2451 | 2452 | 2453 | 2454 | /* begin checkoutSubscription */ 2455 | /* used in templates/checkout.subscription.form.tem.php */ 2456 | 2457 | #checkoutSubscription { 2458 | text-align: left; 2459 | width: 500px; 2460 | margin: 5px; 2461 | } 2462 | 2463 | #checkoutSubscription .form-label { 2464 | clear: left; 2465 | float: left; 2466 | text-align: left; 2467 | padding: 4px; 2468 | width: 100%; 2469 | } 2470 | 2471 | #checkoutSubscription .form-field { 2472 | clear: left; 2473 | padding: 4px; 2474 | height: auto; 2475 | float: left; 2476 | width: 100%; 2477 | } 2478 | 2479 | #checkoutSubscription #spacer { 2480 | clear: left; 2481 | float: left; 2482 | } 2483 | 2484 | /* end checkoutSubscription */ 2485 | 2486 | 2487 | 2488 | 2489 | 2490 | 2491 | 2492 | 2493 | /* begin checkoutConfirm */ 2494 | /* used in templates/checkout.confirm.tem.php */ 2495 | 2496 | #checkoutConfirm { 2497 | text-align: left; 2498 | width: 500px; 2499 | margin: 5px; 2500 | } 2501 | 2502 | #checkoutConfirm h2 { } 2503 | 2504 | #checkoutConfirm #billInfo { 2505 | margin: 5px; 2506 | border: 1px solid #D8DDE3; 2507 | float: left; 2508 | clear: left; 2509 | text-align: left; 2510 | } 2511 | 2512 | #checkoutConfirm #shipInfo { 2513 | margin: 5px; 2514 | border: 1px solid #D8DDE3; 2515 | float: left; 2516 | text-align: left; 2517 | } 2518 | 2519 | #checkoutConfirm #paymentInfo { 2520 | margin: 5px; 2521 | border: 1px solid #D8DDE3; 2522 | height: auto; 2523 | clear: both; 2524 | float: left; 2525 | text-align: left; 2526 | } 2527 | 2528 | #checkoutConfirm #orderDetails { 2529 | margin: 5px; 2530 | float: left; 2531 | clear: left; 2532 | border: 1px solid #D8DDE3; 2533 | width: 470px; 2534 | border-collapse: collapse; 2535 | text-align: left; 2536 | } 2537 | 2538 | #checkoutConfirm #orderDetails .list { 2539 | border: 1px solid #D8DDE3; 2540 | height: 22px; 2541 | } 2542 | 2543 | #checkoutConfirm .hdr-title { 2544 | color: #FFFFFF; 2545 | background-color: #878787; 2546 | text-align: left; 2547 | padding: 5px; 2548 | font-weight: bold; 2549 | } 2550 | 2551 | #checkoutConfirm .body { 2552 | padding: 5px; 2553 | } 2554 | 2555 | .submitBtn { 2556 | font-size: 130%; 2557 | font-weight: bold; 2558 | } 2559 | 2560 | .submitOrder { 2561 | width: 470px; 2562 | margin-top: 10px; 2563 | margin-bottom: 10px; 2564 | } 2565 | 2566 | .pageNote { 2567 | margin: 5px; 2568 | text-align: left; 2569 | } 2570 | 2571 | /* end checkoutConfirm */ 2572 | 2573 | 2574 | 2575 | 2576 | 2577 | 2578 | 2579 | 2580 | /* begin checkoutComplete */ 2581 | /* used in templates/checkout.complete.tem.php */ 2582 | 2583 | #checkoutComplete { 2584 | text-align: left; 2585 | width: 500px; 2586 | margin: 5px; 2587 | } 2588 | 2589 | #checkoutComplete .container { 2590 | padding: 0px; 2591 | margin: 0px; 2592 | width: auto; 2593 | } 2594 | 2595 | #checkoutComplete .container2 { 2596 | padding: 0px; 2597 | margin: 0px; 2598 | width: auto; 2599 | } 2600 | 2601 | #checkoutComplete #pageNote { 2602 | margin-top: 10px; 2603 | width: auto; 2604 | height: auto; 2605 | } 2606 | 2607 | #checkoutComplete #downloadFiles { 2608 | margin-top: 10px; 2609 | height: 35px; 2610 | } 2611 | 2612 | #checkoutComplete #downloadFiles input { 2613 | font-size: 120%; 2614 | font-weight: bold; 2615 | } 2616 | 2617 | #checkoutComplete .hdr-title { 2618 | font-size: 105%; 2619 | font-weight: bold; 2620 | line-height: 20px; 2621 | } 2622 | 2623 | #checkoutComplete .container input { 2624 | margin-bottom: 100px; 2625 | } 2626 | 2627 | /* end checkoutComplete */ 2628 | 2629 | 2630 | 2631 | 2632 | 2633 | 2634 | 2635 | /* begin clientAccount */ 2636 | /* used in all the client "my account" templates */ 2637 | /* templates/client.*.tem.php */ 2638 | 2639 | #clientAccount { 2640 | text-align: left; 2641 | width: 500px; 2642 | margin: 5px; 2643 | } 2644 | 2645 | #clientAccount h2 { } 2646 | 2647 | #clientAccount .section { 2648 | height: 40px; 2649 | float: left; 2650 | clear: left; 2651 | width: 65%; 2652 | } 2653 | 2654 | #clientAccount .logout { 2655 | height: 40px; 2656 | float: right; 2657 | vertical-align: bottom; 2658 | } 2659 | 2660 | #clientAccount .logout a { 2661 | padding-right:12px; 2662 | } 2663 | 2664 | #clientAccount .logout a:hover { } 2665 | 2666 | #clientAccount #billInfo a { 2667 | /* color: #FFFFFF; */ 2668 | } 2669 | 2670 | #clientAccount #shipInfo { 2671 | } 2672 | 2673 | #clientAccount #shipInfo a { 2674 | /* color: #FFFFFF; */ 2675 | } 2676 | 2677 | #clientAccount #paymentInfo { 2678 | 2679 | } 2680 | 2681 | #clientAccount #subscriptionBillInfo { 2682 | margin: 5px; 2683 | border: 1px solid #D8DDE3; 2684 | float: left; 2685 | clear: left; 2686 | text-align: left; 2687 | } 2688 | 2689 | #clientAccount #subscriptionShipInfo { 2690 | margin: 5px; 2691 | border: 1px solid #D8DDE3; 2692 | text-align: left; 2693 | float: left; 2694 | } 2695 | 2696 | #clientAccount #subscriptionPaymentInfo { 2697 | margin: 5px; 2698 | border: 1px solid #D8DDE3; 2699 | height: auto; 2700 | width: 230px; 2701 | float: left; 2702 | clear: left; 2703 | text-align: left; 2704 | } 2705 | 2706 | #clientAccount #orderDetails { 2707 | margin: 5px; 2708 | float: left; 2709 | clear: left; 2710 | border: 1px solid #D8DDE3; 2711 | width: 470px; 2712 | border-collapse: collapse; 2713 | } 2714 | 2715 | #clientAccount #orderDetails .list { 2716 | border: 1px solid #D8DDE3; 2717 | height: 22px; 2718 | } 2719 | 2720 | #clientAccount .hdr-title { 2721 | color: #FFFFFF; 2722 | background-color: #878787; 2723 | text-align: left; 2724 | padding:5px; 2725 | font-weight: bold; 2726 | } 2727 | 2728 | #clientAccount .body { 2729 | padding: 5px; 2730 | } 2731 | 2732 | #clientAccount #orderList .title, #clientAccount #subscriptionOrderList .title { 2733 | text-align: left; 2734 | margin: 5px; 2735 | } 2736 | 2737 | #clientAccount #orderList, #clientAccount #subscriptionOrderList { 2738 | border: 1px solid #D8DDE3; 2739 | border-collapse: collapse; 2740 | padding: 0; 2741 | margin: 0; 2742 | float: left; 2743 | width: 100%; 2744 | } 2745 | 2746 | #clientAccount #orderList thead th, #clientAccount #subscriptionOrderList thead th { 2747 | color: #FFFFFF; 2748 | background-color: #878787; 2749 | text-align: left; 2750 | vertical-align: middle; 2751 | padding: 3px; 2752 | height: 25px; 2753 | } 2754 | 2755 | #clientAccount #orderList tbody tr td, #clientAccount #subscriptionOrderList tbody tr td { 2756 | border-top: 1px solid #D8DDE3; 2757 | padding: 3px; 2758 | text-align: left; 2759 | } 2760 | 2761 | #clientAccount #orderList .buttons, #clientAccount #subscriptionOrderList .buttons { 2762 | text-align: right; 2763 | } 2764 | 2765 | #clientAccount #orderList thead tr th a, #clientAccount #subscriptionOrderList thead tr th a { 2766 | color: #FFFFFF; 2767 | } 2768 | 2769 | #clientAccount #orderList thead tr th a:hover, #clientAccount #subscriptionOrderList thead tr th a:hover { 2770 | color: #FFFFFF; 2771 | } 2772 | 2773 | #clientAccount #orderList, #clientAccount #subscriptionOrderList { 2774 | margin: 5px; 2775 | float: left; 2776 | border: 1px solid #D8DDE3; 2777 | height: auto; 2778 | width: 96%; 2779 | text-align: left; 2780 | } 2781 | 2782 | #clientAccount #orderList table, #clientAccount #subscriptionOrderList table { 2783 | width: 100%; 2784 | margin: 5px; 2785 | border-collapse: collapse; 2786 | border-top: 1px solid #D8DDE3; 2787 | text-align: left; 2788 | } 2789 | 2790 | #clientAccount #orderList table thead th, #clientAccount #subscriptionOrderList table thead th { 2791 | text-align: left; 2792 | font-weight: bold; 2793 | } 2794 | 2795 | #clientAccount #orderList table tbody, #clientAccount #orderList table tbody tr td, #clientAccount #subscriptionOrderList table tbody, #clientAccount #subscriptionOrderList table tbody tr td { 2796 | text-align: left; 2797 | border-bottom: 1px solid #D8DDE3; 2798 | border-top: 1px solid #D8DDE3; 2799 | padding: 2px; 2800 | } 2801 | 2802 | #clientAccount #orderList .outOfStock { 2803 | background-color: #FF4040; 2804 | } 2805 | 2806 | #clientAccount #orderList .exceedingStock { 2807 | background-color: #FFFF80; 2808 | } 2809 | 2810 | #clientAccount #myAccount { 2811 | margin: 5px; 2812 | border: 1px solid #D8DDE3; 2813 | height: auto; 2814 | width: 250px; 2815 | float: left; 2816 | text-align: left; 2817 | } 2818 | 2819 | #clientAccount #pageNote, #clientAccount .pageNote { 2820 | text-align: left; 2821 | clear: left; 2822 | font-size: 11px; 2823 | } 2824 | 2825 | #clientAccount #clientAccount .body { } 2826 | 2827 | #clientAccount .all-link { 2828 | margin: 5px; 2829 | } 2830 | 2831 | #clientAccount .links { 2832 | float: right; 2833 | padding-top: 15px; 2834 | padding-right: 15px; 2835 | } 2836 | 2837 | #clientAccount .buttons { 2838 | clear: left; 2839 | float: left; 2840 | padding-top: 15px; 2841 | padding-left: 3px; 2842 | width: 100%; 2843 | } 2844 | 2845 | #clientAccount #otherStats { } 2846 | 2847 | #clientAccount .points { 2848 | padding-left: 3px; 2849 | clear: left; 2850 | float: left; 2851 | } 2852 | 2853 | #clientAccount .pagination { 2854 | float: right; 2855 | padding-left: 3px; 2856 | padding-top: 13px; 2857 | height: 22px; 2858 | width: auto; 2859 | } 2860 | 2861 | #clientAccount .pagination a { 2862 | color: #C00000; 2863 | text-decoration: underline; 2864 | } 2865 | 2866 | #clientAccount .pagination a:hover { 2867 | color: #000000; 2868 | text-decoration: none; 2869 | } 2870 | 2871 | #clientAccount .myerror { 2872 | clear: left; 2873 | float: left; 2874 | } 2875 | 2876 | #clientAccount .adminFile { 2877 | float: left; 2878 | clear: left; 2879 | margin-left: 5px; 2880 | margin-top: 10px; 2881 | } 2882 | 2883 | #clientAccount #outOfStock { 2884 | float: left; 2885 | clear: left; 2886 | color: #FF0000; 2887 | } 2888 | 2889 | #clientAccount #exceedingStock { 2890 | float: left; 2891 | clear: left; 2892 | color: #FF0000; 2893 | } 2894 | 2895 | #clientAccount hr { 2896 | clear: left; 2897 | } 2898 | /* end clientAccount */ 2899 | 2900 | 2901 | 2902 | 2903 | 2904 | 2905 | 2906 | /* begin vendorLogin */ 2907 | /* used in templates/vendor.login.tem.php */ 2908 | /* used in templates/vendor.login.password.tem.php */ 2909 | 2910 | #vendorLogin { 2911 | text-align: left; 2912 | width: 500px; 2913 | margin:5px; 2914 | } 2915 | 2916 | #vendorLogin h2 { } 2917 | 2918 | #vendorLogin #pageNote { 2919 | height: 25px; 2920 | } 2921 | 2922 | #vendorLogin .form-label { } 2923 | 2924 | #vendorLogin .form-field { } 2925 | 2926 | /* end vendorLogin */ 2927 | 2928 | 2929 | 2930 | 2931 | 2932 | 2933 | 2934 | 2935 | /* begin vendorAccount */ 2936 | 2937 | #vendorAccount { 2938 | text-align: left; 2939 | margin: 5px; 2940 | width: 500px; 2941 | } 2942 | 2943 | #vendorAccount h2 { 2944 | width: 350px; 2945 | } 2946 | 2947 | #vendorAccount hr { 2948 | float: left; 2949 | clear: left; 2950 | } 2951 | 2952 | #vendorAccount .vendorlink { 2953 | color: #FFFFFF; 2954 | } 2955 | 2956 | #vendorAccount .pagination { 2957 | width: 475px; 2958 | margin-top: 10px; 2959 | margin-bottom: 10px; 2960 | } 2961 | 2962 | #vendorAccount #pageNote { 2963 | height: 25px; 2964 | } 2965 | 2966 | #vendorAccount .myerror { 2967 | float: left; 2968 | clear: left; 2969 | line-height: 5px; 2970 | } 2971 | 2972 | #vendorAccount .section { 2973 | height: 40px; 2974 | float: left; 2975 | clear: left; 2976 | width: 50%; 2977 | } 2978 | 2979 | #vendorAccount .logout { 2980 | height: 40px; 2981 | float: right; 2982 | vertical-align: bottom; 2983 | } 2984 | 2985 | #vendorAccount .logout a { } 2986 | 2987 | #vendorAccount .logout a:hover { } 2988 | 2989 | #vendorAccount #billInfo { 2990 | margin: 5px; 2991 | height: 160px; 2992 | width: 470px; 2993 | float: left; 2994 | clear: left; 2995 | } 2996 | 2997 | #vendorAccount #orderDetails { 2998 | margin: 5px; 2999 | float: left; 3000 | clear: left; 3001 | border: 1px solid #D8DDE3; 3002 | width: 470px; 3003 | border-collapse: collapse; 3004 | } 3005 | 3006 | #vendorAccount #orderDetails .list { 3007 | border: 1px solid #D8DDE3; 3008 | height: 22px; 3009 | } 3010 | 3011 | #vendorAccount .hdr-title { 3012 | color: #FFFFFF; 3013 | background-color: #878787; 3014 | text-align: left; 3015 | padding:5px; 3016 | font-weight: bold; 3017 | } 3018 | 3019 | #vendorAccount .body { 3020 | padding: 5px; 3021 | } 3022 | 3023 | #vendorAccount #myAccount { 3024 | margin: 5px; 3025 | border: 1px solid #D8DDE3; 3026 | height: auto; 3027 | width: 250px; 3028 | float: left; 3029 | text-align: left; 3030 | } 3031 | 3032 | #vendorAccount #orderList .title { 3033 | margin: 5px; 3034 | } 3035 | 3036 | #vendorAccount #orderList { 3037 | border: 1px solid #D8DDE3; 3038 | border-collapse: collapse; 3039 | padding: 0; 3040 | margin: 0; 3041 | float: left; 3042 | width: 100%; 3043 | } 3044 | 3045 | #vendorAccount #orderList thead th { 3046 | color: #FFFFFF; 3047 | background-color: #878787; 3048 | text-align: left; 3049 | vertical-align: middle; 3050 | padding: 3px; 3051 | height: 25px; 3052 | } 3053 | 3054 | #vendorAccount #orderList tbody tr td { 3055 | border-top: 1px solid #D8DDE3; 3056 | padding: 3px; 3057 | } 3058 | 3059 | #vendorAccount #orderList .buttons { 3060 | text-align: right; 3061 | } 3062 | 3063 | #vendorAccount #orderList thead tr th a { 3064 | color: #FFFFFF; 3065 | } 3066 | 3067 | #vendorAccount #orderList thead tr th a:hover { 3068 | color: #FFFFFF; 3069 | } 3070 | 3071 | #vendorAccount #orderList { 3072 | margin: 5px; 3073 | float: left; 3074 | border: 1px solid #D8DDE3; 3075 | height: auto; 3076 | width: 96%; 3077 | } 3078 | 3079 | #vendorAccount #orderList table { 3080 | width: 100%; 3081 | margin: 5px; 3082 | border-collapse: collapse; 3083 | border-top: 1px solid #D8DDE3; 3084 | } 3085 | 3086 | #vendorAccount #orderList table thead th { 3087 | text-align: left; 3088 | font-weight: bold; 3089 | } 3090 | 3091 | #vendorAccount #orderList table tbody, #vendorAccount #orderList table tbody tr td { 3092 | text-align: left; 3093 | border-bottom: 1px solid #D8DDE3; 3094 | border-top: 1px solid #D8DDE3; 3095 | padding: 2px; 3096 | } 3097 | 3098 | #vendorAccount .buttons { 3099 | clear: left; 3100 | float: left; 3101 | padding-top: 5px; 3102 | padding-left: 3px; 3103 | } 3104 | 3105 | #vendorAccount #billInfo { } 3106 | 3107 | #vendorAccount #otherStats { } 3108 | 3109 | #vendorAccount .large { 3110 | font-size: 125%; 3111 | font-weight: bold; 3112 | padding-top: 10px; 3113 | padding-bottom: 10px; 3114 | } 3115 | 3116 | #vendorAccount .productActionButtons { 3117 | clear: both; 3118 | float: right; 3119 | } 3120 | 3121 | #vendorAccount .productActionOptions { 3122 | float: left; 3123 | } 3124 | 3125 | #vendorAccount #productList { 3126 | margin: 5px; 3127 | float: left; 3128 | clear: left; 3129 | } 3130 | 3131 | #vendorAccount #productList thead tr th { 3132 | color: #FFFFFF; 3133 | background-color: #878787; 3134 | text-align: left; 3135 | padding: 5px; 3136 | font-weight: bold; 3137 | } 3138 | 3139 | #vendorAccount #productList thead tr td { } 3140 | 3141 | #vendorAccount #vendorTabs { 3142 | margin: 5px; 3143 | float: left; 3144 | clear: left; 3145 | } 3146 | 3147 | #vendorAccount #vendorTabs .tabs-on { 3148 | margin: 5px; 3149 | font-weight: bold; 3150 | float: left; 3151 | } 3152 | 3153 | #vendorAccount #vendorTabs .tabs-off { 3154 | margin: 5px; 3155 | float: left; 3156 | } 3157 | 3158 | #vendorAccount .vendorTable { 3159 | float: left; 3160 | clear: left; 3161 | } 3162 | /* end vendorAccount */ 3163 | 3164 | 3165 | 3166 | 3167 | 3168 | 3169 | 3170 | 3171 | /* start registryList */ 3172 | /* used in templates/registry.list.tem.php */ 3173 | 3174 | #registryList { 3175 | width: 500px; 3176 | margin: 5px; 3177 | text-align: left; 3178 | } 3179 | 3180 | #registryList .content-even { 3181 | border-bottom: 1px dotted #D9D9D9; 3182 | text-align: center; 3183 | vertical-align: top; 3184 | padding: 8px; 3185 | margin: 1px; 3186 | width: 460px; 3187 | } 3188 | 3189 | #registryList .content-odd { 3190 | border-bottom: 1px dotted #D9D9D9; 3191 | text-align: center; 3192 | vertical-align: top; 3193 | padding: 8px; 3194 | margin: 1px; 3195 | width: 460px; 3196 | } 3197 | 3198 | #registryList .title { 3199 | margin-top: 8px; 3200 | margin-bottom: 8px; 3201 | text-align: left; 3202 | float: left; 3203 | clear: both; 3204 | } 3205 | 3206 | #registryList #registryListResults{ 3207 | float: left; 3208 | clear: left; 3209 | } 3210 | 3211 | /* end registryList */ 3212 | 3213 | 3214 | 3215 | /* begin posCheckoutComplete */ 3216 | /* used in templates/checkout.complete.tem.php */ 3217 | 3218 | #posCheckoutComplete { 3219 | width: 215px; 3220 | text-align: center; 3221 | } 3222 | 3223 | 3224 | #posCheckoutComplete .addressElement { 3225 | clear: left; 3226 | margin: 0 auto; 3227 | width: 100%; 3228 | height: auto; 3229 | } 3230 | 3231 | #posCheckoutComplete .invoiceInfo { 3232 | padding-top: 15px; 3233 | float: left; 3234 | text-align: left; 3235 | height: auto; 3236 | } 3237 | 3238 | #posCheckoutComplete .cartItemInfo { 3239 | clear: left; 3240 | float: left; 3241 | text-align: left; 3242 | padding-top: 5px; 3243 | width: 100%; 3244 | height: auto; 3245 | } 3246 | 3247 | #posCheckoutComplete .cartItemPrice { 3248 | float: right; 3249 | } 3250 | 3251 | #posCheckoutComplete .cartTotals { 3252 | clear: left; 3253 | width: 100%; 3254 | padding-top: 5px; 3255 | height: auto; 3256 | } 3257 | 3258 | #posCheckoutComplete .cartTotalsRow { 3259 | vertical-align: middle; 3260 | height: auto; 3261 | width: 100%; 3262 | } 3263 | 3264 | #posCheckoutComplete .cartTotalsHeader { 3265 | clear: left; 3266 | float: left; 3267 | width: 69%; 3268 | text-align: right; 3269 | height: 100%; 3270 | } 3271 | 3272 | #posCheckoutComplete .cartTotalsValue { 3273 | clear: none; 3274 | float: right; 3275 | width: 29%; 3276 | text-align: right; 3277 | height: 100%; 3278 | } 3279 | 3280 | #posCheckoutComplete .tagElement { 3281 | clear: left; 3282 | margin: 0 auto; 3283 | width: 100%; 3284 | height: auto; 3285 | padding-top: 15px; 3286 | } 3287 | 3288 | /* end checkoutComplete */ 3289 | 3290 | 3291 | .blurb { 3292 | clear: left; 3293 | float: left; 3294 | } 3295 | 3296 | h2 { 3297 | clear: left; 3298 | } -------------------------------------------------------------------------------- /test/stub/nuvi 2595LMT_files/options.js: -------------------------------------------------------------------------------- 1 | function updateNextOption(productId, groupId, selectedOption, lastOptionGroupID, batchMode, selectedOptions, cartItemId){ 2 | var indexId = productId; 3 | 4 | if(cartItemId && cartItemId != '' && cartItemId != 'undefined'){ 5 | indexId = cartItemId; 6 | } 7 | 8 | //If the user has changed a drop down which is displayed in the middle of the chain, hide the ones after it. 9 | if(currentDisplayedOptionGroup[indexId] > groupId){ 10 | for(var i=currentDisplayedOptionGroup[indexId];i>groupId;i--){ 11 | hideOptionGroup(indexId, i); 12 | } 13 | } 14 | 15 | if(selectedOption && selectedOption != '' && selectedOption != 'undefined'){ 16 | //Build a string of previous group option ids. 17 | var optionIDString = buildOptionIDString(indexId, groupId, selectedOption); 18 | var nextGroupId = parseInt(groupId) + parseInt(1); 19 | var optionsElementName = 'optionGroupOptions-' + indexId + '-' + nextGroupId; 20 | var optionElement = null; 21 | var dropdownElementName = 'optionGroup-' + indexId + '-' + nextGroupId; 22 | var dropdownElement = null; 23 | var photoElementName = 'optionGroupSwatches-' + indexId + '-' + nextGroupId; 24 | var photoElement = null; 25 | var photoDisplayElementName = 'optionGroupSwatchesDisplay-' + indexId + '-' + nextGroupId; 26 | var photoDisplayElement = null; 27 | 28 | if(batchMode && batchMode != '' && batchMode != 'undefined'){ 29 | batchMode = true; 30 | } else { 31 | batchMode = null; 32 | } 33 | 34 | //Display the loading image. 35 | if(dropdownElement = document.getElementById(dropdownElementName)){ 36 | dropdownElement.style.display = 'block'; 37 | 38 | if(photoElement = document.getElementById(photoElementName)){ 39 | photoElement.style.display = 'block'; 40 | } 41 | 42 | if(photoDisplayElement = document.getElementById(photoDisplayElementName)){ 43 | var innerHtml = document.getElementById('optionGroupLoading').innerHTML; 44 | photoDisplayElement.innerHTML = innerHtml; 45 | } 46 | 47 | if(optionElement = document.getElementById(optionsElementName)){ 48 | var innerHtml = document.getElementById('optionGroupLoading').innerHTML; 49 | optionElement.innerHTML = innerHtml; 50 | } 51 | } 52 | 53 | if(lastOptionGroupID && lastOptionGroupID != '' && lastOptionGroupID != 'undefined' && groupId == lastOptionGroupID && !batchMode){ 54 | drawOptionMainImage(indexId, groupId); 55 | } else if(lastOptionGroupID && lastOptionGroupID != '' && lastOptionGroupID != 'undefined' && groupId != lastOptionGroupID) { 56 | x_getNextOptionDropDown(productId, groupId, selectedOption, optionIDString, lastOptionGroupID, batchMode, selectedOptions, cartItemId, optionGroupHandler); 57 | } 58 | } else { 59 | updatePrice(); 60 | } 61 | } 62 | 63 | 64 | function optionGroupHandler(response){ 65 | var pieces = response.split('|'); 66 | var productId = pieces[0]; 67 | var groupId = pieces[1]; 68 | var lastOptionGroupID = pieces[2]; 69 | var batchMode = pieces[3]; 70 | var selectedOptions = pieces[4]; 71 | var cartItemId = pieces[5]; 72 | var photoHtml = decodeURIComponent(pieces[6]); 73 | var dropdownHtml = decodeURIComponent(pieces[7]); 74 | var indexId = productId; 75 | 76 | if(cartItemId && cartItemId != '' && cartItemId != 'undefined'){ 77 | indexId = cartItemId; 78 | } 79 | 80 | var previousGroupId = groupId - 1; 81 | var elementName = 'optionGroup-' + indexId + '-' + groupId; 82 | var optionsElementName = 'optionGroupOptions-' + indexId + '-' + groupId; 83 | var optionElement = null; 84 | var selectedOption = null; 85 | var optionSelectElement = null; 86 | var optionSelectElementName = 'optionSelect-' + indexId + '-' + groupId; 87 | var optionDisplayPhotoElement = null; 88 | var optionDisplayPhotoElementName = 'optionGroupSwatchesDisplay-' + indexId + '-' + groupId; 89 | var opionPhotoElementName = 'optionGroupSwatches-' + indexId + '-' + groupId; 90 | 91 | if(optionDisplayPhotoElement = document.getElementById(optionDisplayPhotoElementName)){ 92 | if(photoHtml && photoHtml != '' && photoHtml != 'undefined'){ 93 | optionDisplayPhotoElement.innerHTML = photoHtml; 94 | } else { 95 | document.getElementById(opionPhotoElementName).style.display = 'none'; 96 | } 97 | } 98 | 99 | if(optionDropDownElement = document.getElementById(optionsElementName)){ 100 | optionDropDownElement.innerHTML = dropdownHtml; 101 | 102 | if(optionSelectElement = document.getElementById(optionSelectElementName)){ 103 | selectedOption = optionSelectElement.value; 104 | } 105 | } 106 | 107 | currentDisplayedOptionGroup[indexId] = groupId; 108 | 109 | if(groupId == lastOptionGroupID){ 110 | updatePrice(); 111 | } 112 | 113 | updateNextOption(productId, groupId, selectedOption, lastOptionGroupID, batchMode, selectedOptions, cartItemId); 114 | } 115 | 116 | 117 | function hideOptionGroup(indexId, groupId){ 118 | var groupElementName = 'optionGroup-' + indexId + '-' + groupId; 119 | var groupPhotoElementName = 'optionGroupSwatches-' + indexId + '-' + groupId; 120 | var optionGroup = null; 121 | var optionPhotoGroup = null; 122 | 123 | if(optionGroup = document.getElementById(groupElementName)){ 124 | optionGroup.style.display = 'none'; 125 | } 126 | 127 | if(optionPhotoGroup = document.getElementById(groupPhotoElementName)){ 128 | optionPhotoGroup.style.display = 'none'; 129 | } 130 | } 131 | 132 | 133 | function changeOption(productId, groupId, optionId, lastOptionGroupID, batchMode){ 134 | var element = getOptionSelectElement(productId, groupId); 135 | 136 | if(element && element != '' && element != 'undefined'){ 137 | if(batchMode && batchMode != '' && batchMode != 'undefined'){ 138 | batchMode = true; 139 | } else { 140 | batchMode = null; 141 | } 142 | 143 | var options = element.options; 144 | var optionsLength = options.length; 145 | 146 | for(var i=0;i' ); 25 | document.writeln( 'div.AuthorizeNetSeal{text-align:center;margin:0;padding:0;width:' + AuthorizeNetSeal.seal_width + 'px;font:normal ' + AuthorizeNetSeal.text_size + ' arial,helvetica,san-serif;line-height:' + AuthorizeNetSeal.line_spacing + ';}' ); 26 | document.writeln( 'div.AuthorizeNetSeal a{text-decoration:none;color:' + AuthorizeNetSeal.text_color + ';}' ); 27 | document.writeln( 'div.AuthorizeNetSeal a:visited{color:' + AuthorizeNetSeal.text_color + ';}' ); 28 | document.writeln( 'div.AuthorizeNetSeal a:active{color:' + AuthorizeNetSeal.text_color + ';}' ); 29 | document.writeln( 'div.AuthorizeNetSeal a:hover{text-decoration:underline;color:' + AuthorizeNetSeal.text_color + ';}' ); 30 | document.writeln( 'div.AuthorizeNetSeal a img{border:0px;margin:0px;text-decoration:none;}' ); 31 | document.writeln( '' ); 32 | 33 | if( window.ANS_customer_id ) 34 | { 35 | AuthorizeNetSeal.verification_parameters = '?' + AuthorizeNetSeal.id_parameter_name + '=' + escape( ANS_customer_id ); 36 | if( window.location.href ) 37 | { 38 | AuthorizeNetSeal.current_url = window.location.href; 39 | } 40 | else if( document.URL ) 41 | { 42 | AuthorizeNetSeal.current_url = document.URL; 43 | } 44 | 45 | if( AuthorizeNetSeal.current_url ) 46 | { 47 | AuthorizeNetSeal.verification_parameters += '&' + AuthorizeNetSeal.url_parameter_name + '=' + escape( AuthorizeNetSeal.current_url ); 48 | } 49 | 50 | if( !AuthorizeNetSeal.no_click ) 51 | { 52 | document.write( '' ); 71 | } 72 | 73 | document.writeln( '' + AuthorizeNetSeal.seal_alt_text + '' ); 74 | 75 | if( !AuthorizeNetSeal.no_click ) 76 | { 77 | document.writeln( '' ); 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /test/stub/nuvi 2595LMT_files/secure90x72.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indix/css-optimum-selector/49d256d09817af201785b49b49e466a39410bb2b/test/stub/nuvi 2595LMT_files/secure90x72.gif -------------------------------------------------------------------------------- /test/stub/nuvi 2595LMT_files/util.js: -------------------------------------------------------------------------------- 1 | function confirmMsg(msg) { 2 | if(!confirm(msg)) { 3 | return false; 4 | } 5 | 6 | return true; 7 | } 8 | 9 | function goThere(url){ 10 | window.location.href = url; 11 | } 12 | 13 | function objExists(objToTest) { 14 | if (null == objToTest) { 15 | return false; 16 | } 17 | 18 | if ("undefined" == typeof(objToTest) ) { 19 | return false; 20 | } 21 | 22 | return true; 23 | } 24 | 25 | function getSelectValueByName(which, name){ 26 | var length = name.length; 27 | 28 | for(i=0;i