//functii pentru formular
function showForm(param)
{
    if(param == 0)
    {
        $('#comment_header').css({'display':'block'});
        $('#options_login').css({'display':'none'});
        $('#submit_type').html('<input type="hidden" name="act" value="1">'); 
    }
    if(param == 1)
    {
        $('#cont_existent').css({'display':'block'});
        $('#cont_creare').css({'display':'none'});
        $('#submit_type').html('<input type="hidden" name="act" value="2">');
    }
    if(param == 2)
    {
        $('#cont_existent').css({'display':'none'});
        $('#cont_creare').css({'display':'block'});    
        $('#submit_type').html('<input type="hidden" name="act" value="3">');    
    }
    $('#form_comentariu_3').css({'display':'block'});
}

function openForm(logged)
{
    $('#open_form').hide();
    $('#close_form').show();
    $('#explicatii').show(); 
    if(logged == 0) $('#comment_header').css({'display':'block'});
        else showForm(0);
}



function closeForm()
{
    $('#close_form').hide();
    $('#explicatii').hide();    
    $('#open_form').show();
    $('#comment_header').css({'display':'none'});    
}

function validateForm(o) 
{
  f = o.form;
  var ftype = f['act'].value;
  $('#eroare_login').fadeOut('slow'); 
  
  //verificare nota
  /*
  var cazare = $("input[name='cazare']:checked").val();
  var ospit =$("input[name='ospit']:checked").val(); 
  
  var nota = false;
  if((cazare >= 1) && (cazare <= 5) && (ospit >= 1) && (ospit <= 5))
  {
      var nota = true;
  }       
  */
  //end verificare nota
  
  if( ftype == 1 )
  {
     return validate('last_visit,comment');  
  }
  
  if( ftype == 2 )
  {
     return validate('last_visit,email,password,comment'); 
  }
  
  if( ftype == 3 )
  {
     return validate('last_visit,nume,prenume,email2,password2,comment,judet'); 
  }

   
  //$( '#form_comentarii' )[ 0 ].reset();
  return false;  
}

mesajEroare = [];
me = 0;
mesaj_ok = 0;

function validateFormNew(o) 
{
	esteCod = document.getElementById('cod').value;
	mesajEroare = [];
	me = 0;
	if (esteCod == 1) {
		// cod de rezervare
		valoareCod = $.trim(document.getElementById('cod_rezervare').value);
		if (valoareCod != '') {
			$.ajax({
				type:        'post',
				url:        '/index.php?p=ajax&a=trimite-comentariu-new',
				data:        'cod='+valoareCod+'&check_cod=true',
				success:    function(r){
					if(r == 'cod_invalid')
					{
						// codul este invalid
						//alert('Cod invalid');
						mesajEroare[me] = "Codul este invalid.";me++;
					} else {
						mesaj_ok++;
					};
					checkComment();checkPerioadaSejur();checkNote();checkFormulaCalatorie();
					showMesajHideComment(o);
				},
				error:        function(){
					alert( "Eroare de trimitere.\nVa rugam contactati echipa InfoPensiuni.ro" );
					$('#ajax-loader').hide();
				}
			});
		} else {
			mesajEroare[me] = "Nu ati completat codul de rezervare.";me++;
		};
	} else {
		// nu are cod de rezervare
		if (document.getElementById('nume').value == '') {mesajEroare[me] = "Nu ati completat numele dumneavoastra.";me++;}else{mesaj_ok++;};
		if (document.getElementById('email').value == '') {mesajEroare[me] = "Nu ati completat email-ul.";me++;}else{mesaj_ok++;};
		if (emailCheck(document.getElementById('email').value) == false) {mesajEroare[me] = "Email-ul nu pare a fi valid.";me++;}else{mesaj_ok++;};
		if (document.getElementById('telefon').value == '') {mesajEroare[me] = "Nu ati completat telefonul dumneavoastra.";me++;}else{mesaj_ok++;};
		checkComment();checkPerioadaSejur();checkNote();checkFormulaCalatorie();
		showMesajHideComment(o);
	};
	
	//showMesajHideComment();
};

function showMesajHideComment(o){
	if(mesajEroare.length > 0){
		$('#eroare').html('<div style="font-size: 14px;">'+mesajEroare[0]+'</div>');
		$('#eroare_login').show('fast');
	} else if (mesaj_ok > 0) {
		$('#eroare_login').fadeOut('slow');
		trimiteComentariuNew(o);
	};
};

function checkPerioadaSejur(){
	if (document.getElementById('perioada_sejur').value == '') {mesajEroare[me] = "In ce perioada ati fost la pensiune?";me++;}else{mesaj_ok++;};
};

