var user_agent = navigator.userAgent;
var isOpera = user_agent.indexOf("Opera") >= 0;
var isFirefox = user_agent.indexOf("Firefox") >= 0;
var isWin32up = user_agent.indexOf("Win32") >= 0 
	|| user_agent.indexOf("Win64") >= 0
	|| user_agent.indexOf("Windows NT") >= 0;

// disallow Opera faking IE
var isIE = !isOpera && user_agent.indexOf("MSIE") >= 0;
var isIE55up = isIE && isWin32up && user_agent.match(/MSIE ((5\.5)|[6789])/);
var isIE70up = isIE && isWin32up && user_agent.match(/MSIE ([789])/);
var isIE55dn = isIE && !isIE55up;
var browser = "other";

if (isFirefox)
	browser = "firefox";
else if (isOpera) 
	browser = "opera";
else if (isIE55up) 
	browser = "ie55p";
else if (isIE55dn) 
	browser = "ie55d";

// toplam dosya sayisi
var slidecontentSayisi = 8;
// en soldaki gorunen dosya
var slidecontentFirst = 0;
// bir seferde gorunen dosya sayisi
var slidecontentVisible = 4;
// dosyalarin yerlesim araligi
var slidecontentPlacement = 166;
// dosyalarin araligi
var slidecontentSeperator = 6;
// dosya resimleri ve resim yuklendi bilgisi
var slidecontentImgs = new Array();
var slidecontentImgObjects = new Array();
var slidecontentImgLoaded = new Array();

// slide efekti timer
var slidecontentTimer = null;
// silde efekti pozisyonu
var slidecontentPosition = 0;
// silde efekti hedef pozisyonu
var slidecontentTarget = 0;
// slide efekti icin timer ve her timer da gidilecek pixel
var slidecontentStepMultiplier = 1.3;
var slidecontentStepTime = 60;

// slide efekti timer
var slideContinuouslyTimer = null;
var lastOffset = 1;
var SlideContinuouslyStepTime = 3000;

function DosyaWidget(baslik, spot, header, link, bgcolor, fontcolor) {
	this.baslik = baslik;
	this.spot = spot;
	this.header = header;
	this.link = link;
	this.bgcolor = bgcolor;
	this.fontcolor = fontcolor;
}

function CreateDosya(list, index, isVisible) {
	var dosya = list[index];
	var left = slidecontentPlacement * (index - slidecontentFirst);
	
	var div = document.createElement("DIV");
	div.style.position = "absolute";
	div.style.left = left + "px";
	div.style.top = "0px";
	div.style.width = "160px";
	div.style.height = "210px";
	div.style.backgroundColor = dosya.bgcolor;
	
	var divImg = document.createElement("DIV");
	div.appendChild(divImg);

	// ust resim linki
	var lnkHeader = document.createElement("A");
	lnkHeader.href = dosya.link;
	lnkHeader.target = "_blank";
	lnkHeader.onfocus = function() {
		this.blur();
	}
	
	// ust resim
	var imgHeader = document.createElement("IMG");
	slidecontentImgs[index] = imgHeader;
	slidecontentImgLoaded[index] = isVisible;
	if (isVisible)
		imgHeader.src = dosya.header;
	else
		imgHeader.src = I_URL + "sp.gif";
	imgHeader.width = 160;
	imgHeader.height = 108;
	imgHeader.border = 0;
	imgHeader.alt = dosya.baslik;
	imgHeader.title = dosya.baslik;
	lnkHeader.appendChild(imgHeader);
	divImg.appendChild(lnkHeader);

	// resim alti yazi blogu	
	var divYazi = document.createElement("DIV");
	divYazi.style.padding = "6px";
	div.appendChild(divYazi);
	
	var lnkBaslik = document.createElement("A");
	lnkBaslik.className = "ver11";
	lnkBaslik.href = dosya.link;
	lnkBaslik.target = "_blank";
	lnkBaslik.style.color = dosya.fontcolor;
	lnkBaslik.style.fontWeight = "bold";
	lnkBaslik.appendChild(document.createTextNode(dosya.baslik));
	divYazi.appendChild(lnkBaslik);
	divYazi.appendChild(document.createElement("BR"));

	var lnkSpot = document.createElement("A");
	lnkSpot.className = "ver11";
	lnkSpot.href = dosya.link;
	lnkSpot.target = "_blank";
	lnkSpot.style.color = dosya.fontcolor;
	// lnkSpot.innerHTML = dosya.spot;
	lnkSpot.appendChild(document.createTextNode(dosya.spot));
	divYazi.appendChild(lnkSpot);
	
	return div;
}

