/* GLOBALS ****************************************************************************************************************/

var g_FieldCount = 20;                                    // vorbelegte Feldanzahl
var g_CookieExpTime = 24*7;                               // Verfallszeit des Cookies in Stunden: 1 Woche
var g_Page = "SN_DirectOrder";                            // URL-Teil der Direktbestellung
var g_ScriptPath = "PublishedFiles/directorder";          // Pfad zur Direktbestellung

// FEHLERMELDUNGEN:
var g_ErrMsg1 = "Ihre Eingabe konnte nicht verarbeitet werden.\r\nBitte korrigieren Sie die markierten Felder.\r\n";
var g_ErrMsg2 = "ACHTUNG: Sie entfernen Eingabefelder - es können Eingaben verloren gehen!\r\n\r\nWollen Sie wirklich fortfahren?\r\n";

// CSS-FORMATIERUNGEN:
var g_BorderColor = "solid #29438A 1px";                  // Feld-Umrandung
var g_BorderErrColor = "solid #95243A 2px";               // Feld-Umrandung (Fehlermeldung)
var g_CSSClass = "divfieldreq";                           
var g_FieldNum_CSSClass = "fieldinputdirectorderreq";  
var g_FieldQty_CSSClass = "fieldinputquantity";       

/**************************************************************************************************************************/

function viewResult(originalRequest)
{
  var n = g_FieldCount;
  for(var i = 0; i < n; i++){
    document.getElementsByName("N_" + String(i))[0].style.border = g_BorderColor;
  }  
  var val = originalRequest.responseText; 
  if (val == "") {
  	YAHOO.example.container.wait.show(); 
    SaveVal("DO_SUBMIT", "1"); 			
    document.do_form.submit();      
  } 
  else {   	
    var fields = val.split(",");
    for(var i = 0; i < fields.length; i++) {      
      document.getElementsByName("N_" + String(fields[i]))[0].style.border = g_BorderErrColor;
    }    
    alert(g_ErrMsg1);    
    document.getElementsByName("N_" + String(fields[0]))[0].focus();
  }   
}

function OnAddToBasket()
{  
  if (SubmitHasFocus) {  
    var do_params='&';
		var do_count = g_FieldCount;
		var n = parseInt(do_count);
		var do_index_val = '', do_index_count = '';	
		for(var i = 0; i < n; i++) {
		  do_index_val = document.getElementsByName("N_" + String(i))[0].value;		   
		  do_index_count = document.getElementsByName("Q_" + String(i))[0].value;		   
		  do_params = do_params.concat('&' + "N_" + String(i) + '=' + do_index_val.strip());
		  do_params = do_params.concat('&' + "Q_" + String(i) + '=' + do_index_count);		   
    }
    var _request = new Ajax.Request(g_ScriptPath + "/directorder.php", {
        method: "post", parameters: 'page=' + g_Page + '&count=' + do_count + do_params, onComplete: viewResult
    });	
  }
  return false;
}

function OnSetFocus(f)
{
  SubmitHasFocus = f;
  return true;
}

function LoadVal(name)
{
  var k = name + "=";
  var a = document.cookie.split("; ");
  for (var j=0; j<a.length; ++j) {
    if (a[j].indexOf(k)==0) return(a[j].substring(k.length,a[j].length));
  }
  return("");
}

