var maxpoints = 71;
var startlevel = 10;
var spent = [0,0,0];
var maxneed = new Array();
var colcount = new Array;
var total=0;
var tooltipshow = 0;
var dourls = 1;
var recording = false;
var mixit = new Array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","Y","Z")
var freelancer = false;
var levelarray = new Array();

maxneed[0] = 0;
maxneed[1] = 0;
maxneed[2] = 0;


function clickhandler(sid,event){

	
	if(event.shiftKey || event.ctrlKey || event.button == 2){
		if(recording){
			alert(T_NOREMOVE);
			return;
		}
		
		if(freelancer && tn[sid][1]>0){
			rem(sid);
		}else{
		
			tn[sid][1]=tn[sid][1]-1;
			checker = validate(tn[sid][3]);
			tn[sid][1]=tn[sid][1]+1;
			if(checker==1){
				rem(sid);
	
			}
		}
	}else{
		if(freelancer && total < maxpoints && tn[sid][1] < tn[sid][2]){
			add(sid);
		}else{
		
			//aktuelle punkte >= maxpunkte
			if(tn[sid][1] >= tn[sid][2]){
				return;
				//punkte im talentbaum < punkte ben�tigt f�r die ebene
			}else if(spent[tn[sid][3]]<tn[sid][4]*5){
				//pretalent nicht erf�llt
				return;
			}else if(tn[sid][5] > 0 && tn[tn[sid][5]][1] != tn[sid][6]){
				return;
			}else if(total==maxpoints){
				return;
			}else{
				checker = validate(tn[sid][3]);
				if(checker==1){
					add(sid);
				}
			}
		}
	}
	popupon(sid);


}

function DoFreelancer(){
	if(recording){
		alert(T_RECORD_E_NOFREELANCER);
		$("#flmode")[0].checked = false;
		return;
	}
	if (document.getElementById("flmode").checked) {
		freelancer = true;
		//StartFreeLancer();
	}else {
		freelancer = false;
		//StopFreeLancer();
	}
	
	avail(0);
	avail(1);
	avail(2);
	
}

function StartFreeLancer(){

	
	
}

function init(editor){
	
	if(editor==0){
		dourls=0;
	}else{
		clearhelp();
	}

	
	avail(0);
	avail(1);
	avail(2);
	
	DoArrowPos();
	
	for (var i = 0; i < 3; i++){
		colcount[i] = new Array();
		for (var i2 = 0; i2 < 11; i2++){
			colcount[i][i2]=0;
		}
	}
	
	
	if(prepoints!='-1'){
		
		
		var prepoints2 = "";
		for(var i=0;i<prepoints.length;i++){
			var act = prepoints.charAt(i).valueOf();
			 if  ( (act < "0") || (act > "9") ){
				for(var i2=0;i2<mixit.length;i2++){
					if(mixit[i2] == act){
						break;
					}
				}
				for(var i3=0;i3<=i2;i3++){
					prepoints2 = prepoints2+0;
				}
			}else{
				prepoints2 = prepoints2+act;
			}
		}
		prepoints = prepoints2;
		
		
		for(var i=0;i<prepoints.length;i++){
			for(var i2=0;i2<prepoints.charAt(i).valueOf();i2++){
				add(tns[i]);
			}
		}
		var message='';
		if(total>maxpoints){
			resettree(0);
			resettree(1);
			resettree(2);
			makeurls();
			alert(T_TOOMUCHALLTREE);
			return;
		}
		
		if(validate(0)==0){
			resettree(0);
			message=message+T_TALENTTREE+' '+tabnames[0]+''+T_WASRESETTED+'\r\n';
		}
		if(validate(1)==0){
			resettree(1);
			message=message+T_TALENTTREE+' '+tabnames[1]+''+T_WASRESETTED+'\r\n';
		}
		if(validate(2)==0){
			resettree(2);
			message=message+T_TALENTTREE+' '+tabnames[2]+''+T_WASRESETTED+'\r\n';
		}
		if(message.length>0){
			makeurls();
			message=message+'\r\n'+T_TOOMUCHONETREE;
			alert(message);
			
		}
	}
	if(typeof islevelbuild != 'undefined'){
		$(document).ready(function (){
	  		showlevelorder();
		});		
	}
}

