/**
 *  mosaic.js:
 *
 */
//GLOBALS

MosaicManager = new Object();

var goSelectedItem = null;
var goSelectedItemInput = null;
var goSelectedItemTD = null;
var goSelectedSubItem = null;
var goSelectedSubItemTD = null;
var goSelectedSubItemInput = null;
var giNewItemId = -1;  //negative id's denote new items and subitems
var giNewSubItemId = -1;  //negative id's denote new items and subitems

////////////////////////////////////////////////////////////////////////////////////////
/**
	Build the subitem table from the RPC response
*/
/**
*/

function MosaicManager()
{
	this.obj = null;
    return this;
};


/**
*/
MosaicManager.Init = function( obj )
{
	this.obj = this;
	this.admin = obj.admin;
	//alert( "Mosaic Manager Initialized");
	this.cbMember = document.getElementById("MemberDropDown");
	this.cbMember.onchange = function(){ MosaicManager.OnChange(); };
	this.cbAlbum = document.getElementById("AlbumDropDown");
	this.cbAlbum.onchange = function(){ MosaicManager.OnChange(); };
	this.cbLocation = document.getElementById("LocationDropDown");
	this.cbLocation.onchange = function(){ MosaicManager.OnChange(); };
	this.cbPhotographer = document.getElementById("PhotographerDropDown");
	this.cbPhotographer.onchange = function(){ MosaicManager.OnChange(); };

	this.frmFilter = document.getElementById("PhotoFilter");

	//show everything now that we are done
	divMain = document.getElementById("MainDiv");
	divMain.style.display="block";
    return this;
};

// -----------------------------------------------------------------
MosaicManager.OnChange = function() {
	//submit the form
	this.frmFilter.submit();

};



/*
function AppendSubItem( oSubItemTable, oSubItem )
{

	if( goSelectedSubItem != null ) {
		//save any previously selected sub item
   		goSelectedSubItem.msTitle = goSelectedSubItemInput.value;
   		goSelectedSubItem = null;
	}

    //Create the input cell
	var tr = document.createElement("TR");
	oSubItemTable.tBodies[0].appendChild( tr );
	var td = document.createElement("TD");
	//td.innerText = aSubItem.msTitle;
	td.className=TD_EDIT_CLASSNAME;
	td.valign="top";

	//td.id=oSubItem.msId;
	var input = document.createElement("INPUT");
	input.type = "text";
	input.value = oSubItem.msTitle;

    if(core.isIE)
    {
        input.onmousedown = function(){MosaicManager.onSubItemClick();};
	    input.onchange = function(){MosaicManager.onSubItemChange();};
        input.onkeypress = function(){MosaicManager.onSubItemKeyPress();};
        input.onkeyup = function(){MosaicManager.onSubItemKeyUp();};
    }
    else
    {
        input.addEventListener("click", MosaicManager.onSubItemClick, false);
        input.addEventListener("change", MosaicManager.onSubItemChange, false);
        input.addEventListener("keypress", MosaicManager.onSubItemKeyPress, false);
        input.addEventListener("keyup", MosaicManager.onSubItemKeyUp, false);
    }

	input.className = INPUT_EDIT_CLASSNAME;
	input.id = oSubItem.miId;
    input.style.cursor = "hand";

	td.appendChild( input );
	tr.appendChild(td);

    //Create the checkbox cell
	td = document.createElement("TD");

    if( oSubItem.mbChecked )
    {
		td.innerHTML = "<img title='Uncheck Sub-item' src='scca/html/images/check.gif' width=" + ITEMIMG_HEIGHT + "/>";
        td.name = "checked";
	} else {
		td.innerHTML = "<img title='Check Sub-item' src='images/clearpixel.gif' width=" + ITEMIMG_HEIGHT + "/>";
        td.name = "";
	}

    if(core.isIE)
        td.onclick = function(){ onCheckClick();};
    else
        td.addEventListener("click", onCheckClick, false);

    td.className = TD_CHECK_CLASSNAME;
	tr.appendChild(td);

    //Create the visible cell
	td = document.createElement("TD");
    td.className=TD_SHOW_CLASSNAME;

	if( oSubItem.mbVisible == 1 ) { // visible?
   		td.name="visible";
		td.innerHTML = "<img title='Hide Sub-item' src='scca/html/images/eyeball.gif' width=" + ITEMIMG_HEIGHT + "/>";
	} else {
        td.name="";
		td.innerHTML = "<img title='Show Sub-item' src='images/clearpixel.gif' width=" + ITEMIMG_HEIGHT + "/>";
	}

    if(core.isIE)
        td.onclick = function(){ onVisibleClick();};
    else
        td.addEventListener("click", onVisibleClick, false);

	tr.appendChild(td);


}

// -----------------------------------------------------------------
MosaicManager.AddSubItem = function ()
{
	if( goSelectedItem == null ) {
     	alert(MSG_NO_ITEM_SELECTED);
     	return;
	}

	//LG - 20041217 	var id = (goSelectedItem.miId < 0)? -1: ((-10 * goSelectedItem.miId) + giNewSubItemId--);
	var id;
	if (goSelectedItem.miId < 0) {
     	id = ((100 * goSelectedItem.miId) + giNewSubItemId--);
	} else {
     	id = ((-100 * goSelectedItem.miId) + giNewSubItemId--);
	}

	var oNewSubItem = new MosaicItem( id  , "New Sub-Item", 1, goSelectedItem.miId );


	goSelectedItem.maSubItems[ goSelectedItem.maSubItems.length] = oNewSubItem;
	AppendSubItem( this.subItemTable, oNewSubItem );

    //Remove a spacer table row
    ClearMosaicTableRow(this.subItemSpacerTable, 0);


}


function FireMouseEvent(oElmt)
{
    if(oElmt)
    {
        if(core.isIE)
            oElmt.fireEvent("onmousedown");
        else
        {
            if (typeof oElmt.dispatchEvent != 'undefined')
            {
                if (typeof document.createEvent != 'undefined')
                {
                     var mouseEvent = document.createEvent('MouseEvents');
                     mouseEvent.initMouseEvent('click', true, true, window, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
                     oElmt.dispatchEvent(mouseEvent);
                }
            }
        }
    }
}
*/
