{"content":"\r\n\r\n
Voir la fiche produit<\/a><\/p>\n <\/div>\n<\/div>\t\t\t\t<\/div>\r\n <\/div>\r\n \r\n \r\n \r\n \r\n Overview<\/a><\/li>\r\n Description<\/a><\/li>\r\n <\/ul>\r\n <\/div>\r\n \r\n \r\n Ange Gardien 950\/- platine poli avec brillant<\/strong><\/a>\r\n \r\n \n\n \n \n \n 1\u00a0134,00\u00a0\u20ac<\/span>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t<\/br>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\texcl. TVA\t\t\t\t\t\t0%\t\t\t\t\t\t<\/br>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tincl. frais de port<\/a>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/br>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t <\/span>\n \n <\/div>\n\n \n on sale!<\/span>\r\n <\/div>\r\n \r\n Soyez le premier \u00e0 commenter ce produit<\/a><\/p>\r\n <\/div>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \n \n\n \n \n Gravure ange gardien \u2013 Ailes<\/label>\n +10,00\u00a0\u20ac<\/span><\/span><\/dt>\n\n \n \n Nombre maxi de caract\u00e8res : 10<\/strong><\/p>\n <\/div>\n<\/dd>\n Gravure ange gardien \u2013 Face arri\u00e8re<\/label>\n +10,00\u00a0\u20ac<\/span><\/span><\/dt>\n\n \n \n Nombre maxi de caract\u00e8res : 15<\/strong><\/p>\n <\/div>\n<\/dd>\n \nCha\u00eene collier<\/label><\/dt>\n\n \n -- Faites un choix --<\/option>Cha\u00eene collier en argent 925\/-, 38cm +12,00\u00a0\u20ac<\/option>Cha\u00eene collier en argent 925\/-, 40cm +13,00\u00a0\u20ac<\/option>Cha\u00eene collier en argent 925\/-, 42cm +14,00\u00a0\u20ac<\/option>Cha\u00eene collier en argent 925\/-, 45cm +15,00\u00a0\u20ac<\/option>Cha\u00eene collier en argent 925\/-, 50cm +16,00\u00a0\u20ac<\/option><\/select> <\/div>\n<\/dd>\n <\/dl>\n\n\n <\/div>\n\n\r\n\r\n \n \t\tQuantit\u00e9<\/label>\n \n \t<\/div>\n Ajouter au panier<\/span><\/span><\/button>\n <\/div>\r\n<\/div>\r\n\r\n <\/fieldset>\r\n <\/form>\r\n \r\n <\/div>\r\n \r\n \r\n Le platine se distingue par une couleur d\u2019un gris-blanc noble. C\u2019est le m\u00e9tal le plus pr\u00e9cieux parmi tous les m\u00e9taux car il s\u2019agit du m\u00e9tal pr\u00e9cieux le plus rare sur Terre. Nous travaillons l\u2019un des alliages les plus purs, \u00e0 savoir d\u2019une teneur en platine de 950. En raison de leur raret\u00e9, de l\u2019agr\u00e9ment de leur port et de leurs propri\u00e9t\u00e9s antiallergiques, les bijoux en platine sont de plus en plus recherch\u00e9s.\r\n\r\nThe \u201cSwiss Made\u201d seal of approval guarantees high-quality craftsmanship. <\/div>\r\n <\/div>\r\n <\/div>\r\n <\/div>\r\n <\/div>\r\n <\/div>\r\n<\/div>\r\n\r\n\r\n\r\n","scripts":["\r\n var optionsPrice = new Product.OptionsPrice({\"productId\":\"58\",\"priceFormat\":{\"pattern\":\"%s\\u00a0\\u20ac\",\"precision\":2,\"requiredPrecision\":2,\"decimalSymbol\":\",\",\"groupSymbol\":\"\\u00a0\",\"groupLength\":3,\"integerRequired\":1},\"includeTax\":\"true\",\"showIncludeTax\":true,\"showBothPrices\":false,\"productPrice\":1134,\"productOldPrice\":1134,\"priceInclTax\":1134,\"priceExclTax\":1134,\"skipCalculate\":1,\"defaultTax\":0,\"currentTax\":0,\"idSuffix\":\"_clone\",\"oldPlusDisposition\":0,\"plusDisposition\":0,\"plusDispositionTax\":0,\"oldMinusDisposition\":0,\"minusDisposition\":0,\"tierPrices\":[],\"tierPricesInclTax\":[]});\r\n","\n\nvar DateOption = Class.create({\n\n getDaysInMonth: function(month, year)\n {\n var curDate = new Date();\n if (!month) {\n month = curDate.getMonth();\n }\n if (2 == month && !year) { \/\/ leap year assumption for unknown year\n return 29;\n }\n if (!year) {\n year = curDate.getFullYear();\n }\n return 32 - new Date(year, month - 1, 32).getDate();\n },\n\n reloadMonth: function(event)\n {\n var selectEl = event.findElement();\n var idParts = selectEl.id.split(\"_\");\n if (idParts.length != 3) {\n return false;\n }\n var optionIdPrefix = idParts[0] + \"_\" + idParts[1];\n var month = parseInt($(optionIdPrefix + \"_month\").value);\n var year = parseInt($(optionIdPrefix + \"_year\").value);\n var dayEl = $(optionIdPrefix + \"_day\");\n\n var days = this.getDaysInMonth(month, year);\n\n \/\/remove days\n for (var i = dayEl.options.length - 1; i >= 0; i--) {\n if (dayEl.options[i].value > days) {\n dayEl.remove(dayEl.options[i].index);\n }\n }\n\n \/\/ add days\n var lastDay = parseInt(dayEl.options[dayEl.options.length-1].value);\n for (i = lastDay + 1; i <= days; i++) {\n this.addOption(dayEl, i, i);\n }\n },\n\n addOption: function(select, text, value)\n {\n var option = document.createElement('OPTION');\n option.value = value;\n option.text = text;\n\n if (select.options.add) {\n select.options.add(option);\n } else {\n select.appendChild(option);\n }\n }\n});\ndateOption = new DateOption();\n\n","\n \n var optionFileUpload = {\n productForm : $('product_addtocart_form'),\n formAction : '',\n formElements : {},\n upload : function(element){\n this.formElements = this.productForm.select('input', 'select', 'textarea', 'button');\n this.removeRequire(element.readAttribute('id').sub('option_', ''));\n\n template = '<\\\/iframe>';\n\n Element.insert($('option_'+element.readAttribute('id').sub('option_', '')+'_uploaded_file'), {after: template});\n\n this.formAction = this.productForm.action;\n\n var baseUrl = 'https:\/\/www.tarnoki.com\/int_fr\/catalog\/product\/upload\/';\n var urlExt = 'option_id\/'+element.readAttribute('id').sub('option_', '');\n\n this.productForm.action = parseSidUrl(baseUrl, urlExt);\n this.productForm.target = 'upload_target';\n this.productForm.submit();\n this.productForm.target = '';\n this.productForm.action = this.formAction;\n },\n removeRequire : function(skipElementId){\n for(var i=0; i<\\\/a>Remove file<\\\/a>';\n\n Element.insert($('option_'+data.optionId+'_uploaded_file'), {after: template});\n }\n },\n removeFile : function(optionId)\n {\n $('option_'+optionId+'_uploaded_file').value= '';\n $('option_'+optionId+'_file').show();\n $('option_'+optionId+'').show();\n\n $('option_'+optionId+'_file_box').remove();\n }\n }\n var optionTextCounter = {\n count : function(field,cntfield,maxlimit){\n if (field.value.length > maxlimit){\n field.value = field.value.substring(0, maxlimit);\n } else {\n cntfield.innerHTML = maxlimit - field.value.length;\n }\n }\n }\n\n Product.Options = Class.create();\n Product.Options.prototype = {\n initialize : function(config) {\n this.config = config;\n this.reloadPrice();\n document.observe(\"dom:loaded\", this.reloadPrice.bind(this));\n },\n reloadPrice : function() {\n var config = this.config;\n var skipIds = [];\n $$('body .product-custom-option').each(function(element){\n var optionId = 0;\n element.name.sub(\/[0-9]+\/, function(match){\n optionId = parseInt(match[0], 10);\n });\n if (config[optionId]) {\n var configOptions = config[optionId];\n var curConfig = {price: 0};\n if (element.type == 'checkbox' || element.type == 'radio') {\n if (element.checked) {\n if (typeof configOptions[element.getValue()] != 'undefined') {\n curConfig = configOptions[element.getValue()];\n }\n }\n } else if(element.hasClassName('datetime-picker') && !skipIds.include(optionId)) {\n dateSelected = true;\n $$('.product-custom-option[id^=\"options_' + optionId + '\"]').each(function(dt){\n if (dt.getValue() == '') {\n dateSelected = false;\n }\n });\n if (dateSelected) {\n curConfig = configOptions;\n skipIds[optionId] = optionId;\n }\n } else if(element.type == 'select-one' || element.type == 'select-multiple') {\n if ('options' in element) {\n $A(element.options).each(function(selectOption){\n if ('selected' in selectOption && selectOption.selected) {\n if (typeof(configOptions[selectOption.value]) != 'undefined') {\n curConfig = configOptions[selectOption.value];\n }\n }\n });\n }\n } else {\n if (element.getValue().strip() != '') {\n curConfig = configOptions;\n }\n }\n if(element.type == 'select-multiple' && ('options' in element)) {\n $A(element.options).each(function(selectOption) {\n if (('selected' in selectOption) && typeof(configOptions[selectOption.value]) != 'undefined') {\n if (selectOption.selected) {\n curConfig = configOptions[selectOption.value];\n } else {\n curConfig = {price: 0};\n }\n optionsPrice.addCustomPrices(optionId + '-' + selectOption.value, curConfig);\n optionsPrice.reload();\n }\n });\n } else {\n optionsPrice.addCustomPrices(element.id || optionId, curConfig);\n optionsPrice.reload();\n }\n }\n });\n }\n }\n function validateOptionsCallback(elmId, result) {\n var container = $(elmId).up('ul.options-list');\n if (result == 'failed') {\n container.removeClassName('validation-passed');\n container.addClassName('validation-failed');\n } else {\n container.removeClassName('validation-failed');\n container.addClassName('validation-passed');\n }\n }\n var opConfig = new Product.Options({\"61\":{\"price\":10,\"oldPrice\":10,\"priceValue\":\"10.0000\",\"type\":\"fixed\",\"excludeTax\":10,\"includeTax\":10},\"60\":{\"price\":10,\"oldPrice\":10,\"priceValue\":\"10.0000\",\"type\":\"fixed\",\"excludeTax\":10,\"includeTax\":10},\"59\":{\"86\":{\"price\":12,\"oldPrice\":12,\"priceValue\":\"12.0000\",\"type\":\"fixed\",\"excludeTax\":12,\"includeTax\":12},\"87\":{\"price\":13,\"oldPrice\":13,\"priceValue\":\"13.0000\",\"type\":\"fixed\",\"excludeTax\":13,\"includeTax\":13},\"88\":{\"price\":14,\"oldPrice\":14,\"priceValue\":\"14.0000\",\"type\":\"fixed\",\"excludeTax\":14,\"includeTax\":14},\"89\":{\"price\":15,\"oldPrice\":15,\"priceValue\":\"15.0000\",\"type\":\"fixed\",\"excludeTax\":15,\"includeTax\":15},\"90\":{\"price\":16,\"oldPrice\":16,\"priceValue\":\"16.0000\",\"type\":\"fixed\",\"excludeTax\":16,\"includeTax\":16}}});\n \n ","\n\nenUS = {\"m\":{\"wide\":[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],\"abbr\":[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]}}; \/\/ en_US locale reference\nCalendar._DN = [\"dimanche\",\"lundi\",\"mardi\",\"mercredi\",\"jeudi\",\"vendredi\",\"samedi\"]; \/\/ full day names\nCalendar._SDN = [\"dim.\",\"lun.\",\"mar.\",\"mer.\",\"jeu.\",\"ven.\",\"sam.\"]; \/\/ short day names\nCalendar._FD = 1; \/\/ First day of the week. \"0\" means display Sunday first, \"1\" means display Monday first, etc.\nCalendar._MN = [\"janvier\",\"f\\u00e9vrier\",\"mars\",\"avril\",\"mai\",\"juin\",\"juillet\",\"ao\\u00fbt\",\"septembre\",\"octobre\",\"novembre\",\"d\\u00e9cembre\"]; \/\/ full month names\nCalendar._SMN = [\"janv.\",\"f\\u00e9vr.\",\"mars\",\"avr.\",\"mai\",\"juin\",\"juil.\",\"ao\\u00fbt\",\"sept.\",\"oct.\",\"nov.\",\"d\\u00e9c.\"]; \/\/ short month names\nCalendar._am = \"AM\"; \/\/ am\/pm\nCalendar._pm = \"PM\";\n\n\/\/ tooltips\nCalendar._TT = {};\nCalendar._TT[\"INFO\"] = \"\u00c0 propos du calendrier\";\n\nCalendar._TT[\"ABOUT\"] =\n\"S\u00e9lecteur de date\/heure DHTML\\n\" +\n\"(c) dynarch.com 2002-2005 \/ Author: Mihai Bazon\\n\" +\n\"Pour la visite de la derni\u00e8re version : http:\/\/www.dynarch.com\/projects\/calendar\/\\n\" +\n\"Distribu\u00e9 sous licence GNU LGPL. Voir http:\/\/gnu.org\/licenses\/lgpl.html pour plus de d\u00e9tails.\" +\n\"\\n\\n\" +\n\"S\u00e9lection de date :\\n\" +\n\"- Utilisez les boutons \\xab, \\xbb pour s\u00e9lectionner l\\'ann\u00e9e\\n\" +\n\"- Utilisez les boutons \" + String.fromCharCode(0x2039) + \", \" + String.fromCharCode(0x203a) + \" pour s\u00e9lectionner le mois\\n\" +\n\"- Maintenez le bouton de la souris sur n\\'importe quel bouton ci-dessus pour une s\u00e9lection rapide\";\nCalendar._TT[\"ABOUT_TIME\"] = \"\\n\\n\" +\n\"S\u00e9lection de l\\'heure :\\n\" +\n\"- Cliquez sur n\\'importe quelle partie de l\\'heure pour l\\'augmenter\\n\" +\n\"- ou cliquez en maintenant la touche shift enfonc\u00e9e pour l\\'augmenter\\n\" +\n\"- ou cliquez et glissez pour une s\u00e9lection plus rapide\";\n\nCalendar._TT[\"PREV_YEAR\"] = \"Ann\u00e9e pr\u00e9c\u00e9dente (maintenez pour le menu)\";\nCalendar._TT[\"PREV_MONTH\"] = \"Mois pr\u00e9c\u00e9dent (maintenez pour le menu)\";\nCalendar._TT[\"GO_TODAY\"] = \"Aller \u00e0 aujourd\\'hui\";\nCalendar._TT[\"NEXT_MONTH\"] = \"Mois suivant (maintenez pour le menu)\";\nCalendar._TT[\"NEXT_YEAR\"] = \"Ann\u00e9e prochaine (maintenez pour le menu)\";\nCalendar._TT[\"SEL_DATE\"] = \"S\u00e9lectionner la date\";\nCalendar._TT[\"DRAG_TO_MOVE\"] = \"Glisser pour d\u00e9placer\";\nCalendar._TT[\"PART_TODAY\"] = ' (' + \"aujourd\\u2019hui\" + ')';\n\n\/\/ the following is to inform that \"%s\" is to be the first day of week\nCalendar._TT[\"DAY_FIRST\"] = \"Afficher d\\'abord %s\";\n\n\/\/ This may be locale-dependent. It specifies the week-end days, as an array\n\/\/ of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1\n\/\/ means Monday, etc.\nCalendar._TT[\"WEEKEND\"] = \"0,6\";\n\nCalendar._TT[\"CLOSE\"] = \"Fermer\";\nCalendar._TT[\"TODAY\"] = \"aujourd\\u2019hui\";\nCalendar._TT[\"TIME_PART\"] = \"Pour modifier la valeur, cliquez en maintenant la touche shift enfonc\u00e9e ou glissez\";\n\n\/\/ date formats\nCalendar._TT[\"DEF_DATE_FORMAT\"] = \"%e %b %Y\";\nCalendar._TT[\"TT_DATE_FORMAT\"] = \"%e %B %Y\";\n\nCalendar._TT[\"WK\"] = \"semaine\";\nCalendar._TT[\"TIME\"] = \"Heure :\";\n\n","decorateGeneric($$('#product-options-wrapper dl'), ['last']);","\r\n\r\n var productAddToCartForm = new VarienForm('product_addtocart_form');\r\n productAddToCartForm.submit = function(button, url) {\r\n if (this.validator.validate()) {\r\n var form = this.form;\r\n var oldUrl = form.action;\r\n\r\n if (url) {\r\n form.action = url;\r\n }\r\n var e = null;\r\n try {\r\n \t\tvar ajaxForm = $('product_addtocart_form');\r\n \t\tajaxForm.action += '?layovercart=true';\r\n \t\tjQuery.fancybox.showActivity();\r\n ajaxForm.request({\r\n onComplete: function(response) {\r\n if (response.responseText.indexOf(' li:last').replaceWith(jQuery(response.responseText));\r\n \tinitCartDrop();\r\n \tjQuery('#header ul.menu > li:last a.my-cart').trigger('mouseenter');\r\n }\r\n }\r\n });\r\n } catch (e) {\r\n }\r\n this.form.action = oldUrl;\r\n if (e) {\r\n throw e;\r\n }\r\n\r\n if (button && button != 'undefined') {\r\n button.disabled = true;\r\n }\r\n\r\n return false;\r\n }\r\n }.bind(productAddToCartForm);\r\n\r\n productAddToCartForm.submitLight = function(button, url){\r\n if(this.validator) {\r\n var nv = Validation.methods;\r\n delete Validation.methods['required-entry'];\r\n delete Validation.methods['validate-one-required'];\r\n delete Validation.methods['validate-one-required-by-name'];\r\n if (this.validator.validate()) {\r\n if (url) {\r\n this.form.action = url;\r\n }\r\n this.form.submit();\r\n }\r\n Object.extend(Validation.methods, nv);\r\n }\r\n }.bind(productAddToCartForm);\r\n\r\n"],"facebookMeta":""}
Soyez le premier \u00e0 commenter ce produit<\/a><\/p>\r\n <\/div>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \n \n\n \n \n Gravure ange gardien \u2013 Ailes<\/label>\n +10,00\u00a0\u20ac<\/span><\/span><\/dt>\n\n \n \n Nombre maxi de caract\u00e8res : 10<\/strong><\/p>\n <\/div>\n<\/dd>\n Gravure ange gardien \u2013 Face arri\u00e8re<\/label>\n +10,00\u00a0\u20ac<\/span><\/span><\/dt>\n\n \n \n Nombre maxi de caract\u00e8res : 15<\/strong><\/p>\n <\/div>\n<\/dd>\n \nCha\u00eene collier<\/label><\/dt>\n\n \n -- Faites un choix --<\/option>Cha\u00eene collier en argent 925\/-, 38cm +12,00\u00a0\u20ac<\/option>Cha\u00eene collier en argent 925\/-, 40cm +13,00\u00a0\u20ac<\/option>Cha\u00eene collier en argent 925\/-, 42cm +14,00\u00a0\u20ac<\/option>Cha\u00eene collier en argent 925\/-, 45cm +15,00\u00a0\u20ac<\/option>Cha\u00eene collier en argent 925\/-, 50cm +16,00\u00a0\u20ac<\/option><\/select> <\/div>\n<\/dd>\n <\/dl>\n\n\n <\/div>\n\n\r\n\r\n \n \t\tQuantit\u00e9<\/label>\n \n \t<\/div>\n Ajouter au panier<\/span><\/span><\/button>\n <\/div>\r\n<\/div>\r\n\r\n <\/fieldset>\r\n <\/form>\r\n \r\n <\/div>\r\n \r\n \r\n Le platine se distingue par une couleur d\u2019un gris-blanc noble. C\u2019est le m\u00e9tal le plus pr\u00e9cieux parmi tous les m\u00e9taux car il s\u2019agit du m\u00e9tal pr\u00e9cieux le plus rare sur Terre. Nous travaillons l\u2019un des alliages les plus purs, \u00e0 savoir d\u2019une teneur en platine de 950. En raison de leur raret\u00e9, de l\u2019agr\u00e9ment de leur port et de leurs propri\u00e9t\u00e9s antiallergiques, les bijoux en platine sont de plus en plus recherch\u00e9s.\r\n\r\nThe \u201cSwiss Made\u201d seal of approval guarantees high-quality craftsmanship. <\/div>\r\n <\/div>\r\n <\/div>\r\n <\/div>\r\n <\/div>\r\n <\/div>\r\n<\/div>\r\n\r\n\r\n\r\n","scripts":["\r\n var optionsPrice = new Product.OptionsPrice({\"productId\":\"58\",\"priceFormat\":{\"pattern\":\"%s\\u00a0\\u20ac\",\"precision\":2,\"requiredPrecision\":2,\"decimalSymbol\":\",\",\"groupSymbol\":\"\\u00a0\",\"groupLength\":3,\"integerRequired\":1},\"includeTax\":\"true\",\"showIncludeTax\":true,\"showBothPrices\":false,\"productPrice\":1134,\"productOldPrice\":1134,\"priceInclTax\":1134,\"priceExclTax\":1134,\"skipCalculate\":1,\"defaultTax\":0,\"currentTax\":0,\"idSuffix\":\"_clone\",\"oldPlusDisposition\":0,\"plusDisposition\":0,\"plusDispositionTax\":0,\"oldMinusDisposition\":0,\"minusDisposition\":0,\"tierPrices\":[],\"tierPricesInclTax\":[]});\r\n","\n\nvar DateOption = Class.create({\n\n getDaysInMonth: function(month, year)\n {\n var curDate = new Date();\n if (!month) {\n month = curDate.getMonth();\n }\n if (2 == month && !year) { \/\/ leap year assumption for unknown year\n return 29;\n }\n if (!year) {\n year = curDate.getFullYear();\n }\n return 32 - new Date(year, month - 1, 32).getDate();\n },\n\n reloadMonth: function(event)\n {\n var selectEl = event.findElement();\n var idParts = selectEl.id.split(\"_\");\n if (idParts.length != 3) {\n return false;\n }\n var optionIdPrefix = idParts[0] + \"_\" + idParts[1];\n var month = parseInt($(optionIdPrefix + \"_month\").value);\n var year = parseInt($(optionIdPrefix + \"_year\").value);\n var dayEl = $(optionIdPrefix + \"_day\");\n\n var days = this.getDaysInMonth(month, year);\n\n \/\/remove days\n for (var i = dayEl.options.length - 1; i >= 0; i--) {\n if (dayEl.options[i].value > days) {\n dayEl.remove(dayEl.options[i].index);\n }\n }\n\n \/\/ add days\n var lastDay = parseInt(dayEl.options[dayEl.options.length-1].value);\n for (i = lastDay + 1; i <= days; i++) {\n this.addOption(dayEl, i, i);\n }\n },\n\n addOption: function(select, text, value)\n {\n var option = document.createElement('OPTION');\n option.value = value;\n option.text = text;\n\n if (select.options.add) {\n select.options.add(option);\n } else {\n select.appendChild(option);\n }\n }\n});\ndateOption = new DateOption();\n\n","\n \n var optionFileUpload = {\n productForm : $('product_addtocart_form'),\n formAction : '',\n formElements : {},\n upload : function(element){\n this.formElements = this.productForm.select('input', 'select', 'textarea', 'button');\n this.removeRequire(element.readAttribute('id').sub('option_', ''));\n\n template = '<\\\/iframe>';\n\n Element.insert($('option_'+element.readAttribute('id').sub('option_', '')+'_uploaded_file'), {after: template});\n\n this.formAction = this.productForm.action;\n\n var baseUrl = 'https:\/\/www.tarnoki.com\/int_fr\/catalog\/product\/upload\/';\n var urlExt = 'option_id\/'+element.readAttribute('id').sub('option_', '');\n\n this.productForm.action = parseSidUrl(baseUrl, urlExt);\n this.productForm.target = 'upload_target';\n this.productForm.submit();\n this.productForm.target = '';\n this.productForm.action = this.formAction;\n },\n removeRequire : function(skipElementId){\n for(var i=0; i<\\\/a>Remove file<\\\/a>';\n\n Element.insert($('option_'+data.optionId+'_uploaded_file'), {after: template});\n }\n },\n removeFile : function(optionId)\n {\n $('option_'+optionId+'_uploaded_file').value= '';\n $('option_'+optionId+'_file').show();\n $('option_'+optionId+'').show();\n\n $('option_'+optionId+'_file_box').remove();\n }\n }\n var optionTextCounter = {\n count : function(field,cntfield,maxlimit){\n if (field.value.length > maxlimit){\n field.value = field.value.substring(0, maxlimit);\n } else {\n cntfield.innerHTML = maxlimit - field.value.length;\n }\n }\n }\n\n Product.Options = Class.create();\n Product.Options.prototype = {\n initialize : function(config) {\n this.config = config;\n this.reloadPrice();\n document.observe(\"dom:loaded\", this.reloadPrice.bind(this));\n },\n reloadPrice : function() {\n var config = this.config;\n var skipIds = [];\n $$('body .product-custom-option').each(function(element){\n var optionId = 0;\n element.name.sub(\/[0-9]+\/, function(match){\n optionId = parseInt(match[0], 10);\n });\n if (config[optionId]) {\n var configOptions = config[optionId];\n var curConfig = {price: 0};\n if (element.type == 'checkbox' || element.type == 'radio') {\n if (element.checked) {\n if (typeof configOptions[element.getValue()] != 'undefined') {\n curConfig = configOptions[element.getValue()];\n }\n }\n } else if(element.hasClassName('datetime-picker') && !skipIds.include(optionId)) {\n dateSelected = true;\n $$('.product-custom-option[id^=\"options_' + optionId + '\"]').each(function(dt){\n if (dt.getValue() == '') {\n dateSelected = false;\n }\n });\n if (dateSelected) {\n curConfig = configOptions;\n skipIds[optionId] = optionId;\n }\n } else if(element.type == 'select-one' || element.type == 'select-multiple') {\n if ('options' in element) {\n $A(element.options).each(function(selectOption){\n if ('selected' in selectOption && selectOption.selected) {\n if (typeof(configOptions[selectOption.value]) != 'undefined') {\n curConfig = configOptions[selectOption.value];\n }\n }\n });\n }\n } else {\n if (element.getValue().strip() != '') {\n curConfig = configOptions;\n }\n }\n if(element.type == 'select-multiple' && ('options' in element)) {\n $A(element.options).each(function(selectOption) {\n if (('selected' in selectOption) && typeof(configOptions[selectOption.value]) != 'undefined') {\n if (selectOption.selected) {\n curConfig = configOptions[selectOption.value];\n } else {\n curConfig = {price: 0};\n }\n optionsPrice.addCustomPrices(optionId + '-' + selectOption.value, curConfig);\n optionsPrice.reload();\n }\n });\n } else {\n optionsPrice.addCustomPrices(element.id || optionId, curConfig);\n optionsPrice.reload();\n }\n }\n });\n }\n }\n function validateOptionsCallback(elmId, result) {\n var container = $(elmId).up('ul.options-list');\n if (result == 'failed') {\n container.removeClassName('validation-passed');\n container.addClassName('validation-failed');\n } else {\n container.removeClassName('validation-failed');\n container.addClassName('validation-passed');\n }\n }\n var opConfig = new Product.Options({\"61\":{\"price\":10,\"oldPrice\":10,\"priceValue\":\"10.0000\",\"type\":\"fixed\",\"excludeTax\":10,\"includeTax\":10},\"60\":{\"price\":10,\"oldPrice\":10,\"priceValue\":\"10.0000\",\"type\":\"fixed\",\"excludeTax\":10,\"includeTax\":10},\"59\":{\"86\":{\"price\":12,\"oldPrice\":12,\"priceValue\":\"12.0000\",\"type\":\"fixed\",\"excludeTax\":12,\"includeTax\":12},\"87\":{\"price\":13,\"oldPrice\":13,\"priceValue\":\"13.0000\",\"type\":\"fixed\",\"excludeTax\":13,\"includeTax\":13},\"88\":{\"price\":14,\"oldPrice\":14,\"priceValue\":\"14.0000\",\"type\":\"fixed\",\"excludeTax\":14,\"includeTax\":14},\"89\":{\"price\":15,\"oldPrice\":15,\"priceValue\":\"15.0000\",\"type\":\"fixed\",\"excludeTax\":15,\"includeTax\":15},\"90\":{\"price\":16,\"oldPrice\":16,\"priceValue\":\"16.0000\",\"type\":\"fixed\",\"excludeTax\":16,\"includeTax\":16}}});\n \n ","\n\nenUS = {\"m\":{\"wide\":[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],\"abbr\":[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]}}; \/\/ en_US locale reference\nCalendar._DN = [\"dimanche\",\"lundi\",\"mardi\",\"mercredi\",\"jeudi\",\"vendredi\",\"samedi\"]; \/\/ full day names\nCalendar._SDN = [\"dim.\",\"lun.\",\"mar.\",\"mer.\",\"jeu.\",\"ven.\",\"sam.\"]; \/\/ short day names\nCalendar._FD = 1; \/\/ First day of the week. \"0\" means display Sunday first, \"1\" means display Monday first, etc.\nCalendar._MN = [\"janvier\",\"f\\u00e9vrier\",\"mars\",\"avril\",\"mai\",\"juin\",\"juillet\",\"ao\\u00fbt\",\"septembre\",\"octobre\",\"novembre\",\"d\\u00e9cembre\"]; \/\/ full month names\nCalendar._SMN = [\"janv.\",\"f\\u00e9vr.\",\"mars\",\"avr.\",\"mai\",\"juin\",\"juil.\",\"ao\\u00fbt\",\"sept.\",\"oct.\",\"nov.\",\"d\\u00e9c.\"]; \/\/ short month names\nCalendar._am = \"AM\"; \/\/ am\/pm\nCalendar._pm = \"PM\";\n\n\/\/ tooltips\nCalendar._TT = {};\nCalendar._TT[\"INFO\"] = \"\u00c0 propos du calendrier\";\n\nCalendar._TT[\"ABOUT\"] =\n\"S\u00e9lecteur de date\/heure DHTML\\n\" +\n\"(c) dynarch.com 2002-2005 \/ Author: Mihai Bazon\\n\" +\n\"Pour la visite de la derni\u00e8re version : http:\/\/www.dynarch.com\/projects\/calendar\/\\n\" +\n\"Distribu\u00e9 sous licence GNU LGPL. Voir http:\/\/gnu.org\/licenses\/lgpl.html pour plus de d\u00e9tails.\" +\n\"\\n\\n\" +\n\"S\u00e9lection de date :\\n\" +\n\"- Utilisez les boutons \\xab, \\xbb pour s\u00e9lectionner l\\'ann\u00e9e\\n\" +\n\"- Utilisez les boutons \" + String.fromCharCode(0x2039) + \", \" + String.fromCharCode(0x203a) + \" pour s\u00e9lectionner le mois\\n\" +\n\"- Maintenez le bouton de la souris sur n\\'importe quel bouton ci-dessus pour une s\u00e9lection rapide\";\nCalendar._TT[\"ABOUT_TIME\"] = \"\\n\\n\" +\n\"S\u00e9lection de l\\'heure :\\n\" +\n\"- Cliquez sur n\\'importe quelle partie de l\\'heure pour l\\'augmenter\\n\" +\n\"- ou cliquez en maintenant la touche shift enfonc\u00e9e pour l\\'augmenter\\n\" +\n\"- ou cliquez et glissez pour une s\u00e9lection plus rapide\";\n\nCalendar._TT[\"PREV_YEAR\"] = \"Ann\u00e9e pr\u00e9c\u00e9dente (maintenez pour le menu)\";\nCalendar._TT[\"PREV_MONTH\"] = \"Mois pr\u00e9c\u00e9dent (maintenez pour le menu)\";\nCalendar._TT[\"GO_TODAY\"] = \"Aller \u00e0 aujourd\\'hui\";\nCalendar._TT[\"NEXT_MONTH\"] = \"Mois suivant (maintenez pour le menu)\";\nCalendar._TT[\"NEXT_YEAR\"] = \"Ann\u00e9e prochaine (maintenez pour le menu)\";\nCalendar._TT[\"SEL_DATE\"] = \"S\u00e9lectionner la date\";\nCalendar._TT[\"DRAG_TO_MOVE\"] = \"Glisser pour d\u00e9placer\";\nCalendar._TT[\"PART_TODAY\"] = ' (' + \"aujourd\\u2019hui\" + ')';\n\n\/\/ the following is to inform that \"%s\" is to be the first day of week\nCalendar._TT[\"DAY_FIRST\"] = \"Afficher d\\'abord %s\";\n\n\/\/ This may be locale-dependent. It specifies the week-end days, as an array\n\/\/ of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1\n\/\/ means Monday, etc.\nCalendar._TT[\"WEEKEND\"] = \"0,6\";\n\nCalendar._TT[\"CLOSE\"] = \"Fermer\";\nCalendar._TT[\"TODAY\"] = \"aujourd\\u2019hui\";\nCalendar._TT[\"TIME_PART\"] = \"Pour modifier la valeur, cliquez en maintenant la touche shift enfonc\u00e9e ou glissez\";\n\n\/\/ date formats\nCalendar._TT[\"DEF_DATE_FORMAT\"] = \"%e %b %Y\";\nCalendar._TT[\"TT_DATE_FORMAT\"] = \"%e %B %Y\";\n\nCalendar._TT[\"WK\"] = \"semaine\";\nCalendar._TT[\"TIME\"] = \"Heure :\";\n\n","decorateGeneric($$('#product-options-wrapper dl'), ['last']);","\r\n\r\n var productAddToCartForm = new VarienForm('product_addtocart_form');\r\n productAddToCartForm.submit = function(button, url) {\r\n if (this.validator.validate()) {\r\n var form = this.form;\r\n var oldUrl = form.action;\r\n\r\n if (url) {\r\n form.action = url;\r\n }\r\n var e = null;\r\n try {\r\n \t\tvar ajaxForm = $('product_addtocart_form');\r\n \t\tajaxForm.action += '?layovercart=true';\r\n \t\tjQuery.fancybox.showActivity();\r\n ajaxForm.request({\r\n onComplete: function(response) {\r\n if (response.responseText.indexOf(' li:last').replaceWith(jQuery(response.responseText));\r\n \tinitCartDrop();\r\n \tjQuery('#header ul.menu > li:last a.my-cart').trigger('mouseenter');\r\n }\r\n }\r\n });\r\n } catch (e) {\r\n }\r\n this.form.action = oldUrl;\r\n if (e) {\r\n throw e;\r\n }\r\n\r\n if (button && button != 'undefined') {\r\n button.disabled = true;\r\n }\r\n\r\n return false;\r\n }\r\n }.bind(productAddToCartForm);\r\n\r\n productAddToCartForm.submitLight = function(button, url){\r\n if(this.validator) {\r\n var nv = Validation.methods;\r\n delete Validation.methods['required-entry'];\r\n delete Validation.methods['validate-one-required'];\r\n delete Validation.methods['validate-one-required-by-name'];\r\n if (this.validator.validate()) {\r\n if (url) {\r\n this.form.action = url;\r\n }\r\n this.form.submit();\r\n }\r\n Object.extend(Validation.methods, nv);\r\n }\r\n }.bind(productAddToCartForm);\r\n\r\n"],"facebookMeta":""}
Nombre maxi de caract\u00e8res : 10<\/strong><\/p>\n <\/div>\n<\/dd>\n Gravure ange gardien \u2013 Face arri\u00e8re<\/label>\n +10,00\u00a0\u20ac<\/span><\/span><\/dt>\n\n \n \n Nombre maxi de caract\u00e8res : 15<\/strong><\/p>\n <\/div>\n<\/dd>\n \nCha\u00eene collier<\/label><\/dt>\n\n \n -- Faites un choix --<\/option>Cha\u00eene collier en argent 925\/-, 38cm +12,00\u00a0\u20ac<\/option>Cha\u00eene collier en argent 925\/-, 40cm +13,00\u00a0\u20ac<\/option>Cha\u00eene collier en argent 925\/-, 42cm +14,00\u00a0\u20ac<\/option>Cha\u00eene collier en argent 925\/-, 45cm +15,00\u00a0\u20ac<\/option>Cha\u00eene collier en argent 925\/-, 50cm +16,00\u00a0\u20ac<\/option><\/select> <\/div>\n<\/dd>\n <\/dl>\n\n\n <\/div>\n\n\r\n\r\n \n \t\tQuantit\u00e9<\/label>\n \n \t<\/div>\n Ajouter au panier<\/span><\/span><\/button>\n <\/div>\r\n<\/div>\r\n\r\n <\/fieldset>\r\n <\/form>\r\n \r\n <\/div>\r\n \r\n \r\n Le platine se distingue par une couleur d\u2019un gris-blanc noble. C\u2019est le m\u00e9tal le plus pr\u00e9cieux parmi tous les m\u00e9taux car il s\u2019agit du m\u00e9tal pr\u00e9cieux le plus rare sur Terre. Nous travaillons l\u2019un des alliages les plus purs, \u00e0 savoir d\u2019une teneur en platine de 950. En raison de leur raret\u00e9, de l\u2019agr\u00e9ment de leur port et de leurs propri\u00e9t\u00e9s antiallergiques, les bijoux en platine sont de plus en plus recherch\u00e9s.\r\n\r\nThe \u201cSwiss Made\u201d seal of approval guarantees high-quality craftsmanship. <\/div>\r\n <\/div>\r\n <\/div>\r\n <\/div>\r\n <\/div>\r\n <\/div>\r\n<\/div>\r\n\r\n\r\n\r\n","scripts":["\r\n var optionsPrice = new Product.OptionsPrice({\"productId\":\"58\",\"priceFormat\":{\"pattern\":\"%s\\u00a0\\u20ac\",\"precision\":2,\"requiredPrecision\":2,\"decimalSymbol\":\",\",\"groupSymbol\":\"\\u00a0\",\"groupLength\":3,\"integerRequired\":1},\"includeTax\":\"true\",\"showIncludeTax\":true,\"showBothPrices\":false,\"productPrice\":1134,\"productOldPrice\":1134,\"priceInclTax\":1134,\"priceExclTax\":1134,\"skipCalculate\":1,\"defaultTax\":0,\"currentTax\":0,\"idSuffix\":\"_clone\",\"oldPlusDisposition\":0,\"plusDisposition\":0,\"plusDispositionTax\":0,\"oldMinusDisposition\":0,\"minusDisposition\":0,\"tierPrices\":[],\"tierPricesInclTax\":[]});\r\n","\n\nvar DateOption = Class.create({\n\n getDaysInMonth: function(month, year)\n {\n var curDate = new Date();\n if (!month) {\n month = curDate.getMonth();\n }\n if (2 == month && !year) { \/\/ leap year assumption for unknown year\n return 29;\n }\n if (!year) {\n year = curDate.getFullYear();\n }\n return 32 - new Date(year, month - 1, 32).getDate();\n },\n\n reloadMonth: function(event)\n {\n var selectEl = event.findElement();\n var idParts = selectEl.id.split(\"_\");\n if (idParts.length != 3) {\n return false;\n }\n var optionIdPrefix = idParts[0] + \"_\" + idParts[1];\n var month = parseInt($(optionIdPrefix + \"_month\").value);\n var year = parseInt($(optionIdPrefix + \"_year\").value);\n var dayEl = $(optionIdPrefix + \"_day\");\n\n var days = this.getDaysInMonth(month, year);\n\n \/\/remove days\n for (var i = dayEl.options.length - 1; i >= 0; i--) {\n if (dayEl.options[i].value > days) {\n dayEl.remove(dayEl.options[i].index);\n }\n }\n\n \/\/ add days\n var lastDay = parseInt(dayEl.options[dayEl.options.length-1].value);\n for (i = lastDay + 1; i <= days; i++) {\n this.addOption(dayEl, i, i);\n }\n },\n\n addOption: function(select, text, value)\n {\n var option = document.createElement('OPTION');\n option.value = value;\n option.text = text;\n\n if (select.options.add) {\n select.options.add(option);\n } else {\n select.appendChild(option);\n }\n }\n});\ndateOption = new DateOption();\n\n","\n \n var optionFileUpload = {\n productForm : $('product_addtocart_form'),\n formAction : '',\n formElements : {},\n upload : function(element){\n this.formElements = this.productForm.select('input', 'select', 'textarea', 'button');\n this.removeRequire(element.readAttribute('id').sub('option_', ''));\n\n template = '<\\\/iframe>';\n\n Element.insert($('option_'+element.readAttribute('id').sub('option_', '')+'_uploaded_file'), {after: template});\n\n this.formAction = this.productForm.action;\n\n var baseUrl = 'https:\/\/www.tarnoki.com\/int_fr\/catalog\/product\/upload\/';\n var urlExt = 'option_id\/'+element.readAttribute('id').sub('option_', '');\n\n this.productForm.action = parseSidUrl(baseUrl, urlExt);\n this.productForm.target = 'upload_target';\n this.productForm.submit();\n this.productForm.target = '';\n this.productForm.action = this.formAction;\n },\n removeRequire : function(skipElementId){\n for(var i=0; i<\\\/a>Remove file<\\\/a>';\n\n Element.insert($('option_'+data.optionId+'_uploaded_file'), {after: template});\n }\n },\n removeFile : function(optionId)\n {\n $('option_'+optionId+'_uploaded_file').value= '';\n $('option_'+optionId+'_file').show();\n $('option_'+optionId+'').show();\n\n $('option_'+optionId+'_file_box').remove();\n }\n }\n var optionTextCounter = {\n count : function(field,cntfield,maxlimit){\n if (field.value.length > maxlimit){\n field.value = field.value.substring(0, maxlimit);\n } else {\n cntfield.innerHTML = maxlimit - field.value.length;\n }\n }\n }\n\n Product.Options = Class.create();\n Product.Options.prototype = {\n initialize : function(config) {\n this.config = config;\n this.reloadPrice();\n document.observe(\"dom:loaded\", this.reloadPrice.bind(this));\n },\n reloadPrice : function() {\n var config = this.config;\n var skipIds = [];\n $$('body .product-custom-option').each(function(element){\n var optionId = 0;\n element.name.sub(\/[0-9]+\/, function(match){\n optionId = parseInt(match[0], 10);\n });\n if (config[optionId]) {\n var configOptions = config[optionId];\n var curConfig = {price: 0};\n if (element.type == 'checkbox' || element.type == 'radio') {\n if (element.checked) {\n if (typeof configOptions[element.getValue()] != 'undefined') {\n curConfig = configOptions[element.getValue()];\n }\n }\n } else if(element.hasClassName('datetime-picker') && !skipIds.include(optionId)) {\n dateSelected = true;\n $$('.product-custom-option[id^=\"options_' + optionId + '\"]').each(function(dt){\n if (dt.getValue() == '') {\n dateSelected = false;\n }\n });\n if (dateSelected) {\n curConfig = configOptions;\n skipIds[optionId] = optionId;\n }\n } else if(element.type == 'select-one' || element.type == 'select-multiple') {\n if ('options' in element) {\n $A(element.options).each(function(selectOption){\n if ('selected' in selectOption && selectOption.selected) {\n if (typeof(configOptions[selectOption.value]) != 'undefined') {\n curConfig = configOptions[selectOption.value];\n }\n }\n });\n }\n } else {\n if (element.getValue().strip() != '') {\n curConfig = configOptions;\n }\n }\n if(element.type == 'select-multiple' && ('options' in element)) {\n $A(element.options).each(function(selectOption) {\n if (('selected' in selectOption) && typeof(configOptions[selectOption.value]) != 'undefined') {\n if (selectOption.selected) {\n curConfig = configOptions[selectOption.value];\n } else {\n curConfig = {price: 0};\n }\n optionsPrice.addCustomPrices(optionId + '-' + selectOption.value, curConfig);\n optionsPrice.reload();\n }\n });\n } else {\n optionsPrice.addCustomPrices(element.id || optionId, curConfig);\n optionsPrice.reload();\n }\n }\n });\n }\n }\n function validateOptionsCallback(elmId, result) {\n var container = $(elmId).up('ul.options-list');\n if (result == 'failed') {\n container.removeClassName('validation-passed');\n container.addClassName('validation-failed');\n } else {\n container.removeClassName('validation-failed');\n container.addClassName('validation-passed');\n }\n }\n var opConfig = new Product.Options({\"61\":{\"price\":10,\"oldPrice\":10,\"priceValue\":\"10.0000\",\"type\":\"fixed\",\"excludeTax\":10,\"includeTax\":10},\"60\":{\"price\":10,\"oldPrice\":10,\"priceValue\":\"10.0000\",\"type\":\"fixed\",\"excludeTax\":10,\"includeTax\":10},\"59\":{\"86\":{\"price\":12,\"oldPrice\":12,\"priceValue\":\"12.0000\",\"type\":\"fixed\",\"excludeTax\":12,\"includeTax\":12},\"87\":{\"price\":13,\"oldPrice\":13,\"priceValue\":\"13.0000\",\"type\":\"fixed\",\"excludeTax\":13,\"includeTax\":13},\"88\":{\"price\":14,\"oldPrice\":14,\"priceValue\":\"14.0000\",\"type\":\"fixed\",\"excludeTax\":14,\"includeTax\":14},\"89\":{\"price\":15,\"oldPrice\":15,\"priceValue\":\"15.0000\",\"type\":\"fixed\",\"excludeTax\":15,\"includeTax\":15},\"90\":{\"price\":16,\"oldPrice\":16,\"priceValue\":\"16.0000\",\"type\":\"fixed\",\"excludeTax\":16,\"includeTax\":16}}});\n \n ","\n\nenUS = {\"m\":{\"wide\":[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],\"abbr\":[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]}}; \/\/ en_US locale reference\nCalendar._DN = [\"dimanche\",\"lundi\",\"mardi\",\"mercredi\",\"jeudi\",\"vendredi\",\"samedi\"]; \/\/ full day names\nCalendar._SDN = [\"dim.\",\"lun.\",\"mar.\",\"mer.\",\"jeu.\",\"ven.\",\"sam.\"]; \/\/ short day names\nCalendar._FD = 1; \/\/ First day of the week. \"0\" means display Sunday first, \"1\" means display Monday first, etc.\nCalendar._MN = [\"janvier\",\"f\\u00e9vrier\",\"mars\",\"avril\",\"mai\",\"juin\",\"juillet\",\"ao\\u00fbt\",\"septembre\",\"octobre\",\"novembre\",\"d\\u00e9cembre\"]; \/\/ full month names\nCalendar._SMN = [\"janv.\",\"f\\u00e9vr.\",\"mars\",\"avr.\",\"mai\",\"juin\",\"juil.\",\"ao\\u00fbt\",\"sept.\",\"oct.\",\"nov.\",\"d\\u00e9c.\"]; \/\/ short month names\nCalendar._am = \"AM\"; \/\/ am\/pm\nCalendar._pm = \"PM\";\n\n\/\/ tooltips\nCalendar._TT = {};\nCalendar._TT[\"INFO\"] = \"\u00c0 propos du calendrier\";\n\nCalendar._TT[\"ABOUT\"] =\n\"S\u00e9lecteur de date\/heure DHTML\\n\" +\n\"(c) dynarch.com 2002-2005 \/ Author: Mihai Bazon\\n\" +\n\"Pour la visite de la derni\u00e8re version : http:\/\/www.dynarch.com\/projects\/calendar\/\\n\" +\n\"Distribu\u00e9 sous licence GNU LGPL. Voir http:\/\/gnu.org\/licenses\/lgpl.html pour plus de d\u00e9tails.\" +\n\"\\n\\n\" +\n\"S\u00e9lection de date :\\n\" +\n\"- Utilisez les boutons \\xab, \\xbb pour s\u00e9lectionner l\\'ann\u00e9e\\n\" +\n\"- Utilisez les boutons \" + String.fromCharCode(0x2039) + \", \" + String.fromCharCode(0x203a) + \" pour s\u00e9lectionner le mois\\n\" +\n\"- Maintenez le bouton de la souris sur n\\'importe quel bouton ci-dessus pour une s\u00e9lection rapide\";\nCalendar._TT[\"ABOUT_TIME\"] = \"\\n\\n\" +\n\"S\u00e9lection de l\\'heure :\\n\" +\n\"- Cliquez sur n\\'importe quelle partie de l\\'heure pour l\\'augmenter\\n\" +\n\"- ou cliquez en maintenant la touche shift enfonc\u00e9e pour l\\'augmenter\\n\" +\n\"- ou cliquez et glissez pour une s\u00e9lection plus rapide\";\n\nCalendar._TT[\"PREV_YEAR\"] = \"Ann\u00e9e pr\u00e9c\u00e9dente (maintenez pour le menu)\";\nCalendar._TT[\"PREV_MONTH\"] = \"Mois pr\u00e9c\u00e9dent (maintenez pour le menu)\";\nCalendar._TT[\"GO_TODAY\"] = \"Aller \u00e0 aujourd\\'hui\";\nCalendar._TT[\"NEXT_MONTH\"] = \"Mois suivant (maintenez pour le menu)\";\nCalendar._TT[\"NEXT_YEAR\"] = \"Ann\u00e9e prochaine (maintenez pour le menu)\";\nCalendar._TT[\"SEL_DATE\"] = \"S\u00e9lectionner la date\";\nCalendar._TT[\"DRAG_TO_MOVE\"] = \"Glisser pour d\u00e9placer\";\nCalendar._TT[\"PART_TODAY\"] = ' (' + \"aujourd\\u2019hui\" + ')';\n\n\/\/ the following is to inform that \"%s\" is to be the first day of week\nCalendar._TT[\"DAY_FIRST\"] = \"Afficher d\\'abord %s\";\n\n\/\/ This may be locale-dependent. It specifies the week-end days, as an array\n\/\/ of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1\n\/\/ means Monday, etc.\nCalendar._TT[\"WEEKEND\"] = \"0,6\";\n\nCalendar._TT[\"CLOSE\"] = \"Fermer\";\nCalendar._TT[\"TODAY\"] = \"aujourd\\u2019hui\";\nCalendar._TT[\"TIME_PART\"] = \"Pour modifier la valeur, cliquez en maintenant la touche shift enfonc\u00e9e ou glissez\";\n\n\/\/ date formats\nCalendar._TT[\"DEF_DATE_FORMAT\"] = \"%e %b %Y\";\nCalendar._TT[\"TT_DATE_FORMAT\"] = \"%e %B %Y\";\n\nCalendar._TT[\"WK\"] = \"semaine\";\nCalendar._TT[\"TIME\"] = \"Heure :\";\n\n","decorateGeneric($$('#product-options-wrapper dl'), ['last']);","\r\n\r\n var productAddToCartForm = new VarienForm('product_addtocart_form');\r\n productAddToCartForm.submit = function(button, url) {\r\n if (this.validator.validate()) {\r\n var form = this.form;\r\n var oldUrl = form.action;\r\n\r\n if (url) {\r\n form.action = url;\r\n }\r\n var e = null;\r\n try {\r\n \t\tvar ajaxForm = $('product_addtocart_form');\r\n \t\tajaxForm.action += '?layovercart=true';\r\n \t\tjQuery.fancybox.showActivity();\r\n ajaxForm.request({\r\n onComplete: function(response) {\r\n if (response.responseText.indexOf(' li:last').replaceWith(jQuery(response.responseText));\r\n \tinitCartDrop();\r\n \tjQuery('#header ul.menu > li:last a.my-cart').trigger('mouseenter');\r\n }\r\n }\r\n });\r\n } catch (e) {\r\n }\r\n this.form.action = oldUrl;\r\n if (e) {\r\n throw e;\r\n }\r\n\r\n if (button && button != 'undefined') {\r\n button.disabled = true;\r\n }\r\n\r\n return false;\r\n }\r\n }.bind(productAddToCartForm);\r\n\r\n productAddToCartForm.submitLight = function(button, url){\r\n if(this.validator) {\r\n var nv = Validation.methods;\r\n delete Validation.methods['required-entry'];\r\n delete Validation.methods['validate-one-required'];\r\n delete Validation.methods['validate-one-required-by-name'];\r\n if (this.validator.validate()) {\r\n if (url) {\r\n this.form.action = url;\r\n }\r\n this.form.submit();\r\n }\r\n Object.extend(Validation.methods, nv);\r\n }\r\n }.bind(productAddToCartForm);\r\n\r\n"],"facebookMeta":""}
Nombre maxi de caract\u00e8res : 15<\/strong><\/p>\n <\/div>\n<\/dd>\n \nCha\u00eene collier<\/label><\/dt>\n\n \n -- Faites un choix --<\/option>Cha\u00eene collier en argent 925\/-, 38cm +12,00\u00a0\u20ac<\/option>Cha\u00eene collier en argent 925\/-, 40cm +13,00\u00a0\u20ac<\/option>Cha\u00eene collier en argent 925\/-, 42cm +14,00\u00a0\u20ac<\/option>Cha\u00eene collier en argent 925\/-, 45cm +15,00\u00a0\u20ac<\/option>Cha\u00eene collier en argent 925\/-, 50cm +16,00\u00a0\u20ac<\/option><\/select> <\/div>\n<\/dd>\n <\/dl>\n\n\n <\/div>\n\n\r\n\r\n \n \t\tQuantit\u00e9<\/label>\n \n \t<\/div>\n Ajouter au panier<\/span><\/span><\/button>\n <\/div>\r\n<\/div>\r\n\r\n <\/fieldset>\r\n <\/form>\r\n \r\n <\/div>\r\n \r\n \r\n Le platine se distingue par une couleur d\u2019un gris-blanc noble. C\u2019est le m\u00e9tal le plus pr\u00e9cieux parmi tous les m\u00e9taux car il s\u2019agit du m\u00e9tal pr\u00e9cieux le plus rare sur Terre. Nous travaillons l\u2019un des alliages les plus purs, \u00e0 savoir d\u2019une teneur en platine de 950. En raison de leur raret\u00e9, de l\u2019agr\u00e9ment de leur port et de leurs propri\u00e9t\u00e9s antiallergiques, les bijoux en platine sont de plus en plus recherch\u00e9s.\r\n\r\nThe \u201cSwiss Made\u201d seal of approval guarantees high-quality craftsmanship. <\/div>\r\n <\/div>\r\n <\/div>\r\n <\/div>\r\n <\/div>\r\n <\/div>\r\n<\/div>\r\n\r\n\r\n\r\n","scripts":["\r\n var optionsPrice = new Product.OptionsPrice({\"productId\":\"58\",\"priceFormat\":{\"pattern\":\"%s\\u00a0\\u20ac\",\"precision\":2,\"requiredPrecision\":2,\"decimalSymbol\":\",\",\"groupSymbol\":\"\\u00a0\",\"groupLength\":3,\"integerRequired\":1},\"includeTax\":\"true\",\"showIncludeTax\":true,\"showBothPrices\":false,\"productPrice\":1134,\"productOldPrice\":1134,\"priceInclTax\":1134,\"priceExclTax\":1134,\"skipCalculate\":1,\"defaultTax\":0,\"currentTax\":0,\"idSuffix\":\"_clone\",\"oldPlusDisposition\":0,\"plusDisposition\":0,\"plusDispositionTax\":0,\"oldMinusDisposition\":0,\"minusDisposition\":0,\"tierPrices\":[],\"tierPricesInclTax\":[]});\r\n","\n\nvar DateOption = Class.create({\n\n getDaysInMonth: function(month, year)\n {\n var curDate = new Date();\n if (!month) {\n month = curDate.getMonth();\n }\n if (2 == month && !year) { \/\/ leap year assumption for unknown year\n return 29;\n }\n if (!year) {\n year = curDate.getFullYear();\n }\n return 32 - new Date(year, month - 1, 32).getDate();\n },\n\n reloadMonth: function(event)\n {\n var selectEl = event.findElement();\n var idParts = selectEl.id.split(\"_\");\n if (idParts.length != 3) {\n return false;\n }\n var optionIdPrefix = idParts[0] + \"_\" + idParts[1];\n var month = parseInt($(optionIdPrefix + \"_month\").value);\n var year = parseInt($(optionIdPrefix + \"_year\").value);\n var dayEl = $(optionIdPrefix + \"_day\");\n\n var days = this.getDaysInMonth(month, year);\n\n \/\/remove days\n for (var i = dayEl.options.length - 1; i >= 0; i--) {\n if (dayEl.options[i].value > days) {\n dayEl.remove(dayEl.options[i].index);\n }\n }\n\n \/\/ add days\n var lastDay = parseInt(dayEl.options[dayEl.options.length-1].value);\n for (i = lastDay + 1; i <= days; i++) {\n this.addOption(dayEl, i, i);\n }\n },\n\n addOption: function(select, text, value)\n {\n var option = document.createElement('OPTION');\n option.value = value;\n option.text = text;\n\n if (select.options.add) {\n select.options.add(option);\n } else {\n select.appendChild(option);\n }\n }\n});\ndateOption = new DateOption();\n\n","\n \n var optionFileUpload = {\n productForm : $('product_addtocart_form'),\n formAction : '',\n formElements : {},\n upload : function(element){\n this.formElements = this.productForm.select('input', 'select', 'textarea', 'button');\n this.removeRequire(element.readAttribute('id').sub('option_', ''));\n\n template = '<\\\/iframe>';\n\n Element.insert($('option_'+element.readAttribute('id').sub('option_', '')+'_uploaded_file'), {after: template});\n\n this.formAction = this.productForm.action;\n\n var baseUrl = 'https:\/\/www.tarnoki.com\/int_fr\/catalog\/product\/upload\/';\n var urlExt = 'option_id\/'+element.readAttribute('id').sub('option_', '');\n\n this.productForm.action = parseSidUrl(baseUrl, urlExt);\n this.productForm.target = 'upload_target';\n this.productForm.submit();\n this.productForm.target = '';\n this.productForm.action = this.formAction;\n },\n removeRequire : function(skipElementId){\n for(var i=0; i<\\\/a>Remove file<\\\/a>';\n\n Element.insert($('option_'+data.optionId+'_uploaded_file'), {after: template});\n }\n },\n removeFile : function(optionId)\n {\n $('option_'+optionId+'_uploaded_file').value= '';\n $('option_'+optionId+'_file').show();\n $('option_'+optionId+'').show();\n\n $('option_'+optionId+'_file_box').remove();\n }\n }\n var optionTextCounter = {\n count : function(field,cntfield,maxlimit){\n if (field.value.length > maxlimit){\n field.value = field.value.substring(0, maxlimit);\n } else {\n cntfield.innerHTML = maxlimit - field.value.length;\n }\n }\n }\n\n Product.Options = Class.create();\n Product.Options.prototype = {\n initialize : function(config) {\n this.config = config;\n this.reloadPrice();\n document.observe(\"dom:loaded\", this.reloadPrice.bind(this));\n },\n reloadPrice : function() {\n var config = this.config;\n var skipIds = [];\n $$('body .product-custom-option').each(function(element){\n var optionId = 0;\n element.name.sub(\/[0-9]+\/, function(match){\n optionId = parseInt(match[0], 10);\n });\n if (config[optionId]) {\n var configOptions = config[optionId];\n var curConfig = {price: 0};\n if (element.type == 'checkbox' || element.type == 'radio') {\n if (element.checked) {\n if (typeof configOptions[element.getValue()] != 'undefined') {\n curConfig = configOptions[element.getValue()];\n }\n }\n } else if(element.hasClassName('datetime-picker') && !skipIds.include(optionId)) {\n dateSelected = true;\n $$('.product-custom-option[id^=\"options_' + optionId + '\"]').each(function(dt){\n if (dt.getValue() == '') {\n dateSelected = false;\n }\n });\n if (dateSelected) {\n curConfig = configOptions;\n skipIds[optionId] = optionId;\n }\n } else if(element.type == 'select-one' || element.type == 'select-multiple') {\n if ('options' in element) {\n $A(element.options).each(function(selectOption){\n if ('selected' in selectOption && selectOption.selected) {\n if (typeof(configOptions[selectOption.value]) != 'undefined') {\n curConfig = configOptions[selectOption.value];\n }\n }\n });\n }\n } else {\n if (element.getValue().strip() != '') {\n curConfig = configOptions;\n }\n }\n if(element.type == 'select-multiple' && ('options' in element)) {\n $A(element.options).each(function(selectOption) {\n if (('selected' in selectOption) && typeof(configOptions[selectOption.value]) != 'undefined') {\n if (selectOption.selected) {\n curConfig = configOptions[selectOption.value];\n } else {\n curConfig = {price: 0};\n }\n optionsPrice.addCustomPrices(optionId + '-' + selectOption.value, curConfig);\n optionsPrice.reload();\n }\n });\n } else {\n optionsPrice.addCustomPrices(element.id || optionId, curConfig);\n optionsPrice.reload();\n }\n }\n });\n }\n }\n function validateOptionsCallback(elmId, result) {\n var container = $(elmId).up('ul.options-list');\n if (result == 'failed') {\n container.removeClassName('validation-passed');\n container.addClassName('validation-failed');\n } else {\n container.removeClassName('validation-failed');\n container.addClassName('validation-passed');\n }\n }\n var opConfig = new Product.Options({\"61\":{\"price\":10,\"oldPrice\":10,\"priceValue\":\"10.0000\",\"type\":\"fixed\",\"excludeTax\":10,\"includeTax\":10},\"60\":{\"price\":10,\"oldPrice\":10,\"priceValue\":\"10.0000\",\"type\":\"fixed\",\"excludeTax\":10,\"includeTax\":10},\"59\":{\"86\":{\"price\":12,\"oldPrice\":12,\"priceValue\":\"12.0000\",\"type\":\"fixed\",\"excludeTax\":12,\"includeTax\":12},\"87\":{\"price\":13,\"oldPrice\":13,\"priceValue\":\"13.0000\",\"type\":\"fixed\",\"excludeTax\":13,\"includeTax\":13},\"88\":{\"price\":14,\"oldPrice\":14,\"priceValue\":\"14.0000\",\"type\":\"fixed\",\"excludeTax\":14,\"includeTax\":14},\"89\":{\"price\":15,\"oldPrice\":15,\"priceValue\":\"15.0000\",\"type\":\"fixed\",\"excludeTax\":15,\"includeTax\":15},\"90\":{\"price\":16,\"oldPrice\":16,\"priceValue\":\"16.0000\",\"type\":\"fixed\",\"excludeTax\":16,\"includeTax\":16}}});\n \n ","\n\nenUS = {\"m\":{\"wide\":[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],\"abbr\":[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"]}}; \/\/ en_US locale reference\nCalendar._DN = [\"dimanche\",\"lundi\",\"mardi\",\"mercredi\",\"jeudi\",\"vendredi\",\"samedi\"]; \/\/ full day names\nCalendar._SDN = [\"dim.\",\"lun.\",\"mar.\",\"mer.\",\"jeu.\",\"ven.\",\"sam.\"]; \/\/ short day names\nCalendar._FD = 1; \/\/ First day of the week. \"0\" means display Sunday first, \"1\" means display Monday first, etc.\nCalendar._MN = [\"janvier\",\"f\\u00e9vrier\",\"mars\",\"avril\",\"mai\",\"juin\",\"juillet\",\"ao\\u00fbt\",\"septembre\",\"octobre\",\"novembre\",\"d\\u00e9cembre\"]; \/\/ full month names\nCalendar._SMN = [\"janv.\",\"f\\u00e9vr.\",\"mars\",\"avr.\",\"mai\",\"juin\",\"juil.\",\"ao\\u00fbt\",\"sept.\",\"oct.\",\"nov.\",\"d\\u00e9c.\"]; \/\/ short month names\nCalendar._am = \"AM\"; \/\/ am\/pm\nCalendar._pm = \"PM\";\n\n\/\/ tooltips\nCalendar._TT = {};\nCalendar._TT[\"INFO\"] = \"\u00c0 propos du calendrier\";\n\nCalendar._TT[\"ABOUT\"] =\n\"S\u00e9lecteur de date\/heure DHTML\\n\" +\n\"(c) dynarch.com 2002-2005 \/ Author: Mihai Bazon\\n\" +\n\"Pour la visite de la derni\u00e8re version : http:\/\/www.dynarch.com\/projects\/calendar\/\\n\" +\n\"Distribu\u00e9 sous licence GNU LGPL. Voir http:\/\/gnu.org\/licenses\/lgpl.html pour plus de d\u00e9tails.\" +\n\"\\n\\n\" +\n\"S\u00e9lection de date :\\n\" +\n\"- Utilisez les boutons \\xab, \\xbb pour s\u00e9lectionner l\\'ann\u00e9e\\n\" +\n\"- Utilisez les boutons \" + String.fromCharCode(0x2039) + \", \" + String.fromCharCode(0x203a) + \" pour s\u00e9lectionner le mois\\n\" +\n\"- Maintenez le bouton de la souris sur n\\'importe quel bouton ci-dessus pour une s\u00e9lection rapide\";\nCalendar._TT[\"ABOUT_TIME\"] = \"\\n\\n\" +\n\"S\u00e9lection de l\\'heure :\\n\" +\n\"- Cliquez sur n\\'importe quelle partie de l\\'heure pour l\\'augmenter\\n\" +\n\"- ou cliquez en maintenant la touche shift enfonc\u00e9e pour l\\'augmenter\\n\" +\n\"- ou cliquez et glissez pour une s\u00e9lection plus rapide\";\n\nCalendar._TT[\"PREV_YEAR\"] = \"Ann\u00e9e pr\u00e9c\u00e9dente (maintenez pour le menu)\";\nCalendar._TT[\"PREV_MONTH\"] = \"Mois pr\u00e9c\u00e9dent (maintenez pour le menu)\";\nCalendar._TT[\"GO_TODAY\"] = \"Aller \u00e0 aujourd\\'hui\";\nCalendar._TT[\"NEXT_MONTH\"] = \"Mois suivant (maintenez pour le menu)\";\nCalendar._TT[\"NEXT_YEAR\"] = \"Ann\u00e9e prochaine (maintenez pour le menu)\";\nCalendar._TT[\"SEL_DATE\"] = \"S\u00e9lectionner la date\";\nCalendar._TT[\"DRAG_TO_MOVE\"] = \"Glisser pour d\u00e9placer\";\nCalendar._TT[\"PART_TODAY\"] = ' (' + \"aujourd\\u2019hui\" + ')';\n\n\/\/ the following is to inform that \"%s\" is to be the first day of week\nCalendar._TT[\"DAY_FIRST\"] = \"Afficher d\\'abord %s\";\n\n\/\/ This may be locale-dependent. It specifies the week-end days, as an array\n\/\/ of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1\n\/\/ means Monday, etc.\nCalendar._TT[\"WEEKEND\"] = \"0,6\";\n\nCalendar._TT[\"CLOSE\"] = \"Fermer\";\nCalendar._TT[\"TODAY\"] = \"aujourd\\u2019hui\";\nCalendar._TT[\"TIME_PART\"] = \"Pour modifier la valeur, cliquez en maintenant la touche shift enfonc\u00e9e ou glissez\";\n\n\/\/ date formats\nCalendar._TT[\"DEF_DATE_FORMAT\"] = \"%e %b %Y\";\nCalendar._TT[\"TT_DATE_FORMAT\"] = \"%e %B %Y\";\n\nCalendar._TT[\"WK\"] = \"semaine\";\nCalendar._TT[\"TIME\"] = \"Heure :\";\n\n","decorateGeneric($$('#product-options-wrapper dl'), ['last']);","\r\n\r\n var productAddToCartForm = new VarienForm('product_addtocart_form');\r\n productAddToCartForm.submit = function(button, url) {\r\n if (this.validator.validate()) {\r\n var form = this.form;\r\n var oldUrl = form.action;\r\n\r\n if (url) {\r\n form.action = url;\r\n }\r\n var e = null;\r\n try {\r\n \t\tvar ajaxForm = $('product_addtocart_form');\r\n \t\tajaxForm.action += '?layovercart=true';\r\n \t\tjQuery.fancybox.showActivity();\r\n ajaxForm.request({\r\n onComplete: function(response) {\r\n if (response.responseText.indexOf(' li:last').replaceWith(jQuery(response.responseText));\r\n \tinitCartDrop();\r\n \tjQuery('#header ul.menu > li:last a.my-cart').trigger('mouseenter');\r\n }\r\n }\r\n });\r\n } catch (e) {\r\n }\r\n this.form.action = oldUrl;\r\n if (e) {\r\n throw e;\r\n }\r\n\r\n if (button && button != 'undefined') {\r\n button.disabled = true;\r\n }\r\n\r\n return false;\r\n }\r\n }.bind(productAddToCartForm);\r\n\r\n productAddToCartForm.submitLight = function(button, url){\r\n if(this.validator) {\r\n var nv = Validation.methods;\r\n delete Validation.methods['required-entry'];\r\n delete Validation.methods['validate-one-required'];\r\n delete Validation.methods['validate-one-required-by-name'];\r\n if (this.validator.validate()) {\r\n if (url) {\r\n this.form.action = url;\r\n }\r\n this.form.submit();\r\n }\r\n Object.extend(Validation.methods, nv);\r\n }\r\n }.bind(productAddToCartForm);\r\n\r\n"],"facebookMeta":""}