/*---------------------------------------------------------------------------------------------------------
@ write by Kim.Nguyen
@ function : new class common
@ paramater : null
-----------------------------------------------------------------------------------------------------------*/

var default_top = 50;
var Common = new Class({
	initialize: function(){
		this.funcView();
		this.funcAccording();
		this.funcCompanyTeam();
		this.funcSliderQuestion();
		this.funcAddDivision();
		this.funcStruc();
		this.funcAjaxJson();
		this.initSlideShow();		
		this.funcWorkCommuteProfile();		
		this.funcAjaxDeleteTransportationProfile();		
	},
	funcSliderQuestion: function() {
		initSlidersQuestions();
	},
	funcCompanyTeam: function() {
		initCompanyTeam();
	},
	funcAccording: function() {
		initAccording();
	},	
	funcView: function() {
		initView();
	},
	funcAddDivision: function() {
		initAddDivison();
	},
	funcStruc: function(){
		initStructure();
	},
	funcAjaxJson: function(){
		ajaxJSON();
	},
	funcWorkCommuteProfile: function(){
		workCommuteProfile();
		workCommuteProfileOther();
	},
	funcAjaxDeleteTransportationProfile: function(){
		ajaxDeleteTransportationProfile();
	},
	initSlideShow : function() {
		var that = this;
		var idContent = $('illusShow');
		if(!idContent) {
			return true;
		}
		var arrP = idContent.getElements('p');
		if(arrP.length == 0) {
			return true;
		}
		var index = 0;
		var prevAndNext = $('prevAndNext');
		if(prevAndNext){
			var arrAlink = prevAndNext.getElements('a');
			var pre = arrAlink[0];
			var next = arrAlink[2];
			var durationTime = 900;
			idContent.setStyles({'position' : 'relative'});
			 // Loop thru the children and hide all but the first
	        for (var i = 0; i < arrP.length; i ++) {
	            if (i == 0) { // Styles for the first child
	                arrP[i].setStyles({'position': 'absolute', 'opacity': '1'});
	            } else { // Styles for the other hidden children  
	                arrP[i].setStyles({
	                    'position': 'absolute',
	                    'left': arrP[0].getStyle('left'),
	                    'top': arrP[0].getStyle('top'),
	                    'opacity': '0'
	                });
	            }
	        }
	        setTimeout(function(){
				idContent.setStyle('height' , arrP[0].getCoordinates().height);
			}, durationTime - 500);
			
			if(index == 0) {
				pre.setStyle('opacity' , '0');
			}
			pre.removeEvents().addEvent('click' ,  function(evt) {
				evt.stop();
				if(index == 0) {
					return true;
				}
				var myEffects = new Fx.Morph(arrP[index],{ 'duration': '500' });
				myEffects.start({
					'opacity' : [1 , 0]
				});
				if(next) next.setStyle('opacity' , '1');
				index--;
				var myEffects = new Fx.Morph(arrP[index],{ 'duration': '500' });
				myEffects.start({
					'opacity' : [0 , 1]
				});
				setTimeout(function(){
					idContent.setStyle('height' , arrP[index].getCoordinates().height);
				}, durationTime - 500);
				setNumImage(index , arrP.length);
				if(index == 0) {
					pre.setStyle('opacity' , '0');
				}
			});
			
			if(next) next.removeEvents().addEvent('click' , function(evt) {
				evt.stop();
				if(index == arrP.length - 1) {
					return true;
				}
				var myEffects = new Fx.Morph(arrP[index],{ 'duration': '500' });
				myEffects.start({
					'opacity' : [1 , 0]
				});
				pre.setStyle('opacity' , '1');
				index++;
				var myEffects = new Fx.Morph(arrP[index],{ 'duration': '500' });
				myEffects.start({
					'opacity' : [0 , 1]
				});
				setTimeout(function(){
					idContent.setStyle('height' , arrP[index].getCoordinates().height);
				}, durationTime - 500);
				setNumImage(index , arrP.length);
				if(index == arrP.length - 1) {
					next.setStyle('opacity' , '0');
				}			
			});
		}
		
		
		function setNumImage(num , totalImage){
			num++;
			//var str = '<a href="javascript:;" title="'+num+'">'+num+'</a> of <a href="javascript:;" title="'+totalImage+'">'+totalImage+'</a>';
			var str = num+' of <a href="javascript:;" title="'+totalImage+'">'+totalImage+'</a>';
			$('prevAndNext').getElements('li')[1].innerHTML = str;
		}

		arrP.each(function(el , _index) {
			var alink = el.getElement('a');
			if(alink) {
				alink.addEvent('click', function(evt){
					evt.stop();
					var request = new Request({
					url: baseurl+"/alertcustomize/message-status/id/"+el.getElement('input').value + "/type/" + el.getElements('input')[1].value,

					method: 'get', 
					headers: {'X-Request': 'JSON'},		
					onSuccess: function(responseText, responseXML) {
					if(/DOCTYPE/i.test(responseText)){
						window.location = baseurl;
						return;
					}
						window.location = alink.href;
						
					},
					onFailure:function(instance){
						
					}
				});	
				request.send();
				});
			}
		});
		var frmId = $('alertmessage');
        if(frmId.getElement('p.btnClose') && frmId.getElement('p.btnClose').getElement('img')) {
		    var btnCloseImg =  frmId.getElement('p.btnClose').getElement('img');
		    btnCloseImg.addEvent('click', function(evt) {
			    evt.stop();
			    var request = new Request({
					    url: baseurl+"/alertcustomize/message-return/id/"+arrP[index].getElement('input[name=id]').value+"/type/"+arrP[index].getElement('input[name=type]').value,
					    method: 'get', 
					    headers: {'X-Request': 'JSON'},		
					    onSuccess: function(responseText, responseXML) {
						if(/DOCTYPE/i.test(responseText)){
							window.location = baseurl;
							return;
						}
						     $('alertmessage').innerHTML = responseText;
						    that.initSlideShow();
					    },
					    onFailure:function(instance){
						    
					    }
			    });	
			    request.send();
		    });
        } 
	}
});

/**-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init function : Main Menu	
-------------------------------------------------------------------------------------------*/
function mainMenu () {
	var container  = $('nav');
	if(!container) { 
		return; 
	}
	
	var arrSubmenuItems = container.getChildren();
	var arrSubMenus = container.getElements('.submenu');
	var arrSubMenus01 = container.getElements('.submenu01');	
	arrSubMenus01.addClass('hide');
	
	arrSubmenuItems.each(function(menuItem, index){
		if(menuItem.getFirst().hasClass('actived'))	{
			menuItem.isActived = true;
			var menuActive = menuItem;
		} else {
			menuItem.isActived = false;
		}
		menuItem.subMenu = menuItem.getElement('div');
		menuItem.removeEvents().addEvents({
			'mouseenter': function(e){
				arrSubMenus.setStyle('display', 'none');
				if(menuItem.subMenu) {
					menuItem.subMenu.setStyle('display', 'block');
					menuItem.subMenu.setStyles({
						'top': 23,
						'left': menuItem.getCoordinates(container).left
					});					
					if(!menuItem.isActived) {						
						menuItem.getChildren().addClass('actived');
					}
					menuItem.addClass('hover');
				}
			},
			'mouseleave': function(e){
				arrSubMenus.setStyle('display', 'none');
				if(!menuItem.isActived) {
					menuItem.getChildren().removeClass('actived');
				}
				menuItem.removeClass('hover');
				
			}
		});
		if(menuItem.subMenu) {
			menuItem.subMenuCount = 0;
			menuItem.subMenu.getElement('ul').getChildren().each(function(subItem, i){				
				subItem.subMenu = subItem.getElement('div');
				if(subItem.subMenu) {
					menuItem.subMenuCount ++;
				}				
				if(subItem.getFirst().hasClass('actived'))	subItem.isActived = true;
				subItem.isShowingMenu = false;
				subItem.timeout = 5000;
				subItem.removeEvents().addEvents({
					'mouseenter': function(e){
						$$(".submenu01").each(function(item, j){
							
							if(item.hasClass('actived')) {
								item.addClass('hide');
								item.getPrevious().removeClass('actived');
							}
						});
						//////////////////////////////////
						arrSubMenus01.addClass('hide');
						subItem.isShowingMenu = true;
						if(subItem.subMenu) {
							subItem.subMenu.removeClass('hide');							
							subItem.subMenu.setStyles({
								'top': 10 + subItem.getCoordinates(subItem).height * i,
								'left': menuItem.subMenu.getCoordinates(subItem).left + menuItem.subMenu.getCoordinates(subItem).width + 5
							});
							if(!subItem.isActived) {
								subItem.getChildren().addClass('actived');
							}
						}
					},
					'mouseleave': function(e){
						if(subItem.subMenu) {
							if(!subItem.isShowingMenu) {
								subItem.subMenu.toggleClass('hide');								
								if(!subItem.isActived) {
									subItem.getChildren().removeClass('actived');
								}
							}
						}
					}
				});
				if(subItem.subMenu) subItem.subMenu.removeEvents().addEvents({
					'mouseenter': function(e){
						subItem.isShowingMenu = true;
					},
					'mouseleave': function(e){
						subItem.isShowingMenu = false;
					}
				});
			});
			
			menuItem.subMenu.removeEvents().addEvents({
				'mouseenter': function(e){					
					if(!menuItem.isActived) {
						menuItem.getChildren().addClass('actived');
					}
				},
				'mouseleave': function(e){
					if(!menuItem.isActived) {
						menuItem.getChildren().removeClass('actived');
					}
				}
			});
		}
	});
}

