/**
 * @author Marcel Fiedrich | Bergisch Media
 */

window.addEvent('domready', function(){

	var wssArchitectsFolders = $('architectsFolders');
	var selectedFolder = Cookie.read('architectsFolder');
	var selectedSubFolder = Cookie.read('architectsSubFolder');
	if ($chk(wssArchitectsFolders)) {
		wssArchitectsFolders.empty();
		
		var architectsForm = new Element('form', {
			'name': 'architectsForm',
			'id': 'architectsForm'
		});
		var folderSelect = new Element('select', {
			'name': 'folderSelect',
			'id':'architectsFolderSelect',
			'class':'architectsFolderSelect'
		});
		var subFolderSelect = new Element('select', {
			'name': 'subFolderSelect',
			'id':'architectsSubFolderSelect',
			'class':'architectsSubFolderSelect'
		});
		var submitButton = new Element('input', {
			'type':'submit',
			'name':'submit',
			'value':'Suchen',
			'class':'architectsSubmit'
		});
		
		if (folderLabel != null) {
			var folderLabelEl = new Element('label', {
				'for': 'architectsFolderSelect',
				'html': folderLabel,
				'styles': {
					'display':'block'
				}
			});
		}
		if (subFolderLabel != null) {
			var subFolderLabelEl = new Element('label', {
				'for': 'architectsSubFolderSelect',
				'html': subFolderLabel,
				'styles': {
					'display':'block'
				}
			});
		}
		
		var getJSON = new function(){
			var jsonRequest = new Request.JSON({
				'url': '/index.php?type=188&pathHash=' + pathHash,
				onComplete: function(jsonObjs){
					architectsForm.inject(wssArchitectsFolders);
					if (folderLabel != null)
					folderLabelEl.inject(architectsForm);
					folderSelect.inject(architectsForm);
					if (subFolderLabel != null)
					subFolderLabelEl.inject(architectsForm);
					subFolderSelect.inject(architectsForm);
					submitButton.inject(architectsForm);
					var folderArr = jsonObjs.json_architects;
					if(selectedFolder == null){
						folderArr.each(function(element,index) {
							if(index == 0) {
								selectedFolder = element.folder;
								var subFolderArr = element.subfolder;
								subFolderArr.each(function(element, index){
									if(index == 0) {
										selectedSubFolder = element.folder;
									}
								});
							}
						});
					}
					function fillSelect(selectedFolder, selectedSubFolder){
						folderSelect.empty();
						subFolderSelect.empty();
						folderArr.each(function(element, index){
							var folderName = element.name;
							var folder = element.folder;
							if (selectedFolder == folder) {
								var folderOptions = new Element('option', {
									'text': folderName,
									'value': folder,
									'selected':'selected'
								});
							} else {
								var folderOptions = new Element('option', {
									'text': folderName,
									'value': folder
								});
							}
							folderSelect.grab(folderOptions);
							if (selectedFolder == folder) {
								var subFolderArr = element.subfolder;
								subFolderArr.each(function(element, index){
									var subFolderName = element.name;
									var subFolder = element.folder;
									if (selectedSubFolder == subFolder) {
										var subFolderOptions = new Element('option', {
											'text': subFolderName,
											'value': subFolder,
											'selected':'selected'
										});
									} else {
										var subFolderOptions = new Element('option', {
											'text': subFolderName,
											'value': subFolder
										});
									}
									subFolderSelect.grab(subFolderOptions);
								});
							}
						});
					}
					fillSelect(selectedFolder, selectedSubFolder);
					folderSelect.addEvent('change', function() {
						selectedFolder = folderSelect.value;
						selectedSubFolder = subFolderSelect.value;
						fillSelect(selectedFolder, selectedSubFolder);
					});
					submitButton.addEvent('click', function(e){
						e = new Event(e);
						e.stop();
						var folderCookie = Cookie.write('architectsFolder', folderSelect.value);
						var subFolderCookie = Cookie.write('architectsSubFolder', subFolderSelect.value);
						window.location.href = window.location.pathname + '?tx_wssarchitects_pi1[pfad]=' + folderSelect.value + '/' + subFolderSelect.value
					});
				}
			}).send();
		}
	}

});