//Массив должен быть отсортирован по ветке и по приоритету 
//Project settings : Prioritet, Branch2, Name, Extension
//Массив должен быть отсортирован по ветке и по приоритету 
//Project settings : Prioritet, Branch2, Image, X, Y 

var persents1 = [
                           [10, 0, 40], 
                           [20, 0, 30], 
                           [30, 0, 20], 
                           [40, 0, 15]
                         ];

var persents2 = [
                           [10, 0, 40], 
                           [20, 0, 30], 
                           [30, 0, 20], 
                           [40, 0, 15]
                         ];

var persents3 = [
                           [10, 0, 40], 
                           [20, 0, 30], 
                           [30, 0, 20], 
                           [40, 0, 15]
                         ];

var persents4 = [
                           [10, 0, 40], 
                           [20, 0, 30], 
                           [30, 0, 20], 
                           [40, 0, 15]
                         ];


var nodes =    [	
				 [1, '3.gif', 221, 480, 9], 	
				 [1, '3.gif', 164, 542, 3],				
				 [1, '3.gif', 262, 449, 11], 
				 [1, '3.gif', 195, 303, 6], 	
				 [1, '3.gif', 159, 418, 1], 	
		                 [1, '3.gif', 133, 476, 0], 	
				 [1, '3.gif', 143, 322, 5],				
				 [1, '3.gif', 62, 409, 3], 
				 [1, '3.gif', 112, 391, 7], 	
				 [1, '3.gif', 259, 512, 5], 	
				 [1, '3.gif', 77, 471, 1], 	
				 [1, '3.gif', 162, 488, 0],				
				 [1, '3.gif', 252, 389, 0], 
				 [1, '3.gif', 179, 356, 5], 	
				 [1, '3.gif', 210, 426, 0], 	
				 [1, '3.gif', 72, 387, 1], 	
				 [1, '3.gif', 212, 560, 11], 	
				 [1, '3.gif', 226, 519, 5], 	
				 [1, '3.gif', 161, 465, 11], 	
				 [1, '3.gif', 94, 494, 0], 	
				 [1, '3.gif', 85, 439, 1], 	
				 [1, '3.gif', 123, 371, 3], 	
				 [1, '3.gif', 253, 415, 6], 	
				 [1, '3.gif', 239, 299, 6], 	
				 [1, '3.gif', 166, 337, 1], 	
				 [1, '3.gif', 173, 564, 1], 	
				 [1, '3.gif', 186, 427, 0], 	
				 [1, '3.gif', 154, 377, 3], 	
				 [1, '3.gif', 176, 319, 5], 	
				 [1, '3.gif', 169, 528, 5], 	
				 [1, '3.gif', 202, 497, 11], 	
				 [1, '3.gif', 110, 473, 0], 	
				 [1, '3.gif', 98, 447, 1], 	
				 [1, '3.gif', 188, 314, 5], 	
				 [1, '3.gif', 227, 439, 7], 	
				 [1, '3.gif', 78, 400, 5], 	
				 [1, '3.gif', 169, 403, 1], 	
				 [1, '3.gif', 242, 439, 7], 	
				 [1, '3.gif', 197, 426, 0], 	
				 [1, '3.gif', 101, 483, 0], 	
				 [2, '2.gif', 127, 232, 5],
				 [2, '2.gif', 147, 177, 5],
				 [2, '2.gif', 264, 94, 9],
				 [2, '2.gif', 318, 127, 6],
				 [2, '2.gif', 274, 156, 6],
				 [2, '2.gif', 395, 32, 5],
				 [2, '2.gif', 130, 149, 5],
				 [2, '2.gif', 73, 281, 5],
				 [2, '2.gif', 335, 235, 6],
				 [2, '2.gif', 45, 229, 5],
				 [2, '2.gif', 28, 360, 3],
				 [2, '2.gif', 213, 239, 1],
				 [2, '2.gif', 147, 99, 6],
				 [2, '2.gif', 361, 141, 6],
				 [2, '2.gif', 153, 233, 1],
				 [2, '2.gif', 287, 30, 5],
				 [2, '2.gif', 342, 324, 6],
				 [2, '2.gif', 101, 254, 3],
				 [2, '2.gif', 236, 127, 6],
				 [2, '2.gif', 309, 172, 5],
				 [2, '2.gif', 354, 46, 7],
				 [2, '2.gif', 237, 43, 7],
				 [2, '2.gif', 24, 327, 5],
				 [2, '2.gif', 115, 198, 7],
				 [2, '2.gif', 196, 215, 1],
				 [2, '2.gif', 230, 96, 6],
				 [2, '2.gif', 379, 89, 6],
				 [2, '2.gif', 406, 53, 11],
				 [2, '2.gif', 38, 387, 11],
				 [2, '2.gif', 82, 176, 5],
				 [2, '2.gif', 203, 138, 5],
				 [2, '2.gif', 257, 174, 7],
				 [2, '2.gif', 190, 98, 6],
				 [2, '2.gif', 275, 68, 5],
				 [2, '2.gif', 430, 41, 9],
				 [2, '2.gif', 272, 295, 1],
				 [2, '2.gif', 145, 290, 11],
				 [2, '2.gif', 84, 357, 1],
				 [2, '2.gif', 215, 185, 5],
				 [2, '2.gif', 30, 293, 5],
				 [2, '2.gif', 184, 247, 6],
				 [2, '2.gif', 119, 126, 3],
				 [2, '2.gif', 150, 198, 5],
				 [2, '2.gif', 191, 66, 3],
				 [2, '2.gif', 365, 21, 7],
				 [2, '2.gif', 325, 265, 6],
				 [2, '2.gif', 266, 210, 1],
				 [2, '2.gif', 309, 27, 5],
				 [2, '2.gif', 325, 97, 7],
				 [2, '2.gif', 400, 76, 11],
				 [2, '2.gif', 336, 164, 6],
				 [2, '2.gif', 62, 204, 6],
				 [2, '2.gif', 217, 269, 1],
				 [2, '2.gif', 94, 150, 5],
				 [2, '2.gif', 161, 122, 6],
				 [2, '2.gif', 215, 52, 5],
				 [2, '2.gif', 321, 63, 5],
				 [2, '2.gif', 348, 77, 1],
				 [2, '2.gif', 348, 349, 6],
				 [2, '2.gif', 363, 105, 6],
				 [2, '2.gif', 329, 35, 6],
				 [2, '2.gif', 111, 349, 0],
				 [2, '2.gif', 148, 210, 1],
				 [2, '2.gif', 42, 292, 7],
				 [2, '2.gif', 83, 338, 1],
				 [2, '2.gif', 23, 303, 3],
				 [2, '2.gif', 174, 102, 6],
				 [2, '2.gif', 2189, 155, 7],
				 [2, '2.gif', 205, 101, 6],
				 [2, '2.gif', 304, 67, 5],
				 [2, '2.gif', 411, 29, 6],
				 [2, '2.gif', 345, 111, 6],
				 [2, '2.gif', 349, 23, 7],
				 [2, '2.gif', 357, 93, 6],
				 [2, '2.gif', 44, 262, 1],
				 [3, '1.gif', 402, 115, 5],
				 [3, '1.gif', 444, 119, 7],
				 [3, '1.gif', 580, 111, 11],
				 [3, '1.gif', 606, 134, 7],
				 [3, '1.gif', 510, 105, 6],
				 [3, '1.gif', 482, 52, 6],
				 [3, '1.gif', 399, 151, 5],
				 [3, '1.gif', 432, 96, 5],
				 [3, '1.gif', 463, 82, 5],
				 [3, '1.gif', 519, 63, 7],
				 [3, '1.gif', 525, 121, 11],
				 [3, '1.gif', 550, 168, 11],
				 [3, '1.gif', 571, 92, 7],
				 [3, '1.gif', 583, 163, 0],
				 [3, '1.gif', 462, 46, 5],
				 [3, '1.gif', 455, 143, 5],
				 [3, '1.gif', 504, 60, 5],
				 [3, '1.gif', 534, 103, 5],
				 [3, '1.gif', 396, 179, 7],
				 [3, '1.gif', 512, 139, 7],
				 [3, '1.gif', 416, 104, 5],
				 [3, '1.gif', 450, 99, 7],
				 [4, '4.gif', 514, 502, 5],
				 [4, '4.gif', 640, 441, 9],
				 [4, '4.gif', 574, 474, 3],
				 [4, '4.gif', 591, 393, 11],
				 [4, '4.gif', 676, 335, 9],
				 [4, '4.gif', 675, 270, 11],
				 [4, '4.gif', 506, 225, 9],
				 [4, '4.gif', 426, 245, 7],
				 [4, '4.gif', 650, 193, 7],
				 [4, '4.gif', 447, 393, 5],
				 [4, '4.gif', 399, 489, 5],
				 [4, '4.gif', 565, 564, 0],
				 [4, '4.gif', 553, 213, 6],
				 [4, '4.gif', 612, 246, 11],
				 [4, '4.gif', 473, 202, 7],
				 [4, '4.gif', 478, 291, 5],
				 [4, '4.gif', 458, 484, 1],
				 [4, '4.gif', 603, 425, 7],
				 [4, '4.gif', 611, 512, 1],
				 [4, '4.gif', 540, 535, 9],
				 [4, '4.gif', 464, 551, 11],
				 [4, '4.gif', 439, 418, 3],
				 [4, '4.gif', 612, 373, 9],
				 [4, '4.gif', 679, 366, 9],
				 [4, '4.gif', 576, 296, 1],
				 [4, '4.gif', 637, 219, 9],
				 [4, '4.gif', 659, 311, 7],
				 [4, '4.gif', 538, 403, 1],
				 [4, '4.gif', 491, 396, 6],
				 [4, '4.gif', 553, 500, 5],
				 [4, '4.gif', 455, 449, 11],
				 [4, '4.gif', 666, 402, 7],
				 [4, '4.gif', 453, 241, 11],
				 [4, '4.gif', 609, 293, 0],
				 [4, '4.gif', 463, 371, 6],
				 [4, '4.gif', 488, 490, 5],
				 [4, '4.gif', 543, 370, 9],
				 [4, '4.gif', 565, 407, 1],
				 [4, '4.gif', 569, 232, 7],
				 [4, '4.gif', 671, 248, 7],
				 [4, '4.gif', 638, 382, 1],
				 [4, '4.gif', 478, 222, 5],
				 [4, '4.gif', 546, 311, 11],
				 [4, '4.gif', 449, 207, 7],
				 [4, '4.gif', 665, 421, 9],
				 [4, '4.gif', 529, 471, 7],
				 [4, '4.gif', 465, 275, 5],
				 [4, '4.gif', 398, 470, 5],
				 [4, '4.gif', 544, 516, 9],
				 [4, '4.gif', 584, 514, 11],
				 [4, '4.gif', 535, 190, 7],
				 [4, '4.gif', 424, 264, 7],
				 [4, '4.gif', 650, 207, 11],
				 [4, '4.gif', 669, 357, 9],
				 [4, '4.gif', 480, 414, 6],
				 [4, '4.gif', 399, 509, 5],
				 [4, '4.gif', 624, 504, 11],
				 [4, '4.gif', 498, 516, 11],
				 [4, '4.gif', 598, 178, 6],
				 [4, '4.gif', 643, 179, 7],
				 [4, '4.gif', 669, 296, 7],
				 [4, '4.gif', 579, 553, 11],
				 [4, '4.gif', 479, 374, 7],
				 [4, '4.gif', 485, 509, 1],
				 [4, '4.gif', 501, 478, 5],
				 [4, '4.gif', 454, 370, 6],
				 [4, '4.gif', 536, 494, 9]
 
				];


	Ext.onReady(function(){ 		
                var i=0, j=0;
                var k = 0; 

		while (i < projects.length && j < nodes.length) {
                    while(k < platforms.length){
                        if (projects[i][0].toLowerCase() == platforms[k].toLowerCase()) { break; } 
                        k++;
                    }
		    if (k > 3) { continue; };
                        if (k + 1 == nodes[j][0]) {
   		          new Ext.ToolTip({
       		            target: 'pic'+i,
       		            title: projects[i][1],
       		            width: 250,
       		            html: '<div id="main-tree">' + box[0] + ': ' +projects[i][2]+'<br/>' + box[1] + ': '+projects[i][5]+'</div><div style="color:red;font-style:bold;">' + box[2] + ': '+projects[i][4]+'h</div>',
       		            trackMouse:true
   		          })
				i++;
				j++;
			} else if (k + 1 > nodes[j][0]) {
				j++;
			} else {
				i++;
			}
                        k = 0;	 
		}

                  Ext.QuickTips.init();
        });


	function treeForm() {
	    var i=0, j=0;
	    var left=0, top=0; 
            var k = 0; 
            //var max = -1, min = -1;
            var allRanged = 0;  
            var a1=0, a2=0, a3=0, a4=0; 
            var t = 0, r=0; 

            for(var m = 0; m < projects.length; m++) {
              if (projects[m][0] == platforms[0]) { a1++; }
              if (projects[m][0] == platforms[1]) { a2++; }
              if (projects[m][0] == platforms[2]) { a3++; }
              if (projects[m][0] == platforms[3]) { a4++; }
            }

            //ranges 
            for(var m = 0; m < persents1.length; m++) {
              if(m+1 != persents1.length){
                persents1[m][1] = parseInt((a1 / 100) * persents1[m][0]) != 0 ? allRanged + parseInt((a1 / 100) * persents1[m][0]) :  allRanged + 1;
              } else { 
                persents1[m][1] =  a1;
              }
              allRanged = allRanged + persents1[m][1];
            }

             allRanged = 0;  

             for(var m = 0; m < persents2.length; m++) {
              if(m+1 != persents2.length){
                persents2[m][1] = parseInt((a2 / 100) * persents2[m][0]) != 0 ? allRanged + parseInt((a2 / 100) * persents2[m][0]): allRanged + 1;
              } else { 
                persents2[m][1] = a2;
              }
              allRanged = allRanged + persents2[m][1];
            }
  
            allRanged = 0;  
            for(var m = 0; m < persents3.length; m++) {
              if(m+1 != persents3.length){
                persents3[m][1] = parseInt((a3 / 100) * persents3[m][0]) != 0 ? allRanged + parseInt((a3 / 100) * persents3[m][0]) :  allRanged + 1;
              } else { 
                persents3[m][1] = a3;
              }
              allRanged = allRanged + persents3[m][1];
            }
     
            allRanged = 0;  
    
            for(var m = 0; m < persents4.length; m++) {
              if(m+1 != persents4.length){
                persents4[m][1] = parseInt((a4 / 100) * persents4[m][0]) != 0 ? allRanged + parseInt((a4 / 100) * persents4[m][0]) : allRanged + 1;
              } else { 
                persents4[m][1] = a4;
              }
              allRanged = allRanged + persents4[m][1];
            }

                r = 0;
                var p = 0;
		while (i < projects.length && j < nodes.length) {
                    while(k < platforms.length){
                        if (projects[i][0].toLowerCase() == platforms[k].toLowerCase()) { break; }; 
                        k++;
                    }

                    if(p != k) {
                       p++;  r = 0; t = 0;
                    }

		    if (k > 3) { continue; };
                        if (k + 1 == nodes[j][0]) {
////
            var projectWidth = 0;

            if(projects[i][0] == platforms[0])
            { 
               if (persents1[t][1] > r) {
                 projectWidth = persents1[t][2]
               } else { t++; projectWidth = persents1[t][2];};    
            }
            if(projects[i][0] == platforms[1])
            { 
               if (persents2[t][1] > r) {
                 projectWidth = persents2[t][2]
               } else { t++; projectWidth = persents2[t][2];};    
            }  
            if(projects[i][0] == platforms[2])
            { 
               if (persents3[t][1] > r) {
                 projectWidth = persents3[t][2]
               } else { t++; projectWidth = persents3[t][2];};    
            }  
            if(projects[i][0] == platforms[3])
            { 
               if (persents4[t][1] > r) {
                 projectWidth = persents4[t][2]
               } else { t++; projectWidth = persents4[t][2];};    
            }  
          r++;
/////                      
				switch(nodes[j][4]) {
				 case 0:
				 	left = nodes[j][2] - projectWidth/2;
				 	top = nodes[j][3];
				 break;
				 case 1:
					 left = nodes[j][2] - projectWidth*3/4;
					 top = nodes[j][3] - projectWidth/4;
				 break;
				 case 3:
					 left = nodes[j][2] - projectWidth;
					 top = nodes[j][3] - projectWidth/2;
				 break;
				 case 5:
					 left = nodes[j][2] - projectWidth*3/4;
					 top = nodes[j][3] - projectWidth*3/4;
				 break;
				 case 6:
					 left = nodes[j][2] - projectWidth/2;
					 top = nodes[j][3] - projectWidth;
				 break;
				 case 7:
					 left = nodes[j][2] - projectWidth/4;
					 top = nodes[j][3] - projectWidth*3/4;
				 break;
				 case 9:
					 left = nodes[j][2];
					 top = nodes[j][3] - projectWidth/2;
				 break;
				 case 11:
					 left = nodes[j][2] - projectWidth/4;
					 top = nodes[j][3] - projectWidth/4;
				 break;
				 default:
				 break;
				}

			        document.write('<a href="' + projects[i][3] +'"><img width="'+ projectWidth +'" height="'+ projectWidth +'" src="' + imgPath + '/' + nodes[j][1]+'" style="border-style: none; position: absolute;');
				document.write('left: ' + left + 'px; top: ' + top + 'px;"');
				document.write('id="pic' + i +'"/></a>');
				i++;
				j++;
			} else if (k + 1 > nodes[j][0]) {
				j++;
			} else {
				i++;
			}
                        k = 0;	 
		}
	}