/**-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init function : add event dom load for pages	
-------------------------------------------------------------------------------------------*/

window.addEvent("load", function() {
	mainMenu();
	addOtherProfile();
	new Common();	
	initCheckEmail.callbackFnWindow = function() {
		ajaxUpdateRowAndCell();
		setFirstActiveAndLastActive();
	}		
	var sels = $$('select[name=selectFuelEdit]');
	if(sels.length){
		sels.each(function(sel){
			sel.addEvent('change', function(){
				sendByAjax(sel.getParent().getParent());
			});
		});
	}
	$(window.document.body).addEvent('click' , function(el) {
		pos = "Window";
		if(!$('frmCompanyTeam') && !$('frmCompanyEmployment') && !$('frmOfficeSetup')) {
			return true;
		}
		if(!initFormCompanyTeam()  || !initCheckEmail()) {
			return true;
		}
		initCheckEmail.callbackFnWindow();
	});
	if($('profileDivision')) {
		$('profileDivision').setStyle('display' , 'none');
		$('profileOffice').setStyle('display' , 'none');
		$('profileTeam').setStyle('display' , 'none');
	}
	checkBoxHeaderCompany();
	onChangeSelectGreen();
	initReloadPage();
	ajustPositionLoading();
});

/**-----------------------------------------------------------------------------------------

varible global

-------------------------------------------------------------------------------------------*/

var label;
var idRecord = null;
var inputId1 = null;
var inputId2 = null;
var inputId3 = null;
var inputId4 = null;
var inputId5 = null;
var td = null;
var tr = null;
var pos = null;

/*
	@write Hung.Pham
	@init function : Work Commute Profile
	@paramater :	null
	@return :	null
*/

function workCommuteProfile(){
	var track11Form = $('frmEmployees');	
	if(!track11Form) return;
	
	
	var arrShowHideCommute = document.getElementByIds('showHideCommute').combine(document.getElementByIds('showHideCommuteOther'));	
	if(arrShowHideCommute.length == 0) return;	
	arrShowHideCommute.each(function(showHideCommuteItem, index){
		//check status of "Did not commute today"
		var showHideCommute = $(showHideCommuteItem);
		var hide = showHideCommute.getElements('div.showHide');	
		var idOption = showHideCommute.getElement('select[id=txtBusinessTravel1]');
		if(!idOption) idOption = showHideCommute.getElement('select[id=txtBusinessTravelother]');
		var chkCommute = showHideCommute.getElement('input[id=txtCommute]');
		if(!chkCommute) chkCommute = showHideCommute.getElement('input[id=txtCommuteother]');
		if(chkCommute){
			if(showHideCommute) {
				//Check status//////////////////////////////////////			
				if(chkCommute.checked){
					showHideCommute.setStyle("opacity", _opacityLoading);
					if(Browser.Engine.trident4) {
						showHideCommute.getElements('select').setStyle('visibility', 'hidden');
					}
					allElementsDisable(showHideCommute, 0);				
				} else {
					showHideCommute.setStyle("opacity", 1);
					if(Browser.Engine.trident4) {
						showHideCommute.getElements('select').setStyle('visibility', 'visible');
					}
					allElementsDisable(showHideCommute, 1);
				}
				
				//Add Event//////////////////////////////////////
				chkCommute.removeEvents('click').addEvent('click', function(e){				
					if(this.checked){				
						showHideCommute.setStyle("opacity", _opacityLoading);
						if(Browser.Engine.trident4) {
							showHideCommute.getElements('select').setStyle('visibility', 'hidden');
						}				
						allElementsDisable(showHideCommute, 0);
					} else {
						showHideCommute.setStyle("opacity", 1);
						if(Browser.Engine.trident4) {
							showHideCommute.getElements('select').setStyle('visibility', 'visible');
						}
						allElementsDisable(showHideCommute, 1);
					}
				});
			}
		}
		if(idOption) idOption.removeEvents('change').addEvent('change', function() {			
			if(this.value == 10 ) {
				hide[0].setStyle('display' , 'block');
				hide[1].setStyle('display' , 'none');
				if(hide[2]) hide[2].setStyle('display' , 'none');
				if(hide[3]) hide[3].setStyle('display' , 'none');
				
			} else if(this.value == 2 || this.value == 3) {
				hide[0].setStyle('display' , 'none');
				hide[1].setStyle('display' , 'none');
				if(hide[2]) hide[2].setStyle('display' , 'none');
				if(hide[3]) hide[3].setStyle('display' , 'block');
				
			} else if(this.value == 4) {
				hide[0].setStyle('display' , 'none');
				hide[1].setStyle('display' , 'block');
				if(hide[2]) hide[2].setStyle('display' , 'none');
				if(hide[3]) hide[3].setStyle('display' , 'none');
				
			} else if(this.value == 9 || this.value == 5) {
				hide[0].setStyle('display' , 'none');
				hide[1].setStyle('display' , 'none');
				if(hide[2]) hide[2].setStyle('display' , 'block');
				if(hide[3]) hide[3].setStyle('display' , 'none');
				
			} else {
				hide[0].setStyle('display' , 'none');
				hide[1].setStyle('display' , 'none');
				if(hide[2]) hide[2].setStyle('display' , 'none');
				if(hide[3]) hide[3].setStyle('display' , 'none');			
			}
			
		});
		

		//-----------------------------
		var idYear = showHideCommute.getElement('select[id=txtYear]');
		if(!idYear) idYear = showHideCommute.getElement('select[id=txtYearOther]');
		var txtMake = showHideCommute.getElement('select[id=txtMake]');
		if(!txtMake) txtMake = showHideCommute.getElement('select[id=txtMakeOther]');
		var txtModel = showHideCommute.getElement('select[id=txtModel]');
		if(!txtModel) txtModel = showHideCommute.getElement('select[id=txtModelOther]');
		var txtOption = showHideCommute.getElement('select[id=txtOption]');
		if(!txtOption) txtOption = showHideCommute.getElement('select[id=txtOptionOther]');
		var txtWizard = showHideCommute.getElement('input[id=txtWizard]');
		if(!txtWizard) var txtWizard = showHideCommute.getElement('input[id=txtWizardOther]');
		if(idYear) idYear.removeEvents('change').addEvent('change', function(){
			if(txtWizard){ 
				var urlParamater = baseurl +'/wizard/getcar/year/' +this.value;
			}else{
				var urlParamater = baseurl +'/myplan/getcar/year/' +this.value;
			}
			var jsonRequest = new Request.JSON({url: urlParamater, 
				onComplete: function(dataJson){
				if(!dataJson){
					window.location = baseurl;
					return;
				}	
				deleteOption(txtMake);
				deleteOption(txtModel);
				deleteOption(txtOption);
				for(var i = 0 ; i < dataJson.data.length ; i++) {
					txtMake.options[i+1] = new Option(dataJson.data[i].manufac_car, dataJson.data[i].manufac_id);					
				}
				deleteOptionNUll(txtMake);
				for(var i = 0 ; i < dataJson.data.length ; i++) {
					txtModel.options[i+1] = new Option(dataJson.data[i].model_car, dataJson.data[i].model_id);					
				}
				deleteOptionNUll(txtModel);					
				}}).post();
		});
		if(txtMake) txtMake.removeEvents('change').addEvent('change', function(){
			if(txtWizard){ 
				var urlParamater = baseurl +'/wizard/getmanuf/id/' +this.value +'/year/'+ idYear.value;
			}else{
				var urlParamater = baseurl +'/myplan/getmanuf/id/' +this.value +'/year/'+ idYear.value;
			}
			var jsonRequest = new Request.JSON({url: urlParamater, 
				onComplete: function(dataJson){
						if(!dataJson){
							window.location = baseurl;
							return;
						}	
					deleteOption(txtModel);
					deleteOption(txtOption);
					
					for(var i = 0 ; i < dataJson.data.length ; i++) {
						txtModel.options[i+1] = new Option(dataJson.data[i].model_car, dataJson.data[i].model_id);					
					}
					if(dataJson.data.length ==1) {
						if(txtModel.options[2]) txtModel.options[2] = null;
					}
					deleteOptionNUll(txtModel);
					
				}}).post();
		});
		if(txtModel) txtModel.removeEvents('change').addEvent('change', function(){
			if(txtWizard){ 
				var urlParamater = baseurl +'/wizard/getfeature/id/' +this.value +'/year/'+idYear.value;
			}else{
				var urlParamater = baseurl +'/myplan/getfeature/id/' +this.value +'/year/'+idYear.value;
			}
			var jsonRequest = new Request.JSON({url: urlParamater, 
				onComplete: function(dataJson){
					if(!dataJson){
						window.location = baseurl;
						return;
					}						
					deleteOption(txtOption);
					for(var i = 0 ; i < dataJson.data.length ; i++) {
						var nameOption = dataJson.data[i].numb_cyl + ' cyl, ' + dataJson.data[i].transmission;
						txtOption.options[i+1] = new Option(nameOption, dataJson.data[i].feature_id);					
					}
					deleteOptionNUll(txtOption);				
			}}).post();
		});
		
		//typically use this mode of transport to work
		checkStatusTransportWorkTypically();
	});	
}
/*
	@write Hung.Pham
	@init function : Forgot Password
	@paramater :	null
	@return :	null
*/
function callAjaxForgotPass() {
	var req = new Request({
		url: baseurl + '/forgotpassword/newformforgot/' ,
		method:'post',
		onRequest:function(){},
		onSuccess: function(responseText, responseXML) {
			if($('layerForgot')){
				$('layerForgot').innerHTML = responseText;
				initFrmPopupForgot();
			}
		}
	});
	req.send();
}

