var idMap = {}  
  
function setHiddenValue() {
    var ids = []
    var txt = $("#favorite_artists").val();

    if( !txt ) {
        return;
    }

    var items = txt.split(/\,\s*/)
    $.each(items, function() {
        var key = $.trim(this);
        if(key.length > 0 && idMap[key] ) {
            ids.push(idMap[key])
        }
    })

    $("#user_favorite_artists").val(ids.join(","));
}

$(function(){
    var currentImportOptionIndex = 0;
    var importOptionHtml=[]
    

    
    function patchArtistTextArea() {
        $("#favorite_artists").autocomplete("/ws.json?method=Veequalizer.completer", {
            queryKey : "searchterm",
            parse : function(data) {
                if(typeof(data) == 'string') {
                    if(data[0]!="(") {
                        data = "("+data+")";
                    }
                    data = eval(data);
                }
                if( !data || !data["artists"]) {
                   return []
                }                    

               var result = []
               jQuery.each(data["artists"], function(){
                  result.push({
                     data: [this["title"],this["id"]],
                     value: this["title"],
                     result: this["title"]
                  })
               })
               return result
            },
            delay: 100,
            autoFill : true,
            mustMatch : false,
            multiple: true 
         });

		$("#favorite_artists").result(function(event, data, formatted) {
		    idMap[formatted] = data[1];
		    setHiddenValue();
		});
    }
    
    function setOptionIndex( n ) {
        currentImportOptionIndex = n;
        $("#import_options").html(importOptionHtml[n])
        patchArtistTextArea();
    }
    
    $("#import_selector input").click(function(){
        var index = parseInt($(this).val(), 10 );
        if( index != currentImportOptionIndex ){
            setOptionIndex(index)
        }
        return true;
    })
    
    $("#import_selector select").change(function(){
        var index = parseInt($(this).val(), 10 );
        if( index != currentImportOptionIndex ){
            setOptionIndex(index)
        }
    })
    $.each($(".import_option"), function() {
        importOptionHtml.push($(this).html())
    })
    setOptionIndex(0);
    $($("#import_selector input")[0]).attr("checked", true)




	$('#warning_confirm_button').click(function() {
		$('#foreign_applicant_warning').slideUp();
	});    
})
