/*
 * ionStar - custom functions for the ionStar Theme
 */

function jrLoad(id,url,round_id,round_num) {
  if (typeof url == "undefined") {
    return false;
  }
  if (url == 'blank') {
    jQuery(id).hide();
  }
  else if (id == '#hidden') {
    jQuery(id).hide();
    jQuery(id).load(url);
  }
  else {
    if (id == '#rank') {
      var t = jQuery('#rank').height();
      if (t == null) {
        jQuery('#main').html('<div class="inner"><div id="rank"></div></div>');
      }
    }
    var h = jQuery(id).height();
    if (h > 150) {
      jQuery(id).height(h);
    }
    jQuery(id).fadeTo(100,0.5,function() {
      if (id == '#login') {
        jQuery(id).html('<img src="'+ system_url +'/images/ajax-loading.gif" width="80px">');
      }
      else {
        jQuery(id).html('<img src="'+ system_url +'/images/loading.gif" width="80px">');
      }
      jQuery(id).load(url,function() {
        var l = jQuery(id).text();
        if (l.length < 1 && id != '#player') {
          jQuery(id).html('');
        }
        if (h > 150) {
          jQuery(id).height('100%');
        }
        if (round_id && round_num > 0) {
          jQuery(id).fadeTo(100,1.00,function() {
            if (jQuery.browser.msie) {
              this.style.removeAttribute('filter');
            }
            jQuery(round_id).corner(round_num +'px');
          });
        }
        else {
          jQuery(id).fadeTo(100,1,function() {
            if (jQuery.browser.msie) {
              this.style.removeAttribute('filter');
            }
          });
        }
        addRaveRaters();
        Shadowbox.clearCache();
        Shadowbox.setup("a.shawdobox_link", { });
      })
    });
  }
}

function jrModifyForumPost(band_id,topic_id,post_id,category) {
  var mi = '#'+ post_id;
  jQuery(mi).height(140);
  jrLoad(mi,system_url +'/forum.php?mode=modify&band_id='+ band_id +'&t='+ topic_id +'&c='+ category +'&post_id='+ post_id);
}

function jrSetMenuActive(id) {
  jQuery('#pmenu .p_choice').removeClass('p_choice_active');
  jrResetResults();
  jQuery(id).addClass('p_choice_active');
}
function jrSetActive(id,no_remove) {
  if (typeof no_remove == "undefined") {
    jQuery('.p_choice').removeClass('p_choice_active');
    jQuery('#search_result').hide();
  }
  jQuery(id).addClass('p_choice_active');
}
function jrSetCpActive(id) {
  jQuery(id).addClass('cp_active');
}

function jrSetPlayerActive(quota_id,id,no_remove) {
  if (quota_id < 0) {
    jQuery('#p_photo').addClass('p_choice_active');
  }
  else {
    jQuery('#p_audio').removeClass('p_choice_active');
    jQuery('#p_video').removeClass('p_choice_active');
    jQuery('#p_radio').removeClass('p_choice_active');
    jQuery('#p_channel').removeClass('p_choice_active');
    jQuery('#p_photo').removeClass('p_choice_active');
    jQuery(id).addClass('p_choice_active');
  }
}

function jrRoundCorners() {
  //if (typeof document.body.style.maxHeight != "undefined" && navigator.appVersion.search(/MSIE 7/) == -1) {
    jQuery('.outer').corner('5px');
    jQuery('.inner').corner('5px');
    jQuery('.rounded').corner('4px');
    jQuery('.rounded_h').corner('4px');
    jQuery('.trounded').corner('4px top');
    jQuery('.tinner').corner('5px top');
    jQuery('.binner').corner('5px bottom');
  //}
}

function jrHideComments() {
  jQuery('#cform').hide();
  jQuery('#comments_t').hide();
  jQuery('#comments').hide();
  jQuery('#your_comment').hide();
}

function jrShowComments(type,type_id) {
  jrResetResults();
  jQuery('#comments_t').show();
  jQuery('#comments').show();
  jQuery('#your_comment').show();
  if (type) {
    jQuery('#comment_type').val(type);
    if (type_id) {
      jQuery('#comment_type_id').val(type_id);
    }
    jrLoad('#comments',artist_url + type +'_comments_'+ type_id +'.php');
  }
  else {
    jQuery('#comment_type').val('band');
    jrLoad('#comments',artist_url +'comments.php');
  }
}

