var sCollectionsURL = '/feed_collections.aspx';
var bCollectionsLoading = true;
var xmlCollectionsHTTP = null;
var xmlCollections = null;
var oCollections = null;
var bLibraryPop = true;
var bLibraryWindowOpen = false; 
var bOpenedFromShare = false;

var sDeleteGUID = '';
var sDeleteName = '';

function OpenCollectionMenu(bEditWindow) {

}

function collections_open() {

	bCollectionsLoading = true;

	xmlCollectionsHTTP = CreateXMLHTTP();
	
	xmlCollectionsHTTP.open('GET', sCollectionsURL, false);
	xmlCollectionsHTTP.send(null);
	
	if (xmlCollectionsHTTP.readyState != 4) {
		alert('load collections failed');
		return;
	}
	
	if (xmlCollectionsHTTP.responseXML && xmlCollectionsHTTP.responseXML.documentElement) {
		xmlCollections = xmlCollectionsHTTP.responseXML.documentElement;
		oCollections = xmlCollections.getElementsByTagName('collection');
	} else {
		alert('collections not found');
	}
	
	
	
	bCollectionsLoading = false;
}

function collection_create(sName) {
	if (!bAuth) { return; }

	var xmlAction = null;
	xmlAction = CreateXMLHTTP();
	xmlAction.open('GET', '/xml_action.aspx?action=new_folder&name=' + sName, true);
	xmlAction.send('');

	collections_open();
}

function collection_delete(sGUID) {
	if (!bAuth) { return; }

	var i = 0;
	var xmlAction = null;
	
	xmlAction = CreateXMLHTTP();
	xmlAction.open('GET', '/xml_action.aspx?action=delete_folders&folder=' + sGUID, false);
	xmlAction.send('');
	
	if (!oCollections) {
		return;
	}

	for (i = 0; i < oCollections.length; i++) {
		if (oCollections[i].getAttribute('guid') == sGUID) {
			oCollections[i].parentNode.removeChild(oCollections[i]);
		}
	}
}

function collections_get_all(bEditWindow) {
	if (!oCollections) { return; }

	var sHTML = '';
	var i = 0;
	var sCollectionGUID = '';
	bLibraryPop = true;

	sHTML = '<form id="frmCollections" onsubmit="collection_all_save();return false;">';
	sHTML += '<div class="BK" style="background:#f5f5f5;padding:0px;margin:0px;border:solid 1px #dcdcdc;">';
	for (i = 0; i < oCollections.length; i++) {
		sCollectionGUID = oCollections[i].getAttribute('guid');
		sHTML += '<a style="text-align: left;" id="aClipCollection' + oCollections[i].getAttribute('id') + '" href="javascript:void(0);" onclick="collection_menu_click(this);" name="' + oCollections[i].getAttribute('title') + '" guid="' + sCollectionGUID + '"';
		if (oCollections[i].getAttribute('has_clip') == '1') {
			sHTML += ' checked="true"><img align="left" height="13" width="13" src="/images/checked.gif" border="0" />';
		} else {
			sHTML += ' checked="false"><img align="left" height="13" width="13" src="/images/unchecked.gif" border="0" />';
		}
		//sHTML += (sCollectionGUID == 'root' ? '<b>' : '') + oCollections[i].getAttribute('title') + (sCollectionGUID == 'root' ? '</b> <i>(Main ' + (bShowClipCastLinks ? 'ClipCast' : 'Collection') + ')</i>' : '') + '</a>';
		sHTML += (sCollectionGUID == 'root' ? '<b>Main Folder</b>' : oCollections[i].getAttribute('title')) + '</a>';
	}
	sHTML += '</div>';
	sHTML += '</form>';

	return sHTML;
}

function collection_pop_click() {
	if (bLibraryPop == true) {
		document.getElementById('imgLibraryPop').src='/images/unchecked.gif';
		bLibraryPop = false;
	} else {
		document.getElementById('imgLibraryPop').src='/images/checked.gif';
		bLibraryPop = true;
	}
}

