//Remove Dashboard Help
function removeDashboardTip(){	
	if(confirm('Are you sure you don\'t want to see this help tip anymore?')) { 
		updateSerSet('browse_dashboard_tip',1,'browseDashboardIntro'); 
	}
}


//Rename Browse Group
function BrowseRenameGroup(id) {
	var groupNameNode = $('group'+id).getElementsBySelector('.handle')[0];
	var GroupNodeformValue = groupNameNode.getElementsBySelector('input');
	if (typeof (GroupNodeformValue[0])!='undefined') { DoAjaxRenameGroup(id); }
	else {
		var newH3node = Builder.node(
			'form',
			{onsubmit: 'javascript:DoAjaxRenameGroup('+id+'); return false;'},
			[Builder.node(
				'input',
				{type: 'text', value: groupNameNode.innerHTML,onblur:'javascript:DoAjaxRenameGroup('+id+'); return false;'}
			)]
		);
		groupNameNode.update('');
		groupNameNode.appendChild(newH3node);
	}
}
//Rename Browse Group Ajax
function DoAjaxRenameGroup(id) {
	var groupNameNode = $('group'+id).getElementsBySelector('.handle')[0];
	var newname = groupNameNode.getElementsBySelector('input')[0].value;
	new Ajax.Request('/ajax/browse/?action=rename_group&id='+id+'&newname='+newname, { method: 'get',onSuccess: function(transport) {
		groupNameNode.update(newname);
	} });
}

// Browse Group Initializer & Creater
function createBrowseGroup() {
	Sortable.create('browse',{tag:'div', containment:'browse', only:'yum', handle:'handle', onUpdate:updateGroupOrder});
}

//Update Group Order
function updateGroupOrder() {
	if (UserLoggedIN==true) {
		var sectionsid = $$('.section');
		var reorderparameters='';
		for (var i = 0; i < sectionsid.length; i++) { reorderparameters += 'groups[]='+sectionsid[i].id.replace(/group/, '')+'&'; }
		new Ajax.Updater('modupdates', '/ajax/browse/?action=reorder_groups', {
			onComplete:function(){
				$('updateComplete').show();
				Effect.Fade('updateComplete',{duration:1});
			},
			parameters:reorderparameters,
			evalScripts:true,
			asynchronous:true}
		)
	}
}

//Create Browse Group Name
function createNewSection(name) {
	var name = $F('sectionName');
	if (name != '') {
		if (UserLoggedIN==true) {
			new Ajax.Request('/ajax/browse/?action=add_group&name='+name,{ method: 'get',onSuccess: function(transport) {
					var ajaxresponce = transport.responseXML.documentElement.getElementsByTagName("new")[0];
					if (ajaxresponce.getAttribute("group") == 'OK') {
						var mysqlid = ajaxresponce.getAttribute("id");
						var groupname = ajaxresponce.getAttribute("name");
						buildNewSection(mysqlid,groupname);
					}
				}
			});
		}
		else {
			var sections = $$('.section');
			buildNewSection('lo'+(sections.length + 1),name);
		}
	}
}

//Build New Browse Group
function buildNewSection(mysqlid,groupname) {	
	h3Handlediv = EditGroupTemplate.evaluate({ID: mysqlid,GID: 'group' + mysqlid});
	if (UserLoggedIN==true) { h3Handlediv = RemoveGroupTemplate.evaluate({ID: mysqlid}) + h3Handlediv; }
	newDivnode = GroupDIVTemplate.evaluate({ID: mysqlid,GID: 'group' + mysqlid,REMOVEEDITS: h3Handlediv,GNAME: groupname,DATA: ''});
	var emptyTempDIV = Builder.node('div',{id: 'tempDIV'+mysqlid, style:'display:none;'});

	$('tempDivMods').appendChild(emptyTempDIV);
	$('tempDIV'+mysqlid).innerHTML=newDivnode;
	$('browse').appendChild($('yum_'+mysqlid).cloneNode(true));
	$('tempDIV'+mysqlid).remove();
	$('yum_'+mysqlid).hide();
	Effect.Appear($('yum_'+mysqlid));
	destroyBrowseModule();
	createBrowseModule();
	new Control.Modal($('RemoveConfirm'+mysqlid), {
		containerClassName: 'dialog',
		overlayClassName: 'dialog',
		fade: false,
		opacity: 0.65,
		width: 480,
		height: 150
	});
	createBrowseGroup();
}

