var matchIdPrid = new Array();
var itemIds="";

function CallGetUserOpinion(url)
{
/***************************************************************************
 *************************************************************************** 
	var reg=new RegExp(motif, type);
	Le paramètre type décrit le type d'expression régulière.
	Si type vaut "g", l'expression sera analysée globalement sur l'ensemble de la chaîne.
	Si type vaut "i", l'expression sera analysée indifféremment sur les majuscules ou les minuscules.
	
***************************************************************************
****************************************************************************/
 var reg=new RegExp("&amp;", "g");
 url = url.replace(reg, "&");
 ajax_request(url, null, DisplayUserOpinion, null);
		  
}


function activateLink(prefix){
    var e = getElement(prefix + 'Link');
    if ( e != null )
        e.innerHTML = '<a href="' + e.hiddenLink + '">Ajouter&nbsp;un&nbsp;avis</a>';

}
/* Opinion Functions*/
function HightLight ( prefix , index ) {
    for (var i=1 ; i <= 5 ; i++ ) {
        if ( i <= index )
            getElement('StarL'+i+prefix).src='/img/useropinion/starIn.png';
        else
            getElement('StarL'+i+prefix).src='/img/useropinion/starOut.png';
    }
}

function getStartPos(prefix){
    var initPos = getElement('ref'+prefix).value;
    for (var i=1 ; i <= 5 ; i++ ) {
        if ( i <= parseInt(initPos) ) {
            getElement('StarL' + i+prefix).src='/img/useropinion/starIn.png';
        }else{
            getElement('StarL' + i+prefix).src='/img/useropinion/starOut.png';
        }
    }
}
function resetPos(prefix){
    
    for (var i=1 ; i <= 5 ; i++ ) {
            getElement('StarL' + i+prefix).src='/img/useropinion/starOut.png';
    }
     var field=getElement("ref"+prefix);
	 field.value=0;
}

function putValuation(prefix, note){
     var field=getElement("ref"+prefix);
	 field.value=note;
}



function putRelation( Relation, Checkbox, SisterCheckbox){
   
   var returnvalue = 0;
    if ( Checkbox.src.substr(Checkbox.src.length-6, 12) == 'on.gif' ){
        Checkbox.src = '/img/useropinion/caseoff.gif';
        returnvalue = -1 * parseInt(Relation.substr(1,1));
    }
    else
    {
        returnvalue = parseInt(Relation.substr(1,1)); 
        Checkbox.src = '/img/useropinion/caseon.gif';
        if (SisterCheckbox)
            SisterCheckbox.src = '/img/useropinion/caseoff.gif';
    }
    return returnvalue;   
   
}

function getElement(prefix){

 var elt = document.getElementById(prefix);
 return elt;
}

function PutLevel ( Index ){
        var start ="/img/useropinion/caseoff.gif"
        if(Index==3 ){
            start ="/img/useropinion/caseon.gif";
        }
     return start;
}

function PutStar (StarIndex, prefix){
    
       var note  = getElement(prefix).value;
       var star = "/img/useropinion/starOut.png";
       if(StarIndex<= parseInt(note)){
           star = "/img/useropinion/starIn.png";
       }
       return star;
       
}


	function popValidation(prefix){
	
		var initPos = getElement('StarL1'+prefix);
		var deja = document.getElementById('valid_rating');
		if(deja){ document.body.removeChild(deja); }
		var pos = findPos(initPos);
		pos[1] = pos[1]+40;
		var content = "<p class='gras mrg_no pdg_sm' style='background-color:#fff;border:1px solid #ccc'>";
		content += "Note prise en compte";
		content += "</p>";
		 
		var popin = document.createElement("DIV");
		popin.id = "valid_rating";
		popin.className = "valid_rating";
		popin.innerHTML = content;
		document.body.appendChild(popin);
		 
		if(popin.style.display != "block") { popin.style.display = "block"; }
		popin.style.position = "absolute";
		popin.style.left = (pos[0]+15)+"px";
		popin.style.top = (pos[1]-40)+"px";
		 
		setTimeout(function (){
		deja = document.getElementById('valid_rating');
		if(deja){ document.body.removeChild(deja); } 
		},2000);
		return false;
	}



  
	function DisplayUserOpinion(response){
	
       if(!response.error && errorValue!=response.value){
	       
		   var regdata =new RegExp("; ", "g");
	       var datas = response.value.split(regdata);
	       for (var i=0; i<datas.length; i++) {
	         var reg= new RegExp("[0-9]+","i");
	         var regids = new RegExp("itemId=[0-9]+ ", "g");
	       	 var regPrids = new RegExp("itemPrid=[0-9]+ ","g");
	         var regNote = new RegExp("note=[0-9]+ ","g");
	         var regRelation =new RegExp("relation=[0-9]+ ","g");
	         var reghasReview =new RegExp("hasReview=[0-9]+","g");
	         var data = datas[i];
	         var idStr =regids.exec(data);
	         var pridStr =regPrids.exec(data);
	         var noteStr = regNote.exec(data); 
	         var hasReviewStr = reghasReview.exec(data);
	         var relationStr = regRelation.exec(data);
	         var ids =reg.exec(idStr);
	         var prids =reg.exec(pridStr);
	         var note = reg.exec(noteStr); 
	         var hasReview = reg.exec(hasReviewStr);
	         var relation = reg.exec(relationStr);
	         if(hasReview==0){
	            imgReview = document.getElementById("review"+prids);
	            if(imgReview != null){
	               imgReview.style.visibility = "visible";
	            }
	         }
	         var userDiv = document.getElementById("user"+prids);
		   	 if(userDiv != null){
		   			userDiv.style.visibility = "visible";
		   			userDiv.style.display = "block";
			 }
	         var elt = document.getElementById("ref"+prids);
             matchIdPrid[prids]=ids;
	         if(elt != null){
			 if(relation>=1 &&  relation<=3){
			          putRelation("r"+relation, 
			                      getElement("choice1"+prids), 
			                      getElement("choice2"+prids));
			    }else {
			    
			       if (relation==5){
			        
			           putRelation("r"+relation, 
			                        getElement("choice2"+prids), 
			                        getElement("choice1"+prids));
			       }
			    }
                elt.value=note;
           	    for(var k=1; k<6; k++){
	         		var field=document.getElementById("StarL"+k+prids);
	         		field.src=PutStar (k, "ref"+prids);  
	       		}
             }
	       
	       }// fin for datas
	       
	       }	      
	  
	}
    function setValuation (url, prid)
    {
       url = url+"&ItemIds="+getmatchPrid(prid);
       ajax_request(url, null, putUserOpinion);
    } 
    
    function putUserOpinion(response)
    {
    	if(!response.error && errorValue!=response.value){
    	}
    }
    function setRelation (url, prid, relationId)
    {
        url = url+"&ItemIds="+getmatchPrid(prid)+"&relationId="+relationId;
        ajax_request(url, null, putUserOpinion);
    }	
	function getmatchPrid(prid){
	  return matchIdPrid[prid];
	}