<!--  Job Category Associate List script written entirely in JavaScript  -->
<!--  Written by WenWei, 2001-2004. E-mail: wenwei(AT)blueidea.com  -->

// 职位大类选项列表
var PCLOptions = new Array()

// 职位小类选项列表
var CCLOptions = new Array()

GenerateJobCategoryList();

// 生成职位类别选项列表
function GenerateJobCategoryList()
{
    var ii = 0
    var jj = 0
    
    PCLOptions[ii++] = "经营管理类|经营管理类"
    PCLOptions[ii++] = "服装设计类|服装设计类"
    PCLOptions[ii++] = "皮具领带类|皮具领带类"
    PCLOptions[ii++] = "手袋箱包类|手袋箱包类"
    PCLOptions[ii++] = "鞋帽袜类|鞋帽袜类"
    PCLOptions[ii++] = "纺织面料类|纺织面料类"
    PCLOptions[ii++] = "工业工厂类|工业工厂类"
    PCLOptions[ii++] = "行政/人事类|行政/人事类"
    PCLOptions[ii++] = "财务类|财务类"
    PCLOptions[ii++] = "国际贸易类|国际贸易类"
    PCLOptions[ii++] = "销售业务类|销售业务类"
    PCLOptions[ii++] = "计算机(IT)类|计算机(IT)类"
    
  
    ii = 0
    jj = 0
    // ii = 0
    CCLOptions[ii] = new Array()
    CCLOptions[ii][jj++] = "经营管理类-副/总经理|副/总经理"
    CCLOptions[ii][jj++] = "经营管理类-总经理助理|总经理助理"
    CCLOptions[ii][jj++] = "经营管理类-高级文秘|高级文秘"
    CCLOptions[ii][jj++] = "经营管理类-营销总监|营销总监"
    CCLOptions[ii][jj++] = "经营管理类-市场总监|市场总监"
    CCLOptions[ii][jj++] = "经营管理类-产品总监|产品总监"
    CCLOptions[ii][jj++] = "经营管理类-品牌经理|品牌经理"
    CCLOptions[ii][jj++] = "经营管理类-营运经理|营运经理"
    CCLOptions[ii][jj++] = "经营管理类-项目经理|项目经理"
    CCLOptions[ii][jj++] = "经营管理类-审计经理|审计经理"
    CCLOptions[ii][jj++] = "经营管理类-市场拓展主管|市场拓展主管"
    CCLOptions[ii][jj++] = "经营管理类-加盟部主管|加盟部主管"
    CCLOptions[ii][jj++] = "经营管理类-陈列师|陈列师"
    CCLOptions[ii][jj++] = "经营管理类-市场督导|市场督导"
    CCLOptions[ii][jj++] = "经营管理类-店铺策划|店铺策划"
    CCLOptions[ii][jj++] = "经营管理类-店面设计师|店面设计师"
    CCLOptions[ii++][jj++] = "经营管理类-其它相关职位|其它相关职位"
    
    jj = 0
    // ii = 1
    CCLOptions[ii] = new Array()
    CCLOptions[ii][jj++] = "服装设计类-服装设计总监|服装设计总监"
    CCLOptions[ii][jj++] = "服装设计类-首席服装设计师|首席服装设计师"
    CCLOptions[ii][jj++] = "服装设计类-服装设计师|服装设计师"
    CCLOptions[ii][jj++] = "服装设计类-服装设计师助理|服装设计师助理"
    CCLOptions[ii][jj++] = "服装设计类-男装设计师|男装设计师"
    CCLOptions[ii][jj++] = "服装设计类-女装设计师|女装设计师"
    CCLOptions[ii][jj++] = "服装设计类-童装设计师|童装设计师"
    CCLOptions[ii][jj++] = "服装设计类-毛衫设计师|毛衫设计师"
    CCLOptions[ii][jj++] = "服装设计类-内衣设计师|内衣设计师"
    CCLOptions[ii][jj++] = "服装设计类-婚纱设计师|婚纱设计师"
    CCLOptions[ii][jj++] = "服装设计类-运动装设计师|运动装设计师"
    CCLOptions[ii][jj++] = "服装设计类-休闲装设计师|休闲装设计师"
    CCLOptions[ii][jj++] = "服装设计类-牛仔设计师|牛仔设计师"
    CCLOptions[ii][jj++] = "服装设计类-制服设计师|制服设计师"
    CCLOptions[ii][jj++] = "服装设计类-皮衣设计师|皮衣设计师"
    CCLOptions[ii][jj++] = "服装设计类-羽绒服设计师|羽绒服设计师"
    CCLOptions[ii++][jj++] = "服装设计类-其它相关职位|其它相关职位"
    
    jj = 0
    // ii = 2
    CCLOptions[ii] = new Array()
    CCLOptions[ii][jj++] = "皮具领带类-皮具设计师|皮具设计师"
    CCLOptions[ii][jj++] = "皮具领带类-皮具出格师傅|皮具出格师傅"
    CCLOptions[ii][jj++] = "皮具领带类-皮革工程师|皮革工程师"
    CCLOptions[ii][jj++] = "皮具领带类-模具师傅|模具师傅"
    CCLOptions[ii][jj++] = "皮具领带类-五金设计师|五金设计师"
    CCLOptions[ii][jj++] = "皮具领带类-皮革护理技师|皮革护理技师"
    CCLOptions[ii][jj++] = "皮具领带类-皮带设计师|皮带设计师"
    CCLOptions[ii][jj++] = "皮具领带类-领带设计师|领带设计师"
    CCLOptions[ii++][jj++] = "皮具领带类-其它相关职位|其它相关职位"
    
    jj = 0
    // ii = 3
    CCLOptions[ii] = new Array()
    CCLOptions[ii][jj++] = "手袋箱包类-手袋出格|手袋出格"
    CCLOptions[ii][jj++] = "手袋箱包类-手袋设计师|手袋设计师"
    CCLOptions[ii][jj++] = "手袋箱包类-箱包设计师|箱包设计师"
    CCLOptions[ii++][jj++] = "手袋箱包类-其它相关职位|其它相关职位"
    
    jj = 0
    // ii = 4
    CCLOptions[ii] = new Array()
    CCLOptions[ii][jj++] = "鞋帽袜类-男鞋设计师|男鞋设计师"
    CCLOptions[ii][jj++] = "鞋帽袜类-女鞋设计师|女鞋设计师"
    CCLOptions[ii][jj++] = "鞋帽袜类-童鞋设计师|童鞋设计师"
    CCLOptions[ii][jj++] = "鞋帽袜类-凉鞋设计师|凉鞋设计师"
    CCLOptions[ii][jj++] = "鞋帽袜类-帮面设计师|帮面设计师"
    CCLOptions[ii][jj++] = "鞋帽袜类-帽设计师|帽设计师"
    CCLOptions[ii][jj++] = "鞋帽袜类-袜设计师|袜设计师"
    CCLOptions[ii++][jj++] = "鞋帽袜类-其它相关职位|其它相关职位"
    
    jj = 0
    // ii = 5
    CCLOptions[ii] = new Array()
    CCLOptions[ii][jj++] = "纺织面料类-纺织工程师|纺织工程师"
    CCLOptions[ii][jj++] = "纺织面料类-纺纱工程师|纺纱工程师"
    CCLOptions[ii][jj++] = "纺织面料类-面料设计师|面料设计师"
    CCLOptions[ii][jj++] = "纺织面料类-织造工程师|织造工程师"
    CCLOptions[ii++][jj++] = "纺织面料类-其它相关职位|其它相关职位"
    
    jj = 0
    // ii = 6
    CCLOptions[ii] = new Array()
    CCLOptions[ii][jj++] = "工业工厂类-生产厂长|生产厂长"
    CCLOptions[ii][jj++] = "工业工厂类-厂长助理/|厂长助理"
    CCLOptions[ii][jj++] = "工业工厂类-车间主任|车间主任"
    CCLOptions[ii][jj++] = "工业工厂类-生产管理|生产管理"
    CCLOptions[ii][jj++] = "工业工厂类-生产助理|生产助理"
    CCLOptions[ii][jj++] = "工业工厂类-采购/采购主管|采购/采购主管"
    CCLOptions[ii][jj++] = "工业工厂类-仓库管理|仓库管理"
    CCLOptions[ii][jj++] = "工业工厂类-品质管理|品质管理"
    CCLOptions[ii][jj++] = "工业工厂类-QC质检|QC质检"
    CCLOptions[ii][jj++] = "工业工厂类-QC跟单|QC跟单"
    CCLOptions[ii][jj++] = "工业工厂类-手稿师|手稿师"
    CCLOptions[ii][jj++] = "工业工厂类-五金设计师|五金设计师"
    CCLOptions[ii][jj++] = "工业工厂类-打版工/打版师傅|打版工/打版师傅"
    CCLOptions[ii][jj++] = "工业工厂类-版房/版房师傅|版房/版房师傅"
    CCLOptions[ii][jj++] = "工业工厂类-样衣工/样衣师傅|样衣工/样衣师傅"
    CCLOptions[ii][jj++] = "工业工厂类-纸样工/纸样师傅|纸样工/纸样师傅"
    CCLOptions[ii][jj++] = "工业工厂类-度尺工/度尺师傅|度尺工/度尺师傅"
    CCLOptions[ii][jj++] = "工业工厂类-裁床工/裁床师傅|裁床工/裁床师傅"
    CCLOptions[ii][jj++] = "工业工厂类-车工/车工师傅|车工/车工师傅"
    CCLOptions[ii][jj++] = "工业工厂类-平车工/平车师傅|平车工/平车师傅"
    CCLOptions[ii][jj++] = "工业工厂类-喷涂工/喷涂师傅|喷涂工/喷涂师傅"
    CCLOptions[ii][jj++] = "工业工厂类-钉珠工/钉珠师傅|钉珠工/钉珠师傅"
    CCLOptions[ii][jj++] = "工业工厂类-印花工/印花师傅|印花工/印花师傅"
    CCLOptions[ii][jj++] = "工业工厂类-调色工/调色师傅|调色工/调色师傅"
    CCLOptions[ii][jj++] = "工业工厂类-印染工/印染师傅|印染工/印染师傅"
    CCLOptions[ii][jj++] = "工业工厂类-洗水工/洗水师傅|洗水工/洗水师傅"
    CCLOptions[ii][jj++] = "工业工厂类-放码工/放码师傅|放码工/放码师傅"
    CCLOptions[ii][jj++] = "工业工厂类-横机工/横机师傅|横机工/横机师傅"
    CCLOptions[ii][jj++] = "工业工厂类-套口工/套口师傅|套口工/套口师傅"
    CCLOptions[ii][jj++] = "工业工厂类-锁边工/锁边师傅|锁边工/锁边师傅"
    CCLOptions[ii][jj++] = "工业工厂类-挡车工/挡车师傅|挡车工/挡车师傅"
    CCLOptions[ii][jj++] = "工业工厂类-熨烫工/熨烫师傅|熨烫工/熨烫师傅"
    CCLOptions[ii][jj++] = "工业工厂类-裁剪工/裁剪师傅|裁剪工/裁剪师傅"
    CCLOptions[ii][jj++] = "工业工厂类-缝纫工/缝纫师傅|缝纫工/缝纫师傅"
    CCLOptions[ii][jj++] = "工业工厂类-成型工/成型师傅|成型工/成型师傅"
    CCLOptions[ii][jj++] = "工业工厂类-查补工/查补师傅|查补工/查补师傅"
    CCLOptions[ii][jj++] = "工业工厂类-织机工/织机师傅|织机工/织机师傅"
    CCLOptions[ii][jj++] = "工业工厂类-缝盘工/缝盘师傅|缝盘工/缝盘师傅"
    CCLOptions[ii][jj++] = "工业工厂类-挑撞工/挑撞师傅|挑撞工/挑撞师傅"
    CCLOptions[ii][jj++] = "工业工厂类-勾绣工/勾绣师傅|勾绣工/勾绣师傅"
    CCLOptions[ii][jj++] = "工业工厂类-下栏工/下栏师傅|下栏工/下栏师傅"
    CCLOptions[ii][jj++] = "工业工厂类-查片工/查片师傅|查片工/查片师傅"
    CCLOptions[ii][jj++] = "工业工厂类-检片工/检片师傅|检片工/检片师傅"
    CCLOptions[ii][jj++] = "工业工厂类-查缝工/查缝师傅|查缝工/查缝师傅"
    CCLOptions[ii][jj++] = "工业工厂类-下料工/下料师傅|下料工/下料师傅"
    CCLOptions[ii][jj++] = "工业工厂类-机修工/机修师傅|机修工/机修师傅"
    CCLOptions[ii][jj++] = "工业工厂类-包装工/包装师傅|包装工/包装师傅"
    CCLOptions[ii][jj++] = "工业工厂类-初查|初查"
    CCLOptions[ii][jj++] = "工业工厂类-复查|复查"
    CCLOptions[ii][jj++] = "工业工厂类-总查|总查"
    CCLOptions[ii][jj++] = "工业工厂类-刷胶|刷胶"
    CCLOptions[ii][jj++] = "工业工厂类-杂工|杂工"
    CCLOptions[ii++][jj++] = "工业工厂类-其它相关职位|其它相关职位"
    
    jj = 0
    // ii = 7
    CCLOptions[ii] = new Array()
    CCLOptions[ii][jj++] = "行政/人事类-人力资源总监|人力资源总监"
    CCLOptions[ii][jj++] = "行政/人事类-人力资源经理|人力资源经理"
    CCLOptions[ii][jj++] = "行政/人事类-人事助理/文员|人事助理/文员"
    CCLOptions[ii][jj++] = "行政/人事类-行政主管/经理|行政主管/经理"
    CCLOptions[ii][jj++] = "行政/人事类-行政助理|行政助理"
    CCLOptions[ii][jj++] = "行政/人事类-办公文员|办公文员"
    CCLOptions[ii][jj++] = "行政/人事类-前台接待|前台接待"
    CCLOptions[ii][jj++] = "行政/人事类-文案策划|文案策划"
    CCLOptions[ii][jj++] = "行政/人事类-培训讲师|培训讲师"
    CCLOptions[ii][jj++] = "行政/人事类-ISO专员|ISO专员"
    CCLOptions[ii][jj++] = "行政/人事类-法律顾问|法律顾问"
    CCLOptions[ii][jj++] = "行政/人事类-司机|司机"
    CCLOptions[ii][jj++] = "行政/人事类-保安|保安"
    CCLOptions[ii][jj++] = "行政/人事类-厨师|厨师"
    CCLOptions[ii++][jj++] = "行政/人事类-其它相关职位|其它相关职位"
    
    jj = 0
    // ii = 8
    CCLOptions[ii] = new Array()
    CCLOptions[ii][jj++] = "财务类-财务总监|财务总监"
    CCLOptions[ii][jj++] = "财务类-财务主管|财务主管"
    CCLOptions[ii][jj++] = "财务类-会计师|会计师"
    CCLOptions[ii][jj++] = "财务类-会计|会计"
    CCLOptions[ii][jj++] = "财务类-出纳|出纳"
    CCLOptions[ii][jj++] = "财务类-统计|统计"
    CCLOptions[ii][jj++] = "财务类-审计|审计"
    CCLOptions[ii++][jj++] = "财务类-其它相关职位|其它相关职位"
    
    jj = 0
    // ii = 9
    CCLOptions[ii] = new Array()
    CCLOptions[ii][jj++] = "国际贸易类-外贸经理|外贸经理"
    CCLOptions[ii][jj++] = "国际贸易类-外贸专员|外贸专员"
    CCLOptions[ii][jj++] = "国际贸易类-英语翻译|英语翻译"
    CCLOptions[ii][jj++] = "国际贸易类-日语翻译|日语翻译"
    CCLOptions[ii][jj++] = "国际贸易类-韩语翻译|韩语翻译"
    CCLOptions[ii][jj++] = "国际贸易类-西班牙语翻译|西班牙语翻译"
    CCLOptions[ii][jj++] = "国际贸易类-意大利语翻译|意大利语翻译"
    CCLOptions[ii][jj++] = "国际贸易类-俄语翻译|俄语翻译"
    CCLOptions[ii][jj++] = "国际贸易类-其它外语翻译|其它外语翻译"
    CCLOptions[ii][jj++] = "国际贸易类-跟单员|跟单员"
    CCLOptions[ii][jj++] = "国际贸易类-单证/船务|单证/船务"
    CCLOptions[ii][jj++] = "国际贸易类-报关/报检员|报关/报检员"
    CCLOptions[ii++][jj++] = "国际贸易类-其它相关职位|其它相关职位"

    jj = 0
    // ii = 10
    CCLOptions[ii] = new Array()
    CCLOptions[ii][jj++] = "销售业务类-销售经理/主管|销售经理/主管"
    CCLOptions[ii][jj++] = "销售业务类-销售/业务员|销售/业务员"
    CCLOptions[ii][jj++] = "销售业务类-店长|店长"
    CCLOptions[ii][jj++] = "销售业务类-店长助理|店长助理"
    CCLOptions[ii][jj++] = "销售业务类-营业员|营业员"
    CCLOptions[ii][jj++] = "销售业务类-收银员|收银员"
    CCLOptions[ii][jj++] = "销售业务类-促销员|促销员"
    CCLOptions[ii][jj++] = "销售业务类-试衣/模特|试衣/模特"
    CCLOptions[ii++][jj++] = "销售业务类-其它相关职位|其它相关职位"
    
    jj = 0
    // ii = 11
    CCLOptions[ii] = new Array()
    CCLOptions[ii][jj++] = "计算机(IT)类-绘图员/CAD|绘图员/CAD"
    CCLOptions[ii][jj++] = "计算机(IT)类-网站美工/平面设计|网站美工/平面设计"
    CCLOptions[ii][jj++] = "计算机(IT)类-网站程序设计|网站程序设计"
    CCLOptions[ii][jj++] = "计算机(IT)类-ERP|ERP"
    CCLOptions[ii][jj++] = "计算机(IT)类-数据库开发|数据库开发"
    CCLOptions[ii][jj++] = "计算机(IT)类-网管|网管"
    CCLOptions[ii++][jj++] = "计算机(IT)类-其它相关职位|其它相关职位"
    
    
   
    
 
  

    ii = 0
    jj = 0
}

