/**
 * Name: 	dropDownList.js
 * Datum: 	10.02.2010
 * Autor:	Manuel Wiemann
 * Beschreibung:
 * Wird im Template drop_down_list.tpl benutzt
 * JS für das Handling einer Drop-Down-Liste, welcher über ein Array Werte zugewiesen werden.
 * Jede Liste hat einen eindeutigen Namen der mit ddlName übergeben wird.
 * Der ausgewählte Wert wird in einem Inputfeld geschrieben, welches angegeben werden muss (setInputId)
 * Der Style ist in der dropDownList.css
 */

/***
 * setzt den angeklickten Wert in das angegeben Inputfeld und in den Kopf der Liste. Schließt die Liste
 * @param el			: mit this übergebene Element, beinhaltet den Wert
 * @param ddlName		: Name der Drop-Down-Liste
 * @param setInputId	: Name des zu setzendem Inputfeld
 * @return
 */
 
function ddlItemSelect(el, ddlName, setInputId, func, param1)
{

	$(setInputId).value = $(el).innerHTML;
	$(ddlName+'ValueDivId').innerHTML = $(el).innerHTML;
	$(ddlName+'SelectContainer').hide();
	Element.removeClassName(ddlName+'ValueDivId','ddlValueDivWithList');
	if (func) eval(func)(param1,$(el).innerHTML);
	
}

/***
 * öffnet die Drop-Down-Liste und setzt den mouseover-Effekt. Schließt eine geöffnete Liste
 * RK: mouseover-Effekt entfernt - das ist CSS, nicht JS! 
 * @param ddlName : Name der Drop-Down-Liste
 * @return
 */
function openDropDownList(ddlName)
{	
	
	if(Element.hasClassName(ddlName+'ValueDivId','ddlValueDivWithList'))
	{
		closeDropDownList(ddlName);
	}
	else
	{
		Element.addClassName(ddlName+'ValueDivId','ddlValueDivWithList');
		$(ddlName+'SelectContainer').show();
	}
	
}

/***
 * schließt eine geöffnete Liste
 * @param ddlName : Name der Drop-Down-Liste
 * @return
 */
function closeDropDownList(ddlName)
{
	$(ddlName+'SelectContainer').hide();
	Element.removeClassName(ddlName+'ValueDivId','ddlValueDivWithList');
}

/***
 * löscht alle Childs und leert das Inputfeld
 * @param ddlName
 * @return
 */
function clearDropDownList(ddlName,setInputId)
{
	$(setInputId).value = '';
	while($(ddlName+'SelectContainer').hasChildNodes())
	{
		$(ddlName+'SelectContainer').removeChild($(ddlName+'SelectContainer').firstChild);
	}
}

/***
 * baut die Liste auf. Vorher wird die Liste mit clearDropDownList bereinigt
 * @param ddlName		Name der Drop-Down-Liste
 * @param values		Array mit Werte für die Liste
 * @param setInputId	Name des Inputfeld, welches mit dem gewähltem Wert gefüllt wird
 * @return
 */
 
 	var inputId = [];
	
function initDropDownList(ddlName, values, setInputId, func, param1)
{
	clearDropDownList(ddlName, setInputId);
	inputId[ddlName] = setInputId;

	for (var i = 1; i <= values.length; i++)
	{
		tmpDiv = document.createElement('a');
		tmpDiv.setAttribute('class','ddlSelectDiv');
		tmpDiv.setAttribute('id',ddlName+'SelectDiv_'+ i);
		tmpDiv.setAttribute('href','javascript: void(0);');
		if (func) tmpDiv.onclick = function(){ddlItemSelect(this,ddlName, setInputId, func, param1);};
		else tmpDiv.onclick = function(){ddlItemSelect(this,ddlName, setInputId);};
		txt = document.createTextNode(i);
		try 
		{
			tmpDiv.innerHTML = values[i-1];
		}
		catch (e)
		{
			txt = document.createTextNode(values[i-1]);
			tmpDiv.appendChild(txt);
		}
		$(ddlName+'SelectContainer').appendChild(tmpDiv);
	}
	$(setInputId).value = $(ddlName+'SelectContainer').firstChild.innerHTML;	
}


function mobileCounter(mode, size, ddlName){
	$(inputId[ddlName]).value = $(ddlName+'ValueDivId').innerHTML;
	ean = $(inputId[ddlName]).id.split('_');
	ean = ean[3];
	specMaxamount = maxamount.max();
	if(!specMaxamount || !size)
		specMaxamount = '3'; 
		
	var amountField = $F(inputId[ddlName]);

	if(mode == 'up'){
		if(amountField <= specMaxamount){
		
			amountField = parseInt(amountField)+1; 
			}
	}
	else{	
		if(amountField > 1)
			amountField = parseInt(amountField)-1;
	}
	
	$(ddlName+'ValueDivId').innerHTML = amountField;
	$(inputId[ddlName]).value = amountField;
			
	checkout_change_amount(ean, amountField);
	
}