function showlevelorder(){
	PostForm(T_LANGADD+"/levelbuild?recording=false",null,"dialog",null)
	/*MOOdalBox.open( 
							T_LANGADD+"/levelbuild?recording=false", 
							T_LEVELBUILD, 
							"300 525", 
							""
						);*/

}

function showlevelorder2(){
if(recording){
	return;
}
if(typeof islevelbuild == 'undefined'){
		return;
}

levelarray = JSON.parse(skorder);
	if(chkObject('lbuild_data')){
		//alert('jos');
	}
	tmpcounter = new Array();
	for(i=0;i<levelarray.length;i++){
		
	/*	var divNode = new Element('div',{'id': 'lbstep'+ (i+10),
							   		'styles': {
							   			'width': 452+'px'
							   			}
							   		}
							   	);*/
		sid = tns[levelarray[i]];
		if(tmpcounter[sid]==null){
			tmpcounter[sid] = 1;
		}else{
			tmpcounter[sid] = tmpcounter[sid]+1;
		}
		
		$("#lbuild_data").append($('<div id="lbstep'+(i+10)+'" styles="width:250px">'+'Level '+(i+10)+': '+tn[sid][0]+' ('+tmpcounter[sid]+'/'+tn[sid][2]+')'+'</div>'));
		
		/*divNode.innerHTML = 'Level '+(i+10)+': '+tn[sid][0]+' ('+tmpcounter[sid]+'/'+tn[sid][2]+')';
		$("#lbuild_data").appendChild(divNode);*/
		
	}
}

function DoArrowPos(){
	for(var i = 0;i<tns.length;i++){
		if(tn[tns[i]][5]>0){
			//document.write(tn[tns[i]][4]+'-'+tn[tn[tns[i]][5]][4]+'<br>');
			if(tn[tns[i]][4]>tn[tn[tns[i]][5]][4]){
				var psi = getPosition(document.getElementById("t"+tns[i]));
				var psi2 = getPosition(document.getElementById("t"+tn[tns[i]][5]));
				hc = psi.y - psi2.y - 40;
				document.getElementById("ab"+tns[i]).style.height = (hc-5)+'px';
				document.getElementById("a"+tns[i]).style.height = hc+'px';
				document.getElementById("a"+tns[i]).style.top = 	(psi.y-hc-3)+'px';
				document.getElementById("a"+tns[i]).style.left = 	(psi.x+11)+'px';	
			}else if(tn[tns[i]][7]>tn[tn[tns[i]][5]][7]){
				var psi = getPosition(document.getElementById("t"+tns[i]));
				var psi2 = getPosition(document.getElementById("t"+tn[tns[i]][5]));
				hc = psi.x - psi2.x - 40;
				document.getElementById("ab"+tns[i]).style.width = (hc-9)+'px';
				document.getElementById("ar"+tns[i]).style.width = (hc+3)+'px';
				document.getElementById("ar"+tns[i]).style.top = 	(psi.y+11)+'px';
				document.getElementById("ar"+tns[i]).style.left = 	(psi.x-hc)+'px';	
			}else{
				var psi = getPosition(document.getElementById("t"+tns[i]));
				var psi2 = getPosition(document.getElementById("t"+tn[tns[i]][5]));
				hc = (psi.x -psi2.x+40)*-1;
				//document.write("al"+tns[i]);
				document.getElementById("ab"+tns[i]).style.width = (hc-6)+'px';
				document.getElementById("al"+tns[i]).style.width = (hc+6)+'px';
				document.getElementById("al"+tns[i]).style.top = 	(psi.y+11)+'px';
				document.getElementById("al"+tns[i]).style.left = 	(psi.x+hc*2-3)+'px';
			}
		}
	}
}

function resettree(tree){
	if (recording == true && arguments.length==1){
		alert(T_RECORD_E_RESET);
		return;
	}
	var tocheck = new Array();
	var i3 = 0;
	for(var i = 0;i<tns.length;i++){
		if(tn[tns[i]][5]>0){
				swaparrow(tns[i]);
			}
		if(tn[tns[i]][3] == tree){
			pin = tn[tns[i]][1];
			for(var i2 = 0;i2<pin;i2++){
				if(recording == true){
					rem(tns[i],true);
				}else{
					rem(tns[i]);
				}
			}
		}
	}
	avail(tree);
	
}

