
/*-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init all function ajax 
	@paramater null
	@return null
-------------------------------------------------------------------------------------------*/
function ajaxJSON() {
	//ajax View initiatives :: Please select division, office to view data. 
	var selecInitDivision = $('selecInitDivisionGreen');
	var selectInitOffice = $('selectInitOfficeSetup');
	if(selecInitDivision && selectInitOffice) {
		initContent = $('listInitiativeContent');
		selecInitDivision.removeEvents().addEvent('change' , function(evt) {		
			var urlParamater = baseurl + '/user/showdot/idDivision/'+ selecInitDivision.value;
			var reqDivision = new Request.JSON({
				url: urlParamater,
				onRequest:function(){
					//loading
					initContent.innerHTML = Alert.messageAlert.txtInitDivisionOffice;
				},
				onComplete: function(data){
					if(!data){
						//window.location = baseurl;
						return;
					}	
					deleteOption(selectInitOffice);
					if(data.length) {
						for(var i = 0 ; i < data.length ; i++) {
							selectInitOffice.options[i+1] = new Option(data[i].office, data[i].office_id);
						}
						deleteOptionNUll(selectInitOffice);	
					}
				}
			}).post();
		});
		//select office
		selectInitOffice.removeEvents().addEvent('change' , function(evt) {
			var reqOffice = new Request({
				url: baseurl + $('initOfficePath').value + selectInitOffice.value,
				method:'post',
				onRequest:function(){
					//loading
					initContent.innerHTML = Alert.messageAlert.txtInitDivisionOffice;
					initContent.addClass('loadingDivision');
				},
				onSuccess: function(responseText, responseXML) {
					initContent.removeClass('loadingDivision');
					$$('.popup01').each(function(item, index){
						if(item.id == 'layerPopup') {
							item.destroy();
						}
					});
					if(/DOCTYPE/i.test(responseText)){
						//window.location = baseurl;
						return;
					}
					initContent.innerHTML = responseText;
					new imagePreset({selector: $('listInitiativeContent')});
					///////////////////////////
					initCompanyTeam();
					checkBoxHeaderCompany();
					initReloadPage();
					initpopupAssign();
					ajaxJSON();
					//init from initiativecomp.js
					initFormAjax();					
					tooltipPopup();
					initSave();
					initIniatiative();
					loadCalenda();
				}
			});
			reqOffice.send();
		});
	if($$('.tblEmployees')[0]){
		//var aLinkArr = $('tbIni1').getElement('thead').getElements('a');
		$$('.tblEmployees').each(function(el){
			var aLinkArr = el.getElement('thead').getElements('a');
			aLinkArr.each(function(alink){
				alink.addEvent('click', function(evt){
					evt.stop();
					var _url = this.getProperty('href');
					var reqSort = new Request({
						url: _url,
						method:'post',
						onRequest:function(){
							//loading
							initContent.innerHTML = Alert.messageAlert.txtInitDivisionOffice;
							initContent.addClass('loadingDivision');
						},
						onSuccess: function(responseText, responseXML) {
							initContent.removeClass('loadingDivision');
							$$('.popup01').each(function(item, index){
								if(item.id == 'layerPopup') {
									item.destroy();
								}
							});
							if(/DOCTYPE/i.test(responseText)){
								//window.location = baseurl;
								return;
							}
							initContent.innerHTML = responseText;
							new imagePreset({selector: $('listInitiativeContent')});
							///////////////////////////
							initCompanyTeam();
							checkBoxHeaderCompany();
							initReloadPage();
							initpopupAssign();
							ajaxJSON();
							//init from initiativecomp.js
							initFormAjax();					
							tooltipPopup();
							initSave();
							initIniatiative();
							loadCalenda();
						}});
						reqSort.send();
				});
			});
		});
		//var aLinkArr = $$('.tblEmployees')[0].getElement('thead').getElements('a');
		
		}
	}
	if(!$('frmCompanyEmployment') && !$('frmOfficeSetup')) {
		return true;
	}
	var arrSelect = $$('select[id=selectDivisionAddNew]');
	var arrSelectOff = $$('select[id=selectOfficeAddNew]');
	var arrSelectTeam = $$('select[id=selectTeamAddNew]');
	
	arrSelect.each(function(el , index) {
		el.removeEvents().addEvent('change' , function(evt) {			
			var urlParamater = baseurl + '/user/showdot/idDivision/'+el.value;
			var jsonRequest = new Request.JSON({url: urlParamater, 
				onComplete: function(data){		
					if(!data){
						window.location = baseurl;
						return;
					}	
				    var selectOffice = arrSelectOff[index];
					deleteOption(selectOffice);
					for(var i = 0 ; i < data.length ; i++) {
						selectOffice.options[i+1] = new Option(data[i].office, data[i].office_id);
					}
					deleteOptionNUll(selectOffice);
			}}).post();
		});
	});
	
	// selectdivisiongreen
	var selectdivisiongreen = $('selectdivisiongreen');
	if(selectdivisiongreen) selectdivisiongreen.removeEvents().addEvent('change' , function(evt) {		
		var urlParamater = baseurl + '/user/showdot/idDivision/'+selectdivisiongreen.value;
		var jsonRequest = new Request.JSON({url: urlParamater, 
			onComplete: function(data){
					if(!data){
						window.location = baseurl;
						return;
					}	
				if($('selectusergreen')) {
					var selectOffice = $('selectusergreen');
				} else if($('selectofficesetup')) {
					var selectOffice = $('selectofficesetup');
				}	
				deleteOption(selectOffice);
				for(var i = 0 ; i < data.length ; i++) {
					selectOffice.options[i+1] = new Option(data[i].office, data[i].office_id);
				}
				deleteOptionNUll(selectOffice);
				///////auto send request for first value///////////
				if($('selectusergreen')) {
					_baseUrl = baseurl +'/user/loademployees/division_id/'+$('selectdivisiongreen').value+'/office_id/';
					var _value = $('selectusergreen').value;
				} else if($('selectofficesetup')) {
					_baseUrl = baseurl +'/officesetup/loadofficesetup/division_id/'+$('selectdivisiongreen').value+'/office_id/';			 
					var _value = $('selectofficesetup').value;
				}
				
				var req = new Request({
					url: _baseUrl + _value,
					method:'post',
					onRequest:function(){},
					onSuccess: function(responseText, responseXML) {
						if(/DOCTYPE/i.test(responseText)){
							window.location = baseurl;
							return;
						}
							if($$('.divListView')[0]) {
								$$('.divListView')[0].innerHTML = responseText;
								new imagePreset({selector: $$('.divListView')[0]}); 
							}
							initCompanyTeam();
							checkBoxHeaderCompany();
							initReloadPage();
							initpopupAssign();
							ajaxJSON();
							
							saveAddMoreVehicle();
						}
				});
				req.send();
				////////////////////
		}}).post();
	});
	
	
	arrSelectOff.each(function(el, index) {
		el.removeEvents().addEvent('change' , function(evt) {
			// check for dup
			var _count = 0;			
			arrSelectOff.each(function(selOff, pos) {
				if(el.value == selOff.value && selOff.getParent().getPrevious().getPrevious().getFirst().value == 1){
					_count++;
					if(_count >= 2){						
						_companyTeamFormObj.showAlertLayer(selOff.getParent().getPrevious().getPrevious().getFirst(), "Your office exist a Green Officer.Please change the Green Officer status to NO");						
						selOff.getParent().getPrevious().getPrevious().getFirst().selectedIndex = 0;		
					}
				}
			});			
			var urlParamater = baseurl + '/user/showteam/office_id/'+el.value;
			var jsonRequest = new Request.JSON({url: urlParamater, 
				onComplete: function(data) {
										if(!data){
						window.location = baseurl;
						return;
					}	
				    var selectTeam = arrSelectTeam[index];
					deleteOption(selectTeam);
					for(var i = 0 ; i < data.length ; i++) {
						selectTeam.options[i+1] = new Option(data[i].team, data[i].team_id);					
					}
					deleteOptionNUll(selectTeam);
					
			}}).post();
		});
	});	
}

