/*****************************************************************************************

	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 urlPanels = "php/xmlHttpSwitchPanels.php?";
var urlRecomanda = "php/xmlHttpRecomanda.php?";
var urlContact = "php/xmlHttpContact.php?";
var urlFeedback = "php/xmlHttpFeedback.php?";
var urlInscrieri = "php/xmlHttpInscrieri.php?";

// obiecte xmlHttp
var httpNavVorbitori = getHTTPObject();
var httpRecomanda = getHTTPObject();
var httpContact = getHTTPObject();
var httpFeedback = getHTTPObject();
var httpInscrieri = 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
----------------------------------------------------------------------------------------*/

// mesaj de asteptare 
pleaseWait = function() {
	var mesajWait = "		<h4>Mesajul este in curs de trimitere...</h4>\n<p>Va multumim pentru timpul acordat.</p>\n";
	var feedback = document.createElement('div');
	feedback.setAttribute('id', 'sending');
	feedback.innerHTML = mesajWait;
	document.getElementById('container-formular').replaceChild(feedback, document.getElementById('formular-contact'));
}

pleaseWaitFeedback = function() {
	var mesajWait = "		<h4>Mesajul este in curs de trimitere...</h4>\n<p>Va multumim pentru timpul acordat.</p>\n";
	var feedback = document.createElement('div');
	feedback.setAttribute('id', 'sending');
	feedback.innerHTML = mesajWait;
	document.getElementById('container-formular').replaceChild(feedback, document.getElementById('formular-feedback'));
}

pleaseWaitInscrieri = function() {
	var mesajWait = "		<h4>Datele sunt in curs de trimitere...</h4>\n";
	var feedback = document.createElement('div');
	feedback.setAttribute('id', 'sending');
	feedback.innerHTML = mesajWait;
	document.getElementById('container-formular').replaceChild(feedback, document.getElementById('formular-inscrieri'));
}

// cere un alt panel
callPanel = function(data) {
	httpNavVorbitori.open("GET", urlPanels + data, true);
	httpNavVorbitori.onreadystatechange = displayPanel;
	httpNavVorbitori.send(null);
}

// pune panel nou in container
displayPanel = function() {
    if (httpNavVorbitori.readyState == 4) {
        if (httpNavVorbitori.status == 200) {
			document.getElementById("section").innerHTML = httpNavVorbitori.responseText;
			turnOffLink();
		}
	}
}

// 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 = "		<h4>Recomandarea a fost trimisa!</h4>\n<p>			\nIti multumim pentru timpul acordat. Poti folosi formularul pentru a recomanda evenimentul si altor persoane interesate.\n</p>\n			<p>Vor primi mesajul din partea ta la adresa completata, cu subiectul <i>Eveniment de Cultura Organizationala.</i></p>\n";
			document.getElementById("mesajRecomanda").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);
}

// afiseaza feedback contact
displayFeedbackContact = function() {
	if (httpContact.readyState == 4) {
        if (httpContact.status == 200) {
			var mesajOk = "		<h4>Mesajul a fost trimis cu succes!</h4>\n<p>			\nIti multumim pentru timpul acordat.</p>\n";
			var feedback = document.createElement('div');
			feedback.setAttribute('id', 'send-success');
			feedback.innerHTML = mesajOk;
			document.getElementById('container-formular').removeChild(document.getElementById('sending'));
			document.getElementById('container-formular').appendChild(feedback);
		}
	}	
}

// trimite datele din formular de feedback
submitFeedback = function(data) {
	httpFeedback.open("GET", urlFeedback + data, true);
	httpFeedback.onreadystatechange = displayFeedbackFeedback;
	httpFeedback.send(null);
}

