$(document).ready(function()
{
	// jquery scripts for seals services
	$('#all-tools').accordion({ 
    active: true,
    autoheight: false, 
    header: '.head', 
    event: 'mouseover', 
    animated: 'bounceslide' 
	});
	
	$('.tool-ver').accordion({ 
    active: true,
    autoheight: false, 
    header: '.ver-head', 
    event: 'click', 
    animated: 'easeslide' 
	});
	
	$('#seals-rdf-xml *').tooltip();
	
	$('#seals-select *').tooltip();
	
	$('#add-form *').tooltip();
	
	$('#upload-form *').tooltip();
	
	$('#rdf-ops').accordion({ 
    active: true,
    autoheight: false, 
    header: '.rdf-more', 
    event: 'click', 
    animated: 'easeslide' 
	});
	
	$('.rdf-tool-ver li ul').css('height', '0');
	$('.rdf-tool-ver li ul').css('visibility', 'hidden');
	
	$('.rdf-tool-ver').click(function()
	{
		if ($('li ul', this).hasClass('tool-ver-opened'))
		{
			$('li ul', this).removeClass('tool-ver-opened');
			$('li ul', this).animate({ height: '0' }, 750, function(){ $('li ul', this).css('visibility', 'hidden'); $('li ul', this).css('height', '0'); });
			
		}
		else
		{
			$('li ul', this).addClass('tool-ver-opened');
			$('li ul', this).css('visibility', 'visible');
			$('li ul', this).animate({ height: '30px' }, 750, function(){  });
		}
	});

});

function deleteTool()
{
	var question	= 'Do you really want to delete this tool? Note: The operation can not be undone!';
	var answer = confirm(question);
	if (answer)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function deleteToolVersion()
{
	var question	= 'Do you really want to delete this tool version? Note: The operation can not be undone!';
	var answer = confirm(question);
	if (answer)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function areYouSure()
{
	var question	= 'Do you really want to delete this data content? Note: The operation can not be undone!';
	var answer = confirm(question);
	if (answer)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function getFileExtension(inputId) 
{ 
	var fileinput = document.getElementById(inputId); 
	if (!fileinput )
	{
		return "";
	}
	var filename = fileinput.value; 
	if (filename.length == 0)
	{
		return "";
	}
	var dot = filename.lastIndexOf("."); 
	if (dot == -1)
	{
		return "";
	}
	var extension = filename.substr(dot, filename.length); 
	return extension; 
}

function checkfileType(inputId) 
{ 
	var ext 		= getFileExtension(inputId);
	var allowedExt	= '.zip';
	if (ext == allowedExt) 
	{
  		return true; 
	}
 	else
	{ 
  		return false;
	}
}

function checkInput()
{
	var error_occurred	= false;
	var error_message	= Array();
	var fieldname		= '';
	error_message.push('Error! Please take a look at the following input fields:');
	
	if ($('#add-desc').val() == '')
	{
		// no description entered
		error_occurred = true;
		error_message.push(' Description');
	}
	if ($('#add-version').val() == '')
	{
		// no version number specified
		if (error_occurred == true)
		{
			fieldname = ', Version Number';
		}
		else
		{
			error_occurred = true;
			fieldname = ' Version';
		}
		error_message.push(fieldname);
	}
	if ($('#data_upl').val() == '')
	{
		// no upload file selected
		if (error_occurred == true)
		{
			fieldname = ', Upload File';
		}
		else
		{
			error_occurred = true;
			fieldname = ' Upload File';
		}
		error_message.push(fieldname);
	}
	else
	{
		// check if file extension is allowed
		var fileallowed = checkfileType('data_upl');
		if (fileallowed == false)
		{
			// wrong file type selected
			if (error_occurred == true)
			{
				fieldname = ', Upload File (ONLY ZIP FILES ALLOWED)';
			}
			else
			{
				error_occurred = true;
				fieldname = ' Upload File (ONLY ZIP FILES ALLOWED)';
			}
			error_message.push(fieldname);
		}
	}
	if ($('#add-to-data-set').val() == '')
	{
		// no data set selected
		if (error_occurred == true)
		{
			fieldname = ', Selected Data Set';
		}
		else
		{
			error_occurred = true;
			fieldname = ' Selected Data Set';
		}
		error_message.push(fieldname);
	}
	
	if (error_occurred == true)
	{
		// show error messages
		error_message.push('!');
		var showmessage = '';
		for (var i = 0; i < error_message.length; i++)
		{
			showmessage += error_message[i];
		}
		alert(showmessage);
		return false;
	}
	else
	{
		// no errors -> start upload
		return true;
	}
}

function checkInputRRS()
{
	var error_occurred	= false;
	var error_message	= Array();
	var fieldname		= '';
	error_message.push('Error! Please take a look at the following input fields:');
	
	if ($('#add-desc').val() == '')
	{
		// no description entered
		error_occurred = true;
		error_message.push(' Description');
	}
	if ($('#add-name').val() == '')
	{
		// no version number specified
		if (error_occurred == true)
		{
			fieldname = ', Name';
		}
		else
		{
			error_occurred = true;
			fieldname = ' Name';
		}
		error_message.push(fieldname);
	}
	if ($('#data_upl').val() == '')
	{
		// no upload file selected
		if (error_occurred == true)
		{
			fieldname = ', Upload File';
		}
		else
		{
			error_occurred = true;
			fieldname = ' Upload File';
		}
		error_message.push(fieldname);
	}
	else
	{
		// check if file extension is allowed
		var fileallowed = checkfileType('data_upl');
		if (fileallowed == false)
		{
			// wrong file type selected
			if (error_occurred == true)
			{
				fieldname = ', Upload File (ONLY ZIP FILES ALLOWED)';
			}
			else
			{
				error_occurred = true;
				fieldname = ' Upload File (ONLY ZIP FILES ALLOWED)';
			}
			error_message.push(fieldname);
		}
	}
	if ($('#add-category').val() == '')
	{
		// no data set selected
		if (error_occurred == true)
		{
			fieldname = ', Category';
		}
		else
		{
			error_occurred = true;
			fieldname = ' Category';
		}
		error_message.push(fieldname);
	}
	
	if (error_occurred == true)
	{
		// show error messages
		error_message.push('!');
		var showmessage = '';
		for (var i = 0; i < error_message.length; i++)
		{
			showmessage += error_message[i];
		}
		alert(showmessage);
		return false;
	}
	else
	{
		// no errors -> start upload
		return true;
	}
}

function textFader()
{
	var faderTimer	= 1000;
	if ($('#to-repository').text() != '')
	{
		if ($('#to-repository').hasClass('faded-out'))
		{
			$('#to-repository').fadeIn(faderTimer, function()
			{
				$('#to-repository').removeClass('faded-out');
				textFader();
			});
		}
		else
		{
			$('#to-repository').fadeOut(faderTimer, function()
			{
				$('#to-repository').addClass('faded-out');
				textFader();
			});
		}
	}
}

function downloadZipAttachment(obj)
{
	alert('Attention: Downloading huge files will need lots of time because the requested data has to get fetched from the repository before! Don`t close your browser window and wait until the file download dialog shows up. Please click ok to start the downloadind process!');
}