function deleteOption(option){
	if(!option) return;
	for(var i = option.options.length - 1 ; i >  0; i--){
		if(option.options[i]) option.options[i] = null;
	}
}

function updateOption(selectOffice , paramater , officeOrTeam , arrSelect , valueInput) {
	
	var jsonRequest = new Request.JSON({url: paramater, 
		onComplete: function(data) {
							if(!data){
						window.location = baseurl;
						return;
					}	
			deleteOption(selectOffice);
			for(var i = 0 ; i < data.length ; i++) {
				if(officeOrTeam == 1){
					selectOffice.options[i+1] = new Option(data[i].office, data[i].office_id);					
				} 
				else if(officeOrTeam == 2) {
					selectOffice.options[i+1] = new Option(data[i].name, data[i].manufac_id);					
				}
				else if(officeOrTeam == 3) {
					selectOffice.options[i+1] = new Option(data[i].name, data[i].model_id);					
				}
				else {
					selectOffice.options[i+1] = new Option(data[i].team, data[i].team_id);					
				}				
			}
			//update content 
			if(arrSelect) 
			for(var i =0; i< arrSelect.options.length ; i++) {
			
				if(arrSelect.options[i].text.trim() == valueInput.trim()) {
					arrSelect.options[i].selected = "selected";
				}
			}
			deleteOptionNUll(selectOffice);
	}}).post();
}


