﻿// JScript File

var SortVal = '';

function AddReview(Mode)
 {
    if (userId == '') 
    {
        parent.location = HomePath + '/Registration/Login.aspx?RetPage=PD&RetType=Review&RetId=' + TargetId ;
    }
    else 
     {
          document.getElementById(ReviewTitle).disabled = false;
          document.getElementById(divResult).style.display = 'none';
          document.getElementById(divSelRat).style.display = 'block';
          document.getElementById(divRatings).style.display = 'block';
          document.getElementById(hdnPReviewId).value = '0';
          document.getElementById(liRating).style.display = 'block';

          if (document.getElementById(hdnReviewId).value == '0')
          {
            document.getElementById(ReviewTitle).value  = '';
            document.getElementById(txtReviewMsg).value  = '';
          }
         if(parseInt(document.getElementById(hdnEditReviewId).value) > '0') 
         {
            $(document.getElementById(divRatings)).hide();
            document.getElementById(divResult).style.display = 'block';
            document.getElementById(divSelRat).style.display = 'none';
            document.getElementById(ReviewTitle).value  = document.getElementById(hdnReviewTitle).value;
            document.getElementById(txtReviewMsg).value = document.getElementById(hdnReviewMsg).value ;
            document.getElementById(hdnReviewId).value = document.getElementById(hdnEditReviewId).value;
         }
            OpenPopUp(); 

     }
    return false;
 }
 
function OpenPopUp() {
    txt =$(document.getElementById(btnAddEditReview)).html();
    if(txt.indexOf('Edit') >= 0) 
    {
        document.getElementById(divRatings).style.display = 'none';
        document.getElementById(divResult).style.display = 'block';
        document.getElementById(divSelRat).style.display = 'none';
    }
    else
    {
        document.getElementById(divResult).style.display = 'none';
        document.getElementById(divSelRat).style.display = 'block';
    }
    var chkwidth = 0;
    var heightAvailability =0;
    if(window.navigator.appName == 'Microsoft Internet Explorer')
    {
        if(window.navigator.appVersion.search(6.0) != -1)
             {
               heightAvailability = '480px';
                chkwidth="650px";
                var dialog3 = document.getElementById("dialog3");
                dialog3.style.position = "absolute"; // for opening popup properlly in IE6
             }
             else
              {
                heightAvailability = '480px';
                 chkwidth="650px";
              }
      }
    else
    {
         heightAvailability = '459px';
         chkwidth="650px";
    }         
//    init_DialogNew($(document.getElementById(term1)),chkwidth,heightAvailability); 

	$('body').append($('.jqmWindow3'));
//    $('#dialog3').jqm({trigger: '#newbutton',modal:true,overlay: 30,overlayClass: 'jqmOverlay3'});
	$('#dialog3').jqm({modal:true,overlay: 30,overlayClass: 'jqmOverlay3'});
	$('#dialog3').jqmShow(); 
//	$($(document.getElementById(term1))).jqm({trigger: '#newbutton',modal:true,overlay: 30,overlayClass: 'jqmOverlay'}); 
    return false;
}

 
function EditReview(RevId,RevTitle,RevMsg,ParRevId,Rating,Mode)
 {
	 document.getElementById(divSelRat).style.display  = 'none';
	 document.getElementById(divRatings).style.display='none';
	 document.getElementById(hdnAttrRatIds).value = Rating ;
	 try
	 {
		  if (Mode.indexOf('Edit') >= 0)
		 {
			 document.getElementById(hdnReviewId).value = RevId ;
			 document.getElementById(ReviewTitle).value = RevTitle;
			 document.getElementById(txtReviewMsg).value  = RevMsg;
			 document.getElementById(hdnPReviewId).value  = '0';
			 document.getElementById(ReviewTitle).disabled = false;   
			 dispRating(parseInt(Rating),document.getElementById(divResult));
			 document.getElementById(divResult).style.display  = 'block';
			 document.getElementById(liRating).style.display = 'block';
			  if(document.getElementById(hdnEditReviewId).value != '' && document.getElementById(hdnEditReviewId).value == RevId)
			  {
				  document.getElementById(hdnEditReviewId).value = RevId ;
				  document.getElementById(ReviewTitle).value  = document.getElementById(hdnReviewTitle).value;
				  document.getElementById(txtReviewMsg).value = document.getElementById(hdnReviewMsg).value ;
			  }

		  }
		 if (Mode.indexOf('Reply') >= 0)
		 {
			 document.getElementById(hdnPReviewId).value  = ParRevId;
			 document.getElementById(liRating).style.display = 'none';
			 document.getElementById(ReviewTitle).disabled = true;
			 document.getElementById(ReviewTitle).value = RevTitle;
			 document.getElementById(txtReviewMsg).value  = '';
			 document.getElementById(hdnReviewId).value = "0" ;
		 }
		 var revTitle = document.getElementById(ReviewTitle).value;
		 revTitle = revTitle.replaceAll('@SQ@',"'");
		 revTitle = revTitle.replaceAll('@DQ@','"');
		 revTitle = revTitle.replaceAll('@OCB@','{');      
		 revTitle = revTitle.replaceAll('@CCB@','}'); 
		 document.getElementById(ReviewTitle).value = revTitle;
		 
		 var revMsg = document.getElementById(txtReviewMsg).value;
		 revMsg = revMsg.replaceAll('@SQ@',"'");
		 revMsg = revMsg.replaceAll('@DQ@','"');
		 revMsg = revMsg.replaceAll('@OCB@','{');      
		 revMsg = revMsg.replaceAll('@CCB@','}'); 
		 document.getElementById(txtReviewMsg).value = revMsg;
		 OpenPopUp();
		 return false;
	 }
	 catch (ex)
	 {
		   alert(ex);
		 //  OpenPopUp();
		 return false;
	 }
 }


