/*---------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------*/
/**
	@write by Kim.Nguyen
	@function  all function for struct
	@according show/hide tree of truck
	@add, edit, deleted struck
	@show layer 
	@call ajax update content
	@cancel add, edit
**/
function initStructure() {
	var ul = $$('.companyStructure')[0];
	if(!ul) {
		return true;
	}
	var arrImg = ul.getElements('img');
	arrImg.each(function(el){
		var ul = el.getParent().getElement('ul');
		if(ul) {
			var _heightUl = ul.getCoordinates().height;
			var myEffects = new Fx.Morph(ul,{ 'duration': '500' });
			el.removeEvents().addEvent('click' , function(evt) {
				evt.stop();
				ul.setStyle('overflow', 'hidden');		
				//open
				if(this.hasClass('isClose')) {
					ul.setStyle('height' , '');
					_heightUl = ul.getCoordinates().height;
					ul.setStyle('height' , '0px');
					myEffects.start({
						'height': [0 , _heightUl],
						'opacity' : [0 , 1]
					});			
					this.removeClass('isClose');
					//set background again
					var img = this.src;
					var imgNew = img.replace('_add.gif' , '_blank.gif');
					this.src = imgNew;
				}
				//close
				else {
					myEffects.start({
						'height': [_heightUl , 0],
						'opacity' : [1 , 0]
					});
					this.addClass('isClose');
					//set background img 
					var img = this.src;
					var imgNew = img.replace('_blank.gif' , '_add.gif');
					this.src = imgNew;
				}
				this.getParent().getParent().setStyle('height' , '');
			});
		}
	});
}

function cancelAddDivision() {
	isAddingDivision = 0;
	opaceIt($('profileDivision'), 0); 
	if($('addingDivision') && $('addingDivision').getParent().hasClass('last')){
		if($('addingDivision').getParent().getPrevious()) $('addingDivision').getParent().getPrevious().addClass('last');
	}
	var frmId=$('teamsFrmDivision');
	frmId.reset();
	if($('addingDivision')) $('addingDivision').getParent().dispose();
	if($('editName')) $('editName').removeClass('active');
	return false;
}

function cancelAddOffice() {
	isAddingOffice = 0; 
	opaceIt($('profileOffice'), 0);
	var frmId=$('teamsFrmOffice');
	frmId.reset();
	if($('addingOffice') && $('addingOffice').getParent().hasClass('last')){
		if($('addingOffice').getParent().getPrevious()) $('addingOffice').getParent().getPrevious().addClass('last');
	}
	if($('addingOffice')) $('addingOffice').getParent().dispose();
	if($('editName')) $('editName').removeClass('active');
	return false;
}


function cancelAddTeam() {
	isAddingTeam = 0; 
	opaceIt($('profileTeam'), 0); 
	var frmId=$('teamsFrmTeam');
	frmId.reset();
	if($('addingTeam') && $('addingTeam').getParent().hasClass('teamLast')){
		if($('addingTeam').getParent().getPrevious()) $('addingTeam').getParent().getPrevious().addClass('teamLast');
	}
	if($('addingTeam')) $('addingTeam').getParent().dispose();
	if($('editName')) $('editName').removeClass('active');
	return false;
}


function cancelAddGreen() {
	isAddingTeam = 0; 
	opaceIt($('profileGreenOfficer'), 0); 
	var frmId=$('frmGreenOfficer');
	frmId.reset();
	if($('addingTeam') && $('addingTeam').getParent().hasClass('teamLast')){
		if($('addingTeam').getParent().getPrevious()) $('addingTeam').getParent().getPrevious().addClass('teamLast');
	}
	if($('addingTeam')) $('addingTeam').getParent().dispose();
	if($('editName')) $('editName').removeClass('active');
	return false;
}


