/* ###########################################
* User karma & ranks shows
* v1.2.1
########################################### */
function rankname(min, rank) {
 if(min == 0) {
  var count = "";
  for(i = 0; i < rank.length; i++) {
   if(rank[i][0] < rank[i][1]) {
    return rank[i][2];
   }
   count = i;
  }
  for(s = 0; s < rank.length; s++) {
   if(rank[count][0] > rank[s][1]) {
    return rank[count][2];
   }
  }
 } else{
  var count = "";
  for(i = 0; i < rank.length; i++) {
   if(rank[i][0] > rank[i][1]) {
    return rank[i][2];
   }
   count = i;
  }
  for(s = 0; s < rank.length; s++) {
   if(rank[count][0] < rank[s][1]) {
    return rank[count][2];
   }
  }
 }
}

function table_bar(istopic, tabwidth, width, maximum, value, valuex, min, tid, acc, color) {
 var uranks_plus = new Array(
	Array(valuex, "100", "מיועד לשירותי ביטחון"),
	Array(valuex, "200", "טירון"),
	Array(valuex, "300", "טוראי"),
	Array(valuex, "400", "רב טוראי"),
	Array(valuex, "500", "סמל"),
	Array(valuex, "600", "סמל ראשון"),
	Array(valuex, "700", "בדרך לקצונה"),
	Array(valuex, "800", "סגן משנה"),
	Array(valuex, "900", "סגן"),
	Array(valuex, "1000", "סרן"),

	Array(valuex, "1125", "מצביא"),
	Array(valuex, "1250", "סנאטור"),
	Array(valuex, "1375", "חבר כנסת"),
	Array(valuex, "1500", "שר עם תיק"),
	Array(valuex, "1625", "חבר קונגרס"),
	Array(valuex, "1750", "ראש מפלגה"),
	Array(valuex, "1875", "ראש ממשלה"),
	Array(valuex, "2000", "נשיא"),

	Array(valuex, "2500", "Im a lifeless")
 );
 var uranks_minus = new Array(
	Array(valuex, "-20", "ג'ובניק"),
	Array(valuex, "-40", "רב סמל בכיר"),
	Array(valuex, "-60", "רב סמל משנה"),
	Array(valuex, "-80", "רב סמל ראשון"),
	Array(valuex, "-100", "רב סמל")
 );
 var tranks_plus = new Array(
	Array(valuex, "1", "לא דורג"),
	Array(valuex, "10", "טוב"),
	Array(valuex, "60", "נחמד"),
	Array(valuex, "100", "שווה צפיה"),
	Array(valuex, "250", "שווה צפיה!"),
	Array(valuex, "500", "גאוני"),
	Array(valuex, "500", "גאוני!")
 );
 var tranks_minus = new Array(
	Array(valuex, "-25", "לא משהו"),
	Array(valuex, "-50", "בזבוז"),
	Array(valuex, "-75", "זבל!"),
	Array(valuex, "-500", "כישלון!")
 );

var bad_widths = new Array(
	"60",
	"80"
);

 if(value > maximum) {
  value = maximum;
 }

 for(i = 0; i < bad_widths.length; i++) {
  if(width == bad_widths[i]) {
   width = 100;
  }
 }

 var unit = width / maximum;
 var width1 = Math.ceil(unit * value);
 //var width2 = width - width1;
 //alert (unit+"-"+width1+"-"+width2);
 //var width1 = (value - 100) / (500 - 100) * 100;
 
 var str = '';
 if(istopic == 2) {
   str +='<table width="100%" cellpadding="0" cellspacing="0"><tr><td>';
   str += '<b title="'+value+'" class="karma_new" style="width: '+tabwidth+'px;">';
   str += '<b class="karma_n_color" style="background:'+color+'; width: '+width1+'%">';
   str += '<img src="" height="1" width="0" alt="" /></b></b></td><td align="right"><b>';
  if(min == 0) {
   if(acc == 1) {
    str += '<a href="javascript:newwin(\'form_forums.php?t='+tid+'&amp;action=whorated\', \'WindowDisplay\', \'200\');" title="" target="_self">';
    str += rankname(min, tranks_plus);
    str += '</a>';
   } else{
    str += rankname(min, tranks_plus);
   }
  } else{
   if(acc == 1) {
    str += '<a href="javascript:newwin(\'form_forums.php?t='+tid+'&amp;action=whorated\', \'WindowDisplay\', \'200\');" title="" target="_self">';
    str += rankname(min, tranks_minus);
    str += '</a>';
   } else{
    str += rankname(min, tranks_minus);
   }
  }
   str += '</b></td></tr></table>';
 } else if(istopic == 1) {
   str +='<table width="100%" cellpadding="0" cellspacing="0"><tr><td>';
   str += '<b title="'+value+'" class="karma_new" style="width: '+tabwidth+'px;">';
   str += '<b class="karma_n_color" style="background:'+color+'; width: '+width1+'%">';
   str += '<img src="" height="1" width="0" alt="" /></b></b></td></tr><tr><td align="right" width="50"><font style="font-size: 11px;">';
  if(min == 0) {
   str += rankname(min, tranks_plus);
  } else{
   str += rankname(min, tranks_minus);
  }
   str += '</font></td></tr></table>';
 } else{
  var topic_id = "Karma_POST_" + tid;
  var rankshow = "";
  var rankshow_v = "0";
  for(i = 0; i < special_ranks.length; i++) {
   if(special_ranks[i][0] == topic_id && special_ranks[i][1] != "") {
    rankshow = special_ranks[i][1];
    rankshow_v = 1;
   }
  }
  str +='<table width="100%" cellpadding="0" cellspacing="0"><tr><td>';
  if(min == 0) {
   if(rankshow_v == 1) {
    str += rankshow;
   } else{
    str += rankname(min, uranks_plus);
   }
  } else{
   if(rankshow_v == 1) {
    str += rankshow;
   } else{
    str += rankname(min, uranks_minus);
   }
  }
  str += '<b title="'+value+'" class="karma_new" style="width: '+tabwidth+'px;">';
  str += '<b class="karma_n_color" style="background:'+color+'; width: '+width1+'%">';
  str += '<img src="" height="1" width="0" alt="" /></b></b></td>';
  str += '</tr></table>';
 }
 return str;
}

