$(document).ready(function() {

  $(".lightbox").find(".close").live('click',function() {
    $(this).parents(".box").fadeOut("normal");
    $(this).parents(".lightbox").find(".overlay").fadeOut("normal", function() { 
      $(this).parents(".lightbox").hide(); 
      $("html, body").css({ "height": "auto" }); 
    });
    return false;
  });


  var useCufon = true;
  
  if($.browser.msie) {
    if(parseInt($.browser.version.substr(0,1)) < 7) {
      useCufon = false;
    }
  }
  	
  if(useCufon) {      
    // Cufon
    Cufon.replace(".regularMeta",{ fontFamily: 'MetaCE3-Regular', hover: true });
    Cufon.replace(".regularMetaShadow",{ fontFamily: 'MetaCE3-Regular', hover: true, textShadow: '1px 1px #102243' });
    Cufon.replace(".textContent .regularMetaShadow b",{ fontFamily: 'MetaCE3-Medium', fontSize: '16.5px', hover: true, textShadow: '1px 1px #102243' });
    Cufon.replace(".mediumMeta",{ fontFamily: 'MetaCE3-Medium', hover: true });
    Cufon.replace(".mediumMetaShadow",{ fontFamily: 'MetaCE3-Medium', hover: true, textShadow: '1px 1px #102243' });  
    Cufon.replace(".boldMeta",{ fontFamily: 'MetaCE3-Bold', hover: true });
  }

  $("#gallery").tabs();     	
  
  
  
  $('.radio').bind('click',function() { return radioSwitcher(this); });
  
  $('.continue').bind('click',function()
  {
  	if ($(this).hasClass('step1'))
  	{
  		var locationBase = $(this).attr('href');
  		var id=$('.radio.on').attr('id');
  		window.location.href = locationBase+id;
  	} 
	else if ($(this).hasClass('step1a'))
  	{
  		var oksubmit = true;
  		var msg = '';
  		if ($('input[name="card_number"]').val().length < 6)
  		{
  			oksubmit = false;
  			msg += 'Vložte číslo dekódovacej karty!\n';
  		}
  		if ($('input[name="mobile_phone"]').val().length < 6)
  		{
  			oksubmit = false;
  			msg += 'Vložte číslo vášho mobilného telefónu!';
  		}
  		if (oksubmit) $('#form_step1a').submit();
  		else alert(msg);
  	}
  	else if ($(this).hasClass('step2'))
  	{  	
	  	var oksubmit = true;
  		var msg = '';	
  		if ($('#form_step2').find('input[name="mobile_phone"]').val().length < 6)
  		{
	  		oksubmit = false;
  			msg += 'Vložte číslo vášho mobilného telefónu!';
  		}
  		$('a[rel="card_choose"]').each(
  			function()
  			{
  				if ($(this).hasClass('on')){
	  				$('#form_step2').find('input[name="card_type"]').val($(this).find('img').attr('alt'));		
	  			}
  			}
  		);
  		$('#form_step2').find('input[name="packages"]').val(getSelectedPackages());
  		$('#form_step2').find('input[name="m6_selection"]').val(getM6Selection());
  		$('#form_step2').find('input[name="channels"]').val(getSelectedChannels());
  		$('#form_step2').find('input[name="month_price"]').val($('#mPrice').html());
  		$('#form_step2').find('input[name="total_price"]').val($('#tPrice').html());
  		
  		if (oksubmit) {
  			$('#form_step2').submit();
  		}
  		else alert(msg);
  	} 
  	else if ($(this).hasClass('step3'))
  	{  		
  		$('a[rel="payment"]').each(
  			function()
  			{
  				if ($(this).hasClass('on'))
  				{
  					$('input[name="payment_type"]').val($(this).attr('id'));
  				}
  			}
  		);
  		$('#form_step3').submit();
	}
  	else if ($(this).hasClass('step4'))
  	{  		
  		$('#form_step4').submit();
  	} 
  	else 
  	{
  		return true;//alert('Unknown error');
  	}
  	return false;
  });
  
  $('.checkbox, .chIco, .chName').bind('click',function()
  {
  	var id = $(this).attr('rel');
  	setupChannel(id);
  	return false;
  }
  );
  
  $('.subcheckbox').live('click',function()
  {
  	//alert('sub selection');
  	var id = $(this).attr('rel');
  	subSelectChannel(id);
  	return false;
  });
  
  $('.channels').find('.radio').unbind('click').bind('click',function() { return false; });
  $('.channels').find('.priceTD').addClass('disabled');
  
});
var monthArr = [12,6,3,1,24,36];

