﻿//大师网招标项目分类

YAHOO.namespace("tender");
var dom = YAHOO.util.Dom;


YAHOO.tender.code = [{ i: 101, n: '招标项目分类', l: 0, c: [{ i: 10101, n: '纯设计类', l: 1, c: [{ i: 1010101, n: '公装设计', l: 2, c: [{ i: 101010101, n: '酒店', l: 3 }, { i: 101010102, n: '餐饮', l: 3 }, { i: 101010103, n: '宾馆设计', l: 3 }, { i: 101010104, n: 'KTV', l: 3 }, { i: 101010105, n: '桑拿设计', l: 3 }, { i: 101010106, n: '咖啡馆设计', l: 3 }, { i: 101010107, n: '专卖店', l: 3 }, { i: 101010108, n: '展厅设计', l: 3 }, { i: 101010109, n: '售楼处', l: 3 }, { i: 101010110, n: '医院', l: 3 }, { i: 101010111, n: '会所设计', l: 3 }, { i: 101010112, n: '办公室设计', l: 3 }, { i: 101010113, n: '商场设计', l: 3 }, { i: 101010114, n: '其他', l: 3}] }, { i: 1010102, n: '家装设计', l: 2, c: [{ i: 101010201, n: '别墅', l: 3 }, { i: 101010202, n: '公寓', l: 3 }, { i: 101010203, n: '楼盘样板房', l: 3 }, { i: 101010204, n: '私人豪宅设计', l: 3 }, { i: 101010205, n: '排屋设计', l: 3 }, { i: 101010206, n: '跃层设计', l: 3 }, { i: 101010207, n: '婚房设计', l: 3 }, { i: 101010208, n: '自造房设计', l: 3 }, { i: 101010209, n: '出租房设计', l: 3 }, { i: 101010210, n: '软装饰设计', l: 3 }, { i: 101010211, n: '其他', l: 3}] }, { i: 1010103, n: '外包设计', l: 2, c: [{ i: 101010301, n: '效果图', l: 3 }, { i: 101010302, n: '水电暖通设计', l: 3 }, { i: 101010303, n: '施工图制作', l: 3 }, { i: 101010304, n: '三维模型设计', l: 3 }, { i: 101010305, n: '设计跟单', l: 3 }, { i: 101010306, n: '前期方案设计', l: 3 }, { i: 101010307, n: '平面扩初', l: 3 }, { i: 101010308, n: '地热设计', l: 3 }, { i: 101010309, n: '其他', l: 3}] }, { i: 1010104, n: '其它设计', l: 2, c: [{ i: 101010401, n: '庭院', l: 3 }, { i: 101010402, n: '建筑外观', l: 3 }, { i: 101010403, n: '花园设计', l: 3 }, { i: 101010404, n: '别墅外观设计', l: 3 }, { i: 101010405, n: '公共绿化景观设计', l: 3 }, { i: 101010406, n: '旧房改造室内设计', l: 3 }, { i: 101010407, n: '家具设计', l: 3 }, { i: 101010408, n: '厨房设计', l: 3 }, { i: 101010409, n: '卫浴设计', l: 3 }, { i: 101010410, n: '其他', l: 3}]}] }, { i: 10102, n: '施工(设计)类', l: 1, c: [{ i: 1010201, n: '公装装饰招标', l: 2, c: [{ i: 101020101, n: '酒店', l: 3 }, { i: 101020102, n: '餐饮', l: 3 }, { i: 101020103, n: '宾馆装修', l: 3 }, { i: 101020104, n: 'KTV', l: 3 }, { i: 101020105, n: '桑拿装修', l: 3 }, { i: 101020106, n: '咖啡馆装修', l: 3 }, { i: 101020107, n: '专卖店装修', l: 3 }, { i: 101020108, n: '售楼处', l: 3 }, { i: 101020109, n: '医院', l: 3 }, { i: 101020110, n: '会所装修', l: 3 }, { i: 101020111, n: '办公室装修', l: 3 }, { i: 101020112, n: '其他', l: 3}] }, { i: 1010202, n: '家装', l: 2, c: [{ i: 101020201, n: '别墅', l: 3 }, { i: 101020202, n: '公寓', l: 3 }, { i: 101020203, n: '楼盘样板房', l: 3 }, { i: 101020204, n: '私人豪宅设计装修', l: 3 }, { i: 101020205, n: '排屋装修', l: 3 }, { i: 101020206, n: '跃层装修', l: 3 }, { i: 101020207, n: '婚房装饰', l: 3 }, { i: 101020208, n: '自造房装修', l: 3 }, { i: 101020209, n: '出租房装修', l: 3 }, { i: 101020210, n: '其他', l: 3}] }, { i: 1010203, n: '杂项装修', l: 2, c: [{ i: 101020301, n: '卫生间改造', l: 3 }, { i: 101020302, n: '展柜制作', l: 3 }, { i: 101020303, n: '展销会展厅', l: 3 }, { i: 101020304, n: '出租房局部修补', l: 3 }, { i: 101020305, n: '局部改造', l: 3 }, { i: 101020306, n: '其他', l: 3}] }, { i: 1010204, n: '其它施工', l: 2, c: [{ i: 101020401, n: '花园施工', l: 3 }, { i: 101020402, n: '别墅外观改造', l: 3 }, { i: 101020403, n: '公共绿化景观施工', l: 3 }, { i: 101020404, n: '旧房改造室内装饰', l: 3 }, { i: 101020405, n: '局部改造', l: 3 }, { i: 101020406, n: '其他', l: 3}]}] }, { i: 10103, n: '材料直销价招标', l: 1, c: [{ i: 1010301, n: '家具家饰', l: 2, c: [{ i: 101030101, n: '办公家具', l: 3 }, { i: 101030102, n: '卧室家具', l: 3 }, { i: 101030103, n: '客厅家具', l: 3 }, { i: 101030104, n: '餐厅家具', l: 3 }, { i: 101030105, n: '酒店家具', l: 3 }, { i: 101030106, n: '公共类家具', l: 3 }, { i: 101030107, n: '户外家具', l: 3 }, { i: 101030108, n: '儿童家具', l: 3 }, { i: 101030109, n: '装饰品', l: 3 }, { i: 101030110, n: '灯具灯饰', l: 3 }, { i: 101030111, n: '家用电器', l: 3 }, { i: 101030113, n: '美式窗帘', l: 3 }, { i: 101030114, n: '墙纸', l: 3 }, { i: 101030112, n: '其他', l: 3}] }, { i: 1010302, n: '厨卫产品', l: 2, c: [{ i: 101030201, n: '浴镜', l: 3 }, { i: 101030202, n: '浴房浴缸', l: 3 }, { i: 101030203, n: '厨房配件', l: 3 }, { i: 101030204, n: '水槽', l: 3 }, { i: 101030205, n: '橱柜', l: 3 }, { i: 101030206, n: '卫浴水龙头', l: 3 }, { i: 101030207, n: '花洒、喷头', l: 3 }, { i: 101030208, n: '卫浴台、盆', l: 3 }, { i: 101030209, n: '座便器', l: 3 }, { i: 101030210, n: '卫浴电器', l: 3 }, { i: 101030211, n: '卫浴五金挂件', l: 3 }, { i: 101030212, n: '卫浴管件', l: 3 }, { i: 101030213, n: '其他', l: 3}] }, { i: 1010303, n: '装饰产品', l: 2, c: [{ i: 101030301, n: '饰面板', l: 3 }, { i: 101030302, n: '大理石', l: 3 }, { i: 101030303, n: '木材木质人造板', l: 3 }, { i: 101030304, n: '装饰石材', l: 3 }, { i: 101030305, n: '地板', l: 3 }, { i: 101030306, n: '地毯', l: 3 }, { i: 101030307, n: '陶瓷墙地砖', l: 3 }, { i: 101030308, n: '建筑涂料', l: 3 }, { i: 101030309, n: '建筑油漆', l: 3 }, { i: 101030310, n: '装饰玻璃', l: 3 }, { i: 101030311, n: '建筑胶粘剂', l: 3 }, { i: 101030312, n: '壁纸、壁布', l: 3 }, { i: 101030313, n: '吊顶', l: 3 }, { i: 101030314, n: '装饰门窗', l: 3 }, { i: 101030315, n: '遮阳、雨蓬', l: 3 }, { i: 101030316, n: '装饰楼梯', l: 3 }, { i: 101030317, n: '锁具五金', l: 3 }, { i: 101030318, n: '其他', l: 3}] }, { i: 1010304, n: '系统产品', l: 2, c: [{ i: 101030401, n: '整体橱柜', l: 3 }, { i: 101030402, n: '中央空调', l: 3 }, { i: 101030403, n: '新风设备', l: 3 }, { i: 101030404, n: '地热锅炉', l: 3 }, { i: 101030405, n: '水处理系统', l: 3 }, { i: 101030406, n: '门禁考勤系统', l: 3 }, { i: 101030407, n: '整体阳光房', l: 3 }, { i: 101030408, n: '背景音乐控制', l: 3 }, { i: 101030409, n: '安防监控系统', l: 3 }, { i: 101030410, n: '自动草坪灌溉系统', l: 3 }, { i: 101030411, n: '整体渔缸', l: 3 }, { i: 101030412, n: '中央吸尘', l: 3 }, { i: 101030413, n: '灯光控制系统', l: 3 }, { i: 101030414, n: '其他', l: 3}]
                }
              ]
            }
]}];


