var cerere;
var isIE;
var campCompletat;
var tabel;
var auto_rand;
var site_url = 'http://www.edecon.ro/';

function stergeInputValue(){
	if(document.getElementById('completat').value == 'Căutare...')
		document.getElementById('completat').value = '';
}
function interactiuneAJAX(urlScript){
	var url = urlScript;
	if(window.XMLHttpRequest){
		cerere = new XMLHttpRequest();
		cerere.onreadystatechange = proceseazaCererea;
		cerere.open("GET", url, true);
		cerere.send(null);
	}
	else if(window.ActiveXObject){
		cerere = new ActiveXObject("Msxml2,XMLHTTP");
		if(cerere){
			cerere.onreadystatechange = proceseazaCererea;
			cerere.open("GET", url, true);
			cerere.send(null);			
		}
	}
}
function proceseazaCererea(){
	if(cerere.readyState == 4){
		if(cerere.status == 200){
			postProcesare(cerere.responseXML);
		}
	}
}
function obtineElementY(element){
	var top = 0;
	if(element.offsetParent){
		while (element.offsetParent){
			top += element.offsetTop;
			element = element.offsetParent;
		}
	}
	else if(element.y){
		top += element.y;
	}
	return top;
}
function obtineElementX(element){
	var left = 0;
	if(element.offsetParent){
		while (element.offsetParent){
			left += element.offsetLeft;
			element = element.offsetParent;
		}
	}
	else if(element.x){
		left += element.x;
	}
	return left;
}
function initializare(){
	tabel = document.getElementById('tabel');
}
function completeaza(){
	stergeTabel();
	var cheieCautare = trimAll(document.getElementById('completat').value);
	cheieCautare = replDiacrt(cheieCautare);
	if( cheieCautare != ''){
		var url = site_url + "business_objects/autocompletare_titlu.php?actiune=completare&cheie=" + escape(cheieCautare) + "&filtru=" + escape(document.getElementById('filtru').value) + "&subcategorie=" + escape(document.getElementById('subcategorie').value);
		interactiuneAJAX(url);
	}
}
function postProcesare(responseXML){
	stergeTabel();
	var carti = responseXML.getElementsByTagName("carti")[0];
	if(carti)
	{ 
		if(carti.childNodes.length > 0){
			auto_rand = document.getElementById('menu-popup');
			auto_rand.style.border = "1px solid #bbb";
			auto_rand.style.borderBottomLeftRadius = "6px";
			auto_rand.style.borderBottomRightRadius = "6px";
			auto_rand.style.borderTopLeftRadius = "1px";
			auto_rand.style.borderTopRightRadius = "2px";		
			auto_rand.style.backgroundColor = '#fff';
			auto_rand.style.boxShadow = '0px 3px 6px #aaa';
			campCompletat = document.getElementById('completat');
			auto_rand.style.top = obtineElementY(campCompletat) + campCompletat.offsetHeight + "px";
			auto_rand.style.left = obtineElementX(campCompletat) + "px";
		
			var linkDelIcon = document.createElement("a");
			linkDelIcon.setAttribute("href","javascript:stergeTabel();");
			linkDelIcon.setAttribute("title","Închide");
			var delIcon = document.createElement("img");
			delIcon.className = "delIcon";
			delIcon.setAttribute("src", site_url + "images/upload/close.png");
			delIcon.setAttribute("alt","Închide");
			delIcon.setAttribute("title","Închide");
			delIcon.style.top = "1px";
			delIcon.style.left = auto_rand.offsetWidth - 20 + "px";
			linkDelIcon.appendChild(delIcon);
			auto_rand.appendChild(linkDelIcon);
		}
		for(var i=0; i < carti.childNodes.length; i++){
			var carte = carti.childNodes[i];
			var titlu = carte.getElementsByTagName("titlu")[0].childNodes[0].nodeValue;
			var an = carte.getElementsByTagName("an")[0].childNodes[0].nodeValue;
			var carte_id = carte.getElementsByTagName("id")[0].childNodes[0].nodeValue;
			var poza = carte.getElementsByTagName("poza")[0].childNodes[0].nodeValue;
			var link_carte = carte.getElementsByTagName("urls")[0].childNodes[0].nodeValue;
			tabel.style.visibility = 'visible';
			
			var autoriArray = null;
			if(carte.getElementsByTagName("autor")){					
				var autori = carte.getElementsByTagName("autor");
				autoriArray = new Array();
				for(var j=0; j < autori.length; j++){
					autoriArray[j] = new Array();
					autoriArray[j]['nume'] = autori[j].getElementsByTagName("autor_nume")[0].childNodes[0].nodeValue;
					autoriArray[j]['link'] = autori[j].getElementsByTagName("autor_link")[0].childNodes[0].nodeValue;
				}
			}
			adaugaCarte(titlu, an, carte_id, poza, link_carte, autoriArray);
		}
		if(carti.childNodes.length > 0){
			var rand;
			var celula;
			if(isIE){
				rand = tabel.insertRow(tabel);
				celula = rand.insertCell(0);
			}
			else {
				rand = document.createElement("tr");
				celula = document.createElement("td");
				rand.appendChild(celula);
				tabel.appendChild(rand);
			}
			rand.className = "popupRow";	
			celula.className = "popupCellRez";
			
			var linkRezComplete = document.createElement('div');
			linkRezComplete.className = 'rezComplete';			
			var spanRezComplete = document.createElement('span');
			spanRezComplete.appendChild(document.createTextNode('"' + document.getElementById('completat').value +'"'));
			var textRezComplete = document.createTextNode('Vezi toate rezultatele pentru ');
			var aRezComplete = document.createElement('a');
			aRezComplete.setAttribute('href', site_url + 'cautare-avansata/cauta-' + document.getElementById('completat').value + '/filtru-' + document.getElementsByName('SearchFiltru').item(0).value + '/domeniu-' + document.getElementsByName('SearchSubcategorie').item(0).value);
			aRezComplete.appendChild(textRezComplete);
			aRezComplete.appendChild(spanRezComplete);
			aRezComplete.appendChild(document.createTextNode(' »'));
			
			linkRezComplete.appendChild(aRezComplete);			
			celula.appendChild(linkRezComplete);
			document.getElementById("menu-popup").style.backgroundColor = '#f2f2f2';
		}
	}
	else
		stergeTabel();
}
function stergeTabel(){
	if(tabel){
		tabel.setAttribute("bordercolor","white");
		tabel.setAttribute("border","0");
		tabel.setAttribute("box-shadow","0 0 0 #fff");
		tabel.style.visible = false;
		tabel.style.visibility = 'hidden';
		for(var i = tabel.childNodes.length -1; i >= 0; i--){
			tabel.removeChild(tabel.childNodes[i]);
		}
		auto_rand = document.getElementById("menu-popup");
		auto_rand.style.border = "0px";
		auto_rand.style.boxShadow = '0 0 0 #fff';
		auto_rand.style.backgroundColor = 'transparent';
	}
	var closeIcon = document.getElementsByClassName('delIcon');
	
	if(closeIcon)
	{
		for(var i=0;i<closeIcon.length;i++)
		{
			closeIcon[i].style.visibility = 'hidden';	
		}
	}
}
function adaugaCarte(titlu, an, carte_id, fisier_poza, link_carte, autoriArray){
	var arrayDiacrt = new Array('ă', 'ț', 'ţ', 'ș', 'ş', 'î', 'â');
	var arrayDiacrtRpl = new Array('a', 't', 't', 's', 's', 'i', 'a');
	var titluNoDiacrt = titlu;
	
	for(var i=0; i<arrayDiacrt.length; i++)
		var titluNoDiacrt = titluNoDiacrt.replace(new RegExp(arrayDiacrt[i], "gi"), arrayDiacrtRpl[i]);
	
	var pozitieCheie = titluNoDiacrt.search(new RegExp(replDiacrt(trimAll(document.getElementById('completat').value)), "i"));
	if (pozitieCheie != -1){	
		var titlu1 = titlu.substr(0, pozitieCheie);
		var titlu2 = titlu.substr(pozitieCheie + replDiacrt(trimAll(document.getElementById('completat').value)).length);
	}
	else{
		var titlu1 = titlu;
		var titlu2 = '';		
	}
	var rand;
	var celula;
	if(isIE){
		rand = tabel.insertRow(tabel);
		celula = rand.insertCell(0);
	}
	else {
		rand = document.createElement("tr");
		celula = document.createElement("td");
		rand.appendChild(celula);
		tabel.appendChild(rand);
	}
	rand.className = "popupRow";	
	celula.className = "popupCell";
	celula.setAttribute('valign','middle');
 		
	var pozaLink = document.createElement("a");
	pozaLink.setAttribute("href",link_carte);
	var poza = document.createElement("img");
	poza.className = "pozaProiect";
	poza.setAttribute("src", site_url + "images/coperti/" + fisier_poza);
	poza.setAttribute("align",'left'); 
	poza.setAttribute("height",'60');
	poza.setAttribute("width",'42');
	poza.setAttribute("title", titlu);
	
	pozaLink.appendChild(poza)
	celula.appendChild(pozaLink);
   
	var linkDivElement = document.createElement("div");
	linkDivElement.className = "popupDivText";
	
	var linkElement = document.createElement("a");
	linkElement.className = "popupText";
	linkElement.setAttribute("href", link_carte);
	linkElement.setAttribute("title","Vezi detalii");
	
	var titlu1Text = document.createTextNode(titlu1);	
	if(an != '0000')
		var titlu2Text = document.createTextNode(titlu2 + " (" + an + ")");	
	else
		var titlu2Text = document.createTextNode(titlu2);
	linkElement.appendChild(titlu1Text);
	var spanCheie = document.createElement("span");
	spanCheie.style.fontWeight = 'bold';
	spanCheie.style.color = '#444';
	if (pozitieCheie != -1){
		spanCheie.appendChild(document.createTextNode(titlu.substr(pozitieCheie, replDiacrt(trimAll(document.getElementById('completat').value)).length)));
		linkElement.appendChild(spanCheie);
	}	
	linkElement.appendChild(titlu2Text);	
	linkDivElement.appendChild(linkElement);
	
	var autoriDiv = document.createElement('div');
	autoriDiv.className = 'divAutori';
	if(autoriArray !== null)
	{
		for(var j=0; j<autoriArray.length;j++)
		{
			var autoriALink = document.createElement('a');
			autoriALink.className = 'autori';
			autoriALink.setAttribute('href',autoriArray[j]['link']);
			
			for(var i=0; i<arrayDiacrt.length; i++)
				var numeNoDiacrt = autoriArray[j]['nume'].replace(new RegExp(arrayDiacrt[i], "gi"), arrayDiacrtRpl[i]);

			var pozitieCheieAutor = numeNoDiacrt.search(new RegExp(replDiacrt(trimAll(document.getElementById('completat').value)), "i"));
			if (pozitieCheieAutor != -1){	
				var autorNume1 = autoriArray[j]['nume'].substr(0, pozitieCheieAutor);
				var autorNume2 = autoriArray[j]['nume'].substr(pozitieCheieAutor+replDiacrt(trimAll(document.getElementById('completat').value)).length);
			}
			else{
				var autorNume1 = autoriArray[j]['nume'];
				var autorNume2 = '';		
			}
			
			autoriALink.appendChild(document.createTextNode(autorNume1));
			var spanCheieAutor = document.createElement("span");
			spanCheieAutor.style.fontWeight = 'bold';
			spanCheieAutor.style.color = '#444';
			if (pozitieCheieAutor != -1){
				spanCheieAutor.appendChild(document.createTextNode(autoriArray[j]['nume'].substr(pozitieCheieAutor, replDiacrt(trimAll(document.getElementById('completat').value)).length)));
				autoriALink.appendChild(spanCheieAutor);
			}	
			autoriALink.appendChild(document.createTextNode(autorNume2));
			autoriDiv.appendChild(autoriALink);
			if(j != (autoriArray.length-1))
				autoriDiv.appendChild(document.createTextNode(', '));
		}	
	}
	linkDivElement.appendChild(autoriDiv);
	celula.appendChild(linkDivElement);
}

function trimAll(sString){
	while (sString.substring(0,1) == ' '){
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' '){
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
} 
function replDiacrt(sString){
	var arrayDiacrt = new Array('ă', 'ț', 'ţ', 'ș', 'ş', 'î', 'â');
	var arrayDiacrtRpl = new Array('a', 't', 't', 's', 's', 'i', 'a');
	var stringNoDiacrt = sString;
	
	for(var i=0; i<arrayDiacrt.length; i++)
		var stringNoDiacrt = stringNoDiacrt.replace(new RegExp(arrayDiacrt[i], "gi"), arrayDiacrtRpl[i]);
	return stringNoDiacrt;
}
