var productImages = [];
// Preloaded image. ID = 2504
productImages[2504] = new Image();
productImages[2504].src="/image/product/medium/coyote_whitepen-1.jpg";
productImages[2504].alt = "Spotters Coyote Brilliant White with Bronze Photochromic Glass Penetrator Polarised Lenses";
// Preloaded image. ID = 4462
productImages[4462] = new Image();
productImages[4462].src="/image/product/medium/coyote_white_brn-1.jpg";
productImages[4462].alt = "Spotters Coyote Brilliant White with Brown Polarised Lenses";
// Preloaded image. ID = 1187
productImages[1187] = new Image();
productImages[1187].src="/image/product/medium/coyote_black_gry_copy-1.jpg";
productImages[1187].alt = "Spotters Coyote Shiny Black with Polarised Grey Lenses";
// Preloaded image. ID = 4455
productImages[4455] = new Image();
productImages[4455].src="/image/product/medium/coyote_black_brn-1.jpg";
productImages[4455].alt = "Spotters Coyote Shiny Black with Brown Polarised Lenses";
// Preloaded image. ID = 4456
productImages[4456] = new Image();
productImages[4456].src="/image/product/medium/coyote_black_yellowpen-1.jpg";
productImages[4456].alt = "Spotters Coyote Shiny Black with Glass Yellow Photochromic Polarised Lenses";
// Preloaded image. ID = 4457
productImages[4457] = new Image();
productImages[4457].src="/image/product/medium/coyote_black_cop-1.jpg";
productImages[4457].alt = "Spotters Coyote Shiny Black with Copper Polarised Lenses";
// Preloaded image. ID = 4458
productImages[4458] = new Image();
productImages[4458].src="/image/product/medium/coyote_black_emerald-1.jpg";
productImages[4458].alt = "Spotters Coyote Shiny Black with CR39 Emerald Polarised Lenses";
// Preloaded image. ID = 4459
productImages[4459] = new Image();
productImages[4459].src="/image/product/medium/coyote_bluemirr-1.jpg";
productImages[4459].alt = "Spotters Coyote Shiny Black with Glass Blue Mirror Polarised Lenses";
// Preloaded image. ID = 4460
productImages[4460] = new Image();
productImages[4460].src="/image/product/medium/coyote_plat-1.jpg";
productImages[4460].alt = "Spotters Coyote Shiny Black with Glass Platinum Mirror Polarised Lenses";
// Preloaded image. ID = 2503
productImages[2503] = new Image();
productImages[2503].src="/image/product/medium/coyote_blk_gold_mirr-1.jpg";
productImages[2503].alt = "Spotters Coyote Shiny Black with Gold Mirror Bronze Glass Polarised Lenses";
// Preloaded image. ID = 4461
productImages[4461] = new Image();
productImages[4461].src="/image/product/medium/coyote_black_pen-1.jpg";
productImages[4461].alt = "Spotters Coyote Shiny Black with Glass Polarised Penetrator Photochromic Lenses";
// Preloaded image. ID = 4463
productImages[4463] = new Image();
productImages[4463].src="/image/product/medium/coyote_whitegold-1.jpg";
productImages[4463].alt = "Spotters Coyote Brilliant White with Glass Gold Mirror Polarised Lenses";
// Preloaded image. ID = 4464
productImages[4464] = new Image();
productImages[4464].src="/image/product/medium/coyote_whiteblumir-1.jpg";
productImages[4464].alt = "Spotters Coyote Brilliant White with Glass Blue Mirror Polarised Lenses";
// Preloaded image. ID = 4465
productImages[4465] = new Image();
productImages[4465].src="/image/product/medium/coyote_white_gry-1.jpg";
productImages[4465].alt = "Spotters Coyote Brilliant White with Grey Polarised Lenses";
// Preloaded image. ID = 4466
productImages[4466] = new Image();
productImages[4466].src="/image/product/medium/coyote_white_copper-1.jpg";
productImages[4466].alt = "Spotters Coyote Brilliant White with Copper Polarised Lenses";
var productData = [];
var fromPrice = new Array();
var fromMemberPrice = new Array();
productData[5273] = [{16: 1679, 17: 1228}, {"price":289.50, "memberPrice":289.50, "exception":'FALSE', "isSpecial":'FALSE', "specialPrice":289.50, "stock":0, "imageId":4462} ];
fromPrice[5273] = 289.50;
fromMemberPrice[5273] = 289.50;
productData[5274] = [{16: 1679, 17: 1234}, {"price":199.50, "memberPrice":199.50, "exception":'FALSE', "isSpecial":'FALSE', "specialPrice":199.50, "stock":0, "imageId":4465} ];
fromPrice[5274] = 199.50;
fromMemberPrice[5274] = 199.50;
productData[5275] = [{16: 1679, 17: 1235}, {"price":199.50, "memberPrice":199.50, "exception":'FALSE', "isSpecial":'FALSE', "specialPrice":199.50, "stock":0, "imageId":4466} ];
fromPrice[5275] = 199.50;
fromMemberPrice[5275] = 199.50;
productData[5276] = [{16: 1679, 17: 2599}, {"price":289.50, "memberPrice":289.50, "exception":'TRUE', "isSpecial":'FALSE', "specialPrice":289.50, "stock":0, "imageId":0} ];
fromPrice[5276] = 289.50;
fromMemberPrice[5276] = 289.50;
productData[5277] = [{16: 1679, 17: 3054}, {"price":199.50, "memberPrice":199.50, "exception":'FALSE', "isSpecial":'FALSE', "specialPrice":199.50, "stock":0, "imageId":4462} ];
fromPrice[5277] = 199.50;
fromMemberPrice[5277] = 199.50;
productData[5278] = [{16: 1679, 17: 3055}, {"price":289.50, "memberPrice":289.50, "exception":'FALSE', "isSpecial":'FALSE', "specialPrice":289.50, "stock":0, "imageId":4465} ];
fromPrice[5278] = 289.50;
fromMemberPrice[5278] = 289.50;
productData[5279] = [{16: 1679, 17: 3056}, {"price":289.50, "memberPrice":289.50, "exception":'FALSE', "isSpecial":'FALSE', "specialPrice":289.50, "stock":0, "imageId":2504} ];
fromPrice[5279] = 289.50;
fromMemberPrice[5279] = 289.50;
productData[5280] = [{16: 1679, 17: 3057}, {"price":289.50, "memberPrice":289.50, "exception":'FALSE', "isSpecial":'FALSE', "specialPrice":289.50, "stock":0, "imageId":4464} ];
fromPrice[5280] = 289.50;
fromMemberPrice[5280] = 289.50;
productData[5281] = [{16: 1679, 17: 3058}, {"price":289.50, "memberPrice":289.50, "exception":'FALSE', "isSpecial":'FALSE', "specialPrice":289.50, "stock":0, "imageId":4463} ];
fromPrice[5281] = 289.50;
fromMemberPrice[5281] = 289.50;
productData[5282] = [{16: 1679, 17: 3060}, {"price":289.50, "memberPrice":289.50, "exception":'TRUE', "isSpecial":'FALSE', "specialPrice":289.50, "stock":0, "imageId":0} ];
fromPrice[5282] = 289.50;
fromMemberPrice[5282] = 289.50;
productData[5283] = [{16: 1679, 17: 3061}, {"price":199.50, "memberPrice":199.50, "exception":'TRUE', "isSpecial":'FALSE', "specialPrice":199.50, "stock":0, "imageId":0} ];
fromPrice[5283] = 199.50;
fromMemberPrice[5283] = 199.50;
productData[5284] = [{16: 3059, 17: 1228}, {"price":289.50, "memberPrice":289.50, "exception":'FALSE', "isSpecial":'FALSE', "specialPrice":289.50, "stock":0, "imageId":4455} ];
fromPrice[5284] = 289.50;
fromMemberPrice[5284] = 289.50;
productData[5285] = [{16: 3059, 17: 1234}, {"price":199.50, "memberPrice":199.50, "exception":'FALSE', "isSpecial":'FALSE', "specialPrice":199.50, "stock":0, "imageId":1187} ];
fromPrice[5285] = 199.50;
fromMemberPrice[5285] = 199.50;
productData[5286] = [{16: 3059, 17: 1235}, {"price":199.50, "memberPrice":199.50, "exception":'FALSE', "isSpecial":'FALSE', "specialPrice":199.50, "stock":0, "imageId":4457} ];
fromPrice[5286] = 199.50;
fromMemberPrice[5286] = 199.50;
productData[5287] = [{16: 3059, 17: 2599}, {"price":289.50, "memberPrice":289.50, "exception":'FALSE', "isSpecial":'FALSE', "specialPrice":289.50, "stock":0, "imageId":4456} ];
fromPrice[5287] = 289.50;
fromMemberPrice[5287] = 289.50;
productData[5288] = [{16: 3059, 17: 3054}, {"price":199.50, "memberPrice":199.50, "exception":'FALSE', "isSpecial":'FALSE', "specialPrice":199.50, "stock":0, "imageId":4455} ];
fromPrice[5288] = 199.50;
fromMemberPrice[5288] = 199.50;
productData[5289] = [{16: 3059, 17: 3055}, {"price":289.50, "memberPrice":289.50, "exception":'FALSE', "isSpecial":'FALSE', "specialPrice":289.50, "stock":0, "imageId":1187} ];
fromPrice[5289] = 289.50;
fromMemberPrice[5289] = 289.50;
productData[5290] = [{16: 3059, 17: 3056}, {"price":289.50, "memberPrice":289.50, "exception":'FALSE', "isSpecial":'FALSE', "specialPrice":289.50, "stock":0, "imageId":4461} ];
fromPrice[5290] = 289.50;
fromMemberPrice[5290] = 289.50;
productData[5291] = [{16: 3059, 17: 3057}, {"price":289.50, "memberPrice":289.50, "exception":'FALSE', "isSpecial":'FALSE', "specialPrice":289.50, "stock":0, "imageId":4459} ];
fromPrice[5291] = 289.50;
fromMemberPrice[5291] = 289.50;
productData[5292] = [{16: 3059, 17: 3058}, {"price":289.50, "memberPrice":289.50, "exception":'FALSE', "isSpecial":'FALSE', "specialPrice":289.50, "stock":0, "imageId":2503} ];
fromPrice[5292] = 289.50;
fromMemberPrice[5292] = 289.50;
productData[5293] = [{16: 3059, 17: 3060}, {"price":289.50, "memberPrice":289.50, "exception":'FALSE', "isSpecial":'FALSE', "specialPrice":289.50, "stock":0, "imageId":4460} ];
fromPrice[5293] = 289.50;
fromMemberPrice[5293] = 289.50;
productData[5294] = [{16: 3059, 17: 3061}, {"price":199.50, "memberPrice":199.50, "exception":'FALSE', "isSpecial":'FALSE', "specialPrice":199.50, "stock":0, "imageId":4458} ];
fromPrice[5294] = 199.50;
fromMemberPrice[5294] = 199.50;
var attribSets = [16, 17];
// Find the variant selected.
function findVariant()
{
found = false; // Found flag.
variantIndex = 0; // The index of the found variant element.
// This just scans for a match and if found it sets the flags and breaks.
// If one mismatch is detected it just breaks the loop.
for (variant in productData) // Loop through the variant array, called 'productData'.
{
for (set in attribSets) // Now loop through the sets.
{
// Get a refference to a attribute set select box.
attrib = document.getElementById("attributes"+attribSets[set]);
// Check to see if the value of that attribute select box is in the productData attribute array.
if (productData[variant][0][attribSets[set]]==attrib.value) { found = true; } else { found = false; break; }
}
if (found==true) { variantIndex = variant; break; }
}
if (variantIndex!=0)
{
var data = productData[variantIndex][1];
data["var_id"] = variantIndex;
return data;
}
else { return false; }
}
// This enables and disables the submit button.
function submitButtonEnable(enabled)
{
if (enabled==false) { document.getElementById("submitButton").disabled = true; }
else { document.getElementById("submitButton").disabled = false; }
}
function specialRowEnabled(enable) {
if (enable==false) {
document.getElementById("specialRow").style.display="none";
document.getElementById("memberPriceRow").style.display="block";
}
else {
document.getElementById("specialRow").style.display="block";
document.getElementById("memberPriceRow").style.display="none";
}
}
// Display stock indicator
function displayStock() {
// Don't show stock
return true;
// Get the selected variant.
variant = findVariant();
if (variant["stock"] < 0) {
stockString = "Made upon ordering";
}
else if (variant["stock"] ==0) {
stockString = "Out of stock";
}
else if (variant["stock"] > 0) {
stockString = "In stock & ready to ship";
}
document.getElementById("stock").innerHTML = stockString;
}
// This is the function that gets called when the user changes the selection.
function changeVariant() {
var member = false;
// Get the selected variant.
variant = findVariant();
// Not a variant, show a from price and disable add to cart
if(!variant) {
var toprice = getToPrice();
var fromprice = getFromPrice();
if(toprice == fromprice)
{
document.getElementById("price").innerHTML = "RRP from AUD$ " + fromprice;
}
else
{
document.getElementById("price").innerHTML = "RRP from AUD$ " + fromprice + " to AUD$ " + toprice;
}
if(member) {
document.getElementById("memberPrice").innerHTML = "";
}
submitButtonEnable(false);
specialRowEnabled(false);
}
// Check if it is an exception.
else if (variant["exception"]=="FALSE") { // See if it is on special.
if (variant["isSpecial"]=="TRUE")
{ // Display the special price with the old price with strike through font.
document.getElementById("price").innerHTML = "RRP: AUD$ " + variant["price"].toFixed(2) + "";
document.getElementById("specialPrice").innerHTML = variant["specialPrice"].toFixed(2) + getDiscountPercentage(variant["price"], variant["specialPrice"]);
specialRowEnabled(true);
} // Just show the normal price.
else
{
if(member) {
document.getElementById("price").innerHTML = "RRP: AUD$ " + variant["price"].toFixed(2) + "";
}
else {
document.getElementById("price").innerHTML = "RRP: AUD$ " + variant["price"].toFixed(2);
}
specialRowEnabled(false);
}
if(member) {
document.getElementById("memberPrice").innerHTML = "Member's Price: AUD$ " + variant["memberPrice"].toFixed(2) + getDiscountPercentage(variant["price"], variant["memberPrice"]);
}
// Stock
displayStock();
if (variant["imageId"]!=0)
{
// Swapping image was confusing the users
//swapImage(variant["imageId"]);
}
submitButtonEnable(true); // Enable the submit button.
}
else {
// Variant must be an exception so display some text and disable the submit button.
document.getElementById("price").innerHTML = "Not Available";
document.getElementById("memberPrice").innerHTML = "";
submitButtonEnable(false);
specialRowEnabled(false);
}
}
function swapImage(image) {
document.prodImageMain.src = productImages[image].src;
document.getElementById("prodImageMainAlt").innerHTML = productImages[image].alt;
}
/**
* Sort the prices for the product
* @return lowest price
*/
function getFromPrice() {
fromPrice.sort(function(a,b){return a - b});
return fromPrice[0].toFixed(2);
}
/**
* Sort the prices for the product
* @return highest price
*/
function getToPrice() {
fromPrice.sort(function(a,b){return b - a});
return fromPrice[0].toFixed(2);
}
/**
* Percentage off
* @param price Original product price
* @param specialPrice on special/sale price
* @return Str Text string displaying percentage if percentage is greater than 0%
*/
function getDiscountPercentage(price, specialPrice) {
var discount;
// Make sure there is a difference in price
if(price - specialPrice <= 0) {
return ' (No Discount)';
}
discount = ((price - specialPrice)/price)*100;
discount = Math.round(discount);
if(discount > 0) {
return ' (' + discount + '% off)'
}
return '';
}