/* === btn rollover === */
function smartRollover() {
    if(document.getElementsByTagName) {
        var images = document.getElementsByTagName('img');
        for(var i=0; i<images.length; i++) {
            if(images[i].getAttribute('src').match('_off.')) {
                images[i].onmouseover = function() {
                    this.setAttribute('src', this.getAttribute('src').replace('_off.', '_on.'));
                }
                images[i].onmouseout = function() {
                    this.setAttribute('src', this.getAttribute('src').replace('_on.', '_off.'));
                }
            }
        }
    }
}
if(window.addEventListener) {
    window.addEventListener('load', smartRollover, false);
} else if(window.attachEvent) {
    window.attachEvent('onload', smartRollover);
}
/* === END btn rollover === */




// class要素の追加・変更
function ChangeClass(elem,value) {
    $(elem).className = value;
}
function ChangePD(type,elem) {
    var alpha = new Array('a','b','c','d','e');
    for(var i=0; i<alpha.length; i++) {
        if($(type+alpha[i])) {
            if(alpha[i] == elem) {
                $(type+alpha[i]).className = 'NumON';
            } else {
                $(type+alpha[i]).className = 'NumOFF';
            }
        }
    }
}
function ChangeTit(elem) {
    if($(elem).className == 'TitON') {
        $(elem).className = 'TitOFF';
    } else {
        $(elem).className = 'TitON';
    }
}
function ResetPD(elem) {
    var alpha = new Array('a','b','c','d','e');
    for(var i=0; i<alpha.length; i++) {
        if($(elem+alpha[i])) {
            $(elem+alpha[i]).className = 'NumOFF';
        }
    }
}
function toggleBox(el) {
    Element.toggle(el);
}

function toggleBoxPL(el,x) {
    var fmxn;
    var smxn;
    var pnl;
    var tgt;
    Element.toggle(el);
    switch(x) {
        case 'a':
            fmxn = 11;
            smxn = 5;
            pnl = 'panel';
        break;
        case 'b':
            fmxn = 6;
            smxn = 3;
            pnl = 'B_panel';
        break;
    }
    for(var i=1; i<fmxn; i++) {
        for(var j=1; j<smxn; j++) {
            tgt = pnl;
            if(i<10) {
                tgt += '0';
            }
            tgt += i+'_0'+j;
            if(tgt != el) {
                $(tgt).style.display = 'none';
            }
        }
    }
}

// 金額整形
// 数値とフォーマットを引数に整形した文字列を返す
function formatMoney(money, fmt) {
    var money = new String(money).replace(/,/g, '');
    switch(fmt) {
        case 'ja-roman':
            while(money != (money = money.replace(/^(-?\d+)(\d{3})/, '$1,$2')));
            money = '&yen;'+money;
        break;
        case 'ja-kanji':
            while(money != (money = money.replace(/^(-?\d+)(\d{3})/, '$1,$2')));
            money = money+'円';
        break;
    }
    return money;
}

// 計算
// 数値（配列か変数）と計算式を引数に、計算した数値を返す
function calNum(num, math) {
    switch(math) {
        case 'total':
            var total = 0;
            for(var i=0; i<num.length; i++) {
                total += num[i];
            }
            num = total;
        break;
    }
    return num;
}

// ハッシュ送信
// 配列を引数にハッシュにしてブラウザに送信
function setHashArray(hash) {
    var param = hash.join('&');
    location.hash = param;
}

// ハッシュ分解
// ハッシュを引数に、分解して配列にして返す
function getHashArray(hash) {
    if(hash) {
        var l = location.hash.substring(1);
        var param = l.split('&');
        return param;
    } else {
        return false;
    }
}
// 見積もり画面でカテゴリーの表示非表示を切り替える
function ESTToggleTitle(x) {
    toggleBox('EST'+x);
    ChangeTit('ESTTit'+x);
}
// 見積もり画面で選択肢ウィンドウ選択時
function ESTSelectList(a, b, c, d, e) {
    var x = '';
    if(c == 'b') {
        var x = 'B_';
    } else if(c == 'c') {
        var x = 'C_';
    } else if(c == 'd') {
        var x = 'D_';
    } else if(c == 'e') {
        var x = 'E_';
    } else if(c == 'f') {
        var x = 'F_';
    }
    if(c == 'a' || c == 'b') {
        toggleBox(x+'panel'+a);
        ChangeClass(x+'Tree'+a,'sizeON');
        ChangePD(x+'Tree'+a, b);
        Estimate.addService(d, e, a);
    } else {
        if($(x+'Tree'+a+b).className == 'NumON') {
            ESTResetDel(x+'Tree'+a,'ESTTotalListLi_'+d,d,0);
        } else {
            ChangePD(x+'Tree'+a, b);
            Estimate.addService(d, e, a);
        }
    }
}
// 見積もり画面で選択肢ウィンドウリセット時
function ESTResetList(a, b, c, d, e, f) {
    var x = '';
    if(b == 'b') {
        var x = 'B_';
    }
    if(f) {
        toggleBox(x+'panel'+a);
    }
    ChangeClass(x+'Tree'+a,'sizeOFF');
    ResetPD(x+'Tree'+a);
    Estimate.delService(c, d, e);
}
function ESTResetDel(a, b, c, d) {
    ResetPD(a);
    Estimate.delService(b, c, d);
}
