﻿/// <reference path="jquery-1.3.2-vsdoc2.js" />
/// <reference path="jquery-ui-1.7.2.custom.js" />

var transitionTime = 250;
var currentSource;

//for preloading
var uiImages = ['/windowsmobile/components/devices65/65HomepageJQSlider/images/buttonleft.png',
                '/windowsmobile/components/devices65/65HomepageJQSlider/images/buttonleftover.png',
                '/windowsmobile/components/devices65/65HomepageJQSlider/images/buttonright.png',
                '/windowsmobile/components/devices65/65HomepageJQSlider/images/buttonrightover.png',
                '/windowsmobile/components/devices65/65HomepageJQSlider/images/graydot.png',
                '/windowsmobile/components/devices65/65HomepageJQSlider/images/bluedot.png',
                '/windowsmobile/components/devices65/65HomepageJQSlider/images/loading.gif',
                '/windowsmobile/components/devices65/65HomepageJQSlider/images/buynowbg.png',
                '/windowsmobile/components/devices65/65HomepageJQSlider/images/buynowleft.png',
                '/windowsmobile/components/devices65/65HomepageJQSlider/images/buynowright.png'];

var dots = [];

$(document).ready(function() {
    for (i = 0; i < uiImages.length; i++) {
        var image = new Image();
        $(image).attr('src', uiImages[i]);
    }

    for (i = 0; i < imageSources.length; i++) {
        //try to preload images.
        var image = new Image();
        $(image).attr('src', imageSources[i]);
        if ($.browser.msie && $.browser.version < 7) {
            var imageSmall = new Image();
            $(imageSmall).attr('src', imageSources[i].replace('scale=34', 'scale=22'));
        }

        //add dots to the bottom
        var dot = new Image();
//        if ($.browser.msie && $.browser.version < 7) {
//            $(dot).css({ width: '8px', height: '8px' });
//            $(dot).css({ filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,src=\'/windowsmobile/components/devices65/65HomepageJQSlider/images/graydot.png\', sizingMethod=\'image\')' });
//            dot.src = '/windowsmobile/components/devices65/65HomepageJQSlider/images/pixel.gif';
//        } 
//        else {
            dot.src = '/windowsmobile/components/devices65/65HomepageJQSlider/images/graydot.png';
//        }
        $('#btnrighthref').before(dot);
        dots.push(dot);
        $(dot).addClass('dot');

        //fix for < ie7 (ie6) png's
//        if ($.browser.msie && $.browser.version < 7) {
//            //fix windows mobile 6.5 logo
//            var img = $('#phoneinfo' + i).find('.windowsmobile')[0];
//            if (img != null)
//                fixPngJQuery($(img));
//        }
    }

    //fix other png images for ie6
    if ($.browser.msie && $.browser.version < 7) {
        $('#btnleft').css({ width: '49px', height: '27px' });
        $('#btnright').css({ width: '49px', height: '27px' });
//        fixPngJQuery($('#btnleft'))
//        fixPngJQuery($('#btnright'));

    }

    currentSource = 0;
    updateSources();
    $('#phoneinfo' + currentSource).css('display', '');

    $(".buynowbtn").click(function() {
        $('.buynowtext', this).css('display', 'none');
        $('.buynowfromtext', this).css('display', 'block');
        if ($.browser.msie) // && $.browser.version < 7
            $('.buynowlinks', $(this).parent()).css({ visibility: 'visible', left: ('-' + ($('.buynowbtn', $(this).parent()).width() + 6) + 'px') });
        $('.buynowlinks', $(this).parent()).slideDown("fast");
    });

//    $(".buynowdiv").hover(function() {
//    }, function() {
//        //reset the buynow buttons and links
//        $($('.buynowlinks', $(this).parent())[0]).slideUp("fast"); //links
//        $('.buynowfromtext', $(this).parent()).css('display', 'none');
//        $('.buynowtext', $(this).parent()).css('display', '');
//    });
});

function clickLeft() {
//    if ($.browser.msie && $.browser.version < 7)
//        $(dots[currentSource]).css({ filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,src=\'/windowsmobile/components/devices65/65HomepageJQSlider/images/graydot.png\', sizingMethod=\'image\')' });
//    else
        $(dots[currentSource]).attr('src', '/windowsmobile/components/devices65/65HomepageJQSlider/images/graydot.png'); //change to gray dot

    $('#phoneinfo' + currentSource).css('display', 'none');
    if (currentSource == 0) {
        currentSource = imageSources.length - 1;
    } else {
        currentSource--;
    }
    $('#phoneinfo' + currentSource).css('display', '');

    updateSources();

    $('#phonecenter').stop(); //stop the animation if running
    $('#phonecenter').height('100px'); //set height back to 100px
    $('#phonecenter').animate({ height: '150px' }, transitionTime * .5); //start grow animation
}