/**-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init function : set first active or last active for elements td of table
	@paramater el of table
	@return null
-------------------------------------------------------------------------------------------*/

function setFirstActiveAndLastActive(el) {
	var table = $$('.tblEmployees');
	var greyTr = new Array();
	table.each(function(el){
		greyTr = greyTr.concat(el.getElement('tbody').getElements('tr'));
	});	
	var flag = false;
	var stepWizard = 0;
	greyTr.each(function(elTr, index) {
		//set active for td
		if(elTr == el) {			
			var coords = el.getCoordinates($('main'));
			var valueHeight = coords.height;			
			$$('.tdActive')[0].setStyles({'top': coords.top - 1, left: coords.left - 30, 'height' : valueHeight + 1});
			
			elTr.getElements('td').each(function(_el, _index) {
				if(!el.hasClass('active')){
					if(_index ==0) {
						_el.addClass('firstActive');
					}
					if(_index == elTr.getElements('td').length - 1){
						_el.addClass('lastActive');
					}
					_el.addClass('active');
				}	
			});
			
			if(greyTr[index-1]) {
				greyTr[index-1].getElements('td').setStyle('border-bottom' , 'none');
			}
			greyTr[index].getElements('td').setStyle('border-bottom' , '1px solid #F86F41');
			if(index == 0) {
				$$('.dashboardBlock')[0].getElement('thead').getElements('th').setStyle('border-bottom' , 'none');				
			}
			greyTr[index].addClass('active');
			flag = true;
		} else {
			if(greyTr[index].hasClass('active')) {
				if(greyTr[index - 1]) {
					var arrTdbefore = greyTr[index - 1].getElements('td');
					if(!arrTdbefore[0].hasClass('active'))
						arrTdbefore.setStyle('border-bottom' , '1px solid #D7D7D7');
				}
				greyTr[index].getElements('td').setStyle('border-bottom' , '1px solid #D7D7D7');
				if(index == 0) {
					$$('.dashboardBlock')[0].getElement('thead').getElements('th').setStyle('border-bottom' , '1px solid #D7D7D7');
				}
			}
			
			
			elTr.removeClass('active');
			elTr.getElements('td').each(function(_el , _index) {
				if(_el.hasClass('active')){
					_el.removeClass('active');
				}
				if(_el.hasClass('lastActive')){
					_el.removeClass('lastActive');
				}
				if(_el.hasClass('firstActive')){
					_el.removeClass('firstActive');
				}
			});
		}	
	});
	if(!flag){
		if($$('.tdActive')[0]) $$('.tdActive')[0].setStyle('top' , '-1000px');
		if(el){
			elTr.removeClass('active');
		}
	}
}

/**-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init function : send one ajax, update information for team, employment or office
	@paramater null
	@return null
-------------------------------------------------------------------------------------------*/

function sendByAjax(elTr) {	
	var arrTd = elTr.getElements('td');
	for(var i = 0 ; i<arrTd.length ; i++) {
		// check empty value
		// if(arrTd[i].innerHTML.trim() == "") {
			// return true;
			// break;			
		// }
	}
	//form employ
	if($('frmCompanyEmployment')) {
		var users_id = arrTd[1].getElements('input')[0].value;
		var division_id = arrTd[1].getElements('input')[1].value;
		var office_id = arrTd[1].getElements('input')[2].value
		var team_id = arrTd[1].getElements('input')[3].value
		var firstName = arrTd[1].getElement('label').innerHTML;
		var lastName = arrTd[2].innerHTML;
		var greenOffice = arrTd[3].innerHTML;
		var email = arrTd[7].innerHTML;
		var urlSend = baseurl + '/user/save/users_id/'+users_id+'/division_id/'+division_id+'/office_id/'+office_id+'/team_id/'+team_id+'/firstName/'+firstName+'/lastName/'+lastName+'/greenOffice/'+greenOffice+'/email/'+email; 
	}	
	//form team
	if($('frmCompanyTeam')) {
		var users_id = arrTd[1].getElements('input')[0].value;
		var division_id = arrTd[1].getElements('input')[1].value;
		var office_id = arrTd[1].getElements('input')[2].value;
		var teamName = arrTd[1].getElement('label').innerHTML;
		var numEmploy = arrTd[4].innerHTML.trim().replace('&nbsp;', '');
		var urlSend = baseurl + '/team/save/team_id/'+users_id+'/type_id/'+division_id+'/office_id/'+office_id+'/teamName/'+teamName+'/numEmploy/'+numEmploy; 

	}
	//form office
	if($('frmOfficeSetup')) {		
		if($('cmbYear')) {
			var id = arrTd[0].getElement('input[id=nameCheckbox]').value;
			var office_id = $('frmOfficeSetup').getElement('input[name=office_id]').value;			
			var user_list = arrTd[0].getElement('input[id=user_id]').value;
			var year = arrTd[0].getElement('input[id=year_id]').value;
			var manufac_id = arrTd[0].getElement('input[id=make_id]').value;
			var model_id = arrTd[0].getElement('input[id=model_id]').value;
			var feature_id = arrTd[0].getElement('input[id=feature_id]').value;
			var action_id = arrTd[0].getElement('input[id=action_id]').value;
			var mpg_value = arrTd[6].innerHTML;
			var fuel = elTr.getElement('select[id=selectFuelEdit]');
			
			var urlSend = baseurl + '/officesetup/save/id/'+id+'/name/'+arrTd[1].innerHTML+'/office_id/'+office_id+'/user_list/'+user_list+'/year/'+year+'/manufac_id/'+manufac_id+'/model_id/'+model_id+'/feature_id/'+feature_id+'/action_id/'+action_id+'/mpg/'+mpg_value+'/fuel/'+fuel.value; 
			
		} else {
			//var office_id = $('frmOfficeSetup').getElement('input[name=office_id]').value;
			var office_id = elTr.getElement('input[name=officesetup]').value;
			var Assigned = arrTd[0].getElements('input')[2].value;
			var numMPG = arrTd[2].innerHTML;
			var name = arrTd[1].innerHTML;
			if(arrTd[3].getElement('select')) {
				var selectFuelUsed = arrTd[3].getElement('select').value;
			} else {
				var selectFuelUsed = '';
			}
			var urlSend = baseurl + '/officesetup/save/office_id/'+office_id+'/name/'+name+'/mpg/'+numMPG+'/fule/'+selectFuelUsed+'/user_id/'+Assigned; 
		}
	}
	var request = new Request({
		url: urlSend,
		method: 'post', 
		headers: {'X-Request': 'JSON'},		
		onSuccess: function(responseText, responseXML) {
		if(/DOCTYPE/i.test(responseText)){
			window.location = baseurl;
			return;
		}
			var data = responseText;				
		},
		onFailure:function(instance){
			
		}
	});	
	request.send();
}

/**-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init function: call function update row or cell of table in team, employment or office setup 
		  from input or select to text or label
		  input team name  and first name
	@paramater null
	@return null
-------------------------------------------------------------------------------------------*/	