// afiseaza feedback feedback
displayFeedbackFeedback = function() {
	if (httpFeedback.readyState == 4) {
        if (httpFeedback.status == 200) {
			var mesajOk = "		<h4>Formularul a fost trimis cu succes!</h4>\n<p>			\nIti multumim pentru timpul acordat.</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 feedback
submitInscrieri = function(data) {
	httpInscrieri.open("GET", urlInscrieri + data, true);
	httpInscrieri.onreadystatechange = displayFeedbackInscrieri;
	httpInscrieri.send(null);
}

// afiseaza feedback feedback
displayFeedbackInscrieri = function() {
	if (httpInscrieri.readyState == 4) {
        if (httpInscrieri.status == 200) {
			var mesajOk = "		<h4>Datele au fost trimise cu succes!</h4>\n<p>			\nVeti primi in scurt timp un email de confirmare.</p>\n";
			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;
}

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;
}

Checktelmobil = function(element) {
	var temp = element.value;
	var newClass = 'form-correct';
	if (!temp.match(/[0-9]/)) {
		newClass = 'form-error';
	}
	return newClass;
}

Checknrpersoane = function(element) {
	var temp = element.value;
	var newClass = 'form-correct';
	if (!temp || temp < 1) {
		newClass = 'form-error';
	}
	return newClass;
}

LabelFocus = function() {
	var spanClass = this.parentNode.parentNode.className;
	if (spanClass == 'form-correct') {
		this.parentNode.parentNode.className += ' focused-correct';
	} else {
		this.parentNode.parentNode.className += ' focused-error';
	}
}


/****************************************************************************************/



/****************************************************************************************

	INSCRIERI

****************************************************************************************/

/*VARIOUS*/

	// butonul e enabled doar daca sunt completate campurile obligatorii / corect
disableInscrieriButton = function() {
	if (document.getElementById('submit-inscrieri')) {
		document.getElementById('submit-inscrieri').disabled = true;
		document.getElementById('submit-inscrieri').setAttribute('src', 'parts/form-send-clear-disabled.gif');
	}
}

enableInscrieriButton = function() {
	document.getElementById('submit-inscrieri').disabled = false;
	document.getElementById('submit-inscrieri').setAttribute('src', 'parts/form-send-clear.gif');
}

/*FORM STATUS*/
	// dupa fiecare 'blur' verifica daca e sau nu cazul sa fie enabled butonul de submit 
checkFormInscrieri = function() {
	enableInscrieriButton();
	var formular = document.getElementById('formular-inscrieri');
	var spans = formular.getElementsByTagName('span');
	for (var i=0 ; i<spans.length ; i++) {
		if (spans[i].className == 'form-error') { disableInscrieriButton(); }
	}
	if ((!formular.numeinscrieri.value) || (!formular.telefoninscrieri.value) || (!formular.emailinscrieri.value) || (!formular.functieinscrieri.value) || (!formular.companieinscrieri.value) || (!formular.numarpersoane.value) || (!formular.adresa.value) || (!formular.regcom.value) || (!formular.codfiscal.value) || (!formular.banca.value) || (!formular.cont.value) || (formular.verified.checked == 'false')) { disableInscrieriButton(); }
}


// schimba class cum era inainte de onfocus
// daca e obligatoriu (required in class in XHTML), face verificari
LabelBlurInscrieri = function() {
	var formular = document.getElementById('formular-inscrieri');
	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 'numeinscrieri' : this.parentNode.parentNode.className = Checknume(this); break;
			case 'companieinscrieri' : this.parentNode.parentNode.className = Checkexista(this); break;
			case 'functieinscrieri' : this.parentNode.parentNode.className = Checkexista(this); break;
			case 'faxinscrieri' : this.parentNode.parentNode.className = Checkexista(this); break;
			case 'telefoninscrieri' : this.parentNode.parentNode.className = Checkexista(this); break;
			case 'emailinscrieri' : this.parentNode.parentNode.className = Checkemail(this); break;
			case 'numarpersoane' : this.parentNode.parentNode.className = Checknrpersoane(this); break;
			case 'adresa' : this.parentNode.parentNode.className = Checkexista(this); break;
			case 'regcom' : this.parentNode.parentNode.className = Checkexista(this); break;
			case 'codfiscal' : this.parentNode.parentNode.className = Checkexista(this); break;
			case 'banca' : this.parentNode.parentNode.className = Checkexista(this); break;
			case 'cont' : this.parentNode.parentNode.className = Checkexista(this); break;
		}
	}
	// pentru stabilirea statusului enabled/disabled
	checkFormInscrieri();
}

/*PREPARE FORM*/
setupInscrieri = 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', LabelBlurInscrieri);
			}
			// schimba continutul span care atentioneaza eroarea
			if (labels[i].childNodes[j].className == 'attn-error') {
				labels[i].childNodes[j].innerHTML = 'x';
			}
		}
	}
	// hijack submit. e posibil doar daca sunt completate corect campurile
	document.getElementById('formular-inscrieri').onsubmit = function() {
	//pregateste datele pentru xmlhttprequest in format de GET php
		var formular = document.getElementById('formular-inscrieri');
		var data = 'nume=';
		data += formular.numeinscrieri.value;
		data += '&companie=';
		data += formular.companieinscrieri.value;
		data += '&functie=';
		data += formular.functieinscrieri.value;
		data += '&telefon=';
		data += formular.telefoninscrieri.value;
		data += '&email=';
		data += formular.emailinscrieri.value;
		data += '&fax=';
		data += formular.faxinscrieri.value;
		data += '&adresa=';
		data += formular.adresa.value;
		data += '&regcom=';
		data += formular.regcom.value;
		data += '&codfiscal=';
		data += formular.codfiscal.value;
		data += '&banca=';
		data += formular.banca.value;
		data += '&cont=';
		data += formular.cont.value;
		data += '&numarpersoane=';
		data += formular.numarpersoane.value;
		data += '&reduceri=';
		data += formular.reduceri.value;
		// le trimite
		submitInscrieri(data);
		// pentru a preveni dublu submit
		disableInscrieriButton();
		// fade
		$("#formular-inscrieri").slideUp("200", pleaseWaitInscrieri);
		return false;
	}
	// primul check -- are mai mult rol de a opri butonul
	checkFormInscrieri();
}


