// index.js
//
// Kan jag använda user_agent för att anpassa opacity 99.999 eller 100 beroende på????
// var user_agent = "<?php echo $_SERVER['HTTP_USER_AGENT']; ?>";
// var isChrome ...

/*
alert(
	"appCodeName=" + navigator.appCodeName
	+ ",\nappName=" + navigator.appName
	+ ",\nappVersion=" + navigator.appVersion
	+ ",\nuserAgent=" + navigator.userAgent
	);
*/

var opacity = 100;
var curLink = null;
//--------------------------------------------------------
// Utiliy function get filename from path
// Funkar inte i IE7 - OK här men fixa det!!
function getNameNoPath(filename) {
  var re = new RegExp(/([^\/\\]+)$/);
  var m = re.exec(filename);
  if (m == null) {
    return null;
  } else {
   return m[0];
  }
}
//--------------------------------------------------------
// go to next or previous image
function navPic(direction) {
	var im = document.getElementById("imgview");
	showPic(getNextImg(getNameNoPath(im.src),direction)); 
}
//--------------------------------------------------------
// click in generated image list (see thumblist.inc)
//function imgArrClick(el) {
//	curLink = el;
//	curLink.style.cursor="progress";
//	showPic(el.getAttribute("href"));
//}
//--------------------------------------------------------
// show newly selected image
function showPic(source) {
	//var source = el.getAttribute("href");
	var im = document.getElementById("imgview");	// this is the visible img
	var im2 = document.getElementById("imgview2");	// this is hidden used for loading
	
	// if the same thumb is clicked again return. Otherwise problem with safari .onload()
	if (getNameNoPath(im.getAttribute("src")) == getNameNoPath(source)) {
		return;
	}
	
	im2.setAttribute("src", source); // start loading the new img
	document.body.style.cursor = "progress";
	
	// set imagetext. hide until new image is loaded
	var bt = document.getElementById("bildtext");
	bt.style.visibility = "hidden";
	//var title = el.getAttribute("title");
	var title = getImgDesc(getNameNoPath(source));
	//bt.setAttribute("value", (title ? title : "")); // om input
	bt.innerHTML=(title ? title : "&nbsp;"); // om paragraph
	
	fadeOut("imgview", 100);  // fade out "old" image
}
//--------------------------------------------------------
// called by new hidden img when loaded
function imgLoaded(el) {
	fadeIn('imgview',0);
	//fadeIn("divfade", 0); // funkar tyvärr inte i IE !?
	document.getElementById("bildtext").style.visibility = "visible";
	// Tveksamt detta med cursor. Funkar OK i IE och FF men annars inte så bra
	// man måste röra på musen för att cursorn ska återställas!
	if (curLink){
		curLink.style.cursor="pointer";
	}
	document.body.style.cursor = 'default';
}
//--------------------------------------------------------
// för bästa resultat borde fade anpassas efter storleken 
// på bilden testa det om bilderna har väldigt olika storlek...
//
function fadeOut(objId, opacity) {
  if (document.getElementById) {
    var obj = document.getElementById(objId);
    if (opacity > 0) {
		opacity = (opacity < 21) ? 0 : opacity;
		setOpacity(obj, opacity);
		opacity -= 10; // 15
		window.setTimeout("fadeOut('"+objId+"',"+opacity+")", 10); // 25
    }else{
		var im = document.getElementById("imgview");
		var im2 = document.getElementById("imgview2");
		im.src = im2.src;
	}
  }
}
//--------------------------------------------------------
function fadeIn(objId, opacity) {
  if (document.getElementById) {
    var obj = document.getElementById(objId);
    if (opacity <= 100) {
      setOpacity(obj, opacity);
      opacity += 10; // 15
      window.setTimeout("fadeIn('"+objId+"',"+opacity+")", 10);  // 25
    } else {
		//setOpacity(obj, 99.999); // make sure it stops at 100 // 99.999 for chrome...!?
		try {	
			obj.style.removeAttribute('filter'); // Explorer, återställer clear type!
		} catch(err) { }
		//try {	
			//alert(obj.style.opacity);
			//alert(obj.id + ' - ' + obj.style.opacity);
			//obj.removeAttribute('opacity'); 
			//obj.style.opacity = "";
			//obj.style.removeAttribute('-moz-opacity'); 
			//obj.style.removeAttribute('-khtml-opacity'); 
			//alert(obj.style.opacity);
		//} catch(err) { alert(err); }
		//if (opacity >= 100) { alert("removeattribue"); }
	}
  }
}
//--------------------------------------------------------
// change opacity for different browsers
function setOpacity(obj, opacity) {
  //opacity = (opacity >= 100)?99.999:opacity; 	// Chrome har problem med div fade annars (img verkar dock ok!?)
												// OBS Safari får knasigt typsnitt om ej 100 !!
												// Vad beror detta på?
  //opacity = (opacity < 0)?0:opacity;
  ost = obj.style;
  
  // IE/Win
  ost.filter = "alpha(opacity:"+opacity+")";
  // Safari<1.2, Konqueror
  ost.KHTMLOpacity = opacity/100;  // ((opacity >= 100)?99.999:opacity)
  // Older Mozilla and Firefox
  ost.MozOpacity = opacity/100;
  // Safari 1.2, newer Firefox and Mozilla, CSS3, (Chrome)
  //if(obj.src || (obj.id =="pop") || (obj.id =="forfade")){ // Problems with Chrome and Safari divs
  if(obj.src || (obj.id =="pop")){ // Problems with Chrome and Safari divs. Only fade image and popup until solved.
	ost.opacity = opacity/100;
  }
}
//--------------------------------------------------------
// popup image - exhib
function popupImg(el) {
	var obj = document.getElementById('pop');
	obj.innerHTML = "<img src='ico/close_b.png' onclick='popupClose();' onMouseOver='this.src=\"ico/close_p.png\"' onMouseOut='this.src=\"ico/close_b.png\"' />"
					+ "<br />"
					+ '<img src="' + el.href + '" />';
	setOpacity(document.getElementById("pop"), 0);
	obj.style.visibility="visible";
	setOpacity(document.getElementById("contexhib"), 50);
	setOpacity(document.getElementById("main"), 50);
	//document.getElementById("main").style.backgroundColor = "#EFEFEF";
	fadeIn("pop", 10);
}
//--------------------------------------------------------
// popup close
function popupClose() {
	var obj = document.getElementById('pop');
	obj.innerHTML = "";
	obj.style.visibility="hidden";
	//setOpacity(document.getElementById("contexhib"), 100);
	//opacity=50;
	//document.getElementById("main").style.backgroundColor = "#FFF";
	fadeIn("contexhib", 50);
	fadeIn("main", 50);
}
//--------------------------------------------------------
// popup image - kontakt
function popupCont(el) {
	var obj = document.getElementById('pop');
	obj.innerHTML = "<img src='ico/close_b.png' onclick='popupContClose();' onMouseOver='this.src=\"ico/close_p.png\"' onMouseOut='this.src=\"ico/close_b.png\"' />"
					+ '<p>'
					+ '<span style="font-weight:bold;">Prislista för papperskopior av fotografier</span>'
					+ '<br />'
					+ 'Gäller bilder i galleriet <a href="/fotografier1">I parken</a>.'
					+ '</p>'
					+ '<p>'
					+ 'Förstoringar på högkvalitativt, blankt fotopapper, signerade på baksidan. '
					+ 'Måtten är ungefärliga, proportionerna på bilderna kan variera med några cm. '
					+ 'Ett fåtal bilder går ej att få i större storlek än 30x45 cm. Dessa bilder är markerade med en parentes runt sitt bildnummer i galleriet. '
					+ '</p><p><table>'
					+ '<tr><td>20x30 cm :</td><td> 180 kr. </td></tr>'
					+ '<tr><td>30x45 cm :</td><td> 350 kr.</td></tr>'
					+ '<tr><td>40x60 cm :</td><td> 450 kr.</td></tr>'
					+ '</table>'
					+ '</p><p>'
					+ 'Priserna är angivna inklusive moms. Skall bilderna skickas tillkommer porto enligt postens tabeller. För en bild av storleken 20x30 blir portot 24 kr. '
					+ 'För de större storlekarna blir portot för en försäkrad försändelse 150 kr. Bilderna kan även hämtas i Karlstad.'
					+ '</p><p>'
					+  '<b>För att beställa, kontakta Johanna med formuläret så får du svar inom ett dygn.</b>'
					+ '</p>';
	setOpacity(document.getElementById("pop"), 0);
	obj.style.visibility="visible";
	setOpacity(document.getElementById("contcont"), 50);
	setOpacity(document.getElementById("main"), 50);
	//document.getElementById("main").style.backgroundColor = "#EFEFEF";
	fadeIn("pop", 10);
}
//--------------------------------------------------------
// popup close
function popupContClose() {
	var obj = document.getElementById('pop');
	obj.innerHTML = "";
	obj.style.visibility="hidden";
	fadeIn("contcont", 50);
	fadeIn("main", 50);
}