function ajaxUpdateRowAndCell() {
	
	var arrInput = $$('input[id=nameTeam]');
	arrInput = arrInput.concat($$('input[id=firstName]'));	
	for(var i =0; i< arrInput.length ; i++) {
		var elTd = arrInput[i].getParent();
		var valueInput = arrInput[i].value;
		var name = arrInput[i].get('id');
		arrInput[i].dispose();
		label.inject(elTd).innerHTML = valueInput;
		if(idRecord) idRecord.inject(elTd).setProperty('id' , 'users_id');
		if(inputId1) inputId1.inject(elTd).setProperty('id' , 'division_id');
		if(inputId2) inputId2.inject(elTd).setProperty('id' , 'office_id');
		if(inputId3) inputId3.inject(elTd).setProperty('id' , 'team_id');
		sendByAjax(elTd.getParent());		
		elTd.addClass('first');
	}	
	//end 

	
	//select
	var arrSelect = $$('select[id=selectType]').concat($$('select[id=selectOffice]'));	
	arrSelect = arrSelect.concat($$('select[id=selectDivision]'));
	arrSelect = arrSelect.concat($$('select[id=selectTeam]'));
	arrSelect = arrSelect.concat($$('select[id=selectGreen]'));
	//form office
	arrSelect = arrSelect.concat($$('select[id=selectYear]'));
	arrSelect = arrSelect.concat($$('select[id=selectMake]'));
	arrSelect = arrSelect.concat($$('select[id=selectModel]'));
	arrSelect = arrSelect.concat($$('select[id=selectFuel]'));	
	arrSelect = arrSelect.concat($$('select[id=selectAssig]'));	
	// 	Vehicle name
	arrSelect = arrSelect.concat($$('select[id=cmbYearSelect]'));	
	arrSelect = arrSelect.concat($$('select[id=cmbMakeSelect]'));	
	arrSelect = arrSelect.concat($$('select[id=cmbModelSelect]'));	
	arrSelect = arrSelect.concat($$('select[id=cmbFeatureSelect]'));	
	
	var callCountFlag = 0;
	for(var i =0; i< arrSelect.length ; i++) {
		var elTd = arrSelect[i].getParent();
		var valueInput = arrSelect[i].options[arrSelect[i].selectedIndex].text;		
		var input = arrSelect[i].getParent().getParent().getElements('input')[1];
		var name = arrSelect[i].get('id');
		
		if($('frmCompanyEmployment')) {
			if(name =="selectDivision") {
				arrSelect[i].getParent().getParent().getElements('input')[2].value = arrSelect[i].options[arrSelect[i].selectedIndex].value; 
			} else if(name == "selectOffice") {
				arrSelect[i].getParent().getParent().getElements('input')[3].value = arrSelect[i].options[arrSelect[i].selectedIndex].value;
			} else if(name == "selectTeam") {
				arrSelect[i].getParent().getParent().getElements('input')[4].value = arrSelect[i].options[arrSelect[i].selectedIndex].value;
			}
		}
		if($('frmCompanyTeam')) {
			if(name =="selectType") {				
				arrSelect[i].getParent().getParent().getElements('input')[2].value = arrSelect[i].options[arrSelect[i].selectedIndex].value; 
			} else if(name == "selectOffice") {
				arrSelect[i].getParent().getParent().getElements('input')[3].value = arrSelect[i].options[arrSelect[i].selectedIndex].value;
			}
		}
		
		if($('frmOfficeSetup')) {
			if(name =="selectYear") {
				arrSelect[i].getParent().getParent().getElements('input')[2].value = arrSelect[i].options[arrSelect[i].selectedIndex].value; 
			} else if(name == "selectMake") {
				arrSelect[i].getParent().getParent().getElements('input')[3].value = arrSelect[i].options[arrSelect[i].selectedIndex].value;
			} else if(name == "selectModel") {
				arrSelect[i].getParent().getParent().getElements('input')[4].value = arrSelect[i].options[arrSelect[i].selectedIndex].value;
			} else if(name == "selectFuel") {
				arrSelect[i].getParent().getParent().getElements('input')[5].value = arrSelect[i].options[arrSelect[i].selectedIndex].value;
			} else if(name == "cmbYearSelect") {				
				arrSelect[i].getParent().getParent().getElement('input[id=year_id]').value = arrSelect[i].options[arrSelect[i].selectedIndex].value;
			} else if(name == "cmbMakeSelect") {
				arrSelect[i].getParent().getParent().getElement('input[id=make_id]').value = arrSelect[i].options[arrSelect[i].selectedIndex].value;
			} else if(name == "cmbModelSelect") {
				arrSelect[i].getParent().getParent().getElement('input[id=model_id]').value = arrSelect[i].options[arrSelect[i].selectedIndex].value;
			} else if(name == "cmbFeatureSelect") {
				if(arrSelect[i].selectedIndex == 0) {
					arrSelect[i].getParent().getParent().getElement('input[id=feature_id]').value = 0;
				} else {
					arrSelect[i].getParent().getParent().getElement('input[id=feature_id]').value = arrSelect[i].options[arrSelect[i].selectedIndex].value;
				}
			}
			if($('cmbYearSelect')) {		
				if($('cmbYearSelect').selectedIndex == 0) {
					formObj.showAlertLayer($('cmbYearSelect'), Alert.messageAlert.txtSelect);
					return;
				}
			}
			
			/////////////////////////////////
			if($('cmbMakeSelect')) {		
				if($('cmbMakeSelect').selectedIndex == 0) {
					formObj.showAlertLayer($('cmbMakeSelect'), Alert.messageAlert.txtSelect);
					return;
				}
			}
			/////////////////////////////////
			if($('cmbModelSelect')) {		
				if($('cmbModelSelect').selectedIndex == 0) {
					formObj.showAlertLayer($('cmbModelSelect'), Alert.messageAlert.txtSelect);
					return;
				}
			}
			/////////////////////////////////
			if($('cmbFeatureSelect')) {		
				if($('cmbFeatureSelect').selectedIndex == 0) {
					formObj.showAlertLayer($('cmbFeatureSelect'), Alert.messageAlert.txtSelect);
					return;
				}
			}
		}
		var _selectParent = arrSelect[i].getParent();
		arrSelect[i].dispose();		
		_selectParent.innerHTML = valueInput;
		//frist name. last name
			sendByAjax(elTd.getParent());
		// if(callCountFlag != 1) {
			// break;
		// }
		// callCountFlag = 1;
	}
	
	//end select
	//for num employ
	var arrInputEmploy = $$('input[id=numEmploy]');
	//last name
	arrInputEmploy = arrInputEmploy.concat($$('input[id=lastName]'));
	//last MPG
	arrInputEmploy = arrInputEmploy.concat($$('input[id=lastMPG]'));
	//email address
	arrInputEmploy = arrInputEmploy.concat($$('input[id=nameEmail]'));
	//
	for(var i =0; i< arrInputEmploy.length ; i++) {
		var elTd = arrInputEmploy[i].getParent();			
		var valueInput = arrInputEmploy[i].value;
		arrInputEmploy[i].dispose();
		elTd.innerHTML = valueInput;
		sendByAjax(elTd.getParent());		
	}
}

/**-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init function call ajax check email exist
	@paramater null
	@return true/ false
-------------------------------------------------------------------------------------------*/

function initCheckEmail() {
	var inputEmail = $('nameEmail');
	if(!inputEmail) return true;	
	var valueEmail = inputEmail.value.trim();
	var idUser = inputEmail.getParent().getParent().getElements('input')[1].value;  
	var urlAjax = baseurl +'/user/checkemail/email/'+valueEmail+'/user_id/'+idUser
	var req = new Request({
		url: urlAjax,
		method:'post',
		onRequest:function(){
		},
		onSuccess: function(responseText, responseXML) {
			if(/DOCTYPE/i.test(responseText)){
				window.location = baseurl;
				return;
			}
			if(responseText != -1) {
				formObj.showAlertLayer(inputEmail, Alert.messageAlert.txtEmailExist);
				return false;
			} else {
				if(pos == 6) 
					initCheckEmail.callbackFn6(td , tr);
				if(pos == 5) 
					initCheckEmail.callbackFn5(td , tr);
				if(pos == 4) 
					initCheckEmail.callbackFn4(td , tr);
				if(pos == 3) 
					initCheckEmail.callbackFn3(td , tr);
				if(pos == 2) 
					initCheckEmail.callbackFn2(td , tr);	
				if(pos == 1) 
					initCheckEmail.callbackFn1(td , tr);	
				if(pos == 0) 
					initCheckEmail.callbackFn0(td , tr);	
				if(pos == "Window") 
					initCheckEmail.callbackFnWindow();	
				return true;				
			}	
		}, onFailure: function(){
			return false;
		}
	});
	req.send();
}

/**-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init set class hover for td class name is tdHover;
	@paramater null
	@return null
-------------------------------------------------------------------------------------------*/

function addClassActivegreyAddNew() {	
	var greyAddNew = $$('.greyAddNew');
	greyAddNew.each(function(el) {	
		el.removeEvents().addEvents({
			'mouseenter' : function(evt) {
				this.getChildren('td').addClass('tdHover');
			},
			'mouseleave' : function(evt){
				this.getChildren('td').removeClass('tdHover');
			}
		});
	});	
}

/**-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init according for FAQ
	@paramater null
	@return null
-------------------------------------------------------------------------------------------*/

function initSlidersQuestions() {
	var slide = $$("dl.contFAQ")[0];
	if (!slide) return;
	var elements = slide.getElements("dd");
	var togglers = slide.getElements("dt");
	togglers.each(function(el) {
		el.addEvent('click', function(e) {new Event(e).stop();});
	});
	 elements.setStyle("display", "block");

	 new Accordion(togglers, elements, {
		 duration: 300,
		 opacity: false,
		 alwaysHide: true
	 });
}

/**-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init change style view
	@paramater null
	@return null
-------------------------------------------------------------------------------------------*/

function initView() {
	var view = $('txtcurrView');		
	if (!view) {
		return;
	}	
	view.addEvent('change', function() {		
		var id = this.value;
		if ($('Shell')) {
			$('Shell').changeView(id);
		}	
	});
	
	var view = $('nav2');			
	var arrLi = view.getChildren();
	var curStack;
	var i;
	arrLi.each(function(item, index){		
		if (index != 0) {	
			item.addEvent('click', function() {
				$('Shell').changeStack(this.getFirst().getProperty('id'));				
			});
		}
		
		if (i == 1) {
			curStack = item;
		}
	});
}

