function Ajax() {
	this.xmlhttp = null;
	this.send = function(url, statechange) {
		if(window.XMLHttpRequest) this.xmlhttp = new XMLHttpRequest();
		else if(window.ActiveXObject) this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		if(this.xmlhttp != null) {
			this.xmlhttp.onreadystatechange = statechange;
			this.xmlhttp.open("GET", url, true);
			this.xmlhttp.send(null);
		}
		else alert("Your browser doesn't support AJAX.");
	}
	this.post = function(url, data, statechange) {
		if(window.XMLHttpRequest) this.xmlhttp = new XMLHttpRequest();
		else if(window.ActiveXObject) this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		if(this.xmlhttp != null) {
			this.xmlhttp.onreadystatechange = statechange;
			this.xmlhttp.open("POST", url, true);
			this.xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			this.xmlhttp.setRequestHeader("Content-length", data.length);
			this.xmlhttp.setRequestHeader("Connection", "close");
			this.xmlhttp.send(data);
		}
		else alert("Your browser doesn't support AJAX.");
	}
}

var hoist = {
	loadingText: '<img src="' + _root + 'images/loading.gif" alt="Loading..." />',
	
	prodCurrent: 0,
	stopLight: false,
	
	ajax: null,
	
	init: function() {
		hoist.divDetaliiProdus = document.getElementById('detalii-produs');
		hoist.divDetaliiProdusContent = document.getElementById('content5_container');
		hoist.divListaProduse = document.getElementById('lista-produse');
		hoist.divGalerieProduse = document.getElementById('content4_container');
		hoist.divContentProdus = document.getElementById('produs-content');
		hoist.divTextProdus = document.getElementById('content3_container');
		hoist.divDescriereProdus = document.getElementById('descriere-produs');
		hoist.divCategorii = document.getElementById('lista-categorii');
		hoist.divCategorie = document.getElementById('show-categorie');
		hoist.divGalerieCategorie = document.getElementById('content6_container');
		// hoist.divTextCategorie = document.getElementById('text-categorie');
		hoist.divTextCategorie = document.getElementById('content7_container');
		hoist.divSolicitari = document.getElementById('solicitari');
		hoist.divTextSolicitari = document.getElementById('text-solicitari');
		hoist.divContact = document.getElementById('contact');
		hoist.divTextContact = document.getElementById('text-contact');
		
		hoist.initBackground();
		window.onresize = hoist.onResize;
		// Event.observe(window, 'load', hoist.onResize, false);
	},
	
	onResize: function() {
		if(hoist.stopLight == true) return;
		hoist.stopLight = true;
		window.setTimeout("hoist.initBackground()", 500);
	},
	hang: function(millis) {
		window.setTimeout("hoist.stopLight = false;", millis);
	},
	
	initBackground: function() {
		var myWidth = 0, myHeight = 0;
		if( typeof( window.innerWidth ) == 'number' ) { //Non-IE
			myWidth = window.innerWidth;
			myHeight = window.innerHeight;
		} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
			//IE 6+ in 'standards compliant mode'
			myWidth = document.documentElement.clientWidth;
			myHeight = document.documentElement.clientHeight;
		} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
			//IE 4 compatible
			myWidth = document.body.clientWidth;
			myHeight = document.body.clientHeight;
		}
		
		var d = document.getElementById('background');
		var f = document.getElementById('footer');
		var m = document.getElementById('bottom-menus');
		d.style.width = myWidth + 'px';
		d.style.height = myHeight + 'px';
		f.style.width = myWidth + 'px';
		f.style.marginTop = (myHeight - 84) + 'px';
		m.style.marginTop = (myHeight - 84) - 68 + 'px';
		
		var mbg = document.getElementById('menu-bg');
		var tbg = document.getElementById('texthome-bg');
		mbg.style.width = myWidth + 'px';
		mbg.style.marginLeft = '-' + (myWidth - 990) / 2 + 'px';
		tbg.style.width = myWidth + 'px';
		tbg.style.marginLeft = '-' + (myWidth - 990) / 2 + 'px';
		
		var ferestre = document.getElementById('ferestre');
		var winHeight = (myHeight - 84) - 68;
		// var inaltime = (myHeight - 84 - 68) - 400;
		var inaltime = (winHeight / 2) - (400 / 2);
		if(inaltime > 0)
			ferestre.style.marginTop = inaltime + 'px';
		else
			ferestre.style.marginTop = '0px';
		
		var flashWidth = 2000;
		var flashHeight = 1200;
		var fd = document.getElementById('bg_center');
		fd.style.marginLeft = ((myWidth / 2) - (flashWidth / 2)) + "px";
		
		hoist.hang(500);
	},
	
	closeAll: function() {
		hoist.hideDetaliiProdus();
		hoist.hideListaProduse();
		hoist.hideCategorii();
		hoist.hideCategorie();
		hoist.hideSolicitari();
		hoist.hideContact();
	},
	
	hideCategorii: function() {
		hoist.divCategorii.style.visibility = 'hidden';
	},
	showCategorii: function() {
		hoist.closeAll();
		hoist.divCategorii.style.visibility = 'visible';
	},
	hideCategorie: function() {
		hoist.divCategorie.style.visibility = 'hidden';
		hoist.divGalerieCategorie.innerHTML = '';
		hoist.divTextCategorie.innerHTML = '';
	},
	showCategorie: function(catId) {
		hoist.closeAll();
		hoist.divCategorie.style.visibility = 'visible';
		hoist.ajax = new Ajax();
		hoist.ajax.send(_root + "produse.html?ajax=1&catText=1&catId=" + catId, hoist.showCategorieCallback);
		hoist.divGalerieCategorie.innerHTML = '<img src="' + _root + 'images/loading.gif" alt="Loading..." />';
	},
	showCategorieCallback: function() {
		if(hoist.ajax.xmlhttp.readyState != 4) return;
		if(hoist.ajax.xmlhttp.status != 200) return;

		var s = hoist.ajax.xmlhttp.responseText.split('<!-- [SEPARATOR] -->', 2);
		hoist.divTextCategorie.innerHTML = s[0];
		hoist.divGalerieCategorie.innerHTML = s[1];
	},
	hideListaProduse: function() {
		hoist.divListaProduse.style.visibility = 'hidden';
		hoist.divDescriereProdus.style.visibility = 'hidden';
		hoist.divContentProdus.innerHTML = '';
		hoist.divGalerieProduse.innerHTML = '';
		hoist.divTextProdus.innerHTML = '';
	},
	showListaProduse: function(catId) {
		hoist.divListaProduse.style.visibility = 'visible';
		hoist.divDescriereProdus.style.visibility = 'visible';
		// etc
		hoist.ajax = new Ajax();
		hoist.ajax.send(_root + "produse.html?ajax=1&catId=" + catId, hoist.showListaProduseCallback);
		hoist.divGalerieProduse.innerHTML = '<img src="' + _root + 'images/loading.gif" alt="Loading..." />';
	},
	showListaProduseCallback: function() {
		if(hoist.ajax.xmlhttp.readyState != 4) return;
		if(hoist.ajax.xmlhttp.status != 200) return;
		
		hoist.divGalerieProduse.innerHTML = hoist.ajax.xmlhttp.responseText;
	},
	showProdus: function(catId, prodId) {
		hoist.closeAll();
		hoist.showListaProduse(catId);
		hoist.ajax2 = new Ajax();
		hoist.ajax2.send(_root + "produs.html?ajax=1&prodId=" + prodId, hoist.showProdusCallback);
		hoist.divContentProdus.innerHTML = '<img src="' + _root + 'images/loading.gif" alt="Loading..." />';
		hoist.prodCurrent = prodId;
	},
	showProdusCallback: function() {
		if(hoist.ajax2.xmlhttp.readyState != 4) return;
		if(hoist.ajax2.xmlhttp.status != 200) return;
		
		var s = hoist.ajax2.xmlhttp.responseText.split('<!-- [SEPARATOR] -->', 2);
		hoist.divContentProdus.innerHTML = s[0];
		hoist.divTextProdus.innerHTML = s[1];
		$('a[@rel*=lightbox]').lightBox();
	},
	hideDetaliiProdus: function() {
		hoist.divDetaliiProdus.style.visibility = 'hidden';
		hoist.divDetaliiProdusContent.innerHTML = '';
	},
	showDetaliiProdus: function() {
		hoist.divDetaliiProdus.style.visibility = 'visible';
		var prodId = hoist.prodCurrent;
		if(prodId == 0) return;
		// etc
		hoist.ajax = new Ajax();
		hoist.ajax.send(_root + "produs.html?ajax=1&prodId=" + prodId + "&detalii=1", hoist.showDetaliiProdusCallback);
		hoist.divDetaliiProdusContent.innerHTML = hoist.loadingText;
	},
	showDetaliiProdusCallback: function() {
		if(hoist.ajax.xmlhttp.readyState != 4) return;
		if(hoist.ajax.xmlhttp.status != 200) return;
		
		hoist.divDetaliiProdusContent.innerHTML = hoist.ajax.xmlhttp.responseText;
	},
	hideSolicitari: function() {
		hoist.divSolicitari.style.visibility = 'hidden';
		hoist.divTextSolicitari.innerHTML = '';
	},
	showSolicitari: function() {
		hoist.closeAll();
		hoist.divSolicitari.style.visibility = 'visible';
		hoist.ajax = new Ajax();
		hoist.ajax.send(_root + "solicitari.html?ajax=1", hoist.showSolicitariCallback);
		hoist.divTextSolicitari.innerHTML = hoist.loadingText;
	},
	showSolicitariCallback: function() {
		if(hoist.ajax.xmlhttp.readyState != 4) return;
		if(hoist.ajax.xmlhttp.status != 200) return;
		
		hoist.divTextSolicitari.innerHTML = hoist.ajax.xmlhttp.responseText;
	},
	sendSolicitare: function(form) {
		var elem = form.elements;
		hoist.form = form;
		// var sendBtn = null;
		var data = "1=1";
		for(i = 0; i < elem.length; i++)
			if(elem[i].name == "send")
				hoist.sendBtn = elem[i];
			else if(elem[i].name == "doresc_sa") {
				if(elem[i].checked == true)
					data += "&" + elem[i].name + "=" + elem[i].value;
			}
			else
				data += "&" + elem[i].name + "=" + elem[i].value;
		hoist.sendBtn.value = "In curs de trimitere...";
		hoist.sendBtn.disabled = true;
		
		hoist.ajax = new Ajax();
		hoist.ajax.post(_root + "solicitari.html?ajax=1&post=1", data, hoist.sendSolicitareCallback);
		return false;
	},
	sendSolicitareCallback: function() {
		if(hoist.ajax.xmlhttp.readyState != 4) return;
		if(hoist.ajax.xmlhttp.status != 200) return;
		
		var s = hoist.ajax.xmlhttp.responseText.split('#', 2);
		
		var id_err = document.getElementById('f_error');
		var id_check = document.getElementById('f_check');
		if(s[0] == '1') id_check.src = _root + "images/secure.php?rand=" + Math.random();
		id_err.innerHTML = '';
		if(s[0] == '0') {
			// e ok
			id_err.innerHTML = '';
			hoist.form.style.display = 'none';
			hoist.divTextSolicitari.innerHTML = '<h2>Trimite solicitare</h2><br /><br />Mesajul a fost trimis!';
		}
		else {
			id_err.innerHTML = s[1];
		
			hoist.sendBtn.value = "Trimite";
			hoist.sendBtn.disabled = false;
		}
	},
	hideContact: function() {
		hoist.divContact.style.visibility = 'hidden';
		hoist.divTextContact.innerHTML = '';
	},
	showContact: function() {
		hoist.closeAll();
		hoist.divContact.style.visibility = 'visible';
		hoist.ajax = new Ajax();
		hoist.ajax.send(_root + "contact.html?ajax=1", hoist.showContactCallback);
		hoist.divTextContact.innerHTML = hoist.loadingText;
	},
	showContactCallback: function() {
		if(hoist.ajax.xmlhttp.readyState != 4) return;
		if(hoist.ajax.xmlhttp.status != 200) return;
		
		hoist.divTextContact.innerHTML = hoist.ajax.xmlhttp.responseText;
	},
	sendContact: function(form) {
		var elem = form.elements;
		hoist.form = form;
		var data = "1=1";
		for(i = 0; i < elem.length; i++)
			if(elem[i].name == "send")
				hoist.sendBtn = elem[i];
			else
				data += "&" + elem[i].name + "=" + elem[i].value;
		hoist.sendBtn.value = "In curs de trimitere...";
		hoist.sendBtn.disabled = true;
		
		hoist.ajax = new Ajax();
		hoist.ajax.post(_root + "contact.html?ajax=1&post=1", data, hoist.sendContactCallback);
		return false;
	},
	sendContactCallback: function() {
		if(hoist.ajax.xmlhttp.readyState != 4) return;
		if(hoist.ajax.xmlhttp.status != 200) return;
		
		var s = hoist.ajax.xmlhttp.responseText.split('#', 2);
		
		var id_err = document.getElementById('f_error');
		var id_check = document.getElementById('f_check');
		if(s[0] == '1') id_check.src = _root + "images/secure.php?rand=" + Math.random();
		id_err.innerHTML = '';
		if(s[0] == '0') {
			// e ok
			id_err.innerHTML = '';
			hoist.form.style.display = 'none';
			document.getElementById('f_ok').innerHTML = "Mesajul a fost trimis!";
		}
		else {
			id_err.innerHTML = s[1];
		
			hoist.sendBtn.value = "Trimite";
			hoist.sendBtn.disabled = false;
		}
	}
}