// Job Category Associate List Object
function JobCategoryAssociateList(instance, parent, child, optionList)
{
    this.parent           = parent;              // 父选择框
    this.child            = child;               // 子选择框

    this.instance         = instance;            // 与对象关联的选择框实例

    this.optionList       = optionList;          // 选择框选项列表
    this.initValue        = null;                // 选择框初始值
    
    this.addedOptions     = null;                // 附加选项

    this.incPValue        = false;               // 包含父值
    this.incPValueFormat  = "%PText%";           // 包含父值的选项的文本格式

    this.allowEmpty       = false;               // 允许空选项列表

    this.init             = InitJobCategorySelector;   // 初始化方法
    this.SetSelectedValue = SetSelectedValue;          // 设置选中值方法

    this.instance.associateObject = this;       // 关联对象与选择框
}

// 选择列表初始化方法
function InitJobCategorySelector()
{
    if( this.instance )                                         // 实例存在
    {
        var i, aIndex, aLength, aValueText;
        if( this.child )                                        // 子选择框存在, 则实例为父选择框
        {
           this.instance.length = 0;                           // 清空实例
            if( this.addedOptions != null )                     // 附加选项
            {
                for( i = 0; i<this.addedOptions.length; i++ )
                {
                    aValueText = this.addedOptions[i].split("|");
                    if( aValueText.length > 0 )                 // 添加选项
                    {
                        this.instance.options[this.instance.length] = new Option(aValueText[1], aValueText[0]);
                        if( aValueText[0] == this.initValue )   // 选中初始值
                            this.instance.options[this.instance.length-1].selected = true;
                    }
                }
            }
            for( i = 0; i<this.optionList.length; i++ )
            {
                aValueText = this.optionList[i].split("|");
                if( aValueText.length > 0 )                     // 添加选项
                {
                    this.instance.options[this.instance.length] = new Option(aValueText[1], aValueText[0]);
                    if( aValueText[0] == this.initValue )       // 选中初始值
                        this.instance.options[this.instance.length-1].selected = true;
                }
            }
            this.instance.onchange = parentCategoryChanged;
        }
        else if( this.parent )                                  // 父选择框存在, 则实例为子选择框
        {
			this.parent.onchange();
        }
    }
}