/**-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init call open popup, for layer alert
	@paramater element popup, show/hide(1/0), value id of element assign, id of check box string, id of label use getparent
	@return null
-------------------------------------------------------------------------------------------*/
var green = {}
green.myLayer = 0;
function opaceIt(thisObj, opaceTo , valueid , valueidInti , _idLabel) {
	if (!thisObj) return;
	//for layer alert
	if(thisObj == $('layerAlertMessage') || thisObj == $('layerConfirmMessage') || thisObj == $('layerConfirmReset')) {
		if(valueid) {
			if(thisObj.getElement('div[id=contentMessage]'))
				thisObj.getElement('div[id=contentMessage]').innerHTML = valueid;
			else
				thisObj.getElement('div[id=contentMessage1]').innerHTML = valueid;
		}
	} else {
	//for layer other
		if(thisObj == $('layerAssignAdminTo') && valueid) {
			thisObj.getElement('input[name=message_id]').value = valueid;
		} else {			
			if(valueid == "getValueMakeCheckedRadio") {
			//for layer assignedTo
				var arrTr = thisObj.getElement('table').getElements('tr');
				arrTr.each(function(elTr){
					//Your Office: selec user
					var _input = elTr.getElement('input[type=radio]');
					if(!_input) {
						_input = elTr.getElement('input[type=checkbox]');						
					} 
					//type radio
					_input.checked = false;
					
					if(valueidInti != "") {						
						if(valueidInti.contains(_input.value)) {
							setTimeout(function(){
								_input.checked = true;	
							} , 100);
						}
					}
				});
			} else {
				if(valueid) {				
					idLabel = _idLabel;
					setCheckBoxLayerAssgin(idLabel, thisObj);
					if($(thisObj).getElement('input[id=actioncomp_idForm]')) $(thisObj).getElement('input[id=actioncomp_idForm]').value = valueid;
					if($(thisObj).getElement('input[id=initiativecomp_idForm]')) $(thisObj).getElement('input[id=initiativecomp_idForm]').value = valueidInti;
					if($(thisObj).getElement('input[id=frequency]') && $(idLabel).getParent().getParent().getElement('select[name=txtRequency]')) {
						$(thisObj).getElement('input[id=frequency]').value = $(idLabel).getParent().getParent().getElement('select[name=txtRequency]').value;
					}	
				}
			}					
		}
	}
	
	//delete scroller
	thisObj.getElements('.smScroller').destroy();
	
	if (opaceTo == 1) {
		if(thisObj == $('layerAction')) {
			var flagAction = 0;
			$$('.popup01').each(function(item, index){
				if(item.id == 'layerAction') {
					flagAction++;
					if(flagAction > 1) {
						$$('.popup01')[index].destroy();
					}
				}
			});
		}
		thisObj.injectInside($$('body')[0]);		
		green.createIframeLayer(thisObj);
		adjustPosition(thisObj);
		if(thisObj == $('layerAction')) {
			try {				
				setCheckBoxLayerAssgin(_idLabel, thisObj);
				assignTab = thisObj.getElement('.tabContent');
				//setMenuTag(thisObj, assignTab);
				// add more a para : current action
				if(valueid) {
					if(valueid.getPrevious().get('id') == 'txtUser') {
						initFormAjax(valueid);					
					} else {
						initFormAjax();
					}
				}
				checkBoxHeaderFrm($("popupaction").getElements('.tabContent')[0]);
				checkBoxHeaderFrm($("popupaction").getElements('.tabContent')[1]);
			} catch (e) {
			}
		}
		
		if(thisObj == $('layerVehicle')) {			
			checkBoxHeaderFrm($("layerVehicle").getElements('.tabContent')[0]);			
		}
		//fix for Assigned layer
		
		if(thisObj.id == 'layerPopup') {
			recheckAssignCheckAll();
			initSave();
			setTimeout(function(){
				popupScroller = new mooScroller($$(".smScrollContent"), {});
			}, 500);
		}

		//reset scroller
		if(Browser.Engine.trident4) {
			thisObj.getElements('.smScroller').destroy();
			scroller = new mooScroller($$(".smScrollContent"), {});
		}		
	}  else {
		//destroy mask
		if($$('.maskIframeElement').length > 0) {
			$$('.maskIframeElement').each(function(item){
				item.destroy();
			});
		}
		
		if($$('.maskDivElement').length > 0) {
			$$('.maskDivElement').each(function(item){				
				item.destroy();
			});
		}
		thisObj.setStyle('top', '-1500px');
		
		green.hideIframeLayer();
		if($('assignedTo')) {			
			$('assignedTo').setProperty("id", "");
		}
		if($$('.assignToUser')[0]){
			$$('.assignToUser')[0].removeClass('assignToUser');
		}
		if($('layerForgot')) {			
			callAjaxForgotPass();
		}
		
		if(thisObj == $('layerAction')) {
			var flagAction = 0;
			$$('.popup01').each(function(item, index){
				if(item.id == 'layerAction') {
					flagAction++;
					if(flagAction > 1) {
						if(document.getElementByIds('layerAction').length > 1) {
							$$('.popup01')[index].destroy();
						}
					}
				}
			});
		}
		if(thisObj == $('layerPopup')) {
			var flag = 0;
			$$('.popup01').each(function(item, index){
				if(item.id == 'layerPopup') {
					flag++;
					if(flag > 1) {
						if(document.getElementByIds('layerPopup').length > 1) {
							$$('.popup01')[index].destroy();
						}
					}
				}
			});
			
		}
	}
	
	var myEffects = new Fx.Morph(thisObj,{ 'duration': '1000' });
	myEffects.start({
		'opacity': [0.8,1]
	});
	function adjustPosition(thisObj) {
		if(thisObj ==  $("profileDivision") || thisObj == $("profileOffice") || thisObj == $("profileTeam")) {
			thisObj.setStyles({
				'display' : 'block'
			});
		}
		var _position = "fixed";
		if(Browser.Engine.webkit) {
			_position = "absolute";
		}
		var _top = (Browser.Engine.trident4)?((window.getHeight() - thisObj.getCoordinates().height)/2 + window.getScrollTop()):(window.getHeight() - thisObj.getCoordinates().height)/2;
		//var _top = (window.getHeight() - thisObj.getCoordinates().height)/2 + window.getScrollTop();
		
		thisObj.setStyles({
			display:'block',
			left: (window.getWidth() - thisObj.getCoordinates().width)/2,
			//top : (screen.height - thisObj.getCoordinates().height)/2 - 100,
			top : _top,
			zIndex: 200 + green.myLayer,
			'position' : _position,
			visibility : 'visible'
		});	
		if(Browser.Engine.trident4) {
			thisObj.setStyle('position' , 'absolute');
			window.onscroll = function() {
			if(thisObj.style.top.toFloat() > 0) {
					var topLayer = window.getScrollTop() + 70;
					thisObj.setStyle('top' , topLayer+'px');
				}	
			}
		}
	}
}

green.createIframeLayer = function(element) {
	var myContainerHeight = $(document.body).getCoordinates().height;
	var myContainerScroll = $(document.body).getScrollSize().y
	var heightIframe = myContainerHeight;
	if(myContainerScroll.toFloat() > myContainerHeight.toFloat()) {
		heightIframe = myContainerScroll;
	}
	green.myLayer = green.myLayer + 1;	
	if($("maskIframeElement"+green.myLayer)) {
		$("maskIframeElement"+green.myLayer).setStyles({
			"visibility" : "visible",
			"top": 0,
			"left": 0,
			"width": $(document.body).getCoordinates().width + 5,
			"height": heightIframe
		});
		$("maskDivElement"+green.myLayer).setStyles({
			"visibility" : "visible",
			"top": 0,
			"left": 0,
			"width": $(document.body).getCoordinates().width + 5,
			"height": heightIframe
		});	
	} else {	
		var iframe = new Element("iframe").setProperties({
			id: "maskIframeElement"+green.myLayer,
			"class": "maskIframeElement",
			frameborder: 'no'
			}).setStyles({
				"top": 0,
				"left": 0,
				"width":  $(document.body).getCoordinates().width + 5,
				"height": heightIframe,	
				"position": "absolute", 
				"z-index": 200+green.myLayer,
				"opacity" : "0",
				"display" : "block",
				"visibility" : "visible",
				"background": "#000"
			}).injectBefore(element);
		
		new Element("div").setProperties({
			id: "maskDivElement"+green.myLayer,
			"class": "maskDivElement",
			frameborder: 'no'
			}).setStyles({
				"top": 0,
				"left": 0,
				"width":  $(document.body).getCoordinates().width + 5,
				"height": heightIframe,	
				"position": "absolute", 
				"z-index": 200+green.myLayer,
				"opacity" : "0.5",
				"display" : "block",
				"visibility" : "visible",
				"background": "#000"
			}).injectAfter(iframe);	
	}
}

/**
*@init dispose iframe
*@paramater null
*@return null
**/

green.hideIframeLayer = function() {	
	if($$('.maskIframeElement').length > 0) {
		$$('.maskIframeElement').each(function(item){
			item.destroy();
		});
	}
	if($("maskIframeElement"+green.myLayer)) {
		$("maskIframeElement"+green.myLayer).dispose();
	}
	if($$('.maskDivElement').length > 0) {
		$$('.maskDivElement').each(function(item){
			item.destroy();
		});
	}
	if($("maskDivElement"+green.myLayer)) {
		$("maskDivElement"+green.myLayer).dispose();
	}
	green.myLayer = green.myLayer - 1;
}

/**-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init checkbox header
	@paramater null
	@return null
-------------------------------------------------------------------------------------------**/