function initAddDivison() {
	var struc = $$('.companyStructure');
	if(struc.length == 0) {
		return true;
	}
	if($('disableCompany') && $('disableCompany').value == 1) {
		return true;
	}
	var addDivision = $$('.addDivision');
	addDivision.each(function(elDivison) {
		elDivison.removeEvents().addEvent('click', function(evt) {
			evt.stop();
			$('teamsFrmDivision').reset();
			if(this.getPrevious().value) {
				if($('companyGroup_id')) {
					$('teamsFrmDivision').getElement('input[id=companyGroup_id]').value = this.getPrevious().value;
				} else {
					var inputHidden = new Element('input' , {'type': 'hidden', 'name':'companyGroup_id' , 'id': 'companyGroup_id', 'value' : this.getPrevious().value});
					inputHidden.inject($('teamsFrmDivision'));
				}	
			}
			//if click add division
			if(isAddingDivision == 1 || isAddingOffice ==1 || isAddingTeam == 1) {
				initteamsFrmDivision();
				return true;
			}
			isAddingDivision = 1;
			if($('stepWizard')){
				$('profileDivision').getElement('input[id=btnRemove]').setStyle('display' , 'none');
				opaceIt($('profileDivision'), 1);
			} else {
				$('profileDivision').setStyle('display' , 'block');
				$('profileOffice').setStyle('display' , 'none');
				$('profileTeam').setStyle('display' , 'none');
				if($('profileGreenOfficer')) $('profileGreenOfficer').setStyle('display' , 'none');
			}
			
			if(this.getNext()){
				var aTeam = this.getNext();
			}
			else{
				var aTeam = new Element('ul').inject(this.getParent());
			}
			if(aTeam.getLast()) aTeam.getLast().removeClass('last');
			
			var liLink = new Element('li' , {'class': 'last'});
			var aSpan = new Element('span' , {'text': 'Adding Division...' , 'id': 'addingDivision', 'class' :'active grey'});
			var liNewLink = liLink.inject(aTeam);
			var img = new Element('img' ,{ 'width': '14px', 'height': '14px', 'src' : applicationurl+'/public/images/illus_blank.gif' });
			img.inject(liNewLink);			
			aSpan.inject(liNewLink);
			//remove editTeam
			if($('editName')) { 
				var editName = $('editName');				
				editName.removeClass('active');
				editName.setProperty('id' , '');
				
			}
			//reset form 
			if($('company_id_edit')) {
				$('company_id_edit').dispose();
			}			
			//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 aLink = new Element('a', {'class': 'addOffice', 'title':'Add Office', 'text':'+ Add Office','href':'#'}).inject(liNewLink);
			initAddDivison();
		})
	});
	
	var addOffice = $$('.addOffice');
	addOffice.each(function(elOffice) {
		elOffice.removeEvents().addEvent('click', function(evt) {
			evt.stop();
            //reset form 
			$('teamsFrmOffice').reset();
			if(this.getParent().getElement("input[name=company_id]").value) {
				if($('company_id')) {
					$('teamsFrmOffice').getElement('input[id=company_id]').value = this.getParent().getElement("input[name=company_id]").value;
				} else {
					var inputHidden = new Element('input' , {'type': 'hidden', 'name':'company_id' , 'id': 'company_id', 'value' : this.getParent().getElement("input[name=company_id]").value});
					inputHidden.inject($('teamsFrmOffice'));
				}	
			}
			//if click add office
			if(isAddingDivision == 1 || isAddingOffice ==1 || isAddingTeam == 1) {
				initteamsFrmOffice(this.getPrevious().value);
				return true;
			}
			isAddingOffice = 1;
			var selectOffice = $('cmbTeam');
			deleteOption(selectOffice);
			if($('stepWizard')){
				$('profileOffice').getElement('input[id=btnRemove]').setStyle('display' , 'none');
				opaceIt($('profileOffice'), 1);
			} else {
				$('profileDivision').setStyle('display' , 'none');
				$('profileOffice').setStyle('display' , 'block');
				$('profileTeam').setStyle('display' , 'none');
				if($('profileGreenOfficer')) $('profileGreenOfficer').setStyle('display' , 'none');
			}
			if(this.getNext()){
				var aTeam = this.getNext();
			}
			else{
				var aTeam = new Element('ul').inject(this.getParent());
			}
			if(aTeam.getLast()) {
				aTeam.getLast().removeClass('teamLast');
				aTeam.getLast().removeClass('last');
			} 
			var liLink = new Element('li' , {'class': 'last'});
			var aSpan = new Element('span' , {'text': 'Adding Office...', 'id' : 'addingOffice', 'class' :'active'});
			
			var liNewLink = liLink.inject(aTeam);
			var img = new Element('img' ,{ 'width': '14px', 'height': '14px', 'src' : applicationurl+'/public/images/illus_blank.gif' });
			img.inject(liNewLink);			
			aSpan.inject(liNewLink);
			//remove editTeam
			if($('editName')) {
				var editName = $('editName');
				editName.removeClass('active');
				editName.setProperty('id' , '');
			}
			
			//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;
				}
			}
			if($('office_id_edit')) {
				$('office_id_edit').dispose();
			}
			if($('green_id_edit')) $('green_id_edit').dispose();
			//end
			if(!$('stepWizard'))
				var aLink = new Element('a', {'class': 'addTeam', 'title':'Add Team', 'text':'+ Add Team','href':'#'}).inject(liNewLink);
			initAddDivison();
		});
	});
	
	var addTeam = $$('.addTeam');
	addTeam.each(function(elTeam) {
		elTeam.removeEvents().addEvent('click', function(evt) {
			evt.stop();
			//reset form 
			$('teamsFrmTeam').reset();
			if(this.getPrevious().value) {
				if($('office_id')) {
					$('teamsFrmTeam').getElement('input[id=office_id]').value = this.getPrevious().value;					
				} else {
					var inputHidden = new Element('input' , {'type': 'hidden', 'name':'office_id' , 'id': 'office_id', 'value' : this.getPrevious().value});
					inputHidden.inject($('teamsFrmTeam'));
				}	
			}
			//if click add division
			if(isAddingDivision == 1 || isAddingOffice ==1 || isAddingTeam == 1) {
				initteamsFrmTeam();				
				return true;
			}
			isAddingTeam = 1;
			if($('stepWizard')){
				$('profileTeam').getElement('input[id=btnRemove]').setStyle('display' , 'none');
				opaceIt($('profileTeam'), 1);
			} else {
				$('profileDivision').setStyle('display' , 'none');
				$('profileOffice').setStyle('display' , 'none');
				if($('profileGreenOfficer')) $('profileGreenOfficer').setStyle('display' , 'none');
				$('profileTeam').setStyle('display' , 'block');
			}
			//team
			if(this.getNext()) {
				var aTeam = this.getNext();
			}
			else{
				var aTeam = new Element('ul').inject(this.getParent());
			}
			if(aTeam.getLast()) {
				aTeam.getLast().removeClass('teamLast');
				aTeam.getLast().addClass('team');
			}	
			// remove class active
			elTeam.getParent().getElements('span').each(function(elSpanRemove){
				if(!elSpanRemove.getParent().hasClass('teamLast')){
					elSpanRemove.removeClass('active');
				}
			});
			
			
			
			var liLink = new Element('li' , {'class': 'teamLast'});
			var aSpan = new Element('span' , {'text': 'Adding team...', 'id': 'addingTeam', 'class' :'active'});
			var liNewLink = liLink.inject(aTeam);
			var imgLI = new Element('img' ,{ 'width': '14px', 'height': '14px', 'src' : applicationurl+'/public/images/illus_blank.gif' });
			imgLI.inject(liNewLink);
			aSpan.inject(liNewLink);
			
			//remove editTeam
			if($('editName')) {
				var editName = $('editName');				
				editName.removeClass('active');
				editName.setProperty('id' , '');
			} 
			//
			if($('team_id_edit')) {
				$('team_id_edit').dispose();
			}			
			//end
			if(!this.getParent().getElement('input[id=user_id]')) {
				//var aLink = new Element('a', {'class': 'addGreen', 'title':'Add Green Officer', 'text':'+ Add Green Officer','href':'#'}).inject(liNewLink);
			}	
			initAddDivison();
			var arrLIelTeamAdd = elTeam.getNext().getElements('li');
			if(arrLIelTeamAdd.length > 0) {
				arrLIelTeamAdd.each(function(li, indexLI){
					if(indexLI !=  arrLIelTeamAdd.length -1) {
						li.removeClass('last');
						li.removeClass('team');
						li.removeClass('teamLast');
					}
				});				
			}
		});
	});
	var addGreen = $$('.addGreen');
	addGreen.each(function(elTeam) {
		elTeam.removeEvents().addEvent('click', function(evt) {
			evt.stop();
			//reset form 
			$('frmGreenOfficer').reset();
			if(this.getPrevious().value) {
				if($('id_team')) {
					$('frmGreenOfficer').getElement('input[id=id_team]').value = this.getPrevious().value;					
				} else {
					var inputHidden = new Element('input' , {'type': 'hidden', 'name':'id_team' , 'id': 'id_team', 'value' : this.getPrevious().value});
					inputHidden.inject($('frmGreenOfficer'));
				}	
			}
			//if click add division
			if(isAddingDivision == 1 || isAddingOffice ==1 || isAddingTeam == 1) {
				initteamsFrmTeam();
				return true;
			}
			isAddingTeam = 1;
			if($('stepWizard')){
				$('profileGreenOfficer').getElement('input[id=btnRemove]').setStyle('display' , 'none');
				opaceIt($('profileGreenOfficer'), 1);
			} else {
				$('profileDivision').setStyle('display' , 'none');
				$('profileOffice').setStyle('display' , 'none');
				$('profileTeam').setStyle('display' , 'none');
				if($('profileGreenOfficer')) $('profileGreenOfficer').setStyle('display' , 'block');
			}
			//team
			if(this.getNext()) {
				var aTeam = this.getNext();
			}
			else{
				var aTeam = new Element('ul').inject(this.getParent());
			}
			if(aTeam.getLast()) {
				aTeam.getLast().removeClass('teamLast');
				aTeam.getLast().addClass('team');
			}	
			var liLink = new Element('li' , {'class': 'teamLast'});
			var aSpan = new Element('span' , {'text': 'Adding Green Officer...', 'id': 'addingTeam', 'class' :'active'});
			
			var liNewLink = liLink.inject(aTeam);
			aSpan.inject(liNewLink);
			//remove editTeam
			if($('editName')) {
				var editName = $('editName');
				editName.removeClass('active');
				editName.setProperty('id' , '');
			}
			//
			if($('team_id_edit')) {
				$('team_id_edit').dispose();
			}			
			//end
		});
	});
	editCompanyandTeam();	
}
/**
	@paramater null
	@edit struc

**/

