if (typeof(zb) == "undefined") zb = {};

zb.core = {
	alert : function(_text, _opt){
		var _o = $J.extend(this.defaults.dlgOpts, _opt);
		var id = _o.id?_o.id:"alert_"+ (Math.round(Math.random() * 1000));
		var ht = "<div id='"+id+"' />";
		$J("body").append(ht);
		$J("#"+id).dialog(_o);
		$J("#"+id).html(_text);
	},
	
	box : function(container_id, _opt){
		var _o = $J.extend(this.defaults.dlgOpts, _opt);
		var id = _opt.id?_opt.id:"box_"+ (Math.round(Math.random() * 1000));
		var obj = $J("#"+container_id).clone();
		var ht = "<div id='"+id+"' />";
		$J("body").append(ht);
		$J("#"+id).dialog(_o);
		$J("#"+id).append(obj.html());
	},
	
	
	defaults : {
		dlgOpts : {
			title:"Сообщение Zabugor.com",
			width: 300,
			heaight:200,
			modal:true,
			resizable:false,
			buttons:{
				"OK":function(){$J(this).dialog("close");}
			}
		}
	}
}

zb.alert = function(text, _opt){
	zb.core.alert(text, _opt);
}
zb.box = function(container_id, _opt){
	zb.core.box (container_id, _opt);
}

zb.postForm = function(_formid, _o){
	var ht='';
	for (var i in _o.data){
		ht += "<input type='hidden' name='"+i+"' value='"+_o.data[i]+"' />";
	}
	$J("#"+_formid).append(ht);
	$J("#"+_formid)[0].submit();
}
zb.post = function(_o){
	var ht = "<form action='"+_o.url+"' method='post' id='post-back-form'>";
	for (var i in _o.data){
		ht += "<input type='hidden' name='"+i+"' value='"+_o.data[i]+"' />";
	}
	ht += "</form>";
	$J("body").append(ht);
	$J("#post-back-form")[0].submit();
}

zb.WaitSign = {
	signs : [],
	parent : null,
	
	show : function(id, forceCreate, _o){
		_o = typeof(_o)=="undefined"?{}:_o;
		if (forceCreate || $J("#"+id+"_wait").length==0) this.signs[id] = this.create(id,_o);
		this.signs[id].css("height", $J("#"+id).height());
		var d = typeof(_o.delay)!="undefined"?_o.delay:0;
		this.signs[id].show(d);
	},
	hide:function(id, delay){
		var d = typeof(delay)!="undefined"?delay:0;
		$J("#"+id+"_wait").hide(d, function(){$J("#"+id+"_wait").remove();});
	},
	create : function(id, _o){
		var container = $J("#"+id);
		container.css("position","relative");
		var css = typeof(_o.css)!="undefined"?_o.css:"";
		var ht="<div id='"+id+"_wait' class='wait-sign "+css+"'>&nbsp;</div>";
		container.append(ht);
		var el = $J("#"+id+"_wait");
		return el;
	}
}

zb.updateSelect = function(ddl, data){
	ddl.options.length = 0;
	var l = data.length;
	for (var i=0;i<l;i++){
		ddl.options.add(new Option(data[i].value, data[i].key));
	}
}
