$(document).ready(function(){ 


	/*  =====================================
		- OPEN EXTERNAL LINKS IN NEW WINDOW -
	*/
	$('a.external').click( function(){
		window.open(this.href);
		return false;
	});
	

	/*  ============
		- TOOLTIPS -
	*/
	$('.channels > ul > li > ul > li').each( function(){
		tooltip(this, 22, 42);
	});
	$('#boxes-list > ul > li').each( function(){
		tooltip(this, 29, 170);
	});
	$('#extras-list > ul > li').each( function(){
		tooltip(this, 19, 260);
	});
	
	
	/*  ===============
		- BREADCRUMBS - 
	*/
	$('#breadcrumbs li:lt(2)').each( function(index){
		var gotoPage   = index + 1;
		var activePage = 1; //parseInt($.cookie('the_step'));
		$(this).mouseover( function(){
			$(this).addClass('over');	
		}).mouseout( function(){
			$(this).removeClass('over');
		}).click( function(){
			changeSteps(gotoPage);
		}).addClass('links');
	});
	
					
	/*  ========================
		- CREATE CHANNEL LINKS -
	*/
	$('#packages-list > ul > li').each( function(index){
		var tempText = $(this).find('.channel-info > span.link').html(); // GET AMOUNT OF CHANNELS
		$(this).find('.channel-info > span.link').remove(); // REMOVE CHANNELS
		$(this).find('.channel-info').prepend(' <a href="#show-channels">' + tempText + '</a>'); // CREATE LINK WITH CHANNELS
		$(this).find('.channel-info a').toggle( function(){
			//$(this).parent().parent().find('.channels').slideDown(200);
			$(this).parent().parent().find('.channels').show();
			return false;
		}, function(){
			//$(this).parent().parent().find('.channels').slideUp(200);
			$(this).parent().parent().find('.channels').hide();
			return false;
		});
	});
	
		
	/*  =================================
		- CREATE TOGGLE ALL EXTRAS LINK -
	
	$('#extras-list > h2').append('<span><a href="#toggle-all-extras">Valitse kaikki</a></span>').find('a').toggle( function(){
		$(this).parent().parent().parent().find('input').each( function(){
			if( !$(this).attr('disabled') ){
				$(this).attr('checked', true);
			}
		});
		$(this).html('Kumoa kaikki valinnat');
		var package = $('#' + $('#packages-list input:checked').attr('id'));
		var box     = $('#' + $('#boxes-list input:checked').attr('id'));
		updateCart(package, box);
		return false;
	}, function(){
		$(this).parent().parent().parent().find('input').each( function(){
			$(this).attr('checked', false);
		});
		$(this).html('Valitse kaikki');
		var package = $('#' + $('#packages-list input:checked').attr('id'));
		var box     = $('#' + $('#boxes-list input:checked').attr('id'));
		updateCart(package, box);
		return false;
	});
	*/
	
	/*  ==========================
		- SHOW ALL PACKAGES LINK -
	
	 $('#packages-list > h2').append('<span><a href="#show-packages">Visa fler paket</a></span>').find('a').toggle( function(){
		$('#packages-list > ul > li:gt(2)').fadeIn(500);
		$(this).parent().find('a').html('Visa färre paket');		
		return false;
	}, function(){
		$('#packages-list > ul > li:gt(2)').fadeOut(200);
		$(this).parent().find('a').html('Visa fler paket');	
		return false;
	});*/
	
	
	/*  =====================================
		- CREATE NEXT/PREVIOUS PAGE BUTTONS -
	*/
	$('#step1 .packages h2').append('<input type="button" value="Jatka tilausta" name="page2" id="page2-top" class="page-nav  {\'goto\':\'2\'}" />');
	$('#step1').append('<fieldset class="buttons"><input type="button" value="Jatka tilausta" name="page2" id="page2-bot" class="page-nav {\'goto\':\'2\'}" /></fieldset>');
	
	//$('#step2 .boxes h2').append('<input type="button" value="Jatka tilausta" name="page3" id="page3-top" class="page-nav {\'goto\':\'3\'}" />');
	//$('#step2').append('<fieldset class="buttons"><input type="button" value="Jatka tilausta" name="page3" id="page3-bot" class="page-nav {\'goto\':\'3\'}" /><a href="#back" class="page-nav {\'goto\':\'1\'}">Takaisin</a></fieldset>');
	
	$('#step2').append('<fieldset class="buttons"><input type="button" value="Jatka vahvistukseen" name="page3" id="page3-bot" class="validate" /><a href="#back" class="page-nav {\'goto\':\'1\'}">Takaisin</a></fieldset>');
	//$('#step3').prepend('<fieldset class="buttons top"><input type="button" value="Jatka vahvistukseen" name="page4" id="page4-top"  class="page-nav {\'goto\':\'3\'}" /><a href="#back" class="page-nav {\'goto\':\'1\'}">Takaisin</a></fieldset>');
	
	$('#step3').append('<fieldset class="buttons"><input type="submit" value="Lähetä tilaus" name="submit" /><a href="#back" class="page-nav {\'goto\':\'2\'}">Takaisin</a></fieldset>');
	$('#step3').append('<fieldset class="buttons print-page"><input type="button" name="print" id="print-page" value="Tulosta sivu" /></fieldset>').parent().find('.print-page').hide();
	
	
	$('.page-nav').click( function(){
		changeSteps( $(this).metadata().goto );
		return false;
	});
	$('#step2 input:button').click( function(){
		populateStep3();
	});
	
	
	/*  ==================================
		- TOGGLE RIGHT COLUMN ORDER INFO -
	*/
	$('#general-info li').each( function(){
		var tempText = $(this).find('h4').html();
		$(this).find('h4').remove();
		$(this).prepend('<a href="#show-info">' + tempText + '</a>').find('a').toggle( function(){
			$(this).parent().find('a').html(tempText);
			$(this).parent().find('p').fadeIn(200);
			OmnitureFaq(tempText);
			return false;	
		}, function(){
			$(this).parent().find('a').html(tempText);
			$(this).parent().find('p').fadeOut(200);
			return false;
		});
	});

	
	/*  ======================
		- CLICK ON A PACKAGE -
	*/
	$('#packages-list input:not(:button)').click( function(){ 
		var package = $(this).attr('id');
		var box     = $('#boxes-list input:checked').attr('id');
		updatePackage(package, box);
	});
	
	
	/*  ==================
		- CLICK ON A BOX -
	*/
	$('#boxes-list input').click( function(){ 
		var package = $('#packages-list input:checked').attr('id');
		var box     = $(this).attr('id');
		updatePackage(package, box);
		
	});
	
	
	/*  ===================
		- CLICK ON EXTRAS -
	*/
	$('#extras-list input').click( function(){
		var package = $('#' + $('#packages-list input:checked').attr('id'));
		var box     = $('#' + $('#boxes-list input:checked').attr('id'));
		
		var extraPack	= $('#packages-list input:checked').attr('id');
		var extraBox 	= $('#boxes-list input:checked').attr('id');
		//updatePackage with extraPack & extraBox added for different boxprices for extras to work (MTV3)
		updatePackage(extraPack, extraBox);
		updateBox(package, box);
		updateCart(package, box); 
	});
		
	
	/*  ==============
		- VALIDATION - 
	*/
	$('.validate').click( function(){
		
		var inputArr = ['#personalfirstname', '#personallastname', '#personalsecurityno', '#personalstreetaddress', '#personalareacode', '#personalarea', '#personaltelephone', '#personalemail', '#personalaccept'];
		var validArr = [];
		for (i in inputArr){
			validArr.push( $(inputArr[i]).valid() )
		}
		if ( findArr('0', validArr) == -1 ){
			changeSteps(3);
		}
	});
	
	$('#order-form').validate({
		rules: {
			personalsecurityno: {
				minlength: 11
			},
			personalareacode: {
				number: true,
				minlength: 5
			},			
			personaltelephone: {
				number: true				
			}
		},
		messages: {
			personalfirstname: 'Kirjoita etunimi',
			personallastname: 'Kirjoita sukunimi',
			personalsecurityno: 'Anna henkilötunnus',
			personalstreetaddress: 'Anna lähiosoite',
			personalareacode: 'Ainoastaan numeroita',
			personalarea: 'Anna postitoimipakka',
			personaltelephone: 'Täytä puhelinnumero',
			personalemail: 'Anna sähköpostiosoite',
			personalaccept: 'Hyväksy ehdot'
		},
		errorElement: 'span',
		submitHandler: function(form) {
			jQuery(form).ajaxSubmit({
				target: "#success"
			});
			$('#success').fadeIn(200);
			$('#personal-confirm h2').html('Tilauksesi');
			$('#personal-confirm h4 a').remove();
			$('fieldset.buttons:not(.print-page)').remove();
			$('#breadcrumbs li:lt(2)').unbind('mouseover').unbind('mouseout').unbind('click');
			$('fieldset.print-page').show();
				
			
		}
	});
	
	
	/*  ========================================
		- CHECK IF FIELD IS VALID WHILE TYPING -
	*/
	$('#order-form input').blur( function(){
		if ( $(this).val().length > 0 ){
			if ( $(this).valid() ){
				$(this).addClass('valid');
			} else {
				$(this).removeClass('valid');
			};
		} else {
			$(this).removeClass('valid');
		};
	});
		
	
	/*  =====================================
		- GET AREA AFTER INSERTING AREACODE -
	
	$('#personalareacode').blur( function(){
		$('#personal-info #personalarea').val( getArea($(this).val()) );
	});*/
	
	
	/*  ================
		- PRINT BUTTON -
	*/	
	$('.print-page :button').bind('click', function(){
		window.print();
    });
	
	
	/* 	========
		- INIT -
	*/
	init();
	
	
});