function makeurls(){
	if(dourls == 1){
	var urlstr2 = "";
	var nullcounter = 0;
	for(var i=0;i<tns.length;i++){
		//urlstr = urlstr+tn[tns[i]][1];
		if(tn[tns[i]][1] == 0){
			nullcounter++;
		}else{
			if(nullcounter>0){
				if(nullcounter>48){
					//alert(Math.ceil(nullcounter/47));
					var durchlauf = Math.ceil(nullcounter/48);
					for(var i2=0;i2<durchlauf;i2++){
						if(i2==durchlauf-1){
							urlstr2=urlstr2+mixit[nullcounter-1];
						}else{
							urlstr2=urlstr2+mixit[47];
							nullcounter=nullcounter-48;
						}
					}
				}else{
					urlstr2=urlstr2+mixit[nullcounter-1];	
					
				}
				nullcounter=0;
			}
			urlstr2 = urlstr2+tn[tns[i]][1];
		}
		
	}
		
		
		
		var urlstr = '';
		for(var i=0;i<tns.length;i++){
			urlstr = urlstr+tn[tns[i]][1];
		}
	
		if(chkObject("savetemplate")){
			document.forms["savetemplate"].elements["tvalue"].value = urlstr;
		}
		if(chkObject("ajsavetalent")){
				
		    $("#ajsavetalent")[0].elements["tvalue"].value = urlstr;
		    
		}
		if(chkObject("ajsavelevel")){
			$("#ajsavelevel")[0].elements["tvalue"].value = urlstr;
			$("#ajsavelevel")[0].elements["skillorder"].value =  JSON.stringify(levelarray);
			$("#ajsavelevel")[0].elements["classname"].value = tclass;
		}
		document.getElementById("talentlink").value = T_BASEURL+tclass+'/'+urlstr+'?v='+calcv;
		document.getElementById("talentlink2").value = '/settalents '+urlstr;
		document.getElementById("talentlink3").value = T_BASEURL+tclass+'/'+urlstr2+'?v='+calcv;
	}
}



function validate(tree){
	var totalp = 0;
	for(var i = 0;i<tns.length;i++){
		checksid = tns[i];
		if(tn[checksid][3] == tree){
			if(tn[checksid][1] > 0){
				if(tn[checksid][1]>tn[checksid][2]){
					return 0;
				}
				if(totalp < tn[checksid][4]*5 ){
					return 0;
				}
				if(tn[checksid][5]>0){
					if(tn[tn[checksid][5]][1] != tn[tn[checksid][5]][2]){
						return 0;
					}
				}
				totalp = totalp + tn[checksid][1]; 
			}else if(tn[checksid][1]<0){
				return 0;
			}
		}
	}
	return 1;
}

