//***************************************************************************
// ProjectAttributes Constructor											*
// comments:																*
//***************************************************************************
function ProjectAttributes() {
	
}

//***************************************************************************
// ProjectAttributes doAttr													*
// @type	'string'														*
// @definition	'string'													*
// @action	'string'														*
// @doAction	'string'													*
// @disabled	'string'													*
// comments: 	if the attribute type exists, do something with the 		*
//				attributes
//***************************************************************************
ProjectAttributes.prototype.doAttr = function (type, definition, action, doAction, disabled) {

}

var projectAttributes = new ProjectAttributes();

function ShowHide(id){
	var obj				= document.getElementById(id);
	if (obj.className == 'hide') {
		obj.className = 'show';
	} else {
		obj.className = 'hide';
	}
}

setSelectValue = function (selectObj, inputId){
	document.getElementById(inputId).value = selectObj.value;
}

setTimeValues = function (timeFrom, timeUntil){
	var aFrom 		= timeFrom.split('::');
	var aUntil		= timeUntil.split('::');
	
	var fieldFrom 	= document.getElementById(aFrom[0]);
	var fieldUntil	= document.getElementById(aUntil[0]);
	
	if(fieldFrom){		
		fieldFrom.value = document.getElementById(aFrom[1]).value + document.getElementById(aFrom[2]).value;
	} 
	
	if(fieldUntil){		
		fieldUntil.value = document.getElementById(aUntil[1]).value + document.getElementById(aUntil[2]).value;
	}
}

validAbsenceDate = function(dateInput, refDate){
		
	dateInput 	= parseInt(dateInput.replace(/-/g, ''));	
	refDate		= parseInt(refDate.replace(/-/g, ''));	
	
	return (dateInput < refDate) ? false : true;
		
}

checkCategoriesByString = function(box, list){
			
	var categories	= list.toLowerCase().split(',');	
	var boxes		= $$('input.checkbox');
	var boxLen		= boxes.length;
	
	for(var i = 0; i < boxLen; i++){
		if(inArray(boxes[i].value.toLowerCase(), categories)){			
			boxes[i].checked = true;
		} else {			
			boxes[i].checked = false;
		}
	}
	
	
}

inArray = function(needle, haystack){
		
	var len = haystack.length;
	
	for(var i = 0; i < len; i++){		
		if(needle == haystack[i]){			
			return true;
		}
	}
	
	return false;
}

/*
	being used at the moment to set a click action on the cancel button in the
	send newsletter popup to refresh the overview list of newsletters
*/
setRefreshListAction = function(type, objectId, url){
	var object = $(objectId);
	
	switch(type){
		case "onclick":			
			object.observe('click', function(event){
				loadingTemplatesWithAjax.loadTpl(url);
			});
			
			break;
		default:
			break
	}
}

/*
	function to check the emailaddresses used for test mailing
*/
checkTestEmailAddresses = function(formId){
	
	var inputFields		= $(formId).getElementsByTagName('input');
	var addressString	= '';	
	var validRegExp 	= new RegExp("^([a-zA-Z0-9\\-\\.\\_]+)(\\@)([a-zA-Z0-9\\-\\.]+)(\\.)([a-zA-Z]{2,4})$");
	var alertString		= 'De volgende emailadressen zijn onjuist:';
	var allValid		= true;
	
	for(var i = 0; i < inputFields.length; i++){
		if(inputFields[i].id.indexOf('emails') != -1){
			addressString = inputFields[i].value;
		}
	}
	
	var addressArray = addressString.split(',');	
	
	for(var i = 0; i < addressArray.length; i++){
		if (addressArray[i].search(validRegExp) == -1){
			alertString += '\n- ' + addressArray[i];
			allValid = false;
		}
	}	

	if(allValid){
		return true;
	}else{
		alert(alertString);
		return false;
	}
}