function getSelectedPackages()
{	
	var output = '';
	$('#packTable tr').each(
		function()
		{	
			if ($(this).attr('id').indexOf('pack_') != -1)
			{
				if ($(this).find('.checkboxTD').hasClass('selectChannel'))
				{
					var pName = $(this).find('.chName').html();
					var packParams = $(this).find('a.on').attr('id').split('_');
					if (output != '') output += ',';
					output += pName+'-'+monthArr[packParams[2]];
				}
			}
				
		}
	);
	return output;
}

function getSelectedChannels()
{
	var output = '';
	$('#channelTable tr').each(
		function()
		{	
			if ($(this).attr('id').indexOf('channel_') != -1)
			{
				if ($(this).find('.checkboxTD').hasClass('selectChannel'))
				{
					var pName = $(this).find('.chName').html();
					var packParams = $(this).find('a.on').attr('id').split('_');
					if (output != '') output += ',';
					output += pName+'-'+monthArr[packParams[2]];
				}
			}
				
		}
	);
	return output;
}

function getM6Selection()
{
	var output = '';
	$('#packTable tr').each(
		function()
		{	
			if ($(this).attr('id').indexOf('pack_') != -1)
			{
				if ($(this).find('.checkboxTD').hasClass('selectChannel'))
				{
					var pName = $(this).find('.chName').html();
					if (pName.indexOf('6') != -1)
					{
						$('.mych6sub').find('.subcheckbox').each(
							function()
							{
								if ($(this).find('img').attr('src').indexOf('checkbox-on') != -1)
								{
									var subParams = $(this).attr('rel').split('_');
									var subName = $('#mych6_'+subParams[1]+'_name').html();
									if (output != '') output += ',';
									output += subName;
								}
							}
						);
					}
				}
			}
				
		}
	);
	return output;
}

function radioSwitcher(obj)
{
	var relName = $(obj).attr('rel');
  	$('.radio').each(function(){
  		if ($(this).attr('rel') == relName)
  		{
	  		turnOffRadio(this);
  		}
  	});
  	turnOnRadio(obj);
  	return false;
}

function turnOffRadio(obj)
{
	$(obj).removeClass('on').addClass('off');
	$(obj).find('img').attr('src','/img/sradio-off.png');
}

function turnOnRadio(obj)
{
  	$(obj).removeClass('off').addClass('on');
  	$(obj).find('img').attr('src','/img/sradio-on.png');
  	recalculatePrice();
}