/*  ========
	- INIT -
*/
function init(){
	
	$('#packages-list table, .no-js').remove();
	$('#breadcrumbs, #cart').css({'display':'block'});
	$('.channels, #packages-list > ul > li:gt(2), #general-info p').hide();
	$('.boxes, #personal-info h2, #personal-confirm h2, #general-info').addClass('js')
	$('a').click( function(){ $(this).blur() });
	
	// ADD ATTRIBUTE SUM FOR EACH PACKAGE
	$('#packages-list > ul > li').each( function(){
		var thisPackSum = $(this).find('input').metadata().sum;
		$(this).find('label > span').attr('sum', thisPackSum);
	});
		
	/*if ($.jqURL.get('package') != null) {
		var package = $.jqURL.get('package');
	} else {
		var package = 'package-familjepaketet';
	}
	
	if ($.jqURL.get('box') != null) {
		var box = $.jqURL.get('box');
	} else {
		var box = 'box-hdbox-rec';
	}*/
	
	//Get package setting from url
 var url = window.location.href;
 var rurl = document.referrer;
 //alert(rurl);
 //document.write(url);
 if(url.indexOf('?')!=-1)
 {
  var splitUrl = url.split("?");
 }
 else if(rurl.indexOf('?')!=-1)
 {
  var splitUrl = rurl.split("?");
 }
 else
 {
 var splitUrl = new Array();
 splitUrl[0] = "0";
 splitUrl[1] = "0";
 }
 
 //if(splitUrl[1].length <3)
 
 if ($.jqURL.get('package') != null) {
  var package = $.jqURL.get('package');
 }
 else if(splitUrl[1].length>=3)
 { 
  if(splitUrl[1].substring(0,1)==1)
  {
   var package = 'package-familjepaketet-total';
  }
  else if(splitUrl[1].substring(1,2)==1)
  {
   var package = 'package-familjepaketet';
  }
  else if(splitUrl[1].substring(2,3)==1)
  {
   var package = 'package-lokalpaketet';
  }
 }
  else 
  {
   var package = 'package-familjepaketet';
  }
 
 /*if ($.jqURL.get('package') != null) {
  var package = $.jqURL.get('package');
 } else {
  var package = 'package-familjepaketet';
 }*/
 if ($.jqURL.get('box') != null) {
  var box = $.jqURL.get('box');
 }
 else if(splitUrl[1].length>=6)
 {
  if(splitUrl[1].substring(3,4)==1)
  {
   var box = 'box-hdbox-rec';
  }
  else if(splitUrl[1].substring(4,5)==1)
  {
   var box = 'box-hdbox';
  }
  else if(splitUrl[1].substring(5,6)==1)
  {
   var box = 'box-standard';
  }
 }
 else {
  var box = 'box-hdbox-rec';
 }
 
 //alert(splitUrl[1].substring(0,2));
 /*
 if ($.jqURL.get('box') != null) {
  var box = $.jqURL.get('box');
 } else {
  var box = 'box-hdbox-rec';
 }*/
 
 if(splitUrl[1].substring(6,7)==1)
 {
  $('#extra-dr1').attr('checked', true);
 }
if(splitUrl[1].substring(7,8)==1)
 {
  $('#extra-dr2').attr('checked', true);
 }
 if(splitUrl[1].substring(8,9)==1)
 {
  $('#extra-hustlertv').attr('checked', true);
 }

	
	if ($.jqURL.get('step') != null) {
		var step = $.jqURL.get('step');
	} else {
		var step = 1;
	}
	
	// SHOW HIDE PACKAGES DEPENDING ON WHICH PACKAGE IS SELECTED
	if (package == 'package-canal-sport' || package == 'package-canal-film' || package == 'package-canal-total' || package == 'package-familjepaketet-sport' || package == 'package-familjepaketet-film' ){
		$('#packages-list > h2 span').remove();
		$('#packages-list > ul > li:gt(2)').fadeIn(100);
	}
	
	updatePackage(package, box);
	changeSteps(step);
	
}


