// ----------------------------------------------
// StyleSwitcher functions written by Paul Sowden http://www.idontsmoke.co.uk
// For the details, visit ALA: http://www.alistapart.com/stories/alternate/
// ----------------------------------------------

// FOR COMPLETE VERSION: ANOTHERIMAGE.JS
var gLangAbb;
var cookie = readCookie("lang");
gLangAbb = cookie ? cookie : "us";	// US is default if no cookie
//gLangAbb = "us"	

$(document).ready(function(){
	$("#sharebtn a").mouseenter(function(){
		$("#share").slideToggle(400);
		return false;
	});
	$("#us12 a").click(function(){
		$("#fbfan").css({
        top:	getPageScroll()[1] + (getPageSize()[3]/10),	
        left:	getPageSize()[0]/2 - 300
      }).slideToggle(600);
		hideShare();
		listenKey();	// Check for 'esc' keypress
		toggleOverlay();
		return false;
	});
	$("#no12 a").click(function(){
		$("#fbfan").css({
        top:	getPageScroll()[1] + (getPageSize()[3]/10),	
        left:	getPageSize()[0]/2 - 300
      }).slideToggle(600);
		hideShare();
		listenKey();	// Check for 'esc' keypress
		toggleOverlay();
		return false;
	});
	$(document).click(function(){
		//hideFB();
		hideShare();
		//return false;
	});
});
function shareShown() {
	if(document.getElementById("share")) {
		return (document.getElementById("share").style.display == 'block' && !ReferShown())
	} else {
		return false
	}
}
function FBshown() {
	if(document.getElementById("fbfan")) {
		return (document.getElementById("fbfan").style.display == 'block')
	} else {
		return false
	}
}
function ReferShown() {
	if(document.getElementById("lightbox")) {
		return (document.getElementById("lightbox").style.display == 'block')
	} else {
		return false
	}
}
function hideAll () {
	hideRefer();
	hideShare();
	hideFB();
}
function hideShare () {
	if(shareShown()) {
		$("#share").slideUp(600);	// was fadeOut(400)
		hideOverlay();
		return false
	} else {
		return true
	}	
}
function hideFB () {
	if(FBshown()) {
		$("#fbfan").slideUp(600);	// was fadeOut(400)
		hideOverlay();
		return false
	} else {
		return true
	}	
}
function hideRefer () {
	if(ReferShown()) {
		$("#lightbox").slideUp(600);	// was fadeOut(400)
		hideOverlay();
		//var t = setTimeOut('showHideElements(true)', 1000);
		showHideElements(true);
		return false
	} else {
		return true
	}	
}
function toggleRefer () {
	if(ReferShown()) {
		showOverlay();
	} else {
		hideOverlay()
	}
}
function toggleOverlay () {
	if(FBshown()) {
		showOverlay()
	} else {
		hideOverlay()
	}
}
function showOverlay() {
    if ($('facebox_overlay').length == 0) 
      $("body").append('<div id="facebox_overlay" class="facebox_hide"></div>')
	$("#facebox_overlay").click(function(){
		hideRefer();
		hideFB();
	});
    $('#facebox_overlay').hide().addClass("facebox_overlayBG")
      .css('opacity', 0.6)
      //.click(function() { $(document).trigger('close.facebox') })
      .fadeIn(100)
    return false
  }