// 父选择列表值改变事件方法
function parentCategoryChanged()
{
    if( this.associateObject )
    {
        var i, aLength, aObject, aChildObject, aIndex, aValueText;
        var aParentValue, aParentText;

        aObject = this.associateObject;
        aChildObject = aObject.child.associateObject;
        aParentValue = this.options[this.selectedIndex].value;
        aParentText  = this.options[this.selectedIndex].text;
        aLength = 0;

        aObject.child.length = 0;                               // 清空实例

        if( aObject.addedOptions )                              // 父选择框附加选项数
            aLength = aObject.addedOptions.length;

        if( this.selectedIndex >= aLength )                     // 父选择框选中项不在附加选项中
        {
            aIndex = this.selectedIndex - aLength;
            if( aChildObject.incPValue )                            // 包含父值
            {
                aObject.child.options[aObject.child.length] = new Option(
                    aChildObject.incPValueFormat.replace("%PText%", this.options[this.selectedIndex].text),
                    aParentValue);
                if( aParentValue == aChildObject.initValue )       // 选中初始值
                    aObject.child.options[aObject.child.length-1].selected = true;
            }

            for( i=0; i<aChildObject.optionList[aIndex].length; i++ )
            {
                aValueText = aChildObject.optionList[aIndex][i].split("|");
                if( aValueText.length > 0 && aValueText[0] != aParentValue)       // 添加选项
                {
                    aObject.child.options[aObject.child.length] = new Option(aValueText[1], aValueText[0]);
                    if( aValueText[0] == aChildObject.initValue )       // 选中初始值
                        aObject.child.options[aObject.child.length-1].selected = true;
                }
            }
            if( !aChildObject.allowEmpty && aObject.child.length == 0)
            {
                aObject.child.options[aObject.child.length] = new Option(aParentText, aParentValue);
            }
        }
        else
        {
            if( aChildObject.addedOptions != null )                  // 附加选项
            {
                for( i = 0;i<aChildObject.addedOptions.length; i++ )
                {
                    aValueText = aChildObject.addedOptions[i].split("|");
                    if( aValueText.length > 0 )                 // 添加选项
                    {
                        aObject.child.options[aObject.child.length] = new Option(aValueText[1], aValueText[0]);
                        if( aValueText[0] == aChildObject.initValue )   // 选中初始值
                            aObject.child.options[aObject.child.length-1].selected = true;
                    }
                }
            }
        }
    }
}

function SetSelectedValue(aValue, aWantProcessed)
{
    if( this.instance )
    {
        var optionValue = aValue;
        if( aWantProcessed )
        {
            var optionValues = optionValue.split("-");
            if( optionValues.length > 0 )
                optionValue = optionValues[0] + "-";
        }
       for( i = 0;i<this.instance.options.length; i++ )
        {
           if( this.instance.options[i].value == optionValue )
            {
                this.instance.options[i].selected = true;
                if( this.child )
                {
					this.instance.onchange();
                    this.child.associateObject.SetSelectedValue(aValue, false);
                }
                break;
            }
        }
    }
}
