
/**
 * replace href link with class a-blank by window.open() function
 */

var prepareTargetBlank = function()
{
	var className = 'external';
	var as = document.getElementsByTagName('a');
	for(i=0;i<as.length;i++) {
		var a = as[i];
		r=new RegExp("(^| )"+className+"($| )");
		if(r.test(a.className)){
			a.onclick = function(){
				window.open(this.href);
				return false;
		   }
		}
	}
}

$(window).load(function(){prepareTargetBlank()});



/*
 * jQuery Cycle Preload Image Function
 */

var preloadImgCycle = function(id, params)
{
	// Get the slide show container first
	var $objSlideshow = $('#'+id);
	
	// Get slide show container position
	var $objPosistion = $objSlideshow.position();

	// Create loading interface, to wait the preload
	var $objLoading = $('<div></div>').css({
	  position: 	'absolute',
	  top: 			$objPosistion.top,
	  left:		 	$objPosistion.left,
	  width: 		$objSlideshow.width(),
	  height: 		$objSlideshow.height(),
	  background: 	'url("' + $('#'+id+'-loading').attr('src') + '") center no-repeat'
	}).appendTo($objSlideshow.parent());

	// Hide the slide show container first, to wait the preload finish
	$objSlideshow.css('visibility', 'hidden');

	// Do preload, after all images loaded, start the cycle
	var imagesSlideshow =	$('img', $objSlideshow);
	var totalImages 	= 	imagesSlideshow.length;
	var iTotalImage 	= 	0;
	
	imagesSlideshow.each(function()
	{
		$('<img />').attr('src', $(this).attr('src')).one('load', function()
		{
			iTotalImage++;
			if (totalImages == iTotalImage)
			{
				// Destroy the loading object
				$objLoading.remove();
	   
				// Start the cycle
				$objSlideshow.css({
					visibility:'visible',
					opacity:0}).cycle(params).fadeTo('slow', 1);
			}
		}).each(function()
		{
			if(this.complete) $(this).trigger("load");
		});
	});
}