function add(sid){

	if(spent[tn[sid][3]] == 0){
		//colcount[tn[sid][3]][1] = 0;
		//colcount[tn[sid][3]] = new Array();
		//colcount[tn[sid][3]][tn[sid][4]]=0;

		//if(colcount[tn[sid][3]]){
		//colcount[tn[sid][3]][tn[sid][4]]=0;
		//}
	}
	//	if(!colcount[tn[sid][3]][tn[sid][4]]){
	//		colcount[tn[sid][3]][tn[sid][4]]=0;
	//	}
	tn[sid][1] = tn[sid][1]+1;
	spent[tn[sid][3]] = spent[tn[sid][3]]+1;
	colcount[tn[sid][3]][tn[sid][4]]=colcount[tn[sid][3]][tn[sid][4]]+1;
	total++;
	testmax = tn[sid][4]*5;
	if(maxneed[tn[sid][3]] < testmax){
		maxneed[tn[sid][3]] = testmax;
	}
	if(tn[sid][1] == 1){
	//testchange
	//	var Ausdruck = /\/[a-z\.-]*\/[a-z]*\/[a-z]*\/[a-z]*\/(.*)/;
		//Ausdruck.exec(document.getElementById('t'+sid).src);
		//document.write(RegExp.$1);

		//document.getElementById('t'+sid).src = "/img/wint/icons/"+RegExp.$1;
		tmp = document.getElementById('t'+sid).style.backgroundPosition;
		var props = tmp.split(' ');
		document.getElementById('t'+sid).style.backgroundPosition  = props[0]+"  0px";
	}
	if(tn[sid][1] > 0){
		document.getElementById("tpp"+sid).innerHTML = tn[sid][1]+"/"+tn[sid][2];
		if(tn[sid][1] == tn[sid][2]){
			document.getElementById('t'+sid).className = 'timage3';
			document.getElementById("tpp"+sid).className = 'tpoints3';
			if(tn[sid][8]>0){
				checkfree(sid);
				avail(tn[sid][3]);
			}
		}else{
			document.getElementById('t'+sid).className = 'timage2';
			document.getElementById("tpp"+sid).className = 'tpoints2';
		}
	}
	if(spent[tn[sid][3]] % 5 == 0){
		avail(tn[sid][3]);
	}
	if(total==maxpoints){
		remavail();
	}
	if(recording){
		/*var divNode = new Element('div',{'id': 'lbstep'+ (total+9),
							   		'styles': {
							   			'width': '250px'
							   			}
							   		}
							   	);
		divNode.innerHTML = 'Level '+(total+9)+': '+tn[sid][0]+' ('+tn[sid][1]+'/'+tn[sid][2]+')';
		$("#lbuild_data").append(divNode);*/
		$("#lbuild_data").append($('<div id="lbstep'+(total+9)+'" styles="width:250px">'+'Level '+(total+9)+': '+tn[sid][0]+' ('+tn[sid][1]+'/'+tn[sid][2]+')'+'</div>'));
		if($('#ensard')[0].offsetHeight>600){
			$('#ensard').dialog('option', 'height', 600);
			$("#ensard").css({'height' : '583px'});
		}
		
		levelarray[(total-1)] = gettalentnumber(sid);
		//scrollToBottomOfDiv('mb_contents');
	}
	document.getElementById("ta"+tn[sid][3]).innerHTML = T_POINTSPENT+' <font color="#FFCC2A">'+tabnames[tn[sid][3]]+'</font>: '+spent[tn[sid][3]];
	document.getElementById("tpo").innerHTML = T_TOTALPOINTSPENT+': '+total;
	document.getElementById("tpl").innerHTML = T_POINTLEFT+': '+(maxpoints-total);
	document.getElementById("lr").innerHTML = T_LVLREQ+': '+(total+9);
	
	makeurls();
	
	
}

function UndoLastStep(){
	if(levelarray.length == 0){
		return;
	}
	stepid = total+9;
	$("#lbstep"+stepid).remove();
	//steptoremove = null;
	//$("'#lbuild_data").removeChild(steptoremove);
	torem = tns[levelarray[total-1]];
	levelarray.pop();
	rem(torem,true);
	//levelarray[total] = null;
	
	//alert(levelarray.length);
}

function gettalentnumber(which){
	for(var i=0;i<tns.length;i++){
			if(tns[i]==which){
				return i;
			}
		}
	
}

function remavail(){
	for(var i = 0;i<tns.length;i++){
		if(tn[tns[i]][1]==0){
			document.getElementById("tpp"+tns[i]).className = 'tpoints1';
		}
	}
}

function resetall(){
	if(arguments.length == 1){
		resettree(0,true);
		resettree(1,true);
		resettree(2,true);
	}else{
		resettree(0);
		resettree(1);
		resettree(2);
	}
	makeurls();
}

