/*-----------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------*/
//set varible
var isAddingTeam = 0;
var isAddingOffice = 0;
var isAddingDivision = 0;
var _opacityLoading = 0.3;
if(Browser.Engine.trident) {
	_opacityLoading = 0.2;
}
var formObj;
window.addEvent("load", function() {
	initfrmAccount();
	initFormCompanyTeam();
	initMyLan();
	initteamsFrmDivision();
	initteamsFrmTeam();
	initteamsFrmOffice();
	initFormInitiative();
	initFormLogin();	
    initFrmView();
	initFrmContact();
	initFrmCreateNewAction();
	initFormCheckFormTo();
	initFormContactUs();
	initFrmPopupForgot();
	initFrmAdminLogin();
	initGreenFrm();
	initSurvey();
	initSaveprogress();	
});


function initSaveprogress(){	
	var btnSaveprogress = $('btnSaveprogress');
	if(btnSaveprogress){		
		var isFormModify = false;
		//disable event default 
		btnSaveprogress.setStyle('cursor', 'default');
		btnSaveprogress.disabled = true; 
		
		var _frmParent = btnSaveprogress.getParent().getParent().getParent();		
		if(_frmParent.tagName.toLowerCase() == 'form') {
			
			//detection for form change
			var arrInput = _frmParent.getElements('input');			
			arrInput.combine(_frmParent.getElements('select'));
			arrInput.combine(_frmParent.getElements('td'));
			arrInput.combine(_frmParent.getElements('img'));
			
			arrInput.each(function(input, _index){
				arrInput[_index].isChange = false;
			});
			arrInput.each(function(input, index){
				if (input.id == 'btnSaveprogress') {						
					arrInput.erase(index);
				}
				if (input.id == 'btnContinueType') {						
					arrInput.erase(index);
				}
				if (input.id != 'selectIndustry' && input.tagName.toLowerCase() == 'select') {
					arrInput.erase(index);
				}
				if(input.id != 'btnSaveprogress' || input.id != 'btnContinue'){
					input.addEvents({
						'change': function(e){
							input.isChange = true;
							changeStatus();
						},
						'focus': function(e){
							input.isChange = true;
							changeStatus();
						},
						'click': function(e){
							input.isChange = true;
							changeStatus();
						}
					});
				}
			});			 
			
			
			/*continue btn*/
			var btnContinue = $('btnContinueType') || $('btnContinue');			
			if(btnContinue) {
				//if($('nextPart')) $('nextPart').value='company';
				// btnContinue.removeEvents('click').addEvents({
						// 'click': function(e){							
							// if(e) e.stop();
							// _frmParent.submit();
						// }
				// });
			}
			//function change Status of btn btnSaveprogress
			function changeStatus(){
				arrInput.each(function(input, i){
					if(arrInput[i].isChange) {
						isFormModify = true;
					}					
				});				
				if(isFormModify){					
					setNormalBtn(btnSaveprogress);					
					//chage action submit
					btnSaveprogress.removeEvents('click').addEvents({
						'click': function(e){
							if(btnSaveprogress.getNext()){
								_frmParent.set('action', btnSaveprogress.getNext().value);
							}							
							
							// _frmParent.submit();
						}
					});
				}
			}
		}
	}
}

/*
*
*/
function initSaveprogressCallBack() {
	var btnSaveprogress = $('btnSaveprogress');
	if(!btnSaveprogress) return;
	btnSaveprogress.src = btnSaveprogress.src.replace('_inactive.', '_n.');
	btnSaveprogress.setStyle('cursor', 'pointer');
	new imagePreset();
	//chage action submit
	btnSaveprogress.removeEvents('click').addEvents({
		'click': function(e){
			if(btnSaveprogress.getNext()){
				_frmParent.set('action', btnSaveprogress.getNext().value);
			}			
			_frmParent.submit();								
		}
	});	
}
function initSurvey(){
	var frmId = $('frmSurvey');
	if(!frmId) return;
	var formValidate = [{
		field : "txtRequest",
		valid : "required",
		alert : "Please enter reason for activating your survey"
	}];
	formObj = new htmlform(frmId, formValidate,{
		alertType: "layer",
		layerWidth: 136,
		hideInterval: 2000 ,
		onSubmit: function(){	
			var req = new Request({
				url: frmId.action,
				method:'post',
				onRequest:function(){
				},
				onSuccess: function(responseText, responseXML) {
					frmId.reset();	
					alert("Your request was successfully sent to Green officer.");		
				}
			});
			req.send(frmId);
		}
	});
	
}
function initFrmAdminLogin() {
	var frmId = $('loginAdminFrm');
	if(!frmId) return;
	var formValidate = [{
		field : "txtEmail",
		valid : "email",
		alert : Alert.messageAlert.txtEmail
	},{	
		field : "txtPass",
		valid : "required",
		alert : Alert.messageAlert.frmPassword
	}];
	formObj = new htmlform(frmId, formValidate,{
		alertType: "popup",
		layerWidth: 136,
		hideInterval: 2000 ,
		onSubmit: function(){	
			frmId.submit();
		}
	});
}
function initFormContactUs(){
	var frmId = $('frmContact');
	if(!frmId) return;
	var formValidate = [{
		field : "email",
		valid : "email",
		alert : Alert.messageAlert.txtEmail
	},{
		field : "message",
		valid : "required",
		alert : 'Please input your message'		
	}];
	
	formObj = new htmlform(frmId, formValidate,{
		alertType: "layer",
		layerWidth: 218,
		hideInterval: 2000 ,
		onSubmit: function(){	
			var btnContactFAQ = $('btnContactFAQ');
			if(btnContactFAQ){
				var req = new Request({
					url: frmId.action,
					method:'post',
					onRequest:function(){
					},
					onSuccess: function(responseText, responseXML) {									
						opaceIt($('layerAlertMessage'),1,"Thanks for your question.");
						frmId.reset();
					}
				});
				req.send(frmId);
			}else
			frmId.submit();
		}
	});
}
function initFrmView() {
   var frmId = $('frmView');
   if(!frmId) return;
   var txtcurrView = frmId.getElement('select#txtcurrViewShow');
   txtcurrView.addEvent('change', function(){
       frmId.submit(); 
   });
}

function initFormLogin() {
	var frmId = $('loginFrm');
	if(!frmId) return;
	
	var formValidate = [{
		field : "frmName",
		valid : "email",
		alert : Alert.messageAlert.frmName
	},{
		field : "frmPassword",
		valid : "required",
		alert : Alert.messageAlert.frmPassword
	}];
	
	formObj = new htmlform(frmId, formValidate,{
		alertType: "layer",
		layerWidth: 160,
		hideInterval: 2000 ,
		onSubmit: function(){
			var req = new Request({
				url: frmId.action,
				method:'post',
				onRequest:function(){
				},
				onSuccess: function(responseText, responseXML) {	
					var arrdata = responseText.split(':');
					if(arrdata[0] == 0) {
						$('loginErr').innerHTML = 'Incorrect email or password. Please try again.';
					} else if(arrdata[0] == 1){
                        $('loginErr').innerHTML = 'Your company was disable by administrator.Please contact with them.';
                    } else if(arrdata[0] == 2){
                        $('loginErr').innerHTML = 'Your account has been disabled. Please contact your <a href="mailto:'+arrdata[1]+'">Green Officer</a> to open your account.';
                    } else if(arrdata[0] == 4){
                        $('loginErr').innerHTML = 'Your account has been disabled. Please contact your <a href="mailto:'+arrdata[1]+'">Super Green Officer</a> to open your account.';
                    }else {
						document.location.href = baseurl + '/' + arrdata[0];
					}					
				}
			});
			req.send(frmId);
		}
	});
	
	// if($('btnLogin')) {
		// $('btnLogin').removeEvents('click').addEvent('click', function(e){
			// e.stop();
			
			// return false;
		// });
	// }
}

