$(document).ready(function(){
	
	$('#frmCreateFolder').submit(function(event){

		var form = $('form.ajax'); 
		if (form.hasClass('ajax'))
		{
			var is_error = false; 
			form.find('input.required, select.required, textarea.required').each(function(){
				if ($(this).val() == "")
				{
					$(this).showError($(this).attr('title')); 
					is_error = true;
					return false; 
				}
			}); 

			if (is_error == false)
			{
				
				$.post(
					form.attr('action'),
					{
						create_folder_path: $('#create_folder_path').val(),
						folder_name: $('#folder_name').val()
					},
					function (data){
						var myObject = eval('(' + data + ')'); 
						alert(myObject.message); 
						if (myObject.status == true)
						{							
							$('#folder_name').val(""); 
							showResponse(myObject.current_folder, myObject.parent); 
						}
						
					},
					'html'
				); 
			}
			

		}

		return false; 
	}); 

	$('input, select, textarea').focus(function(){
		$(this).clearError(); 
	}); 

	$('#button_upload').click(function(){

		if ($(this).hasClass('enable'))
		{
			$('#action').val('save'); 
		
			var is_error = false; 
			var form = $('form.upload'); 
			if (form.hasClass('upload'))
			{
				var is_error = false; 
				form.find('input, select, textarea').each(function(){
					if ($(this).hasClass('fck')) 
					{
						$(this).val($.fck.content($(this).attr('name')))
					}
					if ($(this).hasClass('required') && $(this).val() == "")
					{
						alert($(this).attr('title')); 
						is_error = true; 
						return false; 
					}
				}); 
				if (is_error == false)
				{
					form.ajaxSubmit({
						target: '#file_manager_list',
						dataType: 'JSON', 
						beforeSubmit: showRequest,
						success: function(data){
							if (data != null) 
							{
								var my_object = eval('(' + data + ')'); 
								if (my_object.upload_status == false) 
								{
									alert(my_object.upload_message); 
								}
								$('#file_upload').val(""); 
								showResponse(my_object.current_folder, my_object.parent); 
							}					
						}				
					});
				}  
			} 
		}	

		return false; 
	}); 


}); 

function showRequest() 
{
	$('#upload_output').html('<img src="/resources/images/ajax-loader.gif" alt="" />'); 
}
function showResponse(folder, parent) 
{
	if (folder != "" && folder != undefined)
	{
		$('#file_manager_list').load('/libs/file_manager/in_folder/' + folder + '/' + parent); 
	}
	else 
	{
		$('#modal').load('/libs/file_manager'); 
	}
}	




function bindModal(input, mwidth, mheight, mtitle, mrefer) 
{
	if (mwidth == "" || mwidth == undefined)
	{
		mwidth = 750; 
	}
	if (mheight == "" || mheight == undefined)
	{
		mheight = 400; 
	}
	if (mtitle == "" || mtitle == undefined)
	{
		mtitle = "View Detail"; 
	}


	$('#modal').dialog('destroy'); 

	$.cookie('refer', mrefer, {path:'/'}); 
	
	var dialogOpts = {
			title: mtitle,
			modal: true,
			autoOpen: false,
			width: parseInt(mwidth), 
			height: parseInt(mheight), 
			 open: function() {
				 $('body').find('select').css('display', 'none'); 
				 $("#modal").load(input.attr('href')); 
			},
			close: function(){
				$('body').find('select').css('display', 'inline'); 			
				$('#modal').dialog('destroy'); 
				$.cookie('refer', null, {path:'/'}); 
			}
		};
	$("#modal").dialog(dialogOpts); 
	
	$('#modal').dialog('open'); 
	
}


(function($) {
	$.fn.validEmail = function() {
		var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
		return pattern.test(this.val());
	}

	$.fn.isNumeric = function(elem){
		var numericExpression = /^[0-9]+$/
		if (elem.value.match(numericExpression))
		{
			return true;
		}
		else
		{
			alert('Please fill in textbox with numeric only !! ');
			elem.focus();
			return false;
		}
	}	

	$.fn.showError = function(message){
		this.after('<em class="error"></em>').siblings('em').html(message);
	}
	$.fn.clearError = function(){ 
		this.after('<em class="error"></em>').siblings('em').remove(); 
	}


})(jQuery);

