var Main = new function () {

    this.slideShowNext;
    this.slideShowActive;
    this.checkedClicked = false;

	this.openWindow = function(url, target, width, height) {
	   var wLeft = (screen.width) ? (screen.width- width) / 2 : 100;
	   var wTop = (screen.height) ? (screen.height- height) / 2 : 100;

        window.open(url, target, "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=" + width + ",height=" + height + ",top=" + wTop + ",left=" + wLeft);
	};
	
	this.popupWorkshopStatus = function() {
        if (!Main.checkedClicked) {
    		$.ajax({
    			type: "POST",
    			url: "/ajax.php?mode=update_status_checked",
    			data: "regNo=" + encodeURIComponent($("#regNo").val()),
    		});

    		Main.checkedClicked = true;
        }

        Main.openWindow("", "_popup", 740, 610);
	};

	this.popupUsedCars = function() {
        Main.openWindow("http://data.bytbil.com/select_car.cgi?seller=sevedsbil&amp;look=sevedsbil", "", 700, 600);
	};
    
    this.initSlideShow = function() {
        Main.slideInterval = setInterval("Main.slideShow()", 5000);
    };

	this.slideShow = function() {
        Main.slideShowActive = $('div.slideShow img.active');

        if (Main.slideShowActive.length == 0) Main.slideShowActive = $('div.slideShow img:last');

        Main.slideShowNext = Main.slideShowActive.next().length ? Main.slideShowActive.next() : $('div.slideShow img:first');

        Main.slideShowActive.addClass('last-active');

        Main.slideShowNext.css({opacity: 0.0})
            .addClass('active')
            .animate({ opacity: 1.0 }, 1000, function() {
                Main.slideShowActive.removeClass('active last-active');
            });
	};
	
	this.slideShowToggle = function() {
        clearInterval(Main.slideInterval);
        Main.slideInterval = setInterval("Main.slideShow()", 5000);
        Main.slideShow();
	};
	
	this.scriptTimer = function() {
		this.scriptRunTime = 0;
		this.startTime = 0;
		this.stopTime = 0;

		this.startTimer = function() {
			var time = new Date();
			Main.scriptTimer.startTime = time.getTime();
		}

		this.stopTimer = function() {
			var time = new Date();
			Main.scriptTimer.stopTime = time.getTime();
			Main.scriptTimer.scriptRunTime = (Main.scriptTimer.stopTime - Main.scriptTimer.startTime) / 1000;
		}
	};
	
	this.validateEmpty = function(element) {
    	var errors = 0, value, title;
    	var fields = element.find(":text:not([class~=\"optional\"]), textarea:not([class~=\"optional\"])");

    	$.each(fields, function() {
    		value = $(this).val().replace(/^\s*/, "");
    		title = $(this).attr("title");

    		if(value === "" || value == title) {
    			$(this).addClass("error");
    			errors++;
    		}
    		else {
    			$(this).removeClass("error");
    		}
    	});
    	
    	return !(errors > 0);
    }
}