$().ready(function(){
		init_file_upload();
        });

//var fld_id = 0;
function printfolder()
{
	  $('#loading').show();
	  $.post('/services/printfolder/rnd='+Math.random(),
					function(data)  
                                      	{ 
                                               $('#file_folder_display').html(data);
                                     	});	
}
function getfiles(folder_id){
	fld_id = folder_id;
	$('#loading').show();
	$.post('/services/printfiles/rnd='+Math.random(),
					  {fid:folder_id},
					  	function(data){
						 $('#file_folder_display').html(data);
						 $('#loading').hide();
					  });
}
function getfiletype(name,val,folder_id)
{
	$('#file_type_title').html(name);
	$('#hdn_file_type').val(val);
	getfolder(folder_id,val);
	
}
	function fileupload(folder_id)
	{
 	   $('#loading').show();                                   
                         $.ajaxFileUpload({
                                url:'/services/file/upload.php?fid='+folder_id,
                                secureuri:false,
                                fileElementId:'fileToUpload',
                                dataType: 'json',
                                success:function (data, status)
                                {
                                   get_files(folder_id);
         
                                },
                                error:function (data, status)
                                {
                                  get_files(folder_id);

                                }
                                });
                    return false;
     }
	function addfile(file_name,type,mime,path,id)
	{
		if(type == 'INLINE'){
		}
		else{
			$('#'+file_attach).append("<span id='attach_"+id+"'><a href='"+path+"'><img src='/media/images/file.png' height=40px width=40px /> "+file_name+" </a><br /><a href='javascript:removeme("+id+");' >remove</a><br /></span>");
		}
	}

	function init_file_upload(){
		$(document.body).prepend('<div class="jqmWindow box" style="left:30%;top:5%;z-index:9999999" id="media_uploads">'+ '<div class="boxHeader" style="width:710px;background-color:#EAF3FA;"><a href="#" class="jqmClose" style="color:#0861AD"><b>[X]</b></a>  Manage Files</div>'
                + '<div align="center" class="boxBody">'
                + '<div id="file_data"><img src="http://software.intel.com/media/images/progressbar.gif"></div><br>'
                + '<br>'
                + '</div>'
                + '</div>'
                );
	        $('#media_uploads').jqm({
                	overlay:10,
                	modal: true,
                	onHide: function(hash){
                        	hash.w.fadeOut('1000',function(){ hash.o.remove(); });
                	}
        	});
	}

	function removeme(id){
		$('#attach_'+id).remove();
	}
	function deletefile(id){
		if(confirm("do you really want to delete this file?") == true){
		  $.post('/services/deletefile/rnd='+Math.random(),{fid:id},
 		  function(data)  
                     { 
			getfiles(fld_id);
                                  	});	
		}
		
	}
	var marker;
        function show_file_upload(){
		if(typeof tinyMCE != 'undefined'){
			var content  = tinyMCE.getInstanceById(file_inline);
        	        marker = content.selection.getBookmark();
		}
		$("#media_uploads").jqm().jqmShow();
		$('#file_data').html("<img src='/media/images/progressbar.gif' />");		
		get_folders();
	}
	function show_file(file_id,folder_id){
		var html = "";
		$.post("/services/getfiledetails/rnd="+Math.random(),{file_id:file_id},
			function(data){
				var jdata = eval('('+data+')');
				if(jdata){
					html += "<div style='width:675px;height:20px;padding-right:10px' align='right'>";
					html += "<a href='javascript:get_files("+folder_id+");'><< Back to folder</a></div>";
					html += "<div style='padding-top:5px;padding-bottom:5px;height:90px;background-color:#EAF3FA'>";
					html += "<div style='float:right;width:580px;height:90px' align='left'><b>";
					html += jdata[0]['file_name'] + "<br /><br />";
				 	html += jdata[0]['file_mime_type'] + "<br /><br />";
					html += jdata[0]['created_dt'];
					html += "</b></div>";
					html += "<div style='float:left;width:110px;height:100px' align='left'>";
					if(jdata[0]['file_type'] == "IMAGE"){
						html += "<img src='/file/"+jdata[0]['file_id']+"/m' />"; 
					}					
					else{
						html += "<div class='file_binary' style='height:90px;width:90px'></div>";
					}
					html += "<div id='file_details'>";
					html += "<table cellpadding='0' cellspacing='0'>";
					html += "<tr>";
					html += "<td><b>Title:</b></td>";
					html += "<td>&nbsp;</td>";
					html += "<td><input type='text' id='file_title' style='width:600px' value='"+jdata[0]['file_name']+"' /></td>";
					html += "</tr>";
					html += "<tr>";
					html += "<td><b>Caption:</b></td>";
					html += "<td>&nbsp;</td>";
					html += "<td><input type='text' id='file_caption' style='width:600px' value='"+jdata[0]['file_name']+"' />";
					html += "Also used as alternate text for the image</td></tr>";
					html += "<td><b>Link Url:</b></td>";
					html += "<td>&nbsp;</td>";
					html += "<td><input readonly type='text' id='file_url' style='width:600px' value='"+location.protocol+"//"+location.host+"/file/"+jdata[0]['file_id']+"' /></td></tr>";
					if(jdata[0]['file_type'] == "IMAGE"){
						html += "<tr><td><b>Size</b></td>";
						html += "<td>&nbsp;</td>";
						html += "<select style='width:200px' id='file_size'>";
						html += "<option value=''>Original</option>";
						html += "<option value='s'>Small</option>";
						html += "<option value='m'>Medium</option>";
						html += "<option value='l'>Large</option>";
						html += "<option value='xl'>X-Large</option>";
						html += "</select>";
						html += "</td></tr>"; 
					}	
					html += "</table><br /><input class='button' type='button' onclick=add_file_editor("+jdata[0]['file_id']+",'"+jdata[0]['file_type']+"'); value='Add to Editor' />";
					html += " <input type='button' class='button' onclick='add_file_attachment("+jdata[0]['file_id']+")' value='Add as Attachment' />";
					$('#file_data').html(html);
					}
			});
	}
	function add_file_attachment(id){
		var path = $('#file_url').val();
		var file_name = $('#file_title').val();
		$('#'+file_attach).append("<span id='attach_"+id+"'><a href='"+path+"'>"+file_name+" </a><br /><a href='javascript:removeme("+id+");' >remove</a><br /></span>");
	}
	function add_file_editor(id,file_type){
                var path = $('#file_url').val();
                var file_name = $('#file_title').val();
                var caption = $('#file_caption').val();
                var size = document.getElementById("file_size");
                var text = "";
                if(size){
                        var file_size = size.options[size.selectedIndex].value;
                        if(file_size != ""){
                                path += "/"+file_size;
                        }
                }
                if(typeof tinyMCE != 'undefined'){        
                        var content  = tinyMCE.getInstanceById(file_inline);        
                        if (tinyMCE.isIE){        
                                content.selection.moveToBookmark(marker);        
                        }        
                        if(file_type == "IMAGE"){
                                text = "<img src='"+path+"' title='"+file_name+"' atl='"+escape(caption)+"' />";                        }    
                        else{
                                text = "<a href='"+path+"' title='"+file_name+"' atl='"+escape(caption)+"'>"+file_name+"</a>";
                        }                           content.execCommand('mceInsertContent', false, text);                                                                            
                }         
                else{        
                        alert("Problem with the editor, please try again later!");        
                }
        }
	function get_files(folder_id){
		$.post("/services/getfiles/rnd="+Math.random(),{folder_id:folder_id},function(data){
			display_files(data,folder_id);
		});
	}
	function display_files(data,folder_id){
		var html = "";
		html += "<div style='width:675px;height:20px;padding-right:10px' align='right'>";
		html += "<a href='javascript:get_folders();'><< Back to all folders</a></div>";
		html += "<div style='width:675px;height:25px;'>";
		html += "<div align='right' style='width:475px;float:right;height:25px;'><input type='text' id='search_folder' /> <input class='button' type='button' value='search folder' onclick='search_folders()' /></div>";
		html += "<div align='left' style='float:left;width:200px;height:25px;'><span class='h2_nob'><h2>Files</h2></span></div>";
		html += "</div>";
		html += "<div class='seperator'></div>";
		html += "<div id='file_uploader' align='left' class='tablenav' ><input type='file' id='fileToUpload' name='fileToUpload' class='button-secondary'/> <input class='button-secondary' type='button' value='upload' onclick='fileupload("+folder_id+")' /> <input type='button' class='button-secondary' onclick='delete_files("+folder_id+")' value='Delete'> <img src='/media/images/progressbar.gif' id='loading' style='display:none' /></div>";
		var jdata = eval('('+data+')');
		if(jdata){
			html += "<table class='widefat file_table' cellspacing='0' cellpadding='0'>";
			html += "<thead><tr><th></th><th></th><th align='left'>Title</th><th align='left'>Created Date</th><th align='left'>Action</th></tr></thead>";
			html += "<tbody>";
			for(var i=0;i<jdata.length;i++){
				html += "<tr>";
				html += "<td><input type='checkbox' file_id='"+jdata[i]['file_id']+"' class='chk_file' /></td>";
				html += "<td align='left'>";
				if(jdata[i]['file_type'] == 'IMAGE'){
					html += "<img src='/file/"+jdata[i]['file_id']+"/s' />";
				}
				else{
					html += "<div class='file_binary'></div>";
				}
				html += "</td>";
				html += "<td align='left'><b><span id='span_file_"+jdata[i]['file_id']+"'><a href='javascript:show_file("+jdata[i]['file_id']+","+folder_id+");' >"+jdata[i]['file_name']+"</a></span></b></td>";
				html += "<td><b>"+jdata[i]['created_dt']+"</b></td>";
				html += "<td><b><span id='span_file_edit_"+jdata[i]['file_id']+"'><a href='javascript:edit_file("+jdata[i]['file_id']+","+folder_id+")'>Edit</a> <a href='javascript:delete_files("+folder_id+","+jdata[i]['file_id']+")' >Delete</a></span></b></td>";
				html += "<input type='hidden' value='"+jdata[i]['file_name']+"' id='hdn_file_"+jdata[i]['file_id']+"' />";
				html += "</tr>";
			}
			html += "</tbody>";
			html += "</table>";
		}
		$('#file_data').html(html);
		$('tbody tr:even').addClass("even");
		paginate("file_table",5);

	}
	function create_folder(folder_id,type)
	{
		if($('#folder_'+type).val() != ""){
			$('#loading').show();
			$.post('/services/createfolder/rnd='+Math.random(),{folder_title:$('#folder_'+type).val(),
												      folder_id:folder_id,
										      	    folder_status:'ACTIVE'
   					      						    },function(data)
						  					      {
													get_folders();
											      });
		}
		else{
			alert("Please give a proper name for the folder!");
		}
	}
	function get_folders(){
		$.post("/services/getfolders/rnd="+Math.random(),function(data){
			display_folders(data);
		});
	}
	var fld_id = -1;
	function edit_folder(folder_id){
		if(fld_id > 0){
			$('#span_edit_'+fld_id).html("<a href='javascript:edit_folder("+fld_id+");'>Edit</a>");
			$('#span_folder_'+fld_id).html("<b><a href='javascript:get_files("+fld_id+");>"+$('#hdn_folder_'+fld_id).val()+"</a></b>");
		}
		fld_id = folder_id;
		$('#span_edit_'+folder_id).html("<a href=javascript:create_folder("+folder_id+",'edit'); >Update</a> <a href='javascript:get_folders()'>Cancel</a>");
		var folder_name = $('#hdn_folder_'+folder_id).val();
		$('#span_folder_'+folder_id).html("<input type='text' id='folder_edit' value='"+folder_name+"' />");
	}
	var f_id = -1;
	var fld_f_id = -1;
	function edit_file(file_id,folder_id){
		if(f_id > 0){
			$('#span_file_edit_'+f_id).html("<a href='javascript:edit_file("+f_id+","+fld_f_id+");'>Edit</a>");
			$('#span_file_'+fld_id).html("<b><a href='javascript:show_file("+f_id+");>"+$('#hdn_file_'+f_id).val()+"</a></b>");
		}
		f_id = file_id;
		fld_f_id = folder_id;
		$('#span_file_edit_'+file_id).html("<a href=javascript:rename_file("+file_id+","+folder_id+",'edit'); >Rename</a> <a href='javascript:get_files("+folder_id+")'>Cancel</a>");
		var file_name = $('#hdn_file_'+file_id).val();
		$('#span_file_'+file_id).html("<input type='text' id='file_edit' value='"+file_name+"' />");
	}
	function rename_file(file_id,folder_id){
		if($('#file_edit').val() != ""){
			$.post("/services/renamefile/rnd="+Math.random(),{file_id:file_id,file_name:$('#file_edit').val()},function(){
					get_files(folder_id);
			});
		}
		else{
			alert("Please give a proper name to the file!");
		}
	}
	function delete_folder(folder_id){
		var folder_ids = "";
		if(confirm("do you really want to delete these folder(s)?") == true){
			$('#loading').show();
			if(folder_id==undefined){
				$(".ckh_folder").each(function(){
					if($(this).attr("checked")){
						folder_ids += $(this).attr("folder_id") + "|";	
					}
				});
			}
			else{
				folder_ids = folder_id;
			}
			$.post("/services/deletefolders/rnd="+Math.random(),{folder_ids:folder_ids},function(){
				get_folders();
			});
		}
	}
	function delete_files(folder_id,file_id){
		var file_ids = "";
		if(confirm("do you really want to delete these file(s)?") == true){
			$('#loading').show();
			if(file_id == undefined){
				$(".chk_file").each(function(){
					if($(this).attr("checked")){
						file_ids += $(this).attr("file_id") + "|";	
					}
				});
			}
			else{
				file_ids = file_id;
			}
			$.post("/services/deletefiles/rnd="+Math.random(),{file_ids:file_ids},function(){
				get_files(folder_id);
			});
		}
	}
	function search_folders(){
		$.post("/services/searchfolders/rnd="+Math.random(),{folder_title:$('#search_folder').val()},function(data){
                        var jdata = eval('('+data+')'); 
                        display_folders(jdata);
                });
	}
	function display_folders(data){
		var html = "";
		html += "<div style='width:675px;height:25px;'>";
		html += "<div align='right' style='width:475px;float:right;height:25px;'><input type='text' id='search_folder' /> <input type='button' class='button' value='search folder' onclick='search_folders()' /></div>";
		html += "<div align='left' style='float:left;width:200px;height:25px;'><span class='h2_nob'><h2>ALL folders</h2></span></div>";
		html += "</div>";
		html += "<div class='seperator'></div>";
		html += "<div id='folder_create' align='left' class='tablenav'><input type='text' id='folder_name' /> <input class='button-secondary' id='btn_create_folder' type='button' value='create folder' style='vertical-align:top' onclick=create_folder(0,'name'); /> <input type='button' onclick='delete_folder();' value='Delete' class='button-secondary' style='vertical-align:top' /> <img src='/media/images/progressbar.gif' id='loading' style='display:none' /></div>";
		if(data != ""){
			var jdata = eval('('+data+')');
			html += "<table class='widefat folder_table' cellspacing='0' cellpadding='0'>";
			html += "<thead><tr><th align='left'></b></th><th align='left'>Title</th><th>Files</th><th align='left'>Created Date</th><th align='left'>Action</th></tr></thead>";
			html += "<tbody>";
			for(var i=0;i<jdata.length;i++){
				html += "<tr>";
				html += "<td width='20px'><input type='checkbox' class='ckh_folder' folder_id='"+jdata[i]['folder_id']+"' /></td>";
				html += "<td align='left'><span id='span_folder_"+jdata[i]['folder_id']+"'><a href='javascript:get_files("+jdata[i]['folder_id']+")' ><b>"+jdata[i]['folder_title']+"</a></span></b></td>";
				html += "<td align='left'>"+jdata[i]['file_count']+"</td>";
				html += "<td><b>"+jdata[i]['created_dt']+"</b></td>";
				html += "<td><b><span id='span_edit_"+jdata[i]['folder_id']+"'><a href='javascript:edit_folder("+jdata[i]['folder_id']+")'>Edit</a> <a href='javascript:delete_folder("+jdata[i]['folder_id']+")' >Delete</a></span></td>";
				html += "<input type='hidden' value='"+jdata[i]['folder_title']+"' id='hdn_folder_"+jdata[i]['folder_id']+"' />";
				html += "</tr>";
			}
			html += "</tbody>";
			html += "</table>";
		}
		$('#file_data').html(html);
		$('tbody tr:even').addClass("even");
		paginate("folder_table",10);
	}
	function paginate(table_class,numberofpages){
		$('table.'+table_class ).each(function(){
			var current_page = 0;
			var $table = $(this);
			$table.bind('repaginate',function(){
				$table.find('tbody tr').show()
				      .slice(0, current_page * numberofpages)
					   .hide()
				      .end()
				      .slice((current_page + 1) * numberofpages)
					   .hide()
				      .end()
			});
			var numrows  = $table.find('tbody tr').length;
			var numpages = Math.ceil(numrows/numberofpages);
			var $pager = $('<div class="pager" align="left"></div>');
			for(var page = 0;page < numpages; page++){
				$('<span class="page-numbers"><a href="#">'+ (page + 1) + '</a></span>')
				.bind('click', {'newPage': page},function(event){
					current_page = event.data['newPage'];
					$table.trigger('repaginate');
					$(this).addClass('active current').siblings().removeClass('active current');
				})
			      .appendTo($pager).addClass('clickable');
			}
			$pager.find('span.page-numbers:first').addClass('active current');
			$pager.insertBefore($table);
			$table.trigger('repaginate');
		});
	}