function clickRight() {
//    if ($.browser.msie && $.browser.version < 7)
//        $(dots[currentSource]).css({ filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,src=\'/windowsmobile/components/devices65/65HomepageJQSlider/images/graydot.png\', sizingMethod=\'image\')' });
//    else
        $(dots[currentSource]).attr('src', '/windowsmobile/components/devices65/65HomepageJQSlider/images/graydot.png'); //change to gray dot

    $('#phoneinfo' + currentSource).css('display', 'none');
    if (currentSource >= imageSources.length - 1) {
        currentSource = 0;

    } else {
        currentSource++;
    }
    $('#phoneinfo' + currentSource).css('display', '');

    updateSources();

    $('#phonecenter').stop(); //stop the animation if running
    $('#phonecenter').height('100px'); //set height back to 100px
    $('#phonecenter').animate({ height: '150px' }, transitionTime * .5); //start grow animation
}

function updateSources() {

    //so it seems like a forever loop.
    //if phone is 0, left phone is highest phone in array
    //if phone is highest phone in array, right phone is first.
    //using a switch in case we have to have more than 1 phone on each side of centered phone

    var leftIndex = 0;
    var rightIndex = 0;
    switch (currentSource) {
        case 0:
            leftIndex = imageSources.length - 1;
            rightIndex = currentSource + 1;
            break;
        case imageSources.length - 1:
            leftIndex = currentSource - 1;
            rightIndex = 0;
            break;
        default:
            leftIndex = currentSource - 1;
            rightIndex = currentSource + 1;
            break;
    }

    //set left img
    if ($.browser.msie && $.browser.version < 7) {
        $('#phoneleft').attr('src', '/windowsmobile/components/devices65/65HomepageJQSlider/images/pixel.gif');
         $('#phoneleft').css({ filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,src=\'' + imageSources[leftIndex].replace('scale=34', 'scale=22') + '\', sizingMethod=\'image\')' });
    }
    else
        $('#phoneleft').attr('src', imageSources[leftIndex]);
    //set left alt tag
    $('#phoneleft').attr('alt', $($('#phoneinfo' + leftIndex).find('a')[0]).text());
    //set right img
    if ($.browser.msie && $.browser.version < 7) {
        $('#phoneright').attr('src', '/windowsmobile/components/devices65/65HomepageJQSlider/images/pixel.gif');
        $('#phoneright').css({ filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,src=\'' + imageSources[rightIndex].replace('scale=34', 'scale=22') + '\', sizingMethod=\'image\')' });
    }
    else
        $('#phoneright').attr('src', imageSources[rightIndex]);
    //set right alt tag
    $('#phoneright').attr('alt', $($('#phoneinfo' + rightIndex).find('a')[0]).text());

    //set center img
    if ($.browser.msie && $.browser.version < 7) {
        $('#phonecenter').attr('src', '/windowsmobile/components/devices65/65HomepageJQSlider/images/pixel.gif');
        $('#phonecenter').css({ filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,src=\'' + imageSources[currentSource] + '\', sizingMethod=\'image\')' });
    } 
    else
        $('#phonecenter').attr('src', imageSources[currentSource]);
    
    //set center alt tag    
    $('#phonecenter').attr('alt', $($('#phoneinfo' + currentSource).find('a')[0]).text());

    //make blue dot
//    if ($.browser.msie && $.browser.version < 7) {
//        $(dots[currentSource]).attr('src', '/windowsmobile/components/devices65/65HomepageJQSlider/images/pixel.gif');
//        $(dots[currentSource]).css({ filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,src=\'/windowsmobile/components/devices65/65HomepageJQSlider/images/bluedot.png\', sizingMethod=\'image\')' });
//    }
//    else
        $(dots[currentSource]).attr('src', '/windowsmobile/components/devices65/65HomepageJQSlider/images/bluedot.png');
}