//Create Module
function createBrowseModule() {
	var sections = $$('.section');
	for(var i = 0; i < sections.length; i++) {
		if (UserLoggedIN==true) {
			Sortable.create(sections[i].id,{tag:'div',dropOnEmpty: true,containment: sections, handle:'modhandle', only:'lineitem',onUpdate:function(element){
					if (Sortable.serialize(element).length >= 1) {
						new Ajax.Updater('modupdates', '/ajax/browse/?action=update', {
							onComplete:function(){
								$('updateComplete').show();
								Effect.Fade('updateComplete',{duration:1});
							},
							parameters:'group=' + element.id.replace(/group/, '') + '&' + Sortable.serialize(element),
							evalScripts:true,
							asynchronous:true
						});
					}
				}
			});
		}
		else {
			Sortable.create(sections[i],{tag:'div',dropOnEmpty: true, containment: sections,only:'lineitem'});
		}
	}
}


//Confirm Modal Alert
function createEditRemoveConfirmModals() {
	var removeconfirmids = $$('.groupRemove');
	for(var i = 0; i < removeconfirmids.length; i++) {
		//'RemoveConfirm'+
		new Control.Modal($(removeconfirmids[i]), {
			containerClassName: 'dialog',
			overlayClassName: 'dialog',
			fade: false,
			opacity: 0.65,
			width: 480,
			height: 150
		})
	}
}

//Destroy Mod
function destroyBrowseModule() {
	Sortable.destroy('browse');
	var sections = $$('.section');
	for(var i = 0; i < sections.length; i++) {
		Sortable.destroy(sections[i]);
	}
}

//Close existing mod menus
function CloseOpenMenusBrowseMod() {
	var sectionsid = $$('.mod_drop');
	sectionsid.each(function(mod) {
		var sectionID = mod.id;
		if (mod.visible()) {
			Effect.toggle(mod,'blind',{duration:0.2});
		}
	});
}

//Set Default Modules
function setDefaultModularSettings() {
	jar = new CookieJar({  
			domain: '.artician.com',
			path: '/browse'
	});
	jar.empty();
	var Modulars = $$('.browseGrid');
	var alerttext = '';
	Modulars.each(function(modular) {
		var sectionID = modular.id;
		var groupdata=0;
		var str = sectionID.replace(/mod_/, '');
		
		if (modular.visible()) {
			groupdata = 1;
		}
		jar.put('group_'+str, groupdata);	
	});
}


/*
Debug Functions for checking the group and item order
*/

//Get Browse Group Order
function getGroupOrder() {
	var sectionsid = $$('.section');
	var alerttext = '';
	sectionsid.each(function(section) {
		var sectionID = section.id;
		var order = Sortable.serialize(sectionID);
		alerttext += sectionID + ': ' + Sortable.sequence(section) + '\n';
	});
	alert(alerttext);
}
//Serialize Groups
function SerializeGroups() {
	var sectionsid = $$('.section');
	var alerttext = '?';
	sectionsid.each(function(section) {
		var sectionID = section.id;
		var order = Sortable.serialize(sectionID);
		alerttext += sectionID + '=' + Sortable.sequence(section) + '&';
	});

	$('modupdates').update(alerttext);
}

//Expand All Modules
function ModularsExpandAll(gid) {
	nodes=$(gid).getElementsBySelector('.browseGrid');
	nodes.each(function(node) {
		if (!node.visible()) {
			toggleBrowseModuler(node.id,false);
		}
	});
}