function jrResetResults() {
  jQuery('#cform').empty();
  jQuery('#cform').show();
  jQuery('#cform').removeClass('results_success');
  jQuery('#cform').removeClass('results_error');
}

function jrShowFanForm() {
  jQuery('#fans_form').show();
}

function jrHideFanForm() {
  jrResetFanForm();
  jQuery('#fans_form').hide();
}
function jrResetFanForm() {
  jQuery('#fanform').empty();
  jQuery('#fanform').removeClass('results_success');
  jQuery('#fanform').removeClass('results_error');
}

function jrResetForumForm() {
  jQuery('#fform').empty();
  jQuery('#fform').show();
  jQuery('#fform').removeClass('results_success');
  jQuery('#fform').removeClass('results_error');
}

function jrSlideDown(id) {
  jQuery(id).show();
  jQuery(id).slideDown(300);
}
function jrSlideUp(id) {
  jQuery(id).slideUp(300);
}

/* Login Form Ajax */
function jrSubmitLoginForm() {
  jQuery('#login_button').attr({disabled: "disabled"}); 
  jQuery('#forgot_button').attr({disabled: "disabled"}); 
  jQuery('#cancel_button').attr({disabled: "disabled"}); 
  var f_options = {
    target: '#login',
    dataType: 'xml',
    success: jrProcessLoginXML
  };
  jQuery('#login_form').ajaxSubmit(f_options);
}
function jrProcessLoginXML(responseXML) { 
  var message_type = jQuery('message_type',responseXML).text();
  var message      = jQuery('message',responseXML).text();
  var login_mode   = jQuery('login_mode',responseXML).text();
  if (message_type == 'success') {
    if (login_mode == 'forgot') {
      jrLoad('#login',system_url +'/index.php?t=small_login_forgot');
      jQuery('#login_message').fadeOut(20,function() {
        jQuery('#login_message').text(message);
        jQuery('#login_message').removeClass('results_error');
        jQuery('#login_message').removeClass('results_success');
        jQuery('#login_message').addClass('results_'+ message_type);
      });
      jQuery('#login_message').fadeIn('slow');
      jQuery('#login_message').css('visibility','visible');
      jQuery('#login_message').css('padding','3px');
      jQuery('#login_message').css('margin','0px 3px 6px 0px');
    }
    else {
      jQuery('#login_message').hide();
      jrLoad('#login',system_url +'/index.php?t=small_login_success','#cp_button',4);
    }
  }
  else {
    if (login_mode == 'forgot') {
      jrLoad('#login',system_url +'/index.php?t=small_login_forgot');
    }
    else {
      jrLoad('#login',system_url +'/index.php?t=small_login');
    }
    jQuery('#login_message').fadeOut(20,function() {
      jQuery('#login_message').text(message);
    });
    jQuery('#login_message').css('visibility','visible');
    jQuery('#login_message').css('padding','3px');
    jQuery('#login_message').css('margin','0px 3px 6px 0px');
    jQuery('#login_message').fadeIn('slow');
  }
}

/* Signup Ajax Functions */
function jrSubmitSignupForm() {
  var email = document.signup_form.user_emailadr.value;
  var bname = document.signup_form.user_nickname.value;
  jQuery('#user_emailadr2').val(email);
  jQuery('#band_name').val(bname);
  var f_options = {
    target: '#signup_result',
    dataType: 'xml',
    success: jrProcessSignupXML
  };
  jQuery('#signup_form').ajaxSubmit(f_options);
}
function jrProcessSignupXML(responseXML) {
  var message_type = jQuery('message_type',responseXML).text();
  var message      = jQuery('message',responseXML).text();
  if (message_type == 'success') {
    jQuery('#signup_form').clearForm();
    jQuery('#sform').hide();
    jQuery('#continue').show();
  }
  else {
    var error_code = jQuery('error_code',responseXML).text();
    jQuery('#signup_form *').removeClass('hilight');
    switch (error_code) {
      case 'INVALID_CAPTCHA':
        jQuery('#captcha_code').addClass('hilight');
        break;
      case 'INVALID_USER_NICKNAME':
        jQuery('#user_nickname').addClass('hilight');
        break;
      case 'INVALID_EMAIL':
        jQuery('#user_emailadr').addClass('hilight');
        break;
      case 'PASSWORD_MISMATCH':
        jQuery('#user_password1').addClass('hilight');
        jQuery('#user_password2').addClass('hilight');
        break;
    }
  }
  jQuery('#signup_result').fadeOut(100,function() {
    jQuery('#signup_result').text(message);
    jQuery('#signup_result').removeClass('results_error');
    jQuery('#signup_result').removeClass('results_success');
    jQuery('#signup_result').addClass('results_'+ message_type);
  });
  jQuery('#signup_result').fadeIn('slow');
}

