/*****************************************************************************************

	ADDEVENT
		face posibil addEvent(element, event, functie)
		
*****************************************************************************************/

function addEvent( obj, type, fn ) {
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
		EventCache.add(obj, type, fn);
	}
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
		EventCache.add(obj, type, fn);
	}
	else {
		obj["on"+type] = obj["e"+type+fn];
	}
}

var EventCache = function(){
	var listEvents = [];
	return {
		listEvents : listEvents,
		add : function(node, sEventName, fHandler){
			listEvents.push(arguments);
		},
		flush : function(){
			var i, item;
			for(i = listEvents.length - 1; i >= 0; i = i - 1){
				item = listEvents[i];
				if(item[0].removeEventListener){
					item[0].removeEventListener(item[1], item[2], item[3]);
				};
				if(item[1].substring(0, 2) != "on"){
					item[1] = "on" + item[1];
				};
				if(item[0].detachEvent){
					item[0].detachEvent(item[1], item[2]);
				};
				item[0][item[1]] = null;
			};
		}
	};
}();
addEvent(window,'unload',EventCache.flush);

/****************************************************************************************/

/****************************************************************************************

	XMLHTTP
		declara obiect XMLHttpRequest
		trimite datele la url (GET) si anunta ce functie sa apeleze cand primeste raspuns
		interpreteaza raspunsul

****************************************************************************************/

// destinatia datelor trimise de xmlHttpRequest
var urlRecomanda = "php/xmlHttpRecomanda.php?";
var urlContact = "php/xmlHttpContact.php?";
var urlRezervari = "php/xmlHttpRezervari.php?";

// obiecte xmlHttp
var httpRecomanda = getHTTPObject();
var httpContact = getHTTPObject();
var httpRezervari = getHTTPObject();

// declaratia xmlhttprequest pentru diferiti UA
function getHTTPObject() {
	var xmlhttp;
	/*@cc_on
	@if (@_jscript_version >= 5)
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		try {
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	  } catch (E) {
		xmlhttp = false;
	  }
	}
	@else
	xmlhttp = false;
	@end @*/
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		try 
		{
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp = false;
		}
	}
	return xmlhttp;
}

/***************************************************************************************/


/*

	FUNCTII GENERALE
----------------------------------------------------------------------------------------*/

// trimite datale pentru xmlHttpRecomanda
recomanda = function(data) {
	httpRecomanda.open("GET", urlRecomanda + data, true);
	httpRecomanda.onreadystatechange = displayFeedbackRecomanda;
	httpRecomanda.send(null);
}

// afiseaza feedback recomanda
displayFeedbackRecomanda = function() {
	if (httpRecomanda.readyState == 4) {
        if (httpRecomanda.status == 200) {
			var mesajOk = "		<h3>Va multumim pentru recomandare!</h3>\n		<p class='last'>Mesajul a fost trimis! Daca doriti, mai puteti trimite alta recomandare. Va multumim pentru atentie si va asiguram ca adresele de email sunt in siguranta la noi.</p>\n";
			document.getElementById("mesaj-recomanda").innerHTML = mesajOk;
			document.getElementById("formular-recomanda").emailrecomanda.value = "";
		}
	}
}

// trimite datele din formular de contact
submitContact = function(data) {
	httpContact.open("GET", urlContact + data, true);
	httpContact.onreadystatechange = displayFeedbackContact;
	httpContact.send(null);
}

pleaseWaitContact = function() {
	var mesajWait = "		<h3>Datele sunt in curs de trimitere...<span>&nbsp;</span></h3>\n	<p>Va rugam sa asteptati. Nu dureaza mult.</p>\n";
	var feedback = document.createElement('div');
	feedback.setAttribute('id', 'sending');
	feedback.innerHTML = mesajWait;
	document.getElementById('container-formular').replaceChild(feedback, document.getElementById('formular-contact'));
}

// afiseaza feedback contact
displayFeedbackContact = function() {
	if (httpContact.readyState == 4) {
        if (httpContact.status == 200) {
			var mesajOk = "		<h2>Mesajul a fost trimis cu succes<span>&nbsp;</span></h2>\n		<p>Va multumim pentru timpul acordat. Va vom raspunde in cel mai scurt timp cu informatii relevante pentru Dvs.</p>\n		<p>Nu uitati, puteti <a href='rezervari.php' title='Rezervari online'>rezerva online</a> camere la Hanul cu Jar.</p>\n";
			var feedback = document.createElement('div');
			feedback.setAttribute('id', 'send-success');
			feedback.innerHTML = mesajOk;
			document.getElementById('container-formular').replaceChild(feedback, document.getElementById('sending'));
		}
	}	
}