//Collapse all Modules
function ModularsCollapseAll(gid) {
	nodes=$(gid).getElementsBySelector('.browseGrid');
	nodes.each(function(node) {
		if (node.visible()) {
			Effect.toggle(node,'blind',{
				duration:0.4,
				afterFinish: function() {
						$('toggle_'+node.id.replace(/mod_/, '')).className = 'col';
						jar.put('group_'+str, 1);
				}
			});
		
		}
		jar = new CookieJar({domain: '.artician.com',path: '/browse'});
		jar.put('group_'+node.id.replace(/mod_/, ''), 0);
	});
}
var ToggleModAJAXTemplate;
var ToggleModAJAXTemplateMature;

//Toggle Browse Module
function toggleBrowseModuler(obj,toggleenabled) {
	var jar = new CookieJar({domain: '.artician.com',path: '/browse'});
	var str = obj.replace(/mod_/, '');
	var ajaxid = $('moduler_'+str).getAttribute("ajaxID");
	var bwork = 'bwork_'+str;
	var strclass = 'toggle_'+str;
	var htmltoadd='';
	if ($(bwork).getElementsByClassName('workInner')[0].empty()) {
		//var url = '/xml/browse/?code='+ajaxid.innerHTML;
		var url = '/json/browse/?code='+ajaxid; //.innerHTML
		new Ajax.Request(url, {
				method: 'get',
				onSuccess: function(transport) {
					//var xmlDoc = transport.responseXML;
					//var rsXML = xmlDoc.documentElement.getElementsByTagName("rs");
					var jsonresult = transport.responseText.evalJSON();
					var rsJSON = jsonresult.data;
					
					for (var i = 0; i < rsJSON.length; i++) {
						if  (rsJSON[i].mature=='1') {
							htmltoadd += ToggleModAJAXTemplateMature.evaluate({THUMBSIZE: BrowseThumbSize, link: rsJSON[i].link,title: rsJSON[i].title, username: rsJSON[i].username});
						}
						else {
							htmltoadd += ToggleModAJAXTemplate.evaluate({link: rsJSON[i].link,title: rsJSON[i].title, ID: rsJSON[i].id,username: rsJSON[i].username, file: rsJSON[i].file}).replace('.75.','.'+BrowseThumbSize+'.');
							//THUMBSIZE: BrowseThumbSize, 
						}
					}
					$(bwork).getElementsByTagName("ul")[0].update(htmltoadd);
					if (toggleenabled == false) {
						if (!$(obj).visible()) {
							Effect.toggle(obj,'blind',{
								duration:0.4,
								afterFinish: function() {
									$(strclass).className = 'col';
									jar.put('group_'+str, 1);
								}
							});
						}
						return;
					}
			
					Effect.toggle(obj,'blind',{duration:0.4,
						afterFinish: function() {
							if (!$(obj).visible()) { $(strclass).className = 'exp'; jar.put('group_'+str, 0); }
							else { $(strclass).className = 'col'; jar.put('group_'+str, 1); }
						}
					});
				}
			}
		);
	}
	else {
		if (toggleenabled == false) {
			if (!$(obj).visible()) {
				Effect.toggle(obj,'blind',{
					duration:0.4,
					afterFinish: function() {
						$(strclass).className = 'col';
						jar.put('group_'+str, 1);
					}
				});
			}
			return;
		}
	
		Effect.toggle(obj,'blind',{ duration:0.4,
			afterFinish: function() {
				if (!$(obj).visible()) { $(strclass).className = 'exp'; jar.put('group_'+str, 0); }
				else { $(strclass).className = 'col'; jar.put('group_'+str, 1); }
			}
		});
	}
}

function drop_browse(id) { ['ind_up','ind_down'].each(Element.toggle);
    Effect.toggle('browse_cat_drop','appear', {duration: 0.4});
}

function browse_mod_options(id) {
    Effect.toggle('browse_mod_drop','appear', {duration: 0.3});
}