function jrSubmitCommentForm(form_id) {
	  var c_options = {
		target: '#message'+form_id,
		dataType: 'xml',
		success: jrProcessCommentXML
		};
	  jQuery('#comment_form'+form_id).ajaxSubmit(c_options);
	  jQuery('#comment_form'+form_id).fadeOut('slow');
	  jQuery('#message'+form_id).html('<img src="/portal/images/tinyRed.gif"/><span style="padding-left:5px;">Submitting your comment. Please wait...</span>');
	  jQuery('#message'+form_id).fadeIn('slow');
}

function jrProcessCommentXML(responseXML) { 
// 'responseXML' is the XML document returned by the server; we use 
// jQuery to extract the content of the message node from the XML doc 
var type         = jQuery('comment_type',responseXML).text(); 
var type_id      = jQuery('comment_type_id',responseXML).text(); 
var message_type = jQuery('message_type',responseXML).text(); 
var message      = jQuery('message',responseXML).text(); 
var band_id      = jQuery('band_id',responseXML).text();
var form_id = type_id+band_id;
//if (type == 'band') {
//  jrLoad('#comments',artist_url +'comments.php');
//}
//else {
//  var page = artist_url + type +'_comments_'+ type_id +'.php';
//  jrLoad('#comments',page);
//}
jQuery('#message'+form_id).fadeOut(100,function() {
  if (message_type == 'success') {
    jQuery('#comment_form'+form_id).clearForm();
  }
  //jQuery('#cform'+form_id).removeClass('results_error');
  //jQuery('#cform'+form_id).removeClass('results_success');
  //jQuery('#cform'+form_id).addClass('results_'+ message_type);
});
jrLoad('#commentbox-container'+form_id,system_url+'/ranking.php?mode=comment&type=song&order=1&band_id='+band_id+'&song_id='+type_id+'&row_template=comment_row.tpl&pagebreak=5&tpl_dir=theme&theme=ionStar');
jQuery('#message'+form_id).html('<img src="/portal/skins/ionStar/images/success_small.png"/><span style="padding-left:5px;">'+message+'</span>');
jQuery('#message'+form_id).fadeIn('slow');
jQuery('#message'+form_id).fadeOut(20000);
}

function jrSubmitRating(id,rate_num,target_div) {
  jQuery(id +' input').val(rate_num);
  var r_options = {
    target: target_div,
    dataType: 'xml',
    success: jrProcessRatingXML
  };
  jQuery(id).ajaxSubmit(r_options);
}
function jrProcessRatingXML(responseXML) { 
  var message_type = jQuery('message_type',responseXML).text(); 
  var message      = jQuery('message',responseXML).text(); 
  var rate_percent = jQuery('rate_percent',responseXML).text(); 
  var rate_type    = jQuery('rate_type',responseXML).text(); 
  if (rate_type == 'band') {
    var div = '#prform';
  }
  else {
    var div = '#rform';
  }
  jQuery(div).fadeOut(100,function() {
    jQuery(div).text(message);
    jQuery(div).removeClass('results_error');
    jQuery(div).removeClass('results_success');
    jQuery(div).addClass('results_'+ message_type);
  });
  if (message_type == 'success') {
    jQuery('#current_rating').css('width',rate_percent +'%');
  }
  jQuery(div).fadeIn('slow');
}