function avail(tree){
	countup = 0;
	for(var i = 0;i<tns.length;i++){
		
		if(tn[tns[i]][4] <= (spent[tn[tns[i]][3]] / 5) && tn[tns[i]][3] == tree && tn[tns[i]][4] <= (countup / 5) ){
			countup = countup + tn[tns[i]][1];
			if(tn[tns[i]][5]>0 && tn[tn[tns[i]][5]][1]!=tn[tn[tns[i]][5]][2]){
				if(freelancer){
					document.getElementById("tpp"+tns[i]).className = 'tpoints2';
				}else{
					if(tn[tns[i]][1]>0){
						document.getElementById("tpp"+tns[i]).className = 'tpoints4';
					}else{
						document.getElementById("tpp"+tns[i]).className = 'tpoints1';
					}
				}
			}else if(tn[tns[i]][1] == tn[tns[i]][2]){
			
				document.getElementById("tpp"+tns[i]).className = 'tpoints3';
			}else{
				document.getElementById("tpp"+tns[i]).className = 'tpoints2';
				
			}
		}else if(tn[tns[i]][3] == tree ){
			if(freelancer){
				if(tn[tns[i]][1] == tn[tns[i]][2]){
					document.getElementById("tpp"+tns[i]).className = 'tpoints3';
				}else{
					document.getElementById("tpp"+tns[i]).className = 'tpoints2';
				}
			}else{
				if(tn[tns[i]][1]>0){
					document.getElementById("tpp"+tns[i]).className = 'tpoints4';
				}else{
					document.getElementById("tpp"+tns[i]).className = 'tpoints1';
				}
			}
		}else if(tn[tns[i]][3] > tree){
			return;
		}
	}
}

function checkfree(sid){
	for(var i = 0;i<tns.length;i++){
		if(tn[tns[i]][3]>tn[sid][3]){
			return;
		}
		if(tn[tns[i]][5] == sid ){
			if(tn[sid][1] == tn[sid][2]){
				var Ausdruck2 = /\/[a-z\.-]*\/[a-z]*\/[a-z]*\/[a-z]*\/(.*)/;
				Ausdruck2.exec(document.getElementById('ab'+tns[i]).src);
				document.getElementById('ab'+tns[i]).src = "/img/wint/talentframe/"+RegExp.$1.substring(2);
				var Ausdruck3 = /\/[a-z\.-]*\/[a-z]*\/[a-z]*\/[a-z]*\/(.*)/;
				Ausdruck3.exec(document.getElementById('ab2'+tns[i]).src);
				document.getElementById('ab2'+tns[i]).src = "/img/wint/talentframe/"+RegExp.$1.substring(2);
			}else{
				var Ausdruck2 = /\/[a-z\.-]*\/[a-z]*\/[a-z]*\/[a-z]*\/(.*)/;
				Ausdruck2.exec(document.getElementById('ab'+tns[i]).src);
				if(RegExp.$1.substring(0,2)!='sw'){
					document.getElementById('ab'+tns[i]).src = "/img/wint/talentframe/sw"+RegExp.$1;
					var Ausdruck3 = /\/[a-z\.-]*\/[a-z]*\/[a-z]*\/[a-z]*\/(.*)/;
					Ausdruck3.exec(document.getElementById('ab2'+tns[i]).src);
					document.getElementById('ab2'+tns[i]).src = "/img/wint/talentframe/sw"+RegExp.$1;
				}
			}
		}
	}
}

function swaparrow(sid){
	
	var Ausdruck2 = /\/[a-z\.-]*\/[a-z]*\/[a-z]*\/[a-z]*\/(.*)/;
	Ausdruck2.exec(document.getElementById('ab'+sid).src);
	if(RegExp.$1.substring(0,2)!='sw'){
		document.getElementById('ab'+sid).src = "/img/wint/talentframe/sw"+RegExp.$1;
		var Ausdruck3 = /\/[a-z\.-]*\/[a-z]*\/[a-z]*\/[a-z]*\/(.*)/;
		Ausdruck3.exec(document.getElementById('ab2'+sid).src);
		document.getElementById('ab2'+sid).src = "/img/wint/talentframe/sw"+RegExp.$1;
	}
}

