﻿// JScript File

var img_white="/images/website/white_star.gif";
var img_yellow="/images/website/yellow_star.gif";


function createFeedbackBtn()
{
    var objFbBtn = document.createElement('div');
    
    objFbBtn.setAttribute('id', 'div_feedback_btn');
    objFbBtn.style.display = 'block';
    objFbBtn.style.position = 'absolute';
    objFbBtn.style.zIndex=2000;
    objFbBtn.style.top="0px";
    
    var wd;
    if(navigator.appName == "Microsoft Internet Explorer")
        wd=pageWidth() - 73;
    else
        wd=pageWidth() - 90;
        
    objFbBtn.style.left=wd+'px';
    
    var strHtml="<img src='/images/website/feedback_btn.png' id='btn_fb' alt='Click here to give feedback' title='Click here to give feedback' onclick='createFeedBackForm()' style='cursor:pointer' />";
    objFbBtn.innerHTML=strHtml;
    
    var oParent = document.getElementsByTagName('body')[0];
    oParent.appendChild(objFbBtn);
    
}
      
function changeRate(srcElem)
{
    document.getElementById("div_feedback").onmouseout=resetStars;
    var i=0;
    var elem_id="";
    
    resetStars();

    var len=parseInt(srcElem.getAttribute("index"));
    for(i=1;i<=len;i++)
    {
        elem_id="rate_"+i;
        document.getElementById(elem_id).src=img_yellow;
    }
}
      
function resetStars()
{
    var start=parseInt(document.getElementById("hidRate").value);

    for(i=start+1;i<=5;i++)
    {
        elem_id="rate_"+i;
        document.getElementById(elem_id).src=img_white;
    }
}
      
function setRate(srcElem)
{
    document.getElementById("div_feedback").onmouseout=null;

    if(srcElem.id=="rate_1" && document.getElementById("hidRate").value==1)
    {
        document.getElementById("hidRate").value=0;
        resetStars();
        return;
    }
    
    document.getElementById("hidRate").value=parseInt(srcElem.getAttribute("index"));
    //alert(document.getElementById("hidRate").value);

    var len=parseInt(srcElem.getAttribute("index"));
    for(i=1;i<=len;i++)
    {
        elem_id="rate_"+i;
        document.getElementById(elem_id).src=img_yellow;
    }
    for(i=len+1;i<=5;i++)
    {
        elem_id="rate_"+i;
        document.getElementById(elem_id).src=img_white;
    }
}

function createFeedBackForm()
{

    if(document.getElementById("div_feedback_form"))
    {
        $("#div_feedback_form").slideUp("normal",removeFeedBack);  
        return; 
    }
    var objFB = document.createElement('div');
    objFB.setAttribute('id', 'div_feedback_form');
    objFB.style.display = 'none';
    objFB.style.position = 'absolute';
    
    var objBtn=document.getElementById("btn_fb");
    var xPos=findPosX(objBtn)+parseInt(objBtn.offsetWidth);
    var yPos=parseInt(findPosY(objBtn))+parseInt(objBtn.offsetHeight)+5;
    
    var wd=400;
    var ht=200;
    var top = yPos;
    var left = xPos-wd-2;
   
    objFB.style.top = (top < 0 ? 0 : top) + 'px';
    objFB.style.left = (left < 0 ? 0 : left) + 'px';
    objFB.style.width=wd+'px';
    //objFB.style.height=ht+'px';
    objFB.style.zIndex = 1099;
    objFB.style.backgroundColor='White';
    objFB.style.border='1px solid black';
    objFB.innerHTML=genFormHtml();

    var oParent = document.getElementsByTagName('body')[0];
    oParent.appendChild(objFB);
    
    $("#div_feedback_form").slideDown("normal");
    //window.onscroll = scrollFix;
}