function checkComment(){
	if (document.getElementById('comment').value == '') {mesajEroare[me] = "Nu comentati nimic?";me++;}else{mesaj_ok++;};
};

function checkNote(){
	tr_note = document.getElementById('table_note').getElementsByTagName("tr");
	e_nota = 0;
	for (i=0; i<tr_note.length; i++) {
		input_nota = tr_note[i].getElementsByTagName("td")[1].getElementsByTagName("input");
		for (j=0; j<input_nota.length; j++) {
			if (parseInt(input_nota[j].value) <= 10 && parseInt(input_nota[j].value) > 0) {e_nota++; break;};
		};
	};
	if (e_nota < tr_note.length) {mesajEroare[me] = "Nu ati dat toate notele.";me++;}else{mesaj_ok++;};
};

function checkFormulaCalatorie(){
	e_formula_calatorie = 0;
	tip_calatori = document.getElementsByName("tip_calatori[]");
	if (tip_calatori.length > 0) {
		for (i=0; i<tip_calatori.length; i++) {
			if (tip_calatori[i].checked == true) {e_formula_calatorie++;break;};
		};
	};
	if (e_formula_calatorie == 0) {mesajEroare[me] = "In ce formula ati fost la pensiune?";me++;}else{mesaj_ok++;};
};

function trimiteComentariuNew(o)
{
	data_post_note = '';
	trs = $('#table_note tr');
	tipNoteComentarii = document.getElementsByName("nota[]");
	for (i=0; i<trs.length; i++) {
		idTipNotaComentariu = tipNoteComentarii[i].value;
		data_post_note += '&nota['+i+']='+idTipNotaComentariu;
	};
         $.ajax({
			type:        'post',
			url:        '/index.php?p=ajax&a=trimite-comentariu-new',
			data:        'id_pensiune='+document.getElementById('id_pensiune').value+'&tip_comentariu='+document.getElementById('cod').value+'&cod='+document.getElementById('cod_rezervare').value+'&nume='+document.getElementById('nume').value+'&email='+document.getElementById('email').value+'&telefon='+document.getElementById('telefon').value+'&comentariu='+document.getElementById('comment').value+'&comentariu_negativ='+document.getElementById('comment_negativ').value+'&data_vizita='+document.getElementById('perioada_sejur').value+'&formula_calatorie='+$("input[name='tip_calatori[]']:checked").val()+data_post_note,
			success:    function(r){
				if(r == '1')
				{
					//date de login invalide
					$('#eroare').html('Datele de login nu sunt corecte.');
					$('#eroare_login').show('slow');
					$('#ajax-loader').hide();
				}
				//alert(r);
			},
			error:        function(){
				alert( "Eroare de trimitere.\nVa rugam contactati echipa InfoPensiuni.ro" );
				$('#ajax-loader').hide();
			}
		})
};

function emailCheck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    return false
		 }

 		 return true					
	}

function trimiteComentariu(o)
{
    $('#ajax-loader').show();
    
    f = o.form;
    var ftype = f['act'].value; 
    var cazare = $("input[name='cazare']:checked").val();
    var ospit =$("input[name='ospit']:checked").val();
    var pozneg =$("input[name='tip_comentariu']:checked").val();
    
    if( ftype == 1 )
    {
        var post_data = 'type=1&idP=' + f['id_pensiune'].value + '&comment=' + f['comment'].value + '&last_visit=' + f['last_visit'].value + '&ospit=' + ospit + '&cazare=' + cazare + '&pozneg=' + pozneg;
    }
  
    if( ftype == 2 )
    {
        var post_data = 'type=2&idP=' + f['id_pensiune'].value + '&comment=' + f['comment'].value + '&last_visit=' + f['last_visit'].value + '&ospit=' + ospit + '&cazare=' + cazare + '&pozneg=' + pozneg + '&email=' + f['email'].value + '&password=' + f['password'].value;  
    }
  
    if( ftype == 3 )
    {
        var newsletter =$("input[name='newsletter']:checked").val();
        var post_data = 'type=3&idP=' + f['id_pensiune'].value + '&comment=' + f['comment'].value + '&last_visit=' + f['last_visit'].value + '&ospit=' + ospit + '&cazare=' + cazare + '&pozneg=' + pozneg + '&email=' + f['email2'].value + '&password=' + f['password2'].value + '&newsletter=' + newsletter + '&telefon=' + f['telefon'].value + '&judet=' + f['judet'].value + '&nume=' + f['nume'].value + '&prenume=' + f['prenume'].value;   
    }
    
    
    $.ajax({
        type:        'post',
        url:        '/index.php?p=ajax&a=trimite-comentariu',
        data:        post_data,
        success:    function(r){
                if(r == '0')
                {           
                    //ok
                    $( '#form_comentarii' )[ 0 ].reset();
                    $( '#comment_form' ).hide();
                    $( '#explic' ).hide();
                    $( '#explicatii' ).hide();
                    $( '#mesaj_ok' ).css({'display':'block','margin-top':'25px','margin-bottom':'25px'}); 
                    $('#ajax-loader').hide();
                }
                if(r == '1')
                {
                    //date de login invalide
                     $('#eroare').html('Datele de login nu sunt corecte.');
                     $('#eroare_login').show('slow');
                     $('#ajax-loader').hide();
                }
                if(r == '2')
                {
                    //date de login invalide
                     $('#eroare').html('Nu ati acordat nota pensiunii.');
                     $('#eroare_login').show('slow');
                     $('#ajax-loader').hide();
                }  
                if(r == '3')
                {
                    //contul exista deja
                     $('#eroare').html('Adresa de email corespunde altui cont.');
                     $('#eroare_login').show('slow');
                     $('#ajax-loader').hide();
                }                                
        },
        error:        function(){
            alert( "Eroare de trimitere.\nVa rugam contactati echipa InfoPensiuni.ro" );
            $('#ajax-loader').hide();
        }
    })
         
}

