var idLabel;
var isActiveCalendar = false;
var clickDivWeek = 0;
window.addEvent('load' , function() {
	initChangeOption();
	actionSaveMyPlan();
    initMyPlan();
	initpopupAssign();
	loadDataAjaxMakeandModel();
	initMycalendar();
	getCalendar();
	loadOverdue();
	loadOverPagingItemdue();
	loadDivWeek();
	//initMyProfileSomeone();
	initMyPlanNew();
	loadTopPagingItemdue();
	tooltipPopup();
});


/*
Global my plan vars
*/
var currentDueDate, firstDayWeekDueDate, lastDayWeekDueDate, currentWeek, currentMonth, currentYear;
var currentDarkOrangeBg, currentSelectWeek, currentSelectDueDate;


/*-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init load week,
	@paramater null
	@return null
-------------------------------------------------------------------------------------------*/
function initMyPlanNew() {
	var container = $('frmMyLanNew');
	if(!container) return;
	var btnGo = container.getElement('input[id=btnGo]');
	var btnshowAll = $('showalloverdue');
	
	if(btnGo) {
		var divWeek = $('divWeek')
		var theDateFrom = container.getElement("input[id=txtFromPlan]");
		var theDateTo = container.getElement("input[id=txtToPlan]");
		
		var theDateFirst = container.getElement("input[name=first]");
		var theDateLast = container.getElement("input[name=last]");
		var chkOverdue = container.getElement("input[name=overdue]");
		
		var formValidate = [];
		var formObj = new htmlform(container, formValidate,{
			alertType: "layer",
			layerWidth: 186,
			hideInterval: 3000 ,
			onSubmit: function(e){
			}
		});
		/////////////////////////////////////
		var reqMyPlan = new Request({
			url: baseurl + '/myplan/lastmyplan',
			method: 'post',
			onSuccess: function(responseText, responseXML) {
				if(/DOCTYPE/i.test(responseText)){
					window.location = baseurl;
					return;
				}	
				divWeek.innerHTML = responseText;
				divWeek.removeClass('loadingMyPlan');
				//init function
				initMyPlan();
				initMyPlanNew();
				loadDivWeek();
				loadTopPagingItemdue();
				initFormCheckFormTo();
			},
			onRequest:function(){
				divWeek.innerHTML = "";
				divWeek.addClass('loadingMyPlan');
				$$('.tdActive')[0].setStyles({'top': '-2000px'});
			},
			onFailure:function(instance){				
				return false;
			}
		});	
		//fire event to show calendar
		theDateFrom.removeEvents('click').addEvent('click', function(evt){
			if(evt) evt.stop();
			theDateFrom.getNext().fireEvent('click');
		});
		theDateTo.removeEvents('click').addEvent('click', function(evt){
			if(evt) evt.stop();
			theDateTo.getNext().fireEvent('click');
		});
		
		btnGo.removeEvents('click').addEvent('click', function(evt){
			if(evt) evt.stop();
			//from date
			if(container.getElement("input[id=txtFromPlan]")) {
				
				var valueForm = theDateFrom.value.trim();
				var arrDateForm = valueForm.split(" ");
				
				if(valueForm.isBlank()) {
					formObj.showAlertLayer(theDateFrom, Alert.messageAlert.txtDateFrom);
					return false;
				}
				if(arrDateForm.length < 3) {
					formObj.showAlertLayer(theDateFrom, Alert.messageAlert.txtInvalitxtDate);
					return false;
				}
				
				var y1 = arrDateForm[2];
				var m1 = MONTHS[FULLMONTHS.indexOf(arrDateForm[0])];
				var d1 = arrDateForm[1].toInt();
				
				
				if(y1.toInt() <=0 || m1.toInt() <=0 || d1.toInt() <=0 ) {
					
					formObj.showAlertLayer(theDateFrom, Alert.messageAlert.txtInvalitxtDate);
					return false;
				}
			}
			//to date
			if(container.getElement("input[id=txtToPlan]")) {
				
				var valueTo = theDateTo.value.trim();
				var arrDateTo = valueTo.split(" ");
				
				if(valueTo.isBlank()) {
					formObj.showAlertLayer(theDateTo, Alert.messageAlert.txtDateTo);
					return false;
				}
				
				if(arrDateTo.length < 3) {
					formObj.showAlertLayer(theDateTo, Alert.messageAlert.txtInvalitxtDate);
					return false;
				}
				var y2 = arrDateTo[2];
				var m2 = MONTHS[FULLMONTHS.indexOf(arrDateTo[0])];
				var d2 = arrDateTo[1].toInt();				
				if(y2.toInt() <=0 || m2.toInt() <=0 || d2.toInt() <=0 ) {					
					formObj.showAlertLayer(theDateTo, Alert.messageAlert.txtInvalitxtDate);
					return false;
				}
			}
			//////////////////////////////////////////////////////
			
			
			if(container.getElement("input[id=txtFromPlan]") && container.getElement("input[id=txtToPlan]")) {
				var theDateFrom_ = new Date(y1,m1-1,d1);
				var theDateTo_ = new Date(y2,m2-1,d2);
				if(theDateFrom_ > theDateTo_) {				
					formObj.showAlertLayer(theDateFrom, Alert.messageAlert.txtInvalidDate);
					return false;
				}
			}
			reqMyPlan.send(container);
		});
		
		var allStatus = container.getElement('.listStatus').getElement('input[name=allstatus]');
		var allCategory = container.getElement('.listCategory').getElement('input[name=allcategory]');
		var arrInputStatus = container.getElement('.listStatus').getElements('input[type=checkbox]');
		allStatus.count = 0;
		var arrInputCategory = container.getElement('.listCategory').getElements('input[type=checkbox]');
		allCategory.count = 0;
		//init
		function initStatusCheckboxs(){
			arrInputStatus.each(function(checkbox, index){
				checkbox.checked = allStatus.checked;
			});
			if(allStatus.checked) {
				allStatus.count = arrInputStatus.length - 1;
			} else {
				allStatus.count = 0;
			}
			////////////////////////////////////////////////
			
		}
		function initCategoryCheckboxs(){
		
			////////////////////////////////////////////////
			arrInputCategory.each(function(checkbox, index){
				checkbox.checked = allCategory.checked;
			});
			if(allCategory.checked) {
				allCategory.count = arrInputCategory.length - 1;
			} else {
				allCategory.count = 0;
			}
			
		}
		allStatus.removeEvents('click').addEvent('click', function(evt){
			initStatusCheckboxs();
		});
		
		
		
		allCategory.removeEvents('click').addEvent('click', function(evt){
			initCategoryCheckboxs();
		});
		
		arrInputStatus.each(function(checkbox, index){
			if(checkbox.name != 'allstatus'){
				checkbox.removeEvents('click').addEvent('click', function(evt){
					if(checkbox.checked) {
						allStatus.checked = false;
						if(allStatus.count < arrInputStatus.length - 1) allStatus.count++;
					} else {
						if(allStatus.count > 0) allStatus.count--;
					}
					if(allStatus.count == arrInputStatus.length - 1) {
						allStatus.checked = true;
					} else {
						allStatus.checked = false;
					}
				});
			} 
		});
		
		arrInputCategory.each(function(checkbox, index){
			if(checkbox.name != 'allcategory'){				
				checkbox.removeEvents('click').addEvent('click', function(evt){
					if(checkbox.checked) {
						allCategory.checked = false;
						if(allCategory.count < arrInputCategory.length - 1) allCategory.count++;
					} else {
						if(allCategory.count > 0) allCategory.count--;
					}
					if(allCategory.count == arrInputCategory.length - 1) {
						allCategory.checked = true;
					} else {
						allCategory.checked = false;
					}
				});
			}
		});
		
		//show all overdue		
		if(btnshowAll) {
			var reqMyPlanAll = new Request({
				url: baseurl + '/myplan/lastmyplan/showoverdue/all',
				method: 'post',
				onSuccess: function(responseText, responseXML) {
					if(/DOCTYPE/i.test(responseText)){
						window.location = baseurl;
						return;
					}	
					divWeek.innerHTML = responseText;
					divWeek.removeClass('loadingMyPlan');
					//reset value
					theDateFrom.value = theDateFirst.value;
					theDateTo.value = theDateLast.value;
					
					//checked all checkbox Category type
					arrInputStatus.each(function(checkbox, index){
						checkbox.checked = false;
					});
					chkOverdue.checked = true;
					
					//checked all checkbox Category type
					arrInputCategory.each(function(checkbox, index){
						checkbox.checked = true;
					});
					//init function
					initMyPlan();
					initMyPlanNew();
					loadDivWeek();
					loadTopPagingItemdue();
					initFormCheckFormTo();
				},
				onRequest:function(){
					divWeek.innerHTML = "";
					divWeek.addClass('loadingMyPlan');
					$$('.tdActive')[0].setStyles({'top': '-2000px'});
				},
				onFailure:function(instance){				
					return false;
				}
			});
			btnshowAll.removeEvents('click').addEvent('click', function(evt){
				if(evt) evt.stop();
				reqMyPlanAll.send();
			});
		}
	}
}
function loadDivWeek() {
	if($('divWeek') && $('divWeek').getElement('div.paging') && $('divWeek').getElement('div.paging').getElements('a')[0]) {
		var aLinkArr = $('divWeek').getElement('div.paging').getElements('a');
		aLinkArr.each(function(alink){
			alink.addEvent('click', function(evt){
				evt.stop();
				var _url = this.getProperty('href');
				
				ajaxUpdateWithUrl(_url);
			});
		});
	}
	
	//order by action items 
	if ($('divWeek')) {	
		if($('divWeek').getElement('.tblEmployees')){
			var aLinkHeadArr = $('divWeek').getElement('.tblEmployees').getElement('thead').getElements('a');		
			aLinkHeadArr.each(function(aLinkHead){
				aLinkHead.addEvent('click', function(evt){
					evt.stop();
					var _url = this.getProperty('href');				
					ajaxUpdateWithUrl(_url);
				});
			});
		}
	}
	if($$('.weekHighlight')[0]) {
		var btnNext = $$('.weekHighlight')[0].getElement('p.btnNext').getElement('a');
		btnNext.removeEvents().addEvent('click', function(evt){
			evt.stop();
			var _url = this.getProperty('href');
			firstDayWeekDueDate = this.getProperty('rel');
			ajaxUpdateWithUrl(_url);
			//active row for next week
			//format: yyyy-mm-dd			
			updateActiveRowWeekDueDate(btnNext.get('rel'), 1);			
		});
		var btnPre = $$('.weekHighlight')[0].getElement('p.btnPrev').getElement('a');
		btnPre.removeEvents().addEvent('click', function(evt){
			evt.stop();
			var _url = this.getProperty('href');
			lastDayWeekDueDate = this.getProperty('rel');
			ajaxUpdateWithUrl(_url);
			//active row for next week
			//format: yyyy-mm-dd			
			updateActiveRowWeekDueDate(btnPre.get('rel'), -1);	
		});
	}
}


/*-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init Overdue Items,
	@paramater null
	@return null
-------------------------------------------------------------------------------------------*/