function jrSubmitFavorite() {
  jQuery('#fav_button').attr("disabled","disabled");
  var r_options = {
    target: '#fav_result',
    dataType: 'xml',
    success: jrProcessFavoriteXML
  };
  jQuery('#fav_form').ajaxSubmit(r_options);
}
function jrProcessFavoriteXML(responseXML) {
  var message_type = jQuery('message_type',responseXML).text();
  var message      = jQuery('message',responseXML).text();
  var current_c    = jQuery('#fav_count').text();
  var new_c        = Number(current_c) + 1;
  jQuery('#fav_count').text(new_c);
  jQuery('#fav_form').hide();
  jQuery('#fav_result').fadeOut(100,function() {
    jQuery('#fav_result').text(message);
    jQuery('#fav_result').removeClass('results_error');
    jQuery('#fav_result').removeClass('results_success');
    jQuery('#fav_result').addClass('results_'+ message_type);
  });
  jQuery('#fav_result').fadeIn('slow');
}

/* Forum Ajax Functions */
function jrSubmitForumEdit(post_id) {
  var f_options = {
    target: '#fedit_form',
    dataType: 'xml',
    success: jrProcessForumEditXML
  };
  jQuery('#update_form').ajaxSubmit(f_options);
}
function jrProcessForumEditXML(responseXML) { 
  var message_type = jQuery('message_type',responseXML).text();
  var message      = jQuery('message',responseXML).text();
  var band_id      = jQuery('band_id',responseXML).text();
  var pagenum      = jQuery('pagenum',responseXML).text();
  var topic_id     = jQuery('topic_id',responseXML).text();
  var category     = jQuery('category',responseXML).text();
  var message_type = jQuery.trim(message_type);

  if (message_type == 'success') {
    if (band_id > 0) {
      jrLoad('#pm',system_url +'/forum.php?band_id='+ band_id +'&c='+ category +'&t='+ topic_id +'&p='+ pagenum);
    }
    else {
      jrLoad('#rank',system_url +'/forum.php?band_id=0&c='+ category +'&t='+ topic_id +'&p='+ pagenum);
    }
  } 
}

function jrSubmitForumPost(band_id,topic_id,category) {
  jQuery('#forum_band_id').val(band_id);
  jQuery('#forum_topic_id').val(topic_id);
  jQuery('#forum_category').val(category);
  var f_options = {
    target: '#fform',
    dataType: 'xml',
    success: jrProcessForumXML
  };
  jQuery('#forum_form').ajaxSubmit(f_options);
}
function jrProcessForumXML(responseXML) { 
  var message_type = jQuery('message_type',responseXML).text(); 
  var message      = jQuery('message',responseXML).text(); 
  var band_id      = jQuery('band_id',responseXML).text(); 
  var pagenum      = jQuery('pagenum',responseXML).text(); 
  var topic_id     = jQuery('topic_id',responseXML).text(); 
  var category     = jQuery('category',responseXML).text(); 
  var message_type = jQuery.trim(message_type);
  if (message_type == 'success') {
    jQuery('#forum_form').clearForm(); 
    if (band_id > 0) {
      jrLoad('#pm',system_url +'/forum.php?band_id='+ band_id +'&t='+ topic_id +'&p='+ pagenum);
    }
    else {
      jrLoad('#rank',system_url +'/forum.php?band_id=0&t='+ topic_id +'&p='+ pagenum);
    }
  }
}

/* Fan Join Ajax Functions */
function jrSubmitFanForm() {
  jrShowFanForm();
  var f_options = {
    target: '#fanform',
    dataType: 'xml',
    success: jrProcessFanXML
  };
  jQuery('#fan_form').ajaxSubmit(f_options);
}
function jrProcessFanXML(responseXML) { 
  var message_type = jQuery('message_type',responseXML).text(); 
  var message      = jQuery('message',responseXML).text(); 
  if (message_type == 'success') {
    jQuery('#fan_form').clearForm(); 
    jrLoad('#pm',artist_url +'fans_list.php');
  }
  jQuery('#fanform').fadeOut(100,function() {
    jQuery('#fanform').text(message);
    jQuery('#fanform').removeClass('results_error');
    jQuery('#fanform').removeClass('results_success');
    jQuery('#fanform').addClass('results_'+ message_type);
  });
  jQuery('#fanform').fadeIn('slow');
}