function hideOverlay() {
	$('#facebox_overlay').fadeOut(100, function(){
		$("#facebox_overlay").removeClass("facebox_overlayBG")
		$("#facebox_overlay").addClass("facebox_hide") 
		$("#facebox_overlay").remove()
	})
	return false
}
function getKey(evt){
	var keyCode;
	if (window.event) {
		keyCode = window.event.keyCode;
	} else if (evt) {
		keyCode = evt.keyCode;
	}
	if (keyCode == 27) { 
		if(document.getElementById("fbfan")) {hideFB();}
		if(document.getElementById("lightbox")) {hideRefer();}
		return; 
	}	//escape
}
function listenKey () {	
	document.onkeyup = getKey;
}
  // getPageScroll() by quirksmode.com
  function getPageScroll() {
    var xScroll, yScroll;
    if (self.pageYOffset) {
      yScroll = self.pageYOffset;
      xScroll = self.pageXOffset;
    } else if (document.documentElement && document.documentElement.scrollTop) {	 // Explorer 6 Strict
      yScroll = document.documentElement.scrollTop;
      xScroll = document.documentElement.scrollLeft;
    } else if (document.body) {// all other Explorers
      yScroll = document.body.scrollTop;
      xScroll = document.body.scrollLeft;	
    }
    return new Array(xScroll,yScroll) 
  }

  // Adapted from getPageSize() by quirksmode.com
  function getPageHeight() {
    var windowHeight
    if (self.innerHeight) {	// all except Explorer
      windowHeight = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
      windowHeight = document.documentElement.clientHeight;
    } else if (document.body) { // other Explorers
      windowHeight = document.body.clientHeight;
    }	
    return windowHeight
  }
function getPageSize(){
// Returns array with page width, height and window width, height
// Core code from - quirksmode.org. Edit for Firefox by pHaez	
	var xScroll, yScroll;
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}

	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}
function trim(value) {
	// trim leading and trailing spaces plus consecutive blanks within string
	var temp = value;
	var obj = /^(\s*)([\W\w]*)(\b\s*$)/;
	if (obj.test(temp)) { temp = temp.replace(obj, '$2'); }
	var obj = /  /g;
	while (temp.match(obj)) { temp = temp.replace(obj, " "); }
	return temp;
}

