
var forte_rc = false;
var forte_rcSelected = false;
var forte_rcInterval = false;
var forte_rcTimeout = false;
var forte_rcColors = [
  "violet", 
  "bluedark",
  "blue",
  "green",
  "violet"
]
var forte_references = {};

$(function () {

  //
  // Forte carousel
  // 

  forte_rc = $(".frontpage-references");
  if (forte_rc.length)
  {
    forte_getReferences();

    // Default item
    if($('.frontpage-references').hasClass('fi')) {
    forte_references.push({
      "image_frontpage": '/files/forte/Headers/Globe-header-frontpage.jpg',
      "topic": 'Forte Netservices',
      "client_quote_1": '<h1 style="line-height: 1em;">Maailmanlaajuisesti.<br />Ympäri vuorokauden.</h1>'
    });
    } else if($('.frontpage-references').hasClass('ru')) {
    forte_references.push({
      "image_frontpage": '/files/forte/Headers/Globe-header-frontpage.jpg',
      "topic": 'Forte Netservices',
      "client_quote_1": '<h1 style="line-height: 1em;">Современные услуги.<br />Глобальные решения.</h1>'
    });
    } else {
    forte_references.push({
      "image_frontpage": '/files/forte/Headers/Globe-header-frontpage.jpg',
      "topic": 'Forte Netservices',
      "client_quote_1": '<h1 style="line-height: 1em;">Service at Heart.<br />Global in Reach.</h1>'
    });
    }

    forte_references.reverse();
    forte_rcInit();
    
    // Delayed start
    setTimeout( function () {
      forte_rcInterval = setInterval( function () { forte_rcUpdate() }, 8000);
    }, 2000);

    // Link hover
    forte_rc.find(".holders ul li").hover( 
      function () {
        clearInterval(forte_rcInterval);
        var id = parseInt($(this).attr("id").split("_")[1]);
        if (id != forte_rcSelected)
        {
          forte_rcUpdate(id);
        }
      },
      function () {}
    );

  }

	$('.nav li:first').css('background', 'none');
	$('.subnav:not(:last)').css('left', '0px');
	$('.subnav:last > .subnavtop').css('background', 'url(/files/forte/img/bg-nav-mid.png) repeat-y');
	$('.subnav:last').css('left', '');
	$('.subnav:last').css('right', '0px');



	$('.visual-holder:not(:has(div))').hide();

	$('.visual-inner:not(:has(img))').parent('.visual-holder').hide();

	$('.feedback').click(function() {
		$('.lightbox').toggle(function() {
			$('.lightbox').animate({
				'opacity' : '0.3'
			});
			$('.feedbackbox').fadeIn('fast');
		});
	});
	$('.closefeedback').click(function() {
		$('.lightbox').fadeOut(function() {
			$('.lightbox').css('opacity', '0');
		});
		$('.feedbackbox').hide();
	});
	
	$('.bigimageclose').live('mousedown', function() {
		$('.lightbox').fadeOut(function() {
			$('.lightbox').css('opacity', '0');
		});
		$('.bigimage').hide();
	});
	
	$('.smallimage').click(function() {
	
		var imgdesc = $(this).attr('alt');
		var bigimgurl = $(this).next('p').children('a').attr('href');
		var imglinktext = $(this).next('p').children('a').html();
		
		$('.bigimage').html('<img class="bigpic" src="' + bigimgurl + '" /><div class="bigimageclose">&nbsp;</div><table class="imgdesc"><tr><td class="imgdesctext">' + imgdesc + '</td><td class="imglink"><a href="' + bigimgurl + '" target="_blank">' + imglinktext + '</a></td></tr></table>');
		
		var img = $('.bigpic');
		var imageh = $('.bigimage');
		$(imageh).css('top', '-20px');
		$(imageh).css('left', '-20px');
		$(img).ready(function() {
		$(img).hide();
		setTimeout( function() {
			var imgheight = $(img).attr('height');
			var imgwidth = $(img).attr('width');
	
			if(imgheight == '') {
				imgheight = $(img).height();
			}
			if(imgwidth == '') {
				imgwidth = $(img).width();
			}
			var winheight = $(window).height();
			var winwidth = $(window).width();
			var maxheight = winheight-20;
			var maxwidth = winwidth-20;
			
			imgheight = Math.ceil(imgheight);
			imgwidth = Math.ceil(imgwidth);
			maxheight = Math.ceil(maxheight);
			maxwidth = Math.ceil(maxwidth);
			
			if((imgheight < winheight) || (imgwidth < winwidth)) {
				var newwidth = imgwidth;
				var newheight = imgheight;
			} else {
			if(imgheight > imgwidth) {
				var ratio = (imgwidth / imgheight);
				var newheight = maxheight;
				var newwidth = ratio * maxheight;
				$(img).height(maxheight);
				$(img).width(ratio * maxheight);
			} else {
				var ratio = (imgheight / imgwidth);
				var newheight = ratio * maxheight;
				var newwidth = maxheight;
				$(img).height(ratio * maxheight);
				$(img).width(maxheight);
			}
			
			if(newheight > winheight) {
				var ratio = (imgwidth / imgheight);
				var newheight = winheight-20;
				var newwidth = ratio * newheight;
				$(img).height(newheight);
				$(img).width(ratio * newheight);
				$(img).css('height', newheight);
				$(img).css('width', ratio * newwidth);
			}
	
			if(newwidth > winwidth) {
				var ratio = (imgheight / imgwidth);
				var newheight = ratio * winwidth;
				var newwidth = winwidth-20;
				$(img).height(ratio * newwidth);
				$(img).width(newwidth);
				$(img).css('height', ratio * newheight);
				$(img).css('width', newwidth);
			}}
			
			newheight = Math.ceil(newheight);
			newwidth = Math.ceil(newwidth);
			
			var margintop;
			margintop = winheight - newheight;
			margintop = margintop / 2;
			
			var marginleft;
			marginleft = winwidth - newwidth;
			marginleft = marginleft / 2;
	
			margintop = Math.ceil(margintop);
			marginleft = Math.ceil(marginleft);
	
			$('.imgdesc').css('width', newwidth);
			$('.imgdesctext').css('width', newwidth-100);
			//alert($('.imgdesc').css('width') + ' ' + newwidth);
			//alert('newheight : ' + newheight + ', newwidth : ' + newwidth + ',winwidth : ' + winwidth + ', winheight : ' + winheight + ', margintop : ' + margintop + ', marginleft : ' + marginleft + ', imgheight : ' + imgheight + ', imgwidth : ' + imgwidth);
			
			$(imageh).css('top', margintop);
			$(imageh).css('left', marginleft);
			
			$(img).fadeIn('fast');
				
		}, 100);
		

			$('.lightbox').toggle(function() {
				$('.lightbox').animate({
					'opacity' : '0.4'
				});
				$(imageh).fadeIn('fast');
			});


		});
	});
	
  $("form[name='service_select'] select").change( function () {
    var service = $(this).find(":selected").val();
    if (service) service = "service="+ service;
    document.location.href = "/references?"+ service;
  });
  
  $("form[name='service_select-ru'] select").change( function () {
    var service = $(this).find(":selected").val();
    if (service) service = "service="+ service;
    document.location.href = "/references-ru?"+ service;
});
  $("form[name='service_select_fi'] select").change( function () {
    var service = $(this).find(":selected").val();
    if (service) service = "palvelu="+ service;
    document.location.href = "/referenssit/"+ service;
});

});