function rem(sid){
	if (recording == true && arguments.length == 1){
		alert(T_RECORD_E_REMOVE);
		return;
	}
	
	tn[sid][1] = tn[sid][1]-1;
	spent[tn[sid][3]] = spent[tn[sid][3]]-1;
	colcount[tn[sid][3]][tn[sid][4]]=colcount[tn[sid][3]][tn[sid][4]]-1;
	total--;
	//testmax = tn[sid][4]*5;
	/*if(colcount[tn[sid][3]][tn[sid][4]]==0 && maxneed[tn[sid][3]] == tn[sid][4]*5){
	maxneed[tn[sid][3]] = maxneed[tn[sid][3]]-5;
	}*/
	if(tn[sid][1] == 0){
		//var Ausdruck = /\/[a-z\.-]*\/[a-z]*\/[a-z]*\/[a-z]*\/(.*)/;
		//Ausdruck.exec(document.getElementById('t'+sid).src);
		//document.write(RegExp.$1);

		//document.getElementById('t'+sid).src = "/img/wint/swicons/"+RegExp.$1;
		tmp = document.getElementById('t'+sid).style.backgroundPosition;
		var props = tmp.split(' ');
		document.getElementById('t'+sid).style.backgroundPosition  = props[0]+"  40px";
	
	}
	if(tn[sid][1] >= 0){
		document.getElementById("tpp"+sid).innerHTML = tn[sid][1]+"/"+tn[sid][2];
		if(tn[sid][1] == 0){
			document.getElementById('t'+sid).className = 'timage1';
			//document.getElementById("tpp"+sid).className = 'tpoints1';
		}else{
			document.getElementById('t'+sid).className = 'timage2';
			document.getElementById("tpp"+sid).className = 'tpoints2';
		}
	}
	if(tn[sid][8]>0){
		checkfree(sid);	
	}
	if((spent[tn[sid][3]]+1) % 5 == 0){
		avail(tn[sid][3]);
	}
	if(total==maxpoints-1){
		avail(0);
		avail(1);
		avail(2);
	}
	document.getElementById("ta"+tn[sid][3]).innerHTML = T_POINTSPENT+' <font color="#FFCC2A">'+tabnames[tn[sid][3]]+'</font>: '+spent[tn[sid][3]];
	document.getElementById("tpo").innerHTML = T_TOTALPOINTSPENT+': '+total;
	document.getElementById("tpl").innerHTML = T_POINTLEFT+': '+(maxpoints-total);
	document.getElementById("lr").innerHTML = T_LVLREQ+': '+(total+9);
	makeurls();
}

function countnumber(tab,col)
{
	
	var total = 0;
	var schleife = maxneed[tab] / 5;
	var answer = "true";
	for (var i = 0; i <= schleife; i++){
		if(i == col){
			total = total-1;
		}
		total = total + colcount[tab][i];
		if(total<i*5){
			answer = "false";
		}
	}
	//document.write(total);
	return answer;
}