function LoadFields()
{
  var n_val = LoadVal("DOC");
  if (n_val.length = 0) {
    SetFields(); 
  	return;
  }  
  document.getElementById("do_fn").value = n_val;
  var n = parseInt(n_val);
  g_FieldCount = n_val;
  var n_str = LoadVal("DON");
  var n_arr = n_str.split("|");		 
  var q_str = LoadVal("DOQ");
  var q_arr = q_str.split("|");    
  var _htm = '';
  if(n>1) {
    _htm = '<tr class="'+ g_CSSClass + '"><td>Artikelnummer</td><td>&nbsp;&nbsp;&nbsp;Anzahl</td>' +
    '<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>' +
    '<td>Artikelnummer</td><td>&nbsp;&nbsp;&nbsp;Anzahl</td></tr><br><br>';
  }
  else {
    _htm = '<tr class="'+ g_CSSClass + '"><td>Artikelnummer</td><td>&nbsp;&nbsp;&nbsp;Anzahl</td></tr><br><br>';
  }
  for(i = 0; i < n; i++) {
    if(i % 2 == 0) {
      _htm = _htm.concat('<tr class="'+ g_CSSClass + '">' + '<td>');
    }
    _htm = _htm.concat(
      '<input type="text" name="N_' + String(i) + '" maxlength="11" size="11" class="' + g_FieldNum_CSSClass + '" value="' + n_arr[i] + '"/>' +
      '</td><td>&nbsp;&nbsp;&nbsp;</td><td>' +
      '<input type="text" name="Q_' + String(i) + '" maxlength="4" size="4" class="' + g_FieldQty_CSSClass + '" value="' + q_arr[i] + '"/>'
    );
    if(i % 2 != 0) {
      _htm = _htm.concat('</td>' +'</tr>' + '<br><br>');
    }
    else {
      _htm = _htm.concat('&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'); 
	    if (i == (n-1)) _htm = _htm.concat('<br><br>'); 
    }      
  }
  _htm = _htm.concat('<input name="DirectOrder" value="' + String(n) + '" type="hidden">');
  var d = document.getElementById('do_ff');
  d.innerHTML = _htm;
}

function OnSetFields()
{
	var a = new Array();
	var b = new Array();
	var n = parseInt(document.getElementById("do_fn").value);	
	var hasContent = false;
	for(i = 0; i < g_FieldCount; i++) {	  
		do_val = document.getElementsByName("N_" + String(i))[0].value;	    
		do_qval = document.getElementsByName("Q_" + String(i))[0].value;	    
		if ((do_val.strip() != '') || (do_qval.strip() != '1')) { 
			hasContent = true; 			
			break; 
		}
  }  
	if ((n < g_FieldCount) && hasContent) {
	  if (!confirm(g_ErrMsg2)) { 
      document.getElementById("do_fn").focus();	  	
	  	return;
	  } 
  }  
  for(i = 0; i < g_FieldCount; i++) {	  	    
    a[i]= document.getElementsByName("N_" + String(i))[0].value;
    b[i]= document.getElementsByName("Q_" + String(i))[0].value;
  }  
  var n = document.getElementById("do_fn").value;
  var _htm = '';
  if(n>1) {
    _htm = '<tr class="'+ g_CSSClass + '"><td>Artikelnummer</td><td>&nbsp;&nbsp;&nbsp;Anzahl</td>' +
    '<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>' +
    '<td>Artikelnummer</td><td>&nbsp;&nbsp;&nbsp;Anzahl</td></tr><br><br>';
  }
  else {
    _htm = '<tr class="'+ g_CSSClass + '"><td>Artikelnummer</td><td>&nbsp;&nbsp;&nbsp;Anzahl</td></tr><br><br>';
  }
  for(i = 0; i < n; i++){
    if(i % 2 == 0) {
      _htm = _htm.concat('<tr class="'+ g_CSSClass + '">' + '<td>');
    }      
    if (i < g_FieldCount) {
      _htm = _htm.concat(
        '<input type="text" name="N_' + String(i) + '" maxlength="11" size="11" class="' + g_FieldNum_CSSClass + '" value="' + a[i] + '"/>' +
        '</td><td>&nbsp;&nbsp;&nbsp;</td><td>' +
        '<input type="text" name="Q_' + String(i) + '" maxlength="4" size="4" class="' + g_FieldQty_CSSClass + '" value="' + b[i] + '"/>'
      );
    } 
    else {
      _htm = _htm.concat(
        '<input type="text" name="N_' + String(i) + '" maxlength="11" size="11" class="' + g_FieldNum_CSSClass + '" value=""/>' +
	      '</td><td>&nbsp;&nbsp;&nbsp;</td><td>' +
        '<input type="text" name="Q_' + String(i) + '" maxlength="4" size="4" class="' + g_FieldQty_CSSClass + '" value="1"/>'
      );
    }    	    	
    if(i % 2 != 0) {
      _htm = _htm.concat('</td>' +'</tr>' + '<br><br>');
    }
    else {
      _htm = _htm.concat('&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'); 
	    if (i == (n-1)) _htm = _htm.concat('<br><br>'); 
    }      
  }
  _htm = _htm.concat('<input name="DirectOrder" value="' + String(n) + '" type="hidden">');
  var d = document.getElementById('do_ff');
  d.innerHTML = _htm;
  g_FieldCount = n;
  SetCursor();
}

