Y.use('node', function(Y) {
	Y.all('a.popup').each(function(node) {
		node.setStyle('display','inline');
		Y.on('click', function(e) {
			e.preventDefault();

			tmp = node.getAttribute('class');
			tmp2 = tmp.split(/;/);

			if ( tmp2.length > 1 )  {
				width = tmp2[1];
				height = tmp2[2];
			} else {
				width = 820;
				height = 500;
			}

			window.open(this.get('href'),
				'redcall'+this.get('id'),
				'dependent=yes,height='+height+',width='+width+',scrollbars=yes,adressbar=no');
		},node);

	});

	
	Y.on('domready', function(o) {


			Y.all('#cage input').each(function(node) {
				prepareField(node);
			});

			

		},'#cage');

		function prepareField(node) {
			var labelNode = getLabelNode(node);

			if (labelNode == null) {
				return;
			}

			if (Y.Lang.trim(node.get('value')) != '') {
				hideLabel(labelNode);
			} else {
				showLabel(labelNode);
			}

			node.on('blur', function(){
				if (Y.Lang.trim(this.get('value')) == '') {
					this.set('value', '');
					showLabel(getLabelNode(this));
				}
			}, node);

			node.on('focus', function(){
				hideLabel(getLabelNode(this));
			}, node);

		}

		function hideLabel(labelNode) {
			labelNode.detach('click');
			labelNode.detach('mouseup');
			labelNode.setStyle('visibility', 'hidden');
		}

		function showLabel(labelNode) {
			labelNode.setStyle('visibility', 'visible');

			labelNode.on('click', handleLableTrigger, labelNode);
			labelNode.on('mouseup', handleLableTrigger, labelNode);

			function handleLableTrigger() {
				var inputNode = getInputNode(this);
				hideLabel(this);
				inputNode.focus();
			}
		}

		function getLabelNode(node) {
			return Y.one('#' + node.get('id') + '-label');
		}

		function getInputNode(labelNode) {
			return Y.one('#' + labelNode.get('id').substr(0, labelNode.get('id').length - 6));
		}




	
});