YAHOO.tender.init = function(){
//调试;
    switch(arguments.length)
    {        
        case 2:
            //arguments[1]==true时, 初始化arguments[0]及其所有父亲下拉列表
            //arguments[1]==false时,初始化arguments[0]单个下拉列表
            YAHOO.tender.initpresel(arguments[0], arguments[1]);
            break;
                        
        case 4:
            //初始化列表对象
            YAHOO.tender.setobj(arguments[0], arguments[1], arguments[2], arguments[3]);
            break;
            
        case 5:
            //初始化列表对象,并初始化arguments[0]及其所有父亲下拉列表, arguments[0]为地区编号
            YAHOO.tender.setobj(arguments[0], arguments[1], arguments[2], arguments[3]);
            YAHOO.tender.initpresel(arguments[4], true);
            break;
    }

}


YAHOO.tender.search = function(i, list) {

    var temp = null;
   
    if (list == null)
        list = YAHOO.tender.code;
    
    for(var j = 0; j < list.length; j++){
    
        if (list[j].i == i)
            return list[j];
        else{
        
            if (list[j].c != null){
            
                temp = YAHOO.tender.search(i, list[j].c);
                if (temp != null)
                    return temp;
            }
            else
                continue;
        }
    }
    
}


YAHOO.tender.setobj = function(category1, category2, category3, category4){
    
    category1 = dom.get(category1);
    category2 = dom.get(category2);
    category3 = dom.get(category3);
    category4 = dom.get(category4);
    
    if (!category1 || !category2 || !category3 || !category4)
        return false;
     
    //列表对象   
    YAHOO.tender.selobj = [{'type': 'category1', 'obj': category1}, {'type': 'category2', 'obj': category2}, {'type': 'category3', 'obj': category3}, {'type': 'category4', 'obj': category4}];    
}


