// Copyright Markus Höckner 2008

var req = false;
//initialize AJAX
function Inint_AJAX() {
  req = false;
  if (window.XMLHttpRequest) {
    // Mozilla, Safari,...
    req = new XMLHttpRequest();
    if (req.overrideMimeType) {
       req.overrideMimeType('text/xml');
    }
  } else if (window.ActiveXObject) { // IE
    try {
      req = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        req = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {}
    }
  }
};

//AJAX call to PHP files and set the submitted values in the HTML elements
function alertInhalt(target) {
  //alert(http_request.readyState);
  if (req.readyState == 4 || req.readyState == 0) {
    //alert(http_request.status);
    if (req.status == 200) {
        if (target != 'none')
        {
                document.getElementById(target).innerHTML = req.responseText;
        }
    } else {
      return false;
      alert('Das aufzurufende php-File existiert nicht!');
    }
  }
}

function get_category (target,val) {
  Inint_AJAX();
  var url = "php/category/get_category.php?data="+target+"&val="+val;
  if (!req) {
    alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
    return false;
  } else {
    req.onreadystatechange = function() { alertInhalt(target) };
    req.open('GET', url, true);
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1");
    req.send(null);
    if (target == 'show_subcategory_2')
      set_null('show_products');
  }
}

//set a element in the HTML null
function set_null(target)
{
  document.getElementById(target).innerHTML = '';
}

function check_product ()
{
	var return_text = '';
	var i = 1;
	var areas = new Array('beschreibung','anwendungsber','techdescription','material','lieferumfang','oberflaeche','holzschutz','fundamente','ersatzteile','zubehoer','zubehoer_opt','pruefung','hinweis','sonstiges','montagezeit','gewicht','altersklasse','ausfuehrungen','lieferkosten');
	var area_desc = new Array('Beschreibung','Anwendungsbereich','techn. Beschreibung','Material','Lieferumfang','Oberflaeche','Holzschutz','Fundamente','Ersatzteile','Zubehoer','optionales Zubehoer','Pruefung','Hinweis','Sonstiges','Montagezeit','Gewicht','Altersklasse','Ausfuehrungen','Lieferkosten');
	
	if(!document.getElementById('subcategory') || document.getElementById('subcategory').value == '-1')
	{
		return_text = add_error(return_text,"Es muss eine Subkategorie ausgewaehlt werden!");
	}

	while(document.getElementById('show_price_'+i))
	{
		if (document.getElementById('show_price_'+i).checked == true)
		{
			if(is_null('price_'+i) || is_null('art_nr_'+i) || is_null('material_'+i)){return_text = add_error(return_text,"Es wurden nicht alle Felder bei Preis "+i+" ausefuellt");}
			if(!isNum('price_'+i)){return_text = add_error(return_text,"Preis "+i+" ist keine Zahl! Format: 1234.12");}
		}
		i++;
	}
	i = 0;
	for(i; i < areas.length; i++)
	{
		if(document.getElementById('show_'+areas[i]))
		{
			if(document.getElementById('show_'+areas[i]).checked == true)
			{
				if(is_null(areas[i]))
				{
					return_text = add_error(return_text,"Im Feld '"+area_desc[i]+"' wurde kein Text eingegeben");	
				}
			}
		}
		else
		{
			return_text = add_error(return_text,"ERROR: field '"+areas[i]+"' not available - please call the admin!");
		}	
	}

	if(return_text != ''){alert (return_text);}
	else{document.forms.save_product.submit();}
}

function is_null(ID)
{
	if(document.getElementById(ID).value == ''){return true;}
	else{return false;}
}

function add_error(TEXT, new_text)
{
	return TEXT + "\n" + new_text;
}

function isNum(ID)
{
	if(!isNaN(document.getElementById(ID).value)){return true;}
	else{return false;}
}