function initFrmContact() {
	var frmId = $('popup1');
	if(!frmId) return;
	var formValidate = [{
		field : "txtGreenOfficer",
		valid : "selected",
		alert : Alert.messageAlert.txtSelectGreenOffice
	},{	
		field : "txtSubject",
		valid : "required",
		alert : Alert.messageAlert.txtSubject
	},{
		field : "txtComment",
		valid : "required",
		alert : Alert.messageAlert.txtComment
	}];
	formObj = new htmlform(frmId, formValidate,{
		alertType: "popup",
		layerWidth: 136,
		hideInterval: 2000 ,
		onSubmit: function(){	
			frmId.submit();
		}
	});
}
function initFrmPopupForgot() {
	var frmId = $('popupforgot');
	if(!frmId) return;
	var formValidate = [{
		field : "frmNameForgot",
		valid : "email",
		alert : Alert.messageAlert.txtEmail
    },{    
        field : "txtCode",
        valid : "required",
        alert : Alert.messageAlert.txtCode
	}];
	formObj = new htmlform(frmId, formValidate,{
		alertType: "popup",
		layerWidth: 136,
		hideInterval: 2000 ,
		onSubmit: function() {	
			var req = new Request({
                url: frmId.action,
                method:'post',
                onRequest:function(){
                },
                onSuccess: function(responseText, responseXML) {
                   if(/DOCTYPE/i.test(responseText)){
						window.location = baseurl;
						return;
					}
                    if(responseText == 1) {
                        formObj.showAlertLayer($('frmNameForgot'), Alert.messageAlert.txtEmailDb);        
                    }
                    else if(responseText == 0) {
                        formObj.showAlertLayer($('txtCode'), Alert.messageAlert.txtInvalidCode);        
                    }
					else if(responseText == 2) {
                        opaceIt($('layerForgot'), 0);						
						opaceIt($('layerAlertMessage'), 1 , "Please recheck your email account.");
                    }                                       
                }
            });
            req.send(frmId);
		}
	});
}
function initFormCheckFormTo(formId, _url, id, idForm) {
	
	if(!$(formId) || formId == "") return;
	var frmId = $(formId);	
	var btnSave = frmId.getElement('.btnUpdate');
	var arrInputDecimals = $$('.inputDecimal');
	
	arrInputDecimals.each(function(input){
		input.arrValue = input.value.split('.');
		if(input.arrValue.length == 2) {
			input.arrValue.pre = input.arrValue[0];
			input.arrValue.last = input.arrValue[1];
		}	
			input.addEvents({				
				'keypress': function(e) {
					input.arrValue = input.value.split('.');
					if(input.arrValue.length == 2) {
						input.arrValue.pre = input.arrValue[0];
						input.arrValue.last = input.arrValue[1];
					}
				},
				'keyup': function(e) {
					try {
						var evt = new Event(e);			
						var arrCurrentValue = this.value.split('.');
						if(arrCurrentValue.length == 2) {							
							if(arrCurrentValue[0].length == input.arrValue.pre.length) {
								if(arrCurrentValue[1].length > 2) {
									evt.stop();
									this.value = this.value.substring(0, this.value.length-1);
									return;
								}
							}
						}
					} catch (e) { //print(e);
					}
				},
				'blur': function(e){					
					var re = /^\d{0,9}(\.\d{1,2})?$/;
					if (!re.test(this.value)) {						
						this.value = this.value.substring(0, this.value.length-1);
					}
				}
			});		 		
	});
	//
	//btnSave.removeEvents('click');
	if(frmId.getElement("input[id=txtShare]")) {
		var formValidate = [{
			field : "txtGreenOfficer",
			valid : "selected",
			alert : Alert.messageAlert.txtSelectGreenOffice
		},{	
			field : "miles",
			//valid : "required",
			valid : function(){
				if($('txtCommute')){
					if($('txtCommute').checked) {
						return true;
					} else {
						return !frmId.miles.value.trim().isBlank();
					}
				} else {
					return true;
				}
			},
			alert : "Please input round-trip mileage",
			restrict: "[0-9,.]"
		},{	
			field : "txtSubject",
			valid : "required",
			alert : Alert.messageAlert.txtSubject
		},{
			field : "txtComment",
			valid : "required",
			alert : Alert.messageAlert.txtComment
		},{	
			field : "share",
			valid : function(){
				if($('txtCommute')){
					if($('txtCommute').checked) {
						return true;
					} else {
						if(!frmId.txtBusinessTravel1.checked) {						
							return true;
							//return !frmId.share.value.trim().isBlank();
						} else {
							return true;
						}
					}
				} else {
					return true;
				}
			},
			alert : Alert.messageAlert.txtSharetheRide,
			restrict: "[0-9]"
		}];
	} else {
		var formValidate = [{
			field : "txtGreenOfficer",
			valid : "selected",
			alert : Alert.messageAlert.txtSelectGreenOffice
		},{	
			field : "txtSubject",
			valid : "required",
			alert : Alert.messageAlert.txtSubject
		},{
			field : "txtComment",
			valid : "required",
			alert : Alert.messageAlert.txtComment		
		},{
			field : "leg1",
			restrict: "[0-9,.]",
			alert : Alert.messageAlert.txtNumber
		},{
			field : "leg2",
			restrict: "[0-9,.]",
			alert : Alert.messageAlert.txtNumber
		},{
			field : "leg3",
			restrict: "[0-9,.]",
			alert : Alert.messageAlert.txtNumber		
		},{
			field : "leg4",
			restrict: "[0-9,.]",
			alert : Alert.messageAlert.txtNumber		
		},{
			field : "leg5",
			restrict: "[0-9,.]",
			alert : Alert.messageAlert.txtNumber		
		},{
			field : "txtCost",
			restrict: "[0-9,.]",
			alert : Alert.messageAlert.txtNumber		
		},{
			field : "txtFrom",
			restrict: "[0-9 -\(\),.]",
			alert : Alert.messageAlert.txtInvalitxtDate		
		},{
			field : "txtTo",
			restrict: "[0-9 -\(\),.]",
			alert : Alert.messageAlert.txtInvalitxtDate		
		},{
			field : "txtFoodPurchases15",
			restrict: "[0-9 -\(\),.]",
			alert : Alert.messageAlert.txtInvalitxtDate		
		},{
			field : "txtFoodPurchases16",
			restrict: "[0-9 -\(\),.]",
			alert : Alert.messageAlert.txtInvalitxtDate		
		},{
			field : "txtHeat1",
			restrict: "[0-9 -\(\),.]",
			alert : Alert.messageAlert.txtInvalitxtDate		
		},{
			field : "txtPropane1",
			restrict: "[0-9 -\(\),.]",
			alert : Alert.messageAlert.txtInvalitxtDate		
		}];
	}
	
	formObj = new htmlform(frmId, formValidate,{
		alertType: "layer",
		layerWidth: 186,
		hideInterval: 3000 ,
		onSubmit: function(e){
			if(e) e.stop();
			
			var divContent = formId.getElement('div[class=dashboardOverview]');	
			if(frmId.getElement("input[id=txtFrom]")) {
				var theDateFrom = frmId.getElement("input[id=txtFrom]");
				var valueForm = theDateFrom.value.trim();
				
				if(valueForm.isBlank()) {
					formObj.showAlertLayer(theDateFrom, Alert.messageAlert.txtDateFrom);
					return false;
				}
				
				
				if(valueForm.isDate('mm/dd/yyyy')) {
					formObj.showAlertLayer(theDateFrom, Alert.messageAlert.txtInvalitxtDate);
					return false;
				}
				
				var arrDateForm = valueForm.split(".");
				if(arrDateForm.length < 3) {
					formObj.showAlertLayer(theDateFrom, Alert.messageAlert.txtInvalitxtDate);
					return false;
				}
				var flag = false;
				y1 = arrDateForm[2];
				m1 = arrDateForm[0];
				d1 = arrDateForm[1];
				if(y1.toInt() <=0 || m1.toInt() <=0 || d1.toInt() <=0 ) {
					formObj.showAlertLayer(theDateFrom, Alert.messageAlert.txtInvalitxtDate);
					return false;
				}
			}
			if(frmId.getElement("input[id=txtTo]")) {
				var theDateTo = frmId.getElement("input[id=txtTo]");
				var valueTo = theDateTo.value.trim();
				
				if(valueTo.isBlank()) {
					formObj.showAlertLayer(theDateTo, Alert.messageAlert.txtDateTo);
					return false;
				}
				
				if(valueTo.isDate('mm/dd/yyyy')) {
					formObj.showAlertLayer(theDateTo, Alert.messageAlert.txtInvalitxtDate);
					return false;
				}
				
				var arrDateTo = valueTo.split(".");
				if(arrDateTo.length < 3) {
					formObj.showAlertLayer(theDateTo, Alert.messageAlert.txtInvalitxtDate);
					return false;
				}
				y2 = arrDateTo[2];
				m2 = arrDateTo[0];
				d2 = arrDateTo[1];				
				if(y2.toInt() <=0 || m2.toInt() <=0 || d2.toInt() <=0 ) {
					formObj.showAlertLayer(theDateTo, Alert.messageAlert.txtInvalitxtDate);
					return false;
				}
			}
			if(frmId.getElement("input[id=txtFrom]") && frmId.getElement("input[id=txtTo]")) {
				var theDateFrom_ = new Date(y1,m1,d1);
				var theDateTo_ = new Date(y2,m2,d2);
				if(theDateFrom_ > theDateTo_) {
					formObj.showAlertLayer(theDateFrom, Alert.messageAlert.txtInvalidDate);
					return false;
				}
				
				var duedateUpdate = frmId.getElement("input[name=duedate]"); 
				//type :: yyyy-mm-dd
				var arrDuedateUpdate = duedateUpdate.value.split("-");
				y3 = arrDuedateUpdate[0];
				m3 = arrDuedateUpdate[1];
				d3 = arrDuedateUpdate[2];
				
				var theDateUpdate = new Date(y3,m3,d3);
				// alert(y3 +">>"+m3 +">>"+d3);
				// alert(theDateFrom_ +">>>"+ theDateUpdate);
				// if(theDateFrom_ > theDateUpdate) {
					// formObj.showAlertLayer(theDateFrom, Alert.messageAlert.txtInvalitxtDateFrom);					
					// return false;
				// }
			}	
			
			if(frmId.getElement("input[id=txtFoodPurchases15]")) {
				if(frmId.getElement("input[id=txtFoodPurchases15]").value.isBlank()) {
					formObj.showAlertLayer(frmId.getElement("input[id=txtFoodPurchases15]"), Alert.messageAlert.txtDate);
					return false;
				}
				if(frmId.getElement("input[id=txtFoodPurchases15]").value.isDate('mm/dd/yyyy')) {
					formObj.showAlertLayer(frmId.getElement("input[id=txtFoodPurchases15]"), Alert.messageAlert.txtInvalitxtDate);
					return false;
				}
			}
			
			if(frmId.getElement("input[id=txtFoodPurchases16]")) {
				if(frmId.getElement("input[id=txtFoodPurchases16]").value.isBlank()) {
					formObj.showAlertLayer(frmId.getElement("input[id=txtFoodPurchases16]"), Alert.messageAlert.txtDate);
					return false;
				}
				if(frmId.getElement("input[id=txtFoodPurchases16]").value.isDate('mm/dd/yyyy')) {
					formObj.showAlertLayer(frmId.getElement("input[id=txtFoodPurchases16]"), Alert.messageAlert.txtInvalitxtDate);
					return false;
				}
			}
			
			if(frmId.getElement("input[id=txtHeat1]")) {
				if(frmId.getElement("input[id=txtHeat1]").value.isBlank()) {
					formObj.showAlertLayer(frmId.getElement("input[id=txtHeat1]"), Alert.messageAlert.txtDate);
					return false;
				}
				if(frmId.getElement("input[id=txtHeat1]").value.isDate('mm/dd/yyyy')) {
					formObj.showAlertLayer(frmId.getElement("input[id=txtHeat1]"), Alert.messageAlert.txtInvalitxtDate);
					return false;
				}
			}
			
			if(frmId.getElement("input[id=txtPropane1]")) {
				if(frmId.getElement("input[id=txtPropane1]").value.isBlank()) {
					formObj.showAlertLayer(frmId.getElement("input[id=txtPropane1]"), Alert.messageAlert.txtDate);
					return false;
				}
				if(frmId.getElement("input[id=txtPropane1]").value.isDate('mm/dd/yyyy')) {
					formObj.showAlertLayer(frmId.getElement("input[id=txtPropane1]"), Alert.messageAlert.txtInvalitxtDate);
					return false;
				}
			}
			
			var reqFrmSave = new Request({
				url: formId.getProperty('action'),
				method: 'post',
				onRequest:	function(e){
					//do somthing					
					var divLoading = new Element('div', {
						'html':	'<img src="'+ baseurl + "/../public/images/ajax_loading_office.gif" + '"  /><br /><p>updating...</p>',
						'id':	formId.getProperty('id') + 'Loading',
						'class':	'profileLoadingPlan'
					});
					// divContent.set('html', '');
					// divLoading.inject(divContent, 'after');
					allElementsLoading(divContent, 0);
					showHideGeneralLoading('updating...', 1);
					setInactiveBtn(btnSave);
				},
				onSuccess: function(responseText, responseXML) {
					
					var reqFrmLoad = new Request({
						url: _url,
						method: 'post',
						onRequest:	function(e){
							//do somthing
						},
						onSuccess: function(responseText, responseXML) {							
							if(/DOCTYPE/i.test(responseText)){
								window.location = baseurl;
								return;
							}
							if($('layerActionCarpool')) $('layerActionCarpool').destroy();
							
							//update status : overdue count
							
							if(id) {								
								var overdueStatusID = $('overdueStatus' + id);
								if(formId.getElement('input[name=existdata]').value != '1') {																				
									var saveCount = 0;
									$$('.daycheckInput').each(function(input){
										if(input.checked) {
											saveCount++;
										}
									});
									var weeklyFrequency = false;
									if(/Weekly/i.test($$('tr.actived')[0].getElements('td')[4].getPrevious().innerHTML)) {
										weeklyFrequency = true;
									}
									var completedDate = formId.getElement('input[name=completedDate]');
									
									if(saveCount == 7) {
										if($$('tr.actived')[0].getElements('td')[4]) {
											if(completedDate) {
												$$('tr.actived')[0].getElements('td')[4].set('html', 'Completed on ' + completedDate.value);												
											}
											$$('tr.actived')[0].addClass('closed');
										}
									} else {
										//if(weeklyFrequency) {
										if(idForm == '11') {
											$$('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');
										}
									}
									var overdueCount = $$('.overdueCount')[0];
									if(overdueCount) {
										if(idForm != '11') {
											overdueCount.set('html', (overdueCount.innerHTML.toInt()-1));
										} else if(idForm == '11') {
											if(saveCount == 7) overdueCount.set('html', (overdueCount.innerHTML.toInt()-1));
										}
									}
								}
								var otherFrequencyFlag = false;
								if($$('tr.actived')[0]) {
									if(!/Weekly/i.test($$('tr.actived')[0].getElements('td')[4].getPrevious().innerHTML)) {
										otherFrequencyFlag = true;
									}
								}
								//frequency one-time
								var completedDateFrequency = formId.getElement('input[name=completedDate]');
								if(!completedDateFrequency) {
									
									completedDateFrequency = formId.getElement('input[name=txtFrom]');
									if(completedDateFrequency) {
										if(otherFrequencyFlag) {
											var tempDate = completedDateFrequency.value.split('.');
											try {
												if(tempDate[2].length > 2) tempDate[2] = tempDate[2].substring(2, 4);
												
											} catch (e){}
											$$('tr.actived')[0].getElements('td')[4].set('html', 'Completed on ' + tempDate.join('.'));
											$$('tr.actived')[0].addClass('closed');
											
										}
									}
								}
							}
							divContent.set('html', responseText);
							
							allElementsLoading(divContent, 1);
							setInactiveBtn(btnSave);
							showHideGeneralLoading('updating...', 0);							
							setTimeout(function(){
								initChangeOption();
								initFormCheckFormTo(formId, _url, id, idForm);								
								allElementsEditable(formId, btnSave);								
								initUpdateForDate(id, formId, idForm);
								initMyPlan();
								initChangeTransport();
								//new imagePreset();
								new imagePreset({selector: btnSave.getParent()});
								if(idForm =="") {
									loadCalenda();									
								} else {									
									loadCalenda_disabledate();
								}
								 
							},1000);	
							var arrForm = formId.getParent().getElements('form');
							setTimeout(function(){
								for(var i = 0 ; i< arrForm.length ; i++) {
									if(arrForm[i] == formId) {
										arrForm[i].style.display = 'block';	
									} else {
										arrForm[i].style.display = 'none';	
									}
								}
							},1100);							
						},
						onFailure: function(instance){
							//do somthing							
						}
					}).send(frmId);
				},
				onFailure: function(instance){
					//do somthing
					showHideGeneralLoading('updating failed', 1);
					setTimeout(function(){
						showHideGeneralLoading('updating...', 0);
						allElementsLoading(divContent, 1);
						setInactiveBtn(btnSave);
					}, 3000);
				}
			}).send(frmId);
		}
	});
	
	function alertValidDate(formObj, el, msg) {
		if(el) return true;
		if(el.value.isBlank()) {
			formObj.showAlertLayer(el, msg);
			return false;
		}
		if(valueForm.isDate('mm/dd/yyyy')) {
			formObj.showAlertLayer(el, msg);
			return false;
		}
		var arrDateForm = el.value.split(".");
		if(arrDateForm.length < 3) {
			formObj.showAlertLayer(el, msg);
			return false;
		}
		
		y1 = arrDateForm[2];
		m1 = arrDateForm[0];
		d1 = arrDateForm[1];
		if(y1.toInt() <=0 || m1.toInt() <=0 || d1.toInt() <=0 ) {
			formObj.showAlertLayer(el, msg);
			return false;
		}
	};
}

