/**
 * JavaScript behaviors for content elements.
 *
 * @copyright  Copyright (c) 2005-2010 Found Line, Inc. (http://www.foundline.com/)
 * @version    $Id: content.js 1100 2010-02-04 20:50:55Z jason.pelletier $
 */

var emailText = "enter email address";

var youTubePlayer;
var youTubePlayerEventTracker;
var eventLabel;

function onYouTubePlayerReady(playerid) {
    youTubePlayer = $("#youtubeplayer")[0];
    youTubePlayer.addEventListener(
        "onStateChange",
        "onYouTubePlayerStateChange"
    );
    if (youTubePlayerEventTracker) {
        youTubePlayerEventTracker._trackEvent("player ready", eventLabel);
    }
}

function onYouTubePlayerStateChange(newState) {
    if (youTubePlayerEventTracker) {
        switch (newState) {
            case -1:
                youTubePlayerEventTracker._trackEvent("unstarted", eventLabel); 
                break;
            case 0:
                youTubePlayerEventTracker._trackEvent(
                    "ended",
                    eventLabel,
                    parseInt(youTubePlayer.getCurrentTime())
                );
                break;
            case 1:
                youTubePlayerEventTracker._trackEvent("playing", eventLabel); 
                break;
            case 2:
                youTubePlayerEventTracker._trackEvent("paused", eventLabel); 
                break;
            case 3:
                youTubePlayerEventTracker._trackEvent("buffering", eventLabel); 
                break;
            case 5:
                youTubePlayerEventTracker._trackEvent("video cued", eventLabel); 
                break;
        }
    }
}

function onPlayerError(errorCode) {
    if (youTubePlayerEventTracker) {
        alert('error: ' + errorCode + ' ' + eventLabel);
        youTubePlayerEventTracker._trackEvent("error: " + errorCode, eventLabel);
    }
} 

$("document").ready(function() {

    if (undefined !== window.pageTracker) {
        youTubePlayerEventTracker = pageTracker._createEventTracker("YouTube Video Player");
    }

	$("ul.sitemap > li:eq(3),ul.sitemap > li:eq(6),ul.sitemap > li:eq(9)").css("clear","both");

    if($("input.email-address").length > 0 && $("input.email-address").val().length == 0) {
        $("input.email-address").val(emailText);
    }
    
    $("input.email-address").focus(function() {
        if($("input.email-address").val() == emailText) {
            $("input.email-address").val("");
        }        
    }).blur(function() {
        if($("input.email-address").val().length == 0) {
            $("input.email-address").val(emailText);
        }    
    });

    $(".video").each(function(i) {
        eventLabel = $(this).find("h4").text();
        var quicktimeVideoUrl = $(this).find("a[rel=quicktime]").attr("href");
        var quicktimeVideoThumbUrl = $(this).find("a[rel=quicktime] img").attr("src");
        var youtubeVideoUrl = $(this).find("a[rel=youtube]").attr("href");
        var youtubeVideoThumbUrl = $(this).find("a[rel=youtube] img").attr("src");
        $(this).empty();
        var playerTargetElement = $(this).append('<span></span>')[0];
        PokkariPlayerOptions.useShowPlayer = true;
        PokkariPlayerOptions.useDocumentWrite = false;
        PokkariPlayerOptions.maxWidth = 560;
        PokkariPlayerOptions.maxHeight = 315;
        PokkariPlayerOptions.forceAspectWidth = true;
        var mimeType;
        var flashPlayerVersion = deconcept.SWFObjectUtil.getPlayerVersion();
        if (flashPlayerVersion.major > 0) {
            var so = new SWFObject(
                    youtubeVideoUrl,
                "youtubeplayer",
                "560",
                "340",
                "1"
            );
            so.addParam("allowScriptAccess", "always");
            so.addParam("id", "youtubeplayer");
            so.addParam("wmode", "transparent");
            so.write(playerTargetElement);
        } else {
            PokkariPlayerOptions.showPlayerOptions = {
                thumb: quicktimeVideoThumbUrl,
                allowm4v: true,
                smallPlayerMode: true
            };
            mimeType = 'video/mp4';
            var player = PokkariPlayer.GetInstanceByMimeType(mimeType);
            if (player instanceof PokkariQuicktimePlayer) {
                // Quicktime player will hold up the whole document if a video not marked for streaming is loaded.
                player.setPrimaryMediaUrl(quicktimeVideoUrl);
                player.setThumbnail(quicktimeVideoThumbUrl);
                player.setAutoPlay(false);
            }
            player.setPlayerTarget(playerTargetElement);
            // By setting the size ridiculously large, we'll trick PokkariPlayer in resizing with aspect.
            player.setWidth(480000);
            player.setHeight(270000);
            player.render();
        }
    });
    
    $("select#delivery_method option[value='']").hide();
    
    $("select#country").change(function() {
        var country = "";
        var delivery_method = "";
        country = $(this).children("option:selected").val();
        if (country == 'US') {
            $("select#delivery_method optgroup#domestic").removeAttr("disabled");
            $("select#delivery_method optgroup#international").attr("disabled","disabled");
            $("select#delivery_method optgroup#international option").removeAttr("selected");
        } else if (country != 'US') {
            $("select#delivery_method optgroup#international").removeAttr("disabled");
            $("select#delivery_method optgroup#domestic").attr("disabled","disabled");
            $("select#delivery_method optgroup#domestic option").removeAttr("selected");
        }
        if (country == 'US' || country == 'CA') {
            $("input#region").addClass("state-province");
            $("input#region").prev("label[for=region]").addClass("required");
        } else {
            $("input#region").removeClass("state-province");
            $("input#region").prev("label[for=region]").removeClass("required");
        }
        delivery_method = $("select#delivery_method optgroup option:selected").val();
        if (country == 'US' && !delivery_method) {
            $("select#delivery_method option[value='U11']").attr("selected","selected");
        } else if (country != 'US' && !delivery_method) {
            $("select#delivery_method option[value='U49']").attr("selected","selected");
        }
    }).trigger('change');
    
    $("a#shipping-to-billing-copy").click(function () {
        $("ul#shipping-address-form li.fieldset.shipping-address-to-billing-address-copy :input").each(function() {
            var name = $(this).attr("name");
            name = name.replace("shipping_address", "billing_address");
            var value = $(this).val();
             $("dl#address-form li.fieldset :input#" + name).val(value);
        });
        return false;
    });
    
});
