summaryrefslogblamecommitdiffstats
path: root/public/media/js/script.js
blob: 641a24e498c985cf4a4bab2baa0ceb1b280536cb (plain) (tree)






































                                                                                                                                                 


                                                                                                                                 
                                                                                                       

                                                                        

                                                                             
                                                                               

                                                                                          

                                                                                    










                                                                                               
 

                                  

 

                                    

 

                                                                   

 

                                                      

 







                                                   



                                       






                                                          
 

                                                   






                                                        
                

                                                          
                                             

                                                          
                                             


                                                         


                                                          
         

 
                                                 






                                                      







                                                          



                                                            
                                  
                                            

                                                                                     
                                                

                                         



                                             




                                                   






                                                          


                                              
                           



                                                                                 


         
                                                             


                                                                                  
                              

                                                   

                                                       

                                                          
                                           
                                              
                                      
                           

                                                                    
                                                    










                                                              

                                                                    
                 






                                                                               


                                                 

                                                         

                                                          
                                     
                                              
                                            
                           

                                                                            
                                                     
                                                              
                

                                                 

                                                         

                                                          
                                     
                                              
                                            
                           

                                                                    
                                                     
                                                              
         
                                

 
                                 
                                      
                           


                                                          


                                                        
                                  


                                                        



                                                          

 
                                              
                                      





                                                                             
                        


                                                                               

                 

 





                                    








                                                                           
 
$(document)
		.ready(
				function() {
					if ($('.listelement .element').find('.dispnone').length >= 1) {
						$('.listelement .element')
								.find('.dispnone')
								.parent()
								.find('.title')
								.css('cursor', 'pointer')
								.prepend(
										"<span class='toggler'><img src='/media/img/right.png'></span> ")
								.data('toggle', '0');

						$('.listelement .title').click(
								function() {
									$(this).siblings('.dispnone').toggle();
									if ($(this).data('toggle') == '0') {
										$(this).data('toggle', '1');
										$(this).find('.toggler img').attr(
												'src', '/media/img/down.png')
									} else {
										$(this).data('toggle', '0');
										$(this).find('.toggler img').attr(
												'src', '/media/img/right.png')
									}
								});
					}
					$('.helpericon').click(
							function() {
								$('.infobox').slideToggle('fast');
								if ($(this).data('info') == '1') {
									$(this).data('info', '0').attr('src',
											'/media/img/bulb_off.png');
								} else {
									$(this).data('info', '1').attr('src',
											'/media/img/bulb_on.png');
								}
							});
					path = window.location.pathname.split('/');
					if (path[1] == 'person'
							&& (path[2] == 'owndetails' || path[2] == 'edit' || path[2] == 'request')
							&& path[3] != 'personID') {
						mypath = '/' + path[1] + '/' + path[2] + '/owndetails';
					} else if (path[1] == 'event') {
						mypath = '/event';
					} else if (path[1] == 'statistics') {
						if (!path[2]) {
							mypath = '/statistics';
						} else {
							mypath = '/statistics/' + path[2];
						}
						setElementVisible('statisticsTree');
					} else {
						mypath = '/' + path[1] + '/' + path[2];
					}
					$('.portletNavigationTree a').each(function() {
						if ($(this).attr('href') == mypath) {
							/* console.log($(this).parent()); */
							$(this).addClass('navTreeCurrentNode');
							$(this).addClass('navTreeCurrentItem');
						}
					});
				});

function setElementVisible(name) {
	$('#' + name).show();
}

function setElementInvisible(name) {
	$('#' + name).hide();
}

function setElementAttribute(name, attributeName, attributeValue) {
	$('#' + name).attr(attributeName, attributeValue);
}

function removeElementAttribute(name, attributeName) {
	$('#' + name).removeAttr(attributeName);
}

function getElementAttribute(name, attributeName) {
	return $('#' + name).attr(attributeName);
}

function getElementValue(name) {
	return $('#' + name).val();
}

function setElementValue(name, value) {
	$('#' + name).val(value);
}

function disableElement(name) {
	setElementAttribute(name, 'disabled', 'disabled');
}

function enableElement(name) {
	removeElementAttribute(name, 'disabled');
}

function repeatChanged(name) {
	if (getElementAttribute(name, 'checked')) {
		setElementVisible("repeattype-label");
		setElementVisible("repeattype-element");
		enableElement('repeattype');
		setElementVisible("repeatend-label");
		setElementVisible("repeatend-element");
		enableElement('repeatend');
		repeatendChanged('repeatend');
	} else {
		setElementInvisible("repeatdate-label");
		setElementInvisible("repeatdate-element");
		disableElement('repeatdate');
		setElementInvisible("repeattype-label");
		setElementInvisible("repeattype-element");
		disableElement('repeattype');
		setElementInvisible("repeatend-label");
		setElementInvisible("repeatend-element");
		disableElement('repeatend');
		setElementInvisible("repeatings-label");
		setElementInvisible("repeatings-element");
		disableElement('repeatings');
	}
}