function SetFields()
{
  document.getElementById("do_fn").value = g_FieldCount;
  var n = g_FieldCount;
  var _htm = '';
  if(n>1) {
    _htm = '<tr class="'+ g_CSSClass + '"><td>Artikelnummer</td><td>&nbsp;&nbsp;&nbsp;Anzahl</td>' +
    '<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>' +
    '<td>Artikelnummer</td><td>&nbsp;&nbsp;&nbsp;Anzahl</td></tr><br><br>';
  }
  else {
    _htm = '<tr class="'+ g_CSSClass + '"><td>Artikelnummer</td><td>&nbsp;&nbsp;&nbsp;Anzahl</td></tr><br><br>';
  }
  for(i = 0; i < n; i++) {
    if(i % 2 == 0) {
      _htm = _htm.concat('<tr class="'+ g_CSSClass + '">' + '<td>');
    }
    _htm = _htm.concat(
      '<input type="text" name="N_' + String(i) + '" maxlength="11" size="11" class="' + g_FieldNum_CSSClass + '" value=""/>' +
      '</td><td>&nbsp;&nbsp;&nbsp;</td><td>' +
      '<input type="text" name="Q_' + String(i) + '" maxlength="4" size="4" class="' + g_FieldQty_CSSClass + '" value="1"/>'
    );
    if(i % 2 != 0) {
      _htm = _htm.concat('</td>' +'</tr>' + '<br><br>');
    }
    else {
      _htm = _htm.concat('&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'); 
	    if (i == (n-1)) _htm = _htm.concat('<br><br>'); 
    }      
  }
  _htm = _htm.concat('<input name="DirectOrder" value="' + String(n) + '" type="hidden">');
  var d = document.getElementById('do_ff');
  d.innerHTML = _htm;
  SetCursor();
}

function SaveVal(name, value)
{
  var a = new Array();
  a[0] = name + "=" + value;  
  a[a.length] = "expires=" + (new Date((new Date()).getTime() + g_CookieExpTime*3600000)).toGMTString();
  var str = a.join("; ");
  document.cookie = str;
}

function SaveFields()
{
  var n = g_FieldCount;
  if(n>0) {  
    SaveVal("DOC",n);  
    var _fields_n = '';		
		var _fields_q = '';				
		var do_index_val;
    var do_index_count;
	  for (var i = 0; i < n; i++) {		   
		  do_index_val = document.getElementsByName("N_" + String(i))[0].value;
		  do_index_count = document.getElementsByName("Q_" + String(i))[0].value;
		  _fields_n = _fields_n.concat(do_index_val.strip() + "|"); 			   
		  _fields_q = _fields_q.concat(do_index_count.strip() + "|");
	  }		    		
	  SaveVal("DON", _fields_n); 		
	  SaveVal("DOQ", _fields_q);
  }   
}

(function() {
  window.onunload = function() {
    if(navigator.cookieEnabled) {
      SaveFields();   
    }
    return true;
  };
})();

function SetCursor()
{
	var v = document.getElementsByName("N_0")[0].value
	document.getElementsByName("N_0")[0].value = v;
  document.getElementsByName("N_0")[0].focus();
}

function OnResetFields()	
{
	SetFields();
	SetCursor();
}
	
function CreateFields()	
{  
  if(navigator.cookieEnabled){
    _submit = LoadVal("DO_SUBMIT");    
    if(_submit == "0") {
      LoadFields();
    }
    else if(_submit == "1") {
      var n_val = LoadVal("DOC");
  	  g_FieldCount = n_val;
  	  SaveVal("DO_SUBMIT", "0"); 
      SetFields();     	
    } 
    else {
      SaveVal("DO_SUBMIT", "0"); 
      SetFields();     	
    }
  }
  else {  
    SetFields(); 
  }
	YAHOO.namespace("example.container");
	YAHOO.example.container.wait = new YAHOO.widget.Panel("wait", { 
		width:"240px", fixedcenter:true, close:false, draggable:false, modal:true, 
		visible:false, effect:{effect:YAHOO.widget.ContainerEffect.FADE, duration:0.5} 
	});
	YAHOO.example.container.wait.setHeader("Bitte warten Sie...");
	YAHOO.example.container.wait.setBody('<img src=\"' + g_ScriptPath + "/loading.gif\"/>");
	YAHOO.example.container.wait.render(document.body);	
  YAHOO.example.container.wait.hide();
  SetCursor();
}