function collection_add(bFromShare) {
	if (!bAuth) { return; }

	bMenuDialogVisible = true;
	var sName = prompt('Please enter a name for your new folder:');
	var i = 0;

	if (!(!sName || sName == '')) {
		collection_create(sName);
		if (document.getElementById('dvCollectionMenu')) {
			document.getElementById('dvCollectionMenu').innerHTML = collections_get_all();
		}
		
		if (!!document.getElementById('dvItems_RightColl') && sSearchUser == sAuthName) {
			var dvCollections = document.getElementById('dvItems_RightColl');
			for (i = 0; i < dvCollections.childNodes.length; i++) {
				if (dvCollections.childNodes[i].tagName == 'A') {
					if (dvCollections.childNodes[i].childNodes[0].nodeValue > sName) {
						var oElement = document.createElement('A');
						oElement.href = '/clipper/' + escape(sSearchUser) + '/collection/' + escape(sName) + '/';
						oElement.appendChild(document.createTextNode(sName));
						dvCollections.insertBefore(oElement, dvCollections.childNodes[i]);
						oElement = null;

						break;
					}
				}
			}
			if (i == dvCollections.childNodes.length) {
				var oElement = document.createElement('a');
				oElement.href = '/clipper/' + escape(sSearchUser) + '/collection/' + escape(sName) + '/';
				oElement.appendChild(document.createTextNode(sName));
				dvCollections.appendChild(oElement);
				oElement = null;
			}
		}
		
		if (bFromShare) {
			collections_open();
			document.getElementById('dvShareClipcasts').innerHTML = collections_get_all(false);
		}
		
		if (bLibraryWindowOpen) { 
			//OpenCollectionMenu(); 
		}

		bMenuDialogVisible = false;
	}
}


function collection_new(bFromShare) {
	
	bOpenedFromShare = bFromShare;
	
	CollapseMenu('SortCollections');
	var sHTML = '<div class="ShareDialog" style="padding: 10px 16px;">';
	sHTML += '<div style="font-size: 14px; margin-bottom: 8px;"><b>Create a New Folder</b></div>';
	sHTML += '<form name="frmNewClipcast" id="frmNewClipcast" method="GET" target="fraTarget" onsubmit="return collection_dhtml_add();">';
	sHTML += '<div style="border: solid 2px #ffffff; overflow: auto; height: 106px; margin: 12px 0px;"><h4 style="margin-bottom: 4px; padding-top: 4px; font-size: 12px;">Give your folder a name:</h4>';
	sHTML += '<input type="text" name="txtClipcastName" id="txtClipcastName" value="" style="width: 243px; border: solid 1px #dcdcdc; padding: 2px;" class="Blurred" onfocus="this.className=\'Focused\';" onblur="this.className=\'Blurred\';" />';
	sHTML += '</div>';
	sHTML += '<div style="margin-top: 8px;"><input type="submit" name="btnCreateClipcast" value="Create Folder" style="font-weight: bold;" /> &nbsp;<input type="button" name="btnCancelFolder" value="Cancel" onclick="CloseLayeredDialog(true);" /></div>';
	sHTML += '</form></div>';

	ShowLayeredDialog(sHTML, 440, 224, true, true);
}


function collection_dhtml_add() {
	if (!bAuth) { return; }

	bMenuDialogVisible = true;
	var sName = trim(document.getElementById('txtClipcastName').value);
	if (!(sName.length > 0)) { 
		alert('Please enter a name for your new folder.');
		return false;
	}	
	var i = 0;
	if (!(!sName || sName == '')) {
		collection_create(sName);
		if (document.getElementById('dvCollectionMenu')) {
			document.getElementById('dvCollectionMenu').innerHTML = collections_get_all();
		}
		
		if (!!document.getElementById('dvItems_RightColl') && sSearchUser == sAuthName) {
			var dvCollections = document.getElementById('dvItems_RightColl');
			for (i = 0; i < dvCollections.childNodes.length; i++) {
				if (dvCollections.childNodes[i].tagName == 'A') {
					if (dvCollections.childNodes[i].childNodes[0].nodeValue > sName) {
						var oElement = document.createElement('A');
						oElement.href = '/clipper/' + escape(sSearchUser) + '/collection/' + escape(sName) + '/';
						oElement.appendChild(document.createTextNode(sName));
						dvCollections.insertBefore(oElement, dvCollections.childNodes[i]);
						oElement = null;

						break;
					}
				}
			}
			if (i == dvCollections.childNodes.length) {
				var oElement = document.createElement('a');
				oElement.href = '/clipper/' + escape(sSearchUser) + '/collection/' + escape(sName) + '/';
				oElement.appendChild(document.createTextNode(sName));
				dvCollections.appendChild(oElement);
				oElement = null;
			}
		}
		
		if (bOpenedFromShare) {
			collections_open();
			document.getElementById('dvShareClipcasts').innerHTML = collections_get_all(false);
			//HideDialogBox();
		} //else {
			//CloseLayeredDialog(true);
			CloseLayeredDialog(true);
		//}
		
		
		

		if (bOpenedFromShare) {
			// reopen share window
		}

		document.getElementById('txtClipcastName').value = '';

		bMenuDialogVisible = false;
		
		return false;
	
	} 	
}


