var POST_URL = "/inq/inq.cgi";
var CAPTCHA_URL = "/inq/captcha.cgi";

function getCookie(name) {
    var cookie = " " + document.cookie + ";";
    var reg1 = cookie.match(/[^ =;]+=[^ =;]+;/g);
    if(reg1 == null) {
       return "";
    }
    for(var i = 0; i < reg1.length; i++) {
        var reg2 = reg1[i].match(/([^ =;]+)=([^ =;]+);/);
        if(RegExp.$1 == name) {
            return RegExp.$2;
        }
    } 

    return "";
}

function msg(text) {

    $('progress_col').innerHTML = text;
}

function inquiry() {

    Element.hide('submit_row', 'close_row', 'retry_row');
    Element.show('progress_row');
    msg('送信中です...');
    
    var params =
        'mailto='+escape($F('mailto'))+
        '&name='+escape($F('name'))+
        '&bsp='+escape($F('bsp'))+
        '&browser='+escape($F('browser'))+
        //'&browser_ver='+escape($F('browser_ver'))+
        '&captcha='+escape($F('captcha'))+
        '&cap5='+escape($('captcha_img').src)+
        '&q='+escape($F('q'));

    var req = new Ajax.Request(POST_URL, 
                               {
                               method: 'post', 
                                       parameters: params, 
                                       onSuccess: inquiryDone,
                                       onFailure: inquiryFailed
                                       });
};

function inquiryDone(req, res) {
    msg('送信が完了しました。');
    Element.show('close_row');
};

function inquiryFailed(req, res) {
    msg('送信に失敗しました');
    captcha();
    Element.show('retry_row');
};

function captcha() {

    var req = new Ajax.Request(CAPTCHA_URL, 
                               {
                               method: 'get', 
                                       onComplete: captchaCreated,
                                       onFailure: captchaFailed
                                       });
};

function captchaCreated(req, res) {
    $('captcha_img').src = req.responseText;
}

function captchaFailed(req, res) {
    msg('サーバの応答が不正です。<br/>申し訳ございません。時間をおいて再送信してください。');
    Element.hide('captcha_row');
    Element.show('nextbtn_row');
};

function show_captcha() {

    if($F('q').length < 1) {
        alert("お問い合わせ内容を記入してください");
        return;
    }

    // TEMP
//    inquiry();
//    Element.hide('nextBtn_row');
//    return;
//    //

    
    captcha();
    Element.hide('nextBtn_row');
    Element.show('captcha_row', 'submit_row');
}

function init() {

    // browser
    var ua = getUALabels();
    ua.push("その他");
    ua.each(function(iter, id) {
                 var option = document.createElement('option');
                 option.appendChild(document.createTextNode(iter));
                 option.setAttribute('value', getUAID(id));
                 $('browser').appendChild(option);
             });
    
    // BSP
    var bsp = getBspLabels();
    bsp.push("その他");
    bsp.each(function(iter, id) {
                 var option = document.createElement('option');
                 option.appendChild(document.createTextNode(iter));
                 option.setAttribute('value', getBspID(id));
                 $('bsp').appendChild(option);
             });

    //
    window.setTimeout("selectOptions()", 0);

}

function selectOptions() {
    $('bsp').selectedIndex = getCookie('selectedIdx');
    $('browser').selectedIndex = guessUA();
}

window.onload = function() {
    //captcha();
    init();
};

////////////////////////////////
// dummy
var ArticlePoster = new Object();
ArticlePoster.ATOM_USEPARAM = Number(0);
ArticlePoster.XMLRPC_USEPARAM = Number(1);

var XmlRpc = new Object();
XmlRpc.POST_TIME_ISO_UTC = Number(0);
XmlRpc.POST_TIME_ISO_LOCAL_NOHYPHEN = Number(1);