function initFrmCreateNewAction() {
	var frmId = $('frmaction');
	if(!frmId) return;
	var formValidate = [{
		field : "txtNameAction",
		valid : "required",
		alert : Alert.messageAlert.txtNameAction
	},{	
		field : "txtUser",
		valid : "required",
		alert : Alert.messageAlert.txtUser
	}];
	formObj = new htmlform(frmId, formValidate,{
		alertType: "layer",
		layerWidth: 136,
		hideInterval: 2000 ,
		onSubmit: function(){	
			frmId.submit();
		}
	});
}


function initFormInitiative() {
	var frmId = $('frmInitiative');
	if(!frmId) return;
	var formValidate = [{
		field : "txtNameInitiative",
		valid : "required",
		alert : Alert.messageAlert.txtNameInitiative
	},{
		field : "txtCom",
		valid : "selected",
		alert : Alert.messageAlert.txtCom
	}];
	
	formObj = new htmlform(frmId, formValidate,{
		alertType: "layer",
		layerWidth: 136,
		hideInterval: 2000 ,
		onSubmit: function(){	
			frmId.submit();
		}
	});
}	
var _companyTeamFormObj = null;
function initFormCompanyTeam() {
	var frmId = $('frmCompanyTeam');
	if(!frmId){
		var frmId = $('frmCompanyEmployment');
	}
	if(!frmId) {
		var frmId = $('frmOfficeSetup');
	}
	if(!frmId) {
		var frmId = $('frmCompanyTeamType');
	}
	if(!frmId) return;
	
	var formValidate = [{
		/*field : "comment",
		valid : "required",
		alert : Alert.messageAlert.txtComment*/
	}];
	_companyTeamFormObj = formObj = new htmlform(frmId, formValidate,{
		alertType: "layer",
		layerWidth: 225,
		hideInterval: 3000 ,
		onSubmit: function(){			
		}
	});
	
	
	var flagInput = true;
	var flag = true;
	var flagEmail = true;
	var flagInputEmploy = true;
	var flagtd = true;
	var arrInput = $$('input[id=nameTeam]');
	arrInput = arrInput.concat($$('input[id=firstName]'));
	arrInput = arrInput.concat($$('input[id=lastName]'));
	for(var i =0; i< arrInput.length ; i++) {
		if(arrInput[i].value.trim() == "") {
			flagInput = false;	
			if($('frmOfficeSetup')) {
				formObj.showAlertLayer(arrInput[i], Alert.messageAlert.txtInputVehicle);
			} else {	
				formObj.showAlertLayer(arrInput[i], Alert.messageAlert.txtInput);
			}
			i = arrInput.length;
			break;
		}
	}
	
	var arrTd = $$('td[id=empty]');
	for(var i =0; i< arrTd.length ; i++) {
		if(arrTd[i].innerHTML.trim() == "") {
			flagtd = false;					
			formObj.showAlertLayer(arrTd[i], Alert.messageAlert.txtTd);
			i = arrTd.length;
			break;
		}
	}
	
	var arrSelect = $$('select[id=selectType]').concat($$('select[id=selectOffice]'));
	arrSelect = arrSelect.concat($$('select[id=selectDivision]'));
	arrSelect = arrSelect.concat($$('select[id=selectTeam]'));
	//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]'));
	for(var i =0; i< arrSelect.length ; i++) {
		if(arrSelect[i].value.trim() == "null") {
			flag = false;					
			formObj.showAlertLayer(arrSelect[i], Alert.messageAlert.txtSelect);
			i = arrSelect.length;
			break;
		}
	}
	
	var arrEmail = $$('input[id=nameEmail]');
	for(var i =0; i< arrEmail.length ; i++) {
		//value.isEmails()
		if(!arrEmail[i].value.trim().isEmails()) {
			flagEmail = false;					
			formObj.showAlertLayer(arrEmail[i], Alert.messageAlert.txtEmailInvalid);
			i = arrEmail.length;
			break;
		}
	}	
	
	var re = /^[0-9]+$/;
	var arrinputEmploy = $$('input[id=numEmploy]');
	arrinputEmploy = arrinputEmploy.concat($$('input[id=lastMPG]'));
	for(var i =0; i< arrinputEmploy.length ; i++) {
		if(arrinputEmploy[i].value.trim() == "" || arrinputEmploy[i].value.trim().search(re) == -1) {
			flagInputEmploy = false;					
			if(arrinputEmploy[i].get('id') =="lastMPG"){
				formObj.showAlertLayer(arrinputEmploy[i], Alert.messageAlert.txtInputMPG);
			} else {
				formObj.showAlertLayer(arrinputEmploy[i], Alert.messageAlert.txtInputEmploy);
			}
			i = arrinputEmploy.length;
			break;
		}
	}
	
	//submit form for button btnSaveAccount
	if($('btnSaveAccount')){
		$('btnSaveAccount').addEvent('click' , function(){
			$('btnSave').fireEvent('click', this, 10);	
		});
	}
	//click save check form
	if($('btnSave'))$('btnSave').removeEvents().addEvent('click', function(evt){
		//evt.stop();
		//for add new 
		var flagInputAddNew = true;
		var flagAddNew = true;
		var flagEmailAddNew = true;
		var flagInputEmployAddNew = true;
		var flagMPGinput = true;
		var flagAssignAddNew = true;
		
		var arr1 = $$('input[id=nameTeamAddNew]').erase($$('input[id=nameTeamAddNew]')[$$('input[id=nameTeamAddNew]').length-1]);
		var arr2 = $$('input[id=firstNameAddNew]').erase($$('input[id=firstNameAddNew]')[$$('input[id=firstNameAddNew]').length-1]);
		var arr3 = $$('input[id=lastNameAddNew]').erase($$('input[id=lastNameAddNew]')[$$('input[id=lastNameAddNew]').length-1]);
		
		var arrInputAddNew = arr1.concat(arr2);
		arrInputAddNew = arrInputAddNew.concat(arr3);
		
		if($('frmOfficeSetup')){
			if($('txtMaterial') && $('txtSquare')) {
				var txtMaterial = frmId.getElement('input[id=txtMaterial]');
				var txtSquare = frmId.getElement('input[id=txtSquare]');				
				if((txtMaterial.value.trim() !== '' && txtSquare.value.trim() !== '') || (txtMaterial.value.trim() !== '' && txtSquare.value.trim() == '')) {
					
					var txtMaterialVal = txtMaterial.value.replace(',', '').replace(',', '') ;					
					var txtSquareVal = txtSquare.value.replace(',', '').replace(',', '') ;
					if(txtMaterialVal.toFloat() >= txtSquareVal.toFloat()) {
						formObj.showAlertLayer(txtSquare, Alert.messageAlert.txtInvalidSquareFootage);						
						return false;
					}
				}
			}
		}
		
		for(var i =0; i< arrInputAddNew.length ; i++) {
			if(arrInputAddNew[i].get('id') =="firstNameAddNew"){
				if(arrInputAddNew[i].value.trim() == "" || arrInputAddNew[i].value.trim() =="first name") {
					flagInputAddNew = false;					
					formObj.showAlertLayer(arrInputAddNew[i], Alert.messageAlert.txtInputFirst);
					i = arrInputAddNew.length;
					return false;
					break;
				}
			} else if(arrInputAddNew[i].get('id') =="lastNameAddNew") {
				if(arrInputAddNew[i].value.trim() == ""  || arrInputAddNew[i].value.trim() =="last name") {
					flagInputAddNew = false;					
					formObj.showAlertLayer(arrInputAddNew[i], Alert.messageAlert.txtInputLast);
					i = arrInputAddNew.length;
					return false;
					break;
				}
			}
			
		}
		var arr1 = $$('select[id=selectTypeAddNew]').erase($$('select[id=selectTypeAddNew]')[$$('select[id=selectTypeAddNew]').length-1]);
		var arr2 = $$('select[id=selectDivisionAddNew]').erase($$('select[id=selectDivisionAddNew]')[$$('select[id=selectDivisionAddNew]').length-1]);
		var arr3 = $$('select[id=selectOfficeAddNew]').erase($$('select[id=selectOfficeAddNew]')[$$('select[id=selectOfficeAddNew]').length-1]);
		var arr4 = $$('select[id=selectTeamAddNew]').erase($$('select[id=selectTeamAddNew]')[$$('select[id=selectTeamAddNew]').length-1]);
		
		var arr5 = $$('select[id=selectYearAddNew]').erase($$('select[id=selectYearAddNew]')[$$('select[id=selectYearAddNew]').length-1]);
		var arr6 = $$('select[id=selectMakeAddNew]').erase($$('select[id=selectMakeAddNew]')[$$('select[id=selectMakeAddNew]').length-1]);
		var arr7 = $$('select[id=selectModelAddNew]').erase($$('select[id=selectModelAddNew]')[$$('select[id=selectModelAddNew]').length-1]);
		
		var arrSelectAddNew = arr1.concat(arr2);
		arrSelectAddNew = arrSelectAddNew.concat(arr3);
		arrSelectAddNew = arrSelectAddNew.concat(arr4);
		arrSelectAddNew = arrSelectAddNew.concat(arr5);
		arrSelectAddNew = arrSelectAddNew.concat(arr6);
		arrSelectAddNew = arrSelectAddNew.concat(arr7);
		for(var i =0; i< arrSelectAddNew.length; i++) {
			if(arrSelectAddNew[i].value.trim() == "null") {
				flagAddNew = false;					
				formObj.showAlertLayer(arrSelectAddNew[i], Alert.messageAlert.txtSelect);
				i = arrSelectAddNew.length;
				return false;
				break;
			}
		}
		
		var arrEmailAddNew = $$('input[id=nameEmailAddNew]');
		for(var i =0; i< arrEmailAddNew.length - 1; i++) {
			//value.isEmails()
			if(!arrEmailAddNew[i].value.trim().isEmails()) {				
				flagEmailAddNew = false;					
				formObj.showAlertLayer(arrEmailAddNew[i], Alert.messageAlert.txtEmailInvalid);
				i = arrEmailAddNew.length;
				return false;
				break;
			}
		}
		
		var re = /^[0-9]+$/;
		
		var arrinputMPGAddNew = $$('input[id=numEmployAddNew]');
		for(var i =0; i< arrinputMPGAddNew.length - 1 ; i++) {
			if(arrinputMPGAddNew[i].value.trim() == "" || arrinputMPGAddNew[i].value.trim().search(re) == -1) {
				flagMPGinput = false;					
				formObj.showAlertLayer(arrinputMPGAddNew[i], Alert.messageAlert.txtInputMPG);
				i = arrinputMPGAddNew.length;
				return false;
				break;
			}
		}
		var arrinputEmployAddNew = $$('input[id=numEmployAddNew]');
		for(var i =0; i< arrinputEmployAddNew.length - 1 ; i++) {
			if(arrinputEmployAddNew[i].value.trim() == "" || arrinputEmployAddNew[i].value.trim().search(re) == -1) {
				flagInputEmployAddNew = false;					
				formObj.showAlertLayer(arrinputEmployAddNew[i], Alert.messageAlert.txtInputEmploy);
				i = arrinputEmployAddNew.length;
				return false;
				break;
			}
		}
		
		
		//----------assign------------------
		var arrLabelAssignAddNew = $$('label[id=assignedToName]');
		
		for(var i =0; i< arrLabelAssignAddNew.length - 1 ; i++) {
			if(arrLabelAssignAddNew[i].innerHTML.trim() == "Click here to assign" || arrLabelAssignAddNew[i].innerHTML.trim() == "Enter MPG") {
				flagAssignAddNew = false;				
				formObj.showAlertLayer(arrLabelAssignAddNew[i], Alert.messageAlert.txtInputAssign);
				//i = arrLabelAssignAddNew.length;
				return false;
				break;
			}
		}
		//-------------------------
		if(!flagAddNew || !flagInputAddNew || !flagInputEmployAddNew || !flagMPGinput ||!flagEmailAddNew || !flagAssignAddNew) {
			return false;
		} else {
			if($('frmCompanyEmployment')) {
				//check mail exist
				//-------------------
				var arrEmailAddNew = $$('input[id=nameEmailAddNew]');
				var arrGreen = $$('select[id=selectGreenAddNew]');
				var arrOffice = $$('select[id=selectOfficeAddNew]');
				for(var i =0; i< arrEmailAddNew.length - 1; i++) {
					var inputEmailExist = arrEmailAddNew[i];
					//have email exit
					var j = i+1;
					var flag_checkEmailInput = true;
					var valueEmail = inputEmailExist.value.trim();
					for(var j = i+1 ; j<arrEmailAddNew.length - 1 ; j++ ) {
						if(arrEmailAddNew[j].value.trim() == valueEmail) {
							formObj.showAlertLayer(inputEmailExist, Alert.messageAlert.txtEmailOne);
							flag_checkEmailInput = false;
							j = arrEmailAddNew.length;
							return false;
						}
					}
				}
				var tempIndex = 0;
				function ajaxCheckEmailExit() {
					try {
						var greenVal = 0, officeVal = 0;
						if(arrGreen && arrGreen[tempIndex]){
							greenVal = arrGreen[tempIndex].value;
						}
						if(arrOffice && arrOffice[tempIndex]){
							officeVal = arrOffice[tempIndex].value;
						}
						var req = new Request({
							url: baseurl +'/user/checkemailgreen/email/'+arrEmailAddNew[tempIndex].value.trim()+'/office_id/'+officeVal+'/green/'+greenVal,
							method:'post',
							onRequest:function() {
							},
							onSuccess: function(responseText, responseXML) {
								if(/DOCTYPE/i.test(responseText)){
									window.location = baseurl;
									return;
								}
								if(responseText == 1) {
									formObj.showAlertLayer(arrEmailAddNew[tempIndex], Alert.messageAlert.txtEmailExist);								
									return false;
								}
								else if(responseText == 2) {
									formObj.showAlertLayer(arrGreen[tempIndex], "Your office exist a Green Officer.Please change the Green Officer status to NO");								
									return false;
								}
								else {
									if(tempIndex == $$('input[id=nameEmailAddNew]').length - 2) {
										frmId.submit();
									} else {
										tempIndex++;
										ajaxCheckEmailExit();								
										return false;
									}
								}	
							}
						});
						req.send();
					} catch (e){
						//alert(e);
					}
				}
				ajaxCheckEmailExit();
			} 
			if($('frmCompanyTeam') || $('frmOfficeSetup')) {						
				var arrCmbYear = frmId.getElements('select[id=cmbYear]');
				var arrCmbMake = frmId.getElements('select[id=cmbMake]');
				var arrCmbModel = frmId.getElements('select[id=cmbModel]');
				var arrCmbFeature = frmId.getElements('select[id=cmbFeature]');
				
				/////////////////////////////
				if(arrCmbYear.length > 1) {
					for (var i = 0; i < arrCmbYear.length; i ++) {
						if(i != arrCmbYear.length - 1) {
							if(arrCmbYear[i].selectedIndex == 0) {								
								formObj.showAlertLayer(arrCmbYear[i], Alert.messageAlert.txtYear);								
								return;
								break;
							}
						}
					}
				}
				//////////////////////////////////
				if(arrCmbMake.length > 1) {
					for (var j = 0; j < arrCmbMake.length; j++) {
						if(j != arrCmbMake.length - 1) {
							if(arrCmbMake[j].selectedIndex == 0) {								
								formObj.showAlertLayer(arrCmbMake[j], Alert.messageAlert.txtMake);								
								return;
								break;
							}
						}
					}
				}
				////////////////////////////
				if(arrCmbModel.length > 1) {
					for (var k = 0; k < arrCmbModel.length; k++) {
						if(k != arrCmbModel.length - 1) {
							if(arrCmbModel[k].selectedIndex == 0) {								
								formObj.showAlertLayer(arrCmbModel[k], Alert.messageAlert.txtModel);								
								return;
								break;
							}
						}
					}
				}
				/////////////////////////////////
				if(arrCmbFeature.length > 1) {	
					for (var z = 0; z < arrCmbFeature.length; z++) {
						if(z != arrCmbFeature.length - 1) {
							if(arrCmbFeature[z].selectedIndex == 0) {								
								formObj.showAlertLayer(arrCmbFeature[z], Alert.messageAlert.txtOption);								
								return;
								break;
							}
						}
					}
				}

				//pass valid				
				frmId.submit();
			}
		}
		//end 
	});	
	
	if($('btnRemove'))$('btnRemove').removeEvents().addEvent('click' , function(evt) {
		$('btnRemove').blur();
		evt.stop();
		if($('frmCompanyTeam')) {
			if($('selectgreen')) {
				var urlDelete = baseurl +'/team/delete/office_id/'+$('selectgreen').value;
			} else {
				var urlDelete = baseurl +'/team/delete/';
			}
		}
		if($('frmCompanyEmployment')) {
			if($('selectdivisiongreen') && $('selectusergreen')) {
				
				var urlDelete = baseurl +'/user/delete/division_id/'+$('selectdivisiongreen').value +'/office_id/'+$('selectusergreen').value;
			} else {
				var urlDelete = baseurl +'/user/delete';
			}	
		}
		if($('frmOfficeSetup')) {
			var urlDelete = baseurl +'/officesetup/delete';
		}
		var flagCheckbox = false;
		var arrCheckbox = frmId.getElements('input[id=nameCheckbox]');
			arrCheckbox = arrCheckbox.concat($$('input[id=ckMore]'));
		arrCheckbox.each(function(elCheckbox , index) {
			if(elCheckbox.checked) {
				flagCheckbox = true;				
			}
		});
		if(!flagCheckbox) {
			formObj.showAlertLayer(arrCheckbox[arrCheckbox.length -1], Alert.messageAlert.txtCheckbox);
			return true;
		}
		//remove 
		var arrCheckBoxMore = $$('input[id=ckMore]');
		for(var i =0 ; i < arrCheckBoxMore.length -1; i ++) {
			if(arrCheckBoxMore[i].checked) {
				arrCheckBoxMore[i].getParent().getParent().dispose();
			}
		}
		//
		var flag = false;
		var arrNameCheckbox =  $$('input[id=nameCheckbox]');
		for(var i =0 ; i < arrNameCheckbox.length; i ++) {
			if(arrNameCheckbox[i].checked) {
				flag = true;
				i = arrNameCheckbox.length;
			}
		}
		if(!flag) {
			return true;
		}
		if($('frmCompanyEmployment')) {
			opaceIt($('layerConfirmMessage') , 1 , "Are you sure you want to remove this employee?");
		} else {
			opaceIt($('layerConfirmMessage') , 1 , "Are you sure you want to delete?");
		}	
		//addEvent for click ok form confirm delete		
		$('layerConfirmMessage').getElements('input')[0].removeEvents().addEvent('click' , function(){
			opaceIt($('layerConfirmMessage') , 0);
			var req = new Request({
				url: urlDelete,
				method:'post',				
				onSuccess: function(responseText, responseXML) {
					if(/DOCTYPE/i.test(responseText)){
						window.location = baseurl;
						return;
					}					
					if($('frmOfficeSetup')) {
						if($$('.officeSetup')[0]){
							$$('.officeSetup')[0].set('html', responseText);
						}
					} else {
						if($$('.divListView')[0]){
							$$('.divListView')[0].set('html', responseText);//
						}
						//$$('.dashboardBlock')[0].innerHTML = responseText;//dashboardBlock
					}	
					initCompanyTeam();
					checkBoxHeaderCompany();
					initReloadPage();
					saveAddMoreVehicle();
				}
			});
			
			req.send(frmId);
		});		
	});
	
	if(!flag || !flagInput || !flagInputEmploy || !flagEmail || !flagtd) {
		return false;
	} else {
		return "OK";
	}
}

