// JavaScript Document
//requires js_ajax.js
var artist_bio;


function checkEnter(e)
{ //e is event object passed from function invocation
  var characterCode;// literal character code will be stored in this variable

  if(e && e.which)
  { //if which property of event object is supported (NN4)
    e = e
    characterCode = e.which //character code is contained in NN4's which property
  }
  else
  {
    e = event
    characterCode = e.keyCode //character code is contained in IE's keyCode property
  }
  
  if(characterCode == 13)
  { //if generated character code is equal to ascii 13 (if enter key)
    search_artists(e); //submit the form
    return false
  }
  else
  {
  return true
  }

}
///////////////////////////////////////////////////////////////
//AJAX - Vote Similar Artist
///////////////////////////////////////////////////////////////
function vote_similar_artist(direction,similar_artist,artist,event)
{
  var paramsobj = new Object();
  paramsobj.dirrection = direction;
  paramsobj.similar_artist = similar_artist;
  paramsobj.artist = artist;
  paramsobj.event = event;
  
  AJAX.execute(ajax_votesimilar_setup, ajax_votesimilar_response, paramsobj);
}

function ajax_votesimilar_setup(paramsobj)
{
    var myObject = new Object();
    myObject.action     = 'move_similar_artist';
    myObject.id         = g_raceid++;
    myObject.session    = g_session;
    myObject.dirrection = paramsobj.dirrection;
    myObject.similar_artist = paramsobj.similar_artist;
    myObject.artist = paramsobj.artist;
    return myObject;
}

function ajax_votesimilar_response(ajaxobj,paramsobj)
{
    var similar_xml = XML.getDocumentTag(ajaxobj.responseXML);
    
    var result = XML.getTextByName(similar_xml,"result");
    
    if(result == 'success')
    {
      open_welcome('You have successfully voted.','400','false','2',paramsobj.event);
      setTimeout("opacity('welcome_letter_div2', 100, 0, 1000)",1000);
      setTimeout("close_letter_div(2)",2000);
    } else {
      open_welcome('There was an error with the voting system.','400','false','2',paramsobj.event);
      setTimeout("opacity('welcome_letter_div2', 100, 0, 1000)",1000);
      setTimeout("close_letter_div(2)",2000);
      
    }
}

///////////////////////////////////////////
function enter_similar_artist()
{
  hide_div('add_link');
  show_div('enter_artist');
}

function show_div(div_id)
{
  document.getElementById(div_id).style.display = 'block';
}

function hide_div(div_id)
{
  document.getElementById(div_id).style.display = 'none';
}

///////////////////////////////////////////////////////////////
//AJAX - Searching Artists
///////////////////////////////////////////////////////////////

function search_artists(event)
{
  var paramsobj = new Object();
  paramsobj.searchquery = document.getElementById('search_artist_input').value;
  paramsobj.event = event;

  AJAX.execute(ajax_searchartists_setup, ajax_searchartists_response, paramsobj);
}

function ajax_searchartists_setup(paramsobj)
{

    var myObject = new Object();
    myObject.action     = 'search';
    myObject.id         = g_raceid++;
    myObject.session    = g_session;
    myObject.searchquery = paramsobj.searchquery;
    myObject.startcount = '0';
    myObject.count = '10';
    return myObject;
}

function ajax_searchartists_response(ajaxobj,paramsobj)
{
    var xmlobj = XML.getDocumentTag(ajaxobj.responseXML);

    var artists = xmlobj.getElementsByTagName("artist");
    //alert(ajaxobj.responseText);
    var artistid = document.getElementById('current_artistid').value;
    var after = document.getElementById('last_artistid').value;
    
    var searchText = '<table><tr><td>Choose Similar Artist</td></tr>';
    for(var i=0; i<artists.length; i++)
    {
        var artistname = XML.getTextByName(artists[i],"name");
        var similar_artist = XML.getTextByName(artists[i],'artistid');
        var bio_id = similar_artist;
        
        searchText +=  "<tr>";
        searchText +=      "<td align=left valign=center width=600px>";
        searchText +=          "<a href='/artist/"+similar_artist+"'>";
        searchText +=              artistname;
        searchText +=          "</a>";
        searchText +=         "<div style='border:1px solid #808080;background-color:#B8B8B8;padding:5px;width:150px;float:right;'>";
        searchText +=            "<a href='javascript:void(0);' onClick='Javascript:add_similar_artists(\""+artistid+"\",\""+similar_artist+"\",\""+after+"\",event);' style='color:#FFF;'>";
        searchText +=              "<center>Add Similar Artist</center>";
        searchText +=            "</a>";
        searchText +=        "</div>";
        searchText +=      "</td>";
        searchText +=  "</tr>";
        searchText +=  "<tr>";
        searchText +=      "<td align=center valign=center width=600px height=100px>";
        
        searchText += "<table><tr>";
        searchText += "<td width=100px>";
        searchText +=          "<div style='float:left;padding:5px;height:100px;' id='image_"+i+"'>";
        //searchText +=              "<img src='"+imageurl+"' width=75 height=75 alt='yoogli music artist' />";
        searchText +=          "</div>";
        searchText += "</td>";
        searchText += "<td width=400px>";
        searchText +=          "<div style='float:right;padding:5px;height:85px;width:400px;height:100px;' id='bio_"+i+"'>";
        searchText +=          "</div>";
        searchText += "</td></tr></table>";

        get_artist_bio(bio_id,"bio_"+i);
        get_artist_image(bio_id,"image_"+i);
        searchText +=      "</td>";
        searchText +=  "</tr>";
    }
    
    searchText += '</table>';
    var new_top = document.getElementById('popup_height').value;
    open_welcome(searchText, '600','true','1',new_top);
    
}
/////---------------------
//AJAX getting artists bio