function loadTopPagingItemdue() {
	var divWeek = $('divWeek');
	if(!divWeek) return;	
	var divpaging = divWeek.getElement('div.pagingDue');
	if(divpaging){
		var aLinkArr = divpaging.getElements('a');
		aLinkArr.each(function(el){
			el.path = 	el.getProperty('href');
			el.reqMyPlan = new Request({
				url: el.path,
				method: 'post',
				onSuccess: function(responseText, responseXML) {					
					divWeek.innerHTML = responseText;
					divWeek.removeClass('loadingMyPlan');
					//init function
					initMyPlan();
					initMyPlanNew();
					loadTopPagingItemdue();
					initCompanyTeam();
					checkBoxHeaderCompany();
					loadDivWeek();
					initFormCheckFormTo();
				},
				onRequest:function(){
					divWeek.innerHTML = "";
					divWeek.addClass('loadingMyPlan');
				},
				onFailure:function(instance){					
					return false;
				}
			});	
			el.removeEvents().addEvent('click', function(evt){
				evt.stop();							
				el.reqMyPlan.send($('frmMyLanNew'));
				$$('.tdActive')[0].setStyles({'top': '-2000px'});
			})
		});	
	}
}

/*-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init Overdue Items,
	@paramater null
	@return null
-------------------------------------------------------------------------------------------*/

function loadOverPagingItemdue() {
	var loadOverdue = $('loadOverdue');
	if(!loadOverdue) return;	
	var divpaging = loadOverdue.getElement('div.pagingDue');
	if(divpaging){
		var aLinkArr = divpaging.getElements('a');
		aLinkArr.each(function(el){
			el.removeEvents().addEvent('click', function(evt){
				evt.stop();				
				callAjaxOverItemDue(el.getProperty('href'));
			})
		});	
	}
	/* 	Overdue Items - order by	*/	
	if(loadOverdue.getElement('.tblEmployees')) {
		var aLinkHeadArr = loadOverdue.getElement('.tblEmployees').getElement('thead').getElements('a');		
		aLinkHeadArr.each(function(aLinkHead){
			aLinkHead.addEvent('click', function(evt){
				evt.stop();
				var _url = this.getProperty('href');				
				callAjaxOverItemDueOrderBy(_url , 0);
			});
		});
	}
}

function callAjaxOverItemDueOrderBy(page) {	
	var srcImg = baseurl+"/../public/images/ajaxLoaderMyplan.gif";
	
	$('loadOverdue').getElement('table').dispose();
	var theDiv = new Element('img', {'src':srcImg}).injectInside($('loadOverdue'));
	theDiv.setStyle('padding', '0px 0px 0px 330px');	
	$$('.tdActive')[0].setStyles({'top': '-2000px'});
	var _method = 'get';
	if($('frmMyLanNew')) {
		_method = 'post';
	}
	var request = new Request({
			url: page,
			method: _method, 
			headers: {'X-Request': 'JSON'},		
			onSuccess: function(responseText, responseXML) {
				if(/DOCTYPE/i.test(responseText)){
					window.location = baseurl;
					return;
				}
					
				$('loadOverdue').innerHTML = responseText;
				//recall init function
				loadOverPagingItemdue();
				initMyPlan();
			},
			onFailure:function(instance){
				
			}
		});	
		request.send();
}

/*-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init load Item Due,
	@paramater null
	@return null
-------------------------------------------------------------------------------------------*/

function callAjaxOverItemDue(page) {	
	var srcImg = baseurl+"/../public/images/ajaxLoaderMyplan.gif";
	var _url;
	if(/[a-z]/.test(page)){
		_url = page;
	} else {
		_url = baseurl + '/myplan/overdue/page/'+page;
	}
	$('loadOverdue').getElement('table').dispose();
	var theDiv = new Element('img', {'src':srcImg}).injectInside($('loadOverdue'));
	theDiv.setStyle('padding', '0px 0px 0px 330px');	
	$$('.tdActive')[0].setStyles({'top': '-2000px'});	
	var request = new Request({
			url: _url,
			method: 'get', 
			headers: {'X-Request': 'JSON'},		
			onSuccess: function(responseText, responseXML) {
				if(/DOCTYPE/i.test(responseText)){
					window.location = baseurl;
					return;
				}
					
				$('loadOverdue').innerHTML = responseText;
				//recall init function
				loadOverPagingItemdue();
				initMyPlan();
			},
			onFailure:function(instance){
				
			}
		});	
		request.send();
}
/*-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init load week,
	@paramater null
	@return null
-------------------------------------------------------------------------------------------*/

function loadOverdue() {
	var loadOverdue = $('loadOverdue');
	if(loadOverdue) {
		var divpaging = loadOverdue.getElement('div.paging');
		if(divpaging){
			var aLinkArr = divpaging.getElements('a');
			aLinkArr.each(function(el){
				el.removeEvents().addEvent('click', function(evt){
					evt.stop();
					var href = el.getProperty('href');
					/*
					var href = el.getProperty('href');
					var page = href.split('page/');
					var page = page[1];					
					*/
					callAjaxOverDue(href);
				})
			});	
		}
	}
	 
	/* 	Upcoming Action Items	*/
	var loadNextAction = $('loadNextAction');
	if(loadNextAction) {
		var divpaging = loadNextAction.getElement('div.paging');
		if(divpaging){
			var aLinkArr = divpaging.getElements('a');
			aLinkArr.each(function(el){
				el.removeEvents().addEvent('click', function(evt){
					evt.stop();
					/*
					var href = el.getProperty('href');
					var page = href.split('page/');
					var page = page[1];
					*/
					callAjaxOverDue(el.getProperty('href') , 1);
				})
			});
		}
		/* 	Upcoming Action - order by	*/	
		if(loadNextAction.getElement('.tblEmployees')) {		
			var aLinkHeadArr = loadNextAction.getElement('.tblEmployees').getElement('thead').getElements('a');		
			aLinkHeadArr.each(function(aLinkHead){
				aLinkHead.addEvent('click', function(evt){
					evt.stop();
					var _url = this.getProperty('href');				
					callAjaxOverDue(_url , 1);
				});
			});
		}
	}
}

/*-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init load week,
	@paramater null
	@return null
-------------------------------------------------------------------------------------------*/

function callAjaxOverDue(page, loadNextAction) {
	var srcImg = baseurl+"/../public/images/ajaxLoaderMyplan.gif";	
	var _url = '';
	if(loadNextAction == 1) {		
		_url = page;		
		$('loadNextAction').getElement('table').dispose();
		var theDiv = new Element('img', {'src':srcImg, 'padding': '0px 0px 0px 330px'}).injectBefore($('loadNextAction').getElement('div.paging'));		
	} else {
		_url = page;
		$('loadOverdue').getElement('table').dispose();
		var theDiv = new Element('img', {'src':srcImg}).injectBefore($('loadOverdue').getElement('div.paging'));
	}
	
	theDiv.setStyle('padding', '0px 0px 0px 330px');	
	$$('.tdActive')[0].setStyles({'top': '-2000px'});	
	var _method = 'get';
	if($('frmMyLanNew')) {
		_method = 'post';
	}	
	var request = new Request({
			url: _url,
			method: _method, 
			headers: {'X-Request': 'JSON'},		
			onSuccess: function(responseText, responseXML) {
			if(/DOCTYPE/i.test(responseText)){
				window.location = baseurl;
				return;
			}
				if(loadNextAction == 1) {
					$('loadNextAction').innerHTML = responseText;
				} else {
					$('loadOverdue').innerHTML = responseText;
				}	
				loadOverdue();
				initMyPlan();
			},
			onFailure:function(instance){
				
			}
		});	
		request.send();
}

/*-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init get calendar
	@paramater null
	@return null
-------------------------------------------------------------------------------------------*/
var getCalendarFlag = 0;
function getCalendar() {	
	var calendarHighlight = $$('.calendarHighlight')[0];
	if(!calendarHighlight) {
		return true;
	}
	var arrmyplanCalendar = $$('.myplanCalendar');
	var btnNext = calendarHighlight.getElement('p.btnNext');
	var btnPrev = calendarHighlight.getElement('p.btnPrev');	
	
	//remove text on blank cell
	var arrCells = calendarHighlight.getElements('.blank');
	if(arrCells.length > 0) {
		arrCells.set('html', '&nbsp');
		arrCells.setStyle('cursor', 'default');
	}
	
	//add class-number for each week
	var arrTRWeeks = calendarHighlight.getElements('tr');
	if(arrTRWeeks.length > 0 ) {
		arrTRWeeks.each(function(trWeek, index){
			if(trWeek.getParent().tagName.toLowerCase() == 'tbody'){				
				var td = trWeek.getElement('td');
				while (!/calendar/i.test(td.id)) {
					td = td.getNext();					 
				}
				var currWeekDay = td.get('html');
				var currWeekMonth = trWeek.getParent().getParent().getParent().getElement('input[id=month]').value;
				var currWeekYear = trWeek.getParent().getParent().getParent().getElement('input[id=year]').value;
				var currWeekNumber = getWeekExt(new Date(currWeekYear, currWeekMonth - 1, currWeekDay));
				td.getParent().addClass('week' + currWeekNumber);
			}
		});
	}
	//set active today
	if(getCalendarFlag == 0) {
		var today = new Date();
		currWeek  = getWeekExt(new Date(today.getFullYear(), today.getMonth(), today.getDate()));
		if($$('.week' + currWeek)) {
			try {
				if($$('.week' + currWeek).getElement('td[id=calendar_' + today.getDate() + ']')) {
					$$('.week' + currWeek).getElement('td[id=calendar_' + today.getDate() + ']').addClass('darkOrangeBg today');
				}
			} catch(e) {}
		}
		getCalendarFlag++;
	}
	btnPrev.removeEvents().addEvent('click', function(evt){
		evt.stop();
		var month = arrmyplanCalendar[2].getElement('input[id=month]').value;
		var year = arrmyplanCalendar[2].getElement('input[id=year]').value;
		var url =baseurl+"/myplan/getcalendar/month/"+month+"/year/"+year+"/nextorpre/-1";
		_updateCalendar(url, false);
	});
	btnNext.removeEvents().addEvent('click', function(evt){
		evt.stop();
		var month = arrmyplanCalendar[2].getElement('input[id=month]').value;
		var year = arrmyplanCalendar[2].getElement('input[id=year]').value;
		var url =baseurl+"/myplan/getcalendar/month/"+month+"/year/"+year+"/nextorpre/1";
		_updateCalendar(url , true);
	});
	
	function _updateCalendar(_url, FL) {
		var request = new Request({
			url: _url,
			method: 'get', 
			headers: {'X-Request': 'JSON'},		
			onSuccess: function(responseText, responseXML) {
			if(/DOCTYPE/i.test(responseText)){
				window.location = baseurl;
				return;
			}
				if(FL) {
					arrmyplanCalendar[0].innerHTML = arrmyplanCalendar[1].innerHTML;
					arrmyplanCalendar[1].innerHTML = arrmyplanCalendar[2].innerHTML;
					arrmyplanCalendar[2].innerHTML = responseText;
				} else {
					arrmyplanCalendar[2].innerHTML = arrmyplanCalendar[1].innerHTML;
					arrmyplanCalendar[1].innerHTML = arrmyplanCalendar[0].innerHTML;
					arrmyplanCalendar[0].innerHTML = responseText;
					
				}
				initMycalendar();
				getCalendar();
			},
			onFailure:function(instance){
				
			}
		});	
		request.send();
	}

} 