function checkBoxHeaderCompany() {
	var arrCheckBoxHeader = $('container').getElements('input[id=ckCheckAll]');
	if(arrCheckBoxHeader.length ==0) {
		return true;
	}
	var totalCheck = new Array();
	arrCheckBoxHeader.each(function(el , index) {
		var checkBoxHeader = el;		
		var checkboxArr = el.getParent('.tblEmployees').getElements('input[type=checkbox]');
		if($('frmCompanyTeam') || $('frmCompanyEmployment')) {
			checkboxArr.erase(checkboxArr[checkboxArr.length - 1]);
		}
		checkboxArr.erase(checkboxArr[0]);
		totalCheck[index] = 0;
		checkBoxHeader.addEvent('click' , function(evt){
			if(this.checked == true){
				checkboxArr.each(function(_el, _index){
					_el.checked = true;
					totalCheck[index] = checkboxArr.length;
				});
			} else {
				checkboxArr.each(function(_el, _index){
					_el.checked = false;
					totalCheck[index] = 0;
				});
			}
		});
		checkboxArr.each(function(_el) {
			_el.addEvent('click', function(){
				if(this.checked == true){
					totalCheck[index]++;
				} else {
					totalCheck[index]--;
				}				
				if(totalCheck[index] == checkboxArr.length){
					checkBoxHeader.checked = true;
				} else {
					checkBoxHeader.checked = false;
				}
			});
		});
	});
	
}


/**-----------------------------------------------------------------------------------------
	@write HP
	@init checkbox header
	@paramater frm element
	@return null
-------------------------------------------------------------------------------------------**/

function checkBoxHeaderFrm(frm) {
	if(!frm || !$(frm)) return true;
	
	var checkBoxHeader = frm.getElement('input[id=ckCheckAll]');
	if(!checkBoxHeader) {
		checkBoxHeader = frm.getElement('input[id=nameEmployee]');
		if(!checkBoxHeader) {
			checkBoxHeader = frm.getElement('input[id=nameTeam]');
			if(!checkBoxHeader) {
				checkBoxHeader = frm.getElement('input[id=vehAll]');
			} else {
			return true;
			}
		}
	}	
	var checkboxArr = frm.getElements('input[type=checkbox]');	
	var  totalCheck = 0;
	if(checkboxArr.length == 0) return true;
	
	checkboxArr.erase(checkboxArr[0]);
	checkBoxHeader.addEvent('click' , function(evt){		
		if(this.checked == true){
			checkboxArr.each(function(_el, _index){
				_el.checked = true;
				totalCheck = checkboxArr.length;
			});
		} else {
			checkboxArr.each(function(_el, _index){
				_el.checked = false;
				totalCheck = 0;
			});
		}		
	});
	
	checkboxArr.each(function(_el) {
		_el.addEvent('click', function(){
			if(this.checked == true){
				if(totalCheck < checkboxArr.length) totalCheck++;
			} else {
				if(totalCheck > 0) totalCheck--;
			}			
			if(totalCheck == checkboxArr.length){
				checkBoxHeader.checked = true;
			} else {
				checkBoxHeader.checked = false;
			}
		});
	});
	
	checkboxArr.each(function(_el) {		
		if(_el.checked == true){
			totalCheck++;
		} else {
			totalCheck--;
		}				
		if(totalCheck == checkboxArr.length){
			checkBoxHeader.checked = true;
		} else {
			checkBoxHeader.checked = false;
		}		
	});
}

/**-----------------------------------------------------------------------------------------
	@write HP
	@init Disable all element
	@paramater parent element, 1: enable, 0: disable
	@return null
-------------------------------------------------------------------------------------------**/

function allElementsDisable(obj, number) {
	if(!obj || !$(obj)) return true;
	var arrNodes =  obj.getElements('input');
	arrNodes.combine(obj.getElements('select'));
	if(number == 0) {
		arrNodes.setProperty('readonly', true);
	} else {
		arrNodes.setProperty('readonly', false);
	}
}

/**-----------------------------------------------------------------------------------------
	@write HP
	@init all element loading
	@paramater parent element, 1: enable, 0: disable
	@return null
-------------------------------------------------------------------------------------------**/

function allElementsLoading(obj, number) {
	if(!obj || !$(obj)) return true;
	var arrNodes =  obj.getElements('input');
	arrNodes.combine(obj.getElements('select'));
	arrSelects = obj.getElements('select');
	if(number == 0) {
		arrNodes.setProperty('disabled', true);
		obj.setStyle('opacity', _opacityLoading);
		arrNodes.setStyle('opacity', _opacityLoading);
		if(Browser.Engine.trident4) {
			arrSelects.setStyle('visibility', 'hidden');
		}
	} else {
		arrNodes.setProperty('disabled', false);
		obj.setStyle('opacity', 1);
		if(Browser.Engine.trident4) {
			arrSelects.setStyle('visibility', 'visible');
		}
		arrNodes.setStyle('opacity', 1);
	}
}

/**-----------------------------------------------------------------------------------------
	@write HP
	@init edit all element
	@paramater parent element, btn
	@return null
-------------------------------------------------------------------------------------------**/

function allElementsEditable(obj, btn) {
	if(!obj || !$(obj)) return;
	btn = $(btn);
	if(btn){
		var isFormModify = false;
		//disable event default 
		btn.src = btn.src.replace('_n.', '_inactive.');
		btn.src = btn.src.replace('_o.', '_inactive.');
		btn.setStyle('cursor', 'default');
		btn.setProperty('disable', 'disable');		
		setInactiveBtn(btn);		
		if(obj) {
			
			//detection for form change
			var arrInput = obj.getElements('*');			
			arrInput.each(function(input, _index){
				arrInput[_index].isChange = false;
			});			
			arrInput.each(function(input, index){
				if(input.tagName.toLowerCase() == 'input' || input.tagName.toLowerCase() == 'select' || input.tagName.toLowerCase() == 'td' || input.tagName.toLowerCase() == 'img'){
					if(input.id != btn.getProperty('id')){
						input.addEvents({
							'change': function(e){
								input.isChange = true;
								changeStatus();
							},
							'focus': function(e){
								input.isChange = true;
								changeStatus();
							},
							'click': function(e){
								input.isChange = true;
								changeStatus();
							}
						});
					}
				}
			});			 
		
			//function change Status of btn 
			function changeStatus(){
				arrInput.each(function(input, i){
					if(arrInput[i].isChange) {
						isFormModify = true;
					}					
				});
				if(isFormModify){			
					setNormalBtn(btn);					
					var note = obj.getElement('span[id=note]');
					if(note) note.removeClass('hidden');
				}			
			}
		}
	}
}


/**-----------------------------------------------------------------------------------------
	@write HP
	@init ajust postion of loading element
	@paramater null
	@return null
-------------------------------------------------------------------------------------------**/

function ajustPositionLoading() {
	var loading = $('generalLoading');
	if(!loading) return;
	if($('rightContent')){
		var _left = $('rightContent').getCoordinates().left;
		var _top = $('rightContent').getCoordinates().top;
		var _height = $('rightContent').getCoordinates().height;
		loading.setStyles({
			'height':	_height,
			'left':	_left,
			'top':	_top
		});
	}
}

function showHideGeneralLoading(str, number) {
	var loading = $('generalLoading');
	if(!loading) return;
	if(loading.getPrevious()){
		var _height = loading.getPrevious().getCoordinates().height;
		// if(_height > 200 ) _height = 200;
		// loading.setStyles({
			// 'padding-top':	(_height - 60) + 'px'
		// });
	}
	if(str)  loading.getElement('p').set('html', str);
	
	if (number == 1) {
		loading.removeClass('hide');
	} else if (number == 0) {
		loading.addClass('hide');		
	}	
}

//overwrite getElementByIds function
(function(){
	document.getElementByIds = function(Id){
      var Tags = new Array();
	  var docTags = document.getElementsByTagName('*');
	  for(i=0; i < docTags.length; i++){
		if(docTags[i].getAttribute('id') == Id){
			Tags[Tags.length] = docTags[i];
		}
      }
      return Tags;
	};
})();

/*
* get Week from date
*/
function getWeekExt(date){	
	var startDate = new Date(date.getFullYear(), 0, 1);
	var time = date - startDate;
	var days = time / 1000 / 60 / 60 / 24 + startDate.getDay() + 1;
	return Math.ceil(days / 7);
}

//using console log
function print(s) {
	try {
		console.log(s);
	}  catch (e) {
	} 
}

