﻿// JScript File
function getForm() {
	var formid;

	//find all forms
	$$('div.feng_form').each( function(form) {
		formid = $w(form.className)[1]
		getFormItems(formid,form)
	})

}

function getFormItems(formid,form){
	//find all form items
	var items = new formItems;
	var item = new formItem;
	
	form.select('div.feng_item').each( function(_formItem) {
		var _id;
		var _type;
		
		_id = $w(_formItem.className)[1] 
		_type = $w(_formItem.className)[2] 
		
		item = new formItem;
		
		item.ID = _id;
		item.controlType = _type;
	
		//find function related to field
		var funcName = 'get_' + _type;
						
		if (typeof funcName == 'string' && eval('typeof ' + funcName) == 'function') {
			item.values =  eval(funcName +  '(_formItem)');
			items.itemList[item.ID] = item;
		}
		
	})
	
	validateFormItems(formid,form,items);
}

function get_textbox(item){
	var _items = new Object();
	
	_items['result'] = item.select('input.textbox')[0].value;
	
	return _items;
}


function get_eandual(item){
	var _items = new Object();
	
	_items['result1'] = item.select('input.textbox')[0].value;
	_items['result2'] = item.select('input.textbox')[1].value;
	
	return _items;
}

function get_eantripple(item){
	var _items = new Object();
	
	_items['result1'] = item.select('input.textbox')[0].value;
	_items['result2'] = item.select('input.textbox')[1].value;
	_items['result3'] = item.select('input.textbox')[2].value;
	
	return _items;
}

function get_textarea(item){
	var _items = new Object();
	
	_items['result'] = item.select('.textarea')[0].value;
	
	return _items;
}


function get_checkboxlist(item){
	var _items = new Object();
	
	item.select('input.checkbox').each( function(_checkbox){
			if(_checkbox.checked){
				_items[$w(_checkbox.className)[1]] = _checkbox.value;
			}
		}
	)			
	
	return _items;
}

function get_radiolist(item){
	var _items = new Object();
	
	item.select('input.checkbox').each( function(_checkbox){
			if(_checkbox.checked){
				_items[$w(_checkbox.className)[1]] = _checkbox.value;
			}
		}
	)			
	
	return _items;
}

function get_disclaimer(item){
	var _items = new Object();
	
	_items['result'] = '';
	
	if(item.select('.checkbox')[0].checked) {
		_items['result'] = item.select('.checkbox')[0].value;	
	}	
	
	return _items;
}

function get_filelist(item) {
	var _items = new Object();
	var _counter = 1;
	
	item.select('li:visible').each( function(_li){
			if(jQuery(_li).data('orgFileName')){
				_items['file' + _counter] = jQuery(_li).data('orgFileName') + '|' + jQuery(_li).data('newFileName');
				_counter = _counter + 1;
			}
		}
	)	
	
	return _items;
	
}

function get_dropdown(item){
	var _items = new Object();
	
	item.select('select.dropdown').each( function(_dropdown){
			_items[$w(_dropdown.className)[1]] = _dropdown.value;
		}
	)			
	
	return _items;
}

function get_gbg_previous(item){
	var _items = new Object();
	
	
	if(item.select('input.paketering')[0].checked) {
		_items['paketering'] = item.select('input.paketering')[0].value;
		_items['paketering_linje'] = item.select('input.paketering_linje')[0].value;
	}

	if(item.select('input.bageri')[0].checked) {
		_items['bageri'] = item.select('input.bageri')[0].value;
		_items['bageri_linje'] = item.select('input.bageri_linje')[0].value;
	}
	
	if(item.select('input.distribution')[0].checked) {
		_items['distribution'] = item.select('input.distribution')[0].value;
	}
	
	if(item.select('input.annat')[0].checked) {
		_items['annat'] = item.select('input.annat')[0].value;
		_items['annat_text'] = item.select('input.annat_text')[0].value;
	}
			
	return _items;
}



function saveFormItems(formid,form,items) {
	var failed = function() {alert('saveFormItems:Something went wrong');}
	var succeeded = function(result) {
	
		var after = function() {
			var container = form.select('div.feng_done_message')[0];
			container.show();
			var effect = new fx.Height(container, { duration: 600 });
			effect.custom(0,40);
        }
		
		
		var container = form.select('div.feng_content')[0];
		var effect = new fx.Height(container, { duration: 1600,onComplete: after });
        effect.custom(container.getHeight(),0);
	
	}

	fengClient.saveFormItems(formid,items,succeeded,failed);
}

function validateFormItems(formid,form,items) {
	var failed = function() {alert('validateFormItems:Something went wrong');}
	var succeeded = function(result) {
	
		var error_item;
		var hasErrors = false;
		
		form.select('div.feng_error-message')[0].hide();
		form.select('ul.feng_error-list')[0].childElements().each(function(child) {child.remove();})
		
		form.select('div.feng_item').each(function(_item){_item.removeClassName('error');})
		
		for (key in result.errorList) {
			if(!form.select('div.' + key)[0].hasClassName('ignoreerrors')) {
				form.select('div.' + key)[0].addClassName('error');
				
				error_item = new Element('li').update(result.errorList[key].Message);
				form.select('ul.feng_error-list')[0].insert(error_item);
				form.select('div.feng_error-message')[0].show();
				
				hasErrors = true;			
			}

		}
		
		if(!hasErrors) saveFormItems(formid,form,items);
	}
	
	fengClient.validateFormItems(formid,items,succeeded,failed);
}

function toggleCheckboxes(sibbling) {
	if(sibbling.checked){
		$(sibbling).siblings().each( function(item) {
			item.checked = !sibbling.checked
		}
		)
	}
	else
	{sibbling.checked=true}
	
}

function handleEmployement(trigger) {
	var _form;
	
	if(jQuery(trigger).val() == 'Ja') {
		jQuery('div.avdelning').removeClass('ignoreerrors')
		jQuery('div.anstallnings_ar').removeClass('ignoreerrors')	
	}
	
	if(jQuery(trigger).val() == 'Nej') {
		jQuery('div.avdelning').addClass('ignoreerrors')
		jQuery('div.anstallnings_ar').addClass('ignoreerrors')	
	}

}

function handleEmployementGBG(trigger) {
	var _form;
	
	if(jQuery(trigger).val() == 'Ja') {
		jQuery('div.tidigare').removeClass('ignoreerrors')
	}
	
	if(jQuery(trigger).val() == 'Nej') {
		jQuery('div.tidigare').addClass('ignoreerrors')
	}

}
