// JavaScript Document
var pmx = pmx || {};
pmx.openUL = new Array();
pmx.files = new Array();
pmx.user = new Array();
pmx.countULs = 0;
pmx.browse = function(path,container,level,addPadding){
	
	 if(level > 0){
		top.addPadding();
	 }
	if(pmx.openUL[level]){
		jQuery(pmx.openUL[level]).hide("fast");
	}
	pmx.openUL[level] = container;	
	/*var splitFile = file.lastIndexOf("/");
	var f_path = file.substring(0,splitFile);
	var f_name = file.substr(splitFile+1);*/
	$.ajax({
		type: "POST",
		url: "/webnative/listdir?"+path,
		
		success: function(msg){
			pmx.extractFiles(msg);
			
			pmx.writeFiles(container,level);
			//alert("OPEN");
			/*if(top.addPadding && addPadding){
				top.addPadding();
			}*/
			
		}
	});/*	*/
	
	
}
pmx.theUser = '';
pmx.filterFiles = function(files){
	var keywords = new Array(); 
	var keyword = new Array();
	var temp_files = new Array();
	var hiddenField = false;
	for(var k = 0;k < files.length;k++){
		if(!files[k]){
			continue;
			
		}
		keywords = files[k].keywords;
		
		for(var i = 0;i < keywords.length;i++){
			keyword = keywords[i];
			//var theUser = window.frames["webnative"].uinfo == 'undefined';
			
			if(keyword.id == 216){
				hiddenField = true;
				if( pmx.user[0] != 'proviande-admin' && pmx.user[0] != 'proviande-intern' && keyword.value){
				}else{
					temp_files.push(files[k]);
					break;
				}
			}
		}
	}
	if(!hiddenField){
		temp_files = files;
	}
	return temp_files;
}
pmx.extractFiles = function(html){
	var lines = html.replace(/\n/g,';;');
	var line = lines.substring(lines.indexOf("var files"),lines.indexOf("var numfiles")).replace(/new buildobject/g,"new Array");
	var pmxuinfo = lines.substr(lines.indexOf("var uinfo"),200);
	pmxuinfo = pmxuinfo.substr(0,pmxuinfo.indexOf(";")).replace(/userinfo/g,"Array");
	eval(pmxuinfo);
	pmx.user = uinfo;
	//var strfiles = line.replace(/new keyworditem/g,"new Array");
	var strfiles = line.replace(/new addimginfo/g,"new Array");
	eval(strfiles.replace(/;;/g,'\n'));
	 
	var thefiles = pmx.filterFiles(files);
	 
	var sortedfiles = pmx.sortBy(thefiles);
	 
	pmx.files = sortedfiles;
}
pmx.writeFiles = function(container,level){
	var navi_html = '';
	 
	jQuery.each(pmx.files,function(){
		if(this[6]){
			var id = level == 0?level:level+pmx.countULs;
			var keywords = this.keywords;
			 var dirname = this[0];
			for(var i = 0;i < keywords.length;i++){
				var keyword = keywords[i];
				//var theUser = window.frames["webnative"].uinfo == 'undefined';
				
				if(keyword.id == 202 && keyword.value != '' && top.location.search.indexOf("lang=fr") > -1){
					 dirname = keyword.value;
				}
			}
			if(level == 0){
				navi_html += '<li><a href="/webnative/listdir?'+this[1]+'" class="level'+level+'" target="webnative" onclick="pmx.browse(\''+this[1]+'\',\'#level'+id+'\','+(Number(level)+1)+')">'+dirname+'</a></li>';  
			}else{
				navi_html += '<li><a href="/webnative/listdir?'+this[1]+'" class="level'+level+'" target="webnative" onclick="pmx.browse(\''+this[1]+'\',\'#level'+id+'\','+(Number(level)+1)+')">'+dirname+'</a><ul style="display:none;" name="level'+level+'" class="menu-level'+level+'" id="level'+id+'"></ul></li>';  
			}
			
		}
		pmx.countULs++;
	});	
	jQuery(container).empty();
	jQuery(container).append(navi_html);
	 
	if(navi_html.length > 0) {
	jQuery(container).show("fast");
	}
}
/*
pmx.sortBy = function (files,attr){
	var keywords = files[0]?files[0].keywords:new Array();
	var doIt = false;
	for(var i = 0;i < keywords.length;i++){
		keyword = keywords[i][3].toLowerCase();
		if(keyword == attr.toLowerCase()){
			pmx.SORT_BY_KEYWORD_INDEX = i;
			doIt = true;
			break;
		}
	}
	if(doIt){
		files.sort(pmx.sortByAttr);
	}
}

pmx.sortByAttr = function (a,b){
	var val1 = a.keywords[pmx.SORT_BY_KEYWORD_INDEX];
	var val2 = b.keywords[pmx.SORT_BY_KEYWORD_INDEX];
	if(val1.value == ""){
		val1.value = "99999";
	}
	if(val2.value == ""){
		val2.value = "99999";
	}
	var ret = 0;
	if(val1.value < val2.value){
		ret = -1;
	}
	if(val1.value > val2.value){
		ret = 1;
	}
	if(val1.value == val2.value){
		if(a.name < b.name){
			ret = -1;
		}
		if(a.name > b.name){
			ret = 1;
		}
	}
	return ret;
}*/