/**-----------------------------------------------------------------------------------------
	@write Hung.Pham
	@init Call Ajax frm link
	@paramater null
	@return null
-------------------------------------------------------------------------------------------**/
var tempFlag = new Array();
function addOtherProfile(){
	var arrBtnAddOntherProfiles = document.getElementByIds('btnAddOntherProfile');
	if(arrBtnAddOntherProfiles.length == 0) return;
	
	arrBtnAddOntherProfiles.each(function(btnAddOntherProfile, index){			
		tempFlag[index] = 0;
		btnTemp = $(btnAddOntherProfile);
		var _url = baseurl + btnTemp.get('rel') + "/number/" + index;
		var content = $('ontherprofile');		
		btnTemp.removeEvents().addEvent('click', function(e){
			
			if(e) e.stop();	
			if(tempFlag[index] == 1) return true;
			tempFlag[index] = 1;
			var request = new Request({
				url: _url,
				method: 'post',		
				onSuccess: function(responseText, responseXML) {
					if(/DOCTYPE/i.test(responseText)){
						window.location = baseurl;
						return;
					}
					if($('ontherprofile')) {
						var otherContent = content.clone(true, true).inject(content, 'after');
						$('ontherprofile').set('html', responseText);							
						btnTemp.setStyle('display', 'none');
						content.removeProperty('id');							
					} else {						
						var otherContent = new Element('div', {
							'id':'ontherprofile',
							'class':'workCommuteProfile'
						}).inject(btnTemp.getParent().getParent(), 'after');
						$('ontherprofile').set('html', responseText);							
						btnTemp.setStyle('display', 'none');
						content.removeProperty('id');
					}
					workCommuteProfile();
					workCommuteProfileOther();	
					addOtherProfile();
					ajaxDeleteTransportationProfile();
					
					
				}
			});
			
			//valid with case: select Car mode
			if(btnTemp.getParent()) var workCommuteProfileNode = btnTemp.getParent().getPrevious();
			if(workCommuteProfileNode) {
				var txtBusinessTravel1Select = workCommuteProfileNode.getElement('select[id=txtBusinessTravel1]');
				if(!txtBusinessTravel1Select) txtBusinessTravel1Select = workCommuteProfileNode.getElement('select[id=txtBusinessTravelother]');
				if(txtBusinessTravel1Select.value == 10){
					var txtYearSelect = workCommuteProfileNode.getElement('select[id=txtYear]');
					if(!txtYearSelect) txtYearSelect = workCommuteProfileNode.getElement('select[id=txtYearOther]');
					var txtMakeSelect = workCommuteProfileNode.getElement('select[id=txtMake]');
					if(!txtMakeSelect) txtMakeSelect = workCommuteProfileNode.getElement('select[id=txtMakeOther]');
					var txtModelSelect = workCommuteProfileNode.getElement('select[id=txtModel]');
					if(!txtModelSelect) txtModelSelect = workCommuteProfileNode.getElement('select[id=txtModelOther]');
					var txtOptionSelect = workCommuteProfileNode.getElement('select[id=txtOption]');
					if(!txtOptionSelect) txtOptionSelect = workCommuteProfileNode.getElement('select[id=txtOptionOther]');
					if(txtYearSelect.value == '' || txtYearSelect.value == 0){
						showAlertLayer(txtYearSelect, Alert.messageAlert.txtYear);						
					} else if(txtMakeSelect.value == '' || txtMakeSelect.value == 0){
						showAlertLayer(txtMakeSelect, Alert.messageAlert.txtMake);						
					} else  if(txtModelSelect.value == '' || txtModelSelect.value == 0){
						showAlertLayer(txtModelSelect, Alert.messageAlert.txtModel);						
					} else if(txtOptionSelect.value == '' || txtOptionSelect.value == 0){
						showAlertLayer(txtOptionSelect, Alert.messageAlert.txtOption);						
					} else {
						request.send($('frmEmployees'));
					}
				} else {
					request.send($('frmEmployees'));
				}
			} else {
				request.send($('frmEmployees'));
			}
		});
	});
}

function workCommuteProfileOther(){
	var track11Form = $('frmEmployees');	
	if(!track11Form) return;
	var showHideCommute = $("showHideCommuteOther");	
	if(!showHideCommute) return;
	var idOption = showHideCommute.getElement('select[id=txtBusinessTravelother]');
	var hide = showHideCommute.getElements('div.showHide');	
	//check status of "Did not commute today"
	var chkCommute = showHideCommute.getElement('input[id=txtCommute]');
	if(chkCommute){
		if(showHideCommute) {		
			//Check status//////////////////////////////////////			
			if(chkCommute.checked){
				showHideCommute.setStyle("opacity", _opacityLoading);
				if(Browser.Engine.trident4) {
					showHideCommute.getElements('select').setStyle('visibility', 'hidden');
				}
				allElementsDisable(showHideCommute, 0);				
			} else {
				showHideCommute.setStyle("opacity", 1);
				if(Browser.Engine.trident4) {
					showHideCommute.getElements('select').setStyle('visibility', 'visible');
				}
				allElementsDisable(showHideCommute, 1);
			}
			
			//Add Event//////////////////////////////////////
			chkCommute.removeEvents('click').addEvent('click', function(e){				
				if(this.checked){				
					showHideCommute.setStyle("opacity", _opacityLoading);
					if(Browser.Engine.trident4) {
						showHideCommute.getElements('select').setStyle('visibility', 'hidden');
					}				
					allElementsDisable(showHideCommute, 0);
				} else {
					showHideCommute.setStyle("opacity", 1);
					if(Browser.Engine.trident4) {
						showHideCommute.getElements('select').setStyle('visibility', 'visible');
					}
					allElementsDisable(showHideCommute, 1);
				}
			});
		}
	}
	if(idOption) idOption.removeEvents('change').addEvent('change', function() {		
		if(this.value == 10 ) {
			hide[0].setStyle('display' , 'block');
			hide[1].setStyle('display' , 'none');
			if(hide[2]) hide[2].setStyle('display' , 'none');
			if(hide[3]) hide[3].setStyle('display' , 'none');
			
		} else if(this.value == 2 || this.value == 3) {
			hide[0].setStyle('display' , 'none');
			hide[1].setStyle('display' , 'none');
			if(hide[2]) hide[2].setStyle('display' , 'none');
			if(hide[3]) hide[3].setStyle('display' , 'block');
			
		} else if(this.value == 4) {
			hide[0].setStyle('display' , 'none');
			hide[1].setStyle('display' , 'block');
			if(hide[2]) hide[2].setStyle('display' , 'none');
			if(hide[3]) hide[3].setStyle('display' , 'none');
			
		} else if(this.value == 9 || this.value == 5) {
			hide[0].setStyle('display' , 'none');
			hide[1].setStyle('display' , 'none');
			if(hide[2]) hide[2].setStyle('display' , 'block');
			if(hide[3]) hide[3].setStyle('display' , 'none');
			
		} else {
			hide[0].setStyle('display' , 'none');
			hide[1].setStyle('display' , 'none');
			if(hide[2]) hide[2].setStyle('display' , 'none');
			if(hide[3]) hide[3].setStyle('display' , 'none');			
		}
		
	});
	

	//-----------------------------
	//txtMakeOther txtModelOther txtOptionOther txtOptionOther
	var idYear = showHideCommute.getElement('select[id=txtYearOther]');
	var txtWizard = showHideCommute.getElement('input[id=txtWizardOther]');
	if(idYear) idYear.removeEvents('change').addEvent('change', function(){
		if(txtWizard){ 
			var urlParamater = baseurl +'/wizard/getcar/year/' +this.value;
		}else{
			var urlParamater = baseurl +'/myplan/getcar/year/' +this.value;
		}
		var jsonRequest = new Request.JSON({url: urlParamater, 
			onComplete: function(dataJson){
			if(!dataJson){
				window.location = baseurl;
				return;
			}	
			var txtMake = showHideCommute.getElement('select[id=txtMakeOther]');
			deleteOption(txtMake);
			var txtModel = showHideCommute.getElement('select[id=txtModelOther]');
			deleteOption(txtModel);
			var txtOption = showHideCommute.getElement('select[id=txtOptionOther]');
			deleteOption(txtOption);
			for(var i = 0 ; i < dataJson.data.length ; i++) {
				txtMake.options[i+1] = new Option(dataJson.data[i].manufac_car, dataJson.data[i].manufac_id);					
			}
			deleteOptionNUll(txtMake);
			
			var txtModel = showHideCommute.getElement('select[id=txtModelOther]');
			deleteOption(txtModel);
			for(var i = 0 ; i < dataJson.data.length ; i++) {
				txtModel.options[i+1] = new Option(dataJson.data[i].model_car, dataJson.data[i].model_id);					
			}
			deleteOptionNUll(txtModel);					
			}}).post();
	});
	var txtMake = showHideCommute.getElement('select[id=txtMakeOther]');
	
	if(txtMake) txtMake.removeEvents('change').addEvent('change', function(){		
		if(txtWizard){ 
			var urlParamater = baseurl +'/wizard/getmanuf/id/' +this.value +'/year/'+showHideCommute.getElement('select[id=txtYearOther]').value;
		}else{
			var urlParamater = baseurl +'/myplan/getmanuf/id/' +this.value +'/year/'+showHideCommute.getElement('select[id=txtYearOther]').value;
		}	
		var jsonRequest = new Request.JSON({url: urlParamater, 
			onComplete: function(dataJson){
					if(!dataJson){
						window.location = baseurl;
						return;
					}	
				var txtModel = showHideCommute.getElement('select[id=txtModelOther]');
				deleteOption(txtModel);
				var txtOption = showHideCommute.getElement('select[id=txtOptionOther]');
				deleteOption(txtOption);
				
				for(var i = 0 ; i < dataJson.data.length ; i++) {
					txtModel.options[i+1] = new Option(dataJson.data[i].model_car, dataJson.data[i].model_id);					
				}
				if(dataJson.data.length ==1) {
					if(txtModel.options[2]) txtModel.options[2] = null;
				}
				deleteOptionNUll(txtModel);
				
			}}).post();
	});
	
	var txtModel = showHideCommute.getElement('select[id=txtModelOther]');
	if(txtModel) txtModel.removeEvents('change').addEvent('change', function(){		
		if(txtWizard){ 
			var urlParamater = baseurl +'/wizard/getfeature/id/' +this.value +'/year/'+showHideCommute.getElement('select[id=txtYearOther]').value;
		}else{
			var urlParamater = baseurl +'/myplan/getfeature/id/' +this.value +'/year/'+showHideCommute.getElement('select[id=txtYearOther]').value;
		}
		var jsonRequest = new Request.JSON({url: urlParamater, 
			onComplete: function(dataJson){
				if(!dataJson){
					window.location = baseurl;
					return;
				}	
				var txtOption = showHideCommute.getElement('select[id=txtOptionOther]');
				deleteOption(txtOption);
				for(var i = 0 ; i < dataJson.data.length ; i++) {
					var nameOption = dataJson.data[i].numb_cyl + ' cyl, ' + dataJson.data[i].transmission;
					txtOption.options[i+1] = new Option(nameOption, dataJson.data[i].feature_id);
				}
				deleteOptionNUll(txtOption);				
		}}).post();
	});
	
	//typically use this mode of transport to work
	if(showHideCommute.getElement('.typically')) var arrInputTypically = showHideCommute.getElement('.typically').getElements('input[type=checkbox]');
	if(showHideCommute.getElement('.commute')) var arrInputCommute = showHideCommute.getElement('.commute').getElements('input[type=checkbox]');
	if(arrInputCommute && arrInputTypically) {
		arrInputTypically.each(function(input, index){
			//load
			if(input.checked) {
				arrInputCommute[index].checked = false;
				arrInputCommute[index].disabled = true;
				arrInputCommute[index].getNext().setStyle('opacity', 0.4);
			} else {
				arrInputCommute[index].disabled = false;
				arrInputCommute[index].getNext().setStyle('opacity', 1);
			}
			//add Event
			input.removeEvents('click').addEvent('click', function(e){
				if(this.checked) {
					arrInputCommute[index].checked = false;
					arrInputCommute[index].disabled = true;
					arrInputCommute[index].getNext().setStyle('opacity', 0.4);
				} else {
					arrInputCommute[index].disabled = false;
					arrInputCommute[index].getNext().setStyle('opacity', 1);
				}
			});
		});
		
		arrInputCommute.each(function(input, index){
			//load status		
			if(input.checked) {
				arrInputTypically[index].checked = false;
				arrInputTypically[index].disabled = true;
				arrInputTypically[index].getNext().setStyle('opacity', 0.4);
			} else {
				arrInputTypically[index].disabled = false;
				arrInputTypically[index].getNext().setStyle('opacity', 1);
			}
			//add Event
			input.removeEvents('click').addEvent('click', function(e){
				if(this.checked) {
					arrInputTypically[index].checked = false;
					arrInputTypically[index].disabled = true;
					arrInputTypically[index].getNext().setStyle('opacity', 0.4);
				} else {
					arrInputTypically[index].disabled = false;
					arrInputTypically[index].getNext().setStyle('opacity', 1);
				}
			});
		});
	}
}
function checkStatusTransportWorkTypically() {	
	var arrNodes = $$('.workCommuteProfile');
	if(arrNodes.length == 0) return;
	arrNodes.each(function (profile, index){
		if(profile.getElement('.typically')){
			profile.typically = profile.getElement('.typically');
			profile.arrInputs = profile.getElement('.typically').getElements('input[type=checkbox]');
			profile.arrInputs.each(function(input, indexInput){
				input.removeEvents('click').addEvent('click', function(e){					
					if(this.checked == true) {
						//disable all same input
						arrNodes.each(function (item, i){
							if(arrNodes[i].getElement('.typically')){								
								if(arrNodes[i].arrInputs[indexInput]){
									arrNodes[i].arrInputs[indexInput].checked = false;
									arrNodes[i].arrInputs[indexInput].disabled = true;									
									arrNodes[i].arrInputs[indexInput].getNext().setStyle('opacity', 0.4);									
								}
							}
						});
						//actvie this
						arrNodes[index].arrInputs[indexInput].checked = true;
						arrNodes[index].arrInputs[indexInput].disabled = false;
						arrNodes[index].getNext().setStyle('opacity', 1);
					} else {						
						//disable all same input
						arrNodes.each(function (item, i){
							if(arrNodes[i].getElement('.typically')){
								if(arrNodes[i].arrInputs[indexInput]){
									arrNodes[i].arrInputs[indexInput].checked = false;
									arrNodes[i].arrInputs[indexInput].disabled = false;
									arrNodes[i].arrInputs[indexInput].getNext().setStyle('opacity', 1);
								}
							}
						});
					}
				});
			});
			
			//check status when first loaded
			for(var j = 0; j < profile.arrInputs.length; j++){
				if(profile.arrInputs[j].checked) {
						//disable all same input					
					$('frmEmployees').getElements('input[id='+ profile.arrInputs[j].id +']').each(function(input){
						if(profile.arrInputs[j] != input){						
							input.checked = false;
							input.disabled = true;
							input.getNext().setStyle('opacity', 0.4);
						}
					});
					$('frmEmployees').getElements('input[id='+ profile.arrInputs[j].id +'other]').each(function(input){
						input.checked = false;
						input.disabled = true;
						input.getNext().setStyle('opacity', 0.4);
					});
					setTimeout(function(e){						
						
						if(profile.arrInputs[j]){
							profile.arrInputs[j].checked = true;
							profile.arrInputs[j].disabled = false;
							profile.arrInputs[j].getNext().setStyle('opacity', 1);
						}
					}, 200);
					//break;
				}
			}
		}
	});	
}


