var relMod = -1;

function relGetHandler(){
	if (typeof document.reldo == 'object'){
		var obj = document.reldo;
		if (typeof obj.name != 'undefined'){
			return obj;
		} else {
			if (typeof obj[0].name != 'undefined'
				&& obj[0].name=='reldo'
			){
				for (var i=1;i<obj.length;++i)
					obj[i].parentNode.removeChild(obj[i]);
				return obj[0];
			} else {
				if (typeof jQuery != 'undefined'){
					var s;
					obj = $(s = '#reldo,form[name=reldo]');
					if (obj.length>0){
						for (var i=1;i<obj.length;++i) obj[i].remove();
						return obj[0];
					} else {
						var a=['rela','relid','relnode'],t = '<form name="reldo" id="reldo">';
						for (i in a) t+='<input type="hidden" name="'+a[i]+'" value="">';
						$('body').append(t+'</form>');
						return $(s)[0];
					}
				} else return false;
			}
		}
	}
	return false;
}

function relDo(a,val){
	var obj = relGetHandler();
	if (obj){
		obj.rela.value=a;
		obj.relid.value=val;
		obj.submit();
	}
}

function relDialog(){
	var a=relDialog.arguments, a_len = a.length;
	
	if (a_len<1) return false;
	if (a_len>1) { 
		var obj = relGetHandler();
		if (obj) obj.relnode.value=a[1];
	}

	t=a[0];
	if (255==t){
		var r = prompt('Object name?', 'unnamed');
		if (r != null) relDo('append', t+','+(a_len>2 ? a[2]+'&name='+r : r));
	} else if (1==t){
		relMod = t;
		openDialog('?p=dialog&dialog=users&returnid=1',400,screen.height*0.5, relDialogCallback);
	} else if (2==t){
		relMod = t;
		openDialog('?p=dialog&dialog=tree&returnid=1&bcmsid=0',650,screen.height*0.5, relDialogCallback);
	} else if (6==t){
 		relMod = t;
		openDialog('?p=dialog&dialog=fman&returnid=1&bcmsid=0',520,520, relDialogCallback);
	} else if (7==t){
 		relMod = t;
		openDialog('?p=dialog&dialog=events&events=0&returnid=1',400,screen.height*0.5, relDialogCallback);
	} else if (22==t){
 		relMod = t;
		openDialog('?p=dialog&dialog=events&returnid=1',400,screen.height*0.5, relDialogCallback);
	} else if (9==t){
 		relMod = t;
		openDialog('?p=dialog&dialog=groups&returnid=1',400,screen.height*0.5, relDialogCallback);
	} else if (12==t){
 		relMod = t;
		openDialog('?p=dialog&dialog=wsart&returnid=1',400,screen.height*0.5, relDialogCallback);
	} else if (13==t){
 		relMod = t;
		openDialog('?p=dialog&dialog=wscat&returnid=1',400,screen.height*0.5, relDialogCallback);
	} else if (16==t){
 		relMod = t;
		openDialog('?p=dialog&dialog=survey&returnid=1'+(a_len>2 ? '&surveyid='+a[2] : ''),400,screen.height*0.5, relDialogCallback);
	} else if (24==t){
 		relMod = t;
		openDialog('?p=dialog&dialog=attrib&returnid=1',400,screen.height*0.5, relDialogCallback);
	} else {
		relMod = -1;
	}
}

function relDialogCallback(id){
	id = id+'';
	if (relMod==6){
		relDo('append', relMod+','+id);
	} else if(relMod>0){
		relDo('append', (id.indexOf(',')<0?relMod+',':'')+id);
	}
}