/****************************************************************************************/

/****************************************************************************************

	FEEDBACK

****************************************************************************************/

/*VARIOUS*/

	// butonul e enabled doar daca sunt completate campurile obligatorii / corect
disableFeedbackButton = function() {
	if (document.getElementById('submit-feedback')) {
		document.getElementById('submit-feedback').setAttribute('src', 'parts/form-send-clear-disabled.gif');
	}
}

enableFeedbackButton = function() {
	document.getElementById('submit-feedback').setAttribute('src', 'parts/form-send-clear.gif');
}

/*FORM STATUS*/

// schimba class cum era inainte de onfocus
// daca e obligatoriu (required in class in XHTML), face verificari
LabelBlurFeedback = function() {
	var spanClass = this.parentNode.parentNode.className.split(' ');
	this.parentNode.parentNode.className = spanClass[0];
	// pentru stabilirea statusului enabled/disabled
}

/*PREPARE FORM*/
setupFeedback = 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', LabelBlurFeedback);
			}
			// schimba continutul span care atentioneaza eroarea
			if (labels[i].childNodes[j].className == 'attn-error') {
				labels[i].childNodes[j].innerHTML = 'X';
			}
		}
	}
	
	// hijack submit. e posibil doar daca sunt completate corect campurile
	document.getElementById('formular-feedback').onsubmit = function() {
	//pregateste datele pentru xmlhttprequest in format de GET php
		var data = 'nume=';
		data += document.getElementById('formular-feedback').nume.value;
		data += 'impresiagenerala=';
		data += document.getElementById('formular-feedback').impresiagenerala.value;
		data += 'observatiiimpresia=';
		data += document.getElementById('formular-feedback').observatiiimpresia.value;
		data += 'beneficii=';
		data += document.getElementById('formular-feedback').beneficii.value;
		data += 'puncteforte=';
		data += document.getElementById('formular-feedback').puncteforte.value;
		data += 'tematiciviitoare=';
		data += document.getElementById('formular-feedback').tematiciviitoare.value;
		data += 'prezentarideosebite=';
		data += document.getElementById('formular-feedback').prezentarideosebite.value;
		data += 'notabaicusi=';
		data += document.getElementById('formular-feedback').notabaicusi.value;
		data += 'notasimion=';
		data += document.getElementById('formular-feedback').notasimion.value;
		data += 'notasamihaian=';
		data += document.getElementById('formular-feedback').notasamihaian.value;
		data += 'notaciausoiu=';
		data += document.getElementById('formular-feedback').notaciausoiu.value;
		data += 'notapersinaru=';
		data += document.getElementById('formular-feedback').notapersinaru.value;
		data += 'notaenache=';
		data += document.getElementById('formular-feedback').notaenache.value;
		data += 'notaghyka=';
		data += document.getElementById('formular-feedback').notaghyka.value;
		data += 'notapascu=';
		data += document.getElementById('formular-feedback').notapascu.value;
		data += 'notastanciu=';
		data += document.getElementById('formular-feedback').notastanciu.value;
		data += 'numarvorbitori=';
		data += document.getElementById('formular-feedback').numarvorbitori.value;
		data += 'invitatiiconferintei=';
		data += document.getElementById('formular-feedback').invitatiiconferintei.value;
		data += 'observatiiinvitatii=';
		data += document.getElementById('formular-feedback').observatiiinvitatii.value;
		data += 'pretulconferintei=';
		data += document.getElementById('formular-feedback').pretulconferintei.value;
		data += 'observatiipretul=';
		data += document.getElementById('formular-feedback').observatiipretul.value;
		data += 'salaconferintei=';
		data += document.getElementById('formular-feedback').salaconferintei.value;
		data += 'observatiisala=';
		data += document.getElementById('formular-feedback').observatiisala.value;
		data += 'masaconferintei=';
		data += document.getElementById('formular-feedback').masaconferintei.value;
		data += 'observatiimasa=';
		data += document.getElementById('formular-feedback').observatiimasa.value;
		data += 'organizareaconferintei=';
		data += document.getElementById('formular-feedback').organizareaconferintei.value;
		data += 'observatiiorganizarea=';
		data += document.getElementById('formular-feedback').observatiiorganizarea.value;
		data += 'durataconferintei=';
		data += document.getElementById('formular-feedback').durataconferintei.value;
		data += 'observatiidurata=';
		data += document.getElementById('formular-feedback').observatiidurata.value;
		data += 'promovareaconferintei=';
		data += document.getElementById('formular-feedback').promovareaconferintei.value;
		data += 'observatiipromovarea=';
		data += document.getElementById('formular-feedback').observatiipromovarea.value;
		data += 'materialeleconferintei=';
		data += document.getElementById('formular-feedback').materialeleconferintei.value;
		data += 'observatiimaterialele=';
		data += document.getElementById('formular-feedback').observatiimaterialele.value;
		data += 'observatiiimbunatatiri=';
		data += document.getElementById('formular-feedback').imbunatatiriobservatii.value;
		
		submitFeedback(data);
		// fade
		$("#formular-feedback").slideUp("100", pleaseWaitFeedback());
		// pentru a preveni dublu submit
		disableFeedbackButton();

		return false;
		
	}
}