// trimite datele din formular de inscrieri
submitRezervari = function(data) {
	httpRezervari.open("GET", urlRezervari + data, true);
	httpRezervari.onreadystatechange = displayFeedbackRezervari;
	httpRezervari.send(null);
}

// mesaj de asteptare 
pleaseWaitRezervari = function() {
	var mesajWait = "		<h3>Datele sunt in curs de trimitere...<span>&nbsp;</span></h3>\n	<p>Va rugam sa asteptati. Nu dureaza mult.</p>\n";
	var feedback = document.createElement('div');
	feedback.setAttribute('id', 'sending');
	feedback.innerHTML = mesajWait;
	document.getElementById('container-formular').replaceChild(feedback, document.getElementById('formular-rezervari'));
}

// afiseaza feedback inscrieri
displayFeedbackRezervari = function() {
	if (httpRezervari.readyState == 4) {
        if (httpRezervari.status == 200) {
			var mesajOk = "		<h2 class='first'>Rezervarea a fost facuta cu succes<span>&nbsp;</span></h2>\n		<p>Va multumim pentru incredere. Va vom contacta in cel mai scurt timp la una dintre adresele de contact completate de Dvs.</p>\n		<p>Daca doriti, puteti completa mini-formularul de recomandare de mai jos pentru a recomanda Hanul cu Jar unei persoane interesate.</p>\n";
			mesajOk += "<h2>Rezervarea Dvs<span>&nbsp;</span></h2>\n";
			if (document.body.className == "rezervari") {
				mesajOk += "<h3 class='first'>Date<span>&nbsp;</span></h3>\n<ul>\n	<li>Data sosirii: " +  daterezervare[0] + "</li>\n	<li>Data plecarii: " + daterezervare[1] + "</li>\n</ul>\n<h3>Camerele rezervate<span>&nbsp;</span></h3>\n<ul>\n";
				if (daterezervare[2] != "0") mesajOk +=  "	<li>Camere single: " + daterezervare[2] + " (140<small>RON</small> / noapte)</li>\n";
				if (daterezervare[3] != "0") mesajOk +=  "	<li>Camere duble: " + daterezervare[3] + " (160<small>RON</small> / noapte)</li>\n";
				if (daterezervare[4] != "0") mesajOk +=  "	<li>Camere extinse: " + daterezervare[4] + " (180<small>RON</small> / noapte)</li>\n";
				if (daterezervare[5] != "0") mesajOk +=  "	<li>Apartamente: " + daterezervare[5] + " (200<small>RON</small> / noapte)</li>\n";
				mesajOk +=  "	<li><strong>Total de plata:</strong> " + (daterezervare[2] * 140 + daterezervare[3] * 160 + daterezervare[4] * 180 + daterezervare[5] * 200) + "<small>RON</small></li>\n</ul>\n<h3>Pachet turistic<span>&nbsp;</span></h3>\n";
				if (daterezervare[6] == "micdejun") mesajOk +=  "<p>Mic dejun (inclus in pretul camerei)</p>\n";
				if (daterezervare[6] == "demipensiune") mesajOk +=  "<p>Demi-pensiune (+ 36<small>RON</small> de persoana)</p>\n";
				if (daterezervare[6] == "pensiunecompleta") mesajOk +=  "<p>Pensiune completa (+ 68<small>RON</small> de persoana)</p>\n";
			}
			if (document.body.className == "revelion") {
				mesajOk += "<h3>Pachet turistic &ndash; in regim de pensiune completa<span>&nbsp;</span></h3>\n";
				if (daterezervare[0] == "gigagrup") mesajOk +=  "<p>Giga Grup (50.000 <small>RON</small> pentru tot grupul)</p>\n";
				if (daterezervare[0] == "mini") mesajOk +=  "<p>Mini (1.000 <small>RON</small> de persoana)</p>\n";
				if (daterezervare[0] == "ideal") mesajOk +=  "<p>Ideal (1.200 <small>RON</small> de persoana)</p>\n";
				if (daterezervare[0] == "maxi") mesajOk +=  "<p>Maxi (1.400 <small>RON</small> de persoana)</p>\n";
				if (daterezervare[0] == "giga") mesajOk +=  "<p>Giga (1.600 <small>RON</small> de persoana)</p>\n";
			}

			mesajOk += "<p class='last'>Va asteptam!</p>";

			var feedback = document.createElement('div');
			feedback.setAttribute('id', 'send-success');
			feedback.innerHTML = mesajOk;
			document.getElementById('container-formular').replaceChild(feedback, document.getElementById('sending'));
		}
	}	
}