/*  ======================
	- CHANGE STEPS/PAGES -
*/
function changeSteps(step) {
	$('#step1, #step2, #step3').hide();
	$('#step' + step).show();
	//$('html, body').animate( {scrollTop:0}, 300 );
	//$('html, body', top.document).animate( {scrollTop:0} );
	var activeBreadCrumb = parseInt(step) - 1;
	$('#breadcrumbs li').removeClass('active');
	$('#breadcrumbs li').each( function(index){
		if(activeBreadCrumb == index){
			$(this).addClass('active');	
		}
	});
	
	
		/*Google Analytics - GetItRight*/
	if (step == '1')
	{
	GetItRight('/tilausputki_satelliitti/vaihe_1');
	OmnitureTrack('Shop - 1. Valitse paketti','event12');
	OmnitureTrack('Shop - 2. Valitse digiboksi','event13');
	}
	/*if (step == '2')
	{
	GetItRight('/tilausputki_satelliitti/vaihe_2');
	OmnitureTrack('Shop - 2. Valitse digiboksi','event13');
	}*/
	if (step == '2')
	{
	GetItRight('/tilausputki_satelliitti/vaihe_3');
	OmnitureTrack('Shop - 3. Yhteystiedot','event14');
	}
	if (step == '3')
	{
	GetItRight('/tilausputki_satelliitti/vaihe_4');
	OmnitureTrack('Shop - 4. Yhteenveto','event15');
	}
	/*End of GetItRight*/
}


