
	function carousel( o ) {
		//var g_template_img = '';
		if( !isdefined(o.base) ) return false;
		if( o.list.length <= 1 ) return false;
		if( !isdefined(o.pageno) ) o.pageno = 1;
		if( !isdefined(o.linkperpage) ) o.linkperpage = 5;
		if( !isdefined(o.numlinks) ) o.numlinks = 5;
		if( !isdefined(o.alreadybuild) ) o.alreadybuild = false;
		var links = new Array(4,4,4,2);
		o.totpage = o.list.length <= o.linkperpage ? 1 : Math.ceil( o.list.length / o.linkperpage ) + 1;
		//o.linkperthispage = links[ o.pageno -1 ];		
		if( !o.alreadybuild ) {
			
			o.alreadybuild = true;
			start = 0;
			end   = o.list.length;
			o.elementsize = 177;
			
			var html = '<table id="tbl_carousel_list" align="center" cellpadding="0" cellspacing="0" border="0"><tr>';
			var pop_html = '';
			for( i = start; i < end; i++ ) {
				html += '<td valign="top"><div id="carousel_list_'+i+'" ><a title="'+o.list[i].imgalt+'" href="'+o.list[i].linkurl+'" class="" target="_blank"><img src="'+g_template_img+o.list[i].image+'" border="0"><br/>'+o.list[i].text+'</a></div></td>';
				//pop_html += '<div id="carousel_list_pop_'+i+'" ><a title="'+o.list[i].popalt+'" href="'+o.list[i].linkurl+'" class="" target="_blank"><img src="'+g_template_img+o.list[i].popimage+'" border="0"></a> </div>';
			}
			html += '</tr></table>';
			$('#'+o.base).html( html );
			$(document.body).append(pop_html);
			$('#tbl_carousel_list').css( {position:'relative', left:"0px"} );
			//alert( $('#tbl_carousel_list').innerWidth() );
			
			o.baseleft =  $('#tbl_carousel_list').position().left;

			/*for( i = start; i < end; i++ ) { 
				at_attach("carousel_list_"+i+"", "carousel_list_pop_"+i+"", "hover", "y", "pointer"); 
			}*/
		}
		var to = o;
		
		$('#footer_carousel_left_arrow').unbind('click', "");
		$('#footer_carousel_right_arrow').unbind('click', "");		
		if( to.pageno > 1 ) {			
			$('#footer_carousel_left_arrow').bind('click', function() {				
				to.pageno--;	
				to.linkperthispage = links[ to.pageno -1 ];
				var curleft =  $('#tbl_carousel_list').position().left - to.baseleft;
				var offset  = curleft + ( to.linkperthispage * to.elementsize);
				if( offset > 0 ) offset = 0;
				move( offset, to ); 
			} )	
		}
		
		if( to.pageno < o.totpage ) {			
			$('#footer_carousel_right_arrow').bind('click', function() { 
				to.pageno++;
				to.linkperthispage = links[ to.pageno -1 ];
				var curleft =  $('#tbl_carousel_list').position().left - to.baseleft;
				var offset  = curleft - ( to.linkperthispage * to.elementsize);
				move( offset, to ); 
			} )
		}
	}
	
	function move( delta, options ) {		
		$('#tbl_carousel_list').fadeTo("slow", 0.3, function() {
			$("#tbl_carousel_list").animate( {left:delta}, 250, function() { 
				$('#tbl_carousel_list').fadeTo("slow", 1 ) 
			} );											 
		} );	
		//carousel( delta, options );
		carousel( options );
	}