/*CHECK FIELDS*/
Checksubiect = function(element) {
	var temp = element.value;
	var newClass = 'form-correct';
	if (!temp.match(/[a-zA-Z0-9]/)) {
		newClass = 'form-error';
	}
	return newClass;
}

Checkmesaj = function(element) {
	var temp = element.value;
	var newClass = 'form-correct';
	if (!temp.match(/[a-zA-Z0-9]/)){
		newClass = 'form-error';
	}
	return newClass;
}

Checknume = function(element) {
	var temp = element.value;
	var newClass = 'form-correct';
	if ((!temp) || (temp.match(/[0-9]/))) {
		newClass = 'form-error';
	}
	return newClass;
}

Checkexista = function(element) {
	var temp = element.value;
	var newClass = 'form-correct';
	if (!temp) {
		newClass = 'form-error';
	}
	return newClass;
}

Checkdata = function(element) {
	var temp = element.value;
	var newClass = 'form-correct';
	
	var parts = temp.split('.');
	var zi = parts[0];
	var luna = parts[1];
	var an = parts[2];
	if (!temp || parts.length != 3 || zi * 1 < 1 || zi * 1 > 31 || zi.length > 2 || luna * 1 < 1 || luna * 1 > 12 || luna.length > 2|| an * 1 < 2008 || an.length != 4) {
		newClass = 'form-error';
	}
	return newClass;
}

Checkemail = function(element) {
	var temp = element.value;
	var newClass = 'form-correct';
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (!filter.test(temp)) {
		newClass = 'form-error';
	}
	return newClass;
}

Checktel = function(element) {
	var temp = element.value;
	var newClass = 'form-correct';
	if (!temp.match(/[0-9]/)) {
		newClass = 'form-error';
	}
	return newClass;
}

LabelFocus = function() {
	var spanClass = this.parentNode.parentNode.className;
	if (spanClass == 'form-correct' || spanClass == 'initial') {
		this.parentNode.parentNode.className += ' focused-correct';
	} else {
		this.parentNode.parentNode.className += ' focused-error';
	}
}


/****************************************************************************************/


/****************************************************************************************

	REZERVARI

****************************************************************************************/

	// butonul e enabled doar daca sunt completate campurile obligatorii / corect
disableRezervariButton = function() {
	if (document.getElementById('submit-rezervari')) {
		document.getElementById('submit-rezervari').setAttribute('src', 'parts/rezervare-send-disabled.jpg');
	}
}

enableRezervariButton = function() {
	document.getElementById('submit-rezervari').setAttribute('src', 'parts/rezervare-send.jpg');
}

/*FORM STATUS*/
	// dupa fiecare 'blur' verifica daca e sau nu cazul sa fie enabled butonul de submit 
checkFormRezervari = function() {
	enableRezervariButton();
	var spans = document.getElementById('formular-rezervari').getElementsByTagName('span');
	for (var i=0 ; i<spans.length ; i++) {
		if (spans[i].className == 'form-error') disableRezervariButton();
	}
	
	if (document.body.className == "rezervari") {
		if ((!document.getElementById('formular-rezervari').numer.value) || (!document.getElementById('formular-rezervari').telr.value) || (!document.getElementById('formular-rezervari').emailr.value) || (!document.getElementById('formular-rezervari').datasr.value) || (!document.getElementById('formular-rezervari').datapr.value) || (document.getElementById('formular-rezervari').nrsingle.value == "0" && document.getElementById('formular-rezervari').nrduble.value == "0" && document.getElementById('formular-rezervari').nrextinse.value == "0" && document.getElementById('formular-rezervari').nrapt.value == "0")) disableRezervariButton();
	}
	if (document.body.className == "revelion") {
		if ((!document.getElementById('formular-rezervari').numer.value) || (!document.getElementById('formular-rezervari').telr.value) || (!document.getElementById('formular-rezervari').emailr.value)) disableRezervariButton();
	}
}