function immediateChanged(name, bootosIDs, add) {
	if (getElementAttribute(name, 'checked')) {
		setElementInvisible("start-label");
		setElementInvisible("start-element");
		setElementInvisible("end-label");
		setElementInvisible("end-element");
		setElementInvisible("repeat-label");
		setElementInvisible("repeat-element");
		setElementInvisible("repeattype-label");
		setElementInvisible("repeattype-element");
		setElementInvisible("repeatend-label");
		setElementInvisible("repeatend-element");
		setElementInvisible("repeatdate-label");
		setElementInvisible("repeatdate-element");
		setElementInvisible("repeatings-label");
		setElementInvisible("repeatings-element");
		setElementInvisible("note-label");
		setElementInvisible("note-element");
		setElementInvisible("participants-label");
		setElementInvisible("participants-element");
		date = new Date();
		month = date.getMonth() + 1;
		start = month + '/' + date.getDate() + '/' + date.getFullYear() + ' '
				+ date.getHours() + ':' + date.getMinutes();
		setElementValue('start', start);
		disableElement('end');
		disableElement('repeat');
		disableElement('repeattype');
		disableElement('repeatend');
		disableElement('repeatdate');
		disableElement('repeatings');
		disableElement('note');
		disableElement('participants');
	} else {
		setElementVisible("start-label");
		setElementVisible("start-element");
		setElementVisible("repeat-label");
		setElementVisible("repeat-element");
		setElementVisible("note-label");
		setElementVisible("note-element");
		setElementVisible("participants-label");
		setElementVisible("participants-element");
		enableElement('start');
		enableElement('repeat');
		enableElement('note');
		enableElement('participants');
		if (!add) {
			addeventcategoryfieldChanged('category', bootosIDs);
		} else {
			addeventcategoryfieldChanged('category', bootosIDs, add);
		}
	}
}

function addeventcategoryfieldChanged(name, bootosIDs, add) {
	option = $('#' + name + ' option[value="' + getElementValue(name) + '"]');
	label = option.attr('label');
	startLabel = $('#start-label');
	if (label == 'Boot') {
		setElementInvisible("end-label");
		setElementInvisible("end-element");
		setElementVisible("immediate-label");
		setElementVisible("immediate-element");
		setElementVisible("pbs_bootosID-label");
		setElementVisible("pbs_bootosID-element");
		enableElement('immediate');
		enableElement('pbs_bootosID');
		disableElement('end');
		if (!add) {
			removeElementAttribute('repeat', 'checked');
		}
		startLabel.children().text('Date:');
		bootosfieldChanged('pbs_bootosID', bootosIDs);
	} else if (label == 'Shutdown') {
		setElementInvisible("end-label");
		setElementInvisible("end-element");
		setElementInvisible("pbs_bootosID-label");
		setElementInvisible("pbs_bootosID-element");
		setElementVisible("immediate-label");
		setElementVisible("immediate-element");
		enableElement('immediate');
		disableElement('end');
		disableElement('pbs_bootosID');
		if (!add) {
			removeElementAttribute('repeat', 'checked');
		}
		startLabel.children().text('Date:');
		for (i = 0; i < bootosIDs.length; i++) {
			id = bootosIDs[i];
			setElementInvisible("pbs_configID_" + id + "-label");
			setElementInvisible("pbs_configID_" + id + "-element");
			disableElement("pbs_configID_" + id);
		}
	} else if (label == 'Lecture') {
		setElementVisible("end-label");
		setElementVisible("end-element");
		setElementInvisible("immediate-label");
		setElementInvisible("immediate-element");
		setElementVisible("pbs_bootosID-label");
		setElementVisible("pbs_bootosID-element");
		enableElement('end');
		enableElement('pbs_bootosID');
		disableElement('immediate');
		if (!add) {
			setElementAttribute('repeat', 'checked', 'checked');
		}
		startLabel.children().text('Start:');
		bootosfieldChanged('pbs_bootosID', bootosIDs);
	} else {
		setElementVisible("end-label");
		setElementVisible("end-element");
		setElementInvisible("immediate-label");
		setElementInvisible("immediate-element");
		setElementVisible("pbs_bootosID-label");
		setElementVisible("pbs_bootosID-element");
		enableElement('end');
		enableElement('pbs_bootosID');
		disableElement('immediate');
		if (!add) {
			removeElementAttribute('repeat', 'checked');
		}
		startLabel.children().text('Start:');
		bootosfieldChanged('pbs_bootosID', bootosIDs);
	}
	repeatChanged('repeat');
}

function repeatendChanged(name) {
	value = getElementValue(name);
	if (value == '1') {
		setElementInvisible("repeatdate-label");
		setElementInvisible("repeatdate-element");
		disableElement('repeatdate');
		setElementVisible("repeatings-label");
		setElementVisible("repeatings-element");
		enableElement('repeatings');
	} else if (value == '2') {
		setElementVisible("repeatdate-label");
		setElementVisible("repeatdate-element");
		enableElement('repeatdate');
		setElementInvisible("repeatings-label");
		setElementInvisible("repeatings-element");
		disableElement('repeatings');
	}
}

function bootosfieldChanged(name, bootosIDs) {
	value = getElementValue(name);
	for (i = 0; i < bootosIDs.length; i++) {
		id = bootosIDs[i];
		if (value == id) {
			setElementVisible("pbs_configID_" + id + "-label");
			setElementVisible("pbs_configID_" + id + "-element");
			enableElement("pbs_configID_" + id);
		} else {
			setElementInvisible("pbs_configID_" + id + "-label");
			setElementInvisible("pbs_configID_" + id + "-element");
			disableElement("pbs_configID_" + id);
		}
	}
}

function editEnableOnSubmit() {
	enableElement('repeattype');
	enableElement('repeatend');
	return true;
}

function getOverlappingVar() {
	if (window.location.href.search(/overlapping/) >= 0) {
		index = window.location.href.indexOf('/overlapping/') + 13;
		end = index + 1;
		substring = window.location.href.substring(index, end);
		return substring;
	} else {
		return 0;
	}
}