function forte_rcInit ()
{
  forte_rcSelected = i = forte_references.length - 1;
  $.each(forte_references, function (n, reference) {

    // Links
    if($('.frontpage-references').hasClass('ru')) {
    forte_rc.find(".holders ul")
      .prepend(
        $(document.createElement("li"))
          .attr("id", "holder_"+ i)
          .addClass(forte_rcColors[ i ])
          .addClass((n == 0 ? "selected" : ""))
          .append(
            $(document.createElement("a"))
              .text(reference["topic"].substring(0, 21))
              .attr("href", "/references-ru/reference-ru?id="+ reference["pid"])
          )
      );
    } else if($('.frontpage-references').hasClass('fi')) {
    forte_rc.find(".holders ul")
      .prepend(
        $(document.createElement("li"))
          .attr("id", "holder_"+ i)
          .addClass(forte_rcColors[ i ])
          .addClass((n == 0 ? "selected" : ""))
          .append(
            $(document.createElement("a"))
              .text(reference["topic"].substring(0, 21))
              .attr("href", "/referenssit/referenssi?id="+ reference["pid"])
          )
      );
    } else {
    forte_rc.find(".holders ul")
      .prepend(
        $(document.createElement("li"))
          .attr("id", "holder_"+ i)
          .addClass(forte_rcColors[ i ])
          .addClass((n == 0 ? "selected" : ""))
          .append(
            $(document.createElement("a"))
              .text(reference["topic"].substring(0, 21))
              .attr("href", "/references/reference?id="+ reference["pid"])
          )
      );
    }
$('#holder_4 > a').attr('href', '');
    // Images
    forte_rc.find(".visual")
      .prepend(
        $(document.createElement("img"))
          .attr("id", "visual_"+ i)
          .attr("src", reference["image_frontpage"])
          .addClass((n == 0 ? "selected" : ""))
          .css("display", (n == 0 ? "block" : "none"))
      );

    // Texts
    forte_rc.find(".frames")
      .prepend(
        $(document.createElement("blockquote"))
          .attr("id", "frame_"+ i)
          .html( reference["client_quote_1"])
          .addClass((n == 0 ? "selected" : ""))
          .css("display", (n == 0 ? "block" : "none"))
      );

    i--;

  });
}