// schimba class cum era inainte de onfocus
// daca e obligatoriu (required in class in XHTML), face verificari
LabelBlurRezervari = function() {
	var spanClass = this.parentNode.parentNode.className.split(' ');
	this.parentNode.parentNode.className = spanClass[0];
	if (this.className == 'required') {
		var checker = this.getAttribute('name');
		switch (checker) {
			case 'numer' : this.parentNode.parentNode.className = Checknume(this); break;
			case 'emailr' : this.parentNode.parentNode.className = Checkemail(this); break;
			case 'telr' : this.parentNode.parentNode.className = Checktel(this); break;
			case 'datapr' : this.parentNode.parentNode.className = Checkdata(this); break;
			case 'datasr' : this.parentNode.parentNode.className = Checkdata(this); break;
		}
	}
	// pentru stabilirea statusului enabled/disabled
	checkFormRezervari();
}

var daterezervare = new Array();

/*PREPARE FORM*/
setupRezervari = function() {
	var labels = document.getElementsByTagName('label');
	for (var i=0 ; i<labels.length ; i++) {
		for (var j=0 ; j<labels[i].childNodes.length ; j++) {
			// adauga event pentru onfocus si onblur
			if ((labels[i].childNodes[j].tagName == 'INPUT') || (labels[i].childNodes[j].tagName == 'TEXTAREA')) {
				var temp = labels[i].childNodes[j];
				addEvent(temp, 'focus', LabelFocus);
				addEvent(temp, 'blur', LabelBlurRezervari);
			}
			// schimba continutul span care atentioneaza eroarea
		}
	}
	
	// hijack submit. e posibil doar daca sunt completate corect campurile
	document.getElementById('formular-rezervari').onsubmit = function() {
	//pregateste datele pentru xmlhttprequest in format de GET php
		tipformular = document.body.className;
		data = 'formular=';
		data += document.body.className;
		data += '&nume=';
		data += document.getElementById('formular-rezervari').numer.value;
		data += '&email=';
		data += document.getElementById('formular-rezervari').emailr.value;
		data += '&tel=';
		data += document.getElementById('formular-rezervari').telr.value;
		if (tipformular == "rezervari") {
			data += '&datas=';
			data += document.getElementById('formular-rezervari').datasr.value;
			daterezervare.push(document.getElementById('formular-rezervari').datasr.value);
			data += '&datap=';
			data += document.getElementById('formular-rezervari').datapr.value;
			daterezervare.push(document.getElementById('formular-rezervari').datapr.value);
			data += '&nrsingle=';
			data += document.getElementById('formular-rezervari').nrsingle.value;
			daterezervare.push(document.getElementById('formular-rezervari').nrsingle.value);
			data += '&nrduble=';
			data += document.getElementById('formular-rezervari').nrduble.value;
			daterezervare.push(document.getElementById('formular-rezervari').nrduble.value);
			data += '&nrextinse=';
			data += document.getElementById('formular-rezervari').nrextinse.value;
			daterezervare.push(document.getElementById('formular-rezervari').nrextinse.value);
			data += '&nrapt=';
			data += document.getElementById('formular-rezervari').nrapt.value;
			daterezervare.push(document.getElementById('formular-rezervari').nrapt.value);
			if (document.getElementById('micdejun').checked == true) tippachet = "micdejun";
			if (document.getElementById('demipensiune').checked == true) tippachet = "demipensiune";
			if (document.getElementById('pensiunecompleta').checked == true) tippachet = "pensiunecompleta";
		}
		
		if (tipformular == "revelion") {
			if (document.getElementById('gigagrup').checked == true) tippachet = "gigagrup";
			if (document.getElementById('mini').checked == true) tippachet = "mini";
			if (document.getElementById('ideal').checked == true) tippachet = "ideal";
			if (document.getElementById('maxi').checked == true) tippachet = "maxi";
			if (document.getElementById('giga').checked == true) tippachet = "giga";
		}
		
		data += '&tippachet=';
		data += tippachet;
		daterezervare.push(tippachet);
		if (tipformular == "rezervari") {
			data += '&mesaj=';
			data += document.getElementById('formular-rezervari').mesajr.value;
		}
		data += '&obs=';
		data += document.getElementById('formular-rezervari').obsr.value;
		
		// verifica & trimite
		var error = 0;

		var spans = document.getElementById('formular-rezervari').getElementsByTagName('span');
		for (var i=0 ; i<spans.length ; i++) {
			if (spans[i].className == 'form-error') error = 1;
		}
		
		if (tipformular == "rezervari") {
			if ((!document.getElementById('formular-rezervari').numer.value) || (!document.getElementById('formular-rezervari').telr.value) || (!document.getElementById('formular-rezervari').emailr.value) || (!document.getElementById('formular-rezervari').datasr.value) || (!document.getElementById('formular-rezervari').datapr.value) || (document.getElementById('formular-rezervari').nrsingle.value == "0" && document.getElementById('formular-rezervari').nrduble.value == "0" && document.getElementById('formular-rezervari').nrextinse.value == "0" && document.getElementById('formular-rezervari').nrapt.value == "0")) error = 1;
		}
		if (tipformular == "revelion") {
			if ((!document.getElementById('formular-rezervari').numer.value) || (!document.getElementById('formular-rezervari').telr.value) || (!document.getElementById('formular-rezervari').emailr.value)) error = 1;
		}
		
		if (!error) {
			submitRezervari(data);
			// fade
			pleaseWaitRezervari();
			// pentru a preveni dublu submit
			disableRezervariButton();
		} else {
			document.getElementById('mesaj-trimite').className = "submit-error";
			document.getElementById('mesaj-trimite').innerHTML = "Completati cu atentie datele din formular.";
		}

		return false;
		
	}
	// primul check -- are mai mult rol de a opri butonul
	checkFormRezervari();
}


