﻿// JavaScript File for all JS included in default.master page

// BEGIN Menu functions

var defaultMenuWidth="150px"; //set default menu width.

function MainMenuHide()
{
    if(dontHide!=1)
    {
        var element = document.getElementById("menuBody");
        if( element ) element.style.display = 'none';
      
        element = document.getElementById("menuLogo");
        if( element ) element.className = 'sidebarTitleBar sidebarTitleBarNoBorder';
        
        element = document.getElementById("pinBtn");
        if( element ) element.style.display = 'none';
    }
}
function MainMenuShow()
{
    if(dontHide!=1)
    {
        var element = document.getElementById("menuBody");
        if( element ) element.style.display = 'block';
        
        element = document.getElementById("menuLogo");
        if( element ) element.className = 'sidebarTitleBar sidebarTitleBarBorderExpanded';
        
        element = document.getElementById("pinBtn");
        if( element ) element.style.display = 'block';
    }
}
function showHideMenu(index)
{
   
    var element = document.getElementById("groupBody" + index);
    var elDiv = document.getElementById("groupOCBtn" + index);
    var elImg = document.getElementById("groupImg" + index);
    
    if( (element.style.display == 'none') )
    {
        element.style.display = 'block';     
        //alert( elImg );
        elImg.src = 'images/closeArrow.gif';
        document.getElementById("lheadgroupOC" + index).style.backgroundImage = 'url(images/lheadM.gif)'      
        document.getElementById("mheadgroupOC" + index).style.backgroundImage = 'url(images/mheadM.gif)'
        document.getElementById("mhead1groupOC" + index).style.backgroundImage = 'url(images/mheadM.gif)'
        document.getElementById("rheadgroupOC" + index).style.backgroundImage = 'url(images/rheadM.gif)'        
        
    }
    else{
        //alert( elImg );
        elImg.src = 'images/showArrow.gif';
        element.style.display = 'none'; 
        document.getElementById("lheadgroupOC" + index).style.backgroundImage = 'url(images/lheadColM.gif)'      
        document.getElementById("mheadgroupOC" + index).style.backgroundImage = 'url(images/mheadColM.gif)'
        document.getElementById("mhead1groupOC" + index).style.backgroundImage = 'url(images/mheadColM.gif)'
        document.getElementById("rheadgroupOC" + index).style.backgroundImage = 'url(images/rheadColM.gif)'        
    }
}
var dontHide = 0;

// FixMainMenu.js
function FixMainMenu()
{
    var btn = document.getElementById("killBtn");
    var element;
    if( dontHide == 0 )
    {
        MainMenuShow();
        dontHide = 1;
        if( btn ) btn.style.display = 'block';
        element = document.getElementById("pinBtn");
        if( element ) element.style.display = 'none';
    } else {
        dontHide = 0;
        MainMenuHide();
        if( btn ) btn.style.display = 'none';
    }
    
    var middleLeft = document.getElementById("middleLeft");
    if( middleLeft )
    {
        middleLeft.style.display = (middleLeft.style.display == 'block')?'none':'block';
    }
}

// HideMenuGroupBody.js
function HideMenuGroupBody(index)
{
    var element = document.getElementById("groupBody" + index);
    var elDiv = document.getElementById("groupOCBtn" + index);
    if( element )
    {
        if( (element.style.display == 'block') )
        {
            element.style.display = 'none';
            if( elDiv ) elDiv.className = 'groupOCBtn groupOCBtnExpanded';
        }
        else
        {
            element.style.display = 'block';
            if( elDiv ) elDiv.className = 'groupOCBtn groupOCBtnCollapsed';
        }
    }
}

// HideMiddleItemBody.js
function HideMiddleItemBody(index)
{
    var element = document.getElementById("middleItemBody" + index);
    var middleItemIcon = document.getElementById("middleItemIcon" + index);
    if( element )
    {
        if( (element.style.display == 'block') )
        {
            element.style.display = 'none';
            if( middleItemIcon ) middleItemIcon.className = 'middleItemIcon itemBtnClosed';
        }
        else
        {
            element.style.display = 'block';
            if( middleItemIcon ) middleItemIcon.className = 'middleItemIcon itemBtnOpen';
        }
    }
}
function ShowMiddleItemBody(index)
{
    var element = document.getElementById("middleItemBody" + index);
    var middleItemIcon = document.getElementById("middleItemIcon" + index);
    if( element )
    {
        element.style.display = 'block';
        if( middleItemIcon ) middleItemIcon.className = 'middleItemIcon itemBtnOpen';        
    }
}

