/*

JavaScript Functions
File: core.js
Copyright 2009 by Smallit.de

*/

var swap = 1;
var http = new Array();
var cache = new Array();

// AJAX REQUEST
function ajax( url,layer ) {

	var http_index=0;

	while( http[http_index] ) http_index++;

     if (window.XMLHttpRequest) {
          http[ http_index ] = new XMLHttpRequest();
     } else if (window.ActiveXObject) {
          http[ http_index ] = new ActiveXObject("Microsoft.XMLHTTP");
     }

     if( http[ http_index ] ) {
          http[ http_index ].open("GET", url, true);
          http[ http_index ].onreadystatechange = function() {
          	if( http[ http_index ].readyState == 4 ) {
				if( layer && document.getElementById( layer ) ) {
					document.getElementById( layer ).style.visibility  = 'visible';
					document.getElementById( layer ).style.height  = 'auto';
					document.getElementById( layer ).innerHTML = http[ http_index ].responseText;
				}
     		}
          }
          http[ http_index ].send(null);
     }
}

function compactAddress( txt ) {
	var zeilen = txt.split("\n");
	if( zeilen.length == 4 ) {
		document.getElementById('name').value = zeilen[0];
		document.getElementById('address1').value = zeilen[1];
		document.getElementById('address2').value = zeilen[2];
		var plzort = zeilen[3].split(" ");
		document.getElementById('plz').value = plzort[0];
		plzort.shift();
		document.getElementById('city').value = plzort.join(" ");
	} 
	else if( zeilen.length == 3 ) {
		document.getElementById('name').value = zeilen[0];
		document.getElementById('address1').value = zeilen[1];
		var plzort = zeilen[2].split(" ");
		document.getElementById('plz').value = plzort[0];
		plzort.shift();
		document.getElementById('city').value = plzort.join(" ");
	}
}

function changeBackgroundColor( layer,col ) {
	layer.style.backgroundColor = col;
}

function previewImage( id,img ) {
	document.getElementById( id ).src=img;
}

function clearInput( layer ) {
	layer.value = '';
	layer.style.color = '#333';
}

function loadCache( layer, id ) {
     document.getElementById( layer ).innerHTML = cache[ id ];
}

function saveCache( layer, id ) {
     cache[ id ]  = document.getElementById( layer ).innerHTML;
}

function markLayer( layer,bgcolor ) {
	document.getElementById( layer ).style.backgroundColor = bgcolor;
}

function emptyLayer( layer ) {
	document.getElementById( layer ).innerHTML = '';
}

function hideLayer( layer ) {
	id = document.getElementById( layer );
	if( id.style.visibility != 'hidden' ) {
		//id.innerHTML = '';
		id.style.height = '0px';
		id.style.visibility = 'hidden'; 
	}
	else {
		id.style.height = 'auto';
		id.style.visibility = 'visible';
	}
}

function checkNewItem() {
	
	if( ! document.getElementById('id').value ) { alert("Artikelnummer ungültig!"); return false; }
	if( ! document.getElementById('title').value ) { alert("Kein Artikelbezeichner eingegeben!"); return false; }
	if( ! document.getElementById('category').value ) { alert("Keine Hauptkategorie eingegeben!"); return false; }
	if( ! document.getElementById('subcategory').value ) { alert("Keine Unterkategorie eingegeben!"); return false; }
	if( ! document.getElementById('description').value ) { alert("Keine Artikelbeschreibung eingegeben!"); return false; }
	if( ! document.getElementById('tags').value ) { alert("Keine Suchworte (Tags) eingegeben!"); return false; }
	if( ! document.getElementById('price').value.match(/^[0-9]{1,3},[0-9]{2,4}$/) ) { alert("Ungültiger Preis pro VE!"); return false; }
	if( ! document.getElementById('viewprice').value ) { alert("Ungültiger Anzeige-Preis!"); return false; }
	if( ! document.getElementById('number').value.match(/^[1-9]{1}[0-9]{0,4}$/) ) { alert("Ungültige Verfügbarkeit!"); return false; }
	if( ! document.getElementById('minsale').value.match(/^[1-9]{1}[0-9]{0,4}$/) ) { alert("Ungültige Mindestabnahme!"); return false; }
	
	return true;
}

