var isFolder = 0;
var controlsValidated = false;

// Opens a div for editing.
function openEditor(editor, IsFolder) {
	if (_mover != null){
		isFolder = IsFolder;
		_mover.Open(editor);
		if (controlsValidated != true)
			fillControlsWithContent();
		document.getElementById('bookmarkEditorBackground').style.display = "inline";
		center(editor);
		var handleID = editor.id + "Handle";
		if ($(handleID) != null)
			new Draggable(editor.id, {handle: handleID});
		Droppables.add('emptyDiv');
		/*if (isFolder == 0)
			hideBusyIndicator();*/
		controlsValidated = false;

		if (typeof isMyShortCut === 'undefined') {
		}
		else {
		    for (var i = 0; i < $(_bookmartFolserListName).options.length; i++) {
		        if ($(_bookmartFolserListName).options[i].value == ".002" && isMyShortCut == 1) {
		            $(_bookmartFolserListName).selectedIndex = i;
		            break;
		        }
		        if ($(_bookmartFolserListName).options[i].value == ".001" && isMyShortCut == 0) {
		            $(_bookmartFolserListName).selectedIndex = i;
		            break;
		        }
		    }
		}
	}
}

function openAddFolderEditor(editor){
	if (_mover != null){
		_mover.Open(editor);
		document.getElementById('_newFolderEditorBackground').style.display = "inline";
		center(editor);
		var handleID = editor.id + "Handle";
		if ($(handleID) != null)
			new Draggable(editor.id, {handle: handleID});
		Droppables.add('emptyDiv');
	}
}

function openEditorRenameTheraFiles(editor, userFileId) {
	_mover.Open(editor);
	if (controlsValidated != true)
		fillControlsWithContentTheraFiles(userFileId);
	document.getElementById('bookmarkEditorBackground').style.display = "inline";
	center(editor);
	var handleID = editor.id + "Handle";
	if ($(handleID) != null)
		new Draggable(editor.id, {handle: handleID});
	Droppables.add('emptyDiv');
	controlsValidated = false;
}

function openEditorMoveCopyTheraFiles(editor, action) {
	_mover.Open(editor);
	document.getElementById('bookmarkEditorBackground').style.display = "inline";
	center(editor);
	if (action == 1){
		$('moveButton').style.display = "";
		$('copyButton').style.display = "none";
	}
	else{
		$('moveButton').style.display = "none";
		$('copyButton').style.display = "";
	}
	var handleID = editor.id + "Handle";
	if ($(handleID) != null)
		new Draggable(editor.id, {handle: handleID});
	Droppables.add('emptyDiv');
}

// Center the item in the editor.
function center(editor) {
	var browser_type=navigator.appName
	var browser_version=parseInt(navigator.appVersion)

	//if IE6 or IE7
	if (browser_type=="Microsoft Internet Explorer"&& parseFloat(navigator.appVersion.split("MSIE")[1])<8){
	}
	else{
		editor.style.top = "30%";
		editor.style.left = "40%";
		editor.style.position = "fixed";
	}
}

// Closes an editor (div)
function closeEditor(editor) {
    _mover.Close(editor);
	document.getElementById('bookmarkEditorBackground').style.display = "none";
	//hideBusyIndicator();
}

// Closes an editor (div)
function closeAddFolderEditor(editor) {
	_mover.Close(editor);
	$(_bookmartFolserListName).selectedIndex = 0;
	$(_moveCopyFolderListName).selectedIndex = 0;
	if (typeof (_SaveBookmartFolderList) !== 'undefined') 
	    $(_SaveBookmartFolderList).selectedIndex = 0;
	
	document.getElementById('_newFolderEditorBackground').style.display = "none";
	//hideBusyIndicator();
}

// Sends an Ajax message...
function sendAsynchronousMessage(controller, args, viewElement, onComplete) {
	
	new Ajax.Updater(viewElement, controller, 
		{asynchronous:true, parameters:args, onComplete:onComplete, onLoading:messageLoading});
}

function fillControlsWithContent(){
	var args = getArguments();
	sendAsynchronousMessage('../../aacboard/LoadBookmarkContent.rails', args, 'emptyDiv', searchComplete);
}

function fillControlsWithContentTheraFiles(userFileId)
{
	var args = "UserFileId=" + userFileId;
	sendAsynchronousMessage('../../aacboard/LoadUserFileContent.rails', args, 'emptyDiv', searchCompleteTheraFiles);
} 
	
// Gets the arguments to send to the server.
function getArguments() {
	var args = '';
	
	if (_categoryId == -1)
		args = args + 'CategoryId=';
	else
		args = args + 'CategoryId=' + _categoryId.toString();
	if (_bookId == -1)
		args = args + '&BookId=';
	else
		args = args + '&BookId=' + _bookId.toString();
	if (_resourceCategoryId == -1)
		args = args + '&ResourceCategoryId=';
	else
		args = args + '&ResourceCategoryId=' + _resourceCategoryId.toString();
	if (_resourceId == -1)
		args = args + '&ResourceId=';
	else
		args = args + '&ResourceId=' + _resourceId.toString();
	if (_rowId == -1 || _rowId == '00000000-0000-0000-0000-000000000000')
		args = args + '&RowId=';
	else
		args = args + '&RowId=' + _rowId;
	args = args + '&IsFolder=' + isFolder.toString();
	
	return args;
}

// Sets the arguments to be send to the server.
function setArguments(categoryId, bookId, resourceCategoryId, resourceId, rowId) {
	_categoryId = categoryId;
	_bookId = bookId;
	_resourceCategoryId = resourceCategoryId;
	_resourceId = resourceId;
	_rowId = rowId;
}
	