function GetItRight(value)
{
try {
_uacct = "UA-4597523-1";
_udn=".canaldigital.fi";
urchinTracker(value);
} catch(err) {}
}
function OmnitureTrack(pageName, trackEvent)
{
//alert(pageName + trackEvent);
//s.pageName = 'Shop - 2. Valitse digiboksi'
s.pagename = pageName;
s.server = 'www.canaldigital.fi'
s.channel = 'Shop'
s.hier1='Canal Digital|Shop|'+pageName;//Shop -   2. Valitse digiboksi';
s.events=trackEvent;
//s.events='event13';
/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
s_code=s.t(); if(s_code) document.write(s_code);
//alert("tsup:" + s_code);

}
function OmnitureFaq(prop)
{
s.prop22 = prop;
/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
s_code=s.t(); if(s_code) document.write(s_code);
//alert("tsup:" + prop);


}




/*  ============
	- TOOLTIPS -
*/
function tooltip(element, top, left){
	var desc = '#' + $(element).metadata().tooltip + '-desc';
	$(element).bind('mouseenter', function(){
		var tempLeft = $(element).position().left;
		var tempTop  = $(element).position().top;
		$(desc).css('top', tempTop + top).css('left', tempLeft + left).fadeIn(100);
	}).bind('mouseleave', function(){
		$(desc).fadeOut(100);
	});
}


/*  ==================
	- UPDATE PACKAGE -
*/
function updatePackage(package, box) {
	
	var selectedPack     = $('#' + package);
	var selectedBox		 = $('#' + box);
	var packName         = selectedPack.val();
	var packValue        = selectedPack.metadata().sum;
	var packExtrasArr    = selectedPack.metadata().extras.split(',');
	var packExtrasSumArr = selectedPack.metadata().extrasSum.split(',');
	var extrasArr        = ['#extra-dr1', '#extra-dr2', '#extra-tv4sf', '#extra-sportpaketet', '#extra-hustlertv'];
	var nextIndex        = 0;
	
	$('#packages-list > ul > li').removeClass('active').removeClass('after-active'); // REMOVE ACTIVE CLASS FROM PACKAGES
	$(selectedPack).attr('checked', 'checked').parent().addClass('active'); // ADD ACTIVE CLASS TO PACKAGE
	
	$('#packages-list > ul > li').each(function(index) {
		if ($(this).hasClass('active')){
			nextIndex = index + 1;
		}
	}); 
	$('#packages-list > ul > li:eq(' + nextIndex + ')').addClass('after-active');
			
	// DIM INACTIVE EXTRAS & SET EXTRAS PRICES
	for (i in extrasArr) {
			
		if ( packExtrasArr[i] == '0' ) {
			$(extrasArr[i]).attr('disabled','disabled').attr('checked', false).parent().animate( {opacity: '0.3'}, 200);
		} else {
			$(extrasArr[i]).attr('disabled','').parent().animate( {opacity: '1'}, 200);
		}
		$(extrasArr[i]).parent().find('label span').attr('sum', packExtrasSumArr[i]).html( formatCurrency(packExtrasSumArr[i]) + '/kk' );
	
	}
	//Disable Urhotv if mtv3 is selected
/*	if ($('#extras-list > ul > li > input:checkbox:checked').val()=='MTV3 Kanavapaketti')
		$(extrasArr[1]).attr('disabled','disabled').attr('checked', false).parent().animate( {opacity: '0.3'}, 200);
	//Disable MTV3 if urhotv is selected
	if ($('#extras-list > ul > li > input:checkbox:checked').val()=='URHOtv')
		$(extrasArr[0]).attr('disabled','disabled').attr('checked', false).parent().animate( {opacity: '0.3'}, 200);
	*/
	
	updateBox(selectedPack, selectedBox);
		
}

/*  ================
	- UPDATE BOXES -
*/
function updateBox(package, box) {
	
	var selectedPackage = package;
	var selectedBox     = box; // GET ACTIVE BOX
	
	$('.boxes li').removeClass('active'); // REMOVE ALL ACTIVE BOXES
	selectedBox.attr('checked', 'checked').parent('li').addClass('active');
		
	updateBoxPrice(selectedPackage, selectedBox);
	
}


/*  ====================
	- UPDATE BOXPRICES -
*/
function updateBoxPrice(package, box) {
	
	var selectedPack  = package;
	var selectedBox   = box;
	var boxPackSum    = selectedPack.metadata().boxSum;
 	var boxRealSumArr = ['99', '149', '349'];
 	var extrasbox     = $('#extras-list');
	
	
 	$('#boxes-list > ul > li').each( function(index){
 		var boxSumArr = $(this).find('input').metadata().sum.split(',');
 		var boxSum    = boxSumArr[boxPackSum];
		//if ($('#extras-list > ul > li > input:checkbox:checked')).val()!=-1)//'MTV3 Kanavapaketti')//|| $('#extras-list > ul > li > input:checkbox:checked').val()!='URHOtv')
		//if($('#extras-list').find('input:checkbox:checked').length == 0)
		if ($('#extras-list').find('input:checkbox:checked').val()!='MTV3 Kanavapaketti')//'MTV3 Kanavapaketti')
		{
		//boxPackSum = '3'; //Take 4th sum from boxes sum array if MTV3 is selected
		boxSum    = boxSumArr[3];
		 		$(this).find('label span').attr('sum', boxSum).html(formatCurrency(boxSum)).append(' <del>norm ' + formatCurrency(boxRealSumArr[index]) + '</del>');
		} else	{ 
		 		$(this).find('label span').attr('sum', boxSum).html(boxSumArr[0]).append(' <del>norm ' + formatCurrency(boxRealSumArr[index]) + '</del>');
		}
				
		
 		if (boxSum != boxRealSumArr[index]) {
 			$(this).find('label span').addClass('red').find('del').show();
 		} else {
 			$(this).find('label span').removeClass('red').find('del').hide();
 		}
 	
 	});
 	
 	updateCart(selectedPack, selectedBox);
 	
}


