﻿// JScript File

var errCode=-1;
var msgErr = "";
function RefreshCaptchaImage()
{
    document.forms[0].btnRefreshImage.disabled = true;
    var response = UserControls_ucComment.RefreshImage();
    document.forms[0].btnRefreshImage.disabled = false;
    document.forms[0].captcha_image.src = "../Others/CaptchaImage.aspx?r=" + Math.random();
    return;    
}
function PostComment()
{ 
    if ( !CheckCommentForm() )
        return false;
    document.forms[0].btnPost.disabled = true;
    response = UserControls_ucComment.SendComment( typeID, itemID, remoteAddrIP, encodeURIComponent( document.getElementById("recaptcha_challenge_field").value.trim()), encodeURIComponent( document.getElementById("recaptcha_response_field").value.trim()), encodeURIComponent(document.getElementById("txtFullName").value.trim()), encodeURIComponent(document.getElementById("txtEmail").value.trim()), encodeURIComponent(document.getElementById("txtSubject").value.trim()), encodeURIComponent(document.getElementById("txtContent").value.trim()) );
    
    ConvertToErrCode2( response.value );
    if ( response.value == "0" )
    {
        document.getElementById("dvNotice").innerHTML = "Ý kiến của bạn đã được gởi đi. Xin cảm ơn.";
        ClearCommentForm();
    }
    else
    {
        if ( errCode == 4 )
        {
            alert(msgErr);
            document.getElementById("recaptcha_response_field").value = "";
            document.getElementById("recaptcha_response_field").focus();            
            document.forms[0].btnPost.disabled = false;
            document.getElementById("dvNotice").innerHTML = "";
            return false;
        }
        else
        {
            document.getElementById("dvNotice").innerHTML = "Có lỗi xảy ra." + msgErr;// + response.value;
            document.forms[0].btnPost.disabled = false;
        }
     }
    return true;
}
function ConvertToErrCode2( msg2)
{
    switch (msg2)
    {
        case "invalid-site-public-key":
            errCode = 1; //unable to verify the public key.
            msgErr = "[Chương trình]: Chuỗi khóa ngoại ko đúng.";
            break;
        case "invalid-site-private-key":
            errCode = 2; //unable to verify the private key.
            msgErr = "[Chương trình]: Chuỗi khóa nội ko đúng.";
            break;
        case "invalid-request-cookie":
            errCode = 3; //The challenge parameter of the verify script was incorrect.
            msgErr = "[Chương trình]: Chuỗi mẫu ko đúng.";
            break;
        case "incorrect-captcha-sol":
            errCode = 4; //The CAPTCHA solution was incorrect.
            msgErr = "Chuỗi nhập không đúng. Mời bạn nhập lại.";
            break;
        case "verify-params-incorrect":
            errCode = 5; //The parameters to /verify were incorrect, make sure you are passing all the required parameters.
            msgErr = "[Chương trình]: Tham số truyền vào ko đúng.";
            break;
        case "invalid-referrer":
            errCode = 6; //reCAPTCHA API keys are tied to a specific domain name for security reasons. 
            msgErr = "[Chương trình]: Tên miền ko hợp lệ.";
            break;
        case "unknown":
            errCode = 7; //unknown error
            msgErr = "[Chương trình]: Lỗi ko xác định.";
            break;    
        default:
            errCode = -1; //reCAPTCHA never returns this error code. A plugin should manually return this code.
            msgErr = "[Chương trình]: Lỗi ko xác định.";
            break;
    }
}
function CheckCommentForm()
{   

    if ( document.getElementById("txtFullName").value.trim() == "" )
    {
        alert("Bạn hãy nhập Họ tên.");
        document.getElementById("txtFullName").focus();
        return false;
    }    
    if ( document.getElementById("txtEmail").value.trim() == "" )
    {
        alert("Bạn hãy nhập địa chỉ Email.");
        document.getElementById("txtEmail").focus();
        return false;
    }
    if ( !IsEmail(document.getElementById("txtEmail").value.trim()) ) 
    {
        alert("Bạn hãy nhập địa chỉ Email hợp lệ.");
        document.getElementById("txtEmail").focus();
        return false;
    }
    if ( document.getElementById("txtSubject").value.trim() == "" )
    {
        alert("Bạn hãy nhập Tiêu đề muốn gởi.");
        document.getElementById("txtSubject").focus();
        return false;
    }    
    if ( document.getElementById("txtContent").value.trim() == "" )
    {
        alert("Bạn hãy nhập Nội dung.");
        document.getElementById("txtContent").focus();
        return false;
    }
    if ( document.getElementById("txtContent").value.trim().length > 1999 )
    {
        alert("Bạn hãy nhập Nội dung tối đa 2000 kí tự.");
        document.getElementById("txtContent").focus();
        return false;
    }
    if ( document.getElementById("recaptcha_response_field").value.trim() == "" )
    {
        alert("Bạn hãy nhập chuỗi xác thực.");
        document.getElementById("recaptcha_response_field").focus();
        return false;
    }
    return true;
}
function ReceivedResult(pXMLHTTP)
{
	try
	{
		var dvNotice = document.getElementById("dvNotice");
		
//		if (pXMLHTTP.ReadyState == 1)
//			dvNotice.innerHTML = '';
//		else 
		if(pXMLHTTP.ReadyState == 4 && pXMLHTTP.Status == 200)
		{
		    var answer = pXMLHTTP.ResponseText;
		    var arr = answer.split('\n');
			ConvertToErrCode(arr[0], arr[1]);
			
			if ( errCode == 4 )
            {
                alert(msgErr);
                document.getElementById("recaptcha_response_field").value = "";
                document.getElementById("recaptcha_response_field").focus();
                Recaptcha.reload();
                document.forms[0].btnPost.disabled = false;                
                return false;
            }
            else if ( errCode == 0 )
            {            
                dvNotice.innerHTML= "Đang gởi ..";
                var response ;
                if ( fromFunc == "comment" )
                {
                    response = UserControls_ucComment.SendComment( typeID, itemID, encodeURIComponent(document.getElementById("txtFullName").value.trim()), encodeURIComponent(document.getElementById("txtEmail").value.trim()), encodeURIComponent(document.getElementById("txtSubject").value.trim()), encodeURIComponent(document.getElementById("txtContent").value.trim()) );
                    
                    if ( response.value == 0 )
                    {
                        dvNotice.innerHTML = "Ý kiến của bạn đã được gởi đi. Xin cảm ơn.";
                        ClearCommentForm();
                    }
                    else
                    {
                        dvNotice.innerHTML = "Có lỗi xảy ra." + response.value;
                        document.forms[0].btnPost.disabled = false;
                     }
                    
                }
                else if ( fromFunc == "faq" )
                {
                    response = UserControls_ucFaq.SendQuestion( catId, question, name, mail, address, tel, job, nationality );
                    if ( response.value < 0 )
                    {
                        dvNotice.innerHTML = "Có lỗi xảy ra." + response.value;
                    }
                    else if ( response.value == 0 )
                    {
                        dvNotice.innerHTML = "Câu hỏi đã tồn tại. Mời bạn gởi câu hỏi khác.";
                    }
                    else
                    {
                        dvNotice.innerHTML = "Câu hỏi của bạn đã được gởi đi. Xin cảm ơn.";
                        ClearFaqForm();
                    }
                }
            }
            else
            {
                dvNotice.innerHTML = "Có lỗi xảy ra." + errCode;
                document.forms[0].btnPost.disabled = false;
            }
            Recaptcha.reload();
		}		
	}
	catch(ex){}
}
function ClearCommentForm(){
	o = document.forms[0];
	o.txtFullName.value = '';
	o.txtEmail.value = '';
	o.txtSubject.value = '';
	o.txtContent.value = '';
	o.recaptcha_response_field.value = '';
	o.btnPost.disabled = false;
}