function forte_rcUpdate (num)
{
  if (!num) num = forte_rcSelected - 1;
  else if (num && num == forte_rcSelected) return;
  if (num < 0) num = forte_references.length - 1;
  forte_rcSelected = num;
  
  // Links
  forte_rc.find(".holders li").removeClass("selected");
  forte_rc.find(".holders #holder_"+ num +"").addClass("selected");

  // Images
  var oldImg = forte_rc.find(".visual .selected");
  var newImg = forte_rc.find(".visual").find("#visual_"+ num);

  // Texts
  var oldTxt = forte_rc.find(".frames .selected");
  var newTxt = forte_rc.find(".frames").find("#frame_"+ num);

  newImg.addClass("selected");
  newTxt.addClass("selected");

  oldImg.removeClass("selected");
  oldTxt.removeClass("selected");
  
  $(newImg).css({"opacity": 0.10, "z-index": 1}).show();
  $(oldImg).stop().animate({ opacity: 0 }, 750, '', function () {
    $(oldTxt).hide();
    $('.frames > blockquote').hide();
    $('.frames > .selected').fadeIn(1000);
    //$(newTxt).fadeIn(1000);
    //$(newImg).stop().animate({ opacity: 1 }, 750).css({"z-index": 2});
    $('.visual > .selected').stop().animate({ opacity: 1 }, 750).css({"z-index": 2});
    $(oldImg).hide();
  });

  // Cufon.refresh();
}



function forte_getReferences ()
{
if($('.frontpage-references').hasClass('fi')) {
  $.ajax({
    "type": "GET",
    "url": "/fi-references.json",
    "async": false,
    "cache": true,
    "dataType": "json",
    "success": function (json)
    {
      forte_references = json.result;
    }
  });
	} else if($('.frontpage-references').hasClass('ru')) {
  $.ajax({
    "type": "GET",
    "url": "/ru-references.json",
    "async": false,
    "cache": true,
    "dataType": "json",
    "success": function (json)
    {
      forte_references = json.result;
    }
  });
	} else {
  $.ajax({
    "type": "GET",
    "url": "/references.json",
    "async": false,
    "cache": true,
    "dataType": "json",
    "success": function (json)
    {
      forte_references = json.result;
    }
  });
  }
}