/* Contact Form Ajax Functions */
function jrSubmitContactForm() {
  jQuery('#contact_form').show();
  var f_options = {
    target: '#contact_res',
    dataType: 'xml',
    success: jrProcessContactXML
  };
  jQuery('#contact_form').ajaxSubmit(f_options);
}
function jrProcessContactXML(responseXML) { 
  var message_type = jQuery('message_type',responseXML).text(); 
  var message      = jQuery('message',responseXML).text(); 
  if (message_type == 'success') {
    jQuery('#contact_form').clearForm(); 
  }
  jQuery('#contact_res').fadeOut(100,function() {
    jQuery('#contact_res').text(message);
    jQuery('#contact_res').removeClass('results_error');
    jQuery('#contact_res').removeClass('results_success');
    jQuery('#contact_res').addClass('results_'+ message_type);
  });
  jQuery('#contact_res').fadeIn('slow');
}

/* Fan Join Ajax Functions */
function jrAddToCart(vault_id,disable_text,add_url,cart_url) {
  jQuery('#hidden').hide();
  jQuery('#hidden').load(add_url +'&output=null',function() {
    jQuery('#cart').load(cart_url,function() {
      jQuery(vault_id).attr("value",disable_text);
      jQuery(vault_id).attr("disabled","disabled");
    })
  });
}

function jrSubmitAction() {
  var r_options = {
    target: '#action_status',
    dataType: 'xml',
    success: jrProcessActionXML
  };
  jQuery('#action_form').ajaxSubmit(r_options);
}
function jrProcessActionXML(responseXML) {
  var message_type = jQuery('message_type',responseXML).text();
  var message      = jQuery('message',responseXML).text();
  var fan_band_id  = jQuery('fan_band_id',responseXML).text();
  if (message_type == 'success') {
    jQuery('#action_form').clearForm(); 
  }
  jQuery('#action_status').fadeOut(100,function() {
    jQuery('#action_status').text(message);
    jQuery('#action_status').removeClass('results_error');
    jQuery('#action_status').removeClass('results_success');
    jQuery('#action_status').addClass('results_'+ message_type);
  });
  jQuery('#action_status').fadeIn('slow',function() {
    if (fan_band_id > 0) {
      var url = 'ranking.php?mode=action&row_template=theme_index_actions_row.tpl&tpl_dir=theme&theme=VisualOne&show=12&fan_band_id='+ fan_band_id;
    }
    else {
      var url = 'ranking.php?mode=action&row_template=theme_index_actions_row.tpl&tpl_dir=theme&theme=VisualOne&show=6&fan_band_id=0&show_admins=yes';
    }
    jrLoad('#action_list',url);
  });
}

function disableEnterKey(e) {
  var key;
  if (window.event) {
    key = window.event.keyCode;
  }
  else {
    key = e.which;
  }
  if (key == 13) {
    return false;
  }
  return true;
}

function jrProfilePageInit(quota_id,active,player,media_type,media_id) {
  jQuery('#search').hide();
  jrHideFanForm();
  jrLoad('#fans',artist_url +'fans.php');

  // If we do not receive a default page to load, load our main.php
  if (typeof media_type == "undefined") {
    jrLoad('#pm',artist_url +'main.php');
    jrLoad('#comments',artist_url +'comments.php');
    jrShowComments();
    jrSetActive('#default','no_remove');
  }
  else if (media_type == "forum") {
    jrHideComments();
    jrHideFanForm();
    jrSetMenuActive('#m_forum');
  }
  else {
    // Looks like we received a media page to load
    jrLoad('#pm',artist_url + media_type +'_'+ media_id +'.php');
    jrLoad('#comments',artist_url + media_type +'_comments_'+ media_id +'.php');
    jQuery('#comment_type').val(media_type); 
    jQuery('#comment_type_id').val(media_id); 
    jrSetMenuActive('#m_'+ media_type);
  }
  if (quota_id < 0 || active == '#p_photo') {
    if (player == '#p_radio') {
      jrLoad('#player',artist_url +'player_radio.php');
      jrSetPlayerActive(quota_id,'#p_radio');
    }
    else if (player == '#p_channel') {
      jrLoad('#player',artist_url +'player_channel.php');
      jrSetPlayerActive(quota_id,'#p_channel');
    }
    else if (player == '#p_photo') {
      jrLoad('#player',artist_url +'player_photo.php');
      jrSetPlayerActive(quota_id,'#p_photo');
    }
  }
  else {
    jrLoad('#player',artist_url + player);
    jrSetPlayerActive(quota_id,active,'no_remove');
  }
}

function jrSkinInit() {
  jQuery('#search').hide();
  jrLoad('#sm','index.php?t=jr_index_artist');
  jrSetActive('#default');
}