/*-----------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------*/
function initfrmAccount() {
	var frmId = $('frmEmployees');
	if(!frmId) return;
	
	//return true;
	var formValidate = [{
		field: "firstname",
		valid: "required",
		alert: Alert.messageAlert.txtfirstname
	},{
		field: "lastname",
		valid: "required",
		alert: Alert.messageAlert.txtlastname
	},{
		field: "txtConfirm",
		valid: function(){
			if($('txtConfirm').value.trim() != $('txtNewpass').value.trim()) {
				return false;
			}
			else {
				return true;
			}
		},
		alert: function() {
			if($('txtConfirm').value.trim() =="") {
				return Alert.messageAlert.txtConfirm;
			}
			else if($('txtConfirm').value.trim() != $('txtNewpass').value.trim()) {
				return Alert.messageAlert.txtConfirmNot;
			}
		}
	},{
		field: "txtEmail",
		valid: "email",
		alert: Alert.messageAlert.txtEmail
	},{
		field: "txtAddress",
		valid: "required",
		alert: Alert.messageAlert.txtAddress
	},{
		field: "txtCity",
		valid: "required",
		alert: Alert.messageAlert.txtCity
	},{
		field: "state",
		valid: "selected",
		alert: Alert.messageAlert.txtCity
	},{
		field: "txtCode",
		valid: "required",
		alert: Alert.messageAlert.txtCode,
		restrict: "[0-9]"
	},{
		field: "txtPhone",
		valid: "required",
		alert: Alert.messageAlert.txtPhone,
		restrict: "[0-9 -\(\)]"
	},{
		field: "txtExt",
		alert: Alert.messageAlert.txtPhone,
		restrict: "[0-9]"
	},{
		field: "txtMobile",
		alert: Alert.messageAlert.txtPhone,
		restrict: "[0-9 ]"
	}];
	
	var formObj = new htmlformNewFormat(frmId, formValidate, {
		alertType: "layer",
		layerWidth: 250,
		elementsShowTop : frmId.getElement('h6'),
		elementsShowLeft : frmId.getElement('input[id=txtFName]'),
		alertMessageShow: "Please complete the fields highlighted in red",
		hideInterval: 2000,
		onSubmit: function(){
			frmId.submit();
		}		
	});
	
	if(frmId.getElement('input[name=btnProfile]')){		
		frmId.getElement('input[name=btnProfile]').removeEvents().addEvent("click", function(e){		
			if(e) e.stop();
			$('nextPart').value = 'review';
			if(formObj.isValidForm(frmId)) {
				frmId.submit();
			}
		});
	}
	var txtEmail = frmId.getElement('input[id=txtEmail]');
	if(txtEmail) txtEmail.addEvents({
		'blur' : function(evt) {
			evt.stop();
			if(this.value.trim() !="" && !this.value.trim().isEmails()) {			
				formObj.showAlertLayer(txtEmail, Alert.messageAlert.txtEmailInvalidExist);
				setTimeout(function(){
					txtEmail.focus();
				} , 200);	
				return false;
			}
			else {
				if(this.value.trim() !="") {
					var idUser = frmId.getElement('input[name=user_id]').value;  
					var urlAjax = baseurl +'/user/checkemail/email/'+this.value.trim()+'/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(txtEmail, Alert.messageAlert.txtEmailInvalidExist);
								txtEmail.focus();
								return false;
							}	
						}, onFailure: function(){
							return false;
						}
					});
					req.send();
				}	
			}
		}
	});	
}
/*-----------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------*/
function initMyLan() {
	var frmId=$('planFrm');
	if(!frmId) return;
	
	var formValidate = [{
		field: "txtVehicle",
		valid: "selected",
		//init: "Search for ideas",
		alert: Alert.messageAlert.txtVehicle
	},{
		field: "txtYear",
		valid: "selected",
		alert: Alert.messageAlert.txtYear
	},{
		field: "txtMake",
		valid: "selected",
		alert: Alert.messageAlert.txtMake	
	},{
		field: "txtModel",
		valid: "selected",
		alert: Alert.messageAlert.txtModel			
	}];
	
	var formObj = new htmlform(frmId, formValidate, {
		alertType: "layer",
		layerWidth: 165,
		hideInterval: 2000,
		onSubmit: function(){
			frmId.submit();
		}		
	});
}
/*-----------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------*/
function confirmDeletedDivision(frmId) {
	if($('editName') && $('company_id_edit')) {
			var idDelete = $('company_id_edit').value;
			var req = new Request({
				url: baseurl +'/company/deletecompany/id_Delete/'+idDelete,
				method:'post',
				onRequest:function(){
				},
				onSuccess: function(responseText, responseXML) {
				if(/DOCTYPE/i.test(responseText)){
	window.location = baseurl;
	return;
}
					if(responseText == "ERROR") {
						
						setTimeout(function(){
							opaceIt($('layerAlertMessage') , 1 , "Your division or office's existing a children");
						}, 1000);
					} else {
						if($('editName').getParent().hasClass('last')){
							if($('editName').getParent().getPrevious()) $('editName').getParent().getPrevious().addClass('last');
						}
						frmId.reset();
						$('editName').getParent().dispose();
					}
					//removeclass active
					if($$('.dashboardBlock')[0].getElement('span.active')) 
						$$('.dashboardBlock')[0].getElement('span.active').removeClass('active');
					$('profileDivision').setStyle('display' , 'none');	
					//opaceIt($('profileDivision') , 0 );
				}
			});
			req.send();
		} else {
			if($('addingDivision').getParent().hasClass('last')){
				if($('addingDivision').getParent().getPrevious()) $('addingDivision').getParent().getPrevious().addClass('last');
			}
			frmId.reset();
			$('addingDivision').getParent().dispose();
			$('profileDivision').setStyle('display' , 'none');	
		}
}
function initteamsFrmDivision() {
	var frmId=$('teamsFrmDivision');
	if(!frmId) return;
	
	var formValidate = [{
		field: "txtNameDivision",
		valid: "required",
		//init: "Search for ideas",
		alert: Alert.messageAlert.txtName
	},{
		field: "txtCodeDivision",
		valid: "required",
		alert: Alert.messageAlert.txtCode,
		restrict: "[0-9]"
	},{
		field: "txtPhoneDivision",
		valid: "required",
		alert: Alert.messageAlert.txtPhone,
		restrict: "[0-9 \(\)]"
	}];	
	//select united states
	var select = $('txtCountryDivision');
	for(var i = 0 ; i < select.options.length; i++) {
		if(select.options[i].text.trim() == "United States") {			
			select.options[i].selected = true;
		}
	}
	var buttonDelete = frmId.getElement('input[id=btnRemove]');
	if(buttonDelete) buttonDelete.removeEvents().addEvent('click' , function(evt){
		evt.stop();
		isAddingDivision = 0;
		//show layer confirm
		//layerConfirmMessage
		if($('company_id_edit')) {
			opaceIt($('layerConfirmMessage') , 1 , "Deleting this division will delete all the offices, all the teams and all employees in this division. Are you sure you want to delete this <b>"+$('txtNameDivision').value + " division</b> from your company structure?");
			//addEvent for click ok form confirm delete
			$('layerConfirmMessage').getElements('input')[0].removeEvents().addEvent('click' , function(){
				opaceIt($('layerConfirmMessage') , 0);
				confirmDeletedDivision(frmId);
			});
		} else {
			confirmDeletedDivision(frmId);
		}	
		return false;
	});
	if($('stepWizard')) {
		var alertTypeStr = "popup";
	} else {
		var alertTypeStr = "layer";
	}
	var formObj = new htmlform(frmId, formValidate, {
		alertType: alertTypeStr,
		layerWidth: 136,
		hideInterval: 2000,
		onSubmit: function(){
			var req = new Request({
				url: baseurl +'/company/division',
				method:'post',
				onRequest:function(){
					//show loading
					frmId.setStyle('opacity', _opacityLoading);
					if(Browser.Engine.trident4) {
						frmId.getElements('select').setStyle('visibility', 'hidden');
					}
					if($("profileDivisionLoading")) {
						$("profileDivisionLoading").removeClass("hide");
					}
					setInactiveBtn(frmId.getElement("input[id=btnUpdate]"));
				},
				onSuccess: function(responseText, responseXML) {
					
					if(isAddingDivision == 0) {
						value = $('editName').getElement('input').value;
						$('editName').innerHTML = '<input type="hidden" value="'+ value + '" name="company_id"/>' + $('txtNameDivision').value + ' (Division)';
					} else {
						var str = '<input type="hidden" value="'+responseText+'" name="company_id"/>'+ $('txtNameDivision').value  + ' (Division)';
						$('addingDivision').innerHTML = str; 
						
						
						$('addingDivision').setProperty('id' , "");
						//frmId.reset();
						//update isAddingDivision
						isAddingDivision = 0;
						editCompanyandTeam();
					}
					
					//display none form 
					if($('stepWizard')){
							opaceIt($('profileDivision'), 0);
					} else {
						//$('profileDivision').setStyle('display' , 'none');	
					}
					
					//hide loading							
					frmId.setStyle('opacity', 1);
					frmId.getElements('select').setStyle('visibility', 'visible');
					if($("profileDivisionLoading")) {
						$("profileDivisionLoading").addClass("hide");
					}
					
					//setNormalBtn(frmId.getElement("input[id=btnUpdate]"));
					allElementsEditable(frmId, frmId.getElement("input[id=btnUpdate]"));
				}
			});
			req.send(frmId);
		}		
	});
}
function confirmDeletedOffice(frmId) {
	if($('editName') && $('office_id_edit')) {
			var idDelete = $('office_id_edit').value;
			var req = new Request({
				url: baseurl +'/company/deleteoffice/id_Delete/'+idDelete,
				method:'post',
				onRequest:function(){
				},
				onSuccess: function(responseText, responseXML) {
				if(/DOCTYPE/i.test(responseText)){
					window.location = baseurl;
					return;
				}
					if(responseText == "ERROR") {
						
						setTimeout(function(){
							opaceIt($('layerAlertMessage') , 1 , "Your division or office's existing a children");
						}, 1000);
					} else {
						frmId.reset();
						if($('editName').getParent().hasClass('last')){
							if($('editName').getParent().getPrevious()) $('editName').getParent().getPrevious().addClass('last');
						}
						$('editName').getParent().dispose();
					}
					$('profileOffice').setStyle('display' , 'none');	
					//opaceIt($('profileOffice') , 0 );
				}
			});
			req.send();
		}
		else {
			frmId.reset();
			if($('addingOffice').getParent().hasClass('last')){
				if($('addingOffice').getParent().getPrevious()) $('addingOffice').getParent().getPrevious().addClass('last');
			}
			$('addingOffice').getParent().dispose();
			$('profileOffice').setStyle('display' , 'none');
		}
}