/*  ===================
	- SEARCH IN ARRAY -
*/
function findArr(string, arr) {
   	var arrString = arr.toString();
   	return arrString.indexOf(string);
}


/*  ===============
	- UPDATE CART -
*/
function updateCart(package, box) {
	
	var selectedPack          = package;
	var selectedPackName      = selectedPack.val();
	var selectedPackSum       = selectedPack.parent().find('label > span').attr('sum');
	var selectedPackExtrasArr = selectedPack.metadata().extras.split(',');
	var selectedPackCampaign  = selectedPack.metadata().campaign;
	var selectedBox           = box;
	var selectedBoxName       = selectedBox.val();
	//var selectedBoxSum        = selectedBox.parent().find('label > span').attr('sum');
	var realBoxValueArr       = selectedBox.metadata().sum.split(',')
	var cart                  = $('#cart');
	var cartPackage           = cart.find('#cart-package');
	var cartPackageName       = cartPackage.find('p.name').html();
	var cartBox               = cart.find('#cart-box');
	var cartBoxName           = cartBox.find('p.name').html();
	var cartExtras            = cart.find('#cart-extras li');
	var extras                = $('#extras-list');
	var cartTotalStartupSum   = cart.find('#total-onetime p.sum').attr('sum');
	var cartTotalMonthSum     = cart.find('#total-month p.sum').attr('sum');
	var totalMonthSum         = 0;
	var totalStartupSum       = 0;
	var cartExtrasName        = '';
	var extrasPayment		= '';
	
	if (extras.find('input:checkbox:checked').length != 0 && selectedBox.val() == 'HD-digiboksi')
	var selectedBoxSum        = 10;
	if (extras.find('input:checkbox:checked').length == 0 && selectedBox.val() == 'HD-digiboksi')
	var selectedBoxSum        = 10;
	if (extras.find('input:checkbox:checked').length != 0 && selectedBox.val() == 'HD Combo')
	var selectedBoxSum        = 99;//selectedBox.parent().find('label > span').attr('sum');
	if (extras.find('input:checkbox:checked').length == 0 && selectedBox.val() == 'HD Combo')
	var selectedBoxSum        = 99;//149;
	if (extras.find('input:checkbox:checked').length != 0 && selectedBox.val() == 'HD PVR')
	var selectedBoxSum        = 199;//selectedBox.parent().find('label > span').attr('sum');
	if (extras.find('input:checkbox:checked').length == 0 && selectedBox.val() == 'HD PVR')
	var selectedBoxSum        = 199;//349;
	 
	 
	 
	 //+ $('#extras-list > ul > li > input:checkbox:checked').val()
	
	// UPDATE PACKAGE IN CART
	//if ((cartPackageName != selectedPackName && $('#extras-list > ul > li > input:checkbox:checked').val()) || (cartPackageName == selectedPackName && $('#extras-list > ul > li > input:checkbox:checked').val())) {
	/*if ((cartPackageName != selectedPackName && $('#extras-list').find('input:checkbox:checked').val()=='MTV3 Kanavapaketti') || (cartPackageName == selectedPackName && $('#extras-list').find('input:checkbox:checked').val()=='MTV3 Kanavapaketti')) 
	{
	selectedPackSum = parseFloat(selectedPackSum) + 8;
	cartPackage.find('p.name').html(selectedPackName +" + "+ $('#extras-list > ul > li > input:checkbox:checked').val()).parent().find('p.sum').html( formatCurrency(selectedPackSum) + '/kk' ).attr('sum', selectedPackSum).addClass('active');
	
	}
	else*/ if (cartPackageName != selectedPackName) {
		cartPackage.find('p.name').html(selectedPackName).parent().find('p.sum').html( formatCurrency(selectedPackSum) + '/kk' ).attr('sum', selectedPackSum).addClass('active');
		animateCart(cartPackage);
	}
	
	// UPDATE BOX IN CART
	if ( realBoxValueArr[2] !=  selectedBoxSum) {
		if (cartBoxName != selectedBoxName) {
			//cartBox.find('p.name').addClass('red').html(selectedBoxName).append(' <span>(norm ' + formatCurrency(realBoxValueArr[2]) + ')</span>' ).parent().find('p.sum').addClass('red').html( formatCurrency(selectedBoxSum) ).attr('sum', selectedBoxSum).addClass('active');
			cartBox.find('p.name').html(selectedBoxName).parent().find('p.sum').html( formatCurrency(selectedBoxSum) ).attr('sum', selectedBoxSum).addClass('active');
			animateCart(cartBox);
		} else {
			cartBox.find('p.name').html(selectedBoxName).parent().find('p.sum').html( formatCurrency(selectedBoxSum) ).attr('sum', selectedBoxSum).addClass('active');
		}
	} else {
		if (cartBoxName != selectedBoxName) {
			cartBox.find('p.name').html(selectedBoxName).parent().find('p.sum').html( formatCurrency(selectedBoxSum) ).attr('sum', selectedBoxSum).addClass('active');
			animateCart(cartBox);
		} else {
			cartBox.find('p.name').html(selectedBoxName).parent().find('p.sum').html( formatCurrency(selectedBoxSum) ).attr('sum', selectedBoxSum).addClass('active');
		}
	}
		
	// GET ACTIVE EXTRAS AND UPDATE EXTRAS IN CART
	if ( extras.find('input:checkbox:checked').length != 0 ){
		$('#cart-extras').show();
		extras.find('input:checkbox').each( function(){
			var extrasId  = $(this).parent().attr('id');
			var cartId    = $('#cart-' + extrasId);
			var extrasSum = $(this).parent().find('span').attr('sum');
			if ($(this).attr('checked') == true) {
				var extra = cartId.show().find('p.sum');
				extra.attr('sum', extrasSum).html( formatCurrency(extrasSum) )
				if (!extra.hasClass('active')) {
					extra.addClass('active');
					animateCart(cartId);
				}
				cartExtrasName += cartId.show().find('p.name').html() + ', ';	
			} else {
				cartId.hide().find('p.sum').removeClass('active');
			}
		});
	} else {
		extras.find('input:checkbox').each( function(){
			var extrasId  = $(this).parent().attr('id');
			var cartId    = $('#cart-' + extrasId);
			cartId.hide().find('p.sum').removeClass('active');
		});
		$('#cart-extras').hide();
	}
	
	if ( cartExtrasName != '' ){
		$('#confirm-extras span.name').html( cartExtrasName.slice(0, -2) );
	} else {
		$('#confirm-extras span.name').html('<i>Ei lisäpalveluja valittuna</i>');
	}
	
	
	// GET CART REMAINING AND CART CAMPAIGN
	cart.find('#cart-remaining li').each( function(){
		var sum = $(this).find('p.sum').metadata().sum;
		$(this).find('p.sum').attr('sum', sum).addClass('active');
	});	
	cart.find('#cart-campaign li').each( function(){
		if (selectedPackCampaign == 'true') {
			var sum = $(this).find('p.sum').metadata().sum;
			$(this).find('p.sum').attr('sum', sum).addClass('active');
			$(this).parent().parent().show();
		} else {
			$(this).find('p.sum').attr('sum', '0').removeClass('active');
			$(this).parent().parent().hide();
		}		
	});
	cart.find('#cart-mtv3-campaign li').each( function(){
		if ($('#extras-list').find('input:checkbox:checked').val()=='MTV3 Kanavapaketti') {
			var sum = $(this).find('p.sum').metadata().sum;
			$(this).find('p.sum').attr('sum', sum).addClass('active');
			$(this).parent().parent().show();
		} else {
			$(this).find('p.sum').attr('sum', '0').removeClass('active');
			$(this).parent().parent().hide();
		}		
	});
	
	// GET TOTAL MONTH SUM 
	cart.find('li p.month.active').each( function(){
		totalMonthSum += parseFloat($(this).attr('sum'));
	});
	if ( cartTotalMonthSum != totalMonthSum ){
		cart.find('#total-month p.sum').attr('sum', totalMonthSum).html( formatCurrency(totalMonthSum) + '/kk' );
		animateCart(cart.find('#total-month'));
	}
	
	// GET TOTAL STARTUP SUM
	cart.find('li p.one-time.active').each( function(){
		totalStartupSum += parseInt($(this).attr('sum'));
	});
	
	if ( cartTotalStartupSum != totalStartupSum ){
		cart.find('#total-onetime p.sum').attr('sum', totalStartupSum).html( formatCurrency(totalStartupSum) );
		animateCart(cart.find('#total-onetime'));
	}
		
}


