var isIE = false;
function createRequestObject()
{
 var ro;
 // Ajax-Verbindung herstellen
 try { // W3C-Standard
 ro = new XMLHttpRequest();
 } catch(w3c) {
 try { // Internet Explorer
 isIE = true;
 ro = new ActiveXObject("Msxml2.XMLHTTP");
 } catch(msie) {
 try { // Internet Explorer alt
 ro = new ActiveXObject("Microsoft.XMLHTTP");
 } catch(msie_alt) {
 }
 }
 }

 return ro;
}

var http = createRequestObject();

//Starts the AJAX request.

function sndReq(url, handler)
{
 // handler = was soll mit der Antwort gemacht werden, bzw. elcher Handler soll verwendet werden
 // action = Quelle, die die Aktion ausgeloest hat --> fuer serverseitigen switcher

 http.open('get', url);
 http.onreadystatechange = handler;

 http.send(null);
}

function clearCbo(cbo)
{
 while (cbo.length>0)
 cbo.remove(0);
}

function addCboEntry(cbo, entry)
{
 if (document.all) cbo.add(entry);
 else cbo.add(entry, null);
}

function fillCombo(cbo,values, def)
{

 clearCbo(cbo);
 for (var i = 0; i < values.length; i++)
 {
 var mEintrag = document.createElement("option");
 if (def == values[i][0])
 {
 	mEintrag.setAttribute("selected","selected");
 }
 mEintrag.text = values[i][1];
 mEintrag.value = values[i][0];

 addCboEntry(cbo, mEintrag);
 }
}

//================================================================
function LTrim(VALUE)
{
 var w_space = String.fromCharCode(32);
 var c_return = String.fromCharCode(13);
 var l_fead = String.fromCharCode(10);
 if(v_length < 1){
 return"";
 }
 var v_length = VALUE.length;
 var strTemp = "";

 var iTemp = 0;

 while(iTemp < v_length){
 if(VALUE.charAt(iTemp) == w_space || VALUE.charAt(iTemp) == c_return || VALUE.charAt(iTemp) == l_fead){}
 else{
 strTemp = VALUE.substring(iTemp,v_length);
 break;
 }
 iTemp = iTemp + 1;
 } //End While

 return strTemp;
} //End Function 


function fetchCbos() {
    var frm =  document.getElementById('cart_quantity');
	//var frm = document.forms[2];
	var sParams = "1=1";
	var single = true
	
	var j = 0;
  	// Hier werden die dropdown zum string für die s4t_ajax datei zusammengehängt
  	for(i=0; i<frm.elements.length;i++) 
	{
		
		if(frm.elements[i].type=='select-one') 
		{
			sParams += "&seopt"+j+"="+frm.elements[i].value;
			sParams += "&opt"+j+"="+frm.elements[i].id;
			var changed_box = eval('bID_'+frm.elements[i].id)		
			
			if(changed_box && single)
			{
				single = false;
				sParams += "&changed="+frm.elements[i].id;
			} 
				else 
				{
					//frm.elements[i].disabled = true;
				}
			j++;
		}
		else if (frm.elements[i].type=='radio' && frm.elements[i].checked)
		{
			sParams += "&seopt"+j+"="+frm.elements[i].value;
			sParams += "&opt"+j+"="+frm.elements[i].id;
			var changed_box = eval('bID_'+frm.elements[i].id)		
			
			if(changed_box && single)
			{
				single = false;
				sParams += "&changed="+frm.elements[i].id;
			}
			j++;
		}
	}
	// Parent ID anhängen, wird in products_attributes.php gesetzt
	sParams += "&oid="+oid;		
                     
s = "s4t_ajax.php?"+sParams;

sndReq(s, handleFillCbos);     

  return false;
}