function SelectRating(obj) 
{
    document.getElementById(divSelRat).style.display  = 'block';
    document.getElementById(divResult).style.display  = 'none';

    switch (obj)
    {
        case divpoor:
            document.getElementById(hdnAttrRatIds).value = '1';
            document.getElementById(divpoor).className = 'fillrating';
            document.getElementById(divaverage).className = 'blankrating';
            document.getElementById(divgood).className = 'blankrating';
            document.getElementById(divverygood).className = 'blankrating';
            document.getElementById(divexcellent).className = 'blankrating';
            break;
        case divaverage:
            document.getElementById(hdnAttrRatIds).value = '2';
            document.getElementById(divpoor).className = 'fillrating';
            document.getElementById(divaverage).className = 'fillrating';
            document.getElementById(divgood).className = 'blankrating';
            document.getElementById(divverygood).className = 'blankrating';
            document.getElementById(divexcellent).className = 'blankrating';
            break;
        case divgood:
            document.getElementById(hdnAttrRatIds).value = '3';
            document.getElementById(divpoor).className = 'fillrating';
            document.getElementById(divaverage).className = 'fillrating';
            document.getElementById(divgood).className = 'fillrating';
            document.getElementById(divverygood).className = 'blankrating';
            document.getElementById(divexcellent).className = 'blankrating';
            break; 
        case divverygood:
            document.getElementById(hdnAttrRatIds).value = '4';
            document.getElementById(divpoor).className = 'fillrating';
            document.getElementById(divaverage).className = 'fillrating';
            document.getElementById(divgood).className = 'fillrating';
            document.getElementById(divverygood).className = 'fillrating';
            document.getElementById(divexcellent).className = 'blankrating';
            break;
        case divexcellent:
            document.getElementById(hdnAttrRatIds).value = '5';
            document.getElementById(divpoor).className = 'fillrating';
            document.getElementById(divaverage).className = 'fillrating';
            document.getElementById(divgood).className = 'fillrating';
            document.getElementById(divverygood).className = 'fillrating';
            document.getElementById(divexcellent).className = 'fillrating';
            break;
    }   			   
    return false;
}
 
//function GetSelectedValue(obj,arId)
// {  
//    var attrRatIds=document.getElementById(hdnAttrRatIds).value;
//    var rbnId ='rbtn' + arId + '_';

