var GelismisSlaytGecis={
	csszindex: 100,
	ajaxyukleniyormsj: '<b>Icerik yukleniyor. Lütfen bekleyiniz...</b>',
	glide:function(ayar, sayfagoster, isprev){
		var seciliolan=parseInt(sayfagoster)
		if (seciliolan>=ayar.$icerikdivs.length){
			alert((seciliolan+1)+" sayfa yüklenemedi! 1.Sayfa yükleniyor...")
			seciliolan=0
		}
		var $target=ayar.$icerikdivs.eq(seciliolan)
		if (ayar.$togglerdiv.attr('sonseciliolan')==null || parseInt(ayar.$togglerdiv.attr('sonseciliolan'))!=seciliolan){
			var $seciliolanlink=ayar.$toc.eq(seciliolan)
			ayar.$next.attr('loadpage', (seciliolan<ayar.$icerikdivs.length-1)? seciliolan+1+'pg' : 0+'pg')
			ayar.$prev.attr('loadpage', (seciliolan==0)? ayar.$icerikdivs.length-1+'pg' : seciliolan-1+'pg')
			var startpoint=(isprev=="previous")? -ayar.startpoint : ayar.startpoint
			$target.css(ayar.leftortop, startpoint).css("zIndex", this.csszindex++)
			var endpoint=(ayar.leftortop=="left")? {left:0} : {top:0}
			$target.animate(endpoint, ayar.SlaytHizi)
			ayar.$toc.removeClass('selected')
			$seciliolanlink.addClass('selected')
			ayar.$togglerdiv.attr('sonseciliolan', seciliolan+'pg')
		}
	},

	dissayfagetir:function(ayar){
		ayar.$glider.html(this.ajaxyukleniyormsj)
		$.ajax({
			url: ayar.dissayfa,
			error:function(ajaxrequest){
				ayar.$glider.html('Icerik görüntülemde hata olustu !<br/>Gelen Hata: '+ajaxrequest.responseText)
			},
			success:function(content){
				ayar.$glider.html(content)
				GelismisSlaytGecis.setuptoggler(ayar)
			}
		})
	},

	hizalamaicerikleri:function(ayar){
		ayar.$icerikdivs=$("#"+ayar.SlaytAdi+" ."+ayar.slaytclass)
		ayar.$icerikdivs.css(ayar.leftortop, ayar.startpoint).css({height: ayar.$glider.height(), visibility: 'visible'}) //position content divs so they're out of view:
	},

	setuptoggler:function(ayar){
		this.hizalamaicerikleri(ayar)
		ayar.$togglerdiv.hide()
		ayar.$toc.each(function(index){
				$(this).attr('pagenumber', index+'pg')
				if (index > (ayar.$icerikdivs.length-1))
					$(this).css({display: 'none'}) //hide redundant "toc" links
		})
		var $nextandprev=$("#"+ayar.slaytsira+" .next, #"+ayar.slaytsira+" .prev")
		$nextandprev.click(function(event){ //Assign click behavior to 'next' and 'prev' links
			GelismisSlaytGecis.glide(ayar, this.getAttribute('loadpage'), this.getAttribute('buttontype'))
			event.preventDefault() //cancel default link action
		})
		ayar.$toc.click(function(event){ //Assign click behavior to 'toc' links
			GelismisSlaytGecis.glide(ayar, this.getAttribute('pagenumber'))
			event.preventDefault()
		})
		ayar.$togglerdiv.fadeIn(1000, function(){
			GelismisSlaytGecis.glide(ayar, ayar.seciliolan)
			if (ayar.otogecis==true){ //auto rotate contents?
				ayar.gecissayisi=0 //set steps taken
				ayar.toplamgecisler=ayar.$icerikdivs.length*ayar.otogecisayari[1] //toplam gecis limiti: num of contents x num of user specified cycles)
				GelismisSlaytGecis.otogecis(ayar)
			}
		})
		ayar.$togglerdiv.click(function(){
			GelismisSlaytGecis.otogecisvazgec(ayar.slaytsira)
		})
	},

	otogecis:function(ayar){
		var gecishizi=ayar.SlaytHizi+ayar.otogecisayari[0]
		window[ayar.slaytsira+"timer"]=setInterval(function(){
			if (ayar.toplamgecisler>0 && ayar.gecissayisi>=ayar.toplamgecisler){
				clearInterval(window[ayar.slaytsira+"timer"])
			}
			else{
				ayar.$next.click()
				ayar.gecissayisi++
			}
		}, gecishizi)
	},

	otogecisvazgec:function(slaytsira){
		if (window[slaytsira+"timer"])
			clearInterval(window[slaytsira+"timer"])
	},

	getCookie:function(Name){ 
		var re=new RegExp(Name+"=[^;]+", "i") //construct RE to search for target name/value pair
		if (document.cookie.match(re)) //if cookie found
			return document.cookie.match(re)[0].split("=")[1] //return its value
		return null
	},

	setCookie:function(name, value){
		document.cookie = name+"="+value
	},

	init:function(ayar){
		$(document).ready(function(){
			ayar.$glider=$("#"+ayar.SlaytAdi)
			ayar.$togglerdiv=$("#"+ayar.slaytsira)
			ayar.$toc=ayar.$togglerdiv.find('.toc')
			ayar.$next=ayar.$togglerdiv.find('.next')
			ayar.$prev=ayar.$togglerdiv.find('.prev')
			ayar.$prev.attr('buttontype', 'previous')
			var seciliolan=(ayar.SonHatirla)? GelismisSlaytGecis.getCookie(ayar.SlaytAdi) : ayar.seciliolan
			ayar.seciliolan=(isNaN(parseInt(seciliolan))) ? ayar.seciliolan : seciliolan //test for cookie value containing null (1st page load) or "undefined" string	
			ayar.leftortop=(/up/i.test(ayar.direction))? "top" : "left" //set which CSS property to manipulate based on "direction"
			ayar.heightorwidth=(/up/i.test(ayar.direction))? ayar.$glider.height() : ayar.$glider.width() //Get glider height or width based on "direction"
			ayar.startpoint=(/^(left|up)/i.test(ayar.direction))? -ayar.heightorwidth : ayar.heightorwidth //set initial position of contents based on "direction"
			if (typeof ayar.dissayfa!="undefined" && ayar.dissayfa.length>0)
				GelismisSlaytGecis.dissayfagetir(ayar)
			else
				GelismisSlaytGecis.setuptoggler(ayar)
			$(window).bind('unload', function(){
				ayar.$togglerdiv.unbind('click')
				ayar.$toc.unbind('click')
				ayar.$next.unbind('click')
				ayar.$prev.unbind('click')
				if (ayar.SonHatirla)
					GelismisSlaytGecis.setCookie(ayar.SlaytAdi, ayar.$togglerdiv.attr('sonseciliolan'))
				ayar=null
				
			})
		})
	}
}