YAHOO.tender.initpresel = function(code, flag){

    var p = YAHOO.tender.point(code);
    
    if (p.data == null){
        //debugger;
        YAHOO.tender.delsel(p.index-1, YAHOO.tender.selobj.length);   
        return;
    }
    
    if(flag)
    {
        YAHOO.tender.delsel(0, p.index);
        
        for(var i = 0 ; i < p.data.length; i++){
        
            YAHOO.tender.initsel(p.data[i].list, i, p.data[i].code);
        }
    }
    else
    {   

        YAHOO.tender.delsel(p.index, YAHOO.tender.selobj.length);
        for (var i = p.index; i < YAHOO.tender.selobj.length; i++)
        {
            YAHOO.tender.initsel(p.data[i].list, i, p.data[i].code);
        }
    }
}

YAHOO.tender.delsel = function(start, end){

    var obj = YAHOO.tender.selobj;
    
    for (var i = start; i < end; i++)
    {
        if (obj[i] && obj[i].obj){
        
            for(var j = obj[i].obj.length - 1; j > -1; j--){
            
                obj[i].obj.options[j] = null;
            }
        }
    }
    
    for (var i = end + 1; i < obj.length; i++){
    
        obj[i].obj.style.display = 'none';
    }
}


/// <summary>
/// 初始化一个列表
/// </summary>
/// <param name="data" type="array">列表数据</param>
/// <param name="index" type="int">列表对象索引</param>
/// <param name="code", type="int">被选择的项值</param>
YAHOO.tender.initsel = function(data, index, code){

    var curobj = YAHOO.tender.selobj[index];
    var nextobj = YAHOO.tender.selobj[index + 1];
    var a;
    
    if (code < 1000){
    
        a =100;
    }
    else{
    
        a = parseInt(code.toString().substr(0, code.toString().length - 2), 10) * 100;
    }
    
    
    curobj.obj.style.display = '';

    switch(code.toString().length)
    {
        case 5:
            curobj.obj.options[0] = new Option("不限", a);
            break;
        case 7:
            curobj.obj.options[0] = new Option("不限", a);
            break;
        case 9:
            curobj.obj.options[0] = new Option("不限", a);
            break;
        default:
            curobj.obj.options[0] = new Option("不限", a);
            break;
    }

    for (var i = 0; i < data.length; i++){        
        
        curobj.obj.options[i+1] = new Option(data[i].n, data[i].i);
        if (code == data[i].i)
            curobj.obj.options[i+1].selected = true;
    }    

}