pmx.sortBy = function (thefiles){
	var keywords = thefiles[0]?thefiles[0].keywords:new Array();
	var doIt = false;
	for(var i = 0;i < keywords.length;i++){
	 
		if(keywords[i].id == 215){
			pmx.SORT_BY_KEYWORD_INDEX = i;
			doIt = true;
			break;
		}
	}
	if(doIt){
		thefiles.sort(pmx.sortByAttr);
	}
	return thefiles;
}

pmx.sortByAttr = function (a,b){
	var val1 = a.keywords[pmx.SORT_BY_KEYWORD_INDEX];
	var val2 = b.keywords[pmx.SORT_BY_KEYWORD_INDEX];
	if(val1.value == ""){
		val1.value = "99999";
	}
	if(val2.value == ""){
		val2.value = "99999";
	}
	var ret = 0;
	if(val1.value < val2.value){
		ret = -1;
	}
	if(val1.value > val2.value){
		ret = 1;
	}
	if(val1.value == val2.value){
		if(a.name < b.name){
			ret = -1;
		}
		if(a.name > b.name){
			ret = 1;
		}
	}
	return ret;
}

function keyworditem(id, order, editable, name, desc, type ,size, cols, rows, precision, flags, display, hidden, limited, fixed, valueflag, indexflag, permflag) {
	this.id = id;
	this.order = order;
	this.editable = editable;
	this.name = name;
	this.desc = desc;
	this.type = type;
	this.size = size;
	this.cols = cols;
	this.rows = rows;
	this.precision = precision;
	this.flags = flags;
	this.display = display;
	this.hidden = hidden;
	this.limited = limited;
	this.fixed = fixed;
	this.valueflags = valueflag;
	this.indexflag = indexflag;
	this.permflags = permflag;
	this.value = "";
	this.htmlvalue = "";
	this.values = new Array();
	this.htmlvalues = new Array();
	this.dbvalues = new Array();
	this.curvalues = new Array();
	this.valuescount = 0;
}

pmx.browseAlias = function(path,container,level){
	
	if(pmx.openUL[level]){
		jQuery(pmx.openUL[level]).hide("fast");
	}
	pmx.openUL[level] = container;	
	/*var splitFile = file.lastIndexOf("/");
	var f_path = file.substring(0,splitFile);
	var f_name = file.substr(splitFile+1);*/
	
	$.ajax({
		type: "POST",
		url: "/webnative/listdir?"+path,
		
		success: function(msg){
			pmx.extractFiles(msg);
			
			pmx.writeAliasFiles(container,level);
			
			
		}
	});/*	*/
	
	
}
pmx.insertAlias = function(path){
	alert(pmx.aliasPath);
	alert(path);	
}
pmx.writeAliasFiles = function(container,level){
	var navi_html = '';
	var count = 0;
	jQuery.each(pmx.files,function(){
		if(this[6]){
			
			navi_html += '<li><a href="/webnative/listdir?'+this[1]+'" target="webnative" onclick="pmx.browse(\''+this[1]+'\',\'#level'+level+count+'\','+(Number(level)+1)+')">'+this[0]+'</a>&nbsp;<a href="#" onclick="pmx.insertAlias(\''+this[0]+'\');">Insert</a><ul style="display:none;" name="level'+level+'" class="menu-level'+level+'" id="level'+level+count+'"></ul></li>';  
		}
		count++;
	});	
	jQuery(container).empty();
	jQuery(container).append(navi_html);
	
	if(navi_html.length > 0) {
	jQuery(container).show("fast");
	}
}