(function($){
$.fn.panorama=function(options){
this.each(function(){
var settings={
viewport_width: 600,
speed: 20000,
direction: 'left',
control_display: 'auto',
start_position: 0,
auto_start: true,
mode_145: true}
if(options)$.extend(settings,options)
var elemWidth=parseInt($(this).attr('width'))
var elemHeight=parseInt($(this).attr('height'))
var currentElement=this
var panoramaViewport,panoramaContainer
$(this).css('position','relative')
.css('margin','0')
.css('padding','0')
.css('border','none')
.wrap("<div class='panorama-container'></div>")
if(settings.mode_360)
$(this).clone().insertAfter(this)
panoramaContainer=$(this).parent()
panoramaContainer.wrap("<div class='panorama-viewport'></div>").parent().css('width',100+'%')
.append("<div class='panorama-control1'><table width='100%' height='100%' border='0' cellpadding='0' cellspacing='0'><tr><td><a href='#' class='panorama-control-left'><img align='left' border='0' id='left_img' style='display:none;' src='images/left-move.png' width='66'/></a></td></tr></table></div><div class='panorama-control2'><table width='100%' height='100%' border='0' cellpadding='0' cellspacing='0'><tr><td><a href='#' class='panorama-control-right'><img border='0'  id='right_img' align='right' style='display:none;' src='images/right-move.png' width='66'/></a></td></tr></table></div>")
panoramaViewport=panoramaContainer.parent()
panoramaViewport.css('height',elemHeight+'px').find('a.panorama-control-left').bind('click',function(){
$(panoramaContainer).stop()
settings.direction='right'
panorama_animate(panoramaContainer,elemWidth,settings)
if(t1.Hide)t1.Hide(panoramaViewport.css('height',elemHeight+'px').find('a.panorama-control-left').event)
return false
})
panoramaViewport.bind('click',function(){
$(panoramaContainer).stop()
})
panoramaViewport.find('a.panorama-control-right').bind('click',function(){
$(panoramaContainer).stop()
settings.direction='left'
panorama_animate(panoramaContainer,elemWidth,settings)
if(t1.Hide)t1.Hide(panoramaViewport.css('height',elemHeight+'px').find('a.panorama-control-right').event)
return false
})
panoramaViewport.find('a.panorama-control-pause').bind('click',function(){
$(panoramaContainer).stop()
return false
})
$("#page").bind('click',function(){
$(panoramaContainer).stop()
return false
})
if(settings.control_display=='yes'){
panoramaViewport.find('.panorama-control1').show()
}else{
$('.panorama-control1').bind('mouseover',function(){
$('#left_img').show()
return false
}).bind('mouseout',function(){
$('#left_img').hide()
return false
})}
if(settings.control_display=='yes'){
panoramaViewport.find('.panorama-control2').show()
}else{
$('.panorama-control2').bind('mouseover',function(){
$('#right_img').show()
return false
}).bind('mouseout',function(){
$('#right_img').hide()
return false
})}
$(this).parent().css('margin-left','-'+settings.start_position+'px')
if(settings.auto_start)
panorama_animate(panoramaContainer,elemWidth,settings)
})
function panorama_animate(element,elemWidth,settings){
currentPosition=0-parseInt($(element).css('margin-left'))
if(settings.direction=='right'){
$(element).animate({marginLeft: 0},((settings.speed/elemWidth)*(currentPosition)),'linear',function(){
if(settings.mode_360){
$(element).css('marginLeft','-'+(parseInt(parseInt(elemWidth))+'px'))
panorama_animate(element,elemWidth,settings)}
})
}else{
var rightlimit
if(settings.mode_360)
rightlimit=elemWidth
else
rightlimit=elemWidth-settings.viewport_width
$(element).animate({marginLeft:-rightlimit},((settings.speed/rightlimit)*(rightlimit-currentPosition)),'linear',function(){
if(settings.mode_360){
$(element).css('margin-left',0)
panorama_animate(element,elemWidth,settings)}
})}}}
$(document).ready(function(){
$("img.panorama").panorama()
})
})(jQuery)