/*************
 User Profiles
**************/

var userProfiles=[0];

function changeUserProfile() {
  var z=g('userInfoSelect').selectedIndex;
  // Valid profile
  if (z>0) {
    g('userProfileName').value = userProfiles[z][0];
    g('userN').value = userProfiles[z][1];
    g('userE').value = userProfiles[z][2];
    g('userC').value = userProfiles[z][3];
    g('userW').value = userProfiles[z][4];
    g('userL').value = userProfiles[z][5];
    g('userS').value = userProfiles[z][6];
    g('userInfoDefault').checked = userProfiles[0] == z;
  }
  // Default to nothing
  else {
    g('userProfileName').value = '';
    g('userN').value = '';
    g('userE').value = '';
    g('userC').value = '';
    g('userW').value = '';
    g('userL').value = '';
    g('userS').value = '';
    g('userInfoDefault').checked=false;
  }
  
  // No profiles?
  g('userInfoDefault').disabled = g('profileDeleteButton').disabled = z==0;
  saveUserProfiles();
}

function addUserProfile() {
  var newIndex = g('userInfoSelect').getElementsByTagName('option').length;
  userProfiles[newIndex] = [g('userProfileName').value, g('userN').value, g('userE').value, g('userC').value, g('userW').value, g('userL').value, g('userS').value];
  g('userInfoOptions').innerHTML+="<option>"+userProfiles[newIndex][0]+"</option>";
  g('fileInfoProfileOpt').innerHTML+="<option>"+userProfiles[newIndex][0]+"</option>";
  g('userInfoSelect').selectedIndex=g('userInfoSelect').getElementsByTagName('option').length-1;
  g('userInfoDefault').disabled=false;
  g('userInfoDefault').checked=false;
  g('profileDeleteButton').disabled=false;
  saveUserProfiles();
}

function saveUserProfile() {
  var k=g('userInfoSelect').selectedIndex;
  
  // Not valid profile
  if (g('userInfoOptions').getElementsByTagName('option').length<1 || k==0) {
    addUserProfile();
    return;
  }
  
  userProfiles[k] = [g('userProfileName').value, g('userN').value, g('userE').value, g('userC').value, g('userW').value, g('userL').value, g('userS').value];
  g('userInfoSelect').getElementsByTagName('option')[g('userInfoSelect').selectedIndex].text = g('userProfileName').value;
  g('fileInfoProfile').getElementsByTagName('option')[g('fileInfoProfile').selectedIndex].text = g('userProfileName').value;
  saveUserProfiles();
}

function deleteUserProfile() {
  var k = g('userInfoSelect').selectedIndex;
  if (k<1) {return;}
  g('fileInfoProfile').selectedIndex = k-1;
  g('userInfoSelect').selectedIndex = k-1;
  userProfiles.splice(k, 1);
  g('userInfoSelect').options[k]=null;
  g('fileInfoProfile').options[k]=null;
  
  // Default profiles needs to change number
  if (k==userProfiles[0]) {userProfiles[0]=0;}
  if (k < userProfiles[0]) {userProfiles[0]--;}
  changeUserProfile();
}

function setDefaultUserProfile() {
  if (g('userInfoDefault').disabled) {return;}
  userProfiles[0] = (g('userInfoDefault').checked) ? g('userInfoSelect').selectedIndex : 0;
  saveUserProfiles();
}

function saveUserProfiles() {
  var temp=[userProfiles[0]];
  for (i=1; i<userProfiles.length; i++) {
    temp[i]=userProfiles[i].join('|N|');
  }
  data.set('Velt_2_skinUserInfo', temp.join('|P|'));
}

function loadUserProfiles() {
  var temp=data.get('Velt_2_skinUserInfo').split('|P|');
  
  // No profiles set
  if (data.get('Velt_2_skinUserInfo').length<2) {
    g('userInfoSelect').selectedIndex=0;
    return;
  }
  
  g('userInfoOptions').innerHTML='';
  g('fileInfoProfileOpt').innerHTML='';
  userProfiles=[parseInt(temp[0])];
  
  for (i=1; i<temp.length; i++) {
    userProfiles[i]=temp[i].split('|N|');
    g('userInfoOptions').innerHTML+="<option>"+userProfiles[i][0]+"</option>";
    g('fileInfoProfileOpt').innerHTML+="<option>"+userProfiles[i][0]+"</option>";
  }
  
  g('userInfoSelect').selectedIndex=userProfiles[0];
  g('fileInfoProfile').selectedIndex=userProfiles[0];
  changeUserProfile();
}

function applyProfile() {
  var z=g('fileInfoProfile').selectedIndex;
  if (z<1) {return;}
  g('efiN').value = userProfiles[z][1];
  g('efiE').value = userProfiles[z][2];
  g('efiC').value = userProfiles[z][3];
  g('efiW').value = userProfiles[z][4];
  g('efiL').value = userProfiles[z][5];
  g('efiS').value = userProfiles[z][6];
  updateOverlay();
}