/*******************************************************************************
		gototurkey Image Gallery Javascript file
		 		uses jquery
*******************************************************************************/

$(document).ready(loader);
var hidden = 0;
function loader() 
{
	$('.rounded').corners("3px");
	$('.rounded').corners("3px"); /* test for double rounding */
	
	//number of thumbnails in thumbnail display
	num_thumbs = 3;
	//width of thumbnail elements(including all borders, padding etc)
	img_thumbs_pos_step = 86;
	nonImageElementsHeight = 98;
	nonImageElementsWidth = 0;
	slidecount = 0;
	slidecount_max = $("#img_thumbs > li").size();
	img_thumbs_pos = 0;

	img_thumbs_pos_min = 0;
	img_thumbs_pos_max = 0 - (slidecount_max - num_thumbs);

	img_thumbs_pos_time = 500;
	$("#scroll_left").click(scrollLeft);
	$("#scroll_right").click(scrollRight);
	version = $.browser.version;
	$("#img_thumbs_display").css({'display' : 'block'});
	check_slideshow();
}
function check_slideshow()
{
	var slides = new Array();
	slides = $('#img_all img');
	var numslides = slides.length;
	for(var i=0; i < numslides; i++)
	{
		var slide = slides[i];
		if( is_image_loaded(slide) != true )
		{
			//slide.load(check_slideshow());
	    	if(!hidden){ $('#img_all').hide(); hidden=1;}
	    	setTimeout("check_slideshow()",250);
	    	return;
		}
	}
	load_slideshow();
	return;
}
function load_slideshow() 
{
	$('#img_all').show();
	if($.browser.msie && version.match("6."))
	{
		$('#img_all').cycle({ 
			fx:     'blindX', 
			speed:  'slow', 
			timeout: 5000, 
			pager:  '#img_thumbs', 
			before: onBefore,
			pagerAnchorBuilder: pagerAnchor
		});
	}
	else
	{
		$('#img_all').cycle({ 
			fx:     'fade', 
			speed:  'slow', 
			timeout: 5000, 
			pager:  '#img_thumbs', 
			before: onBefore,
			after: onAfter,
			pagerAnchorBuilder: pagerAnchor,
			pagerClick: onPagerClick
		});
	}
}

function onPagerClick(zeroBasedSlideIndex, slideElement) {
	$('#img_all').cycle('pause');
}
function pagerAnchor(idx, slide) { 
        // return selector string for existing anchor 
        return '#img_thumbs li:eq(' + idx + ') '; 

};

function onBefore(curr,next,opts,forwardFlag) {
    $('#iefloater').css({
		    display: 'none'
    });
    var currentminvisibleslide = 0 - img_thumbs_pos;
    var currentmaxvisibleslide = currentminvisibleslide + num_thumbs - 2;
    if(opts.nextSlide > currentmaxvisibleslide) 
    {
	    scrollRight();
    }
    if(opts.nextSlide < currentminvisibleslide) 
    {
	   img_thumbs_pos = 0;
	   $("#img_thumbs").animate({ 
			left: ( img_thumbs_pos * img_thumbs_pos_step)
	   }, img_thumbs_pos_time );
    }
    else if( opts.nextSlide == currentminvisibleslide )
	{
		scrollLeft();
	}
    var $slide = $(next);
    if($.browser.msie )
    {
    	var imgw = $slide.children("img").get(0).width + nonImageElementsWidth;
    	var imgh = $slide.children("img").get(0).height + nonImageElementsHeight;
   		$slide.children("p,h2").css({'width' : imgw});
    }
    else
    {
    	var imgw = $slide.children("img").get(0).naturalWidth + nonImageElementsWidth;
    	var imgh = $slide.children("img").get(0).naturalHeight + nonImageElementsHeight;
    	$slide.children("p,h2").css({'width' : imgw});
	}

	var w = $("#img_all").innerWidth();
	var h = $("#img_all").innerHeight();
    var margintop = (h - imgh) / 2;
    var marginleft = (w - imgw) / 2;
    $slide.css({
        marginTop: margintop,
        marginLeft: marginleft
    });
// $slide.css({
//        marginLeft: marginleft
//    });

 
};
function onAfter(curr,next,opts,forwardFlag) {
	if($.browser.msie && version.match("7.")) {
		ieFloater(next);
		
	}
};
function ieFloater(next) {
    var $nextimg = $(next).children("img");
    var iw = $nextimg.width();
    
    var ih = $nextimg.height();
    var pos = $nextimg.position();
    var w = $("#img_all").innerWidth();
    var h = $("#img_all").innerHeight();
    var imgw = $(next).children("img").get(0).width + nonImageElementsWidth;
    var imgh = $(next).children("img").get(0).height + nonImageElementsHeight;
    var margintop = (h - imgh) / 2;
    var marginleft = (w - imgw) / 2;
    var top = pos.top ;
    var left  = pos.left ;
    $('#iefloater').css({
		    top: top,
		    left: left,
		    width: iw,
		    height: ih,
		    marginTop: margintop,
		    marginLeft: marginleft,
		    display: 'block'
    });
}
function scrollLeft(event){
	img_thumbs_pos += 1;
	
	if( img_thumbs_pos > img_thumbs_pos_min ) {
		img_thumbs_pos = img_thumbs_pos_min;
	}
	$("#img_thumbs").animate({ 
			left: ( img_thumbs_pos * img_thumbs_pos_step)
	}, img_thumbs_pos_time );
	if(event) {
		event.preventDefault();
	}
};
function scrollRight(event){
	img_thumbs_pos -= 1;
	if( img_thumbs_pos < img_thumbs_pos_max ) {
		img_thumbs_pos +=1;
	}
	$("#img_thumbs").animate({ 
			left: ( img_thumbs_pos * img_thumbs_pos_step)
	}, img_thumbs_pos_time );
	if(event) {
		event.preventDefault();
	}
};


var is_image_loaded = function(img) {
    // IE
    if(!img.complete) {
        return false;
    }
    // Others
    if(typeof img.naturalWidth != "undefined" && img.naturalWidth == 0) {
        return false;
    }
    return true;
}