/****************************************************************************************/


/****************************************************************************************

	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/form-send-clear-disabled.gif');
	}
}

enableContactButton = function() {
	document.getElementById('submit-contact').setAttribute('src', 'parts/form-send-clear.gif');
}

/*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').nume.value) || (!document.getElementById('formular-contact').subiect.value) || (!document.getElementById('formular-contact').mesaj.value) || (!document.getElementById('formular-contact').email.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 'nume' : this.parentNode.parentNode.className = Checknume(this); break;
			case 'subiect' : this.parentNode.parentNode.className = Checksubiect(this); break;
			case 'email' : this.parentNode.parentNode.className = Checkemail(this); break;
			case 'mesaj' : 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);
			}
			// schimba continutul span care atentioneaza eroarea
			if (labels[i].childNodes[j].className == 'attn-error') {
				labels[i].childNodes[j].innerHTML = 'x';
			}
		}
	}
	// 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').nume.value;
		if (document.getElementById('formular-contact').companie) {
			data += '&companie=';
			data += document.getElementById('formular-contact').companie.value;
		}
		data += '&email=';
		data += document.getElementById('formular-contact').email.value;
		data += '&subiect=';
		data += document.getElementById('formular-contact').subiect.value;
		data += '&mesaj=';
		data += document.getElementById('formular-contact').mesaj.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').nume.value) || (!document.getElementById('formular-contact').mesaj.value) || (!document.getElementById('formular-contact').email.value) || (!document.getElementById('formular-contact').subiect.value)) error = 1;
		
		if (!error) {
			// le trimite
			submitContact(data);
			// pentru a preveni dublu submit
			disableContactButton();
			// fade
			$("#formular-contact").slideUp("200", pleaseWait);
		} else {
			document.getElementById('titlu-trimite').className = "submit-error";
			document.getElementById('titlu-trimite').innerHTML = "Completeaza cu atentie toate datele obligatorii din formular!";
		}

		return false;
	}
	// primul check -- are mai mult rol de a opri butonul
	checkFormContact();
}


/****************************************************************************************/