function recalculatePrice()
{
	var monthsArray = [12,6,3,1,24,36];
	totalPrice = 0;
	monthPrice = 0;
	$('.radio').each(function()
	{
		if ($(this).hasClass('on'))
		{	
			var radioID = $(this).attr('id');
			var rParam = radioID.split('_');
			switch(rParam[0])
			{
				case "card":
					totalPrice += cards[rParam[1]];
					break;
				case "pack":
					var pArr = packPrices[rParam[1]];
					var pStr = (pArr[rParam[2]]+'').replace(/,/,'.');
					var packPrice = parseFloat(pStr)*monthsArray[rParam[2]];
					monthPrice += parseFloat(pStr);
					totalPrice += packPrice;
					break;
				case "channel":
					var cArr = channelPrices[rParam[1]];
					var cStr = (cArr[rParam[2]]+'').replace(/,/,'.');
					var channelPrice = parseFloat(cStr)*monthsArray[rParam[2]];
					monthPrice += parseFloat(cStr);
					totalPrice += channelPrice;
					break;
				default:
					break;
			}
		}
	});
	totalPrice = (Math.round(totalPrice*100)/100)+'';
	if (totalPrice.indexOf('.') != -1)
	{
		priceParams = totalPrice.split('.');
		if (priceParams[1].length < 2) priceParams[1] = priceParams[1]+'0';
		totalPrice = priceParams[0]+'.'+priceParams[1];
	}
	$('#tPrice').html(totalPrice);
	
	monthPrice = (Math.round(monthPrice*100)/100)+'';
	if (monthPrice.indexOf('.') != -1)
	{
		priceParams = monthPrice.split('.');
		if (priceParams[1].length < 2) priceParams[1] = priceParams[1]+'0';
		monthPrice = priceParams[0]+'.'+priceParams[1];
	}
	$('#mPrice').html(monthPrice);
}

function checkAvaiableChannels()
{
	var hiddenChannels = [];
	var visibleChannels = [];
	$('#packTable').find('.checkboxTD').each(function()
	{
		var packParams = ($(this).find('a:first').attr('rel')).split('_');
		var linkedChan = linkedchannels[packParams[1]];
		var packageName = $(this).parent('tr').find('.chName').html();
		if (packageName != null)
		{
			if ($(this).find('img:first').attr('src') == '/img/checkbox-on.gif')
			{
				//objTracer($('.mych6sub'));
				if (packageName.indexOf('6') != -1 && $('.mych6sub').length == 0)
				{
					addSubSelection($(this).parent('tr'),linkedChan);
				}
				var arrIndex;
				for (arrIndex in linkedChan)
				{
					if (hiddenChannels.indexOf(linkedChan[arrIndex]) == -1) hiddenChannels.push(linkedChan[arrIndex]);					
				}				
			}
			else {
				if (packageName.indexOf('6') != -1)
				{
					removeSubSelection();
				}
				var arrIndex;
				for (arrIndex in linkedChan)
				{
					if (visibleChannels.indexOf(linkedChan[arrIndex]) == -1) visibleChannels.push(linkedChan[arrIndex]);					
				}
			}
		}
  	});
  	var finalVisible = [];
  	var cIndex;
  	for (cIndex in visibleChannels) if (hiddenChannels.indexOf(visibleChannels[cIndex]) == -1) finalVisible.push(visibleChannels[cIndex]);
  	
  	for (cIndex in hiddenChannels) hideChannel(hiddenChannels[cIndex]);
  	for (cIndex in finalVisible) unhideChannel(finalVisible[cIndex]);
}

function setupChannel(id)
{
	if ($('#'+id+' .checkbox').find('img').attr('src') == '/img/checkbox-off.gif')
  	{
  		$('#'+id+' .checkbox').find('img').attr('src','/img/checkbox-on.gif');
	  	$('#'+id).find('td').addClass('selectChannel');
	  	$('#'+id).find('.priceTD').removeClass('disabled');
	  	$('#'+id).find('.radio').bind('click',function() { return radioSwitcher(this); });
	  	$('#'+id).find('.radio').first().each(function() { turnOnRadio(this); });
	  	turnOffRadio();
  	}
  	else
  	{
	  	$('#'+id+' .checkbox').find('img').attr('src','/img/checkbox-off.gif');
	  	$('#'+id).find('td').removeClass('selectChannel');
	  	$('#'+id).find('.priceTD').addClass('disabled');
	  	$('#'+id).find('.radio').unbind('click');
	  	$('#'+id).find('.radio').each(function(){ 
	  		turnOffRadio(this);
	  	});
	  	recalculatePrice();
  	}
	checkAvaiableChannels();
}

