var m_ids = new Array();
var m_cols = new Array();
var m_vals = new Array();
var m_forms = 0;
function search_items_init (itemid) {
    m_forms = document.getElementById('_LF_FORMS_' + itemid).value;
    
    m_ids[itemid] = new Array();
    m_cols[itemid] = new Array();
    m_vals[itemid] = new Array();
    
    for (var i = 0; i < m_forms; i++) {
        m_vals[itemid].push(new Array());
        m_ids[itemid].push(document.getElementById('_LF_IDS'+String(i)+"_"+itemid).value.split(','));
        m_cols[itemid].push(document.getElementById('_LF_COLS'+String(i)+"_"+itemid).value.split(','));
        search_items(i,0, itemid);
    }
}

function search_items (formid, selectindex, itemid) {
    if (-1 != search_items_interface.search(/__xxpath__\?/)) {
        return;
    }
    
    document.getElementById('loading_icon'+ String(formid) + "_" + itemid).style.display = 'block';
    
    //alert(selectindex);
    var queryfield = m_cols[itemid][formid][selectindex];
    if (selectindex == m_ids[itemid][formid].length) { queryfield = '_preis'; }
    var myparams = new Array('itemid', itemid, 'queryfield', queryfield);
    
    // Schon ausgewählte Werte holen
    for (var i = 0; i < selectindex; i++) {
        var sel = document.getElementById(m_ids[itemid][formid][i] + "_" + itemid);
        if (sel.selectedIndex > 0) {
            m_vals[itemid][formid][i] = sel.value;
        } else {
            m_vals[itemid][formid][i] = '';
        }
        //myparams.push( { m_cols[i] : m_vals[i] } );
        myparams.push(m_cols[itemid][formid][i]);
        myparams.push(m_vals[itemid][formid][i]);
    }
    
    var postdata = {
			method : 'searchDyn',
			id : 0,
			params : myparams
		};
	// Hier geht nochIE 6 Fehler
	try {
		req = new HTTP.Request(
		{
			uri: search_items_interface, 
			postbody: postdata.toJSONString(),
			onSuccess: function (trans) {
				var data; 
				try {
					data = eval('('+trans.responseText+')'); // JSON "parsen"
				} catch(e) {
					return;   
				} 
                
                ((selectindex < m_ids[itemid][formid].length) ? search_items_handleSuccess(data, formid, selectindex, itemid) : _global_search_preis_handleSuccess(data, formid, itemid));
			}
		}); 
		
	}
	catch(e)
	{
		return;
	}
}

function search_items_handleSuccess(data, formid, selectindex, itemid){
    var call = data['_call'];
    var result = data['_data'];
    
    document.getElementById('loading_icon'+ String(formid) + "_" + itemid).style.display = 'none';
    
    //alert("result for "+selectindex);
    
    // Alle noch auszuwählenden Felder löschen
    //alert(m_ids[itemid][formid]);
    for (var i = selectindex; i < m_ids[itemid][formid].length; i++) {
        var sel = document.getElementById(m_ids[itemid][formid][i] + "_" + itemid);
        sel.options.length = 0;
    }
    
    var sel = document.getElementById(m_ids[itemid][formid][selectindex] + "_" + itemid);
    
    _clear(itemid);
    
    if (result) {
        if (result.length > 0) {
            sel.options[0] = new Option('Bitte wählen', '');
            for (var i = 0; i < result.length; i++) {
                var val = result[i];
                val = String(val).replace(/'/g, '');
                var neuer = new Option(val, val, false, true);
                sel.options[i+1] = neuer;
            }
            sel.selectedIndex = 0;
        }
    }
}

function _global_search_preis_handleSuccess(data, formid, itemid) {
    var call = data['_call'];
    var result = data['_data'];
    
    var pfaktor = 1.03;
	
	if (itemid == "oringe") { pfaktor = 1.08; }
	if ((itemid == "la_1200") ||
		(itemid == "la_625") ||
		(itemid == "la_22205") ||
		(itemid == "la_3200") ||
		(itemid == "la_7200B") ||
		(itemid == "la_N204ET")
		) {
			pfaktor = 0.6;
	}
    
    if (m_forms) {
        document.getElementById('loading_icon' + String(formid) + "_" + itemid).style.display = 'none';
    } else {
        document.getElementById('loading_icon').style.display = 'none';
    }
    
    var elem = document.getElementById('search_items_price_'+itemid);
    var out = "";
    
    _clear(itemid);
    
    if (result) {
        if (result.length) {
            var e = document.getElementById('search_items_lfitemid_'+itemid);
            if (e) {
                e.value = result[0][2];
            }
        }
        
        out += "<div style=\"float:right; width:45%; display:block; border:1px solid blue; padding:10px;\">Links sind die Staffelpreise aufgelistet.<br>Je nach angefragter / bestellter Menge wird die Summe berechnet.<br><br>Bei z.B 9 Stk. wird deshalb der Preis der 5-er Staffel angesetzt.</div>";
        out += "<table class=\"variantenliste\" style=\"width:45%;\">";
        out += "<tr><th>Staffelmenge</th><th align=\"right\">Staffelpreis</th></tr>";
        for (var i = 0; i < result.length; i++) {
            var css="";
            if (!(i % 2)) {
                css="class=\"highlighted\"";
            }
            out += "<tr><td "+css+">&nbsp;&nbsp;ab " + result[i][0] + " Stk.</td><td align=\"right\" "+css+">" + (result[i][1] * pfaktor).toFixed(2) + "&nbsp;EUR / Stk.&nbsp;&nbsp;</td></tr>";
        }
        out += "</table>";
        
        document.getElementById('search_items_inwk_' + itemid).style.display = 'block';
    }
    
    elem.innerHTML = out;
}


function _clear(itemid) {
    document.getElementById('search_items_price_'+itemid).innerHTML = "";
    document.getElementById('search_items_inwk_'+itemid).style.display = 'none';
    
    var e = document.getElementById('search_items_lfitemid_'+itemid);
    if (e) { e.value = ""; }
}