function genFormHtml()
{
    var z=1;
    var hidVal=parseInt(document.getElementById("hidRate").value);
    var hidComments=document.getElementById("hidComments").value;
    var sH="";
    sH += "<table style='width:100%' cellspacing='0' class='FEEDBACK'>";
    
    sH += "<tr><td colspan='3' style='width:100%'>&nbsp;</td></tr>";
    sH += "<tr>";
    sH += "<td style='width:10%'>&nbsp;</td>";
    sH += "<td style='width:80%' align='right'>";
    sH += "<div id='div_feedback' onmouseout='resetStars()' >";
    
    for(z=1;z<=hidVal;z++)
    {
       sH += "<img style='cursor:pointer;width:18px;height:18px' src='"+img_yellow+"' id='rate_"+z+"' index='"+z+"' feedback='true' onmouseover='changeRate(this)' onclick='setRate(this)' />"; 
    }
    for(;z<=5;z++)
    {
       sH += "<img style='cursor:pointer;width:18px;height:18px' src='"+img_white+"' id='rate_"+z+"' index='"+z+"' feedback='true' onmouseover='changeRate(this)' onclick='setRate(this)' />"; 
    }
    sH += "</div>";
    sH += "</td>";
    sH += "<td style='width:10%'>&nbsp;</td>";
    sH += "</tr>";
    
    sH += "<tr>";
    sH += "<td style='width:10%'>&nbsp;</td>";
    sH += "<td style='width:80%'>";
    sH += "<textarea cols='40' rows='7' id='txt_area_feedback'>"+hidComments+"</textarea>";
    sH += "</td>";
    sH += "<td style='width:10%'>&nbsp;</td>";
    sH += "</tr>";
    
    sH += "<tr>";
    sH += "<td style='width:10%'>&nbsp;</td>";
    sH += "<td style='width:80%'>";
    sH += "<input type='button' id='btn_submit_fb' value='submit' onclick='submitFeedBack()' />";
    sH += "<input type='button' id='btn_cancel_fb' value='cancel' onclick='createFeedBackForm()' />";
    sH += "</td>";
    sH += "<td style='width:10%'>&nbsp;</td>";
    sH += "</tr>";
    
    sH += "<tr><td colspan='3' style='width:100%'>&nbsp;</td></tr>";
    sH += "</table>";
    
    return sH;
}

function removeFeedBack()
{
    removeElement("div_feedback_form");
}

function submitFeedBack()
{
    var objComment=document.getElementById("txt_area_feedback");
    var qs="";
    if(objComment)
    {
        if(strim(objComment.value)=="" && parseInt(document.getElementById("hidRate").value)==0)
        {
           //The user has not given any comments and not even given any ratings. 
           //Instead of prompting user to enter the values by giving alert (which is irritating)
           //Just show them the thank you screen without doing any actions.
           fnResponseFb("S");
           return; 
        }
        if(strim(objComment.value).length > 1000)
        {
            alert("Please give comments less than 1000 characters");
            objComment.focus();
            return;
        }
        qs = "&objComment="+escape(objComment.value);
        document.getElementById("hidComments").value=objComment.value;
    }
    var value=document.getElementById("hidRate").value;
    if(value=="") value=0;
    else value=parseInt(value);
    qs += "&value="+value;
    PostAjaxData("/HomePage.aspx?QFb=FB",qs,fnResponseFb);
    
}

function fnResponseFb(strData)
{
    var strTimeOut;
    var objDiv=document.getElementById("div_feedback_form");
    objDiv.style.verticalAlign='middle';
    if(strData=="S")
    {
        //alert("success");
        var sH="<table style='width:100%;vertical-align:middle' align='center' cellspacing='0'>";
        sH += "<tr>";
        sH += "<td class='FEEDBACK_TXT' style='vertical-align:middle' align='center'>";
        sH += "<img src='/images/website/tick_fb.png' alt='Success' title='Success' /><br/>";
        sH += "Thank you for your feed back";
        sH += "</td>";
        sH += "</tr>";
        sH += "</table>";
        objDiv.innerHTML=sH;
        strTimeOut=1500;
    }
    else
    {
       //alert("fail");
        var sH="<table style='width:100%;vertical-align:middle;height:100%' align='center' cellspacing='0'>";
        sH += "<tr>";
        sH += "<td class='FEEDBACK_TXT' style='vertical-align:middle' align='center'>";
        sH += "<img src='/images/website/cross_fb.png' alt='Failure' title='Failure' /><br/>";
        sH += "There is some problem submitting your feedback. Please try again later";
        sH += "</td>";
        sH += "</tr>";
        sH += "</table>";
        objDiv.innerHTML=sH;
        strTimeOut=2000;
    }
    
   setTimeout(createFeedBackForm,strTimeOut);
}
/*
function posLeft()
{
    return typeof window.pageXOffset != 'undefined' ? window.pageXOffset : document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ? document.body.scrollLeft : 0;
}
function posTop()
{
    return typeof window.pageYOffset != 'undefined' ? window.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ? document.body.scrollTop : 0;
}
function scrollFix()
{
   var objDiv=document.getElementById("div_feedback_form");
   if(objDiv)
   {
    objDiv.style.top = top + posTop() + 'px';
    objDiv.style.left = left + posLeft() + 'px'
   }
   
   
}*/