function get_artist_bio(artistid,target_div)
{
  dynamic('target_div',target_div, 'i=bio&s='+g_session+'&a='+artistid );
  
}

///---------------------------------------------
//get_artist_image('get_image_src','250','250', 'artist', similar_artist )
function get_artist_image(artistid, target_div)
{
  dynamic('target_div',target_div, 'i=image&s='+g_session+'&a='+artistid );
}
//--------------------------
function clearSimilar()
{
  document.getElementById('artist_result').innerHTML = '';
}

//////////////////////////////////////////////////////////////
//AJAX - Adding Similar Artist
///////////////////////////////////////////////////////////////

function add_similar_artists(artist, similar_artist, after,event)
{
  var paramsobj = new Object();
  paramsobj.artist = artist;
  paramsobj.similar_artist = similar_artist;
  paramsobj.after  = after;  
  paramsobj.event = event;
  
  AJAX.execute(ajax_addsimilar_setup, ajax_addsimilar_response, paramsobj);
}

function ajax_addsimilar_setup(paramsobj)
{
    var myObject = new Object();
    myObject.action     = 'set_similar_artist';
    myObject.id         = g_raceid++;
    myObject.session    = g_session;
    myObject.artist     = paramsobj.artist;
    myObject.similar_artist = paramsobj.similar_artist;
    myObject.after      = paramsobj.after;
    return myObject;
}

function ajax_addsimilar_response(ajaxobj,paramsobj)
{
    var add_xml = XML.getDocumentTag(ajaxobj.responseXML);
    
    var result = XML.getTextByName(add_xml,"result");
    
    if(result == 'success')
    {
      open_welcome('Artist successful added as similar.','400','false','2',paramsobj.event);
      setTimeout("opacity('welcome_letter_div2', 100, 0, 1000)",1000);
      setTimeout("close_letter_div(2)",2000);
      
      setTimeout("opacity('welcome_letter_div1', 100, 0, 1000)",1000);
      setTimeout("close_letter_div(1)",2000);
      
      var current_artist_id = document.getElementById('current_artistid').value;
      var current_page = document.getElementById('similar_page').value;
      
      setTimeout("dynamic('target_div','artist_similar_container','i=similar_reset&s="+g_session+"&sid="+paramsobj.similar_artist+"&a="+current_artist_id+"&p="+current_page+"')",2200);
      
    } else {
      open_welcome('There was an error with the adding system.','400','false','2',paramsobj.event);
      setTimeout("opacity('welcome_letter_div2', 100, 0, 1000)",1000);
      setTimeout("close_letter_div(2)",2000);
      
    }
    
    //alert(ajaxobj.responseText);
}
//////////////////////////////////////
//////////////////////////////////
function open_welcome(message,width,show_top,number,event)
{

    if(number == '1'){
      open_grey_screen_background(number);
    }
    open_welcome_div(message,width,show_top,number,event);
}
function close_letter_div(number)
{
    removeElementbyName('welcome_letter_div'+number);
    if(number == '1'){
      removeElementbyName('grey_screen_div'+number);
    }
}
function open_welcome_div(message,window_width,show_top,number,event)
{
    
    var wind_width  = window_width;
    var wind_height = 200;
    var c_window    = YGWin.getCenteredWindowCoords(wind_width,wind_height);
    var left_coord  = c_window.left;
    var top_coord = '';
    
    if(typeof(event) == 'object'){
      top_coord = getMousePosition(event) - 20//c_window.top;
    } else {
      top_coord = event;
    }
      

    styletext ="display:block;width:"+wind_width+"px;height:"+wind_height+"px;position:absolute;top:"+top_coord+"px;left:"+left_coord+"px;z-index:1002";
	idtext='welcome_letter_div'+number;
	obj = DOMelement("DIV");
  	obj.setAttribute("id",idtext);
  	obj.setAttribute("style",styletext);

    obj.innerHTML=get_letter_div_html(message,show_top,number);

	document.body.appendChild( obj.createElement() );
	
	window.location = String(window.location).replace(/\#.*$/, "") + "#toplink";
}

function get_letter_div_html(message,show_top,number)
{
    
    blu_x = page_to_src("images/yg2_dialog_x_unselected.gif");
    red_x = page_to_src("images/yg2_dialog_x_selected.gif");
    h='';

    h+="<div style='border:1px solid #c0c0c0; background:#eee;padding:5px;'>";
    h+=  "<div style='border:1px solid #c0c0c0; background:#fff;padding:5px;'>";
    
    //---------------------------------------------------
    if(show_top == 'true')
    {
      h+="<div style='float:right'>";
      h+=  "<a href='javascript:close_letter_div("+number+");'><img src='"+blu_x+"' onmouseover='this.src=\""+red_x+"\";' onmouseout='this.src=\""+blu_x+"\";' width=25 height=25 border=0 style='cursor:pointer;'></a>";
      h+="</div>";
    }
    h+="<div style='margin:10px; font-family:Verdana,Geneva,Helvetica,Arial,Sans-Serif; color:#555;'>";
    h+=  message
    h+=  "<div style='border-top:1px solid #c0c0c0;'>";
    h+=  "</div>";
    h+=  "<br>";    
    h+=  "<div style='text-align:center'>";

    h+=        "<input type=button class=blue name=cont value='Close Window' onClick='javascript:close_letter_div("+number+");'>";

    h+=  "</div>";
    h+="</div>";
    h+="<br>";
    //---------------------------------------------------
    h+=  "</div>";
    h+="</div>";
    return h;
}
//----------------------------------------------------------------------------------------------