function popupon(sid) 
{ 
  

  ieLayer = 'document.all[\'popup\']';
  nnLayer = 'document.layers[\'popup\']';
  spellinfo='';
	if(tasp[sid]){
		var mtext='';
		var mvalue = 0;
		if(tclass.toLowerCase()=='warrior'){
			mtext=T_VRAGE;
		}else if(tclass.toLowerCase()=='rogue'){
			mtext=T_VENERGY;
		}else if(tclass.toLowerCase()=='druid' && tn[sid][3]==1){
			mtext=T_VRAGE;
		}else if(tclass.toLowerCase()=='deathknight'){
			mtext=T_VRUNIC;
		}else{
			mtext=T_VMANA;
		}
		if(tasp[sid][0] > 0){
			if(mtext==T_VRAGE || mtext == T_VRUNIC){
				mvalue = tasp[sid][0] / 10;
			}else{
				mvalue = tasp[sid][0];
			}
			spma = mvalue+' '+mtext;
		}else if(tasp[sid][1] > 0){
			spma = tasp[sid][1]+'% '+T_OFBASE+' '+mtext;
		}else{
			spma = '&nbsp;';
		}
		spellinfo = '<span class="stleft">'+spma+'</span>';
		if(tasp[sid][6]>0){
			spra = tasp[sid][6] +'-'+tasp[sid][7]+' '+T_RANGE;
		}else if(tasp[sid][7]>0){
			spra = tasp[sid][7]+' '+T_RANGE;
		}else{
			spra = '&nbsp;';
		}
		spellinfo = spellinfo+'<span class="stright">'+spra+'</span><br>';
		if(tasp[sid][2]>0){
			spca = tasp[sid][2]+' '+T_VSEC;
		}else{
			spca = T_INSTANT;
		}
		spellinfo = spellinfo+'<span class="stleft">'+spca+'</span>';
		if(tasp[sid][3]>59){
			spco = (tasp[sid][3] / 60) +' '+T_VMIN+' '+T_COOLDOWN;
		}else if(tasp[sid][3]>0){
			spco = tasp[sid][3] +' '+T_VSEC+' '+T_COOLDOWN;
		}else{
			spco = '&nbsp;';
		}
		spellinfo = spellinfo+'<span class="stright">'+spco+'</span><br>';
		
	}
  if(tn[sid][4] > 0){
	if(spent[tn[sid][3]]<tn[sid][4]*5){
		requirecolor = "red";	
	}else{
		requirecolor = "green";
	}
	require = '<font color="'+requirecolor+'">'+T_REQUIRE+' '+tn[sid][4]*5+' '+T_POINTSIN+' '+tabnames[tn[sid][3]]+'</font><br>'; 
  }else{
	require = '';
  }
  if(tn[sid][5]){
	if(tn[sid][5] && tn[tn[sid][5]][1] != tn[sid][6]){
		requirecolor2 = "red";	
	}else{
		requirecolor2 = "green";
	}
	$require2 = '<font color="'+requirecolor2+'">'+T_REQUIRE+' '+tn[sid][6]+' '+T_POINTSIN+' '+tn[tn[sid][5]][0]+'</font><br>';
  }else{
	$require2 = '';
  }
  
  if(tn[sid][1] == tn[sid][2]){
	  desc = td[sid][tn[sid][1]-1];
  } else if(tn[sid][1]==0){
  	 desc = td[sid][tn[sid][1]];
  } else {
	  desc = td[sid][tn[sid][1]-1]+'<br><br><font color="white">'+T_NEXTRANK+':</font><br>'+td[sid][tn[sid][1]];
  }

  if(spellinfo!=''){
  	text ='<span style="font-size:12px;font-weight:bold">'+tn[sid][0]+'</span><br /><span style="font-size:11px;">'+T_RANK+': '+tn[sid][1]+'/'+tn[sid][2]+'<br>'+require+$require2+'</span><br >'+spellinfo+'<span style="color:#ffd100;">'+desc+'</span>';
  }else{
  	text ='<span style="font-size:12px;font-weight:bold">'+tn[sid][0]+'</span><br /><span style="font-size:11px;">'+T_RANK+': '+tn[sid][1]+'/'+tn[sid][2]+'<br>'+require+$require2+'</span><br />'+'<span style="color:#ffd100;">'+desc+'</span>';
  }
  text =text+'<br /><br /><span class="stleft" style="color:green;">'+T_CLICKLEARN+'</span><span class="stright" style="color:red;">'+T_CLICKUNLEARN+'</span>';
  tooltip(text,sid);

  
}


function popupoff() 
{ 
// tooltipshow =0;
 exit();
}












//new
// position of the tooltip relative to the mouse in pixel //
var offsetx = 12;
var offsety =  8;

