$(document).ready(function()
{	
	// Initialize TinyMCE
    $('textarea.tinymce').tinymce({
		
		// Location of TinyMCE
		script_url : 'http://www.socialsyllabus.com/libs/tiny_mce/tiny_mce.js',

		// General options
		theme : "advanced",
		plugins : "sshyperlink, ssimage, media, syntaxhl",
		remove_linebreaks : false,

		// Theme options
		theme_advanced_buttons1 : "bold,italic,underline,justifyleft,justifycenter,justifyright,bullist,numlist,outdent,indent,separator,fontsizeselect,forecolor,separator,sshyperlink,unlink,ssimage,separator,syntaxhl,code",
   		theme_advanced_buttons2 : "",
    	theme_advanced_buttons3 : "",
    	theme_advanced_toolbar_location : "top",
    	theme_advanced_toolbar_align : "left",
    	extended_valid_elements : "table, style, pre, textarea[cols|rows|disabled|name|readonly|class]",
    	width: '100%',
    
		// Example content CSS
		content_css : "libs/tiny_mce/css/tinymce.css",
		editor_css : "libs/tiny_mce/css/tinymce_ui.css",
		popup_css : "libs/tiny_mce/css/tinymce_dialog.css"


	});
});

/********************************************************
* ADD HYPERLINK
********************************************************/
var ssNodeType;
$(document).ready(function()
{
	
	// Setup hyperlink modalbox 
	$('#SSAttachmentHyperlink').ssModalBox({
		"container": "SSMBHyperlink", 
		"handle": "SSMBHyperlinkHeader", 
		"close": "SSMBHyperlinkClose"
	});
	$('#SSAttachmentHyperlink').click(function(e)
	{	
		// Clear previous textbox values
		$('#SSMBHyperlinkTitleField').val('');
		$('#SSMBHyperlinkUrlField').val('');

		// Get text selection
		if($('#SSTinyMCE').tinymce().selection.getContent())
        {
        	$('#SSMBHyperlinkTitleField').val($('#SSTinyMCE').tinymce().selection.getContent({format : 'text'}));
        } else {
        	$('#SSMBHyperlinkTitleField').val('');
        }
        
        if($('#SSTinyMCE').tinymce().selection.getNode().nodeName == 'IMG')
		{
			$('#SSMBHyperlinkTitleWrapper').hide();
			ssNodeType = 'image';
		} else {
			$('#SSMBHyperlinkTitleWrapper').show();
			ssNodeType = 'text';
		}
		
		// Listen for form submission
	    $('#SSMBHyperlinkForm').submit(function(e)
	    {
	        // Prevent page reload
	        e.preventDefault();
	        
	        // Remove previous error messages
	        $('.SSFormError').empty();
	        $('#SSMBHyperlinkUrlError').text('');
	    
	        // Send AJAX request
	        addHyperlinkPost();
	    });
		
		// Listen for modal box cancel
		$('#SSMBHyperlinkCancel').click(function(e) 
		{ 
			// Prevent page scroll
	        e.preventDefault();
	
			// Close modal box
			$('#SSMBHyperlinkClose').trigger('click');
		});
		
		// Listen for modal box close
		$('#SSMBHyperlinkClose').click(function(e) 
		{   
			// Remove previous error messages and form values
	        $('.SSFormError').empty();
			
			// Remove event handlers
			$('#SSMBHyperlinkCancel').unbind("click");
			$('#SSMBHyperlinkClose').unbind("click");
			$('#SSMBHyperlinkForm').unbind("submit");
	
		});
		
	});

});

// Send Request
function addHyperlinkPost()
{
	var error = false;

    // Get form values
    var urlValue = $('#SSMBHyperlinkUrlField').val();
    var titleValue = $('#SSMBHyperlinkTitleField').val();
    
    // Check for a title
    if(titleValue == '' && ssNodeType == 'text')
    {
    	$('#SSMBHyperlinkTitleError').text('Required Field');
    	error = true;
    } 
    
    // Check for a url
    if(urlValue == '')
    {
    	$('#SSMBHyperlinkUrlError').text('Required Field');
    	error = true;
    } 
    
    // Check if successful
    if(error == false) 
    {
		// Close modal box
		$('#SSMBHyperlinkClose').trigger('click');
		
		// Clean url
		var url;
		var urlPrefix = urlValue.substring(0,4);
		if(urlPrefix != 'mail' && urlPrefix != 'http' && urlPrefix != '#')
		{
			url = '<a href="' + 'http://' + urlValue + '" target="_blank">' + titleValue + '</a>';
		} else {
			url = '<a href="' + urlValue + '" target="_blank">' + titleValue + '</a>';
		}				

		// Check to see if selectin is an image
		if($('#SSTinyMCE').tinymce().selection.getNode().nodeName == 'IMG')
		{
			if(urlPrefix != 'mail' && urlPrefix != 'http' && urlPrefix != '#')
			{
				url = '<a href="' + 'http://' + urlValue + '" target="_blank" border="0">' + $('#SSTinyMCE').tinymce().selection.getContent() + '</a>';
			} else {
				url = '<a href="' + urlValue + '" target="_blank" border="0">' + $('#SSTinyMCE').tinymce().selection.getContent() + '</a>';
			}	
		}


        // Place download url in editor
        tinyMCE.activeEditor.execCommand('mceInsertContent',false, url);

   	}

}

