$(document).ready(
		function()
		{
			$('#380,#381,#382,#383,#384').hide();

			initAll($('html'));
			$('#innernews').corner("round 8px").parent().css('padding', '2px').corner("round 10px");



/* resize images */
$('img').each(function () {
	var img = this;

	// find parent
	var parent = $(img).parent();
	while (parent.length > 0 && !$(parent).hasClass('block'))
		parent = $(parent).parent();

	if (parent.length > 0) {
		// find left padding
		var padding = $(img).offset().left - $(parent).offset().left;
		
		// calculate max size
		var maxWidth = $(parent).width() - padding*2;
		
		if (maxWidth > 0 && $(img).width() > maxWidth) {
			// calculate resize ratio
			var resize = maxWidth / $(img).width();
	
			// set correct size
			$(img).width(maxWidth);
			$(img).height($(img).height() * resize);
		}
	}
});


		}
);

function initAll(block) {
	if(window.Verify) {
		Verify.load();
	}
	
	initBrowseInput(block);
	initMultiPosting(block);	
	initAjaxPosting(block);
	initAjaxPaging(block);
	initEffects(block);
	
	if(window.attach_datepickers) {
		attach_datepickers();
	}
	
	$('textarea[@class=mceEditor]', block).each(function() {
		toggleEditor($(this).attr('id'), true);
	});
	
	$(".tabbed > ul").tabs({ fx: { height: 'toggle', opacity: 'toggle' } });
	
	$(".popupwindow").popupwindow();
	
	$(".cycle").cycle();
}

function undoAll(block) {
	$(block).find("form[@class=ajaxpost]").unbind();
	$(block).find("input[@type=file]").unbind();
	undoEffects(block);
	$('textarea[@class=mceEditor]', block).each(function() {
		toggleEditor($(this).attr('id'), false);
	});
}

function initEffects(block) {
	$(block).find('.effect_roundcorners').corner('round');
	if($(block).hasClass('effect_roundcorners')) {
		$(block).corner('round');	
	}
}

function undoEffects(block) {
	$(block).find('.effect_roundcorners').uncorner();
}

function initBrowseInput(block) {
	$(block).find("input[@type=file]").inputfile();
}

function initMultiPosting(block) {
	$(block).find("input[@class=multi]").each(function() {
		$(this).after('<a href="#" class="multipost">+</a>');
		
		$(block).find("a[@class=multipost]").bind('click', function() {	
			$(this).prev().clone().val('').insertBefore($(this).before('<br />'));
			return false;
		});
	});
}

function initAjaxPosting(block) {
	
	$(block).find("form[@class=ajaxpost]").each(function() {
		var form = this;
		var buttonvalue = '';
		
		// Save submit button value
		$(this).find('input[@type=submit]').bind('click', function() {
			buttonvalue = this.value;
		});
		
		$(this).bind('submit', function() {
			if((window.Verify && Verify.valid) || !window.Verify) {
			
				// Lock GUI
				pdcmsBlockUI();
				
				// force save on possible tinyMCE fields
				if(window.tinyMCE) {
					tinyMCE.triggerSave(true,true);
				}
				
				// add button value to post values
				$(form).append('<input type="hidden" name="submitvalue" value="' + buttonvalue + '" />');
				buttonvalue = '';
				
				// also add that this is an ajaxsubmit
				$(form).append('<input type="hidden" name="ajaxpost" value="true" />');
				
				$(this).ajaxSubmit({
					success: function(response, status) {
						if(status != 'success') {
							alert(response);
						} else {
							if(response.length > 0) {
								rebindBlock(response);
							}
						}
					}
				});
			}
			return false;
		});
	});
}

function initAjaxPaging(block) {
	// Ajax paging
	$(block).find('a[@class=ajaxpage]').bind('click', function() {
		pdcmsBlockUI();
				
		$.ajax({
			async: false,
			dataType: "html",
			type: "GET",
			url: $(this).attr('href'),
			error: function(xmlreq, desc, ex) {
				alert(desc);
			},
			success: function (data) {
				rebindBlock(data);
			}
		
		});
		
		// no need to visit this link for real
		return false;
	});
}

function rebindBlock(data) {
	var dest_div = $('#' + $(data).attr('id')); 
	if($(data).hasClass('remove')) {
		$(dest_div).hide();
	} else {
		// unbind all functions and effects for this block
		undoAll(dest_div);
		
		// Set new html into div
		$(dest_div).html($(data).html());
		
		// rebind all functions and effects for this block
		initAll(dest_div);
	}
	
	// If all is done give back GUI
	pdcmsUnblockUI();
}

function pdcmsBlockUI() {
	$.blockUI({ message: $('img#loadingBox'),  
		css: {  
   			top:  ($(window).height() - 16) /2 + 'px', 
   			left: ($(window).width() - 16) /2 + 'px', 
   			width: '16px'
   		} 
 	}); 
}

function pdcmsUnblockUI() {
	$.unblockUI();
} 

function toggleEditor(id, attach) {
	if(window.tinyMCE) {
		if (attach == true) {
			if(tinyMCE.getInstanceById(id) == null) {		
				tinyMCE.execCommand('mceAddControl', false, id);
			}
		} else {
			tinyMCE.triggerSave(true,true);
			tinyMCE.execCommand('mceRemoveControl', false, id);
		}
	}
}
