var win;
var buttonClicked = false;
var continueButtons = new Array();

function redirectSubmit(form, newLocation)
{
	form.action = newLocation;
	form.submit();
	
	if (event)
		event.returnValue = false;
	
	return false;
}

function clearField(field)
{
	if (field)
	{
		field.value = "";
	}
}

function closeProgress()
{
	if ( win )
		win.close();
}

function setDefaultAction(from, to)
{
	getElement(from).name = to;
}

function fieldChanged( name )
{
	currentelement = getElement( name );
	copyelement = getElement( name+'_copy' );	
	if ( copyelement == null )
	{
		copyelement = document.createElement('input');
		copyelement.type = "hidden";
		copyelement.id = name+"_copy";
		copyelement.name = name+"_copy";
		document.albumselectform.appendChild(copyelement);
	}		

	copyelement.value = currentelement.value;
}

function performAction( form, action )
{
	actionelement = document.createElement('input');
	actionelement.type = "hidden";
	actionelement.id = "action";
	actionelement.name = "action";
	actionelement.value = action;
	form.appendChild(actionelement);
	form.submit();
}

function performActionWithConfirm(form, action, question)
{
	if (confirm(question))
		performAction(form,action);
}

function updateFormAndPerformActionWithConfirm(form, action, question, formelement, value)
{
	if (confirm(question))
	{
		formelement.value = value;
		performAction(form, action);
	}
}

function albumSelect( album )
{
	form = document.albumselectform;
	form.albumId.value = album;	
	form.submit();
	return false;
}

function OpenURLAndSubmit( url )
{
	win = window.open( url, "Upload", "width=250,height=150,location=no,status=no,menubar=no,toolbar=no,scrollbars=no" );
}

function selectall(form)
{	
    var len = form.length;
    for( var i=0; i<len; i++ ) {
        if ( form.elements[i].type == 'checkbox' && form.elements[i].id == 'selectable')
        {
            form.elements[i].checked = true;
        }
    }
    
    boxChanged(form);    
    return false;  
}

function deselectall(form)
{
    var len = form.length;
    for( var i=0; i<len; i++ ) {
        if ( form.elements[i].type == 'checkbox' && form.elements[i].id == 'selectable')
        {
            form.elements[i].checked = false;
        }
    }
    
    boxChanged(form);
    return false;
}

function printSelectall(form,product)
{	
    var len = form.length;
    for( var i=0; i<len; i++ ) {
        if ( form.elements[i].type == 'checkbox' && form.elements[i].id == product)
        {
            form.elements[i].checked = true;
        }
    }
    
    printBoxChanged(form);   
    return false;  
}
function printDeselectall(form)
{
    var len = form.length;
    for( var i=0; i<len; i++ ) {
        if ( form.elements[i].type == 'checkbox')
        {
            form.elements[i].checked = false;
        }
    }
    
    printBoxChanged(form);
    return false;
}
function selectalllabel(label, me)
{	
	var len = document.albumform.length;
    for( var i=0; i<len; i++ ) {
        if ( document.albumform.elements[i].name == 'assetProductId'+label )
        {
            document.albumform.elements[i].checked = true;
        }
    }
    me.value = -1;
    return false; 
}

function getElement( element )
{
	if ( document.getElementById )
	{
		return document.getElementById( element );
	}
	else
	{
		return eval( "document.all."+element );
	}
}

function deselectalllabel(label, me)
{
    var len = document.albumform.length;
    for( var i=0; i<len; i++ ) {
        if ( document.albumform.elements[i].name == 'assetProductId'+label )
        {
            document.albumform.elements[i].checked = false;
        }
    }
	me.value = -1
    return false;
}

function formatSize(size)
{
	if (size > 1048576)
	{
		return (size/1048675).toFixed(2)+"Mb";
	}
	
	if (size > 1024)
	{
		return (size/1024).toFixed(2)+"Kb";
	}
	
	return size+"bytes";
}

function addContinueButton(enabled_image, disabled_image, script, enabled, alt)
{
    name = "continue"+continueButtons.length;
    button = new ImageButton(name, enabled_image, disabled_image, script, alt);
	continueButtons[continueButtons.length] = button;
	
	document.write( button.draw() );
	if (enabled)
		button.enable();
	else
		button.disable();
}

function disableContinueButtons()
{
    for ( var i=0; i<continueButtons.length; i++ )
    {
    	continueButtons[i].disable();
	}
}

function enableContinueButtons()
{
    for ( var i=0; i<continueButtons.length; i++ )
    {
    	continueButtons[i].enable();
	}
}

function optionSelected()
{
	enableContinueButtons();
}

function boxChanged(form)
{
	showbutton = false;
    var len = form.length;
    for( var i=0; i<len; i++ )
    {
        if (form.elements[i].type == 'checkbox' && form.elements[i].id == 'selectable' && form.elements[i].checked == true)
        {
        	showbutton = true;
        }
    }

	if (showbutton == true)
		enableContinueButtons();
	else
		disableContinueButtons();
	    
    return false;	
}

function printBoxChanged(form)
{
	showbutton = false;
    var len = form.length;
    for( var i=0; i<len; i++ )
    {
        if (form.elements[i].type == 'checkbox' && form.elements[i].checked == true)
        {
        	showbutton = true;
        }
    }

	if (showbutton == true)
		enableContinueButtons();
	else
		disableContinueButtons();
	    
    return false;	
}

//====================================================================
// Image Button
//====================================================================
	function ImageButton( id, enabled_image, disabled_image, script, alt )
	{
		this.enabled_image = enabled_image;
		this.script = script;
		this.disabled_image = disabled_image;
		this.enabled = false;
		this.draw = draw;
		this.disable = disable;
		this.hide = hide;
		this.show = show;
		this.enable = enable;
		this.id = id;
		this.getImage = getImage;
		this.redraw = redraw;
		this.hidden = false;
		this.alt = alt;
		return this;
		
		function draw()
		{
			return '<ilayer id="'+id+'-dynamic1">'+
					 '<layer id="'+id+'-dynamic2">'+
					 '<div id="'+id+'-dynamic3"></div>'+
					 '</layer>'+
					 '</ilayer>';			
		}
		
		function getImage()
		{				
			if ( this.enabled == false )
			{
				return '<img src="'+this.disabled_image+'"/>';
			}
			else
			{
				return '<a id='+id+' href="'+this.script+'"><img style="cursor: hand;" src="'+this.enabled_image+'" alt="'+this.alt+'"/></a>';
			}
		}
		
		function redraw()
		{
			this.test = getElement( this.id+'-dynamic3' );
			if ( this.hidden )
				this.test.innerHTML = "";
			else
				this.test.innerHTML = this.getImage();
		}
		
		function hide()
		{
			this.hidden = true;
			this.redraw();
		}
		
		function show()
		{
			this.hidden = false;
			this.redraw();		
		}
		
		function disable()
		{
			this.hidden = false;
			this.enabled = false;
			this.redraw();
		}
		
		function enable()
		{
			this.hidden = false;
			this.enabled = true;
			this.redraw();
		}	
	}

function forgotPasswordAction()
	{
		element = getElement("user.email");				
		document.location = 'forgot_password.jsp?user.email=' + element.value;
	}