function hideEroare()
{
    $('#eroare_login').fadeOut('slow');
}


//functii pentru trimiterea paginilor recomandate 
function showRecom()
{
    $('#trimite_pagina').show('slow'); 
}
function hideRecom()
{
    $('#trimite_pagina').fadeOut('slow');
}

function trimiteRecom(o)
{
    f = o.form;

    $.ajax({
        type:        'post',
        url:        '/index.php?p=ajax&a=trimite-recomandare',
        data:        'email_exp=' + f['email_exp'].value + '&email_dest=' + f['email_dest'].value + '&nume_exp=' + f['nume_exp'].value + '&nume_dest=' + f['nume_dest'].value + '&link=' + f['link'].value,
        success:    function(r){
                if(r == 0)
                {
                   f['email_exp'].value = ''; f['email_dest'].value = ''; f['nume_exp'].value = ''; f['nume_dest'].value = ''; 
                }
                $('#trimite_pagina').fadeOut('slow');
                $('#mesaj_trimitere').show('slow');
        },
        error:        function(){
            alert( "Eroare de trimitere.\nVa rugam contactati echipa InfoPensiuni.ro" );
        }
    })
}
function hideTrimite()
{
    $('#mesaj_trimitere').fadeOut('slow');
}






//functie js de validare a inputurilor
function validate(str)
{

    var err = 0;

    var str;

    var vector = str.split(",");

    for (i=0;i<vector.length;i++)

    {

        if (document.getElementById(vector[i]).value == "") {

            document.getElementById(vector[i]).style.backgroundColor = "#ffd8d8";

            err++;

        } else {

            document.getElementById(vector[i]).style.backgroundColor = "white";

        if ((vector[i]=='email') || (vector[i]=='email2') || (vector[i]=='email_exp') || (vector[i]=='email_dest')) { 

            var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i

            if (!filter.test(document.getElementById(vector[i]).value)) {

            document.getElementById(vector[i]).style.backgroundColor = "#ffd8d8";


            err++;

            }

        }

        }

    }

    if (err > 0) {

        alert("Va rugam sa completati corect toate campurile obligatorii");

        return false;

    } else {

        return true;

    }

}

function verificaCodRezervare(hh,idPensiune){
	$.ajax({
		type:		'post',
		dataType:	'json',
		url:		'/index.php?p=ajax&a=verifica-cod-rezervare',
		data:		'cod='+hh+'&id_pensiune='+idPensiune,
		success:	function(r){
					if (r.return==1) {
						// cod de rezervare valid, poate sa comenteze
						$("#tr_identificare_turist").hide();
						$("#tr_identificare_turist").next().next().hide();
						$("#data_vizitei").hide();
						$("#data_vizitei").next().hide();
						$("#nume").val(r.nume);
						$("#email").val(r.email);
						$("#telefon").val(r.telefon);
						$("#perioada_sejur").val(r.data_plecarii);
					} else if (r.return==0) {
						// incearca sa comenteze inainte de a se fi intors de la pensiune
						// nu facem nimic, formularul se prezinta ca atunci cand n-ar fi facut rezervare
						location.href='#';
					} else if (r.return==-1) {
						// codul nu a fost gasit sau incearca cu codul rezervarii de la alta pensiune
						// nu facem nimic, formularul se prezinta ca atunci cand n-ar fi facut rezervare
						location.href='#';
					}
		},
		error:		function(){
			
		}
	})
};