function user_karma(tid, min, user_rank, user_real_rank) {
 if(user_rank < 0) {
  return table_bar(0, 99, 100, 250, -user_rank, user_real_rank, min, tid, '', '#D11400;')
 } else if (user_rank >= 0 && user_rank < 500) {
  return table_bar(0, 99, 100, 500, user_rank, user_real_rank, min, tid, '', '#74CE64;')
 } else if (user_rank >= 500 && user_rank < 1000) {
  user_rank = user_rank - 500;
  return table_bar(0, 99, 100, 500, user_rank, user_real_rank, min, tid, '', '#1eace1;')
 } else if (user_rank >= 1000){
  user_rank = 1000;
  return table_bar(0, 99, 100, 1000, user_rank, user_real_rank, min, tid, '', '#6B8EC6;')
 }
}

function msg_karma(istopic, min, user_rank, user_real_rank, tid, acc) {
 if(user_rank < 0) {
  return table_bar(istopic, 60, 60, 500, -user_rank, user_real_rank, min, tid, acc, '#D11400;')
 } else if (user_rank >= 0 && user_rank < 500) {
  return table_bar(istopic, 60, 60, 500, user_rank, user_real_rank, min, tid, acc, '#74CE64;')
 } else if (user_rank >= 500) {
  user_rank = 500;
  return table_bar(istopic, 60, 60, 500, user_rank, user_real_rank, min, tid, acc, '#6B8EC6;')
 }
}