var system_path = ''
var searchNow = 0
var searchTerm = ''

function deleteLink(linkId) {	
}

function editLink(id) {
	winLink = new Window( {
		className: "alphacube",
		title: "Link",
		width:640,
		height:480,
		url: system_path+'/links/edit/'+id,
		hideEffectOptions:{duration:.3},
		showEffectOptions: {duration:.3}
	})
	winLink.showCenter();
}

function closeEditLink() {
	parent.closeWin('link')
	parent.reload()
}

function closeWin( tipo ) {
	//fecha a janela js para cada tipo.
	if( tipo == 'link') winLink.close();
	if( tipo == 'settings') winSettings.close();
}

function userSettings() {
	winSettings = new Window({
		className: "alphacube",
		title: "Settings",
		width:640,
		height:480,
		url: system_path+'/users/settings',
		hideEffectOptions:{duration:.3},
		showEffectOptions: {duration:.3},
		minimizable: false,
		maximizable: false
	})
	winSettings.showCenter();
}

function addUrl(url) {
	winLink = new Window( {
		className: "alphacube",
		title: "Add link",
		top:70,
		left:100,
		width:450,
		height:300,
		url: system_path+'/link/ajaxAdd/?link='+url,
		hideEffectOptions:{duration:.3},
		showEffectOptions: {duration:.3},
		minimizable: false,
		maximizable: false});
	winLink.showCenter();
}

function deleteSite(id) {
}

function getUrlTitle() {
	
	url = $('link').value

	new Ajax.Request(system_path+'/links/getUrlTitle/?link='+url, {
	  onLoading: function() {
	  	Effect.Appear('loadingTitle', { duration: .3 });
	  },
	  onSuccess: function(transport) {
		Effect.Fade('loadingTitle', { duration: .3 });
		if(resposta = transport.responseText.evalJSON()) {
			if(resposta.status == "ok") $("linkTitle").value = resposta.title
		}
	  }
	});

}

function showLinks(divId, page) {
	url = system_path+'/links/index/'+tags+'?'
	
	if(searchNow == 1 && searchTerm != '') url = url + '&search=' + searchTerm;
	if(!isNaN(page)) url = url + '&page=' + page;

	new Ajax.Updater(divId, url);
	Effect.Appear(divId, { duration: .1 });
}

function putHtml(text, divId) {
	$(divId).innerHTML = text
}

function loadingMsg(text, divId) {
	text = "<center><br><br><br><br><img src=\"include/icons/loading_snake.gif\" border=\"0\"><br>"+text+"</center>";
	if(divId) $(divId).innerHTML = text;
	else return text;
}

function tagOptions() {
	if($('tagOptions').style.display == 'none')	{
		Effect.BlindDown('tagOptions', { duration: .3 });
		$('tagOptionsIcon').src = "include/icons/12/player_eject.png";
	}
	else {
		Effect.BlindUp('tagOptions', { duration: .3 });
		$('tagOptionsIcon').src = "include/icons/12/player_play.png";
	}
}

function over(linkId) {
	$('iconsLink'+linkId).style.display = 'block';
}

function out(linkId) {
	$('iconsLink'+linkId).style.display = 'none';
}

function clear() {
	searchNow = 0;	
	tags = "";

	showTags('boxTags');
	
	Effect.Fade('boxLinks', { duration: .2 });
	window.setTimeout('showLinks(\'boxLinks\')', 200);
}

function reload() {
	//funcao para dar um reload na tela, tags e links
	//criei ela por causa do problema do unlink que de vez em quando rola
		
	showTags('boxTags');
	Effect.Fade('boxLinks', { duration: .2 });
	window.setTimeout('showLinks(\'boxLinks\')', 200);
}

function clickReload() {
	window.setTimeout('reload()', 1000);	
}

function updateClicks(linkId) {
	
	url = system_path+'/links/addClick/'+linkId;
	
	new Ajax.Request(url, {
	  method: 'get',
	  onSuccess: function(transport) {
		resposta = transport.responseText.evalJSON()
		if(resposta.status != 'ok') alert('Deu merda, capitão!');
  		}
	});	
}

function addTag(addedTag) {
	
	if(tags == '') {
		tags = addedTag;
	}
	else tags = tags+','+addedTag;
	
	Effect.Fade('boxLinks', { duration: .1 });
	window.setTimeout('showLinks(\'boxLinks\')', 200);
	window.setTimeout('showTags(\'boxTags\')', 200);
}

function showTags(divId) {
	//no animation yet
	
	url = system_path+'/tags/index/'+tags;

	new Ajax.Updater( divId, url, { evalJS:'true'} )
}


function searchOn() {
	$('searchInput').value = "";
	$('searchInput').align = "left";
}