function CreateDosyalar() {
	var containerDiv = document.getElementById("divslidecontentlar");
	slidecontentSayisi = slidecontentlar.length;
	containerDiv.style.width = (slidecontentPlacement * slidecontentSayisi - slidecontentSeperator) + "px";
	
	// clear
	while (containerDiv.firstChild != null) {
		containerDiv.removeChild(containerDiv.firstChild);
	}
	// create the new items
	for (var i = 0; i < slidecontentSayisi; i++) {
		// load images of all visible ones and the first invisible one
		containerDiv.appendChild(CreateDosya(slidecontentlar, i, i <= slidecontentVisible));
	}
	// if (isIE55up) containerDiv.style.filter = "progid:DXImageTransform.Microsoft.MotionBlur(direction=90,strength=10,enabled=false)";
}

function CreateDosyalarStatic() {
	var containerDiv = document.getElementById("divslidecontentlar");
	slidecontentSayisi = slidecontentlar.length;
	containerDiv.style.width = (slidecontentPlacement * slidecontentSayisi - slidecontentSeperator) + "px";

	// create the new items
	for (var i = 0; i < slidecontentSayisi; i++) {
		// load images of all visible ones and the first invisible one
		slidecontentImgs[i] = document.getElementById("imgslidecontent" + i);
		slidecontentImgLoaded[i] = (i <= slidecontentVisible);
	}
}

function clearDosyalarTimer() {
	if (slidecontentTimer != null)
		clearTimeout(slidecontentTimer);
	slidecontentTimer = null;
}

function slidecontentSlideStep() {
	var offset = slidecontentTarget - slidecontentPosition;
	var sign = (offset < 0) ? -1 : 1;
	
	if (Math.abs(offset) > 12) {
		offset /= slidecontentStepMultiplier;
		slidecontentPosition = slidecontentTarget - offset;
	} else if (Math.abs(offset) > 4) {
		slidecontentPosition += 4 * sign;
	} else {
		slidecontentPosition = slidecontentTarget;
	}
	
	var containerDiv = document.getElementById("divslidecontentlar");
	containerDiv.style.left = parseInt(slidecontentPosition) + "px";

	if (slidecontentPosition != slidecontentTarget)
		slidecontentTimer = setTimeout("slidecontentSlideStep();", slidecontentStepTime);
	else 
		clearDosyalarTimer();
}

function slidecontentGit(offset, automatic) {
	if (offset != -1) offset = 1;
	
	if (automatic != null && automatic) {
		if (slidecontentFirst + offset < 0) {
			lastOffset = 1;
		} else if (slidecontentFirst + offset + slidecontentVisible > slidecontentSayisi) { 
			lastOffset = -1;
		}
		offset = lastOffset;
		clearTimeout(slidecontentTimer);
	} else {
		// Auto degilse kaydirma islemini durdur.
		clearSlideContinuouslyTimer();
		// check array boundaries
		if (slidecontentFirst + offset < 0 || 
			slidecontentFirst + offset + slidecontentVisible > slidecontentSayisi)
			return;		
	}
		
	clearDosyalarTimer();

	slidecontentFirst += offset;
	// load images on demand
	for (var i = 0; i <= slidecontentVisible; i++) {
		var index = slidecontentFirst + i;
		if (index < slidecontentSayisi) {
			if (!slidecontentImgLoaded[index]) {
				slidecontentImgLoaded[index] = true;
				// load new image
				slidecontentImgObjects[index] = new Image();
				slidecontentImgObjects[index].src = slidecontentlar[index].header;
				slidecontentImgs[index].src = slidecontentImgObjects[index].src;				
			}
		}
	}
	slidecontentTarget = -slidecontentFirst * slidecontentPlacement;
	if (isIE55up) {
		/*
		var containerDiv = document.getElementById("divslidecontentlar");
		var motionDirection = (offset == 1) ? 90 : 270
		if (!containerDiv.filters.MotionBlur)
			containerDiv.style.filter = "progid:DXImageTransform.Microsoft.MotionBlur(direction=" + motionDirection + ",strength=10)";
		containerDiv.filters.MotionBlur.direction = motionDirection;
		containerDiv.filters.MotionBlur.enabled = true;
		*/	
	}
	
	slidecontentSlideStep();
}

function clearSlideContinuouslyTimer() {
	if (slideContinuouslyTimer != null)
		clearTimeout(slideContinuouslyTimer);
	slideContinuouslyTimer = null;
}

function SlideContinuously() {
	slidecontentGit(lastOffset, true);
	slideContinuouslyTimer = setTimeout("SlideContinuously();", SlideContinuouslyStepTime);
}
setTimeout("SlideContinuously();", SlideContinuouslyStepTime);