function initteamsFrmOffice() {
	var frmId=$('teamsFrmOffice');
	if(!frmId) return;	
	var formValidate = [
	{
		field: "name",
		valid: "required",		
		alert: Alert.messageAlert.txtName
	},{	
		field: "zipcode",
		valid: "required",
		alert: Alert.messageAlert.txtCode,
		restrict: "[0-9]"
	},{
		field: "phone",
		valid: "required",
		alert: Alert.messageAlert.txtPhone,
		restrict: "[0-9 \(\)]"
	},{
		field: "txtNameGreen",
		valid: "required",
		alert: Alert.messageAlert.txtName
	},{
		field: "txtLastGreen",
		valid: "required",
		alert: Alert.messageAlert.txtAddress
	},{
		field: "txtEmailGreen",
		valid: "email",
		alert: Alert.messageAlert.txtEmail
	}
	];
	//select united states
	var select = $('txtCountryOffice');
	for(var i = 0 ; i < select.options.length; i++) {
		if(select.options[i].text.trim() == "United States") {			
			select.options[i].selected = true;
		}
	}
	
	var buttonDelete = frmId.getElement('input[id=btnRemove]');
	if(buttonDelete) buttonDelete.removeEvents().addEvent('click' , function(evt){
		evt.stop();
		isAddingOffice = 0;
		//show layer confirm
		//layerConfirmMessage
		if($('office_id_edit')) {
			opaceIt($('layerConfirmMessage') , 1 , "Deleting this office will delete all the teams and all the employees in this office. Are you sure you want to delete this <b>"+$('txtNameOffice').value + " office</b> from your company structure?");
			//addEvent for click ok form confirm delete
			$('layerConfirmMessage').getElements('input')[0].removeEvents().addEvent('click' , function(){
				opaceIt($('layerConfirmMessage') , 0);
				confirmDeletedOffice(frmId);
			});		
		} else {
			confirmDeletedOffice(frmId);
		}	
		return false;
	});
	if($('stepWizard')) {
		var alertTypeStr = "popup";
	} else {
		var alertTypeStr = "layer";
	}
	
	var formObj = new htmlform(frmId, formValidate, {
		alertType: alertTypeStr,
		layerWidth: 150,
		hideInterval: 2000,
		onSubmit: function(){
			
			if($('green_id_edit')) {
				var valueIdGreen = $('green_id_edit').value; 
			} else {
				var valueIdGreen = "";
			}
			
			var req = new Request({
				url: baseurl +'/user/checkemail/email/'+$('txtEmailGreen').value.trim()+'/user_id/' + valueIdGreen,
				method:'post',
				onRequest:function() {
					//show loading					
					frmId.setStyle('opacity', _opacityLoading);
					if(Browser.Engine.trident4) {
						frmId.getElements('select').setStyle('visibility', 'hidden');
					}
					if($("teamsFrmOfficeLoading")) {
						$("teamsFrmOfficeLoading").removeClass("hide");
					}
					setInactiveBtn(frmId.getElement("input[id=btnUpdate]"));
				},
				onSuccess: function(responseText, responseXML) {
					if(/DOCTYPE/i.test(responseText)){
						window.location = baseurl;
						return;
					}					
					if(responseText != -1) {						
						formObj.showAlertLayer($('txtEmailGreen'), Alert.messageAlert.txtEmailExist);								
						setTimeout(function(){
							frmId.setStyle('opacity', 1);
							if(Browser.Engine.trident4) {
								frmId.getElements('select').setStyle('visibility', 'hidden');
							}
							if($("teamsFrmOfficeLoading")) {
								$("teamsFrmOfficeLoading").addClass("hide");
							}
							
						}, 500);
						
						if(responseText == 1) {
							setNormalBtn(frmId.getElement('input[name=btnUpdate]'));							
						}
						return false;
					} else  {
					var req = new Request({
						url: baseurl +'/company/office ',
						method:'post',
						//data:{'usr':page_usr_id},
						onRequest:function(){
							//frmId.getElements('img')[0].setProperty('src' , 'images/waiting.gif');
						},
						onSuccess: function(responseText, responseXML) {
							//hide loading							
							frmId.setStyle('opacity', 1);
							frmId.getElements('select').setStyle('visibility', 'visible');
							if($("teamsFrmOfficeLoading")) {
								$("teamsFrmOfficeLoading").addClass("hide");
							}
											
							allElementsEditable(frmId, frmId.getElement("input[id=btnUpdate]"));							
							
							//edit
							if(isAddingOffice == 0) {
								if($('editName')){
									value = $('editName').getElement('input').value;
									$('editName').innerHTML = '<input type="hidden" value="'+ value +'" name="office_id"/>'+$('txtNameOffice').value  + ' (Office)';
								}
							} else {
								//add
								var str = '<input type="hidden" value="'+responseText+'" name="office_id"/>'+ $('txtNameOffice').value  + ' (Office)';
								$('addingOffice').innerHTML = str; 
								//var inputHidden = new Element('input' , {'type': 'hidden', 'name':'office_id' , 'value' : responseText});
								//inputHidden.inject($('addingOffice'));
								
								var inputHidden1 = new Element('input' , {'type': 'hidden', 'value' : responseText});
								inputHidden1.injectAfter($('addingOffice'));
								$('addingOffice').setProperty('id' , "");
								//frmId.reset();
								//update addTeam
								isAddingOffice = 0;
								editCompanyandTeam();
								
							}
							//removeclass active							
							//$$('.dashboardBlock')[0].getElement('span.active').removeClass('active');
							//display none form 
							
							if($('stepWizard')){
									opaceIt($('profileOffice'), 0);
							} else {
								//$('profileOffice').setStyle('display' , 'none');	
							}
						}
					});
					req.send(frmId);
					}
				}
			});
			req.send(frmId);
		}		
	});
}

