﻿var inputCtrl;
var txtCtrl;
var mainDiv;
var selectedModels = new Array();

var classUp = 'imgModel';
var classOver = 'imgModelOver';
var classSelUp = 'imgModelSel';
var classSelOver = 'imgModelSelOver';

function InitModelsDiv(txtInput)
{
	inputCtrl = $get(txtInput);
	txtCtrl = $get("txtModels");
	mainDiv = $get("divModels");
	HideDiv(mainDiv);
	if (inputCtrl.value && inputCtrl.value.length > 0)
	{
		var tmpStr = inputCtrl.value.split(';');
		if (tmpStr && tmpStr.length > 0)
		{
			for(var i = 0; i < tmpStr.length; i++)
				selectedModels.push(tmpStr[i]);
		}
		txtCtrl.value = inputCtrl.value;
	}
	var childDiv = mainDiv.firstChild;
	while(childDiv)
	{
		if (childDiv.nodeName == 'DIV')
		{
			var img = childDiv.firstChild;
			while(img && img.nodeName != 'IMG')
				img = img.nextSibling;
			if (img)
			{
				img.onmouseover = ModelOver;
				img.onmouseout = ModelOut;
				img.onclick = UpdateSel;
				img.style.cursor = 'hand';
				img.selected = (IsSelected(img.alt) != -1);
				childDiv.className = img.selected ? classSelUp : classUp;
				childDiv.title = img.alt;
			}
		}
		childDiv = childDiv.nextSibling;
	}
}

function HideDiv(div)
{
	ToggleDiv(div, false);
}
function ToggleDiv(div, show)
{
	if (div)
	{
		var d = (div.display ? div : div.style);
		var libShow = (arguments.length < 2) ? ((d.display == 'none') ? 'block' : 'none') : (show ? 'block' : 'none');
		d.display = libShow;
	}
}

function ShowModels()
{
	ToggleDiv(mainDiv);
	return false;
}
function ToggleClass(obj, className)
{
	obj = obj.parentNode;
	if (className)
	{
		obj.upClassName = obj.className;
		obj.className = className;
	}
	else if (obj.upClassName)
	{
		obj.overClassName = obj.className;
		obj.className = obj.upClassName;
	}
}
function SetClass(obj, upClass, overClass, currentClass)
{
	obj = obj.parentNode;
	obj.upClassName = upClass;
	obj.overClassName = overClass;
	obj.className = currentClass;
}
function ModelOver()
{
	ToggleClass(this, this.selected ? classSelOver : classOver);
}
function ModelOut()
{
	ToggleClass(this);
}

function UpdateSel()
{
	var name = this.alt;
	if (name)
	{
		var idx = IsSelected(name);
		if (idx == -1)
		{
			selectedModels.push(name);
			this.selected = true;
			SetClass(this, classSelUp, classSelOver, classSelUp);
		}
		else
		{
			selectedModels.splice(idx , 1);
			this.selected = false;
			SetClass(this, classUp, classOver, classUp);
		}
		txtCtrl.value = inputCtrl.value = selectedModels.join(';');
	}
}
function IsSelected(name)
{
	for(var i = 0; i < selectedModels.length; i++)
	{
		if (selectedModels[i] == name)
			return i;
	}
	return -1;
}