/****************************************************************************************

	RECOMANDA

****************************************************************************************/

disableTrimiteRecomanda = function() {
	document.getElementById('submit-recomanda').setAttribute('src', 'parts/form-send-disabled.gif');
}

enableTrimiteRecomanda = function() {
	document.getElementById('submit-recomanda').setAttribute('src', 'parts/form-send.gif');
}

/*FORM STATUS*/
	// dupa fiecare 'blur' verifica daca e sau nu cazul sa fie enabled butonul de submit 
checkFormRecomanda = function() {
	enableTrimiteRecomanda();
	var spans = document.getElementById('formular-recomanda').getElementsByTagName('span');
	for (var i=0 ; i<spans.length ; i++) {
		if (spans[i].className == 'form-error') { disableTrimiteRecomanda(); }
	}
	if ((!document.getElementById('formular-recomanda').numerecomanda.value) || (!document.getElementById('formular-recomanda').emailrecomanda.value)) { disableTrimiteRecomanda(); }
}

/*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;
		}
	}
	// pentru stabilirea statusului enabled/disabled
	checkFormRecomanda();
}


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
			if (labels[i].childNodes[j].className == 'attn-error') {
				labels[i].childNodes[j].innerHTML = 'X';
			}
		}
	}
	// 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;

		// le trimite
		recomanda(data);
		// pentru a preveni dublu submit
		disableTrimiteRecomanda();
		return false;
	}
	// primul check -- are mai mult rol de a opri butonul
	checkFormRecomanda();
}

/****************************************************************************************/


turnOffLink = function() {
	var navBarList = document.getElementById("nav").getElementsByTagName("li");
	for (var i=0; i<navBarList.length; i++) {
		navBarList[i].getElementsByTagName("a")[0].className = 'off';
		navBarList[i].getElementsByTagName("a")[0].setAttribute('href', '/');
	}
	turnOnLink();
	if (window.attachEvent) sfHover();
}

turnOnLink = function() {
	var randomPanel = document.getElementById('panel');
	var active = randomPanel.parentNode.id.split('-')[1];
	active = "vorbitori-nav-" + active;
	document.getElementById(active).className = 'on';
	document.getElementById(active).removeAttribute('href');
}

//section box
setupVorbitori = function() {
	var element = document.getElementById("vorbitori-nav");
	
	var torep = document.getElementById("toreplace");
	element.removeChild(torep);
	
	var panelNav = document.createElement("ul");
	panelNav.id = "nav";
	var newli = document.createElement("li");
	var newa = document.createElement("a");
	newa.id = 'vorbitori-nav-leadership';
	newa.className = 'off';
	newa.href = 'vorbitori.php';
	newa.innerHTML = 'Leadership';
	newli.appendChild(newa);
	panelNav.appendChild(newli);
	var newli = document.createElement("li");
	newli.className = 'last';
	var newa = document.createElement("a");
	newa.id = 'vorbitori-nav-strategie';
	newa.className = 'off';
	newa.href = 'vorbitori.php';
	newa.innerHTML = 'Strategie';
	newli.appendChild(newa);
	panelNav.appendChild(newli);
	element.appendChild(panelNav);

	turnOnLink();
	
	var navVorbitori = document.getElementById("vorbitori-nav").getElementsByTagName("a");
	for (var i=0; i<navVorbitori.length; i++) {
		navVorbitori[i].onclick = function() {
			var newPanel = "panel=";
			newPanel += this.getAttribute('id').split('-')[2];
			callPanel(newPanel);
			return false;
		}
	}
}


