var rotate_banners = true;

var emails_decoded = false;

$(document).ready(function(){
	decodeEmails(encoded_emails);

	$('.confirm').click(function(){
		return confirm('Vai tiešām vēlaties veikt šo darbību?');
	});

	$('.pop').fancybox();

	if ($('input.date').length) {
		$('input.date').datepicker({
			dateFormat: 'dd / mm / yy',
			dayNamesMin: ['Sv', 'Pi', 'Ot', 'Tr', 'Ce', 'Pk', 'Se'],
			firstDay: 1,
			monthNames: [
				'janvāris', 'februāris', 'marts', 'aprīlis', 'maijs', 'jūnijs', 'jūlijs',
				'augusts', 'septembris', 'oktobris', 'novembris', 'decembris'
			],
			nextText: 'vēlāk',
			prevText: 'agrāk',
			minDate: 0
		});
	}

	if (($.browser.msie)&(parseInt($.browser.version)<7)){
		$('img[src$=".png"]').each(function(){
			$(this).addClass('png');
		});
	}

	$('.center-float').each(function(){
		$(this).css('margin-left', parseInt(($(this).parent().width() - $(this).width()) / 2));
	});

	$('.form-error').focus(function(){
		$(this).removeClass('form-error');
		$(this).parent().removeClass('error');
		$(this).parent().children('.error-message').fadeOut();
	});

	$('#banners .tabs a').click(function(){
		rotate_banners = false;
		showBanner(getBannerIdFromTab(this));
		return false;
	});

	//$('input, textarea, select').css('-moz-border-radius', '4px').css('webkit-border-radius', '4px');
});

function toggle(selector){
	$(selector).toggle();
}

/**
 * Atkodē e-pastus, kuri tika šifrēti CleanEmails komponentā
 * Lai šī funkcija darbotos jābūt definētai funkcijai base64Decode
 *
 * @param emails Masīvs ar kodētajiem e-pastiem
 */
function decodeEmails(emails) {
	var element;

	$.each(emails, function(key, email) {
		element = $('#content, #footer').find("a[href^='mailto:"+key+"']");
		element.attr('href', element.attr('href').replace(new RegExp(key, 'g'), base64Decode(email)));
		element.html(element.html().replace(new RegExp(key, 'g'), base64Decode(email)));
	});
}

function addFields(){
	new_key = $('#meter-reading-items .item').length - 1;

	$('#meter-reading-items').append('<div class="item">'+$('#meter-reading-items .item.dummy').html().replace(/number/gi, new_key)+'</div>');

	$('#MeterReadingItem'+new_key+'DateYear').val($('#MeterReadingItem'+(new_key - 1)+'DateYear').val());


	prev_month = $('#MeterReadingItem'+(new_key - 1)+'DateMonth').val();

	if (prev_month != '10'){
		prev_month = parseInt(prev_month.replace('0', '')) - 1;
	}else{
		prev_month = 9;
	}

	prev_month = (prev_month < 10) ? '0' + prev_month : prev_month;

	if (prev_month == '00'){
		prev_month = '12';

		prev_year = parseInt($('#MeterReadingItem'+(new_key - 1)+'DateYear').val()) - 1;
		$('#MeterReadingItem'+new_key+'DateYear').val(prev_year);
	}
	
	$('#MeterReadingItem'+new_key+'DateMonth').val(prev_month);
}

function showBanner(banner_id){
	$('.tabs li').removeClass('active');
	$('#banner-tab-'+banner_id).parent().addClass('active');

	last_banner = $('#banners .item:visible');
	new_banner = $('#banners #banner-'+banner_id);

	// skatamies vai nepārslēdzamies uz to pašu banneri
	if (last_banner.attr('id') != new_banner.attr('id')){
		if (last_banner.hasClass('flash')){
			last_banner.hide();
		}else{
			last_banner.fadeOut(500);
		}

		if (new_banner.hasClass('flash')){
			new_banner.show();
		}else{
			new_banner.fadeIn(500);
		}
	}
}

function getBannerIdFromTab(elem){
	return $(elem).attr('id').split('-')[2];
}

function rotateBanners(){
	if (rotate_banners){
		first_tab = $('#banners .tabs li:first a');

		if ($('#banners .item:visible').length > 0){
			active_tab = $('#banners .tabs li.active a');
			next_tab = active_tab.parent().next().children('a');

			if (next_tab.length > 0){
				banner_id = getBannerIdFromTab(next_tab);
			}else{
				banner_id = getBannerIdFromTab(first_tab);
			}
		}else{
			banner_id = getBannerIdFromTab(first_tab);
		}

		showBanner(banner_id);
		setTimeout('rotateBanners()', banner_timeouts[banner_id]);
	}
}

// Global lookup arrays for base64 conversions
var enc64List, dec64List;
// Load the lookup arrays once
function initBase64() {
    enc64List = new Array();
    dec64List = new Array();
    var i;
    for (i = 0; i < 26; i++) {
        enc64List[enc64List.length] = String.fromCharCode(65 + i);
    }
    for (i = 0; i < 26; i++) {
        enc64List[enc64List.length] = String.fromCharCode(97 + i);
    }
    for (i = 0; i < 10; i++) {
        enc64List[enc64List.length] = String.fromCharCode(48 + i);
    }
    enc64List[enc64List.length] = "+";
    enc64List[enc64List.length] = "/";
    for (i = 0; i < 128; i++) {
        dec64List[dec64List.length] = -1;
    }
    for (i = 0; i < 64; i++) {
        dec64List[enc64List[i].charCodeAt(0)] = i;
    }
}

function base64Decode(str) {
    var c=0, d=0, e=0, f=0, i=0, n=0;
    var input = str.split("");
    var output = "";
    var ptr = 0;
    do {
        f = input[ptr++].charCodeAt(0);
        i = dec64List[f];
        if ( f >= 0 && f < 128 && i != -1 ) {
            if ( n % 4 == 0 ) {
                c = i << 2;
            } else if ( n % 4 == 1 ) {
                c = c | ( i >> 4 );
                d = ( i & 0x0000000F ) << 4;
            } else if ( n % 4 == 2 ) {
                d = d | ( i >> 2 );
                e = ( i & 0x00000003 ) << 6;
            } else {
                e = e | i;
            }
            n++;
            if ( n % 4 == 0 ) {
                output += String.fromCharCode(c) +
                          String.fromCharCode(d) +
                          String.fromCharCode(e);
            }
        }
    }
    while (typeof input[ptr] != "undefined");
    output += (n % 4 == 3) ? String.fromCharCode(c) + String.fromCharCode(d) :
              ((n % 4 == 2) ? String.fromCharCode(c) : "");
    return output;
}

// Self-initialize the global variables
initBase64();
