﻿var curDate = new Date();
var curFullDate = curDate.getFullYear() + addZero(curDate.getMonth() + 1) + addZero(curDate.getDate());

var buttonNumber = 1;
var buttonUpdate;

var counter = 0;
var offset = 0;

var timerValue = 7500;
var interval;
var slideWidth = 0;

var $entryContainer = new Array();
var controlIntervalDown;

//load xml files
function quotes() { $.ajax({ type: "GET", url: "flash/testimonialQuotes.xml", dataType: "xml", success: parseTestimonialXml }); };
function entries() { $.ajax({ type: "GET", url: "flash/deal.xml", dataType: "xml", success: parseEntryXml }); };

//add leading zero dates
function addZero(num) {
    if (String(num).length < 2) {
        num = String("0" + num);
    } else {
        num = String(num);
    }
    return num;
}

function slideSwitch() {
    counter++;
    $("#slideHolder").stop();
    if (counter > $("#slideHolder div").length - 1) {
        counter = 0;
    } else if (counter < 0) {
        counter = $("#slideHolder div").length - 1;
    } else {

    }

    offset = counter * -373;
    $("#slideHolder").animate({ "left": offset }, 500);
    buttonUpdate = counter + 1;
    updateButton(buttonUpdate);
}

function updateButton(currentSlide) {
    $(".button").css({ "background-color": "#006bb7", "cursor": "pointer" });
    $(".button:nth-child(" + currentSlide + ")").css({ "background-color": "#ee4a43", "cursor": "default" });
}

function parseEntryXml(xml) {
    $(xml).find("entry").each(function () {
        var $imageContainer = new Array();
        var $startDate = $(this).find("starting").attr("year") + addZero($(this).find("starting").attr("month")) + addZero($(this).find("starting").attr("day"));
        var $endDate = $(this).find("ending").attr("year") + addZero($(this).find("ending").attr("month")) + addZero($(this).find("ending").attr("day"));

        $imageContainer.push($(this).find("timerValue").attr("timer"));
        $imageContainer.push($(this).find("asset").attr("src"));
        $imageContainer.push($(this).find("coupLink").attr("link"));
        $imageContainer.push($(this).find("coupLink").attr("target"));
        $imageContainer.push($(this).find("coupLink").attr("googleLink"));
        $imageContainer.push($startDate);
        $imageContainer.push($endDate);

        $entryContainer.push($imageContainer);
        slideWidth = slideWidth + 373;
    });

    buildImages();
}

function buildImages() {
    for (var i = 0; i < $entryContainer.length; i++) {
        var imgSrc = $entryContainer[i][1];
        var fullStartDate = $entryContainer[i][5];
        var googleLink = $entryContainer[i][4];
        var fullEndDate = $entryContainer[i][6];
        var imgLink = $entryContainer[i][2];
        var imgTarget = $entryContainer[i][3];
        var $buttons = new Array();

        if (fullStartDate <= curFullDate && fullEndDate >= curFullDate) {
            var imageObj = "<div><a href='" + imgLink + "' target='" + imgTarget + "'><img src='" + imgSrc + "' \/></a></div>";
            $(imageObj).appendTo("#slideHolder");
            var button = "<a class='button' id='button" + buttonNumber + "'>" + buttonNumber + "</a>";
            $(button).appendTo("#buttonContainer");
            buttonNumber++;
        }
    }

    updateButton(1);
    var slideWidth = $entryContainer.length * 373 + "px";
    $("#slideHolder").css({ "width": slideWidth });
    clearInterval(interval);
    interval = setInterval("slideSwitch()", timerValue);

    $(".button").bind({
        click: function () {
            var buttonClicked = $(this).index();
            counter = buttonClicked - 1;
            offset = buttonClicked * -373;
            updateButton(buttonClicked + 1);
            slideSwitch();
        },
        mouseover: function () {
        },
        mouseout: function () {
        }
    });

    $("#offerContainer").bind({
        mouseover: function () {
            clearInterval(interval);
            clearInterval(controlIntervalDown);
        },
        mouseout: function () {
            clearInterval(interval);
            interval = setInterval("slideSwitch()", timerValue);
            clearInterval(controlIntervalDown);
        }
    });

    $("#rightArrow").bind({
        click: function () {
            slideSwitch();
        },
        mouseover: function () {
        },
        mouseout: function () {
        }
    });

    $("#leftArrow").bind({
        click: function () {
            counter = counter - 2;
            slideSwitch();
        },
        mouseover: function () {
        },
        mouseout: function () {
        }

    });

}

//testimonial quotes home page
function parseTestimonialXml(xml) {
    var count = 0;
    var quotes = new Array();
    var quotee = new Array();
    var numRand;

    $(xml).find("testimonial").each(function () {
        quotes.push($(this).find("quote").text());
        quotee.push($(this).find("quotee").text());
        count++;
    });

    numRand = Math.floor(Math.random() * count);

    $("#quote").append(quotes[numRand]);
    $("#quotee").append(quotee[numRand]);
};

//add google event tracking
function panelClicked(val) {
    _gaq.push(['_trackEvent', 'flashPlayer', 'link', val]);
};

$(document).ready(function () {
    (function () {
        // remove layerX and layerY
        var all = $.event.props, len = all.length, res = [];
        while (len--) {
            var el = all[len];
            if (el != 'layerX' && el != 'layerY') res.push(el);
        }
        $.event.props = res;
    } ());
    entries();
    quotes();
});