/****************************************************************************************/


/****************************************************************************************

	CONTACT

****************************************************************************************/

/*VARIOUS*/

	// butonul e enabled doar daca sunt completate campurile obligatorii / corect
disableContactButton = function() {
	if (document.getElementById('submit-contact')) {
		document.getElementById('submit-contact').setAttribute('src', 'parts/contact-send-disabled.jpg');
	}
}

enableContactButton = function() {
	document.getElementById('submit-contact').setAttribute('src', 'parts/contact-send.jpg');
}

/*FORM STATUS*/
	// dupa fiecare 'blur' verifica daca e sau nu cazul sa fie enabled butonul de submit 
checkFormContact = function() {
	enableContactButton();
	var spans = document.getElementById('formular-contact').getElementsByTagName('span');
	for (var i=0 ; i<spans.length ; i++) {
		if (spans[i].className == 'form-error') { disableContactButton(); }
	}
	if ((!document.getElementById('formular-contact').numec.value) || (!document.getElementById('formular-contact').mesajc.value) || (!document.getElementById('formular-contact').emailc.value)) { disableContactButton(); }
}


// schimba class cum era inainte de onfocus
// daca e obligatoriu (required in class in XHTML), face verificari
LabelBlurContact = function() {
	var spanClass = this.parentNode.parentNode.className.split(' ');
	this.parentNode.parentNode.className = spanClass[0];
	if (this.className == 'required') {
		var checker = this.getAttribute('name');
		switch (checker) {
			case 'numec' : this.parentNode.parentNode.className = Checknume(this); break;
			case 'subiectc' : this.parentNode.parentNode.className = Checksubiect(this); break;
			case 'emailc' : this.parentNode.parentNode.className = Checkemail(this); break;
			case 'mesajc' : this.parentNode.parentNode.className = Checkmesaj(this); break;
		}
	}
	// pentru stabilirea statusului enabled/disabled
	checkFormContact();
}

/*PREPARE FORM*/
setupContact = function() {
	var labels = document.getElementsByTagName('label');
	for (var i=0 ; i<labels.length ; i++) {
		for (var j=0 ; j<labels[i].childNodes.length ; j++) {
			// adauga event pentru onfocus si onblur
			if ((labels[i].childNodes[j].tagName == 'INPUT') || (labels[i].childNodes[j].tagName == 'TEXTAREA')) {
				var temp = labels[i].childNodes[j];
				addEvent(temp, 'focus', LabelFocus);
				addEvent(temp, 'blur', LabelBlurContact);
			}
		}
	}
	// hijack submit. e posibil doar daca sunt completate corect campurile
	document.getElementById('formular-contact').onsubmit = function() {
	//pregateste datele pentru xmlhttprequest in format de GET php
		var data = 'nume=';
		data += document.getElementById('formular-contact').numec.value;
		data += '&email=';
		data += document.getElementById('formular-contact').emailc.value;
		data += '&subiect=';
		data += document.getElementById('formular-contact').subiectc.value;
		data += '&mesaj=';
		data += document.getElementById('formular-contact').mesajc.value;

		// verifica & trimite
		var error = 0;

		var spans = document.getElementById('formular-contact').getElementsByTagName('span');
		for (var i=0 ; i<spans.length ; i++) {
			if (spans[i].className == 'form-error') error = 1;
		}
		
		if ((!document.getElementById('formular-contact').numec.value) || (!document.getElementById('formular-contact').mesajc.value) || (!document.getElementById('formular-contact').emailc.value)) error = 1;
		
		if (!error) {
			// le trimite
			submitContact(data);
			pleaseWaitContact();
			// pentru a preveni dublu submit
			disableContactButton();
		} else {
			document.getElementById('mesaj-trimite').innerHTML = "Va rugam sa completati cu atentie campurile formularului.";
		}

		return false;
	}
	// primul check -- are mai mult rol de a opri butonul
	checkFormContact();
}