//    if ( attrRatIds == "")
//     {
//        attrRatIds = obj.id;
//     } 
//    else if (attrRatIds.indexOf(rbnId) >= 0)
//     {
//          var index= parseInt(attrRatIds.indexOf(rbnId)) + parseInt(rbnId.length) + parseInt(1);
//          rbnId =attrRatIds.substring(attrRatIds.indexOf(rbnId),index);
//          attrRatIds = attrRatIds.replace(rbnId,'');
//          if (attrRatIds.indexOf(',') == 0 ) 
//          {
//              attrRatIds = attrRatIds.replace(',','')
//          }
//          index=attrRatIds.length -parseInt(1);
//          var temp =attrRatIds.substring(index,attrRatIds.length)
//          if (temp == ',') 
//          {
//              attrRatIds = attrRatIds.substring(0,index)
//          }
//          if (attrRatIds == "" )
//          {
//              attrRatIds =  obj.id;
//          }
//          else
//          {
//              attrRatIds = attrRatIds + ',' + obj.id;
//          } 
//     }
//    else
//     {
//          attrRatIds = attrRatIds + ',' + obj.id;
//     }
//    attrRatIds = attrRatIds.replace(',,',',')
//    document.getElementById(hdnAttrRatIds).value = attrRatIds;  
// }

String.prototype.replaceAll=function(s1, s2) { 
   return this.replace(new RegExp(s1,"g"), s2);
 }
 
function SaveReview()
 {   
    if (document.getElementById(txtReviewMsg).value.length > 2000)
    {
        alert("Comment Should Be Less Than 2000 Characters");
        return false;
    }
    if (document.getElementById(hdnAttrRatIds).value == '' )
    {
         alert('Please Select Rating');
         return false;
    }
    if (document.getElementById(hdnPReviewId).value != '0')
    {
         if (document.getElementById(txtReviewMsg).value == '')
         {
             alert('Please Enter Your Comments');
             return false;
         }
        
    }
      var regEx = '';
      regEx = /\w*[a-zA-Z]/ ;   
    if (document.getElementById(hdnPReviewId).value != '')
    {
         if (document.getElementById(ReviewTitle).value == '')
         {
             alert('Please Enter Review Title');
             return false;
         }
    }
    if (!regEx.test(document.getElementById(ReviewTitle).value)) //Somehow the expression does not work in Opera
         {
             alert('Enter Valid Review Title');
             return false;
         }
    if (!regEx.test(document.getElementById(txtReviewMsg).value)) 
    {
        alert('Enter Valid Comments');
        return false;
    }
     var revTitle = document.getElementById(ReviewTitle).value;
     revTitle = revTitle.replaceAll("'",'@SQ@');
     revTitle = revTitle.replaceAll('"','@DQ@');
     revTitle = revTitle.replaceAll('{','@OCB@');      
     revTitle = revTitle.replaceAll('}','@CCB@'); 
		
     var revMsg = document.getElementById(txtReviewMsg).value;
     revMsg = revMsg.replaceAll("'",'@SQ@');
     revMsg = revMsg.replaceAll('"','@DQ@');
     revMsg = revMsg.replaceAll('{','@OCB@');      
     revMsg = revMsg.replaceAll('}','@CCB@'); 
 
     var dataStr='';
     //var varUrl = HomePath + "/SaveRating_Behind.aspx";
     var varUrl = "http://" + location.host + "/SaveRating_Behind.aspx";	
     dataStr= "{'ReviewId':'"+ document.getElementById(hdnReviewId).value + "','UserId':'" + userId  + "','TargetId':'" + TargetId + "','MerchantId':'" + RMerId + "','ReviewTitle':'" + revTitle + "','ReviewDetails':'" + revMsg + "','ReviewType':'" + ReviewType  + "','IsGoLive':'"+ IsGoLive +"','ParentReviewId':'" + document.getElementById(hdnPReviewId).value + "','AttributeRatings':'" + document.getElementById(hdnAttrRatIds).value + "'}" ;
     $.ajax({
            type: "POST",
            url: varUrl,

            data: dataStr,  
            beforeSend: function(xhr) {
            xhr.setRequestHeader("Content-type", 
                           "application/json; charset=utf-8");
            },
            dataType: "json",
            success: function(msg) {
				
                var z = JSON.parse(msg);
                //init_CloseNew($(document.getElementById(term1)));
				$('#dialog3').jqmHide(); 
				LoadData(1,document.getElementById(divCustomerReview),'DateH');
				if (z.ParentReviewId == '0' && z.ReviewId != '0')
				{
				    $(document.getElementById(btnAddEditReview)).html('Edit Review'); 
					document.getElementById(hdnEditReviewId).value = z.ReviewId ;
					document.getElementById(hdnReviewTitle).value  = z.ReviewTitle;
					document.getElementById(hdnReviewMsg).value = z.ReviewDetails ;
					dispRating(parseInt(z.AttributeRatings),document.getElementById(divResult));
					document.getElementById(divResult).style.display  = 'block';
					document.getElementById(divSelRat).style.display  = 'none';
					document.getElementById(hdnPReviewId).value  = z.ParentReviewId;
				}
            }
        }); 
    return false;
  
 }
 