function handleFillCbos()
{ 
 
  if(http.readyState == 4) 
  {
      var frm = document.getElementById('cart_quantity');
	  var res = http.responseText;
     
	  
	  // falls geforwardet werden muss werden die boxen nich gefüllt
	  var forwarding = res.split(':::');
	 
	  if(forwarding[1]) window.location = forwarding[1];

		else 
		{
	  	 
			  res = res.replace(/\r|\n|\r\n/g, "");
			  res = LTrim(res);
			  var obj = eval("(" + res + ")");  

			  if(typeof(obj.targets) == "undefined") return;
			 
			 
			  for (var i = 0; i < obj.targets.length; i++)
			  {
				var objt = obj.targets[i];
				
				if(objt.type == 0)
				{
				 
					if(typeof(objt.content) != "undefined")
					{
					   if (objt.target == "mcgroup")
						fillOpt(frm.elements[objt.target], objt.content, objt.selected);
					  else
					   if (objt.selected)
					   {
						 if (objt.content.length == 1) objt.selected = objt.content[0][0];
						 
						 fillCombo(frm.elements[objt.target], objt.content, objt.selected);
					   }
					   else 
						{
							fillCombo(frm.elements[objt.target], objt.content, "");
						}
					}
				frm.elements[objt.target].disabled = false;      
				}
				else if(objt.type == 1)
				{
					// falls radios angezeigt werden, erst den div ausleeren, und dann neu aufbauen
					var div = document.getElementById('radios');
					var radios_inner = '';
					var sel = '';
					div.innerHTML = '';
					for(var ii = 0; ii<objt.content.length; ii++)
					{
						var targ = objt.target.split('[');
						targ = targ[1].split(']');
						if(objt.content[ii][0] == 0) sel = 'checked = "checked" ';
						else sel = '';
						radios_inner += '<input type="radio" onclick="bID_'+targ[0]+'=true; fetchCbos();" value="'+objt.content[ii][0]+'" id="'+targ[0]+'" name="id['+targ[0]+']" '+sel+'>&nbsp;'+objt.content[ii][1]+'<br>';
					}
					div.innerHTML = radios_inner;
				}
				
			  }
		}
  }
} 


// wird nach erfolgreichem dateiupload auf true gesetzt
var upload_flag = false;

function fetchVeredelungContent(page)
{
    var products_id = document.getElementsByName('products_id');
	var prod_c = 0;
	var product_count = -1
	var product_coun = document.getElementById('product_count');
	if(product_coun) product_count = product_coun.value;
	else product_count = -1;
	
	if(!products_id[0]) products_id = document.getElementsByName('products_id[]'); 
	if(product_count != -1) prod_c = product_count 
	
    var qt = document.getElementById('qty_input');
	if(qt)
		qty = qt.value;
	else

	{
		qt =  document.getElementsByName('cart_quantity[]');
		qty = qt[product_count].value;
	}
	
    // aktiven radio button ermitteln
    var radios = document.getElementsByName('typ');
    var radio_active = 0;
    for (var i = 0; i <= radios.length-1; i++)
    {
        if(radios[i].checked == true) radio_active = radios[i].value;
    }

    s_params = "page="+page+"&typ="+radio_active+"&products_id="+products_id[prod_c].value+"&action=fetch&qty="+qty;
    s = "s4t_ajax_veredelung.php?"+s_params;
  
	sndReq(s, handleVeredelungContent);     
   

}

function handleDELETE()
{ 
  if(http.readyState == 4) 
  {
	  ;
  }
}

function deleteVeredelung()
{
    var products_id = document.getElementsByName('products_id');
	s_params = "products_id="+products_id[0].value+"&action=delete";
    s = "s4t_ajax_veredelung.php?"+s_params;
    
	sndReq(s, handleDELETE);     
    return false;
}


function handleVeredelungContent() {
  

  
  if(http.readyState == 4) 
  {
      var li3a = document.getElementById('3a');
      var li3b = document.getElementById('3b');     
      var veredelung_content = document.getElementById('veredelung_content');
      var back_button = document.getElementById('veredel_back_button');
      var weiter_button = document.getElementById('veredel_weiter_button');
      var res = http.responseText;
       
      // json parsen und eval
      res = res.replace(/\r|\n|\r\n/g, "");
      res = LTrim(res);
      var obj = eval("(" + res + ")");  
      
      // wenn auf schritt1 gesprungen wird, werden die buttons anders belegt
      if(obj.page == '1')
      {
        back_button.innerHTML = '<a onclick="show_layer();"><img src="templates/admixx-trw/buttons/'+language+'/button_back.gif" /></a>';
        weiter_button.innerHTML = '<a onclick="fetchVeredelungContent(\'2\')"><img src="templates/admixx-trw/buttons/'+language+'/button_continue.gif" /></a>';  
        li3a.className = 'active';
        li3b.className = 'inactive';
      }
          else  
          {
            back_button.innerHTML = '<a onclick="fetchVeredelungContent(\'1\');"><img src="templates/admixx-trw/buttons/'+language+'/button_back.gif" /></a>';
            
            // bei datei upload einfach nur layer ausblenden und ichon ändern
            if(obj.typ == 1 || obj.typ == 2)
                weiter_button.innerHTML = '<a onclick="saveVeredelung(\''+obj.typ+'\');"><img src="templates/admixx-trw/buttons/'+language+'/button_save.gif" /></a>';
            else
            {
                weiter_button.innerHTML = '<a onclick="saveVeredelung(\''+obj.typ+'\',\'a\');"><img src="templates/admixx-trw/buttons/'+language+'/button_save.gif" /></a>';
            }
            li3a.className = 'inactive';
            li3b.className = 'active';
          }
     
      // Content der Seite setzen
      veredelung_content.innerHTML = ''; 
	  veredelung_content.innerHTML = obj.text;  
     
  }
 
 
}

