  var sidebarWidth = 300;

  var IE6 = false /*@cc_on || @_jscript_version < 5.7 @*/; 

  function showViewer() {
//	if (window.parent == window || window.parent.location.host != window.location.host) {
	  //alert("window name: " + window.name);
	if (window.name != "simulator") {
		// either top level or not in a frame in our own site
		
		// Weird timing bug on WebKit where the iframe's DOM is ready before the parent window's DOM
		if (window.name && window.name.contains("<!--framePath //<!--frame1-->-->")) {
			// Try again a bit later
			window.setTimeout(showViewer, 100);
			return;
		}

        var content = $("#viewer-content");
        var header = $("#viewer-header");
        var body = $("body");

        if (IE6) {
            // IE6 does not support "display: table-cell"
            $("#viewer-header li").each(function() { $(this).css("display", "inline") });
        }

        header.show();
	    $.each(["background-attachment", "background-color", "background-image", "background-position", "background-repeat"],
	        function(index, prop) { 
    	        var value = body.css(prop);
    	        if (value) content.css(prop, value);
    	    }
	    );
	    if (content.css("background-color") == "transparent") {
	    	content.css("background-color", "white");
	    }
        var top = header.height() - 3; // 3 pixel shadow

        if (url != "") {
            // Display the content in an iframe
            $("html, body").css({margin:"0", padding:"0", overflow:"hidden", "z-index": 0});
            content.after("<div id='viewer-iframecont'><iframe name='viewer' frameborder='0' style='width: 100%; height: 100%' src='" + url + "'/></div>");
            if (IE6) {
                window.setTimeout(function() { $("#viewer-iframecont").css("padding-top", top) }, 100);
            } else {
                $("#viewer-iframecont").css("top", top);
            }
            
            if (module == "wall") {
                if (!IE6) {
                    // Turn the content into a sidebar
                    content.wrap("<div id='viewer-sidebar'/>");
                    content = $("#viewer-sidebar");
                    content.css("top", top);
                    $("#viewer-iframecont").css("right", sidebarWidth);
                } else {
                	$("#viewer-iframecont").hide();
                }
            } else {
                content.remove();
                //content.hide();
            }
        } else {
        	content.addClass("viewer-content").css({"margin-top": top});
            $("body").addClass("viewer-margin");
        }
	}
	
	if (window.parent != window && window.name == "viewer") {
		// One of our pages displayed in an iframe (e.g. a wall shared on another wall)
		var content = $("#viewer-content");
		var body = $("body");
		viewer.copyBackground(body, content);
        $("body").addClass("viewer-margin");
        content.addClass("viewer-content");
		body.addClass("viewer-margin");
	}
  }
  
  $(document).ready(showViewer);

  var viewerCtrl = {

    toggleWall: function() {
        var iframe = $('#viewer-iframecont');
        if (IE6) {
            // Iframes in IE6 are severely broken. Don't do anything.
            /*
            var content = $('#viewer-content');
    	    if (content.css("display") == "none") {
                content.show();
        	    iframe.hide();
    	    } else {
        	    content.hide();
                iframe.show();
    	    }
    	    */
        } else {
            var content = $('#viewer-sidebar');
            if (content.css("display") == "none") {
                content.show();
                content.animate({right: 0}, 300);
                iframe.animate({right: sidebarWidth}, 300);
            } else {
                content.animate({right: -sidebarWidth}, 300, 'swing',
                      function() {content.hide()});
                iframe.animate({right: 0}, sidebarWidth);
            }
        }
    },
    
    showPopup: function() {
		var popup = $("#viewerpop");
		var body = $(document.body);
		popup.show();
		popup.css( {top: -popup.height(), left: (body.width() - popup.width())/2});
		popup.animate({top: 60}, 300);
	},
	
    hidePopup: function() {
		var popup = $("#viewerpop");
		popup.animate({top: -popup.height()}, 300);
	}
  }
  