function dispRating(rating,divrat)
{
    var css = '';
    switch (parseInt(rating))
     {
        case 1:
            css = 'rating_result_poor'; 
            break;
        case 2:
            css = 'rating_result_average'; 
            break;
        case 3:
            css = 'rating_result_good'; 
            break; 
        case 4:
            css = 'rating_result_verygood'; 
            break;
        case 5:
            css = 'rating_result_excellent'; 
            break;
     } 
	// alert(divrat);
    divrat.className = css;
}
 
function SelectReview()
 {
 //alert('in1');
    $("#tabs").tabs("select", '#lnkReviews');
    
    /*var winH =GetHeight();
    winH = parseInt(winH)/2;
    winH =  parseInt(winH) + parseInt(100);
    window.scroll(0,winH);*/
    return false;
 } 
 
 function GetHeight()
{
        var y = 0;
        if (self.innerHeight)
        {
                y = self.innerHeight;
        }
        else if (document.documentElement && document.documentElement.clientHeight)
        {
                y = document.documentElement.clientHeight;
        }
        else if (document.body)
        {
                y = document.body.clientHeight;
        }
        return y;
}
 
 
function ClosePopUp()
{
    document.getElementById(divpoor).className = 'blankrating';
    document.getElementById(divaverage).className = 'blankrating';
    document.getElementById(divgood).className = 'blankrating';
    document.getElementById(divverygood).className = 'blankrating';
    document.getElementById(divexcellent).className = 'blankrating';
    //init_CloseNew($(document.getElementById(term1)));
	$('#dialog3').jqmHide(); 
	return false;
}
 
 //----------------------------------------------------------------------------------
 
 
function LoadData(PagerId,div,sort) {
try{

$(div).html('');
    
    div.style.height ="auto";
    $(div).fadeOut('fast');
    $("#tabs").tabs();
    //var varUrl = HomePath +  "/GetAllReviews_Behind.aspx";
	 var varUrl =  "http://" + location.host + "/GetAllReviews_Behind.aspx";
	 $.ajax({
	     type: "POST",
	     url: varUrl,
	     data: "{'MerchantId':'" + RMerId + "','UIMerId':'" + UIMerId + "','TargetId':'" + TargetId + "','ReviewType':'" + ReviewType + "','PagerId':'" + PagerId + "','SortType':'" + sort + "','MerCult':'" + MerCult + "','userId':'" + userId + "','page':'" + page + "'}",
	     beforeSend: function(xhr) {
	         xhr.setRequestHeader("Content-type", "application/json; charset=utf-8");
	     },
	     dataType: "json",
	     success: function(msg) {
	         var z = JSON.parse(msg);
	         $(div).fadeIn('fast');

	         /* Change by dipak */

	         $(div).html(z.ReviewsHTML);
	         BehindPager(z.RecCount,z.ddlSortId,z.PageSize,z.RevCount,z.Rating)

	     }
	 });
	 
	 
}

catch(e)
{alert(e.message);}

    
}