function confirmDeletedTeam(frmId) {
	if($('editName') && $('team_id_edit')) {
		var idDelete = $('team_id_edit').value;
		var req = new Request({
			url: baseurl +'/company/deleteteam/id_Delete/'+idDelete,
			method:'post',
			onRequest:function(){
			},
			onSuccess: function(responseText, responseXML) {
			if(/DOCTYPE/i.test(responseText)){
				window.location = baseurl;
				return;
			}
				if(responseText == "ERROR") {
					setTimeout(function(){
						opaceIt($('layerAlertMessage') , 1 , "This team cannot be deleted because it already has team members. To delete this team, first go to the Employees page to move all the employees in this team to another team.");
					}, 1000);
				} else {
					frmId.reset();
					
					if($('editName').getParent().hasClass('teamLast')){
						if($('editName').getParent().getPrevious()) $('editName').getParent().getPrevious().addClass('teamLast');
					}
					$('editName').getParent().dispose();
				}
				//removeclass active
				if($$('.dashboardBlock')[0] && $$('.dashboardBlock')[0].getElement('span.active'))
					$$('.dashboardBlock')[0].getElement('span.active').removeClass('active');
				$('profileTeam').setStyle('display' , 'none');
				//opaceIt($('profileTeam') , 0 );
			}
		});
		req.send();
	} 
	else {
		frmId.reset();
		if($('addingTeam').getParent().hasClass('teamLast')){
			if($('addingTeam').getParent().getPrevious()) $('addingTeam').getParent().getPrevious().addClass('teamLast');
		}
		$('addingTeam').getParent().dispose();
		$('profileTeam').setStyle('display' , 'none');
	}
}