function deleteOptionNUll(option){
	if(!option) return;
	for(var i = option.options.length-1 ; i >0; i--){
		if(option.options[i].value =="null") {
			option.options[i] = null;
		}	
	}
}

/*-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init edit struc
	@paramater null
	@return null
-------------------------------------------------------------------------------------------*/

function editStruc(name , value) {
	//edit green
	if(name == "user_id") {
		if($('stepWizard')){
			$('profileGreenOfficer').getElement('input[id=btnRemove]').setStyle('display' , '');
			opaceIt($('profileGreenOfficer'), 1);
		} else {
			$('profileDivision').setStyle('display' , 'none');
			$('profileOffice').setStyle('display' , 'none');
			$('profileTeam').setStyle('display' , 'none');
			if($('profileGreenOfficer')) $('profileGreenOfficer').setStyles({
				'display' : 'block',
				'top' : 0
			});
		}	
		var urlParamater = baseurl +'/company/editgreen/green_id/' +value;
		var jsonRequest = new Request.JSON({url: urlParamater, 
			onComplete: function(data){
					if(!data){
						window.location = baseurl;
						return;
					}	
				if(data) {
					$('txtNameGreen').value = data[0].firstname;
					$('txtLastGreen').value = data[0].lastname;
					$('txtEmailGreen').value = data[0].email;
					$('txtAddressGreen').value = data[0].address;
					$('txtAddress2Green').value = data[0].address2;
					$('txtCityGreen').value = data[0].city;
					$('txtPhoneGreen').value = data[0].phone;
					
					if($('green_id_edit')) {
						$('green_id_edit').value = data[0].office_id;
					} else {
						var inputHidden = new Element('input' , {'type': 'hidden', 'name':'green_id_edit' , 'id': 'green_id_edit', 'value' : data[0].id});
						inputHidden.inject($('frmGreenOfficer'));
					}
					
				}				
			}
		}).post();
	}
	
	//edit team
	if(name == "team_id") {
		if($('stepWizard')){
			$('profileTeam').getElement('input[id=btnRemove]').setStyle('display' , '');
			opaceIt($('profileTeam'), 1);
		} else {			
			$('profileDivision').setStyle('display' , 'none');
			$('profileOffice').setStyle('display' , 'none');
			$('profileTeam').setStyles({
				'display' : 'block',
				'top' : 0
			});
			if($('profileGreenOfficer')) $('profileGreenOfficer').setStyle('display' , 'none');
		}	
		var urlParamater = baseurl +'/company/editteam/team_id/' +value;
		var jsonRequest = new Request.JSON({url: urlParamater, 
			onComplete: function(data){
								if(!data){
						window.location = baseurl;
						return;
					}	
				if(data) {					
					var state = $('selectTypeAddNew');
					for(var i= 0 ; i < state.options.length ; i++){
						if(state.options[i].value.trim() == data[0].teamtype_id){
							state.options[i].selected = true;
						}
					}
					//reset value select
					if(!data[0].teamtype_id){
						state.selectedIndex = 0;
					}
					$('txtNameTeam').value = data[0].name;
					//$('txtNameEmployee').value = data[0].number;
					if($('team_id_edit')) {
						$('team_id_edit').value = data[0].team_id;
					} else {
						var inputHidden = new Element('input' , {'type': 'hidden', 'name':'team_id_edit' , 'id': 'team_id_edit', 'value' : data[0].team_id});
						inputHidden.inject($('teamsFrmTeam'));
					}
				}
				// disable btnUpdate				
				allElementsEditable($('teamsFrmTeam'), $('teamsFrmTeam').getElement('input[id=btnUpdate]'));
			}
		}).post();
	}
	
	//edit office
	if(name == "office_id") {
		if($('stepWizard')){
			$('profileOffice').getElement('input[id=btnRemove]').setStyle('display' , '');
			opaceIt($('profileOffice'), 1);
		} else {		
			$('profileDivision').setStyle('display' , 'none');
			$('profileOffice').setStyles({
				'display' : 'block',
				'top' : 0
			});
			$('profileTeam').setStyle('display' , 'none');
			if($('profileGreenOfficer')) $('profileGreenOfficer').setStyle('display' , 'none');
		}
		var team_id='';
		var urlParamater = baseurl +'/company/editoffice/office_id/' +value;
		var jsonRequest = new Request.JSON({
			url: urlParamater, 
			onComplete: function(data){
					if(!data){
						window.location = baseurl;						
						return;
					}	else {
					$('txtNameOffice').value = data[0].name;
					$('txtAddressOffice').value = data[0].address;
					$('txtAddress2Office').value = data[0].address2;
					$('txtCityOffice').value = data[0].city;
					
					var state = $('txtStateOffice');
					for(var i= 0 ; i < state.options.length ; i++){
						if(state.options[i].value.trim() == data[0].state){
							state.options[i].selected = true;
						}
					}

					$('txtCodeOffice').value = data[0].zip;
					$('txtCountryOffice').value = data[0].country;
					$('txtPhoneOffice').value = data[0].phone;
					if($('office_id_edit')) {
						$('office_id_edit').value = data[0].office_id;
					} else {
						var inputHidden = new Element('input' , {'type': 'hidden', 'name':'office_id_edit' , 'id': 'office_id_edit', 'value' : data[0].office_id});
						inputHidden.inject($('teamsFrmOffice'));
					}
					if($('green_id_edit')) {
						$('green_id_edit').value = data[0].id;
					} else {
						var inputHidden = new Element('input' , {'type': 'hidden', 'name':'green_id_edit' , 'id': 'green_id_edit', 'value' : data[0].id});
						inputHidden.inject($('teamsFrmOffice'));
					}

					team_id = data[0].team_id;

					$('txtNameGreen').value = data[0].firstname;
					$('txtLastGreen').value = data[0].lastname;
					$('txtEmailGreen').value = data[0].email;
					//cmbTeam
					var urlParamater = baseurl +'/company/getlstteam/office_id/' + value;
					var jsonRequest = new Request.JSON({
						url: urlParamater, 
						onComplete: function(data){
							if(!data){
								window.location = baseurl;
								return;
							}	
							var selectOffice = $('cmbTeam');
							deleteOption(selectOffice);
							if(data) {
								for(var i = 0 ; i < data.length ; i++) {
									selectOffice.options[i+1] = new Option(data[i].team, data[i].team_id);	
									if(data[i].team_id == team_id)
										selectOffice.options[i+1].selected = true;						
								}
							}
							// disable btnUpdate				
							allElementsEditable($('teamsFrmOffice'), $('teamsFrmOffice').getElement('input[id=btnUpdate]'));
						}
					}).post();
				}
			}
		}).post();
	}
	
	//edit company
	if(name == "company_id") {
		if($('stepWizard')) {
			$('profileDivision').getElement('input[id=btnRemove]').setStyle('display' , '');
			opaceIt($('profileDivision'), 1);
		} else {
			$('profileDivision').setStyles({
				'display' : 'block',
				'top' : 0
			});
			$('profileOffice').setStyle('display' , 'none');
			$('profileTeam').setStyle('display' , 'none');
			if($('profileGreenOfficer')) $('profileGreenOfficer').setStyle('display' , 'none');
		}
		var urlParamater = baseurl +'/company/editdivision/company_id/' +value;
		var jsonRequest = new Request.JSON({url: urlParamater, 
			onComplete: function(data){
					if(!data){
						window.location = baseurl;
						return;
					}	
				if(!data){
					window.location = baseurl;
					return;
				}				
				if(data) {
					if(data[0]) {
						$('txtNameDivision').value = data[0].name;
						$('txtAddressDivision').value = data[0].address;
						$('txtAddress2Division').value = data[0].address2;
						$('txtCityDivision').value = data[0].city;
						
						var state = $('txtStateDivision');
						for(var i= 0 ; i < state.options.length ; i++){
							if(state.options[i].value.trim() == data[0].state){
								state.options[i].selected = true;
							}
						}
						
						
						$('txtCodeDivision').value = data[0].zip;
						$('txtCountryDivision').value = data[0].country;
						$('txtPhoneDivision').value = data[0].phone;
						if($('company_id_edit')) {
							$('company_id_edit').value = data[0].company_id;
						} else {
							var inputHidden = new Element('input' , {'type': 'hidden', 'name':'company_id_edit' , 'id': 'company_id_edit', 'value' : data[0].company_id});
							inputHidden.inject($('teamsFrmDivision'));
						}
					}
				}
				// disable btnUpdate				
				allElementsEditable($('teamsFrmDivision'), $('teamsFrmDivision').getElement('input[id=btnUpdate]'));
			}
		}).post();
	}
}
/**
@init for customize
**/
window.addEvent('load', function() {
	initcustomize();
	var aLinks = $$('a.inactive');
	if(aLinks.length){
		aLinks.each(function(aLink){
			aLink.title = '';
			if(aLink.getPrevious().get('tag') == 'a'){
				aLink.getPrevious().title = '';
				aLink.getPrevious().setStyle('cursor', 'text');
			}
		});
	}
});
function initcustomize() {
	if($('customize')) {
		var myUl = $('customize');
		var arrAdd  = myUl.getElements('a.add');
		var arrRemove = myUl.getElements('a.remove');
		arrRemove.each(function(el){
			el.addEvent('click', function(evt){
				evt.stop();
				var _url = baseurl+ '/wizard/delete/id/'+this.getParent().getElement('input[name=remove]').value +'/industry_id/'+$('industry_id').value; 
				callAjaxCustom(_url)
			});
		});
		
		arrAdd.each(function(el){
			el.removeEvents('click').addEvent('click', function(evt){
					evt.stop();
					/*
						var _url = baseurl+ '/wizard/savecustomize/id/'+this.getParent().getElement('input[name=remove]').value +'/industry_id/'+$('industry_id').value + '/name/'+this.getParent().getElement('input').value; 
						callAjaxCustom(_url)
					*/
					
					//function addTeamRow
					var _teamType = new Element("p", {
						'html': '<input type="text" name="txtcustom[]" value="Enter custom team type"/><a title="Add" class="add" href="javascript:void(0);"><img alt="Add" src="/hondo/greentool/public/images/btn_add1.gif"/></a>'
					});
					
					_teamType.getElement('input').addEvents({
						'blur': function(){
							if(this.value=="") {
								this.value="Enter custom team type";
							}
						},
						'focus': function(){
							if(this.value =="Enter custom team type") {
								this.value="";
							}
						}
					});
					_teamType.inject(el.getParent(),'after');
					//recall function
					initcustomize();
				})
		});
	}
	// selectdivisiongreen
	var selectIndustry = $('selectIndustry');
	if(selectIndustry) selectIndustry.removeEvents().addEvent('change' , function(evt) {
		var req = new Request({
			url: baseurl + '/wizard/loadteamtype/industry_id/' + this.value,
			method:'post',
			onRequest:function(){},
			onSuccess: function(responseText, responseXML) {
				if(/DOCTYPE/i.test(responseText)){
					window.location = baseurl;
					return;
				}
				$('loadteamtype').innerHTML = responseText;
				initcustomize();
				initSaveprogress();
				setInactiveBtn($('btnSaveprogress'));
			}
		});
		req.send();
	});
	
	// select team
	var selectIndustry = $('selectIndustryteam');
	if(selectIndustry) selectIndustry.removeEvents().addEvent('change' , function(evt) {
		var req = new Request({
			url: baseurl + '/team/loadteamtype/industry_id/' + this.value,
			method:'post',
			onRequest:function(){},
			onSuccess: function(responseText, responseXML) {
				$('loadteamtype').innerHTML = responseText;
				initcustomize(); 
			}
		});
		req.send();
	});
	
}
function callAjaxCustom(_url) {
	var req = new Request({
		url: _url,
		method:'post',
		onRequest:function(){},
		onSuccess: function(responseText, responseXML) {
			$('customize').innerHTML = responseText;
			initcustomize();
		}
	});
	req.send();
}