////No need to edit beyond here
// dialog.js
var ie5=document.all && !window.opera;
var ns6=document.getElementById;

function iecompattest()
{
    return (document.compatMode && document.compatMode.indexOf("CSS")!=-1)? document.documentElement : document.body;
}

function showmenu(e, header, description, id, optWidth)
{
    //alert("showmenu");
    if (!document.all&&!document.getElementById)
        return;
    clearhidemenu();
    menuobj=ie5? document.all.popitmenu : document.getElementById("popitmenu");
    // set content
    var element = document.getElementById("detailsHeader");
    if(element) element.innerHTML = header;
    element = document.getElementById("detailsDescription");
    if(element) element.innerHTML = description;
    element = document.getElementById("detailsLink");
    if(element) element.href = "http://icollectmovieposters.com/start-movieposters/start-for-sale/itemdetail.aspx?id=" + id;

    menuobj.style.width=(typeof optWidth!="undefined")? optWidth : defaultMenuWidth;
    menuobj.contentwidth=menuobj.offsetWidth;
    menuobj.contentheight=menuobj.offsetHeight;
    eventX=ie5? event.clientX : e.clientX;
    eventY=ie5? event.clientY : e.clientY;
    //Find out how close the mouse is to the corner of the window
    var rightedge=ie5? iecompattest().clientWidth-eventX : window.innerWidth-eventX
    var bottomedge=ie5? iecompattest().clientHeight-eventY : window.innerHeight-eventY
    //if the horizontal distance isn't enough to accomodate the width of the context menu
    if (rightedge<menuobj.contentwidth)
        //move the horizontal position of the menu to the left by it's width
        menuobj.style.left=ie5? iecompattest().scrollLeft+eventX-menuobj.contentwidth+"px" : window.pageXOffset+eventX-menuobj.contentwidth+"px"
    else
        //position the horizontal position of the menu where the mouse was clicked
        menuobj.style.left=ie5? iecompattest().scrollLeft+eventX+"px" : window.pageXOffset+eventX+"px"
    //same concept with the vertical position
    if (bottomedge<menuobj.contentheight)
        menuobj.style.top=ie5? iecompattest().scrollTop+eventY-menuobj.contentheight+"px" : window.pageYOffset+eventY-menuobj.contentheight+"px"
    else
        menuobj.style.top=ie5? iecompattest().scrollTop+event.clientY+"px" : window.pageYOffset+eventY+"px"
    menuobj.style.visibility="visible";
    return false;
}

function contains_ns6(a, b) {
    //Determines if 1 element in contained in another- by Brainjar.com
    while (b.parentNode)
    {
        if ((b = b.parentNode) == a)
            return true;
    }
    return false;
}

function hidemenu()
{
    if (window.menuobj) menuobj.style.visibility="hidden";
}

function dynamichide(e)
{
    if (ie5&&!menuobj.contains(e.toElement))
        hidemenu();
    else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
        hidemenu();
}

function delayhidemenu()
{
    delayhide=setTimeout("hidemenu()",500);
}

function clearhidemenu()
{
    if (window.delayhide) clearTimeout(delayhide);
}

if (ie5||ns6) document.onclick=hidemenu;
// END menu functions

// BEGIN POPIN functions
/**
 * PopIn object
 */