/**-----------------------------------------------------------------------------------------
	@write Hung.Pham
	@init Ajax Delete transportation profile
	@paramater null
	@return null
-------------------------------------------------------------------------------------------**/
function ajaxDeleteTransportationProfile(){	
	var arrBtnDeleteProfiles = $$('.btnDeleteProfile');
	if(arrBtnDeleteProfiles.length > 0) {
		arrBtnDeleteProfiles.each(function(btnDeleteProfile, index){
			var _url = baseurl + btnDeleteProfile.get('rel');		
			btnDeleteProfile.removeEvents('click').addEvent('click', function(e){
				if(e) e.stop();			
					var request = new Request({
						url: _url,
						method: 'post',		
						onSuccess: function(responseText, responseXML) {
							if(/DOCTYPE/i.test(responseText)){
								window.location = baseurl;
								return;
							}
							
							
							//call other to save & load
							var _urlSave = baseurl + '/user/loadlistprofile';		
							var requestSave = new Request({
								url: _urlSave,
								method: 'post',		
								onSuccess: function(responseText, responseXML) {
									if(/DOCTYPE/i.test(responseText)){
										window.location = baseurl;
										return;
									}								
									if($('listWorkCommuteProfile')) {
										$('listWorkCommuteProfile').set('html', responseText);
									}
									workCommuteProfile();
									workCommuteProfileOther();
									addOtherProfile();
									ajaxDeleteTransportationProfile();
									setTimeout(function(){
										checkStatusTransportWorkTypically();
									}, 200);
								}
							}).send();
						},
						onFailure:function(instance){
							//
						}
					}).send();
			});
		});
	}
	//delete Empty Profile 
	var arrBtnDeleteProfilesEmpty = $$('.btnDeleteProfileEmpty');	
	arrBtnDeleteProfilesEmpty.each(function(btnDeleteProfileEmpty, index){		
		btnDeleteProfileEmpty.removeEvents('click').addEvent('click', function(e){
			if(e) e.stop();						
			var btnAddOntherProfiles = document.getElementByIds('btnAddOntherProfile');
			if(arrBtnDeleteProfilesEmpty.length - 1 == index) {
				if(btnAddOntherProfiles[btnAddOntherProfiles.length - 2]) {
					btnAddOntherProfiles[btnAddOntherProfiles.length - 2].setStyle('display', 'inline');
				} 
			}
			
			this.getParent().getParent().destroy();
			
			if($$('.btnDeleteProfileEmpty').length <= 0) {
				if($('btnAddOntherProfile')) {
					$('btnAddOntherProfile').setStyle('display', 'inline');
				}
			}
		});
	});
}
function showAlertLayer(element, message){		
	var GTAlertLayer = $('selectAlertLayer');
	var temp = 15;
	var tempWidth = null;	
	if(!GTAlertLayer) {
		GTAlertLayer = new Element('div', {
			'id': 'selectAlertLayer',
			'class': 'alertLayer layer',
			'html': '<p class="message"> </p>'
		}).inject(document.body);
	};
	GTAlertLayer.getElement('p.message').set('html', message);
	var elementCoords = element.getCoordinates();
	GTAlertLayer.set('styles', {
		'position': 'absolute',
		'top': elementCoords.top + temp,
		'left': elementCoords.left,
		'width': elementCoords.width
	});		
	GTAlertLayer.set('tween', {
		duration: 50,
		transition: Fx.Transitions.Quad.easeOut
	}).tween('opacity', 1);	
	//Hide alert
	setTimeout(function(){
		hideAlertLayer();
	} , 2000);
}

/*
**	Hide layer alert function
*/	
function hideAlertLayer(){
	var GTAlertLayer = $('selectAlertLayer');
	GTAlertLayer.set('tween', {
		duration: 50,
		transition: Fx.Transitions.Quad.easeOut
	}).tween('opacity', 0);		
}