function BehindPager(recCount,objddl,pageSize,revCount,rating) {
    try
    {   var varNoOfRecords;
        varNoOfRecords = document.getElementById(hdnNoOfRecords).value;
        document.getElementById(hdnNoOfRecords).value = recCount;
        if (parseInt(rating) > 0)
        {        
            dispRating(rating,document.getElementById(divAvgRat));
        }
        else
        {
           document.getElementById(divAvgRat).className = "rating_result";
        }
        
        if (parseInt(revCount) > 0)
        {
            document.getElementById(lbtnReviews).style.display = 'block';
			document.getElementById(lblNoReviews).style.display = 'none';
            $(document.getElementById(lbtnReviews)).html('Read Reviews('+ revCount + ')');
        } 
        else
        {
            document.getElementById(lbtnReviews).style.display = 'block';
			document.getElementById(lblNoReviews).style.display = 'block';
        }
		if (document.getElementById(objddl) != null)
		{
	       SortVal = document.getElementById(objddl).value;
		}
    }
    catch (e)
    {
    }
        generatePager(recCount,pageSize);
    }
            
function generatePager(recCount,pageSize)
    {
        var varReview=document.getElementById(divCustomerReview).innerHTML; 
        var varimagesli=''; 

        var tempsize=recCount;
        var x = parseFloat(recCount/pageSize)-parseInt(recCount/pageSize);
        recCount=recCount/pageSize;
        if (x > 0)
         {
             recCount = parseInt(recCount)+1;
         }
        if (recCount > 1)
        {
        var sb = new StringBuilder();
        sb.append("<div class='pagercontrol'>");
        sb.append("<div class='pagerdiv' style='float: right; margin-right: 10px; margin-bottom: 25px;'>"); 
        
        for (var x = 1; x <= recCount; x++)
            {
              
               if (x == document.getElementById(hdnpageId).value)
                {
                   sb.append("<span class='pager'>" + x + "</span>");         

                }
               else
                {
                   sb.append("<a class='pager' onclick='javascript:pagerClick(this)' href='#' title='");
                   sb.append(x + "'");
                   sb.append(" id ='");
                   sb.append(x + "' >");
                   sb.append(" " + x + "</a>");  
                }
            }
            if (document.getElementById(hdnpageId).value == '1')
            {
                sb.append("<span class='pager'>&laquo;</span>");
            }
            else
            {
                sb.append("<a class='pager' onclick='javascript:pagerClick(this)' href='#' title='prev' id='prev' >&laquo;</a>");
            }
            if (document.getElementById(hdnpageId).value == recCount)
            {
                sb.append("<span class='pager'>&raquo;</span>");
            }
            else
            {
                sb.append("<a class='pager' onclick='javascript:pagerClick(this)' href='#' title='next' id='next' >&raquo;</a>");
            }
            sb.append("</div>");
            sb.append("</div>");

            varimagesli = varReview + sb.toString();
           $(document.getElementById(divCustomerReview)).html(varimagesli); 
         }

}    
function pagerClick(obj)
    {
        var id = obj.id;
        var pageNum = document.getElementById(hdnpageId).value;
        var temp = '';

        if (id == 'next')
        {
            temp = parseInt(pageNum) + parseInt(1);
            document.getElementById(hdnpageId).value = temp ;
        }
        else if (id == 'prev')
        {
            temp = parseInt(pageNum) - parseInt(1);
            document.getElementById(hdnpageId).value = temp ;
        }
        else
        {
            document.getElementById(hdnpageId).value=id;
        }
       LoadData(document.getElementById(hdnpageId).value, document.getElementById(divCustomerReview), SortVal);
    }
    
function ReivewSort(obj,rcou)
 {
     document.getElementById(hdnpageId).value = 1;
     LoadData(1, document.getElementById(divCustomerReview), document.getElementById(obj).value);
    window.setTimeout(SelectReview,1000); 
    
 }    
    
function StringBuilder(value)
    {
        this.strings = new Array("");
        this.append(value);
    }

// Appends the given value to the end of this instance.

StringBuilder.prototype.append = function (value)
{
    if (value)
    {
        this.strings.push(value);
    }
}

// Clears the string buffer

StringBuilder.prototype.clear = function ()
{
    this.strings.length = 1;
}

//// Converts this instance to a String.

StringBuilder.prototype.toString = function ()
{
    return this.strings.join("");
}    