/********************************************************/
function ConvertToErrCode( msg1, msg2)
{
    if ( msg1 == "true" )
    {
        errCode = 0;
        msgErr = "";
    }
    else
    {
        switch (msg2)
        {
            case "invalid-site-public-key":
                errCode = 1; //unable to verify the public key.
                msgErr = "[Chương trình]: Chuỗi khóa ngoại ko đúng.";
                break;
            case "invalid-site-private-key":
                errCode = 2; //unable to verify the private key.
                msgErr = "[Chương trình]: Chuỗi khóa nội ko đúng.";
                break;
            case "invalid-request-cookie":
                errCode = 3; //The challenge parameter of the verify script was incorrect.
                msgErr = "[Chương trình]: Chuỗi mẫu ko đúng.";
                break;
            case "incorrect-captcha-sol":
                errCode = 4; //The CAPTCHA solution was incorrect.
                msgErr = "Chuỗi nhập không đúng. Mời bạn nhập lại.";
                break;
            case "verify-params-incorrect":
                errCode = 5; //The parameters to /verify were incorrect, make sure you are passing all the required parameters.
                msgErr = "[Chương trình]: Tham số truyền vào ko đúng.";
                break;
            case "invalid-referrer":
                errCode = 6; //reCAPTCHA API keys are tied to a specific domain name for security reasons. 
                msgErr = "[Chương trình]: Tên miền ko hợp lệ.";
                break;
            case "unknown":
                errCode = 7; //unknown error
                msgErr = "[Chương trình]: Lỗi ko xác định.";
                break;    
            default:
                errCode = -1; //reCAPTCHA never returns this error code. A plugin should manually return this code.
                msgErr = "[Chương trình]: Lỗi ko xác định.";
                break;
        }
    }
}
function CaptchaVerify()
{
	var lRequest = new System.Net.Ajax.Request('POST', 'http://api-verify.recaptcha.net/verify', ReceivedResult, true);
	lRequest.AddParam('action', 'CaptchaVerify');
	lRequest.AddParam('privatekey', '6LdV_QUAAAAAAAQdOF0vrM6tk1ncNnrPQaOt0xkD');
	lRequest.AddParam('remoteip', remoteAddrIP);
	lRequest.AddParam('challenge', document.getElementById("recaptcha_challenge_field").value.trim());
	lRequest.AddParam('response', document.getElementById("recaptcha_response_field").value.trim());	
	var lPageReq = new System.Net.Ajax.PageRequests(lRequest);
	var lConnect = new System.Net.Ajax.Connection(lPageReq);
	lConnect.Open();
}
/********************************************************/
/****************   FAQ    ******************/
function PostQuestion()
{   
    slFaqCatId = document.getElementById("ddlFaqCatList");
    catId = slFaqCatId.options[slFaqCatId.selectedIndex].value;
    question = document.getElementById("txtContent").value.trim();
    if ( question == "" )
    {
        alert("Bạn hãy nhập nội dung câu hỏi.");
        document.getElementById("txtContent").focus();
        return false;
    }
    name = document.getElementById("txtName").value.trim();
    if ( name == "" )
    {
        alert("Bạn hãy nhập Họ tên.");
        document.getElementById("txtName").focus();
        return false;
    }
    mail = document.getElementById("txtEmail").value.trim();
    if ( mail == "" )
    {
        alert("Bạn hãy nhập địa chỉ Email.");
        document.getElementById("txtEmail").focus();
        return false;
    }
    if ( !IsEmail(mail) )
    {
        alert("Bạn hãy nhập địa chỉ Email hợp lệ.");
        document.getElementById("txtEmail").focus();
        return false;
    }
    address = document.getElementById("txtAddress").value.trim();
    tel = document.getElementById("txtPhone").value.trim();
    if (tel != "")
    {
        if ( !IsNumeric(tel) )
        {
            alert("Bạn hãy nhập số điện thoại đúng định dạng.");
            document.getElementById("txtPhone").focus();
            return false;
        }
    }
    
    job = document.getElementById("txtJob").value.trim();
    nationality = document.getElementById("txtNationality").value;
    
    response = UserControls_ucFaq.SendQuestion( catId, encodeURIComponent(question), encodeURIComponent(name), encodeURIComponent(mail), encodeURIComponent(address), tel, encodeURIComponent(job), encodeURIComponent(nationality));
    
    if ( response.value == "0" )
    {
        dvNotice.innerHTML = "Câu hỏi đã tồn tại. Mời bạn gởi câu hỏi khác.";
    }
    else if (response.value == "1")
    {
        dvNotice.innerHTML = "Câu hỏi của bạn đã được gởi đi. Xin cảm ơn.";
        ClearFaqForm();
    }
    else
    {
            dvNotice.innerHTML = "Có lỗi xảy ra." + msgErr;// + response.value;
            document.forms[0].btnPost.disabled = false;
     }
    //CaptchaVerify()
    return true;
}
function ClearFaqForm(){
    o = document.forms[0];
	o.txtContent.value = '';
    o.txtName.value = '';
    o.txtEmail.value= '';
    o.txtAddress.value= '';
    o.txtPhone.value= '';
    o.txtJob.value= '';
    o.txtNationality.value= '';
}
/****************   FAQ    ******************/

/************** Search By Time **************/
function SearchByTime(strCateID, strType)
{
    strMonth = document.getElementById("ctl00_ContentPlaceHolder1_Uc"+ strType +"ListInCate1_UcSearchByTime1_cboMonth").options[document.getElementById("ctl00_ContentPlaceHolder1_Uc"+ strType +"ListInCate1_UcSearchByTime1_cboMonth").selectedIndex].value;
    strDay = document.getElementById("ctl00_ContentPlaceHolder1_Uc"+ strType +"ListInCate1_UcSearchByTime1_cboDay").options[document.getElementById("ctl00_ContentPlaceHolder1_Uc"+ strType +"ListInCate1_UcSearchByTime1_cboDay").selectedIndex].value;
    strYear = document.getElementById("ctl00_ContentPlaceHolder1_Uc"+ strType +"ListInCate1_UcSearchByTime1_cboYear").options[document.getElementById("ctl00_ContentPlaceHolder1_Uc"+ strType +"ListInCate1_UcSearchByTime1_cboYear").selectedIndex].value;
    strDate = strMonth + "/" + strDay + "/" + strYear;
    window.location.href = "?cid=" + strCateID + "&t=" + encodeURIComponent(strDate);
}
/************** Search By Time **************/