/****************************************************************************************/


/****************************************************************************************

	RECOMANDA

****************************************************************************************/

/*ASSIGN STATUES*/
// modifica class pentru formatare

// daca e obligatoriu (required in class in XHTML), face verificari
LabelBlur = function() {
	var spanClass = this.parentNode.parentNode.className.split(' ');
	this.parentNode.parentNode.className = spanClass[0];
	if (this.className == 'required') {
		var checker = this.getAttribute('name');
		switch (checker) {
			case 'numerecomanda' : this.parentNode.parentNode.className = Checknume(this); break;
			case 'emailrecomanda' : this.parentNode.parentNode.className = Checkemail(this); break;
		}
	}
}


setupRecomanda = function() {
	var labels = document.getElementById("formular-recomanda").getElementsByTagName('label');
	for (var i=0 ; i<labels.length ; i++) {
		for (var j=0 ; j<labels[i].childNodes.length ; j++) {
			// adauga event pentru onfocus si onblur
			if (labels[i].childNodes[j].tagName == 'INPUT') {
				var temp = labels[i].childNodes[j];
				addEvent(temp, 'focus', LabelFocus);
				addEvent(temp, 'blur', LabelBlur);
			}
			// schimba continutul span care atentioneaza eroarea
		}
	}
	// hijack submit. e posibil doar daca sunt completate corect campurile
	document.getElementById('formular-recomanda').onsubmit = function() {
	//pregateste datele pentru xmlhttprequest in format de GET php
		var data = 'numerecomanda=';
		data += document.getElementById('formular-recomanda').numerecomanda.value;
		data += '&emailrecomanda=';
		data += document.getElementById('formular-recomanda').emailrecomanda.value;
		
		error = 0;
		
		var spans = document.getElementById('formular-recomanda').getElementsByTagName('span');
		for (var i=0 ; i<spans.length ; i++) {
			if (spans[i].className == 'form-error') error = 1;
		}
		
		if ((!document.getElementById('formular-recomanda').numerecomanda.value) || (!document.getElementById('formular-recomanda').emailrecomanda.value)) error = 1;
		
		if (!error) {
			// le trimite
			recomanda(data);
		}
		
		return false;
	}
}

/****************************************************************************************/


function openInNewWindow(hr) {
	var newWindow = window.open(hr, '_blank');
}

function toggleDetalii(element) {
	car = element.parentNode.getElementsByTagName("ul")[0];
	if (car.className.indexOf("hidden") != -1) {
		car.className = "caracteristici vizibil";	
	} else {
		car.className = "caracteristici hidden";	
	}
}

setup = function() {
	
	if (document.getElementById("formular-recomanda")) setupRecomanda();
	if (document.getElementById("formular-contact")) setupContact();
	if (document.getElementById("formular-rezervari")) setupRezervari();
	
	if (document.getElementById && document.createElement && document.appendChild) {
		var links = document.getElementsByTagName('a');
		var link;
		for (var i = 0; i < links.length; i++) {
			link = links[i];
			if (link.className.indexOf("extern") != -1) {
				link.onclick = function() {openInNewWindow(this.href); return false;}
			}
			if ((/\btoggle-caracteristici\b/.exec(link.className))) {
				link.href="#";
				link.parentNode.getElementsByTagName("ul")[0].className += " hidden";
				link.onclick = function() {toggleDetalii(this); return false;}
			}
		}
	}
}
	

	//li:hover for IE, which doesn't support it
	sfHover = function() {
		if (document.getElementById("panel")) {
			var items = document.getElementById("panel").getElementsByTagName("li");
			for (var i=0; i<items.length; i++) {
				addEvent(items[i], 'mouseover', function() {this.className+=" fauxhover";})
				addEvent(items[i], 'mouseout', function() {this.className=this.className.replace(new RegExp(" fauxhover\\b"), "");})
			}
		}
	}
	
	if (window.attachEvent) window.attachEvent("onload", sfHover);
	

addEvent(window, 'load', setup);