function preloadImage(imgObj ,imgSrc) {
	if (document.images) {
		eval(imgObj + ' = new Image()')
		eval(imgObj + '.src = "' + imgSrc + '"')
	}
}
function getLang () {
	var cookie = readCookie("lang");
	var lang = cookie ? cookie : "us";	// US is default if no cookie
	return lang;
}
function switchLanguage(svitsj) {
	// svitsj = true switches language, false sets previous language (on load)
	if (!svitsj) {		// upon load only, test for language spec in url
		if (document.URL.indexOf("nor") != -1) {	// "no" will conflict with aNOtherimage ..
			createCookie("lang", "nor", 365);
			//alert("createCookie-nor")
		} else if (document.URL.indexOf("us") != -1) {
			createCookie("lang", "us", 365);
			//alert("createCookie-us")
		}
		
	}
	var prevLanguage = getLang();
	//alert("switchLanguage, prevLanguage: " + prevLanguage);
	if ((prevLanguage == "nor" && svitsj) || (prevLanguage == "us" && !svitsj)) {
		document.getElementById("linktranslate").innerHTML = "På norsk&nbsp;&nbsp;&nbsp;&nbsp;<img src='css/img/flg_no_16x13.gif'>";
		//document.getElementById("translate").className = "btntrans-no";
		document.getElementById("tag").innerHTML = "a book of real photography"
		document.getElementById("sharebtn_inner").innerHTML = "Share with friends"
		document.getElementById("refer").innerHTML = "&nbsp;&nbsp;Share with email"
		document.getElementById("fb").innerHTML = "&nbsp;&nbsp;Share on Facebook"
		document.getElementById("twtr").innerHTML = "&nbsp;&nbsp;Share on Twitter"
		document.getElementById("gb").innerHTML = "&nbsp;&nbsp;Share on Google Buzz"
		document.getElementById("digg").innerHTML = "&nbsp;&nbsp;Share on Digg"
		// IE BUG: When assigning a new "href" to an Anchor Element, if this Anchor Element has no childNodes except textNodes which contain strings of URI (http://foo) or Email (foo@bar), 
		//then the innerHTML of the Anchor Elemen will change to its "href" when a new "href" is applied. 
		//When applying a new href to an amchor element, adding an extra whitre-space to the begining of the href will fix this bug.
		document.getElementById("linkportal").href = "http://www.terjeenge.com/?labb=us"
		document.getElementById("linkterjeenge").href = "http://www.terjeenge.com/?labb=us"
		document.getElementById("us1").style.display = "block";
		document.getElementById("no1").style.display = "none";
		document.getElementById("us3").style.display = "block";
		document.getElementById("no3").style.display = "none";
		document.getElementById("us4").style.display = "block";
		document.getElementById("no4").style.display = "none";
		document.getElementById("us5").style.display = "block";
		document.getElementById("no5").style.display = "none";
		document.getElementById("us8").style.display = "block";
		document.getElementById("no8").style.display = "none";
		document.getElementById("us11").style.display = "block";
		document.getElementById("no11").style.display = "none";
		document.getElementById("us12").style.display = "block";
		document.getElementById("no12").style.display = "none";
		document.getElementById("toptxt_us").style.display = "block";
		document.getElementById("toptxt_no").style.display = "none";
		document.getElementById("bottomtxt_us").style.display = "block";
		document.getElementById("bottomtxt_no").style.display = "none";
		if (document.getElementById("lightbox") ) {		// cmp- strings in lightbox.js - showLightbox
			document.getElementById("taf_1").innerHTML = txtIntro_us	
			document.getElementById("NOTES").value = txtNotes_us;
			setCommonReferStrings("us")
			document.getElementById("langabb").value = "us"
		}
		gLangAbb = "us"
		createCookie("lang", "us", 365);
		//alert("switchLanguage, createCookie: us");
	} else {
		document.getElementById("linktranslate").innerHTML = "in English&nbsp;&nbsp;&nbsp;&nbsp;<img src='css/img/flg_us_16x13.gif'>";
		//document.getElementById("translate").className = "btntrans-us";
		document.getElementById("tag").innerHTML = "bare se - bare ren fotografi"
		document.getElementById("sharebtn_inner").innerHTML = "Del med venner"
		document.getElementById("refer").innerHTML = "&nbsp;&nbsp;Del med epost"
		document.getElementById("fb").innerHTML = "&nbsp;&nbsp;Del på Facebook"
		document.getElementById("twtr").innerHTML = "&nbsp;&nbsp;Del på Twitter"
		document.getElementById("gb").innerHTML = "&nbsp;&nbsp;Del på Google Buzz"
		document.getElementById("digg").innerHTML = "&nbsp;&nbsp;Del på Digg"
		document.getElementById("linkportal").href = "http://www.terjeenge.com/?labb=nor"
		document.getElementById("linkterjeenge").href = "http://www.terjeenge.com/?labb=nor"
		document.getElementById("us1").style.display = "none";
		document.getElementById("no1").style.display = "block";
		document.getElementById("us3").style.display = "none";
		document.getElementById("no3").style.display = "block";
		document.getElementById("us4").style.display = "none";
		document.getElementById("no4").style.display = "block";
		document.getElementById("us5").style.display = "none";
		document.getElementById("no5").style.display = "block";
		document.getElementById("us8").style.display = "none";
		document.getElementById("no8").style.display = "block";
		document.getElementById("us11").style.display = "none";
		document.getElementById("no11").style.display = "block";
		document.getElementById("us12").style.display = "none";
		document.getElementById("no12").style.display = "block";
		document.getElementById("toptxt_us").style.display = "none";
		document.getElementById("toptxt_no").style.display = "block";
		document.getElementById("bottomtxt_us").style.display = "none";
		document.getElementById("bottomtxt_no").style.display = "block";
		if (document.getElementById("lightbox") ) {	// cmp- strings in lightbox.js - showLightbox
			document.getElementById("taf_1").innerHTML = txtIntro_nor;
			document.getElementById("NOTES").value = txtNotes_nor;
			setCommonReferStrings("nor")
			document.getElementById("langabb").value = "nor"		// "no" will conflict with aNOtherimage ..
		}
		gLangAbb = "nor";
		//alert("switchLanguage, createCookie: nor");
		createCookie("lang", "nor", 365);
	}
}
function setCommonReferStrings (labb) {
	switch (labb) {
	case "nor":
		document.getElementById("taf_2").innerHTML = "ditt navn:"
		document.getElementById("taf_3").innerHTML = "din epost:"
		document.getElementById("taf_4").innerHTML = "mottagers navn:"
		document.getElementById("taf_5").innerHTML = "mottagers epost:"
		document.getElementById("taf_6").innerHTML = "din melding:<br>(max. 400 tegn)"
		document.getElementById("taf_7").innerHTML = "send en kopi til deg selv:";
		document.getElementById("taf_8").innerHTML = "#tegn igjen = <span id=\"numchars\"></span>"
		//document.getElementById("taf_submit").value = "Send melding";
		document.getElementById("taf_preview").value = "Forhåndsvis & send >>";
		//document.getElementById("taf_reset").value = "Nullstill"
		document.getElementById("taf_cancel").value = "Avbryt";
		document.getElementById("preview_edit").value = "<< Rediger melding";
		document.getElementById("preview_submit").value = "Send melding";
		document.getElementById("preview_edit_top").value = "<< Rediger melding";
		document.getElementById("preview_submit_top").value = "Send melding";
		document.getElementById("taf_privacy").innerHTML = "Ingen epost adresser vil bli lagret eller brukt.";
		document.getElementById("previewhead_txt").innerHTML = txtPreview_nor;
		break;
	default:
		document.getElementById("taf_2").innerHTML = "your name:"
		document.getElementById("taf_3").innerHTML = "your email:"
		document.getElementById("taf_4").innerHTML = "friends name:"
		document.getElementById("taf_5").innerHTML = "friends email:"
		document.getElementById("taf_6").innerHTML = "your message:<br>(max. 400 chars)";
		document.getElementById("taf_7").innerHTML = "cc yourself:";
		document.getElementById("taf_8").innerHTML = "#chars left = <span id=\"numchars\"></span>"
		//document.getElementById("taf_submit").value = "Send message";
		document.getElementById("taf_preview").value = "Preview & Send >>";
		//document.getElementById("taf_reset").value = "Reset"
		document.getElementById("taf_cancel").value = "Cancel";
		document.getElementById("preview_edit").value = "<< Edit message";
		document.getElementById("preview_submit").value = "Send message";
		document.getElementById("preview_edit_top").value = "<< Edit message";
		document.getElementById("preview_submit_top").value = "Send message";
		document.getElementById("taf_privacy").innerHTML = "Your privacy is respected: No email adresses will be stored or used.";
		document.getElementById("previewhead_txt").innerHTML = txtPreview_us;
		break;
	}
	charCounter(document.getElementById("NOTES"), 400);
}
function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}
function fbs_click() {
	hideAll();
	u=location.href;
	t=document.title;
	window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&amp;t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');
	return false;
}
function twtr_click() {
	hideAll();
	u=location.href;
	t=document.title;
	window.open('http://twitter.com/home?status=Currently enjoying '+encodeURIComponent(t)+' ' +encodeURIComponent(u),'sharer','toolbar=0,status=0,width=726,height=436');
	return false;
}
function googlebuzz_click() {
	hideAll();
	window.open('http://www.google.com/reader/link?url=http%3A%2F%2Fwww.barese.no&title=a%20book%20of%20real%20photography','sharer','toolbar=0,status=0,width=640,height=436');
	return false;
}
function digg_click() {
	hideAll();
	window.open('http://digg.com/submit?phase=2&url=http%3A%2F%2Fwww.barese.no&title=BARESES&bodytext=a%20book%20of%20real%20photography&topic=art','sharer','toolbar=0,status=0,width=640,height=436');
	return false;
}
