var dom_ready = false;

$(document).ready(function(){
	//bug - apeleaza de 2 ori ready-ul												 	
	if(dom_ready) return;
	dom_ready = true;
	$('.pran_list_top_content').height($('.pran_menu > div').height() - 16);
	init_pran_menu();
	$('.pran_cl_lab a').bind('click', pran_load_menu);
	init_pran_list();
	$('.pran_cautare_btn').bind('click', function(){
		pran_search();
	});
	$('#pran_ipt_cautare_ipt').bind('keyup', function(e){
		if(e.keyCode==13) pran_search();
	});	
	$('#pran_ipt_cautare_ipt').bind('focus', function(){if(this.value=='cautare dupa numele analizei sau medic') this.value = '';});	
	$('#pran_ipt_cautare_ipt').bind('blur', function(){if(this.value=='') this.value = 'cautare dupa numele analizei sau medic';});	

	$("#pran_ipt_cautare_ipt").autocomplete('ajax.php?op=pran_get_list_by_src_str_autocomplete', {
		width: 241,
		max: 500,
	});
});

function pran_search(){
	$('.pran_menu a').removeClass('pran_sel');
	var ipt_val = $('#pran_ipt_cautare_ipt').val();
	if(ipt_val == 'cautare dupa numele analizei sau medic') return false;
	pran_load_list({src_str:ipt_val});
}

function init_pran_menu(){
	$('.pran_menu a').bind('click', function(){
		if(this.className == 'pran_sel') return false;
		$('.pran_menu a').removeClass('pran_sel');
		this.className = 'pran_sel';		
		pran_load_list({href:$(this).attr('href')});
		this.blur();		
		return false;
	});
}

function init_pran_list(){
	$('.pran_list_top_content a').bind('click', pran_load_list_item);
}

function pran_load_menu(){
	if($(this).hasClass('pran_cl_sel') || $(this).hasClass('pran_lab_sel')) return false;
	pran_model = $(this).hasClass('pran_cl')?'clinica':'laborator';

	var tmp_html = '';
	for(var i = 0; i < pran_menu_links[pran_model].length; i++){
		tmp_html += '<a href="?model='+pran_model+'&specialitate='+urlencode(pran_menu_links[pran_model][i])+'">'+pran_menu_links[pran_model][i]+'</a>'
	}
	$('.pran_menu > div').html(tmp_html);
	init_pran_menu();
	$('.pran_menu > div > a:first').click();

	$('.pran_cl_lab a').removeClass('pran_cl_sel pran_lab_sel');
	$(this).addClass(pran_model=='clinica'?'pran_cl_sel':'pran_lab_sel');
	$('.pran_list_top_content').height($('.pran_menu > div').height() - 15);
	return false;
}

function pran_load_list_item(){
	if($(this).hasClass('pran_sel')){
		$('#pran_analiza_desc').hide();
		$(this).removeClass('pran_sel')
		return false;
	}
	var denumire = $.getUrlVar('denumire', $(this).attr('href'));
	var id = $.getUrlVar('id', $(this).attr('href'));
	var response = ajax_eval_request('ajax.php?op=pran_load_list_item&denumire='+denumire+'&id='+id);
	if(response === false) return false;
	if(response.type == 'success'){
		var tmp_html = response.values;
		var obj_this = this;
		if($('#pran_analiza_desc').attr('id') == 'pran_analiza_desc'){
			$('#pran_analiza_desc').hide();
			$('#pran_analiza_desc').remove();
		}
		pran_show_desc(obj_this, tmp_html);
		$('.pran_list_top_content a').removeClass('pran_sel');
		$(this).addClass('pran_sel');
	}
	else if(response.type == 'error' && typeof(response.message) != 'undefined') alert(response.message);
	return false;
}

function pran_show_desc(obj_this, tmp_html){
	//if(typeof(tmp_html) != 'undefined') 
	$(obj_this).after(tmp_html);
	$('#pran_analiza_desc').show();
}

function pran_load_list(opts){
	if(typeof(opts.href) != 'undefined'){
		var url = 'ajax.php?op=pran_get_list_by_specialitate&' + opts.href.substr(1);
		pran_specialitate = $.getUrlVar('specialitate', opts.href);
	}
	else if(typeof(opts.src_str) != 'undefined') var url = 'ajax.php?op=pran_get_list_by_src_str&src_str=' + urlencode(opts.src_str);
	else return false;

	var response = ajax_eval_request(url);
	if(response === false) return false;
	if(response.type == 'success'){
		var tmp_html = '';
		for(var i = 0; i < response.values.length; i++){
			if(typeof(opts.src_str) != 'undefined')
				tmp_html += '<a href="?model='+urlencode(response.values[i].model)+'&specialitate='+urlencode(response.values[i].specialitate)+'&denumire='+urlencode(response.values[i].denumire)+'&id='+urlencode(response.values[i].id)+'">'+response.values[i].denumire+' ('+response.values[i].specialitate+')</a>'
			else{
				tmp_html += '<a href="?model='+pran_model+'&specialitate='+pran_specialitate+'&denumire='+urlencode(response.values[i].denumire)+'&id='+urlencode(response.values[i].id)+'">'+response.values[i].denumire+'</a>'
			}
		}
		if(response.values.length == 0) 
			tmp_html = (typeof(opts.src_str) != 'undefined')?'Ne pare rau, dar cautarea dumneavoastra nu a returnat nici un rezultat.<br /><br /><u>Sugestii</u>:<br /><br style="line-height:5px;" />- Asigurati-va ca toate cuvintele sunt scrise corect ortografic<br />- Incercati alte cuvinte cheie<br />- Incercati mai putine cuvinte (doar medic sau doar analiza)':'Momentan nu exista nici o analiza in aceasta categorie.';
		$('.pran_list_top_content').html(tmp_html);
		init_pran_list();
	}
	else if(response.type == 'error' && typeof(response.message) != 'undefined') alert(response.message);
}

$.extend({
  getUrlVars: function(location){
    var vars = [], hash;
		if(typeof(location) == 'undefined') var location = window.location.href;
    var hashes = location.slice(location.indexOf('?') + 1).split('&');
    for(var i = 0; i < hashes.length; i++){
      hash = hashes[i].split('=');
      vars.push(hash[0]);
      vars[hash[0]] = hash[1];
    }
    return vars;
  },
  getUrlVar: function(name, location){
    return $.getUrlVars(location)[name];
  }
});

