(function() {
	/*
	 *Author Liyao
	 *Date 2009-4-8
	 *Function JobareaLayer class extends JobLayer class
	 */
	
	//check the class name , it will be replaced when existed
	if ( window.JobareaLayer ) {
		alert( 'variable JobareaLayer has been used,it will be replaced with _JobareaLayer!' );
		window._JobareaLayer = window.JobareaLayer;
	}

	//constructor
	window.JobareaLayer = function( param ) {
		param = param instanceof Object ? param : {};
		
		param.colNum = param.colNum || 7;
		if ( param.extData ) {//处理居住地的情况
			param.data = ja.clone();
			for ( var p in param.extData ) {
				if ( /^[\d]{4}$/.test( p ) ) {
					param.data[p] = param.extData[p];
				}
			}
			this.mainCity[2].subIds[0] = '1301';
			param.headTitle = param.cfg.langs.juzd;
		}
		else {
			this.mainCity[2].subIds[0] = '0302';
			param.data = ja;
			param.headTitle = param.cfg.langs.gzdd;
		}
		
		param.selectedTitle = param.cfg.langs.didian;
		param.initTblFunc = this.initJobareaLayer;
		param.getSubValues = this.getJobareaIds;
		param.getSubColNum = function( len ) { return Math.ceil( Math.sqrt( len ) ); };
		var tdWidth = 'e' == param.cfg.lang ? 'auto' : '75px';
		param.tdProps = { style : { width: tdWidth , paddingLeft: '3px' } };
		if ( param.cityChoose ) {
			param.tdProps.style.width = '84px';
			param.subTdProps = { style : {} };
			param.subTdProps.style.width = '75px';
			if ( 'e' == param.cfg.lang ) {
				param.colNum = 6;
			}
		}

		param.emptyWords = param.cfg.langs.xzdq;

		JobLayer.apply( this , [param] );

	}.$extends( JobLayer );

	//share property & method
	var pt = JobareaLayer.prototype;

	//主要城市数据字典
	pt.mainCity = [
		{ Chinese : '华北-东北' , English: 'Northern &amp; North-Eastern China' , subIds : ['1101','1201','1702','3302','1701','1901'] } ,
		{ Chinese : '华东地区' , English: 'Eastern China' , subIds : ['2001','2101','2105','2201','2202','2301','2401','2601','2602'] } ,
		{ Chinese : '华南-华中' , English: 'Southern &amp; Central China' , subIds : ['1301','1303','1317','2801','2901','2701'] } ,
		{ Chinese : '西北-西南' , English: 'North-Western &amp; South-Western China' , subIds : ['3701','3301','3201','3501'] }
	];

	//所有省份数据字典
	pt.allProvince = [
		{ Chinese : '华北-东北' , English: 'Northern &amp; North-Eastern China' , subIds : ['1400','1500','1600','1700','1800','1900'] } ,
		{ Chinese : '华东地区' , English: 'Eastern China' , subIds : ['2100','2200','2300','2400','2500','2600'] } ,
		{ Chinese : '华南-华中' , English: 'Southern &amp; Central China' , subIds : ['1300','3000','3100','2700','2800','2900'] } ,
		{ Chinese : '西北-西南' , English: 'North-Western &amp; South-Western China' , subIds : ['3800','1600','3900','4000','4100','3300','3400','3500','3600'] } ,
		{ Chinese : '其它' , English: 'Others' , subIds : ['4200','4300','4400'] }
	];

	pt.getJobareaIds = function( _value , isClearShenZhen ){//处理广东省深圳市特殊情况
		var _values = this.constructor.prototype.getSubValues.apply( this , [_value] );
		if ( '0300' == _value ) {
			if ( _values[1] != '0400' ) {
				_values.splice( 1 , 0 , '0400' );
			}
			if ( isClearShenZhen ) {
				_values.splice( 1 , 1 );
			}
		}
		return _values;
	}

	pt.initJobareaLayer = function() {

		//table
		this.createTbl();
		
		if ( !this.cityChoose ) {
			//title tr
			this.createTitleTr();

			//selected tr
			if ( this.isMulty ) {
				this.createSelectedTr();

				//seprator line
				var tr = this.tbl.insertRow( -1  );
				var td = document.createElement( 'td' );
				td.colSpan =  this.colNum;
				td.className = 'jlSeprator';
				tr.appendChild( td );
			}

			//main city title
			var tr = this.tbl.insertRow( -1  );
			var td = document.createElement( 'td' );
			td.colSpan =  this.colNum;
			td.innerHTML = this.cfg.langs.zycs + '：';
			td.className = 'bigOrange gray';
			tr.appendChild( td );
		}
		
		var pareClsAdd = this.cityChoose && 'e' == this.cfg.lang ? ' quName' : '';
		//main city trs
		for ( var i = 0 ; i < this.mainCity.length ; i++ ) {
			this.mainCity[i]['pareName'] = this.mainCity[i][this.cfg.fullLang] + '：';
			this.mainCity[i]['pareClassName'] = 'blackBold' + pareClsAdd;
			this.createSelectTr( this.mainCity[i] );
		}

		//all province title
		var tr = this.tbl.insertRow( -1  );
		var td = document.createElement( 'td' );
		td.colSpan =  this.colNum;
		td.innerHTML = this.cfg.langs.sysf + '：';
		td.className = 'bigOrange gray';
		tr.appendChild( td );
		
		//all province trs
		for ( var i = 0 ; i < this.allProvince.length ; i++ ) {
			this.allProvince[i]['pareName'] = this.allProvince[i][this.cfg.fullLang] + '：';
			this.allProvince[i]['pareClassName'] = 'blackBold' + pareClsAdd;
			this.createSelectTr( this.allProvince[i] );
		}
		
		if ( !this.cityChoose ) {
			//bottom line
			this.createBottomLine();
		}
	}

})();