var POPIN_HTML = '<table cellpadding="0" cellspacing="0" border="0"><tr valign="top"><td class="drop a"><div>&nbsp;</div></td><td><table cellpadding="0" cellspacing="0" width="100%" border="0"><tr><td class="drop b"><div>&nbsp;</div></td><td class="drop c"><div>&nbsp;</div></td><td class="drop d"><div>&nbsp;</div></td></tr></table></td><td class="drop e"><div>&nbsp;</div></td></tr><tr valign="top"><td height="100%"><table cellpadding="0" cellspacing="0" height="100%" border="0"><tr><td class="drop p"><div>&nbsp;</div></td></tr><tr><td class="drop o"><div>&nbsp;</div></td></tr><tr><td class="drop n"><div>&nbsp;</div></td></tr></table></td><td class="contentHolder"><table cellpadding="0" cellspacing="0" border="0"><thead><tr class="pheader"><td id="popinTitle" class="ptitle">Title</td><td class="pclose"><div onclick="popIn.hide()"></div></td></tr></thead><tbody><tr><td id="popinContent" class="pcontent"></td><td>&nbsp;</td></tr></tbody></table></td><td height="100%" width="32"><table cellpadding="0" cellspacing="0" height="100%" border="0"><tr><td class="drop f"><div>&nbsp;</div></td></tr><tr><td class="drop g"><div>&nbsp;</div></td></tr><tr><td class="drop h"><div>&nbsp;</div></td></tr></table></td></tr><tr valign="top"><td class="drop m"><div>&nbsp;</div></td><td><table cellpadding="0" cellspacing="0" width="100%" border="0"><tr><td class="drop l"><div>&nbsp;</div></td><td class="drop k"><div>&nbsp;</div></td><td class="drop j"><div>&nbsp;</div></td></tr></table></td><td class="drop i"><div>&nbsp;</div></td></tr></table>';
function PopIn() {
    this.id = 'popin';

    //create popin window here
    this.wndEl = document.getElementById(this.id);
    this.wndEl.innerHTML = POPIN_HTML;
    this.titleEl = document.getElementById("popinTitle");
    this.contentEl = document.createElement("div")
    document.getElementById("popinContent").appendChild(this.contentEl);

    this.show = function (x, y) {
        if( x == null ) x = 50;
        if( y == null ) y = 50;
        this.wndEl.style.left = "" + x + "px";
        this.wndEl.style.top = "" + y + "px";

        this.wndEl.style.display = "";
    };
    this.setTitle = function (title) {
        this.titleEl.innerHTML = title;
    };
    this.setContentHtml = function (content) {
        this.contentEl.innerHTML = content;
    };
    this.setContentEl = function (el) {
        this.contentEl.innerHTML = "";
        this.contentEl.appendChild(el);
    };
    this.hide = function () {
        this.contentEl.innerHTML = "";
        this.wndEl.style.display = "none";
    };
    this.isVisible = function(){
        return this.wndEl.style.display == "";
    }
    this.toString = function() {
        return "PopIn {id=" + this.id + ", displayStyle=" + this.wndEl.style.display + "}"
    };
}

/** Show/hide problem IE controls: SELECTS, IFRAMES and TEXTAREAS  */
function showHideBadControls(bShow) {
    var newstyle = bShow ? "visible" : "hidden";
    //all the SELECTS, IFRAMES and TEXTAREAS
    var list = document.getElementsByTagName("select");
    for (i = 0; i < list.length; i++) {
        list[i].style.visibility = newstyle;
    }
    list = appWindow.getElementsByTagName("textarea");
    for (i = 0; i < list.length; i++) {
        list[i].style.visibility = newstyle;
    }
    list = appWindow.getElementsByTagName("iframe");
    for (i = 0; i < list.length; i++) {
        list[i].style.visibility = newstyle;
    }
}


// Redirect
function Redirect(url, id)
{
	window.location.href=url + id;
}

// SetUpEventHandler
function SetupEventHandler()
{
    var NS = (navigator.appName.indexOf("Netscape")!=-1);
    var MS = (navigator.appName.indexOf("Microsoft")!=-1);
    var element = document.getElementById("sidebar");
    if(NS)
    {
        element.addEventListener('mouseover',MainMenuShow,false);
        element.addEventListener('mouseout',MainMenuHide,false);
    }
    if(MS)
    {
        element.attachEvent('onmouseenter', MainMenuShow);
        element.attachEvent('onmouseleave', MainMenuHide);
    }
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

