﻿var SurveyService = { 
    
    SaveSurvey: function(Survey)
    {
         waitbox(true);
	    var url		= "Services/Survey_Service.aspx";
		var pars    =  JSON.stringify(Survey);

		Form.disable('form1'); 
		var req = new Ajax.Request(
							url, 
							{
								method: 'post', 
								parameters: encodeURIComponent(pars),
								requestHeaders: ['connext', 'dreamteam', 'mission', '100'],
								onComplete: this.Complete,
								onFailure:  this.onFailed
							});	
    },
    
    Complete: function(xhr)
	{
	    Form.enable('form1');
	    waitbox(false);
		var mission = eval('('+xhr.responseText+')');
		if(mission.completed == '1')
		{
		    alert(mission.message);
		    Element.hide('winSurvey');
	        YAHOO.nokair.nokfanclub.survey.hide();
		}
		else
		{  //failed
			alert(mission.message);
		}	
	},
	
    onFailed:function()
	{
		alert('System Unavailable, please try again later.');
		Form.enable('form1');
		waitbox(false);
	}
    
}

function SetSingleAnswer(rdo,txtAnswer,txtid,rc)
{
    $(txtAnswer).value = rdo.value;
    if($(txtid))
    {
        if(rc)
        {
            $(txtid).readOnly = false;
             Sys.UI.DomElement.addCssClass($(txtid),"txtFocus");
        }
        else
        { 
            $(txtid).readOnly = true;
            Sys.UI.DomElement.removeCssClass($(txtid),"txtFocus");
        }
    }
}

function SetMultiAnswer(control,txtid)
{
    if($(txtid))
    {
        if(control.checked)
        {
            $(txtid).readOnly = false;
             Sys.UI.DomElement.addCssClass($(txtid),"txtFocus");
        }
        else
        { 
            $(txtid).readOnly = true;
            Sys.UI.DomElement.removeCssClass($(txtid),"txtFocus");
        }
    }
}

/**
*find radio value
*
*/
function radioVal(rdo)
{
	var flag = null;
	//alert('len =: '+rdo.length);
	for(var i=0; i<rdo.length; i++)
	{	
		if(rdo[i].checked == true)
		{
			flag = rdo[i].value;
			break;
		}
	}
	return flag;
}

function onSaveSurverClick()
{
    var maxPosition = $F('hddPosition');
    
    var Answers = new Array(maxPosition);
    var answerOther = "";
    var rc = true;
    for(var position=1;position<=maxPosition;position++)
    {
        var  otherAnswer = 0;
        var otherAnswerID = "hddOtherAnswer_"+position;
        if($(otherAnswerID))
        {
           otherAnswer = $F(otherAnswerID);
        }
              
        answerOther = "";
        var questionID = $F('hddPosition_'+position);
        var answerType = $F('hddMultiChoose_'+position)
        
        var txtOtherAnswer = "txtOtherAnswer_"+questionID;
        
        if(answerType=="0")
        {
            //Single answer
           var ans = $F("hddAnswer_"+position);
           
           if(ans=="")
           {
              alert("กรุณาเลือกคำตอบแบบสอบถามข้อที่ " + questionID + ".ด้วย");
              rc= false;
              break;
           }
           else
           {
             //debugger;
              if(otherAnswer==ans)
              {
                
                if($F(txtOtherAnswer)=="")
                {
                    alert("กรุณากรอกคำตอบแบบสอบถามข้อที่ " + questionID + ".ด้วย");
                    rc= false;
                    $(txtOtherAnswer).focus();
                    break;
                }
                else
                {
                    answerOther = $F(txtOtherAnswer);
                }
              }
           }
           Answers[position] = {
					QuestionID  :  questionID,
					MultiChoose : '0',
					Answer      : ans,
					AnswerOther : answerOther
				};
        }
        else
        {
            //Mutichoose
            var cntAnswer = $F('hddCntAnswer_'+position);
            var maxSelect = 0;
            for(var i=1;i<=parseInt(cntAnswer);i++)
            {
                var chkID = "chk_"+questionID+"_"+i;
                if($(chkID).checked)
                {
                    maxSelect++
                }
            }
            var rcOther = true;
            
            
            var rcMulti = false;
            var ansMul = new Array(maxSelect);
            var index = 0;
            for(var i=1;i<=parseInt(cntAnswer);i++)
            {
                var chkID = "chk_"+questionID+"_"+i;
                if($(chkID).checked)
                {
                    ans = $(chkID).value;
                    if(otherAnswer==ans)
                    {
                        if($F(txtOtherAnswer)=="")
                        {
                            alert("กรุณากรอกคำตอบแบบสอบถามข้อที่ " + questionID + ".ด้วย");
                            rcMulti= false;
                            rcOther = false;
                            $(txtOtherAnswer).focus();
                            break;
                        }
                        else
                        {
                            answerOther = $F(txtOtherAnswer);
                        }
                    }
                    rcMulti= true;
                    index++;
                    ansMul[index] = {
                            Answer      : ans,
					        AnswerOther : answerOther
                            };
                }              
            }
            
            if(rcMulti)
            {
                Answers[position] = {
					QuestionID  :  questionID,
					MultiChoose : '1',
					Answer      : ansMul,
					AnswerOther : ""
				};
				
            }
            else
            {
                rc = false;
                if(rcOther)
                {
                    alert("กรุณาเลือกคำตอบแบบสอบถามข้อที่ " + questionID + ".ด้วย");
                }
            }
        }  
        
        if(!rc)
        {
            break;
        }
    }
    
    if(rc)
    {
        //var pars    =  JSON.stringify(Answers);
        var Survey = { Answer : Answers  };
        SurveyService.SaveSurvey(Survey);
    }
}

