﻿// JScript File

$(document).ready(function() { 
	
	addhashtags();
	setslashesonly();
	
	$("#sortable1").sortable();
	 
	 $('#sortable1').bind('sortstop', function(event, ui) {
		hashtaglistchanged(event, ui);
	});
	 
	$("#newhashtag").focus(function (e)	{
	    $("#newhashtag").attr("value","");
	});
	
	$("#newhashtag").keypress(function (e) {
		if (e.which == 13 && $("#newhashtag").val()!='') {
			additem($("#newhashtag").val());
			hashtaglistchanged(null,null);			
		}
	});

	
	$("#addhashtag").click(addhashtag);	
	$(".remove").click(removehashtag);	
	
	$("#slashesonly").click(toggleslashesonly);	

});

function toggleslashesonly(e)
{
	res=$("#slashesonly").attr("checked");	
	if(SDEBUG) console.log("Set slashesonly to: "+res);
	document.cookie = "settings.slashesonly="+res+setCookieEx();	
}

function setslashesonly()
{
	$("#slashesonly").attr("checked",getslashesonly());
};

var globalCounter=0;

function addhashtags()
{
    var tags = gethashtags();
    for(var z=0;z<tags.length;z++) {
        additem(tags[z]);
    }    
}

function additem(tag)
{
    if(tag.substr(0,1)=="#") tag=tag.replace("#","");
    globalCounter++;
    var item = '<li class="ui-state-default hash" id="id_'+globalCounter+'">#'+tag+'  (<a class="remove" href="#">remove</a>)</li>';
    $("#sortable1").append(item);
	$("#newhashtag").attr("value","");
    $(".remove").click(removehashtag);	
}

function addhashtag(e)
{
    if(SDEBUG) console.log($("#newhashtag").val());
    additem($("#newhashtag").val());     
	hashtaglistchanged(null,null);	
}

function removehashtag(e)
{
     if(SDEBUG) console.log(e);
     if(SDEBUG) console.log(e.currentTarget.parentNode);
     if(SDEBUG) console.log(e.currentTarget.parentNode.id);
     
     $("#"+e.currentTarget.parentNode.id).remove();
     
     hashtaglistchanged(e,null);
}

function hashtaglistchanged(event, ui)
{
    if(SDEBUG) console.log("hashtag list changed ...");   
	if(SDEBUG) console.log(event); 
	if(SDEBUG) console.log(ui); 
    
    //var hashlist = $(".hash").get();
	//var hashlist = $("#sortable1 li").get();
	var hashlist = $("#sortable1").sortable('toArray');
    var hashtags = [];
	if(SDEBUG) console.log(hashlist);	
	for(var z=0; z<hashlist.length; z++) {
		//if(SDEBUG) console.log(hashlist[z]);		 
		if($("#"+hashlist[z]).html()!="") {	
			hashtag=$("#"+hashlist[z]).html().substr(0,$("#"+hashlist[z]).html().indexOf(" (")-1);                
			hashtags.push(hashtag);
			//shtags.push(hashlist[z]);		
		 }
	}
	
	if(SDEBUG) console.log("LIst of new hasttags after list change .."); 
	if(SDEBUG) console.log(JSON.stringify(hashtags));
	document.cookie = "settings.hashtags="+JSON.stringify(hashtags)+setCookieEx();	
}

function setCookieEx()
{
	var cookiex = new Date();
	var futureset = cookiex.getTime() + (5* 365 * 24 * 60 * 60 * 1000);
	cookiex.setTime(futureset);
	return ";expires=" + cookiex.toGMTString();
}
