/**
 * Acore framework core javascript
 *
 * @package Acore
 */


// Rounded corners fix for Internet Explorer
//DD_roundies.addRule('.ui-corner-all', 4);
//DD_roundies.addRule('.ui-corner-top', '4 4 0 0');


$.extend({
	
	process_sting_response: function(data)
	{
		var json_data = eval('('+data+')');
		$.process_response(json_data);
	},
	
	//---------------------------------------------------------------------
	// Response processor
	
	process_response: function(data)
	{
		
		$.each(data, function(containerId){
			var containerContent = data[containerId];
			containerId = containerId.toString();
			
			var mode = 'html';
			
			if (containerId.substr(0,7) == 'APPEND_')
			{
				mode = 'append';
				containerId = containerId.substr(7);
			}
		
			switch (containerId)
			{
				case 'popup_message':
					$.lightmodal(containerContent);
					$.responseProcessor($('#modalContentPadding'));
					break;
					
				case 'ACORE_REDIRECT':
					location.href = containerContent;
					break;
					
				default:
					$content = $(containerContent);
					switch (mode)
					{
						case 'html':
							$('#'+containerId).html($content);
							$.responseProcessor($('#'+containerId).get(0));
							break;
						case 'append':
							$('#'+containerId).append($content);
							$.responseProcessor($content.get(0));
							//$.responseProcessor($('#'+containerId+' > *:last-child').get(0));
							break;
					}
					break;
			}
		});
	},
	
	
	//---------------------------------------------------------------------
	// Get id from ajax href
	
	id_from_href: function(obj)
	{
		return $(obj).attr('href').replace(/.*:/, '');
	},


	//---------------------------------------------------------------------
	// Helper functions
	
	html_entity_decode: function(str) 
	{
		var ta = document.createElement("textarea");
		ta.innerHTML=str.replace(/</g,"&lt;").replace(/>/g,"&gt;");
		return ta.value;
	},
	
	//---------------------------------------------------------------------
	// String to date
	
	string_to_date: function(str)
	{
		var matches;
		if (matches = str.match(/^(\d{4,4})-(\d{1,2})-(\d{1,2})$/)) 
		{  
			return new Date(matches[1], matches[2]-1, matches[3], 00, 00);
		}
		return null;
	}
	
});


/**
 * Page load event
 */
$(document).ready(function(){
	
	//--------------------------------------------------------------------------------------------
	// TEXTBOX
	
		$('.acore-textbox').each(function(i){
			var $this = $(this);
			$this.wrap('<span class="acore-textbox-container"' + ($this.attr('id') ? ' id="' + $this.attr('id') + '_container"' : '')  + '></span>');
		});
		
		
});



