function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();

function sndReqM(action,param) {
	
	//alert(action);alert(param);
	if (param!=0) {
		var hersteller =  document.getElementById('cbo_manufacturer').options[document.getElementById('cbo_manufacturer').selectedIndex].value;
		var hubraum = document.getElementById('cbo_hubraum').options[document.getElementById('cbo_hubraum').selectedIndex].value;
		var model = document.getElementById('cbo_model').options[document.getElementById('cbo_model').selectedIndex].value;
		
		http.open('get', 's4t_ajax_search.php?hersteller='+ hersteller +'&hubraum=' + hubraum + '&model=' + model + '&sw='+ action );
		http.onreadystatechange = handleResponseM;
		http.send(null);
	}
}
function sndReqV(variant, voption,prod_id) {

	http.open('get', 's4t_ajax_variants.php?PROD_ID='+prod_id+'&VARIANT='+variant+'&VARIANT_OPTION='+voption);
	http.onreadystatechange = handleResponseV;
	http.send(null);
	
}
function handleResponseV() {

    if(http.readyState == 4){
		
		var response = http.responseText;
	
// Response verarbeiten!
// Zielelement##id1,id2,id3,id4##eintrag1|eintrag2|eintrag3|eintrag4
        var update = new Array();
		var values = new Array();
		var texts = new Array();

		if(response.indexOf('##') != -1) {
            update = response.split('##');

			if(update[1].indexOf('|') != -1) {
            	values = update[1].split('|');
				texts = update[2].split('|');
				prices = update[3].split('|');
				// zielelement füllen

				if(document.getElementById('var_1').type != 'hidden') 
				  fillCombo('var_1',values,texts,prices);	// mit prices aufrufen
				else 
				{
				  document.getElementById('preis_merker').value = prices[0];
				  document.getElementById('var_1').value = values[0];
				}

			}	
		  
			if(document.getElementById('var_1').type != 'hidden')
			{
			  var id = document.getElementById('var_1');
			  var id_p = id.options[id.selectedIndex].id;
			  var variant = id.options[id.selectedIndex].value;
			}
			else
			{
			  var id_p = document.getElementById('preis_merker').value;
			  var variant = document.getElementById('var_1').value; 
        	}

	}

    change_rel(variant);  
	 
  	var sub_link = document.getElementById('products_id');
  	change_price(id_p);
  	if(sub_link) change_variant(variant, sub_link.value );
		
		
    }
}
function handleResponseM() {

    if(http.readyState == 4){
		var response = http.responseText;
	
		// Response verarbeiten!		
		// Zielelement##id1,id2,id3,id4##eintrag1|eintrag2|eintrag3|eintrag4
        var update = new Array();
		var values = new Array();
		var texts = new Array();

        if(response.indexOf('##') != -1) {
            update = response.split('##');
            // //document.getElementById(update[0]).innerHTML = update[1];
			//document.getElementById(update[0]).value=update[1];
			if(update[1].indexOf('|') != -1) {
            	values = update[1].split('|');
				texts = update[2].split('|');
				// zielelement füllen
				fillCombo(update[0],values,texts);
			}	
			// zielelement enablen
			enable(update[0]);
        }
    }
}

function fillCombo(comboboxname,values,texts, prices) {
	
	//alert ("FILLCOMBO:"+comboboxname+" V:"+values+" T:"+texts+" P:"+prices);
	combobox= document.getElementById(comboboxname);

	while (combobox.length>0) combobox.remove(0); // leeren

	for (var i = 0; i < values.length; i++)
	{
		if(texts[i].length>0) {
				// moz
			var mEintrag = document.createElement("option");
			mEintrag.text = texts[i];
			mEintrag.value = values[i];
			if (prices) mEintrag.id = prices[i];
			if (document.all) {
				combobox.add(mEintrag); }
			else {
				combobox.add(mEintrag, null);}
		}
 	}
	if (comboboxname=='cbo_baujahr' && values.length==2) {
		combobox.options[1].selected=true;
		save();
	}
}

function enable(what) {
	
	if(document.getElementById(what).type != 'hidden') 
		document.getElementById(what).disabled=false;	
}

function disable(what) {

	if(document.getElementById(what).type != 'hidden')  {

	//	document.getElementById('done_link').style.display = "none";
		document.getElementById(what).disabled=true;	
		document.getElementById(what).options[0].selected=true;
	}
}

function cbo_reset() {
	document.getElementById('cbo_hubraum').options[0].selected=true;
	document.getElementById('cbo_model').options[0].selected=true;
	document.getElementById('cbo_baujahr').options[0].selected=true;
	document.getElementById('done_link').style.display = "none";
}

function done() {
	//document.getElementById('done_link').style.display = "block";
	save();
}

function save() {
	var hersteller =  document.getElementById('cbo_baujahr').options[document.getElementById('cbo_baujahr').selectedIndex].value;
	if(hersteller == 0) { 
		hersteller = document.getElementById('cbo_model').options[document.getElementById('cbo_model').selectedIndex].value;
		hersteller = parseInt( hersteller ) +1;
	}
	window.location.href = 'bike_save.php?bike='+hersteller;
	
}

var orig_img = '';
var orig_link = '';
var orig_rel = '';

function change_rel(rela) 
{

 if(document.getElementById('thumb1')) {  
  if(orig_link == '') orig_link = document.getElementById('thumb1').href;		 
  if(orig_img == '') orig_img = document.getElementById('big_img').src;		
  if(orig_rel == '') orig_rel = document.getElementById('thumb1').rel;	
    

	var big_img = document.getElementById('big_img'); 
	var big_link = document.getElementById('thumb1');
	var start_img = document.getElementById('lyte_starter'); 
	var link_rel = document.getElementById('lyte_starter');
 

big_link.onclick = new Function("return hs.expand(this,{ slideshowGroup: 'rel_"+rela+"' });");

big_img.src = pic_array[rela];
big_link.href = link_array[rela];
 
       
 if(link_array[rela] || pic_array[rela] ) {//alert("4a");  
	  if(start_img) 
	  {
	   start_img.href = link_array[rela];
	   start_img.style.display = 'block'; 
	  }
	}
	else {; 
	   if(start_img) 
	   		start_img.style.display = 'none';
 	  
	   big_img.src = orig_img;
	   big_link.href = orig_link;
	   big_link.rel = orig_rel;
	}
	
 } 
 
}
function change_variant(variant,p_id) {

	var ref = "zubehoer.php?ID="+p_id;
    var sub_link = document.getElementById('sub_link');
	var qty = document.getElementById('products_qty');
	if(sub_link) sub_link.href = ref+'&VARIANT='+variant+'&QTY='+qty.value;
}

function change_price(id) 
{
	var price = document.getElementById('price');
	price.innerHTML = id.replace(".", ",");
}


// von: http://www.phpcommunity.org/gazette/2005/aug/threads_of_interest.html