function newelement(newid)
{ 
    if(document.createElement)
    { 
        var el = document.createElement('div'); 
        el.id = newid;     
        with(el.style)
        { 
            display = 'none';
            position = 'absolute';
        } 
        el.innerHTML = '&nbsp;'; 
        document.body.appendChild(el); 
    } 
} 
var ie5 = (document.getElementById && document.all); 
var ns6 = (document.getElementById && !document.all); 
var ua = navigator.userAgent.toLowerCase();
var isapple = (ua.indexOf('applewebkit') != -1 ? 1 : 0);
function getmouseposition(e,sid)
{
    if(document.getElementById)
    {
      //  var iebody=(document.compatMode && 
       // 	document.compatMode != 'BackCompat') ? 
        //		document.documentElement : document.body;
      //  pagex = (isapple == 1 ? 0:(ie5)?iebody.scrollLeft:window.pageXOffset);
      //  pagey = (isapple == 1 ? 0:(ie5)?iebody.scrollTop:window.pageYOffset);
      //  mousex = (ie5)?event.x:(ns6)?clientX = e.clientX:false;
      //  mousey = (ie5)?event.y:(ns6)?clientY = e.clientY:false;
//test
        var lixlpixel_tooltip = document.getElementById('tooltip');
        //lixlpixel_tooltip.style.left = (mousex+pagex+offsetx) + 'px';
        //lixlpixel_tooltip.style.top = (mousey+pagey+offsety) + 'px';
        //test
        //document.write(screen.availHeight);
        var iebody=(document.compatMode && 
        	document.compatMode != 'BackCompat') ? 
        		document.documentElement : document.body;
        pagex = (isapple == 1 ? 0:(ie5)?iebody.scrollLeft:window.pageXOffset);
        pagey = (isapple == 1 ? 0:(ie5)?iebody.scrollTop:window.pageYOffset);
        var pos = getPosition(document.getElementById('t'+sid));
		var inner = getInnersize();
		var posi = { x:0, y:0 };
		//document.write(inner.x+'-'+pos.x+'-'+lixlpixel_tooltip.offsetHeight);
	//	document.write(inner.x+'-'+pos.x+'-'+lixlpixel_tooltip.offsetWidth+'-'+offsetx+'-'+pagex);
		if((pos.x+lixlpixel_tooltip.offsetWidth+60-offsetx-pagex)>inner.x){
			posi.x = pos.x-lixlpixel_tooltip.offsetWidth;
			//document.write('jo');
		}else{
			posi.x = pos.x+40
		}
		if((pos.y+lixlpixel_tooltip.offsetHeight+60-offsety-pagey)>inner.y){
			//document.write(inner.y+'-'+pos.y+'-'+lixlpixel_tooltip.offsetHeight+'-'+offsety+'-'+pagey);
			posi.y = pos.y-lixlpixel_tooltip.offsetHeight;//+offsety+pagey;
		}else{
			posi.y = pos.y+40
		}
		
        lixlpixel_tooltip.style.left = posi.x+'px';//(pagex+offsetx+document.getElementById('t564').left)+'px';
        lixlpixel_tooltip.style.top = posi.y+'px';//(pagey+offsety+document.getElementById('t564').top)+'px';
    }
}

function getPosition(obj) {
  var pos = { x:0, y:0 };

  do {
    pos.x += obj.offsetLeft;
    pos.y += obj.offsetTop;
  } while (obj = obj.offsetParent);

  return pos;
}

function getInnersize(){
	var pos = { x:0, y:0 };
	if (self.innerHeight) 
	{
		pos.x = self.innerWidth;
		pos.y = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
	
	{
		pos.x = document.documentElement.clientWidth;
		pos.y = document.documentElement.clientHeight;
	}
	else if (document.body) 
	{
		pos.x = document.body.clientWidth;
		pos.y = document.body.clientHeight;
	}
	return pos;
}

function tooltip(tip,sid)
{
    if(!document.getElementById('tooltip')) newelement('tooltip');
    var lixlpixel_tooltip = document.getElementById('tooltip');
    lixlpixel_tooltip.innerHTML = tip;
    lixlpixel_tooltip.style.display = 'block';
    //document.onmousemove = getmouseposition;
    var event='h';
    getmouseposition(event,sid);
   
}

function record(){
	if(freelancer){
		alert(T_RECORD_E_FREELANCER);
		return;
	}
	
	levelarray = new Array();

	recording=true;
	PostForm(T_LANGADD+"/levelbuild",null,"dialog",null);
	
	/*
	MOOdalBox.open( 
							T_LANGADD+"/levelbuild", 
							T_RECORD1+tclass+T_RECORD2, 
							"300 525", 
							""
						);*/
	//my_divh = document.getElementById("lbuild_caption");
	//my_divh.innerHTML = 'fddfsfdsfsdsdfsfd';
	//$("#lbuild_caption").innerHTML = "Test";
	resetall(true);
}

function saverecordbuild(){
	
}

function exit()
{
    document.getElementById('tooltip').style.display = 'none';
}


function clearhelp(){
	my_divh = document.getElementById("helpbox");
	my_hlink = document.getElementById("helplink");
	my_divh.innerHTML = '';
	my_hlink.innerHTML = T_SHOWHELP;	
}

function help(cwrite){
	
	helptext = T_FREELANCER_HELP;
	
	

	my_divh = document.getElementById("helpbox");
	my_hlink = document.getElementById("helplink");
	if(my_divh.innerHTML == ''){
		my_divh.innerHTML = helptext;
		my_hlink.innerHTML = T_HIDEHELP;
	
	}else{
		my_divh.innerHTML = '';
		my_hlink.innerHTML = T_SHOWHELP;
		
	}
	DoArrowPos();
}