function initteamsFrmTeam() {
	var frmId=$('teamsFrmTeam');
	if(!frmId) return;
	var formValidate = [{
		field: "teamtype_id",
		valid: "selected",
		//init: "Search for ideas",
		alert: Alert.messageAlert.txtSelect			
	},{	
		field: "txtNameTeam",
		valid: "required",
		//init: "Search for ideas",
		alert: Alert.messageAlert.txtName
	},{
		field: "txtAddressTeam",
		valid: "required",
		alert: Alert.messageAlert.txtAddress
	},{
		field: "txtAddress2Team",
		valid: "required",
		alert: Alert.messageAlert.txtAddress2	
	},{
		field: "txtCityTeam",
		valid: "required",
		alert: Alert.messageAlert.txtCity
	},{
		field: "txtStateTeam",
		valid: "selected",
		alert: Alert.messageAlert.txtStateSelect
	},{
		field: "txtCodeTeam",
		valid: "required",
		alert: Alert.messageAlert.txtCode,
		restrict: "[0-9]"
	},{	
		field: "txtNameEmployee",
		valid: "required",
		alert: Alert.messageAlert.txtInputEmploy,
		restrict: "[0-9]"
	},{
		field: "txtCountryTeam",
		valid: "required",
		alert: Alert.messageAlert.txtCountry
	},{
		field: "txtPhoneTeam",
		valid: "required",
		alert: Alert.messageAlert.txtPhone,
		restrict: "[0-9 \(\)]"
	}];
	var buttonDelete = frmId.getElement('input[id=btnRemove]');
	if(buttonDelete) buttonDelete.removeEvents().addEvent('click' , function(evt) {
		evt.stop();
		isAddingTeam = 0;
		//show layer confirm
		//layerConfirmMessage
		buttonDelete.blur();
		if($('team_id_edit')) {
			opaceIt($('layerConfirmMessage') , 1 , "Deleting this team will delete all the employees in this team. Are you sure you want to delete this <b>"+$('txtNameTeam').value + " team</b> from your company structure?");
			//addEvent for click ok form confirm delete
			$('layerConfirmMessage').getElements('input')[0].removeEvents().addEvent('click' , function(){
				opaceIt($('layerConfirmMessage') , 0);
				confirmDeletedTeam(frmId);
			});
		} else {
			confirmDeletedTeam(frmId);
		}
		return true;
	});
	if($('stepWizard')) {
		var alertTypeStr = "popup";
	} else {
		var alertTypeStr = "layer";
	}
	var formObj = new htmlform(frmId, formValidate, {
		alertType: alertTypeStr,
		layerWidth: 150,
		hideInterval: 2000,
		onSubmit: function() {			
			var req = new Request({
				url: baseurl +'/company/team',
				method:'post',
				onRequest:function(){
					//show loading
					frmId.setStyle('opacity', _opacityLoading);
					if(Browser.Engine.trident4) {
						frmId.getElements('select').setStyle('visibility', 'hidden');
					}
					if($("profileTeamLoading")) {
						$("profileTeamLoading").removeClass("hide");
					}
					setInactiveBtn(frmId.getElement("input[id=btnUpdate]"));
				},
				onSuccess: function(responseText, responseXML) {
				if(/DOCTYPE/i.test(responseText)){
					window.location = baseurl;
					return;
				}
					if(isAddingTeam == 0) {
						value = $('editName').getElement('input').value;
						$('editName').innerHTML = '<input type="hidden" value="'+ value +'" name="team_id"/>' +$('txtNameTeam').value + ' (Team)';
					} else {
						$('addingTeam').innerHTML = $('txtNameTeam').value;
						var inputHidden = new Element('input' , {'type': 'hidden', 'name':'team_id' , 'value' : responseText});
						inputHidden.inject($('addingTeam'));
						$('addingTeam').setProperty('id' , "");
						//frmId.reset();
						//update addTeam
						isAddingTeam = 0;
						editCompanyandTeam();
						
					}
					//removeclass active
					//if($$('.dashboardBlock')[0] && $$('.dashboardBlock')[0].getElement('span.active'))$$('.dashboardBlock')[0].getElement('span.active').removeClass('active');
					//display none form 
					
					if($('stepWizard')) {
						opaceIt($('profileTeam'), 0);
					} else {
						//$('profileTeam').setStyle('display' , 'none');	
					}
					
					//hide loading							
					frmId.setStyle('opacity', 1);
					frmId.getElements('select').setStyle('visibility', 'visible');
					if($("profileTeamLoading")) {
						$("profileTeamLoading").addClass("hide");
					}
					
					//setNormalBtn(frmId.getElement("input[id=btnUpdate]"));
					allElementsEditable(frmId, frmId.getElement("input[id=btnUpdate]"));
				}
			});
			req.send(frmId);
		}		
	});	
}