function initMycalendar() {
	var myplanCalendar = $$('.myplanCalendar');
	if(myplanCalendar.length == 0 ) {
		return true;
	}
	
	currentDueDate = new Date().getDate();
	currentMonth = new Date().getMonth();
	currentYear = new Date().getFullYear();	
	currentSelectWeek = getWeekExt(new Date(currentYear, currentMonth, currentDueDate));
	var groupcalendar = $$('.groupcalendar');
	var arrValueGroupcalender = new Array();
	myplanCalendar.each(function(elMycalendar,  index) {
		var arrTd = elMycalendar.getElements('td');
		var valueGroupcalendar = groupcalendar[index].value;
		var nameInputgroupcalendar = groupcalendar[index].getProperty('name');
		if(valueGroupcalendar != "") {
			arrValueGroupcalender = valueGroupcalendar.split(',');
			for(var i = 0 ; i< arrValueGroupcalender.length; i++){
				if(arrValueGroupcalender[i]) {
					elMycalendar.getElement('td[id='+nameInputgroupcalendar+'_'+arrValueGroupcalender[i]+']').removeClass('whiteBg');
					elMycalendar.getElement('td[id='+nameInputgroupcalendar+'_'+arrValueGroupcalender[i]+']').addClass('greyBg');
				}
			}
			
		}
		arrTd.addEvents({
			'click': function(evt){
				evt.stop();				
				if(!this.hasClass('blank')) {
					activeRowWeekDueDate(this, 1);
				}
			}, 
			'mouseenter' : function(){
				if(!this.hasClass('blank')) {
					this.setStyle('cursor', 'pointer');
				}
			}
		});
	});
	//
	if(!isActiveCalendar) {
		var calendardValue = myplanCalendar[2].getElement('input[id=calendard]').value;
		var trArr = myplanCalendar[2].getElement('td[id=calendar_'+calendardValue+']').getParent().getChildren();
		trArr.each(function(el) {
			el.removeClass('whiteBg');
			el.addClass('orangeBg');
		});
		isActiveCalendar = true;
		
	}

	//	
	currentYear = myplanCalendar[2].getElement('input[name=year]').value;
	currentMonth = myplanCalendar[2].getElement('input[name=month]').value;
	var arrOrangeBgs = myplanCalendar[2].getElements('.orangeBg');
	if(arrOrangeBgs.length > 0) {		//
		arrOrangeBgs.each(function(dateCell, index){
			if(dateCell.get('html').trim() == currentDueDate) {
				currentDarkOrangeBg = dateCell;
			}
			if(index == 0) firstDayWeekDueDate = dateCell.get('html').trim();
			if(index == arrOrangeBgs.length - 1) lastDayWeekDueDate = dateCell.get('html').trim();
			currentWeek = getWeekExt(new Date(currentYear, currentMonth, firstDayWeekDueDate));			
		});
	}
}

/*-----------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------*/
function ajaxUpdateWithUrl(_url , content) {	
	try{
		var srcImg = baseurl+"/../public/images/ajaxLoaderMyplan.gif";
		if(!content) {
			$('divWeek').getElement('table').dispose();
			if(clickDivWeek == 1) {
				$$('.tdActive')[0].setStyles({'top': '-2000px'});
			}	
			var theDiv = new Element('img', {'src':srcImg, 'padding': '0px 0px 0px 330px'}).inject($('divWeek'));		
		}
		else {
			content.innerHTML = "";
			var theDiv = new Element('img', {'src':srcImg, 'padding': '0px 0px 0px 330px'}).inject(content);	
		}
		theDiv.setStyle('padding', '0px 0px 0px 330px');
	} catch(err){}
	var _method = 'get';
	if($('frmMyLanNew')) {
		_method = 'post';
	}
	var request = new Request({
		url: _url,
		method: _method, 
		headers: {'X-Request': 'JSON'},		
		onSuccess: function(responseText, responseXML) {
			if(/DOCTYPE/i.test(responseText)){
				window.location = baseurl;
				return;
			}
			if(content) {
				content.innerHTML = responseText;
				initCompanyTeam();
				checkBoxHeaderCompany();	
				initReloadPage();
			} else {
				$('divWeek').innerHTML = responseText;				
				loadDivWeek();
			}
			initMyPlan();
			initMyPlanNew();
			loadTopPagingItemdue();
			initFormCheckFormTo();
		},
		onFailure:function(instance){
			
		}
	});
	if($('frmMyLanNew')) {
		request.send($('frmMyLanNew'));	
	} else {
		request.send();
	}
}

/*-----------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------*/
//check radio button for layer assign
function initpopupAssign() {
	if(!$('popupAssign')) {
		return true;
	}	
	
	var btnSave = $('popupAssign').getElement('input#btnSaveAssign');
	var strID = "";
	
	btnSave.addEvent('click' , function(evt) {
		strID = "";
		evt.stop();
		var arrInput = $('popupAssign').getElements('input[type=checkbox]');		
		var strValue = "";
		var flag = 0;
		for(var i = 0 ; i<arrInput.length ; i++){
			if(arrInput[i].checked) {
				strID +=  ',' + arrInput[i].value;
				strValue +=  ',' + arrInput[i].getNext().innerHTML;
				flag++;
			}
			
		}
		if(flag <= 0) {
			strValue = "Click here to assign";
			
			if($('assignedTo')) {
				$('assignedTo').getParent().getElement('input[id=user_id]').value = strID;
				$('assignedTo').innerHTML = strValue + '<input type="hidden" name="assignedToElement" id="assignedToElement" value=""/>';				
			}
			
			var formValidate = [];
			var formObj = new htmlform($('frmOfficeSetup'), formValidate,{
				alertType: "layer",
				layerWidth: 136,
				hideInterval: 2000 ,
				onSubmit: function(){	
					frmId.submit();
				}
			});
			opaceIt($('layerPopup'),0);
			setTimeout(function(){
				
				if($('assignedToElement')) {
					formObj.showAlertLayer($('assignedToElement').getParent(), Alert.messageAlert.txtInputAssign);				
				} else if($('lastAssignTo')) {
					formObj.showAlertLayer($('lastAssignTo').getParent(), Alert.messageAlert.txtInputAssign);
				}
				return false;
			}, 1000);
		} else {
			strValue = strValue.substring(1);
			strID = strID.substring(1);
			
			if(flag > 1) strValue = 'Employees';
			
			if($('assignedTo')) {
				$('assignedTo').getParent().getElement('input[id=user_id]').value = strID;
				$('assignedTo').innerHTML = strValue;
				//call ajax update row
				sendByAjax($('assignedTo').getParent());
			}
			
			if($$('.assignToUser')[0]) {				
				$$('.assignToUser')[0].getElement('input[id=assignedToId]').value = strID;
				$$('.assignToUser')[0].getElement('label[id=assignedToName]').innerHTML = strValue;
				$$('.assignToUser')[0].removeClass('assignToUser');
			}
			opaceIt($('layerPopup'),0, "getValueMakeCheckedRadio", "");
		}
		
	});
	if($("lastAssignTo"))$("lastAssignTo").addEvent('click' , function(evt) {
		this.addClass("assignToUser");
		evt.stop();		
		//opaceIt($('layerPopup'),1, "getValueMakeCheckedRadio", this.getElement('label').innerHTML.trim());
		opaceIt($('layerPopup'),1, "getValueMakeCheckedRadio", strID);
	});
	
}

