var product_id;
var getMorTestiDesc='Посмотреть другие отзывы по продукту ';
var showTxtDescr='Показать';
var hideTxtDescr='Скрыть';
var companyTxtDescr='Компания: ';
var rMoreTxtDescr='... прочитать полностью';

j(function(){
    getTestimonials(null);
    //getProductList('iProgList');
});

function scrollToQ(elid){

	var elid=document.getElementById(elid);
	var duration = 500;
	var element = j(elid).offset();
	var pos = element.top;
	j('html, body').animate({scrollTop: pos}, duration);
}

function onChangeProgramList(){
    j('#testimonials').empty();
    var programId=j('#iProgList option:selected').val();
	if(programId=='all' || programId=='null') j('#listTestimonials').show('slow');
	else  j('#listTestimonials').hide('slow');
    getTestimonials(programId);
}

function getProductList(idSelect){
    j.post('controller/Testimonials.php', {
        'action': "getProductsForSearch"
    }, function(data){
        j.each(data.products, function(index,value){
            j("#"+idSelect).append( j('<option value="'+value.id+'">'+value.ProductName+'</option>'));
        });
    }, "json");
}

function getTestimonials(programId){
    j.post('controller/Testimonials.php', {
        'action': "getTestimonials",
        'idProgram':programId
    }, function(data){
        if(data.result){
            var res=new String();
            j.each(data.testimonials_list, function(programName,testimonials){
                testi=new Array();
                j.each(testimonials,function(index1,tstm){
                     testi[index1]=tstm;
                }
                );
                res+=genTestiByProgram(programName,testi);
            });
            j('#testimonials').append(res);
        }
        //else alert(data.descr);
    }, "json");
}

function getMoreTestimonialsByProduct(program_id, div_id){
    j.post('controller/Testimonials.php', {
        'action': "getMoreTestimonials",
        'idProgram':program_id
    }, function(data){
        if(data.result){
            j.each(data.testimonials_list, function(programName,testimonials){
                testi=new Array();
                j.each(testimonials,function(index1,tstm){
                    testi[index1]=tstm;
                }
                );
                       
                var div = document.getElementById('B'+div_id);
				var divGetMore = document.getElementById('MG'+div_id);
				 
				 
                j(div).empty();
				j(divGetMore).empty();
			
				genShowHide('B'+div_id,divGetMore);
				
                res=genTestiMoreByProgram(programName,testi);
				j(div).hide();
                j(div).html(res);
				j(div).fadeIn(); 
            });
          
        }
        else alert(data.descr);
    }, "json");
}

function genShowHide(divIdShowHid, divIdContainer){
	res='<a class="HS" id="A'+divIdShowHid+'" href="#" onClick="toggleMy(\''+divIdShowHid+'\'); return false;">'+hideTxtDescr+'</a>';
	 j(divIdContainer).html(res);
}

function toggleMy(toggleDivId){
	var div=document.getElementById(toggleDivId);
	j(div).find('.testi:gt(2)').toggle();
	var div=document.getElementById('A'+toggleDivId);
	var text=j(div).text();
	if(text==showTxtDescr){ 
		j(div).text(hideTxtDescr);
		scrollToQ(toggleDivId.substr(1,(toggleDivId.length-1)));
	}
	else{ j(div).text(showTxtDescr)
		scrollToQ(toggleDivId.substr(1,(toggleDivId.length-1)));
	};
}
 
function genTestiMoreByProgram(programName,testi){
	res='<div id="'+programName+'" class="testimBlock">';
    res='<div class="programBlock">';
    j.each(testi, function (index,testimonial){
        res+=genTestiDiv(programName,testimonial);
    });
    res+='</div>';
    res+='</div>';//testimBlock
    return res; 
   
    
}

function togle(id){
    var elem=document.getElementById('B'+id);
    j(elem).toggle();
    elem=document.getElementById('MG'+id);
    j(elem).toggle();
}

function addMenuTestimonial(programName){
	 j('#listTestimonials').append('<div class="mTst"><img src="www/img/semo.gif"/><a href="#" onclick="scrollToQ(\''+programName+'\')">'+programName+'</a></div>');
}


function genTestiByProgram(programName,testimonials,programId){
    var res=new String(); var q=0;
	if(programId==null)
	addMenuTestimonial(programName);
    res+='<div id="'+programName+'" class="testiBlock">'
    res+='<div id="X'+programName+'" class="hTesti"><h4 class="pName">'+programName+'</h4></div>'//nameProgram
    res+='<div id="B'+programName+'" class="tstProgramBlock">';
    j.each(testimonials, function (index,testimonial){
        res+=genTestiDiv(programName,testimonial,programId);
		q=testimonial.countTesti;
    });
    
    res+='</div>';//divB
    if(q>25){
    res+='<div class="gtMrTst" id="MG'+programName+'">';
    res+=genGetMore(product_id, programName);
    res+='</div>';
    }
	
    res+='</div>';//testiBlock
    return res;
}

function genTestiDiv(programName,testimonial){
    var res=new String();
    product_id=testimonial.id_product;

    res='<div id="tstm_'+testimonial.ID+'" class="testi">';
    url=genURL(testimonial);
	//res+='<a href="'+url+'" class="aNameComp"><p class="NameCompany"><font color="#0077BB">';
	res+='<a href="'+url+'" class="aNameComp"><font size="2">';
    if(j.trim(testimonial.name)!='') res+=testimonial.name;
    if(j.trim(testimonial.company)!='') res+='('+companyTxtDescr+testimonial.company+')';
    res+='</font></a>';
    res+='<div class="testimonialBody">';
    res+='<img calss="testiimg" src="www/img/blockquota.png">';
    res+='<p class="testiMSG">'+testimonial.en+'</p>';
    res+=genMore(testimonial);
    res+='</div>';
    res+='</div>';
    return res;
}



function genGetMore(program_id, div_id){
    ret='<a onClick="getMoreTestimonialsByProduct('+program_id+',\''+div_id+'\');" href="#'+div_id+'" class="mrShow">'+getMorTestiDesc +' '+div_id+'</a>';
    return ret;
}
    

function genURL(testimonial){
	if(testimonial.fileName!='') id=testimonial.fileName;
	else id=testimonial.ID;
	url="showTestimonial/"+id+".php";
	return url;
}


function genMore(testimonial){
    if(testimonial.issubstr==true || j.trim(testimonial.logo)!=''){
       url=genURL(testimonial);
		ret='<a href="'+url+'" class="mtShow">'+rMoreTxtDescr+'</a>';
    }
    else ret='';
    return ret;
}
    