function confirmDeletedGreen(frmId) {
	if($('editName') && $('green_id_edit')) {
		var idDelete = $('green_id_edit').value;
		var req = new Request({
			url: baseurl +'/user/deleteuser/user_id/'+idDelete,
			method:'post',			
			onSuccess: function(responseText, responseXML) {
				if(responseText == "ERROR") {
					opaceIt($('layerAlertMessage') , 1 , "I can not delete a green officer");
				} else {
					frmId.reset();
					
					if($('editName').getParent().hasClass('teamLast')){
						if($('editName').getParent().getPrevious()) $('editName').getParent().getPrevious().addClass('teamLast');
					}
					$('editName').getParent().dispose();
				}
				//removeclass active
				if($$('.dashboardBlock')[0] && $$('.dashboardBlock')[0].getElement('span.active'))
					$$('.dashboardBlock')[0].getElement('span.active').removeClass('active');
				//$('profileGreenOfficer').setStyle('display' , 'none');
				opaceIt($('profileGreenOfficer') , 0 );
			}
		});
		req.send();
	}
	else {
		frmId.reset();
		if($('addingTeam').getParent().hasClass('teamLast')){
			if($('addingTeam').getParent().getPrevious()) $('addingTeam').getParent().getPrevious().addClass('teamLast');
		}
		$('addingTeam').getParent().dispose();
		$('profileGreenOfficer').setStyle('display' , 'none');
	}
}

function initGreenFrm() {
	var frmId=$('frmGreenOfficer');
	if(!frmId) return;
	var formValidate = [{
		field: "txtNameGreen",
		valid: "required",
		alert: Alert.messageAlert.txtName
	},{
		field: "txtLastGreen",
		valid: "required",
		alert: Alert.messageAlert.txtAddress
	},{
		field: "txtEmailGreen",
		valid: "email",
		alert: Alert.messageAlert.txtEmail
	},{
		field: "txtPhoneGreen",
		restrict : "[0-9]"
	}];
	var buttonDelete = frmId.getElement('input[id=btnRemove]');
	if(buttonDelete) buttonDelete.removeEvents().addEvent('click' , function(evt) {
		evt.stop();
		isAddingTeam = 0;
		//show layer confirm
		//layerConfirmMessage
		if($('green_id_edit')) {
			opaceIt($('layerConfirmMessage') , 1 , "Are you sure you want to delete this <b>"+$('txtNameGreen').value + " Green Officer</b> from your company structure?");
			//addEvent for click ok form confirm delete
			$('layerConfirmMessage').getElements('input')[0].removeEvents().addEvent('click' , function(){
				opaceIt($('layerConfirmMessage') , 0);
				confirmDeletedGreen(frmId);
			});
		} else {
			confirmDeletedGreen(frmId);
		}
		return true;
	});
	if($('stepWizard')) {
		var alertTypeStr = "popup";
	} else {
		var alertTypeStr = "layer";
	}
	var formObj = new htmlform(frmId, formValidate, {
		alertType: alertTypeStr,
		layerWidth: 150,
		hideInterval: 2000,
		onSubmit: function() {
			//check email exist
			if($('green_id_edit')) {
				var valueIdGreen = $('green_id_edit').value; 
			} else {
				var valueIdGreen = "";
			}
			var req = new Request({
				url: baseurl +'/user/checkemail/email/'+$('txtEmailGreen').value.trim()+'/user_id/' + valueIdGreen,
				method:'post',
				onRequest:function() {
				},
				onSuccess: function(responseText, responseXML) {
				if(/DOCTYPE/i.test(responseText)){
	window.location = baseurl;
	return;
}
					if(responseText != -1) {
						formObj.showAlertLayer($('txtEmailGreen'), Alert.messageAlert.txtEmailExist);								
						return false;
					} else {
						var req = new Request({
							url: baseurl +'/user/saveuser',
							method:'post',
							onRequest:function(){
							},
							onSuccess: function(responseText, responseXML) {
								if(isAddingTeam == 0) {
									var value = $('editName').getElement('input').value;
									$('editName').innerHTML = '<input type="hidden" value="'+ value +'" name="team_id"/>' +$('txtNameGreen').value +" " + $('txtLastGreen').value + " (Green Officer)";
								} else {
									$('addingTeam').innerHTML = '<input type="hidden" value="'+responseText+'" name="user_id"/>'+ $('txtNameGreen').value + " " + $('txtLastGreen').value + " (Green Officer)";
									var inputHidden = new Element('input' , {'type': 'hidden', 'name':'team_id' , 'value' : responseText});
									inputHidden.injectAfter($('addingTeam'));
									$('addingTeam').getParent().getParent().getParent().getParent().getElements('a').setStyle('display', 'none');
									$('addingTeam').setProperty('id' , "");
									//frmId.reset();
									//update addTeam
									isAddingTeam = 0;
									editCompanyandTeam();
									
								}
								//removeclass active
								if($$('.dashboardBlock')[0] && $$('.dashboardBlock')[0].getElement('span.active'))$$('.dashboardBlock')[0].getElement('span.active').removeClass('active');
								//display none form 
								
								if($('stepWizard')){
									opaceIt($('profileGreenOfficer'), 0);
								} else{
									//$('profileGreenOfficer').setStyle('display' , 'none');	
								}
							}
							
						});
						req.send(frmId);
					}	
				}
			});
			req.send();
			
		}		
	});	
}