/*  =========================
	- GET FINNISH AREA CODE -
*/
function getArea(areacode){
	var areaCodes = ['02100>02980', '10820>10960', '00007>00990',  '12050>12060', '12061>12079', '12130>12134',  '12135>12177', '12231>12266', '12332>12373', '12430>12476', '12530>12574', '12630>12679', '12730>12761', '12830>12839', '12841>12848', '12862>12869', '12930>12955', '13025>13025', '13033>13033', '13034>13034', '13036>13036', '13037>13037', '13038>13038', '13039>13039', '13040>13040', '13042>13042', '13043>13043', '13054>13054', '13055>13055', '13056>13056', '13131>13149', '13150>13150',    '13152>13152',  '13153>13153', '13155>13155', '13156>13173', '13230>13252', '13331>13349',  '13431>13444', '13460>13469', '13530>13569', '13570>13570', '13637>13646', '13647>13647', '13648>13648', '13649>13654', '13659>13659', '13660>13665', '13666>13675', '13691>13691', '13731>13742',   '13754>13757', '13791>13791',   '13792>13793', '13794>13794',   '13830>13840', '13930>13990', '14130>14169', '14170>14173', '14175>14175',   '14191>14191', '14230>14252', '14260>14266', '14291>14291', '14330>14347', '14430>14464', '14550>14590', '14630>14654', '14730>14755', '14760>14763', '14770>14792', '14830>14835', '14840>14840', '14860>14860', '14870>14871', '14891>14892', '14895>14895', '14896>14897', '14930>14995', '15021>15021', '15132>15297', '15330>15338', '15371>15371', '15391>15391', '15392>15392', '15393>15393', '15394>15394', '15395>15395', '15530>15594', '16244>16272', '16340>16375', '16430>16479', '16552>16577', '16731>16877', '16930>17173', '17230>17460', '17543>17771', '17830>17890', '17891>17891', '17892>17892', '17893>17893',   '17960>17965', '17975>17975', '17995>17996', '17997>17998', '18130>18190', '18230>18239', '18245>18249', '18250>18253', '18254>18255', '18256>18257', '18260>18269', '18270>18279', '18330>18379', '18430>18450', '18451>18452', '18460>18494', '18495>18497', '18531>18599', '18630>18660', '18670>18670', '18691>18696', '18697>18697', '18730>18777', '19133>19279', '19330>19391', '19430>19492',    '19530>19558', '19560>19560', '19570>19572', '19591>19594', '19595>19596', '19630>19693', '19730>19793', '21112>21585', '21611>21618', '21619>21621', '21622>21622', '21623>21625', '21630>21643', '21741>21775', '21831>21842',    '21845>21845', '21846>21847',    '21851>21855', '21871>21875', '22220>22764', '23040>23040', '23041>23041', '23053>23053', '23131>23168', '23170>23173', '23175>23176',    '23178>23179', '23191>23196', '23197>23199', '23231>23241', '23251>23254', '23291>23291', '23331>23394', '23431>23443', '23531>23599', '23631>23691', '23731>23791', '23830>23843', '23930>23935', '23940>23942', '24030>24030', '24032>24032', '24033>24033', '24035>24035', '24036>24036', '24040>24040', '24130>24194', '24196>24196',  '24230>24298', '24330>24395', '24430>24441', '24460>24466', '24471>24471', '24491>24493', '24495>24495', '24531>24561',  '24562>24565', '24591>24593',  '24630>24655',  '24657>24657', '24731>24741',  '24745>24745',     '24750>24756', '24760>24764', '24770>24772', '24791>24792',  '24794>24794', '24795>24795',     '24796>24796', '24798>24799', '25220>25268', '25269>25271', '25275>25286', '25360>25360', '25361>25368', '25373>25373', '25374>25592', '25654>25654', '25655>25656', '25657>25657', '25658>25669', '25730>25734', '26013>26013', '26020>26020', '26021>26021', '26022>26022', '26023>26023', '26024>26024', '26030>26030', '26033>26033', '26034>26034', '26035>26035', '26038>26038', '26039>26039', '26040>26040', '26041>26041', '26042>26042', '26043>26043', '26050>26050', '26051>26051', '26060>26060', '26061>26061', '26070>26070', '26083>26083', '26091>26091', '26093',   '26130>26161', '26162>26163', '26165>26165', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''];
	var area	  = ['Espoo',   'Hanko',       'Enskede gård', 'Årsta',       'Stockholm',   'Enskededalen', 'Johanneshov', 'Enskede',     'Farsta',      'Bandhagen',   'Älvsjö',      'Hägersten',   'Skärholmen',  'Skarpnäck',   'Bagarmossen', 'Sköndal',     'Hägersten',   'Ingmarsö',    'Gällnöby',    'Skälvik',     'Nämdö',       'Stavsnäs',    'Runmarö',     'Sandhamn',    'Djurhamn',    'Stavsudda',   'Möja',        'Dalarö',      'Ornö',        'Utö',         'Nacka',       'Saltsjö-Duvnäs', 'Nacka strand', 'Nacka',       'Stockholm',   'Nacka',       'Saltsjö-Boo', 'Saltsjöbaden', 'Gustavsberg', 'Ingarö',      'Tyresö',      'Stockholm',   'Handen',      'Haninge',     'Handen',      'Haninge',     'Vendelsö',    'Haninge',     'Vendelsö',    'Haninge',     'Västerhaninge', 'Tungelsta',   'Västerhaninge', 'Tungelsta',   'NORRA SORUNDA', 'Älta',        'Värmdö',      'Huddinge',    'Segeltorp',   'Kungens Kurva', 'Huddinge',    'Skogås',      'Trångsund',   'Skogås',      'Vårby',       'Rönninge',    'Norsborg',    'Tullinge',    'Tumba',       'Uttran',      'Grödinge',    'Ösmo',        'Segersäng',   'Stora Vika',  'Sorunda',     'Ösmo',        'Muskö',       'Sorunda',     'Nynäshamn',   'Mölnbo',      'Södertälje',  'Järna',       'Hölö',        'Järna',       'Hölö',        'Mörkö',       'Hölö',        'Järna',       'Nykvarn',     'Vällingby',   'Spånga',      'Kista',       'Hässelby',    'Bromma',      'Solna',       'Sundbyberg',  'Järfälla',    'Ekerö',       'Munsö',       'Adelsö',      'Drottningholm', 'Stenhamra',   'Skå',         'Svartsjö',    'Färentuna',   'Lidingö',     'Danderyd',    'Enebyberg',   'Danderyd',    'Djursholm',   'Danderyd',    'Djursholm',   'Stocksund',   'Täby',        'Åkersberga',  'Österskär',   'Åkersberga',  'Ljusterö',    'Vaxholm',     'Vallentuna',  'Brottby',     'Vallentuna',  'Brottby',     'Täby',        'Sollentuna',  'Sigtuna',     'Upplands Väsby', 'Märsta',      'Arlandastad', 'Rosersberg',  'Märsta',      'Rosersberg',  'Kungsängen',  'Bro',         'Malmö',       'Limhamn',     'Malmö',       'Limhamn',     'Malmö',       'Limhamn',     'Malmö',       'Bunkeflostrand', 'Vintrie',     'Bunkeflostrand', 'Klagshamn',   'Tygelsjö',    'Lund',        'Bara',        'Klågerup',    'Alnarp',      'Trelleborg',  'Anderslöv',   'Beddingestrand', 'Smygehamn',   'Trelleborg',  'Klagstorp',   'Arlöv',       'Åkarp',       'Arlöv',       'Svedala',     'Lomma',       'Vellinge',    'Höllviken',   'Bjärred',     'Oxie',        'Skanör',      'Falsterbo',   'Marieholm',   'Flyinge',     'Löberöd',     'Harlösa',     'Stehag',      'Tjörnarp',    'Eslöv',       'Stockamöllan', 'Hörby',       'Höör',        'Kävlinge',    'Furulund',    'Dösjebro',    'Kävlinge',    'Dösjebro',    'Staffanstorp', 'Hjärup',      'Staffanstorp', 'Löddeköpinge', 'Barsebäck',   'Södra Sandby', 'Torna-Hällestad', 'Dalby',       'Veberöd',     'Genarp',      'Södra Sandby', 'Dalby',       'Torna-Hällestad', 'Veberöd',     'Genarp',      'Helsingborg', 'Råå',         'Helsingborg', 'Ramlösa',     'Helsingborg', 'Gantofta',    'Helsingborg', 'Ramlösa',     'Helsingborg', 'Ramlösa',     'Helsingborg', 'Rydebäck',    'Sankt Ibb',   'Teckomatorp', 'Billeberga',  'Tågarp',      'Kågeröd',     'Röstlånga',   'Vallåkra',    'Påarp',       'Mörarp',      'Ödåkra',      'Kattarp',     'Hasslarp',    'Viken',       'Nyhamnsläge', 'Mölle',       'Arild',       'Billesholm',  'Ekeby',       'Kvidinge',    'Hyllinge',    'Ljungbyhed',  'Vejbystrand', 'Förslöv',     'Torekov', 'Landskrona',  'Glumslöv',    'Härslöv',     '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''];

	var thisCode  = parseInt(areacode.split(' ').join(''));
	for (i in areaCodes) {
		var codeInterval = areaCodes[i].split('>');
		var start        = parseInt(codeInterval[0]);
		var end          = parseInt(codeInterval[1]);
		for (start = parseInt(codeInterval[0]); start <= parseInt(codeInterval[1]); start++) {
			if ( thisCode == start ){
				return area[i];
				break;
			}
		}
	}
}


/*  ===================
	- POPULATE STEP 3 - 
*/
function populateStep3(){
	$('#confirm-package span.name').html( $('#cart-package p.name').html() );
	//$('#confirm-binding-period span.name').html( $('#binding-period').html() );//
	$('#confirm-box span.name').html( $('#cart-box p.name').html() ).find('span').remove();
	$('#confirm-name span.name').html( $('#personalfirstname').val() + ' ' + $('#personallastname').val() );
	$('#confirm-securityno span.name').html( $('#personalsecurityno').val() );
	$('#confirm-address span.name').html( $('#personalstreetaddress').val() + ', ' + $('#personalareacode').val() + ' ' + $('#personalarea').val() );
	$('#confirm-telephone span.name').html( $('#personaltelephone').val() );
	$('#confirm-email span.name').html( $('#personalemail').val() );
	if ($('#personalaccept').attr('checked')) {
		$('#confirm-accept span.name').html( $('#personalaccept').val() );
	} else {
		$('#confirm-accept span.name').html('<i>Ehdot ei hyväksytty</i>');
	}
	
	/*
	if ($('#binding-period').attr('checked')) {
		$('#confirm-binding-period span.name').html( $('#binding-period').val() );
	} else {
		$('#confirm-binding-period span.name').html('24 kuukautta');
	}*/
	
	if ($('#cart-package p.name').html() == 'CANAL+ Total')
	{
		$('#confirm-binding-period span.name').html('24 kuukautta');
	}
	else 
	{
		$('#confirm-binding-period span.name').html('24 kuukautta');
	}
	
}


/*  ================
	- ANIMATE CART -
*/
function animateCart(element, type){
	var bgColor = '#ef7f28';
	$(element).effect('highlight', {color: bgColor}, 800);
}


/*  ===================
	- FORMAT CURRENCY -
*/
function formatCurrency(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num))
	num = '0';
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	//num = Math.floor(num/100).toString();
	num = num/100;
	num = num.toFixed(2);
	num = num.toString();
	if(cents<10)
	cents = '0' + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+''+
	num.substring(num.length-(4*i+3));
	return (((sign)?'':'-') + '' + num + ' €');
}