YAHOO.tender.point = function(code){

    var category1, category2, category3, category4;    
    var len = code.toString().length;
    var data, index
    var a,b,c,d;
    try{
        switch(len)
        {
	        //招标项目分类	    
	        case 3:	        
        	    category1 = YAHOO.tender.code;
            	
        	    if (code == 100)
        	    {
        	        d = 0;
        	        data = [{'list': category1, 'code': code}, {'list': [], 'code': parseInt(category1[d].i.toString() + '00', 10)}, {'list': [], 'code': parseInt(category1[d].i.toString() + '0000', 10)}, {'list': [], 'code': parseInt(category1[d].i.toString() + '000000', 10)}];
        	    }
        	    else
        	    {
        	        d = code - 101;
        	        data = [{'list': category1, 'code': code}, {'list': category1[d].c, 'code': parseInt(category1[d].i.toString() + '00', 10)}, {'list': [], 'code': parseInt(category1[d].i.toString() + '0000', 10)}, {'list': [], 'code': parseInt(category1[d].i.toString() + '000000', 10)}];
        	    }
            	
        	    index = 0;
		        break;
    		    
		    //二级分类：纯设计类\施工(设计)类\材料直销价招标
            case 5:
                a = parseInt(code.toString().substr(0, 3), 10);
                b = parseInt(code.toString().substr(3, 2), 10);
                
                if (a == 100)
                {                
                    category1 = {'list': YAHOO.tender.code, 'code': 100};
                    
                    d = parseInt(category1.list[0].i.toString(), 10);
                    category2 = {'list': [], 'code': d * 100};
                    category3 = {'list': [], 'code': d * 10000};
                    category4 = {'list': [], 'code': d * 1000000};                
                }
                else
                {
                    if (b == 0)
                    {
                        category1 = {'list': YAHOO.tender.code, 'code': a};
                        category2 = {'list': category1.list[a-101].c, 'code': code};
                        
                        d = parseInt(category2.list[0].i.toString(), 10);
                        category3 = {'list': [], 'code': d * 100};
                        category4 = {'list': [], 'code': d * 10000};
                    }
                    else
                    {
                        category1 = {'list': YAHOO.tender.code, 'code': a};
                        category2 = {'list': category1.list[a-101].c, 'code': code};
                        
                        d = parseInt(category2.list[b-1].i.toString(), 10);
                        category3 = {'list': category2.list[b-1].c, 'code': d * 100};
                        category4 = {'list': [], 'code': d * 10000};
                    }
                }
                
                data = [category1, category2, category3, category4];
                                
                index = 1;
                break;
                
            //三级分类：
            //1.	纯设计类:公装设计\家装设计\设计外包\其它设计
            //2.	施工(设计)类: 公装装饰招标\家装\杂七杂八小装修\其它施工类别
            //3.	材料直销价招标: 家具家饰\厨卫产品\装饰产品\系统产品

            case 7:
                a = parseInt(code.toString().substr(0, 3), 10);
                b = parseInt(code.toString().substr(3, 2), 10);
                c = parseInt(code.toString().substr(5, 2), 10);
                
                
                if (a == 100)
                {                
                    category1 = {'list': YAHOO.tender.code, 'code': 0};
                    
                    d = parseInt(category1.list[0].i.toString(), 10);
                    category2 = {'list': [], 'code': d * 100};
                    category3 = {'list': [], 'code': d * 10000};
                    category4 = {'list': [], 'code': d * 1000000};                
                }
                else
                {
                    if (b == 0)
                    {
                        category1 = {'list': YAHOO.tender.code, 'code': a};
                        category2 = {'list': category1.list[a-101].c, 'code': code};
                        
                        d = parseInt(category2.list[0].i.toString(), 10);
                        category3 = {'list': [], 'code': code.toString().substr(0, 5) + '00'};
                        category4 = {'list': [], 'code': code.toString().substr(0, 5) + '10000'};
                    }
                    else
                    {
                        if (c == 0)
                        {
                            category1 = {'list': YAHOO.tender.code, 'code': a};
                            category2 = {'list': category1.list[a-101].c, 'code': parseInt(code.toString().substr(0, 5), 10)};
                            category3 = {'list': category2.list[b-1].c, 'code': code};
                            category4 = {'list': [], 'code': code * 100 };
                        }
                        else
                        {
                            category1 = {'list': YAHOO.tender.code, 'code': a};
                            category2 = {'list': category1.list[a-101].c, 'code': parseInt(code.toString().substr(0, 5), 10)};
                            category3 = {'list': category2.list[b-1].c, 'code': code};
                            category4 = {'list': category3.list[c-1].c, 'code': code * 100 };
                        }                    
                    }
                }
                
                data = [category1, category2, category3, category4];
                
                index = 2;
                break;
            
            //四级分类
            //1.	[纯设计类]公装设计:酒店\餐饮\宾馆设计\KTV\桑拿设计\咖啡馆设计\专卖店\展厅设计\售楼处\医院\会所设计\办公室设计\其他
            //[纯设计类]家装设计:别墅\公寓\楼盘样板房\私人豪宅设计\排屋设计\跃层设计\婚房设计\自造房设计\出租房设计\软装饰设计\其他
            //[纯设计类]设计外包:效果图\水电暖通设计\施工图制作\三维模型设计\设计跟单\前期方案设计\平面扩初\地热设计\其他
            //[纯设计类]其它设计:庭院\建筑外观\花园设计\别墅外观设计\公共绿化景观设计\旧房改造室内设计\家具设计\厨房设计\卫浴设计\其他
            //2.	[施工(设计)类]公装装饰招标: 酒店\餐饮\宾馆装修\ KTV\桑拿设计\咖啡馆装修\专卖店装修\售楼处\医院\会所装修\办公室装修\其他
            //[施工(设计)类]家装: 别墅\公寓\楼盘样板房\私人豪宅设计装修\排屋装修\跃层装修\婚房装饰\自造房装修\出租房装修\其他
            //[施工(设计)类]杂七杂八小装修:卫生间改造\展柜制作\展销会展厅\出租房局部修补\局部改造\其他
            //[施工(设计)类]其它施工类别:花园施工\别墅外观改造\公共绿化景观施工\旧房改造室内装饰\其他
            //3.	[材料直销价招标]家具家饰:办公家具\卧室家具\客厅家具\餐厅家具\酒店家具\公共类家具\户外家具\儿童家具\装饰品\灯具灯饰\家用电器\其他  (要不要?玄关柜\水晶灯\)
            //[材料直销价招标]厨卫产品: 浴镜\浴房浴缸\厨房配件\水槽\橱柜\卫浴水龙头\花洒、喷头\卫浴台、盆\座便器\卫浴电器\卫浴五金挂件\卫浴管件\其他
            //[材料直销价招标]装饰产品:饰面板\大理石\木材木质人造板\装饰石材\地板\地毯\陶瓷墙地砖\建筑涂料\建筑油漆\装饰玻璃\建筑胶粘剂\壁纸、壁布\吊顶\装饰门窗\遮阳、雨蓬\装饰楼梯\锁具五金\其他
            //[材料直销价招标]系统产品:整体橱柜\中央空调\新风设备\地热锅炉\水处理系统\门禁考勤系统\整体阳光房\背景音乐控制\安防监控系统\自动草坪灌溉系统\整体渔缸\中央吸尘\灯光控制系统\其他

            case 9: 
            
                a = parseInt(code.toString().substr(0, 3), 10);
                b = parseInt(code.toString().substr(3, 2), 10);
                c = parseInt(code.toString().substr(5, 2), 10);
                d = parseInt(code.toString().substr(7, 2), 10);
                
                
                if (a == 100)
                {                
                    category1 = {'list': YAHOO.tender.code, 'code': 0};
                    
                    d = parseInt(category1.list[0].i.toString(), 10);
                    category2 = {'list': [], 'code': d * 100};
                    category3 = {'list': [], 'code': d * 10000};
                    category4 = {'list': [], 'code': d * 1000000};                
                }
                else
                {
                    if (b == 0)
                    {
                        category1 = {'list': YAHOO.tender.code, 'code': a};
                        category2 = {'list': category1.list[a-101].c, 'code': code};
                        
                        d = parseInt(category2.list[0].i.toString(), 10);
                        category3 = {'list': [], 'code': code.toString().substr(0, 5) + '00'};
                        category4 = {'list': [], 'code': code.toString().substr(0, 5) + '0000'};
                    }
                    else
                    {
                        if (c == 0)
                        {
                            category1 = {'list': YAHOO.tender.code, 'code': a};
                            category2 = {'list': category1.list[a-101].c, 'code': parseInt(code.toString().substr(0, 5), 10) };
                            category3 = {'list': category2.list[b-1].c, 'code': parseInt(code.toString().substr(0, 7), 10)};
                            category4 = {'list': [], 'code': code * 100 };
                        }
                        else
                        {
                            category1 = {'list': YAHOO.tender.code, 'code': a};
                            category2 = {'list': category1.list[a-101].c, 'code': parseInt(code.toString().substr(0, 5), 10)};
                            category3 = {'list': category2.list[b-1].c, 'code': parseInt(code.toString().substr(0, 7), 10) };
                            category4 = {'list': category3.list[c-1].c, 'code': code };
                        }                    
                    }
                }
                
                data = [category1, category2, category3, category4];
           
                index = 3;
                break;
        }
        
        return {'index': index, 'data': data};
    }
    catch(e)
    {
        return {'index': index, 'data': null}
    }
}


YAHOO.tender.onchange = function(obj, index){

    //debugger;
    YAHOO.tender.init(obj.value, false);
    
//    var p = YAHOO.tender.selobj[1].obj.value;
//    var ci = YAHOO.tender.selobj[2].obj.value;
//    var c = YAHOO.tender.selobj[3].obj.value;
//    alert(p + ",    " + ci + "'     " + c);
}


YAHOO.tender.abc = function(){

    var text = "<table>";
    var dashi = YAHOO.tender.code[0].c;
    
    for(var i = 0; i < dashi.length; i++){
    
        text += "<tr><td>" + dashi[i].i.toString() + "</td><td>" + dashi[i].n + "</td></tr>";
        
        for(var j = 0; dashi[i].c && j < dashi[i].c.length; j++){
        
            text += "<tr><td>" + dashi[i].c[j].i.toString() + "</td><td>" + dashi[i].c[j].n + "</td></tr>";
            
            for(var k = 0; dashi[i].c[j].c && k < dashi[i].c[j].c.length; k++){
            
                text += "<tr><td>" + dashi[i].c[j].c[k].i.toString() + "</td><td>" + dashi[i].c[j].c[k].n + "</td></tr>";
            }
        }        
    }
    
    return text + "</table>";
}