function initMyProfileSomeone() {
	var someoneNotWorking = $('someoneNotWorking');
	if(!someoneNotWorking) return;
	var idYear = someoneNotWorking.getElement('select[id=txtYear1]');
	var txtWizardSomeone = someoneNotWorking.getElement('input[id=txtWizardSomeone]');
	idYear.removeEvents('change').addEvent('change', function(){
		if(txtWizardSomeone){
			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 = someoneNotWorking.getElement('select[id=txtMake1]');
				deleteOption(txtMake);
				var txtModel = someoneNotWorking.getElement('select[id=txtModel1]');
				if(txtModel){
					deleteOption(txtModel);
					var txtOption = someoneNotWorking.getElement('select[id=txtOption1]');
					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 txtModel11 = someoneNotWorking.getElement('select[id=txtModel1]');
					if(txtModel11){
						deleteOption(txtModel11);
						for(var i = 0 ; i < dataJson.data.length ; i++) {							
							txtModel11.options[i+1] = new Option(dataJson.data[i].model_car, dataJson.data[i].model_id);					
						}
					}
					deleteOptionNUll(txtModel11);
				}
				
		}}).post();
	});
	var txtMake = someoneNotWorking.getElement('select[id=txtMake1]');
	txtMake.removeEvents('change').addEvent('change', function(){
		if(txtWizardSomeone){
			var urlParamater = baseurl +'/wizard/getmanuf/id/' +this.value +'/year/'+someoneNotWorking.getElement('select[id=txtYear1]').value;
		}else{
			var urlParamater = baseurl +'/myplan/getmanuf/id/' +this.value +'/year/'+someoneNotWorking.getElement('select[id=txtYear1]').value;
		}
		var jsonRequest = new Request.JSON({url: urlParamater, 
			onComplete: function(dataJson){
				if(!dataJson){
					window.location = baseurl;
					return;
				}	
				var txtModel = someoneNotWorking.getElement('select[id=txtModel1]');
				deleteOption(txtModel);
				var txtOption = someoneNotWorking.getElement('select[id=txtOption1]');
				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 = someoneNotWorking.getElement('select[id=txtModel1]');
	txtModel.removeEvents('change').addEvent('change', function(){
		if(txtWizardSomeone){
			var urlParamater = baseurl +'/wizard/getfeature/id/' +this.value +'/year/'+someoneNotWorking.getElement('select[id=txtYear1]').value;
		}else{
			var urlParamater = baseurl +'/myplan/getfeature/id/' +this.value +'/year/'+someoneNotWorking.getElement('select[id=txtYear1]').value;
		}
		var jsonRequest = new Request.JSON({url: urlParamater, 
			onComplete: function(dataJson){
					if(!dataJson){
						window.location = baseurl;
						return;
					}	
					var txtOption = someoneNotWorking.getElement('select[id=txtOption1]');
					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();
	});
}

var initMyPlanFlag = new Array(100);
for(var i = 0; i < initMyPlanFlag.length; i++ ){
	initMyPlanFlag[i] = 0;
}

function initMyPlan() {
	var form = $('frmMyLan');
	if(!form) {
		form = $('frmMyLanNew');
		if(!form) return true;
	}
	//--------------------------------------
	
	//get all td has class headerIniatiative
	var headerMyPlan = $$('.headerMyPlan');	
	var oldFormOpen = '';
	//each
	headerMyPlan.each(function(el, index) {		
		//set pointer for td elements		
		el.getElements('td').setStyle('cursor' , 'pointer');
		el.isClicked = false;
		//addEvent click for td
		var tdItem = el.getElements('td')[1];
		
		tdItem.removeEvents().addEvent('click' , function(evt) {
			if(evt) evt.stop();
			if(!el.isClicked && initMyPlanFlag[index] == 0){
				el.isClicked = true;				
				for(var i = 0; i < initMyPlanFlag.length; i++ ){
					initMyPlanFlag[i] = 0;
				}
				initMyPlanFlag[index]++;
				headerMyPlan.each(function(tr, i) {
					tr.getElements('td').setStyle('cursor' , 'pointer');
					if(i != index) {
						headerMyPlan[i].isClicked = false;
					}
				});
				//display form
				if(this.getParent('div#divWeek')) {
					clickDivWeek = 1;
				} else {
					clickDivWeek = 0;
				}
				if(oldFormOpen!='')
					$(oldFormOpen).style.display = 'none';			
				//CALL ajax
				var nameForm = this.getElement('input').value;
				var form = $(document.forms[""+ nameForm+""]);
				var idForm = nameForm.split("track")[1];
				var valueuseraction = "";
				if(this.getElement('input[name=useraction_id]')) {
					valueuseraction = this.getElement('input[name=useraction_id]').value;
				}
				var frequencyuser_id = "";
				if(this.getElement('input[name=frequencyuser_id]')) {
					frequencyuser_id = this.getElement('input[name=frequencyuser_id]').value;
				}
				var frequencyschedule_id = "";
				if(this.getElement('input[name=frequencyschedule_id]')) {
					frequencyschedule_id = this.getElement('input[name=frequencyschedule_id]').value;
				}
				//var theDayDue = null;
				var theDayDue = this.getNext().getElement('input').value;
				var Frequency = this.getNext().getNext().get("text");
				var parentType = this.getParent().getParent().getParent().getParent().id;
				var nextOrPre;
				callAjaxShowFormMyPlan(this.getElement('input[name=actioncomp_id]').value, form , idForm, valueuseraction, theDayDue, nextOrPre, Frequency, parentType, frequencyuser_id, frequencyschedule_id);
				oldFormOpen = nameForm;
				//--------end
				//hide div with id=myplanContentBloc
				$('myplanContentBloc').setStyle('display', 'none');
				form.getElement('input[name=actioncomp_id]').value = this.getElement('input[name=actioncomp_id]').value;
				//if(form.getElement('input[name=useraction_id]'))form.getElement('input[name=useraction_id]').value = this.getElement('input[name=useraction_id]').value;
				//if(this.getElement('input[name=checknew]').value == "New") {
				if(this.getElement('input[name=checknew]').value == '1') {					
					callAjaxMyPlanUpdate(this.getParent());
				}
				//if close then return true;			
				if(this.hasClass('closed')){
					return true;
				}			
				if(this.hasClass('active')) {
					this.removeClass('active');
					
					$$('.tdActive')[0].setStyles({'top': '-2000px'});
					removeActiveTRheaderMyPlan(el);				
					el.getElements('select').each(function(_el) {
						_el.removeClass('actived');
					});				
				} else {
					this.addClass('active');
					el.getElements('select').each(function(_el) {
						_el.addClass('actived');
					});
					setTimeout(function(){						
						var coords = el.getCoordinates($('main'));
						var valueHeight = coords.height;
						$$('.tdActive')[0].setStyles({'top': coords.top, left: coords.left - 30, 'height' : valueHeight});
						
					},100);				
					
					activeTRheaderMyPlan(el);			
				}
				el.getElements('td').setStyle('cursor' , 'default');
			}
		});
		
		var arrElTds = el.getElements('td');
		arrElTds.each(function(item, indexTd){
			if(indexTd != 1) {
				item.addEvent("click", function(e){
					if(e) e.stop();					
					tdItem.fireEvent("click");	
				});
			}
		});
		//set class hover for td class name is tdHover;
		el.addEvents({
			'mouseenter' : function(evt) {
				this.getChildren('td').addClass('tdHover');
			},
			'mouseleave' : function(evt){
				this.getChildren('td').removeClass('tdHover');
			}
		});
	});
}
/*-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init call ajax show form for my plan,
	@paramater element > id, form, id form, value user action, the date , next or pre and Frequency
	@return null
-------------------------------------------------------------------------------------------*/

function callAjaxShowFormMyPlan(id , form , idForm , valueuseraction, theDayDue, nextOrPre, Frequency, parentType, frequencyuser_id, frequencyschedule_id) {	
	if(idForm =="") {
		//var _url = baseurl+"/form/formwork"+idForm+"/id/"+valueuseraction;
		var _url = baseurl+"/form/formwork"+idForm+"/actioncomp_id/"+id+"/frequency/"+Frequency + "/frequencyuser_id/" + frequencyuser_id + "/frequencyschedule_id/" + frequencyschedule_id;
	}
	else {
		if(typeof (nextOrPre) != "undefined") {
			var _url = baseurl+"/form/formwork"+idForm+"/actioncomp_id/"+id+"/duedate/"+theDayDue+"/day/"+nextOrPre+"/frequency/"+Frequency + "/frequencyuser_id/" + frequencyuser_id + "/frequencyschedule_id/" + frequencyschedule_id;
		} else {
			var _url = baseurl+"/form/formwork"+idForm+"/actioncomp_id/"+id+"/duedate/"+theDayDue+"/frequency/"+Frequency + "/frequencyuser_id/" + frequencyuser_id + "/frequencyschedule_id/" + frequencyschedule_id;
		}	
	}
	
	var request = new Request({
		url: _url,
		method: 'get',		
		onRequest:	function(e){
			//do somthing
			form.getElement('div.dashboardOverview').set('html', '');
			showHideGeneralLoading('loading...', 1);
		},		
		onSuccess: function(responseText, responseXML) {
			if(/DOCTYPE/i.test(responseText)){
				window.location = baseurl;
				return;
			}			
			var data = responseText + '';			
			//go to top			
			new Fx.Scroll(window, {
				offset: {
					'x': 0,
					'y': 100
				}
			}).toTop();
			
			setTimeout(function(){				
				showHideGeneralLoading('loading...', 0);			
				form.getElement('div[class=dashboardOverview]').set('html', data);
				initChangeOption();				
				checkStatusSave(form); 
				initFormCheckFormTo(form, _url, id, idForm);
			},1000);	
			
			var arrForm = form.getParent().getElements('form');
			setTimeout(function(){
				for(var i = 0 ; i< arrForm.length ; i++) {
					if(arrForm[i] == form) {
						arrForm[i].style.display = 'block';	
					} else {
						arrForm[i].style.display = 'none';	
					}
				}
				/////////////////				
				initUpdateForDate(id, form, idForm, parentType);			
				
				//update active cell of dueDate
				//initUpdateCellDueDate(form, nextOrPre);
				initChangeTransport();
				if(idForm =="") {
					loadCalenda();				
				} else {
					loadCalenda_disabledate();
				}
				new imagePreset();
				
			},1100);
			
			//update for :: Due Date & Status(overdue count)
			setTimeout(function(){
				if(id){
					if(!parentType) {
						if($$('tr.actived')[0]) var parentType = $$('tr.actived')[0].getParent().getParent().getParent().id;
					}
					
					if(parentType == 'loadOverdue') {
						var dueDateUpdateID = $('dueDateUpdate' + id);
						var dueDateID = $('dueChange' + id);
						if(dueDateID) {
							var dueDate = form.getElement('input[name=duedate]');
							if(typeof (nextOrPre) != "undefined") {
								if(dueDate) dueDateID.set('value', dueDate.value);
							}
							if(dueDateUpdateID) {
								var dueDateUpdate = form.getElement('input[name=dueDateUpdate]');
								if(typeof (nextOrPre) != "undefined") {
									if(dueDateUpdate) dueDateUpdateID.set('html', dueDateUpdate.value);
								}
							}
						}
					} else if(parentType == 'divWeek') {
						var dueWeekUpdateID = $('dueWeekUpdate' + id);
						var dueChangeWeekID = $('DueChangeWeek' + id);
						if(dueChangeWeekID) {
							var existdata = form.getElement('input[name=existdata]');
							var weeklyFrequency = false;
							if(/Weekly/i.test(dueChangeWeekID.getParent().getNext().innerHTML)) {
								weeklyFrequency = true;
							}
							//update Due date for current week							
							var dueDate = form.getElement('input[name=duedate]');
							if(typeof (nextOrPre) != "undefined") {
								if(dueDate && weeklyFrequency == true) dueChangeWeekID.set('value', dueDate.value);
							}
							if(dueWeekUpdateID) {
								var dueDateUpdate = form.getElement('input[name=dueDateUpdate]');								
								if(typeof (nextOrPre) != "undefined") {
									if(dueDateUpdate) dueWeekUpdateID.set('html', dueDateUpdate.value);
								}
							}
							
							var saveCount = 0;
							$$('.daycheckInput').each(function(input){
								if(input.checked){
									saveCount++;
								}
							});		
							if(saveCount == 7) {								
								if($$('tr.actived')[0].getElements('td')[4]) {
									var completedDate = form.getElement('input[name=completedDate]');
									
									if(!$$('tr.actived')[0].getElements('td')[4].getElement('strong')) 
										if(completedDate) {											
											if(existdata.value.trim() == '1') {												
												$$('tr.actived')[0].getElements('td')[4].set('html', 'Completed on ' + completedDate.value);
											}
										}
								}
							} else {
								/*
								if(weeklyFrequency) {
									if(!$$('tr.actived')[0].getElements('td')[4].getElement('strong')) $$('tr.actived')[0].getElements('td')[4].set('html', saveCount + ' of 7 days completed');
								}
								*/
								if(idForm == '11') {
									if(!$$('tr.actived')[0].getElements('td')[4].getElement('strong')) $$('tr.actived')[0].getElements('td')[4].set('html', saveCount + ' of 7 days completed');
								} else {
									if(completedDate) {													
										$$('tr.actived')[0].getElements('td')[4].set('html', 'Completed on ' + completedDate.value);
									}
									$$('tr.actived')[0].addClass('closed');
								}
								
								
							}
								}
					}

					//frequency one-time					
				}
			},1200);	
		},

		onFailure:function(instance){
			//
		}
	});	
	request.send();
}

/*-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init call ajax update date,
	@paramater element > id, form and id form
	@return null
-------------------------------------------------------------------------------------------*/

function initUpdateForDate(id, form, idForm, parentType)  {	
	var updateHighlight = form.getElement('div.updateHighlight');
	if(!updateHighlight) {
		return true;		
	}	
	var btnPre = form.getElement('p.btnPrev');
	var btnNext = form.getElement('p.btnNext');
	var valueuseraction = "";
	btnPre.removeEvents().addEvent('click', function(evt){
		evt.stop();
		var theDayDue = form.getElement('input[name=duedate]').value;
		var Frequency = form.getElement('input[name=frequency]').value;
		var nextOrPre = -1;
		callAjaxShowFormMyPlan(id , form , idForm , valueuseraction, theDayDue, nextOrPre, Frequency, parentType, form.getElement('input[name=frequencyuser_id]').value, form.getElement('input[name=frequencyschedule_id]').value);
	});
	
	btnNext.removeEvents().addEvent('click', function(evt){
		evt.stop();
		var theDayDue = form.getElement('input[name=duedate]').value;
		var Frequency = form.getElement('input[name=frequency]').value;
		var nextOrPre = 1;
		callAjaxShowFormMyPlan(id , form , idForm , valueuseraction, theDayDue, nextOrPre, Frequency, parentType, form.getElement('input[name=frequencyuser_id]').value, form.getElement('input[name=frequencyschedule_id]').value);
		
	});
}

/*-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init active cell for dueDate,
	@paramater element > form
	@return null
-------------------------------------------------------------------------------------------*/

function initUpdateCellDueDate(form, nextOrPre)  {	
	if(!form.getElement('div.updateHighlight')) return;
	var selectDate = form.getElement('div.updateHighlight').getElement('input[name=duedate]').value;		
	activeCellWeekDueDate(selectDate, nextOrPre);
}

/*-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init call ajax change transport
	@paramater null
	@return null
-------------------------------------------------------------------------------------------*/

function initChangeTransport() {
	if($('txtTransport9')) {
		$('txtTransport9').removeEvents().addEvent('change' , function() {
			if(this.value == "") {
				return true;
			}
			var urlParamater = baseurl + '/myplan/getofficesetup/id/'+this.value;
			var jsonRequest = new Request.JSON({url: urlParamater, 
				onComplete: function(data){					
					if(!data){
						window.location = baseurl;
						return;
					}	
				    if(data.length > 0) {
						// for(var i = 0 ; i < $('txtCompanyVehicle19').options.length ; i++) {
							// if($('txtCompanyVehicle19').options[i].value.trim() == data[0].fuel){
								// $('txtCompanyVehicle19').options[i].selected = true;
							// }					
						// }
						// $('txtTransportMPG9').value = data[0].mpg;
						
						$("track9").getElement('input[name=officesetup_id]').value = data[0].id;	
						$("track9").getElement('input[name=fuel]').value = data[0].fuel;	
						$("track9").getElement('input[name=mpg]').value = data[0].mpg;	
					}
			}}).post();
		});
	}
}

/*-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init active tr for table
	@paramater element > tr
	@return null
-------------------------------------------------------------------------------------------*/

function activeTRheaderMyPlan(elTr)	{
	//get all td has class headerIniatiative
	var headerIniatiative = $$('.headerMyPlan');
	for(var i = 0 ; i < headerIniatiative.length ; i++){
		if(headerIniatiative[i] == elTr) {
			headerIniatiative[i].addClass('actived');
			var arrTd = headerIniatiative[i].getElements('td');
			arrTd.each(function(elTd, index){
				if(index == 0){
					elTd.addClass('firstActive');
				}
				if(index == arrTd.length - 1){
					elTd.addClass('lastActive');
				}
				elTd.addClass('active');
			});
			if(headerIniatiative[i-1]) {
				//headerIniatiative[i-1].getElements('td').setStyle('border-bottom' , 'none');
			}
			headerIniatiative[i].getElements('td').setStyle('border-bottom' , '1px solid #F86F41');
			if(!headerIniatiative[i].getPrevious()){
				headerIniatiative[i].getParent().getPrevious().getElements('th').setStyles({
					//'padding' : '2px 5px',
					'border-bottom' : 'none'
				});
			} else {
				headerIniatiative[i].getParent().getPrevious().getElements('th').setStyles({
					//'padding' : '3px 5px',
					'border-bottom' : '1px solid #D7D7D7'
				});
			}
		} else {
			if(headerIniatiative[i].hasClass('actived')) {
				if(headerIniatiative[i - 1]) {
					var arrTdbefore = headerIniatiative[i - 1].getElements('td');
					if(!arrTdbefore[0].hasClass('active'))
						arrTdbefore.setStyle('border-bottom' , '1px solid #D7D7D7');
				}
				headerIniatiative[i].getElements('td').setStyle('border-bottom' , '1px solid #D7D7D7');
				if(i == 0 && $('frmMyLan')) {
					$('frmMyLan').getElement('thead').getElements('th').setStyle('border-bottom' , '1px solid #D7D7D7');
				}
			}
			headerIniatiative[i].removeClass('actived');
			var arrTd = headerIniatiative[i].getElements('td');
			headerIniatiative[i].getElements('select').each(function(_el) {
				_el.removeClass('actived');
			});			
			arrTd.each(function(elTd, index){
				if(index == 0){
					elTd.removeClass('firstActive');
				}
				if(index == arrTd.length-1){
					elTd.removeClass('lastActive');
				}
				elTd.removeClass('active');
			});			
		}
		
	}
	//remove class actionbold for same row	
	var arrTDs = document.getElementByIds(elTr.getElements('td')[1].id);
	if(elTr.getElements('td')[1].hasClass('actionbold')) {		
		if(arrTDs.length > 1) {
			for(var i = 0; i < arrTDs.length; i++ ){				
				arrTDs[i].removeClass('actionbold');
			}
		} else {
			elTr.getElements('td')[1].removeClass('actionbold');
		}
	}
	
	//get Active due day
	if(elTr.getElements('td')[2].getElement('input[name=duedate]')) {
		currentDueDate = elTr.getElements('td')[2].getElement('input[name=duedate]').value;
	} else if(elTr.getElements('td')[2].getElement('input[name=due_date]')) {
		currentDueDate = elTr.getElements('td')[2].getElement('input[name=due_date]').value;
	} 
	
	//active cell due date by current duedate
	if(elTr.getParent().getParent().getParent().id != 'loadNextAction') {
		activeCellWeekDueDate(currentDueDate);		
	} else {
		activeCellDueDateUpcoming(currentDueDate);
	}
}
function removeActiveTRheaderMyPlan(elTr)	{
	//get all td has class headerIniatiative
	var headerIniatiative = $$('.headerMyPlan');
	for(var i = 0 ; i < headerIniatiative.length ; i++){
		headerIniatiative[i].removeClass('actived');
		var arrTd = headerIniatiative[i].getElements('td');
		arrTd.each(function(elTd, index) {
			if(index == 0){
				elTd.removeClass('firstActive');
			}
			elTd.removeClass('lastActive');
			elTd.removeClass('active');
		});
		if(headerIniatiative[i] == elTr) {
			if(headerIniatiative[i - 1]) {
				headerIniatiative[i - 1].getElements('td').setStyle('border-bottom' , '1px solid #D7D7D7');				
			}
			headerIniatiative[i].getElements('td').setStyle('border-bottom' , '1px solid #D7D7D7');
		}
	}	
}
/**-----------------------------------------------------------------------------------------
	@write HP
	@init check status element
	@paramater frm element
	@return null
-------------------------------------------------------------------------------------------**/
function checkStatusSave(frm){
	//check status existdata
	if(!frm) return true;
	var btnSave = frm.getElement('.btnUpdate');
	var existdata = frm.getElement('input[id=existdata]');	
	if(existdata) {
		if(existdata.value.trim() == '1') {
			allElementsEditable(frm, btnSave);			
			setInactiveBtn(btnSave);			
		} else {
			setNormalBtn(btnSave);
		}
	}
}

/*-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init change option of form myplan, show form 
	@paramater null
	@return null
-------------------------------------------------------------------------------------------*/

function initChangeOption() {
	if(!$('frmMyLan')) {
		return true;
	}
	var track11Form = $(document.forms["track11"]);
	/*-----track11-----------*/
	if(track11Form){
		var arrDays = track11Form.getElements('div.optionCommuteShowHide');
		arrDays.each(function(aDay, index){
			var txtTransport = aDay.getElement('select[id=txtTransport]');
			if(txtTransport) {
				aDay.hide = aDay.getElements('.showHide');
				txtTransport.addEvent('change', function() {					
					if(this.value == 14){
						aDay.hide.addClass('hide');
					} else if(this.value == 13){
						aDay.hide.addClass('hide');
						aDay.hide[0].removeClass('hide');
					} else if(this.value == 12){
						aDay.hide.addClass('hide');
						aDay.hide[5].removeClass('hide');
					} else if(this.value == 11){
						aDay.hide.addClass('hide');
						aDay.hide[4].removeClass('hide');
					} else if(this.value == 22){
						aDay.hide.addClass('hide');
						aDay.hide[4].removeClass('hide');
					} else if(this.value == 33){
						aDay.hide.addClass('hide');
						aDay.hide[4].removeClass('hide');
					} else if(this.value == 44){
						aDay.hide.addClass('hide');
						aDay.hide[4].removeClass('hide');
					} else if(this.value == 55){
						aDay.hide.addClass('hide');
						aDay.hide[4].removeClass('hide');
					} else if(this.value == 66){
						aDay.hide.addClass('hide');
						aDay.hide[4].removeClass('hide');
					} else if(this.value == 77){
						aDay.hide.addClass('hide');
						aDay.hide[4].removeClass('hide');
					} else if(this.value == 88){
						aDay.hide.addClass('hide');
						aDay.hide[4].removeClass('hide');
					} else if(this.value == 10){
						aDay.hide.addClass('hide');
						aDay.hide[3].removeClass('hide');
					} else if(this.value == 20){
						aDay.hide.addClass('hide');
						aDay.hide[3].removeClass('hide');
					} else if(this.value == 30){
						aDay.hide.addClass('hide');
						aDay.hide[3].removeClass('hide');
					} else if(this.value == 40){
						aDay.hide.addClass('hide');
						aDay.hide[3].removeClass('hide');
					} else if(this.value == 50){
						aDay.hide.addClass('hide');
						aDay.hide[3].removeClass('hide');
					} else if(this.value == 60){
						aDay.hide.addClass('hide');
						aDay.hide[3].removeClass('hide');
					} else if(this.value == 70){
						aDay.hide.addClass('hide');
						aDay.hide[3].removeClass('hide');
					} else if(this.value == 80){
						aDay.hide.addClass('hide');
						aDay.hide[3].removeClass('hide');
					} else if(this.value == 90){
						aDay.hide.addClass('hide');
						aDay.hide[3].removeClass('hide');
					}else if(this.value == 2 || this.value == 3){
						aDay.hide.addClass('hide');
						aDay.hide[2].removeClass('hide');					
					} else if(this.value == 99 || this.value == 5){
						aDay.hide.addClass('hide');
						aDay.hide[1].removeClass('hide');
					} else if(this.value == 9 ){
						aDay.hide.addClass('hide');
						aDay.hide[6].removeClass('hide');
					} else if(this.value == 18 ){
						aDay.hide.addClass('hide');
						aDay.hide[6].removeClass('hide');
					} else if(this.value == 36 ){
						aDay.hide.addClass('hide');
						aDay.hide[6].removeClass('hide');
					} else if(this.value == 45 ){
						aDay.hide.addClass('hide');
						aDay.hide[6].removeClass('hide');
					} else if(this.value == 54 ){
						aDay.hide.addClass('hide');
						aDay.hide[6].removeClass('hide');
					} else if(this.value == 8 || this.value == 7 || this.value == 6){
						aDay.hide.addClass('hide');
						aDay.hide[3].removeClass('hide');
					} else if(this.value == 4){
						aDay.hide.addClass('hide');
						aDay.hide[0].removeClass('hide');
					} else {
						aDay.hide.addClass('hide');						
					}
				});
			}
		});
	
	}
	
	//------------------------5-----------------
	var track5Form = $(document.forms["track5"]);
	//Did not travel :: start
	var txtCommute5 = track5Form.getElement('input[id=txtCommute]');
	var showHideCommute5 = track5Form.getElement('div[id=showHideCommute]');		
	if(txtCommute5 && showHideCommute5) {
		//check status 
		if(txtCommute5.checked){
			showHideCommute5.setStyle("opacity", _opacityLoading);
			if(Browser.Engine.trident4) {
				showHideCommute5.getElements('select').setStyle('visibility', 'hidden');
			}
			allElementsDisable(showHideCommute5, 0);	
		} else {					
			showHideCommute5.setStyle("opacity", 1);
			if(Browser.Engine.trident4) {
				showHideCommute5.getElements('select').setStyle('visibility', 'visible');
			}
			allElementsDisable(showHideCommute5, 1);
		}
		//add event
		txtCommute5.addEvent('click' , function(){
			if(this.checked){
				showHideCommute5.setStyle("opacity", _opacityLoading);
				if(Browser.Engine.trident4) {
					showHideCommute5.getElements('select').setStyle('visibility', 'hidden');
				}
				allElementsDisable(showHideCommute5, 0);	
			} else {					
				showHideCommute5.setStyle("opacity", 1);
				if(Browser.Engine.trident4) {
					showHideCommute5.getElements('select').setStyle('visibility', 'visible');
				}
				allElementsDisable(showHideCommute5, 1);
			}
		});
	}
	//Did not travel :: end
	
	
	//------------------------8-----------------
	var track8Form = $(document.forms["track8"]);
	//Did not travel :: start
	var txtCommute8 = track8Form.getElement('input[id=txtCommute]');
	var showHideCommute8 = track8Form.getElement('div[id=showHideCommute]');		
	if(txtCommute8 && showHideCommute8) {
		//check status 
		if(txtCommute8.checked){
			showHideCommute8.setStyle("opacity", _opacityLoading);
			if(Browser.Engine.trident4) {
				showHideCommute8.getElements('select').setStyle('visibility', 'hidden');
			}
			allElementsDisable(showHideCommute8, 0);	
		} else {					
			showHideCommute8.setStyle("opacity", 1);
			if(Browser.Engine.trident4) {
				showHideCommute8.getElements('select').setStyle('visibility', 'visible');
			}
			allElementsDisable(showHideCommute8, 1);
		}
		//add event
		txtCommute8.addEvent('click' , function(){
			if(this.checked){
				showHideCommute8.setStyle("opacity", _opacityLoading);
				if(Browser.Engine.trident4) {
					showHideCommute8.getElements('select').setStyle('visibility', 'hidden');
				}
				allElementsDisable(showHideCommute8, 0);	
			} else {					
				showHideCommute8.setStyle("opacity", 1);
				if(Browser.Engine.trident4) {
					showHideCommute8.getElements('select').setStyle('visibility', 'visible');
				}
				allElementsDisable(showHideCommute8, 1);
			}
		});
	}
	//Did not travel :: end
	
	var idOption8 = track8Form.getElement('select[id=txtBusinessTravel1]');
	if(idOption8)	{	
		var hide8 = track8Form.getElements('div.showHide');
		var txtVehicle8 = track8Form.getElement('input[id=txtVehicle]');
		var aNodeVehicleNotList8 = track8Form.getElement('p[id=vehiclenotlist]');
		
		idOption8.addEvent('change', function(){
			if(this.value != 9){
				txtVehicle8.checked = false;
			} else {
				txtVehicle8.checked = true;
			}
			if(this.value == 1) {
				hide8[0].setStyle('display' , 'block');
				hide8[1].setStyle('display' , 'none');
				hide8[2].setStyle('display' , 'none');
				hide8[3].setStyle('display' , 'none');
			} else if(this.value == 2 || this.value == 3) {
				hide8[0].setStyle('display' , 'none');
				hide8[1].setStyle('display' , 'none');
				hide8[2].setStyle('display' , 'none');
				hide8[3].setStyle('display' , 'block');
			} else if(this.value == 4) {
				hide8[0].setStyle('display' , 'none');
				hide8[1].setStyle('display' , 'block');
				hide8[2].setStyle('display' , 'none');
				hide8[3].setStyle('display' , 'none');
			} else if(this.value == 9) {
				hide8[0].setStyle('display' , 'none');
				hide8[1].setStyle('display' , 'none');
				hide8[2].setStyle('display' , 'block');
				hide8[3].setStyle('display' , 'none');
			}
			else {
				hide8[0].setStyle('display' , 'none');
				hide8[1].setStyle('display' , 'none');
				hide8[2].setStyle('display' , 'none');
			}
			
			if(this.value == 9 || this.value == 1){
				aNodeVehicleNotList8.setStyle('display' , 'block');
			} else {
				aNodeVehicleNotList8.setStyle('display' , 'none');
			}
		});
		
		txtVehicle8.addEvent('click' , function(){
			if(this.checked){
				if(idOption8.value != 1) {
					idOption8.options[idOption8.options.length - 1].selected = true;
				}
				hide8[0].setStyle('display' , 'none');
				hide8[1].setStyle('display' , 'none');
				hide8[2].setStyle('display' , 'block');
				hide8[3].setStyle('display' , 'none');
				
			}else {
				hide8[0].setStyle('display' , 'block');
				hide8[2].setStyle('display' , 'none');
				hide8[3].setStyle('display' , 'none');
				idOption8.options[0].selected = true;
			}
		});
		
		var idYear = track8Form.getElement('select[id=txtYear]');
		idYear.addEvent('change', function(){
			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 = track8Form.getElement('select[id=txtMake]');
					deleteOption(txtMake);
					var txtModel = track8Form.getElement('select[id=txtModel]');
					if(txtModel){
						deleteOption(txtModel);
						var txtOption = track8Form.getElement('select[id=txtOption]');
						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 txtModel11 = $('track11').getElement('select[id=txtModel]');
						if(txtModel11){
							deleteOption(txtModel11);
							for(var i = 0 ; i < dataJson.data.length ; i++) {								
								txtModel11.options[i+1] = new Option(dataJson.data[i].model_car, dataJson.data[i].model_id);					
							}
						}
						deleteOptionNUll(txtModel11);
					}
					
			}}).post();
		});
		var txtMake = track8Form.getElement('select[id=txtMake]');
		txtMake.addEvent('change', function(){
			var urlParamater = baseurl +'/myplan/getmanuf/id/' +this.value +'/year/'+track8Form.getElement('select[id=txtYear]').value;
			var jsonRequest = new Request.JSON({url: urlParamater, 
				onComplete: function(dataJson){
					if(!dataJson){
						window.location = baseurl;
						return;
					}	
					var txtModel = track8Form.getElement('select[id=txtModel]');
					deleteOption(txtModel);
					var txtOption = track8Form.getElement('select[id=txtOption]');
					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 = track8Form.getElement('select[id=txtModel]');
		txtModel.addEvent('change', function(){
			var urlParamater = baseurl +'/myplan/getfeature/id/' +this.value +'/year/'+track8Form.getElement('select[id=txtYear]').value;
			var jsonRequest = new Request.JSON({url: urlParamater, 
				onComplete: function(dataJson){
						if(!dataJson){
							window.location = baseurl;
							return;
						}	
						var txtOption = track8Form.getElement('select[id=txtOption]');
						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();
		});
		//end of track8
	} 
	
	//-----------------------------9---------------
	var track9Form = $(document.forms["track9"]);
	var hide9 = track9Form.getElements('div.showHide');
	var txtVehicle9 = track9Form.getElement('input[id=txtVehicle]');
	if(txtVehicle9)	{		
		txtVehicle9.addEvent('click' , function(){
			if(this.checked){
				hide9[0].setStyle('display' , 'none');
				hide9[1].setStyle('display' , 'block');
			} else {
				hide9[0].setStyle('display' , 'block');
				hide9[1].setStyle('display' , 'none');
			}
		});
		
		var idYear = track9Form.getElement('select[id=txtYear]');
		idYear.removeEvents('change').addEvent('change', function(){
			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 = track9Form.getElement('select[id=txtMake]');
						deleteOption(txtMake);
						var txtModel = track9Form.getElement('select[id=txtModel]');
						deleteOption(txtModel);
						var txtOption = track9Form.getElement('select[id=txtOption]');
						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 = track9Form.getElement('select[id=txtModel]');
						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 = track9Form.getElement('select[id=txtMake]');
		txtMake.removeEvents('change').addEvent('change', function(){
			var urlParamater = baseurl +'/myplan/getmanuf/id/' +this.value +'/year/'+track9Form.getElement('select[id=txtYear]').value;
			var jsonRequest = new Request.JSON({url: urlParamater, 
				onComplete: function(dataJson){
						if(!dataJson){
							window.location = baseurl;
							return;
						}	
						var txtModel = track9Form.getElement('select[id=txtModel]');
						deleteOption(txtModel);
						var txtOption = track9Form.getElement('select[id=txtOption]');
						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 = track9Form.getElement('select[id=txtModel]');
		txtModel.removeEvents('change').addEvent('change', function(){
			var urlParamater = baseurl +'/myplan/getfeature/id/' +this.value +'/year/'+track9Form.getElement('select[id=txtYear]').value;
			var jsonRequest = new Request.JSON({url: urlParamater, 
				onComplete: function(dataJson){
						var txtOption = track9Form.getElement('select[id=txtOption]');
						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();
		});
	}
	//-----------------------------10---------------
	var track10Form = $(document.forms["track10"]);	
	//Did not travel :: start
	if(track10Form) {		
		var txtCommute10 = track10Form.getElement('input[id=txtCommute]');
		var showHideCommute = track10Form.getElement('div[id=showHideCommute]');		
		if(txtCommute10 && showHideCommute) {
			//check status
			if(txtCommute10.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
			txtCommute10.addEvent('click' , function(){
				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);
				}
			});
		}	
	}
	//Did not travel :: end
}

/*-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init toolTips
	@paramater null
	@return null
-------------------------------------------------------------------------------------------*/

function tooltipPopup() {
	var customTips = $$('.GreenTooltip'); 
	var toolTips = new Tips(customTips, {
		showDelay: 100,    //default is 100
		hideDelay: 100,   //default is 100
		className: 'toolTips', //default is null
		offsets: {
			'x': 10,       //default is 16
			'y': 10        //default is 16
		},
		fixed: false,
		onShow: function(toolTipElement){
			//create ifram for ie6
				var coords = $$('.toolTips')[0].getCoordinates();
				if(!$("maskGreenTooltip")) {
					var maskGreenTooltip = new Element("iframe").setProperties({
							id: "maskGreenTooltip",
							frameborder: 'no'
						}).setStyles({
							width: "100%", 
							height: coords.height,
							width: coords.width + 3,	
							position: "absolute", 
							top: coords.top, 
							left: coords.left,
							zIndex:998,
							'position' : 'absolute',
							'opacity': '0.01'
						}).injectBefore($$(".toolTips")[0]);
				} else {
					$('maskGreenTooltip').setStyles({
						'top' : coords.top,
						'left' : coords.left,
						'width' : coords.width + 3,
						'height' : coords.height
					});
				}
			toolTipElement.fade(.8);
		},
		onHide: function(toolTipElement){
			toolTipElement.fade(0);			
			//remove iframe
				setTimeout(function(){
					if($('maskGreenTooltip')) $('maskGreenTooltip').setStyles({'top' : '-1500px' , 'left' : '-1500px'});
				} , 200);
		}
	});
}

/*-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init auto check box
	@paramater element popup, id label -> get parent -
	@return null
-------------------------------------------------------------------------------------------*/

function setCheckBoxLayerAssgin(idLabel , thisObj) {
	
	//set check box for people or team	
	if(idLabel) {
		var tr = $(idLabel).getParent().getParent();
		var arrImg = $(thisObj).getElement('div.tabMenu').getElement('ul').getElements('img');
		var arrtabContent = $(thisObj).getElements('div.tabContent');
	}
	else {
		if($('layerAction')) {
			var tr = $('txtUser').getParent();
			var arrImg = $('layerAction').getElement('div.tabMenu').getElement('ul').getElements('img');
			var arrtabContent = $('layerAction').getElements('div.tabContent');
		}
	}
	if(!tr) return;
	var people = tr.getElement('input[name=people]').value;	
	var valuecheckboxid = tr.getElement('input[name=list_id]').value;
	var arrValueCheckboxid = valuecheckboxid.split(',');
	var arrCheckBoxPeople = arrtabContent[0].getElements('input[type=checkbox]');
	arrCheckBoxPeople.each(function(el) {
		el.checked = false;
	});
	if($("layerVehicle") && thisObj == $("layerVehicle")) {		
		arrCheckBoxPeople.each(function(el) {
			for(var i = 0; i<arrValueCheckboxid.length ; i++){
				if(arrValueCheckboxid[i] == el.value) {
					el.checked = true;
					temp++;
				}
			}
		});		
		if(temp == arrCheckBoxPeople.length-1) {
			arrCheckBoxPeople[0].checked = true;
		}
		totalCheck[0] = temp;
		$('people').value = 'people';
		return false;
	}
	var arrCheckBoxTeam = arrtabContent[1].getElements('input[type=checkbox]');
	arrCheckBoxTeam.each(function(el) {
		el.checked = false;
	});
	
	var temp = 0;
	if(people == "people") {
		arrImg[0].addClass('imgSelected');
		arrImg[1].removeClass('imgSelected');
		arrtabContent[0].setStyle('display' , 'block');
		arrtabContent[1].setStyle('display' , 'none');
		//set img
	    var srcImg = arrImg[0].src;
	    var srcImgNew = srcImg.replace('_n.gif' ,'_o.gif' );
	    arrImg[0].src = srcImgNew; 		   
		//set img
	    var srcImg = arrImg[1].src;
	    var srcImgNew = srcImg.replace('_o.gif' ,'_n.gif' );
	    arrImg[1].src = srcImgNew;		
		arrCheckBoxPeople.each(function(el) {
			for(var i = 0; i<arrValueCheckboxid.length ; i++){
				if(arrValueCheckboxid[i] == el.value) {
					el.checked = true;
					temp++;
				}
			}
		});
		
		if(temp == arrCheckBoxPeople.length-1) {
			arrCheckBoxPeople[0].checked = true;
		}
		totalCheck[0] = temp;
		$('people').value = 'people';		
	} else {	
		arrImg[1].addClass('imgSelected');
		arrImg[0].removeClass('imgSelected');
		arrtabContent[1].setStyle('display' , 'block');
		arrtabContent[0].setStyle('display' , 'none');
		//set img
	    var srcImg = arrImg[1].src;
	    var srcImgNew = srcImg.replace('_n.gif' ,'_o.gif' );
	    arrImg[1].src = srcImgNew;
		//set img
	    var srcImg = arrImg[0].src;
	    var srcImgNew = srcImg.replace('_o.gif' ,'_n.gif' );
	    arrImg[0].src = srcImgNew;
		arrCheckBoxTeam.each(function(el) {
			for(var i = 0; i<arrValueCheckboxid.length ; i++){
				if(arrValueCheckboxid[i].trim() == el.value.trim()) {
					el.checked = true;
					temp++;
				} 
			}
		});
		if(temp == arrCheckBoxTeam.length-1) {
			arrCheckBoxTeam[0].checked = true;
		}
		
		totalCheck[1] = temp;
		$('people').value = 'team';			
	}	
}

/*-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init call ajax change content
	@paramater element > tr
	@return null
-------------------------------------------------------------------------------------------*/

function changData(element) {
	var value = element.getParent().getParent().getElement('input').value;
	var request = new Request({
		url: baseurl+"/initiativecomp/savescope/initiativecomp_id/"+value+"/name/"+element.value,
		method: 'get', 
		headers: {'X-Request': 'JSON'},		
		onSuccess: function(responseText, responseXML) {
		if(/DOCTYPE/i.test(responseText)){
	window.location = baseurl;
	return;
}
			var data = responseText;			
			$$('.initiativesBloc')[0].innerHTML = data;
			new imagePreset();
		},
		onFailure:function(instance){
			
		}
	});	
	request.send();
}

/*-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init call ajax save myplan
	@paramater element > tr
	@return null
-------------------------------------------------------------------------------------------*/

function actionSaveMyPlan() {
	if(!$('frmMyLan')) return true;
	var Requency =  $('frmMyLan').getElements('select[id=txtRequency]');
	Requency.addEvent('change' , function(){
		saveDataMyplan(this.getParent().getParent());
	});
	var Dashboard = $('frmMyLan').getElements('select[id=txtDashboard]');
	Dashboard.addEvent('change' , function(){
		saveDataMyplan(this.getParent().getParent());
	});
}

/*-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init call ajax save content
	@paramater element > tr
	@return null
-------------------------------------------------------------------------------------------*/

function saveDataMyplan(element) {
	var id = element.getElement('input[name=useraction_id]').value;
	var frequency =element.getElement('select[id=txtRequency]').value;
	var Dashboard =element.getElement('select[id=txtDashboard]').value;
	var request = new Request({
		url: baseurl+"/myplan/savemyplan/useraction_id/"+id+"/Frequency/"+frequency+"/Dashboard/"+Dashboard,
		method: 'get', 
		headers: {'X-Request': 'JSON'},		
		onSuccess: function(responseText, responseXML) {
		if(/DOCTYPE/i.test(responseText)){
	window.location = baseurl;
	return;
}
		},
		onFailure:function(instance){
			
		}
	});	
	request.send();
}

/*-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init call ajax update content
	@paramater element > tr
	@return null
-------------------------------------------------------------------------------------------*/

function callAjaxMyPlanUpdate(element) {
	//var id = element.getElement('input[name=useraction_id]').value;
	if(element.getElement('input[name=frequencyuser_id]')) var id = element.getElement('input[name=frequencyuser_id]').value;
	var action_id = element.getElement('input[name=actioncomp_id]').value;
	var request = new Request({
		//url: baseurl+"/myplan/updatestatus/useraction_id/"+id +"/action_id/"+action_id,
		url: baseurl+"/myplan/updatestatus/frequencyuser_id/"+id +"/action_id/"+action_id,
		method: 'get', 
		headers: {'X-Request': 'JSON'},		
		onSuccess: function(responseText, responseXML) {
		},
		onFailure:function(instance){
			
		}
	});	
	request.send();
}

/*-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@int ajax load data for cell make and model
	@paramater null
	@return null
-------------------------------------------------------------------------------------------*/

function loadDataAjaxMakeandModel() {
	if($('selectYearAddNew')){
		$('selectYearAddNew').removeEvents('change').addEvent('change' , function(evt){
			evt.stop();
			//updata and create new tr
			var trParent = this.getParent().getParent();
			if(!trParent.getNext()) {
				var trCopy = trParent.clone(true, true);
				trCopy.getElements('select').each(function(el, index){
					el.cloneEvents(trParent.getElements('select')[index]);
				});
				trCopy.getElements('td').each(function(el, index){
					el.cloneEvents(trParent.getElements('td')[index]);
				});			
				//
				trCopy.getElement('label').innerHTML = 'click here to assign';
				trCopy.getElement('input').value = "";				
				trCopy.inject(trParent.getParent());				
				setFirstActiveAndLastActive(this.getParent().getParent());
				loadDataAjaxMakeandModel();
				//
				trCopy.getElements('td').removeClass('tdHover');
				addClassActivegreyAddNew();
			}
			var paramater = baseurl + '/officesetup/getmanuf/year/'+this.value;
			updateOption(trParent.getElements('select')[1], paramater , 2);
		});
	}
	if($('selectMakeAddNew')) {
		$('selectMakeAddNew').removeEvents('change').addEvent('change' , function(evt){
			evt.stop();
			var trParent = this.getParent().getParent();
			var paramater = baseurl + '/officesetup/getcarbyid/year/'+trParent.getElements('select')[0].value+'/manufac_id/'+this.value;
			updateOption(trParent.getElements('select')[2], paramater , 3);
		});
	}	
}

/*-----------------------------------------------------------------------------------------
	@write Kim.Nguyen
	@init according for form myplan
	@paramater null
	@return null
-------------------------------------------------------------------------------------------*/

function initAccording() {
	if($('frmMyLan') && $('frmMyLan').getElements('dt').length!= 0) {
		var dtArr = $('frmMyLan').getElements('dt');
		dtArr.each(function(el) {
			el.setStyle('cursor', 'pointer');
			var dd = el.getNext();
			var heightDD = dd.getCoordinates().height;
			var myEffects = new Fx.Morph(dd,{ 'duration': '500' });				
			
			el.addEvent('click' , function(evt) {
				evt.stop();
				if(el.hasClass('active')) {
					el.removeClass('active');
					myEffects.start({
						'height': [heightDD , 0],
						'opacity' : [1 , 0]
					});
				} else {
					el.addClass('active');
					myEffects.start({
						'height': [0 , heightDD],
						'opacity' : [0 , 1]
					});
				}
				
			});
		})
	}
}	
function activeRow(){
	/*
	var rows = $('loadOverdue').getElements('tr');
	rows.each(function(el,index){	
		if(el.hasClass('actived')){
			setTimeout(function(){
			var coords = el.getCoordinates($('main'));
			var valueHeight = coords.height;
			$$('.tdActive')[0].setStyles({'top': coords.top, left: coords.left - 30, 'height' : valueHeight});
			},100);
		}
	});
	*/
			
}

/*-----------------------------------------------------------------------------------------
	@write: Hung.Pham
	@init: update active week for Duedate
	@paramater a Date: yyyy-mm-dd
	@paramater flag: 1 or -1 = next or pre
	@return null
-------------------------------------------------------------------------------------------*/

function updateActiveRowWeekDueDate(selectDate, flag){
	var arrDate = selectDate.split('-');
	var selectWeek = getWeekExt(new Date(arrDate[0], arrDate[1] - 1, arrDate[2]));
	var arrTRs = $$('.week' + selectWeek);
	var nextOrpreCellValue, nextOrpreCell;
	var arrmyplanCalendar = $$('.myplanCalendar');
	var month = arrmyplanCalendar[2].getElement('input[id=month]').value;
	var year = arrmyplanCalendar[2].getElement('input[id=year]').value;	
	
	if(flag == 1){
		nextOrpreCell = 1;
		nextOrpreCellValue = true;		
	} else {
		nextOrpreCell = -1;
		nextOrpreCellValue = false;		
	}
	
	currentDueDate =arrDate[2];
	currentMonth = arrDate[1];
	currentYear = arrDate[0];	
	currentSelectDueDate = selectDate;
	currentSelectWeek = selectWeek;
	if(arrTRs.length > 0) {
		if(arrTRs[1]) {
			activeRowWeekDueDate(arrTRs[1].getElement('td'), -1); 
		} else if(arrTRs[0]) {
			activeRowWeekDueDate(arrTRs[0].getElement('td'), -1);
		}
	} else if(arrTRs.length == 0){
		// haven't date on calendarHighlight
		//call Previous/Next month calendar		
		var url = baseurl + "/myplan/getcalendar/month/" + month + "/year/" + year + "/nextorpre/" + nextOrpreCell;
		updateActiveCalendar(url, nextOrpreCellValue, selectDate, 'weekly');
	}
}

function updateActiveMonthCalendar(selectDate, nextOrPre){
	var arrmyplanCalendar = $$('.myplanCalendar');
	var month = arrmyplanCalendar[2].getElement('input[id=month]').value;
	var year = arrmyplanCalendar[2].getElement('input[id=year]').value;
	var url = baseurl + "/myplan/getcalendar/month/" + month + "/year/" + year + "/nextorpre/" + nextOrPre;
	if(nextOrPre == 1){			
		var nextOrpreCellValue = true;		
	} else {
		var nextOrpreCellValue = false;		
	}
	updateActiveCalendar(url, nextOrpreCellValue, selectDate, 'daily');	
}

/*-----------------------------------------------------------------------------------------
	@write: Hung.Pham
	@init: update active cell & week for Duedate
	@paramater: selectDate: Date format yyyy-mm-dd
	@return null
-------------------------------------------------------------------------------------------*/
function activeCellWeekDueDate(selectDate, nextOrPre){
	if(!selectDate) return;
	var arrDate = selectDate.split('-');
	var selectWeek = getWeekExt(new Date(arrDate[0], arrDate[1] - 1, arrDate[2]));
	var arrTRs = $$('.week' + selectWeek);
	currentSelectWeek = selectWeek;
	var activeTR;
	var isCell = false;

	//active for first row
	if(arrTRs[0])  {
		activeTR = arrTRs[0];
		//reset bg for active row
		$$('.slicingCalendar')[0].getElements('td.darkOrangeBg').removeClass('darkOrangeBg').addClass('whiteBg');		
		activeTR.getElements('td').each(function(itemTd, index){
			//itemTd.addClass('orangeBg');
			if(itemTd.get('html').trim() == arrDate[2]){			
				itemTd.addClass('darkOrangeBg');
				isCell = true;
			}
		});
	}
	if(arrTRs[1]) activeTR = arrTRs[1];
	//active for last row
	if(activeTR) {
		if(!isCell) {
			//reset bg for active row
			$$('.slicingCalendar')[0].getElements('td.darkOrangeBg').removeClass('darkOrangeBg').addClass('whiteBg');			
			activeTR.getElements('td').each(function(itemTd, index){			
				//itemTd.addClass('orangeBg');
				if(itemTd.get('html').trim().toInt() == arrDate[2].toInt()){
					itemTd.addClass('darkOrangeBg');
					isCell = true;
				}
			});
		}
	}
	if(initMyPlanFlag.length > 0) {
		for(var i = 0; i < initMyPlanFlag.length; i++ ){
			initMyPlanFlag[i] = 0;
		}
	}
}


/*-----------------------------------------------------------------------------------------
	@write: Hung.Pham
	@init: update active cell for Duedate of upcoming
	@paramater: selectDate: Date format yyyy-mm-dd
	@return null
-------------------------------------------------------------------------------------------*/
function activeCellDueDateUpcoming(selectDate){
	var arrDate = selectDate.split('-');
	var selectWeek = getWeekExt(new Date(arrDate[0], arrDate[1] - 1, arrDate[2]));
	var arrTRs = $$('.week' + selectWeek);
	currentSelectWeek = selectWeek;
	var activeTR;
	var isCell = false;

	//active for first row
	if(arrTRs[0])  {
		activeTR = arrTRs[0];
		//reset bg for active row
		$$('.slicingCalendar')[0].getElements('td.darkOrangeBg').removeClass('darkOrangeBg').addClass('whiteBg');
		
		activeTR.getElements('td').each(function(itemTd, index){
			//itemTd.addClass('orangeBg');
			if(itemTd.get('html').trim() == arrDate[2]){			
				itemTd.addClass('darkOrangeBg');
				isCell = true;
			}
		});
	}
	//active for last row
	if(arrTRs[1]) activeTR = arrTRs[1];
	if(activeTR) {
		if(!isCell) {
			//reset bg for active row
			$$('.slicingCalendar')[0].getElements('td.darkOrangeBg').removeClass('darkOrangeBg').addClass('whiteBg');
			activeTR.getElements('td').each(function(itemTd, index){			
				//itemTd.addClass('orangeBg');
				if(itemTd.get('html').trim().toInt() == arrDate[2].toInt()){
					itemTd.addClass('darkOrangeBg');
					isCell = true;
				}
			});
		}
	}
}

/*-----------------------------------------------------------------------------------------
	@write: Hung.Pham
	@init: active week for Duedate
	@paramater:: td:	cell to active, activeCell: flag for type active
	@return null
-------------------------------------------------------------------------------------------*/
function activeRowWeekDueDate(td, activeCell) {
	currentDarkOrangeBg = td;
	$$('.slicingCalendar')[0].getElements('td').each(function(el){
		//reset bg
		if(el.hasClass('orangeBg')){
			el.removeClass('orangeBg');			
		}
		if(activeCell == 1) {
			if(el.hasClass('darkOrangeBg')){
				el.removeClass('darkOrangeBg');
			}
		}
		if(!el.hasClass('greyBg'))
				el.addClass('whiteBg');
	});
	try {
		var trParent = td.getParent();
		var arrTd = trParent.getChildren();
		var elFirst =null;
		var elLast = null;
		//get date first and last
		for(var i =0 ; i< arrTd.length ; i++) {
			if(arrTd[i].getProperty('id') && elFirst == null) {
				elFirst = arrTd[i];
			} 
			
			if(arrTd[i].getProperty('id')) {
				elLast = arrTd[i];
			}
			
			/*set active bg for this row*/
			arrTd[i].removeClass('whiteBg');
			arrTd[i].addClass('orangeBg');
		}
		if(activeCell == 1) {
		//set active for this day			
			if(!td.hasClass('blank')) {
				td.addClass('darkOrangeBg');
			}
			while (td.hasClass('blank')) {
				td = td.getNext();
				if(!td.hasClass('blank')) {
					td.addClass('darkOrangeBg');
				} 
			}			
		}
		//get month and year value
		var monthValue = td.getParent('div#myplanCalendar').getElement('input[id=month]').value;
		var yearValue = td.getParent('div#myplanCalendar').getElement('input[id=year]').value;
		
		///////////////////////////////////
		currentDueDate = yearValue + '.' + monthValue + '.' + td.innerHTML;					
		firstDayWeekDueDate = yearValue + '.' + monthValue + '.' + elFirst.innerHTML;
		lastDayWeekDueDate = yearValue + '.' + monthValue + '.' + elLast.innerHTML; 
		
		//ajax update calendar
		var _url = baseurl+"/myplan/listweek/year/"+yearValue+"/month/"+monthValue+"/firstDay/"+elFirst.innerHTML+"/lastDay/"+elLast.innerHTML;
		if(activeCell == 1 ) {
			ajaxUpdateWithUrl(_url);
		}
	} catch(err){}
}

/*-----------------------------------------------------------------------------------------
	@write: Hung.Pham
	@init: update calendar for Duedate
	@paramater:: 
		_url:	path to call
		FL: true or false = next or pre
	@return null
-------------------------------------------------------------------------------------------*/
function updateActiveCalendar(_url, FL, selectDate, type) {
	var request = new Request({
		url: _url,
		method: 'get', 
		headers: {'X-Request': 'JSON'},		
		onSuccess: function(responseText, responseXML) {
			if(/DOCTYPE/i.test(responseText)){
				window.location = baseurl;
				return;
			}
			var arrmyplanCalendar = $$('.myplanCalendar');
			if(FL) {
				arrmyplanCalendar[0].innerHTML = arrmyplanCalendar[1].innerHTML;
				arrmyplanCalendar[1].innerHTML = arrmyplanCalendar[2].innerHTML;
				arrmyplanCalendar[2].innerHTML = responseText;
			} else {
				arrmyplanCalendar[2].innerHTML = arrmyplanCalendar[1].innerHTML;
				arrmyplanCalendar[1].innerHTML = arrmyplanCalendar[0].innerHTML;
				arrmyplanCalendar[0].innerHTML = responseText;
				
			}
			initMycalendar();
			getCalendar();			
			setTimeout(function(){
				if(type == 'weekly') {
					updateActiveRowWeekDueDate(currentSelectDueDate);					
				} else { //daily
					//
					if(FL) { 
						var nextOrPre = 1;
					} else {
						var nextOrPre = -1;					
					}
					activeCellWeekDueDate(selectDate, nextOrPre);					
				}
			}, 200);
		},
		onFailure:function(instance){
			
		}
	});	
	request.send();
}
/*-----------------------------------------------------------------------------------------
	@write: Hung.Pham
	@init: update calendar for Duedate
	@paramater:: 
		_url:	path to call
		selectDate: date to active
	@return null
-------------------------------------------------------------------------------------------*/
function updateFurtureCalendar(_url, selectDate) {
return;
	var request = new Request({
		url: _url,
		method: 'get',
		onSuccess: function(responseText, responseXML) {
			if(/DOCTYPE/i.test(responseText)){
				window.location = baseurl;
				return;
			}
			var calendarHighlight = $('calendarHighlight');
			if(!calendarHighlight)	 return;
			calendarHighlight.set('html', responseText);
			initMycalendar();
			getCalendar();			
			setTimeout(function(){
				activeCellDueDateUpcoming(selectDate);
			}, 200);
		},
		onFailure:function(instance){
			
		}
	});	
	request.send();
}

function updateValueTransport(select) {
	if(select.value == "") return;
	var _url = baseurl + '/myplan/getprofilefeature/alias/' + select.value;
	var input = select.getParent().getParent().getElement('input.featureID');
	var inputV = select.getParent().getParent().getElement('input.featureIDID');
	var mpg = select.getParent().getParent().getElement('input.mpgOther');
	var fuel = select.getParent().getParent().getElement('input.fuelOther');
	var request = new Request({
		url: _url,
		method: 'get',
		onSuccess: function(responseText, responseXML) {
			if(responseText) {				
				var arrData = (responseText + '').split(':');
				if(arrData.length == 2) {
					mpg.value = arrData[0];
					fuel.value = arrData[1];
				} else {
					input.value = arrData[0];			
					inputV.value = arrData[0];
				}
			}
		},
		onFailure:function(instance){
			//
		}
	});
	if(![2,3,4,5,6,7,8,99,12,14].contains(select.value.trim().toInt())){
		request.send();
	}
}