function saveBookmark(e){
	if ($(_bookmarkNameTextBox).value == '') {
		alert('Please enter a file name.');
		return;
	}
	
	var args = getArguments()
		+ '&fileName=' + $(_bookmarkNameTextBox).value
		+ '&keywords=' + $(_bookmarkTagsTextBox).value
		+ '&description=' + $(_bookmarkDescriptionTextBox).value
		+ '&parentId=' + ($(_bookmartFolserListName) ? ($(_bookmartFolserListName).value == "new" ? ".002":$(_bookmartFolserListName).value): "");
			
	sendAsynchronousMessage('../../aacboard/SaveBookmark.rails', args, 'emptyDiv', messageComplete);
	closeEditor($('bookmarkEditor'));
	
}

function saveToMyImage(e)
{
	if ($(_myImagesNameTextBox).value == '') {
		alert('Please enter a file name.');
		return;
	}
	
	var args = getArguments()
		+ '&fileName=' + $(_myImagesNameTextBox).value
		+ '&keywords=' + $(_myImagesTagsTextBox).value;
			
	sendAsynchronousMessage('../../aacboard/SaveToMyImages.rails', args, 'emptyDiv', messageComplete);
	closeEditor($('myImagesEditor'));
}

function addFolderAjax(e){
	if ($(_fodlerNameTextbox).value == '') {
		alert('Please enter a file name.');
		return;
	}

    if ($(_addFolderFolderlist).value == "new") {
        alert('Please Select Folder name.');
        return;
    }

    var args = 'fileName=' + $(_fodlerNameTextbox).value
		+ '&keywords=' + $(_folderTagsTextbox).value
		+ '&description=' + $(_folderDescriptionTextbox).value
		+ '&parentId=' + ($(_addFolderFolderlist) ? $(_addFolderFolderlist).value: "");
			
	sendAsynchronousMessage('../../aacboard/AddFolder.rails', args, 'emptyDiv', updateSelectRezult);
	closeAddFolderEditor($('_newFolderEditor'));
}

function messageComplete(request) {
	if (request.transport.status == 200) {
		resetPage();
	}
	else {

	}
	/*if (isFolder == 0)
		hideBusyIndicator();*/
}

function updateSelectRezult(request){
	if (request.transport.status == 200) {
		if (request.transport.responseText != ""){
			if ($(_bookmartFolserListName)){
				updateSelectOptions($(_bookmartFolserListName).id, request.transport.responseText);
			}
			
			
			if ($(_moveCopyFolderListName)){
				updateSelectOptions($(_moveCopyFolderListName).id, request.transport.responseText);
			}
			if (typeof (_SaveBookmartFolderList) !== 'undefined') {
			    updateSelectOptions($(_SaveBookmartFolderList).id, request.transport.responseText);
			}
		}
	}
	//hideBusyIndicator();
}

function cleanFromHtml(text){
    if (text != null) {
        var mydiv = document.createElement("div");
        mydiv.innerHTML = text;

        if (document.all) // IE Stuff
        {
            return mydiv.innerText;
        }
        else // Mozilla does not work with innerText
        {
            return mydiv.textContent;
        }
    }
    else {
        text = "";
    }
	return text;
}

function searchComplete(request) {
	if (request.transport.status == 200) {
		if (request.transport.responseText != ""){
			var responseResult = request.transport.responseText;
			var paramsToInsert = responseResult.split("|");
			$(_bookmarkNameTextBox).value = cleanFromHtml(paramsToInsert[0]);
			$(_bookmarkTagsTextBox).value = cleanFromHtml(paramsToInsert[2]);
			$(_bookmarkDescriptionTextBox).value = cleanFromHtml(paramsToInsert[1]);
			if (paramsToInsert[3] != "-1")
                $(_bookmartFolserListName).value = paramsToInsert[3];
			
			$(_myImagesNameTextBox).value = cleanFromHtml(paramsToInsert[0]);
			$(_myImagesTagsTextBox).value = cleanFromHtml(paramsToInsert[2]);
		}
	}
	else {

	}
	/*if (isFolder == 0)
		hideBusyIndicator();*/
}

function searchCompleteTheraFiles(request) {
    if (request.transport.status == 200) {
        if (request.transport.responseText != "") {
			var responseResult = request.transport.responseText;
			var paramsToInsert = responseResult.split("|");
			$(_bookmarkNameTextBox).value = cleanFromHtml(paramsToInsert[0]);
			$(_bookmarkTagsTextBox).value = cleanFromHtml(paramsToInsert[2]);
			$(_bookmarkDescriptionTextBox).value = cleanFromHtml(paramsToInsert[1]);
			//$(_bookmartFolserListName).value = paramsToInsert[3];
			
			$(_myImagesNameTextBox).value = paramsToInsert[0];
			$(_myImagesTagsTextBox).value = paramsToInsert[2];
			
			isFolder = paramsToInsert[4];
			isBookmark = paramsToInsert[5];
			setArguments(paramsToInsert[6], paramsToInsert[7], paramsToInsert[8], paramsToInsert[10], paramsToInsert[9])
		}
	}
	else {

	}
	/*if (isFolder == 0)
		hideBusyIndicator();*/
}

/*function showBusyIndicator() {
	$('indicator').style.visibility = 'visible';
}*/

/*function hideBusyIndicator() {
	$('indicator').style.visibility = 'hidden';
}*/

function messageLoading() {
	/*if (isFolder == 0)
		showBusyIndicator();*/
}

// Resets the UI based on a post to the server.
function resetPage(forceEffect) {
	if (_updatePage == true)
	{
		location.reload();
		_updatePage = false;
	}
}