function saveVeredelung(typ,id) {
	
    var products_id = document.getElementsByName('products_id');      
	if(!products_id[0]) products_id = document.getElementsByName('products_id[]');
	var product_count = 0;
	if(document.getElementById('product_count')) product_count = document.getElementById('product_count').value;

	var vform = document.getElementById('veredelung_form');
    var text = '';

// mehrerer texte
if(typ == 1 || typ == 2) 
{
   
    // Mo neuer code um auf vollständigkeit der eingabe zu prüfen
	var elem = document.getElementById('veredelung_form').elements;  

	
	for(var i = 0; i < elem.length; i++) 
	{ 
		if(elem[i].type == 'text' && elem[i].value == '')
		{
			alert(no_fields); 
			return false;
		}
	} 
	
	
	
	for (var i = 0; i < vform.length; ++i) 
	{
	   
		if(vform.elements[i].type == 'text')
		text += vform.elements[i].value+"#;#";
	}
      text = text.substring(0,text.length-3);
      
      text = escape(text);  
    

	
      s_params = "action=save&text="+text+"&products_id="+products_id[product_count].value+"&typ="+typ;
      s = "s4t_ajax_veredelung.php?"+s_params;
      
	  sndReq(s, handeVeredelungSave);     
}
else if(typ == 3)
{
   var filetype = document.getElementById('filetype');      
   
   // falls noch keine datei hochgeladen
   if(!document.getElementById('filetype'))
   {
	   alert(no_file_uploaded);
       return false;
   }

   s_params = "action=save&products_id="+products_id[product_count].value+"&typ="+typ+"&filetype="+filetype.value;
   s = "s4t_ajax_veredelung.php?"+s_params;
  
  sndReq(s, handeVeredelungSave);    
}

 
  return false;

  
}

function handeVeredelungSave() {
    
    
    if(http.readyState == 4) 
    {
        var res = http.responseText; 
        show_layer();
		
		try {
		document.getElementById('cart_div').style.display='';
		}
		catch(err)
		{;}
	//set_v_array(res);
       try
  		{
			// mo neuer code
			check_vpe();
			
			document.getElementById('add_cart_inner').innerHTML =  button_content;
			document.getElementById('v_img').style.display = '';
		}
		catch(err)
		{
		  ;
		}
	} 
}

// Dateiupload

function startUpload()
{
    document.getElementById('f1_upload_process').style.display = '';
    return true;
}
      
function stopUpload(success, type)
{
 
  var result = '';

  if (success == 1)
  {
      document.getElementById('result').innerHTML = upload_success+'<input type="hidden" value="'+type+'" id="filetype">';
  	  
	  upload_flag = true;
	  
  }
  	else 
  {
    document.getElementById('result').innerHTML = upload_failure;
  }

  document.getElementById('f1_upload_process').style.display = 'none';

  return true;

}

function fetchType(target) {
  
   s_params = "action=type&products_id="+target;
   s = "s4t_ajax_veredelung.php?"+s_params;
  
   sndReq(s, handlefetchType);  
    
}

function handlefetchType() {
   
    
   if(http.readyState == 4) 
   {
       var type_input = document.getElementById('type_temp');
       var res = http.responseText;
    
       type_input.value = res;
       set_type();
   }
    
}
