//
// Description:	Rollover image javascript module
// File:		rolloverImage.js
// Author:		Guy Fernando (Copyright Informatix Ltd)
// Date:		28/11/2001
//

function Image_loadImage(img)
{
	if (document.images)
	{
		i = new Image();
		i.src = img;
		return i;
	}
}

function Image_changeImage(obj, img)
{
	if (document.images)
	{
		getImageObj(obj.name, obj.layer).src = img;
	}
	
	return true;
}

// LinkImage

function LinkImage(name, layer, link, tip, normImg, overImg, downImg, width, height)
{
	this.name = name;
	this.layer = layer;
	this.link = link;
	this.tip = tip;
	this.normImg = normImg;
	this.overImg = overImg;
	this.downImg = downImg;
	this.width = width;
	this.height = height;
	
	Image_loadImage(overImg);
	Image_loadImage(downImg);
}

LinkImage.prototype.getHtml = function linkImage_getHtml()
{
	var s;

	s = "<a " + this.link + " ";
	s += "onmouseover='return Image_changeImage(window." + this.name + ",\"" + this.overImg + "\");' ";
	s += "onmouseout='return Image_changeImage(window." + this.name + ",\"" + this.normImg + "\");' ";
	s += "onmousedown='return Image_changeImage(window." + this.name + ",\"" + this.downImg + "\");' ";
	s += "onmouseup='return Image_changeImage(window." + this.name + ",\"" + this.overImg + "\");'> ";
	s += "<img name='" + this.name + "' src='" + this.normImg + "' ";
	
	if (this.tip != null)
		s += "alt='" + this.tip + "' ";
		
	if (this.width != null)
		s += "width='" + this.width + "' ";
			
	if (this.height != null)	
		s += "height='" + this.height + "' ";
			
	s += "border='0' align='absmiddle'></a>";
	
	return s;
}

// SubmitImage

function SubmitImage(name, form, layer, validateFn, submitFn, tip, normImg, overImg, downImg, width, height)
{
	this.name = name;
	this.form = form;
	this.layer = layer;
	this.validateFn = validateFn;
	this.submitFn = submitFn;
	this.tip = tip;
	this.normImg = normImg;
	this.overImg = overImg;
	this.downImg = downImg;
	this.width = width;
	this.height = height;
	
	Image_loadImage(overImg);
	Image_loadImage(downImg);
}

SubmitImage.prototype.getHtml = function submitImage_getHtml()
{
	s = "<a href='#' ";
	s += "onclick='SubmitImage_onClick(window." + this.name + "); return false;' ";
	s += "onmouseover='return Image_changeImage(window." + this.name + ",\"" + this.overImg + "\");' ";
	s += "onmouseout='return Image_changeImage(window." + this.name + ",\"" + this.normImg + "\");' ";
	s += "onmousedown='return Image_changeImage(window." + this.name + ",\"" + this.downImg + "\");' ";
	s += "onmouseup='return Image_changeImage(window." + this.name + ",\"" + this.overImg + "\");'> ";
	s += "<img name='" + this.name + "' src='" + this.normImg + "' ";
		
	if (this.tip != null)
		s += "alt='" + this.tip + "' ";
		
	if (this.width != null)
		s += "width='" + this.width + "' ";
			
	if (this.height != null)	
		s += "height='" + this.height + "' ";
			
	s += "border='0' align='absmiddle'></a>";
	s += "<input name='" + this.name + "' value='' type='hidden'>";

	return s;
}

function SubmitImage_onClick(obj)
{
	var valid = false;
	
	if (obj.validateFn != null)
	{
		eval("valid = " + obj.validateFn);
	}
	else
	{
		valid = true;
	}
	
	if (valid == true)
	{
		if (obj.submitFn != null)
		{
			eval(obj.submitFn);
		}
		else
		{
			var frm = getFormObj(obj.form, obj.layer);
			eval(frm.submit());
		}
	}
}