function hideChannel(channelId)
{
	$('tr[id=channel_'+channelId+']').hide();
  	$('#channel_'+channelId+' .checkbox').find('img').attr('src','/img/checkbox-off.gif');
  	$('#channel_'+channelId).find('td').removeClass('selectChannel');
  	$('#channel_'+channelId).find('.priceTD').addClass('disabled');
  	$('#channel_'+channelId).find('.radio').unbind('click');
  	$('#channel_'+channelId).find('.radio').each(function(){ 
  		turnOffRadio(this);
  	});
  	recalculatePrice();
	
}

function unhideChannel(channelId)
{
	$('tr[id=channel_'+channelId+']').show();
}

function subSelectChannel(id)
{
	var countSelected = 0;
	$('.subcheckbox').find('img').each(function(){
			if ($(this).attr('src') == '/img/checkbox-on.gif') countSelected++;			
	});
	var channelInfo = id.split('_');
	if ($('#'+id+' .subcheckbox').find('img').attr('src') == '/img/checkbox-off.gif')
  	{
  		if (countSelected < 6)
		{
			$('#'+id+' .subcheckbox').find('img').attr('src','/img/checkbox-on.gif');
			linkedchannels[23].push(channelInfo[1]);
			//hideChannel();
		}
		else
		{
			alert('Môžete vybrať maximálne 6 programov');
		}
  	}
  	else
  	{  		
	  	$('#'+id+' .subcheckbox').find('img').attr('src','/img/checkbox-off.gif');
	  	var tempArr = [];
	  	for (var cc=0;cc<linkedchannels[23];cc++)
	  	{
	  		if (linkedchannels[23][cc] != channelInfo[1]) tempArr.push(linkedchannels[23][cc]);
	  	}
	  	linkedchannels[23] = tempArr;
	  	//unhideChannel();
  	}
  	checkAvaiableChannels();
}

function addSubSelection(tableRow,channelsList)
{
	var subselection = '<strong>Označte požadované programy:</strong><br /><table class="noborder">';
	var tdCount = 1;
	for (var c=0;c<mych6Channels.length;c++)
	{
		var aChannel = mych6Channels[c];
		if (tdCount == 1) subselection += '<tr>';
		subselection += '<td id="mych6_'+aChannel[0]+'" class="checkboxTD"><a href="#" rel="mych6_'+aChannel[0]+'" class="subcheckbox"><img src="/img/checkbox-off.gif" alt="checkbox-off" width="12" height="12" /></a></td>';
		subselection += '<td class="chIco"><img src="'+aChannel[2]+'" width="'+aChannel[3]+'" height="'+aChannel[4]+'" /></td>';
		subselection += '<td id="mych6_'+aChannel[0]+'_name">'+aChannel[1]+'</td>';
		tdCount++;
		if (tdCount > 4)
		{
			subselection += '</tr>';
			tdCount = 1;
		}
	}
	$(tableRow).after('<tr class="mych6sub"><td>&nbsp;</td><td colspan="8">'+subselection+'</td></tr>');
}

function removeSubSelection()
{
	$('.mych6sub').remove();
}

function objTracer(obj){
	var properties = "";
	for (var propertyName in obj) {
		// Check if it’s NOT a function
		if (!(obj[propertyName] instanceof Function)) {
			properties += propertyName +" ("+obj[propertyName]+")" + ", ";
		}
	}
	alert("Properties : " + properties);
	
	// Loop through the properties/functions
	var functions = "";
	for (var functionName in obj) {
		// Check if it’s a function
		if (obj[functionName] instanceof Function) {
			functions += functionName + ", ";
		}
	}	
	alert("Functions : " + functions);
}

Array.prototype.indexOf = function(obj) {
  for (var i = 0; i < this.length; i++) {
    if (this[i] == obj)
      return i;
  }
  return -1;
}

function makeLightbox(url) {
	$.ajax({
		type: 'GET',
		url: url,
		success: function(data) {
			$(".lightbox").remove();
			$("body").append(data);
			$(".lightbox .overlay").fadeIn(0);
			$(".lightbox .box").fadeIn(0);
			Cufon.refresh();
		}
	});
	
	return false;
}