function searchOut() {
	//$('searchInput').value = "search";
}

function doSearch() {
	searchNow = 1
	searchTerm = $('searchInput').value
	showLinks('boxLinks')
}

function login() {
	
}

function tag(addedTag) {
	tags = addedTag;
	
	Effect.Fade('boxLinks', { duration: .2 });
	window.setTimeout('showLinks(\'boxLinks\')', 200);
	window.setTimeout('showTags(\'boxTags\')', 200);
}

function removeTag(removedTag) {
	var newTags = new Array
	var arrayTags = tags.split(",")	
	
	for ( var i = 0; i < arrayTags.length; i = i + 1  )
	{
		if(arrayTags[i] != removedTag) newTags.push(arrayTags[i])
	}
	
	tag(newTags.toString())
	
}

//funcoes relacionadas ao usuario

function showUser( divId ) {
	//mostra o userBox padrao
	
	url = system_path+'ajax/user.php';
	new Ajax.Request(url, {
	  method: 'get',
	  onSuccess: function(transport) {
		putHtml(transport.responseText, divId);
  		}
	});
}

function loginForm( divId ) {
	//mostra o formulario para login
	url = system_path+'ajax/login.php';
	new Ajax.Request(url, {
	  method: 'get',
	  onSuccess: function(transport) {
		putHtml(transport.responseText, divId);
  		}
	});
}

function saveSettings() {
	//mudar isso para o estilo do saveDataLinkForm()
	 
	$('formSettings').submit()
}

function closeSettings() {
	parent.closeWin('settings')
}

//
//add link form function
//

function saveDataLinkForm(add) {
	
	if(add) {
		$('dataLinkForm').submit()
	}
	else {
		var url = system_path+"/links/save/?"+Form.serialize('dataLinkForm');
				
		new Ajax.Request(url, {
			method: 'post',
			onSuccess: function(transport) {
				if(resposta = transport.responseText.evalJSON()){
					if(resposta.status != 'ok') alert(transport.responseText);
				}
			}
		});
		closeEditLink()
	}
}

function deleteDataLinkForm(link_id) {
	
	var url = system_path+"/links/delete/"+link_id;
	
	new Ajax.Request(url, {
		onSuccess: function(transport){
			alert(transport.responseText)
		}
	});
}

function cancelDataLinkForm(add) {
	if(add) {
		document.location = $('link').value;		
	}
	else parent.closeWin('link')
}

//
//edit link form function
//

function oneMoreTag(tag, input_id) {
	
	if(input_id) { 
		$(input_id).value = "";
	}
	
	if($('tags').value == "") {
		tagsAtuais = new Array();

		tagsToAdd = tag.split(',')
		tagsToAdd = tagsToAdd.uniq()
		for(j=0;j<tagsToAdd.length;j++) {
			tagsToAdd[j] = trim(tagsToAdd[j])			
			tagsAtuais.push(tagsToAdd[j])
		}
	}
	else {
		tagsAtuais = $('tags').value.split(',')
		tagsToAdd = tag.split(',')
	
		newTags = new Array();
	
		for(j=0;j<tagsToAdd.length;j++) {
			paraTudo = 0
			for(i=0;i<tagsAtuais.length;i++) {
				tagsToAdd[j] = trim(tagsToAdd[j])
				if(tagsAtuais[i]==tagsToAdd[j] || tagsToAdd[j] == "" || tagsToAdd[j] == " ") paraTudo = 1
			}
			if(paraTudo == 0) tagsAtuais.push(tagsToAdd[j])
		}
	}

	$('tags').value=tagsAtuais.toString()

	printTags()
}

function oneLessTag(tag) {
	myArray = $('tags').value.split(',');

	novasTags = new Array();

	if(myArray.length != 1) {
		for(i=0;i<myArray.length;i++) {
			if(myArray[i]!=tag) novasTags.push(myArray[i])
		}
		$('tags').value = novasTags.toString()
	}
	else {
		$('tags').value = "";
	}
	printTags()
}

function printTags(teste) {

	if($('tags').value != "") {
		tempArray = $('tags').value.split(',');
		myTxt = "";

		for(i=0;i<tempArray.length;i++) {
			myTxt += "<span class=\"nowrap\"><a href=\"#\" onclick=\"oneLessTag('"+tempArray[i]+"')\" style=\"color:black;\">"+img_tag_delete+tempArray[i]+"</a></span>&nbsp; ";
		}

		$('tagsDiv').innerHTML = myTxt
	}
	else $('tagsDiv').innerHTML = ""
}

function trim(str){return str.replace(/^\s+|\s+$/g,"");}

added_draggables = new Array();

function LkfDraggable(id) {    
    new Draggable(id, {
	revert: true
    });
}