function openInNewWindow(e) {
	if (!e) var e = window.event;
	// Abort if a modifier key is pressed
	if (e.shiftKey || e.altKey || e.ctrlKey || e.metaKey) {
		return true;
	}
	else {
		// Change "_blank" to something like "newWindow" to load all links in the same new window
	    var newWindow = window.open(this.getAttribute('href'), '_blank');
		if (newWindow) {
			if (newWindow.focus) {
				newWindow.focus();
			}
			return false;
		}
		return true;
	}
}


setup = function() {
	setupRecomanda();
	if (document.getElementById("vorbitori-nav")) setupVorbitori();
	if (document.getElementById("formular-contact")) setupContact();
	if (document.getElementById("formular-feedback")) setupFeedback();
	if (document.getElementById("formular-inscrieri")) setupInscrieri();
	
	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];
			// Find all links with a class name of "non-html"
			if (/\bextern\b/.exec(link.className)) {
				// Create an em element containing the new window warning text and insert it after the link text
				link.onclick = openInNewWindow;
			}
		}
	}
	
	if(typeof sIFR == "function") {
		sIFR.replaceElement(named({sSelector:"#organizers p", sFlashSrc:"parts/franklin.swf", sColor:"#FFFFFF", sBgColor:"#28166F"}));
		sIFR.replaceElement(named({sSelector:"#tagline h2", sFlashSrc:"parts/bellmt.swf", sColor:"#FFFFFF", sBgColor:"#28166F"}));
		sIFR.replaceElement(named({sSelector:"#tagline p", sFlashSrc:"parts/franklin.swf", sColor:"#FFFFFF", sBgColor:"#28166F"}));
		sIFR.replaceElement(named({sSelector:"#teaser h4", sFlashSrc:"parts/franklin.swf", sColor:"#FFFFFF", sBgColor:"#715DBC", sCase:"upper"}));
		sIFR.replaceElement(named({sSelector:"#teaser h3", sFlashSrc:"parts/franklin.swf", nPaddingRight:10, sColor:"#FFFFFF", sBgColor:"#715DBC", sLinkColor:"#FFFFFF", sHoverColor:"#FFFFFF", sCase:"upper"}));
		sIFR.replaceElement(named({sSelector:"#sidebar h3", sFlashSrc:"parts/franklin.swf", sColor:"#222222", sCase:"upper"}));
		sIFR.replaceElement(named({sSelector:"#footer h4", sFlashSrc:"parts/franklin.swf", sColor:"#28166F", sCase:"upper"}));
	}
}
	

	//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);

$(document).ready(function() {
				$("a#toggle-recomanda").click(function() {
					$("#recomanda").slideToggle("300");
					if ($("a#toggle-recomanda").attr('class') == "collapsed") {
						document.getElementById("toggle-recomanda").setAttribute("className", "expanded");
						document.getElementById("toggle-recomanda").setAttribute("class", "expanded");
					} else {
						document.getElementById("toggle-recomanda").setAttribute("className", "collapsed");
						document.getElementById("toggle-recomanda").setAttribute("class", "collapsed");
					}
					return false;
				})
				$("input.check-observatii").click(function() {
					temp = "textarea#observatii" + this.name.slice(5, this.name.length);
					if (this.checked == "checked") {
						this.removeAttribute('checked');
					} else {
						this.checked == "checked";
					}
					$(temp).slideToggle("200");
				})
});