function editCompanyandTeam() {
	//set for edit from company
	var struc = $$('.companyStructure');
	if(struc.length == 0) {
		return true;
	}
	var company = struc[0].getElement('ul');
    var arrSpan = company.getElements('span');
	arrSpan.each(function(elSpan , index){
		
		elSpan.removeEvents().addEvent('click' , function(evt) {
			arrSpan.removeClass('currentItemTeam');
			arrSpan.removeClass('active');
			elSpan.addClass('currentItemTeam');
			evt.stop();			
			if(this.getProperty('id') == "addingDivision" || this.getProperty('id') == "addingOffice" || this.getProperty('id') == "addingTeam" || this.getProperty('id') == "addingGreen") {
				return true;
			}
			if(this.getFirst()) { 
				// call ajax
				editStruc(this.getFirst().get('name') , this.getFirst().get('value'));				
			}	
			var span = $('editName');
			if(span){
				span.setProperty('id' , '');	
				span.removeClass('active');	
			}	
			elSpan.setProperty('id' , 'editName');
			
			company.getElements('span').removeClass('active');
			
			elSpan.addClass('active');
			if($('addingDivision')){
				isAddingDivision = 0;
				if($('addingDivision').getParent().hasClass('last')){
					if($('addingDivision').getParent().getPrevious()) $('addingDivision').getParent().getPrevious().addClass('last');
				}
				$('addingDivision').getParent().dispose();
			}
			if($('addingOffice')){
				isAddingOffice = 0;
				if($('addingOffice').getParent().hasClass('last')){
					if($('addingOffice').getParent().getPrevious()) $('addingOffice').getParent().getPrevious().addClass('last');
				}
				$('addingOffice').getParent().dispose();
			}
			if($('addingTeam')){
				isAddingTeam = 0;
				if($('addingTeam').getParent().hasClass('teamLast')){
					if($('addingTeam').getParent().getPrevious()) $('addingTeam').getParent().getPrevious().addClass('teamLast');
				}
				$('addingTeam').getParent().dispose();
			}
		});
		
	});
}