/********************************************************
* UPLOAD IMAGE
********************************************************/

var SSUploader;

$(document).ready(function()
{        
    SSUploader = new qq.FileUploaderBasic(
    {
        button: $('#SSMBImageBrowseLink')[0],
        action: 'attachments.php?state=uploadimage',
        sizeLimit: 10485760000,
        debug: true,
        multiple: false,
        autoStart: false,
        onSubmit: function(id, fileName)
        { 
        	$('#SSMBImageFileField').val(fileName);			
        },
        onStart : function(){ 
        	
        	$('#SSMBImageCheck').hide();
			$('#SSMBImageIndicator').show();
			$('#SSMBImageBrowseLink').hide();
			$('#SSMBImageError').hide();
        	
        	return true;
    	},
		onProgress: function(id, fileName, loaded, total)
		{
			$('#SSMBImageFileProgress').html('Uploading (' + Math.round((loaded / total) * 100) + '%)'); 
		},
		onComplete: function(id, fileName, responseJSON)
		{			
			$('#SSMBImageCheck').show();
			$('#SSMBImageIndicator').hide();
			$('#SSMBImageFileProgress').html('');
			$('#SSMBImageBrowseLink').show();
			
			if(responseJSON.success == true)
			{

				// Close modal box
				$('#SSMBImageClose').trigger('click');
			
				// Insert image into TinyMCE
				$('#SSTinyMCE').tinymce().execCommand(
						'mceInsertContent',
						false,
						'<img src="attachments.php?state=serveimage&attachment=' + responseJSON.filename + '" style="margin: 10px;" alt="" align="left" />'
				);
			}
			
		},
		onCancel: function(id, fileName){ },
		messages: {
			typeError: "{file} has invalid extension. Only {extensions} are allowed.",
            sizeError: "{file} is too large, maximum file size is {sizeLimit}.",
            minSizeError: "{file} is too small, minimum file size is {minSizeLimit}.",
            emptyError: "{file} is empty, please select files again without it.",
            onLeave: "The files are being uploaded, if you leave now the upload will be cancelled."            
		},
		showMessage: function(message)
		{  
			$('#SSMBImageError').show();
			$('#SSMBImageError').html(message);
		} 
	});
	
	// Listen for form submission
    $('#SSMBImageForm').submit(function(e)
    {
        // Prevent page reload
        e.preventDefault();

        // Send AJAX request
        SSUploader.startUpload();
    });           
})

$(document).ready(function()
{
	
	// Setup hyperlink modalbox 
	$('#SSAttachmentImage').ssModalBox({
		"container": "SSMBImage", 
		"handle": "SSMBImageHeader", 
		"close": "SSMBImageClose"
	});
	$('#SSAttachmentImage').click(function(e)
	{	
		
		// Clear previous textbox values
		$('#SSMBImageFileField').val('');
		
		// Clear file progress
		$('#SSMBImageFileProgress').html('');
		
		// Listen for modal box close
		$('#SSMBImageClose').click(function(e) 
		{   
			// Remove previous error messages and form values
	        $('.SSFormError').empty();
			
			// Remove event handlers
			$('#SSMBImageCancel').unbind("click");
			$('#SSMBImageClose').unbind("click");
	
		});
		
	});

});

/********************************************************
* RECORD AUDIO
********************************************************/

// When document is ready
$(document).ready(function()
{
	// Setup hyperlink modalbox 
	$('#SSAttachmentMicrophone').ssModalBox({
		"container": "SSMBAudionote", 
		"handle": "SSMBAudionoteHeader", 
		"close": "SSMBAudionoteClose"
	});
	$('#SSAttachmentMicrophone').click(function(e)
	{	
		// Do nothing right now
		
	});

});

function buildPlayer(filename, filelength)
{
	// Audionote embed
	var audionoteEmbed = '<embed width="400" height="50" align="middle" type="application/x-shockwave-flash" salign="" allowscriptaccess="sameDomain" allowfullscreen="false" menu="true" name="audioplayer" bgcolor="#ffffff" devicefont="false" wmode="window" scale="showall" flashvars="filename=' + filename 
 + '&filelength=' + filelength + '" loop="true" play="true" pluginspage="http://www.adobe.com/go/getflashplayer" quality="high" src="audionotes/audioplayer.swf"/>';
	
	// Place download url in editor
	$('#SSTinyMCE').tinymce().execCommand('mceInsertContent',false, audionoteEmbed);
	
	// Close modal box
	$('#SSMBAudionoteClose').trigger('click');
}