function collection_has_clip(sCollectionGUID) {
	//alert(sCollectionGUID);
	if (!bAuth) { return false; }

	var i = 0;

	if (sCollections.length == 0) {
		return false;
	}

	for (i = 0; i < sCollections.length; i++) {
		if (sCollections[i] == sCollectionGUID) {
			return true;
		}
	}
	
	return false;
}

function collection_menu_click(oMenuItem) {
	if (!bAuth) { return; }

	var oCheckbox = oMenuItem.childNodes[0];
	var bAdd = (GetAttribute(oMenuItem, 'checked', 'false') == 'false');
	
	oMenuItem.setAttribute('checked', bAdd.toString());

	if (bAdd) {
		oCheckbox.src = '/images/checked.gif';
	} else {
		oCheckbox.src = '/images/unchecked.gif';
	}
	sMenuClicked = 'AddToCollection';
}


function collection_all_save() {

	var sXML = '<?xml version="1.0" encoding="UTF-8"?>';
	var sCollectionID = '';
	var xmlAction = null;
	var oCollection = null;
	var bOneChecked = false;
	var bRefresh = false;
	
	sXML += '<reclip clip-guid="' + sActiveClipGUID + '">';
	for (i = 0; i < oCollections.length; i++) {
		sCollectionID = oCollections[i].getAttribute('id');
		if (document.getElementById('aClipCollection' + sCollectionID).getAttribute('checked') == 'true') {
			bOneChecked = true;
			sXML += '<collection guid="' + oCollections[i].getAttribute('guid') + '" />';
		} else if (oCollections[i].getAttribute('key') == sSearchFolder || (sCollectionID == 'fldr' && sSearchFolder == '')) {
			bRefresh = true;
		}
		//alert(oCollections[i].getAttribute('key') + ' - ' + sSearchFolder);
	}
	sXML += '</reclip>';
	
	xmlAction = CreateXMLHTTP();
	xmlAction.open('POST', '/xml_action.aspx?action=reclip', false);
	xmlAction.send(sXML);
	xmlAction = null;

	if (bOneChecked) { 
		bIsReclipped = true;
		bInLibrary = true;
	}
	
	if (bRefresh) {
		//window.location.href = window.location.href;
	}
}

function DeleteClipcast(bExchange) {
	var bGotoRoot = false;
	var bRefresh = false;
	
	if (bExchange) {
		var oCheckboxes = document.getElementById('dvItems_RightColl').getElementsByTagName('input');
		var i = 0;
		
		for (i = oCheckboxes.length - 1; i >= 0; i--) {
			if (oCheckboxes[i].checked) {
				if (oCheckboxes[i].getAttribute('item-type')== 'collection') {
					bConfirmed = true;
					if (sSearchFolder == oCheckboxes[i].value) {
						bGotoRoot = true;
					}
					collection_delete(oCheckboxes[i].getAttribute('guid'));
					oCheckboxes[i].parentNode.removeChild(oCheckboxes[i].nextSibling);
					oCheckboxes[i].parentNode.removeChild(oCheckboxes[i]);
				}
			}
		}
	
		alert('Folder(s) have been deleted.');
	
		if (bGotoRoot) {
			window.location.href = '/clipper/' + escape(sSearchUser) + '/';
		}
	} else {
		collection_delete(sDeleteGUID);
		alert('Folder has been deleted.');
		if (window.location.href.indexOf(escape(sDeleteName))) {
			window.location.href = 'http://' + window.location.hostname + '/';
		} else {
			window.location.href = window.location.href;
		}
	}
	
}

function RemoveClipcast(sGUID, sName, bExchange) {
	sDeleteGUID = sGUID;
	sDeleteName = sName

	var sHTML = '';
	sHTML += '<h2 style="margin: 17px 32px; font-size: 22px;"><b>Are you sure you want to delete this folder?</b></h2><br />';
	sHTML += '<div align="center" style="font-size:14px;">';
	sHTML += 'Please note that the clips in this folder will not be deleted.&nbsp;&nbsp;'; 
	sHTML += '<a href="/faq#delete-clip" class="CLB">Learn more</a><br/><br /><br />';
	if (!bExchange) {
		sHTML += '<a href="javascript:DeleteClipcast();"><img src="/images/clipcast/delete_ok.gif" border="0" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="javascript:CloseLayeredDialog();"><img src="/images/clipcast/delete_cancel.gif" border="0" /></a>';
	} else {
		sHTML += '<a href="javascript:DeleteClipcast(true);"><img src="/images/clipcast/delete_ok.gif" border="0" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="javascript:CloseLayeredDialog();"><img src="/images/clipcast/delete_cancel.gif" border="0" /></a>';
	}
	sHTML += '</div>';
	ShowLayeredDialog(sHTML, 550, 250);
}