function btnover(btn) {
    switch (btn) {
        case 'right':
            if ($.browser.msie && $.browser.version < 7)
                $('#btnright').css({ filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,src=\'/windowsmobile/components/devices65/65HomepageJQSlider/images/buttonrightover.png\', sizingMethod=\'image\')' });
            else
                document.getElementById('btnright').src = '/windowsmobile/components/devices65/65HomepageJQSlider/images/buttonrightover.png';
            break;
        case 'left':
            if ($.browser.msie && $.browser.version < 7)
                $('#btnleft').css({ filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,src=\'/windowsmobile/components/devices65/65HomepageJQSlider/images/buttonleftover.png\', sizingMethod=\'image\')' });
            else
                document.getElementById('btnleft').src = '/windowsmobile/components/devices65/65HomepageJQSlider/images/buttonleftover.png';
            break;
    }
}

function btnout(btn) {
    switch (btn) {
        case 'right':
            if ($.browser.msie && $.browser.version < 7)
                $('#btnright').css({ filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,src=\'/windowsmobile/components/devices65/65HomepageJQSlider/images/buttonright.png\', sizingMethod=\'image\')' });
            else
                document.getElementById('btnright').src = '/windowsmobile/components/devices65/65HomepageJQSlider/images/buttonright.png';
            break;
        case 'left':
            if ($.browser.msie && $.browser.version < 7)
                $('#btnleft').css({ filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,src=\'/windowsmobile/components/devices65/65HomepageJQSlider/images/buttonleft.png\', sizingMethod=\'image\')' });
            else
                document.getElementById('btnleft').src = '/windowsmobile/components/devices65/65HomepageJQSlider/images/buttonleft.png';
            break;
    }
}

function NavigateToDetail() {
    //get the url and device name
    var anchor = $($('#phoneinfo' + currentSource).find('a')[0]);
    var url = anchor.attr('href');
    var deviceName = anchor.text();
    //log the webtrends event
    LogDetailPageClick(deviceName);
    //navigate to the link
    document.location.href = url;
}

//webtrends calls
function LogPartnerClick(partner, device) {
    if (typeof (dcsMultiTrack) == 'function') {
        dcsMultiTrack('DCS.dcsuri', '/windowsmobile/en-us/phoneslider/buy/' + escape(device), 'WT.ti', escape(device) + ' - Buy Now', 'DCSext.wtNavigation', 'PhoneSlider', 'DCSext.wm_partner', escape(partner), 'DCSext.wm_device', escape(device), 'DCSext.wm_partner_click', '0', 'WT.dl', '1');
        ClearBuyNowParams();
    }
}
function LogDetailPageClick(device) {
    LogAtlas('http://view.atdmt.com/jaction/mrtwxp_FY10WindowsPhoneQ2IniPrddetailsclk1dayL_1');
    if (typeof (dcsMultiTrack) == 'function') {
        dcsMultiTrack('DCS.dcsuri', '/windowsmobile/en-us/phoneslider/device/' + escape(device), 'WT.ti', escape(device), 'DCSext.wtNavigation', 'PhoneSlider', 'WT.dl', '1');
    }
}
function LogViewAllPhonesClick() {
    LogAtlas('http://view.atdmt.com/jaction/mrtwxp_FY10WindowsPhoneQ2IniPrdbrowseBuy651day_1');
    if (typeof (dcsMultiTrack) == 'function') {
        dcsMultiTrack('DCS.dcsuri', '/windowsmobile/en-us/phoneslider/device/view_all', 'WT.ti', 'View All Phones', 'DCSext.wtNavigation', 'PhoneSlider', 'WT.dl', '1');
    }
}
function ClearBuyNowParams() {
    if (DCSext != null) {
        if (DCSext['wm_partner'] != null)
            DCSext['wm_partner'] = null;
        if (DCSext['wm_partner_click'] != null)
            DCSext['wm_partner_click'] = null;
        if (DCSext['wm_device'] != null)
            DCSext['wm_device'] = null;
    }
}
function fixPngJQuery(img) {
    var src = img.attr('src');
    img.css({ filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true,src=\'' + src + '\', sizingMethod=\'image\')' });
    img.attr('src', '/windowsmobile/components/devices65/65HomepageJQSlider/images/pixel.gif');
}
function LogAtlas(uri) {
    //atlas(uri);
    var timestamp = new Date();
    var qs = "?qstr=random=" + Math.ceil(Math.random() * 99999999) + timestamp.getUTCFullYear() + timestamp.getUTCMonth() + timestamp.getUTCDate() + timestamp.getUTCHours() + timestamp.getUTCMinutes() + timestamp.getUTCSeconds() + timestamp.getUTCMilliseconds();
    var uriPlus = uri + qs;
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = uriPlus;
    if (document.getElementsByTagName('head') != null)
        document.getElementsByTagName('head')[0].appendChild(script);
}