Element.observe(document, 'dom:loaded', loadApp);

var websiteMode = 1;

function url(liveURL, testURL) {
	result = null;
	if(websiteMode == 1) {
		result = liveURL;
	}
	else {
		result = testURL;
	}
	return result;
}

var Navigation = Class.create({
	initialize: function() {		
		if ((pageType != 'Auctions') && (pageType != 'Upcoming Auction') && (pageType.substr(0,5) != 'Index')) {
			$('navigationAuctions').observe('mouseover', this.mouseOver.bind(this, 'auctions'));
			$('navigationAuctions').observe('mouseout', this.mouseOut.bind(this, 'auctions'));
			$('navigationAuctions').observe('mousedown', this.mouseDown.bind(this, 'auctions'));
			$('navigationAuctions').observe('mouseup', this.mouseUp.bind(this, 'auctions'));
		}
		
		$('navigationRegister').observe('mouseover', this.mouseOver.bind(this, 'register'));
		$('navigationRegister').observe('mouseout', this.mouseOut.bind(this, 'register'));
		$('navigationRegister').observe('mousedown', this.mouseDown.bind(this, 'register'));
		$('navigationRegister').observe('mouseup', this.mouseUp.bind(this, 'register'));
		
		if (pageType != 'Buying') {
			$('navigationBuying').observe('mouseover', this.mouseOver.bind(this, 'buying'));
			$('navigationBuying').observe('mouseout', this.mouseOut.bind(this, 'buying'));
			$('navigationBuying').observe('mousedown', this.mouseDown.bind(this, 'buying'));
			$('navigationBuying').observe('mouseup', this.mouseUp.bind(this, 'buying'));
		}
		
		if (pageType != 'Selling') {
			$('navigationSelling').observe('mouseover', this.mouseOver.bind(this, 'selling'));
			$('navigationSelling').observe('mouseout', this.mouseOut.bind(this, 'selling'));
			$('navigationSelling').observe('mousedown', this.mouseDown.bind(this, 'selling'));
			$('navigationSelling').observe('mouseup', this.mouseUp.bind(this, 'selling'));
		}
		
		if (pageType != 'Appraisals') {
			$('navigationAppraisals').observe('mouseover', this.mouseOver.bind(this, 'appraisals'));
			$('navigationAppraisals').observe('mouseout', this.mouseOut.bind(this, 'appraisals'));
			$('navigationAppraisals').observe('mousedown', this.mouseDown.bind(this, 'appraisals'));
			$('navigationAppraisals').observe('mouseup', this.mouseUp.bind(this, 'appraisals'));
		}
		
		$('navigationAccount').observe('mouseover', this.mouseOver.bind(this, 'account'));
		$('navigationAccount').observe('mouseout', this.mouseOut.bind(this, 'account'));
		$('navigationAccount').observe('mousedown', this.mouseDown.bind(this, 'account'));
		$('navigationAccount').observe('mouseup', this.mouseUp.bind(this, 'account'));
		
		if (pageType != 'Locations') {
			$('navigationLocations').observe('mouseover', this.mouseOver.bind(this, 'locations'));
			$('navigationLocations').observe('mouseout', this.mouseOut.bind(this, 'locations'));
			$('navigationLocations').observe('mousedown', this.mouseDown.bind(this, 'locations'));
			$('navigationLocations').observe('mouseup', this.mouseUp.bind(this, 'locations'));
		}

		this.preloadImages();
	},
	
	mouseOver: function(button) {
		this.buttonDiv = "navigation" + (button.charAt(0).toUpperCase() + button.slice(1));
		this.buttonImage = button;

		$(this.buttonDiv).childNodes[0].setAttribute('src', '/site_images/navigation-' + this.buttonImage + '-mo.jpg');
	},
	
	mouseOut: function(button) {
		this.buttonDiv = "navigation" + (button.charAt(0).toUpperCase() + button.slice(1));
		this.buttonImage = button;
		
		$(this.buttonDiv).childNodes[0].setAttribute('src', '/site_images/navigation-' + this.buttonImage + '.jpg');
	},
	
	mouseDown: function(button) {
		this.buttonDiv = "navigation" + (button.charAt(0).toUpperCase() + button.slice(1));
		this.buttonImage = button;
		
		$(this.buttonDiv).childNodes[0].setAttribute('src', '/site_images/navigation-' + this.buttonImage + '-mc.jpg');
	},
	
	mouseUp: function(button) {
		this.buttonDiv = "navigation" + (button.charAt(0).toUpperCase() + button.slice(1));
		this.buttonImage = button;
		
		$(this.buttonDiv).childNodes[0].setAttribute('src', '/site_images/navigation-' + this.buttonImage + '-mo.jpg');
	},

	preloadImages: function() {
		preloadNavigationAuctionsMO = new Image(89,34);
		preloadNavigationAuctionsMO.src = '/site_images/navigation-auctions-mo.jpg';
		preloadNavigationAuctionsMC = new Image(89,34);
		preloadNavigationAuctionsMC.src = '/site_images/navigation-auctions-mc.jpg';
		preloadNavigationAuctionsS = new Image(89,34);
		preloadNavigationAuctionsS.src = '/site_images/navigation-auctions-s.jpg';
		
		preloadNavigationRegisterMO = new Image(126,34);
		preloadNavigationRegisterMO.src = '/site_images/navigation-register-mo.jpg';
		preloadNavigationRegisterMC = new Image(126,34);
		preloadNavigationRegisterMC.src = '/site_images/navigation-register-mc.jpg';
		preloadNavigationRegisterS = new Image(126,34);
		preloadNavigationRegisterS.src = '/site_images/navigation-register-s.jpg';
		
		preloadNavigationBuyingMO = new Image(76,34);
		preloadNavigationBuyingMO.src = '/site_images/navigation-buying-mo.jpg';
		preloadNavigationBuyingMC = new Image(76,34);
		preloadNavigationBuyingMC.src = '/site_images/navigation-buying-mc.jpg';
		preloadNavigationBuyingS = new Image(76,34);
		preloadNavigationBuyingS.src = '/site_images/navigation-buying-s.jpg';
		
		preloadNavigationSellingMO = new Image(76,34);
		preloadNavigationSellingMO.src = '/site_images/navigation-selling-mo.jpg';
		preloadNavigationSellingMC = new Image(76,34);
		preloadNavigationSellingMC.src = '/site_images/navigation-selling-mc.jpg';
		preloadNavigationSellingS = new Image(76,34);
		preloadNavigationSellingS.src = '/site_images/navigation-selling-s.jpg';
		
		preloadNavigationAppraisalsMO = new Image(100,34);
		preloadNavigationAppraisalsMO.src = '/site_images/navigation-appraisals-mo.jpg';
		preloadNavigationAppraisalsMC = new Image(100,34);
		preloadNavigationAppraisalsMC.src = '/site_images/navigation-appraisals-mc.jpg';
		preloadNavigationAppraisalsS = new Image(100,34);
		preloadNavigationAppraisalsS.src = '/site_images/navigation-appraisals-s.jpg';
		
		preloadNavigationAccountMO = new Image(107,34);
		preloadNavigationAccountMO.src = '/site_images/navigation-account-mo.jpg';
		preloadNavigationAccountMC = new Image(107,34);
		preloadNavigationAccountMC.src = '/site_images/navigation-account-mc.jpg';
		preloadNavigationAccountS = new Image(107,34);
		preloadNavigationAccountS.src = '/site_images/navigation-account-s.jpg';
		
		preloadNavigationLocationsMO = new Image(93,34);
		preloadNavigationLocationsMO.src = '/site_images/navigation-locations-mo.jpg';
		preloadNavigationLocationsMC = new Image(93,34);
		preloadNavigationLocationsMC.src = '/site_images/navigation-locations-mc.jpg';
		preloadNavigationLocationsS = new Image(93,34);
		preloadNavigationLocationsS.src = '/site_images/navigation-locations-s.jpg';
	}
});

var AuctionsBrowseIndexPanel = Class.create({
	initialize: function() {	
		$('browseIndexButtonArtists').observe('click', this.showArtistsLetters.bind(this));
		$('browseIndexButtonMakers').observe('click', this.showMakersLetters.bind(this));
		this.preloadImages();
		//alert("sdfsd");
	},
	
	showArtistsLetters: function() {
		$('browseIndexArtists').show();
		$('browseIndexMakers').hide();
		$('browseIndexButtonArtistsSelected').show();
		$('browseIndexButtonMakersSelected').hide();
	},

	showMakersLetters: function() {
		$('browseIndexMakers').show();
		$('browseIndexArtists').hide();
		$('browseIndexButtonMakersSelected').show();
		$('browseIndexButtonArtistsSelected').hide();
	},
	
	preloadImages: function() {
		preloadAuctionsBrowseIndexArtistsButtonMO = new Image(62,25);
		preloadAuctionsBrowseIndexArtistsButtonMO.src = '/site_images/auctions-index-button-artists-mo.jpg';
		
		preloadAuctionsBrowseIndexArtistsButtonMC = new Image(62,25);
		preloadAuctionsBrowseIndexArtistsButtonMC.src = '/site_images/auctions-index-button-artists-mc.jpg';
		
		preloadAuctionsBrowseIndexArtistsButtonS = new Image(62,25);
		preloadAuctionsBrowseIndexArtistsButtonS.src = '/site_images/auctions-index-button-artists-s.jpg';
		
		preloadAuctionsBrowseIndexMakersButtonMO = new Image(62,25);
		preloadAuctionsBrowseIndexMakersButtonMO.src = '/site_images/auctions-index-button-makers-mo.jpg';
		
		preloadAuctionsBrowseIndexMakersButtonMC = new Image(62,25);
		preloadAuctionsBrowseIndexMakersButtonMC.src = '/site_images/auctions-index-button-makers-mc.jpg';
		
		preloadAuctionsBrowseIndexMakersButtonS = new Image(62,25);
		preloadAuctionsBrowseIndexMakersButtonS.src = '/site_images/auctions-index-button-makers-s.jpg';
		
		preloadAuctionsBrowseIndexLetterButtonMO = new Image(22,21);
		preloadAuctionsBrowseIndexLetterButtonMO.src = '/site_images/auctions-letter-bg-mo.jpg';
	}
});


var MailingListSubscribe = Class.create({
	initialize: function() {	
		$('navigationMailingListButtonSubmit').observe('click', this.submit.bind(this));
		$('navigationMailingListField').observe('keyup', this.keyPressHandler.bindAsEventListener(this));
		this.preloadImages();
	},
	
	keyPressHandler: function(e) {
		if (e.keyCode == 13) {
			this.submit();
		}
	},
	
	submit: function() {
		//alert("goo");
		this.email = $('navigationMailingListField').value;
		this.email = this.email.split(' ').join('');

		if ((this.email == "") || (!this.isValidEmailAddress(this.email))){
			$('navigationMailingListField').setStyle({ color: '#C02600' });
			$('navigationMailingListField').observe('keypress', function() { $('navigationMailingListField').setStyle({ color: '#333333' }); document.stopObserving('keypress', this); this.displayError = false; });
			//alert("not valid");
		} else {
			$('navigationMailingListButtonSubmit').hide();
			$('navigationMailingListButtonSubmitLoader').show();
			
			new Ajax.Request('/216-231-5515/WebObjects/auction.woa/wa/addtomailinglist' + '?email=' + this.email + '&location=navigation', { method: 'post', 
				onComplete: this.submitSuccessful.bind(this)
			});
		}
		
	},
	
	//yura@asd.com
	submitSuccessful: function(request) {
		$('navigationMailingListButtonSubmit').show();
		$('navigationMailingListButtonSubmitLoader').hide();
		
		//$('navigationMailingListField').value = "Thank You!";
		$('navigationMailingListField').value = "";

		$('navigationMailingListField').blur();
		$('navigationMailingListSuccessBG').show();
		$('navigationMailingListSuccess').appear({ duration: 1 });
		setTimeout("$('navigationMailingListSuccess').fade({ duration: 1 }); $('navigationMailingListSuccessBG').hide();", 5000);
	},
	
	isValidEmailAddress: function(emailAddress) {
		this.pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
		
		//alert(this.pattern.test(emailAddress));
		return this.pattern.test(emailAddress);
		},

	
	preloadImages: function() {
		preloadMailingListButtonSubmitMO = new Image(22,22);
		preloadMailingListButtonSubmitMO.src = '/site_images/mailinglist-button-submit-mo.jpg';
		
		preloadMailingListButtonSubmitMC = new Image(22,22);
		preloadMailingListButtonSubmitMC.src = '/site_images/mailinglist-button-submit-mc.jpg';
		
		preloadMailingListButtonLoader = new Image(22,22);
		preloadMailingListButtonLoader.src = '/site_images/mailinglist-button-submit-clear.jpg';
		
		preloadMailingListButtonSpinner = new Image(16,16);
		preloadMailingListButtonSpinner.src = '/site_images/mailinglist-loader.gif';
	}
});


var HomeMailingListSubscribe = Class.create({
	initialize: function() {	
		$('mailingListButtonSubmit').observe('click', this.submit.bind(this));
		$('mailingListField').observe('keyup', this.keyPressHandler.bindAsEventListener(this));
		this.preloadImages();
	},
	
	keyPressHandler: function(e) {
		if (e.keyCode == 13) {
			this.submit();
		}
	},
	
	submit: function() {
		//alert("goo");
		this.email = $('mailingListField').value;
		this.email = this.email.split(' ').join('');

		if ((this.email == "") || (!this.isValidEmailAddress(this.email))){
			$('mailingListField').setStyle({ color: '#C02600' });
			$('mailingListField').observe('keypress', function() { $('mailingListField').setStyle({ color: '#fff' }); document.stopObserving('keypress', this); this.displayError = false; });
			//alert("not valid");
		} else {
			/*
			$('navigationMailingListButtonSubmit').hide();
			$('navigationMailingListButtonSubmitLoader').show();
			*/
			new Ajax.Request('/216-231-5515/WebObjects/auction.woa/wa/addtomailinglist' + '?email=' + this.email + '&location=homepage', { method: 'post', 
				onComplete: this.submitSuccessful.bind(this)
			});
		}
		
	},
	
	//yura@asd.com
	submitSuccessful: function(request) {
		/*
		$('navigationMailingListButtonSubmit').show();
		$('navigationMailingListButtonSubmitLoader').hide();
		
		//$('navigationMailingListField').value = "Thank You!";
		$('navigationMailingListField').value = "";

		$('navigationMailingListField').blur();
		$('navigationMailingListSuccessBG').show();
		$('navigationMailingListSuccess').appear({ duration: 1 });
		setTimeout("$('navigationMailingListSuccess').fade({ duration: 1 }); $('navigationMailingListSuccessBG').hide();", 5000);
		*/
		$('mailingListField').value = 'Thank you!';
	},
	
	isValidEmailAddress: function(emailAddress) {
		this.pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
		
		//alert(this.pattern.test(emailAddress));
		return this.pattern.test(emailAddress);
		},

	
	preloadImages: function() {
		preloadHomeMailingListButtonSubmitMO = new Image(22,22);
		preloadHomeMailingListButtonSubmitMO.src = '/site_images/home-mailinglist-button-submit-mo.jpg';
		
		preloadHomeMailingListButtonSubmitMC = new Image(22,22);
		preloadHomeMailingListButtonSubmitMC.src = '/site_images/home-mailinglist-button-submit-mc.jpg';
	}
});


var UpcomingAuctionSubscribe = Class.create({
	initialize: function() {	
		$('buttonSubscribeSubmit').observe('click', this.submit.bind(this));
		$('upcomingAuctionSubscribeField').observe('keyup', this.keyPressHandler.bindAsEventListener(this));
		this.preloadImages();
	},
	
	keyPressHandler: function(e) {
		if (e.keyCode == 13) {
			this.submit();
		}
	},
	
	submit: function() {
		this.email = $('upcomingAuctionSubscribeField').value;

		if ((this.email == "") || (!this.isValidEmailAddress(this.email))){
			//alert("not valid");
		} else {
			$('buttonSubscribeSubmit').hide();
			$('buttonSubscribeSubmitLoader').show();
			
			new Ajax.Request('/216-231-5515/WebObjects/auction.woa/wa/addtomailinglist' + '?email=' + this.email, { method: 'post', 
				onComplete: this.submitSuccessful.bind(this)
			});
		}
		
	},
	
	//yura@asd.com
	submitSuccessful: function(request) {
		$('buttonSubscribeSubmit').show();
		$('buttonSubscribeSubmitLoader').hide();
		
		$('upcomingAuctionSubscribeMessage').appear({ duration: 1 });
		setTimeout("$('upcomingAuctionSubscribeMessage').fade({ duration: 1 });", 5000);
	},
	
	isValidEmailAddress: function(emailAddress) {
		this.pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
		
		//alert(this.pattern.test(emailAddress));
		return this.pattern.test(emailAddress);
		},

	
	preloadImages: function() {
		preloadButtonSubscribeMO = new Image(88,36);
		preloadButtonSubscribeMO.src = '/site_images/upcomingauction-button-submit-mo.jpg';
		
		preloadButtonSubscribeMC = new Image(88,36);
		preloadButtonSubscribeMC.src = '/site_images/upcomingauction-button-submit-mc.jpg';
		
		preloadButtonSubscribeLoader = new Image(88,36);
		preloadButtonSubscribeLoader.src = '/site_images/upcomingauction-button-submit-clear.jpg';
		
		preloadButtonSubscribeSpinner = new Image(88,36);
		preloadButtonSubscribeSpinner.src = '/site_images/upcomingauction-loader.gif';
	}
});


var MailingListDropdown = Class.create({
	initialize: function() {
		$('navigationMailingList').show();
		$('navigationMailingList').observe('mouseover', this.mouseOver.bind(this));
		$('navigationMailingList').observe('mouseout', this.mouseOut.bind(this));
		$('navigationMailingList').observe('mousedown', this.mouseDown.bind(this));
		
		//Event.observe(window, 'keyup', this.keyPressHandler.bindAsEventListener(this));
		$('mailingListDropdownFieldFirstName').observe('keyup', this.keyPressHandler.bindAsEventListener(this));
		$('mailingListDropdownFieldLastName').observe('keyup', this.keyPressHandler.bindAsEventListener(this));
		$('mailingListDropdownFieldEmail').observe('keyup', this.keyPressHandler.bindAsEventListener(this));
		
		$('navigationMailingList').observe('click', this.open.bind(this));
		//$('mailingListDropdownButtonClose').observe('click', this.close.bind(this));
		$('mailingListDropdownButtonSubmit').observe('click', this.submit.bind(this));
		this.preloadImages();
	},
	
	mouseOver: function(button) {
		$('navigationMailingList').setStyle({ backgroundImage: 'url(/site_images/navigation-mailinglist-mo.jpg)' });
	},
	
	mouseOut: function(button) {
		$('navigationMailingList').setStyle({ backgroundImage: 'url(/site_images/navigation-mailinglist.jpg)' });
	},
	
	mouseDown: function() {
		$('navigationMailingList').setStyle({ backgroundImage: 'url(/site_images/navigation-mailinglist-mc.jpg)' });
		Event.stopObserving('navigationMailingList', 'mouseout');
		Event.stopObserving('navigationMailingList', 'mouseover');
	},
	
	keyPressHandler: function(e) {
		if (e.keyCode == 13) {
			this.submit();
		}
	},
	
	open: function() {
		preloadMailingListButtonCloseMO = new Image(66,27);
		preloadMailingListButtonCloseMO.src = '/site_images/mailinglist-button-close-mo.jpg';
		
		preloadMailingListButtonCloseMC = new Image(66,27);
		preloadMailingListButtonCloseMC.src = '/site_images/mailinglist-button-close-mc.jpg';
		
		preloadMailingListButtonSubmitMO = new Image(76,27);
		preloadMailingListButtonSubmitMO.src = '/site_images/mailinglist-button-submit-mo.jpg';
		
		preloadMailingListButtonSubmitMC = new Image(76,27);
		preloadMailingListButtonSubmitMC.src = '/site_images/mailinglist-button-submit-mc.jpg';
		
		preloadMailingListButtonLoader = new Image(76,27);
		preloadMailingListButtonLoader.src = '/site_images/mailinglist-button-submit-clear.jpg';
		
		preloadMailingListButtonSpinner = new Image(16,16);
		preloadMailingListButtonSpinner.src = '/site_images/mailinglist-loader.gif';
		
		$('mailingListDropdown').show();
		$('mailingListDropdownFieldFirstName').focus();
		$('navigationMailingList').setStyle({ backgroundImage: 'url(/site_images/navigation-mailinglist-mc.jpg)' });
		
		document.observe('click', this.close.bindAsEventListener(this));
	},
	
	close: function(e) {
		//alert("");
		if ((e.target.id != "mailingListDropdown") && (e.target.id != "navigationMailingList") && (e.target.id != "mailingListDropdownFieldFirstName") && (e.target.id != "mailingListDropdownFieldLastName") && (e.target.id != "mailingListDropdownFieldEmail") && (e.target.id != "mailingListDropdownButtonSubmit")) {
		
			$('mailingListDropdown').hide();
			$('navigationMailingList').setStyle({ backgroundImage: 'url(/site_images/navigation-mailinglist.jpg)' });
			//$('navigationMailingList:Hover').setStyle({ backgroundImage: 'url(/site_images/navigation-mailinglist.jpg)' });
			document.stopObserving('click', this.close.bindAsEventListener(this));
			$('navigationMailingList').observe('mouseover', this.mouseOver.bind(this));
			$('navigationMailingList').observe('mouseout', this.mouseOut.bind(this));
		}
	},
	
	submit: function() {
		this.firstName = $('mailingListDropdownFieldFirstName').value;
		this.lastName = $('mailingListDropdownFieldLastName').value;
		this.email = $('mailingListDropdownFieldEmail').value;
		
		if ((this.email == "") || (!this.isValidEmailAddress(this.email))){
			$('mailingListDropdownFieldEmail').setStyle({ backgroundImage: 'url(/site_images/mailinglist-field-error-bg.jpg)', color: '#fff', borderColor: '#636363' });
			$('mailingListDropdownLabelEmail').setStyle({ color: '#FF3300' });
		} else {
			
			$('mailingListDropdownFieldEmail').setStyle({ backgroundImage: 'url(/site_images/mailinglist-field-bg.jpg)', color: '#000', borderColor: '#cccccc' });
			$('mailingListDropdownLabelEmail').setStyle({ color: '#000' });
			
			$('mailingListDropdownButtonSubmit').hide();
			$('mailingListDropdownButtonSubmitLoader').show();
			
			new Ajax.Request('/216-231-5515/WebObjects/auction.woa/wa/addtomailinglist' + '?email=' + this.email + '&firstname=' + this.firstName + '&lastname=' + this.lastName, { method: 'post', 
				onComplete: this.submitSuccessful.bind(this)
			});
			
		}
		
	},
	
	
	submitSuccessful: function(request) {
		$('mailingListDropdownButtonSubmit').show();
		$('mailingListDropdownButtonSubmitLoader').hide();
		
		
		$('mailingListDropdown').update('<div id="mailingListDropdownMessage">Thank you for subscribing!</div>');
		setTimeout("$('mailingListDropdown').fade({ duration: 1 });", 2000);
		$('navigationMailingList').setStyle({ backgroundImage: 'url(/site_images/navigation-mailinglist.jpg)' });
		//$('navigationMailingList:Hover').setStyle({ backgroundImage: 'url(/site_images/navigation-mailinglist.jpg)' });
		document.stopObserving('click', this.close.bindAsEventListener(this));
		$('navigationMailingList').observe('mouseover', this.mouseOver.bind(this));
		$('navigationMailingList').observe('mouseout', this.mouseOut.bind(this));
		//alert("success");
	},
	
	isValidEmailAddress: function(emailAddress) {
		this.pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
		
		//alert(this.pattern.test(emailAddress));
		return this.pattern.test(emailAddress);
		},

	
	preloadImages: function() {
		preloadMailingListButtonMO = new Image(114,37);
		preloadMailingListButtonMO.src = '/site_images/navigation-mailinglist-mo.jpg';
		
		preloadMailingListButtonMC = new Image(114,37);
		preloadMailingListButtonMC.src = '/site_images/navigation-mailinglist-mc.jpg';
		
		preloadMailingListDropdownBG = new Image(332,188);
		preloadMailingListDropdownBG.src = '/site_images/mailinglist-bg.png';
		
		preloadMailingListButtonClose = new Image(60,27);
		preloadMailingListButtonClose.src = '/site_images/mailinglist-button-close.jpg';
		
		preloadMailingListButtonSubmit = new Image(70,27);
		preloadMailingListButtonSubmit.src = '/site_images/mailinglist-button-submit.jpg';
	}
});




var scrollerPosition = 0;

function handle(delta) {
	//alert(scrollerPosition);
	//alert($('scrollButton').getStyle('left'));
	$('auctionCalendarContainer').innerHTML = delta;
	delta = delta * 4;
	//alert("1");
	//$('scroller').setStyle({ left: '300px' });
	//alert("2");
	//zoom_slider.setValue("200");
	//pastAuctionsSlider.testSlider.setValue('1000');
	///////alert(delta);
	//alert(parseFloat($('scrollButton').getStyle('left')));
	//$('scrollButton').setStyle({ left: (parseFloat($('scrollButton').getStyle('left')) + delta) + 'px' });
	//alert(parseFloat($('scrollButton').getStyle('left')) * 100);
	//pastAuctionsSlider.testSlider.setValue(parseFloat($('scrollButton').getStyle('left')) * 100);
	//pastAuctionsSlider.testSlider.setValue(parseFloat($('scrollButton').getStyle('left')) + delta);
	////////alert($('scrollButton').getStyle('left'));
	///////alert(parseFloat($('scrollButton').getStyle('left')) + delta);
	//alert(delta);
	////////alert(parseFloat($('scroller').getStyle('left')) + delta);
	//////pastAuctionsSlider.testslider.setValue(parseFloat($('scroller').getStyle('left')) + delta);
	//alert(parseFloat($('scroller').getStyle('left')));
	//scrollerPosition = parseFloat($('scroller').getStyle('left'));
	//scrollerPosition = scrollerPosition + delta;
	////////alert(parseFloat($('scroller').getStyle('left')));
	//alert(scrollerPosition);m
}

var PastAuctionsSlider = Class.create({
	initialize: function() {
		this.initSlider();
		
		/*
		//alert(parseFloat($('scroller').getStyle('left')));
		
		if (window.addEventListener)
        window.addEventListener('DOMMouseScroll', this.wheelHandler, false);
		window.onmousewheel = document.onmousewheel = this.wheelHandler;
		*/

	},
	
	initSlider: function() {
		var zoom_slider = $('zoom_slider'),
			rgb_slider = $('rgb_slider'),
			box = $('pastAuctionsSlide');
			
		this.slider = new Control.Slider(zoom_slider.down('.handle'), zoom_slider, {
			  //range: $R(0, 4582),
			range: $R(0, $('pastAuctionsSlide').getWidth() - 998),
			sliderValue: 0,
			onSlide: function(value) {
			box.setStyle({ right: value + 'px' });
			//alert(parseFloat($('scroller').getStyle('left')));
			$('scrollButton').setStyle({ left: $('scroller').getStyle('left') });
			},
			onChange: function(value) { 
			box.setStyle({ right: value + 'px' });
			//alert(value);
			//alert(parseFloat($('scroller').getStyle('left')));
			//alert($('scroller').getStyle('left'));
			$('scrollButton').setStyle({ left: $('scroller').getStyle('left') });
			//alert(parseFloat($('scrollButton').getStyle('left')));
			}
		});
		//alert(this.testSlider);
	},
	
	highlightSelecttion: function(a) {
		//alert(a.childNodes[3].childNodes[3].className);
		//document.getElementById().childNodes[0];
		a.childNodes[3].childNodes[1].setStyle({ color: '#D9D9D9' });
		a.childNodes[3].childNodes[3].setAttribute('src', '/site_images/auctions-past-view-button-mc.png');
	},
	
	unhighlightSelecttion: function(a) {
		//alert(a.childNodes[3].childNodes[3].className);
		//document.getElementById().childNodes[0];
		a.childNodes[3].childNodes[1].setStyle({ color: '#fff' });
		a.childNodes[3].childNodes[3].setAttribute('src', '/site_images/auctions-past-view-button.png');
	},
	
	wheelHandler: function(event) {
		//alert(event);
		this.delta = 0;
        if (!event) event = window.event;
		
        if (event.wheelDelta) {
			this.delta = event.wheelDelta/120;
			if (window.opera) this.delta = -this.delta;
        } else if (event.detail) {
			this.delta = -event.detail/3;
        }
		//alert(event);
        if (this.delta) handle(this.delta);
	},
	
	infoPanel: function() {
		//alert("");
		//new Effect.Move('pastAuctionsInfoPanel', { x: 0, y: 150, duration: 1, mode: 'absolute' });
	},
	
	/*
	highlightSelection: function(e) {
		if (e.target.className == "pastAuctionsSlideItemImage") {
			//alert(e.target.childNodes[1].className);
			//alert(e.target.parentNode.parentNode.className);
			//alert(e.target.parentNode.parentNode.childNodes[0].className);firstChild
			//alert(e.target.parentNode.parentNode.childNodes[1].getAttribute('class'));
			//alert(e.target.parentNode.parentNode.childNodes[0].className);
		}
	},*/
	
	scrollToPastAuctions: function() {
		Effect.ScrollTo('pastAuctionsContainer'); return false;
	},
	
	/*
	test: function() {
		//alert(e);
		alert(Event.wheel(e));
	},
	
	wheel:function (event){
		var delta = 0;
		if (!event) event = window.event;
		if (event.wheelDelta) {
			delta = event.wheelDelta/120; 
			if (window.opera) delta = -delta;
		} else if (event.detail) { delta = -event.detail/3;	}
		return Math.round(delta); //Safari Round
	},*/
		
	preloadImages: function() {
		preloadPastAuctionsScrollerMC = new Image(60,23);
		preloadPastAuctionsScrollerMC.src = '/site_images/auctions-slider-button-mc.jpg';
	}
});

var SubmitButtonEffects = Class.create({
	initialize: function(buttonID, srcSection) {	
		this.buttonID = buttonID;
		this.srcSection = srcSection;
	
		$(this.buttonID).observe('mouseover', this.mouseOver.bind(this));
		$(this.buttonID).observe('mouseout', this.mouseOut.bind(this));
		$(this.buttonID).observe('mousedown', this.mouseDown.bind(this));
		$(this.buttonID).observe('mouseup', this.mouseUp.bind(this));
	},
	
	mouseOver: function(button) {
		$(this.buttonID).setAttribute('src', this.srcSection + '-mo.jpg');
	},
	
	mouseOut: function(button) {
		$(this.buttonID).setAttribute('src', this.srcSection + '.jpg');
	},
	
	mouseDown: function(button) {
		$(this.buttonID).setAttribute('src', this.srcSection + '-mc.jpg');
	},
	
	mouseUp: function(button) {
		$(this.buttonID).setAttribute('src', this.srcSection + '-mo.jpg');
	}
});

function getFileExtension(filename) {
	return /[^.]+$/.exec(filename);
}

var ButtonEffects = Class.create({
	initialize: function() {	
		//this.buttonID = buttonID;
		//alert("inited");
	},
	
	mouseOver: function(src, object) {
		//alert(object.src);
		//alert(getFileExtension(object.src));
		$(object).setAttribute('src', '/site_images/' + src + '-mo.' + getFileExtension(object.src));
	},
	
	mouseOut: function(src, object) {
		$(object).setAttribute('src', '/site_images/' + src + '.' + getFileExtension(object.src));
	},
	
	mouseDown: function(src, object) {
		$(object).setAttribute('src', '/site_images/' + src + '-mc.' + getFileExtension(object.src));
	},
	
	mouseUp: function(src, object) {
		$(object).setAttribute('src', '/site_images/' + src + '-mo.' + getFileExtension(object.src));
	}
});

var TextFieldWithText = Class.create({
	initialize: function(textFieldID, value, idleColor, selectedColor, rollOverText) {
		//alert(textFieldID);
		this.textFieldID = textFieldID;
		this.value = value;
		this.idleColor = idleColor;
		this.selectedColor = selectedColor;
		
		this.wasSelected = false;
		
		if (rollOverText != null) {
			this.rollOverText = rollOverText;
			$(this.textFieldID).observe('mouseover', this.mouseOver.bind(this));
			$(this.textFieldID).observe('mouseout', this.mouseOut.bind(this));
		}
		$(this.textFieldID).observe('focus', this.selected.bind(this));
		$(this.textFieldID).observe('blur', this.unselected.bind(this));
		//$('goToLotTextField').observe('keyup', checkForLetters($('goToLotTextField')));
	},
	
	mouseOver: function() {
		if (!this.wasSelected) {
			$(this.textFieldID).value = this.rollOverText;
		}
	},
	
	mouseOut: function() {
		if (!this.wasSelected) {
			$(this.textFieldID).value = this.value;
		}
	},
	
	selected: function() {
		if(($(this.textFieldID).value == '') || ($(this.textFieldID).value == this.value) || ($(this.textFieldID).value == this.rollOverText))  {
			$(this.textFieldID).value = '';
			$(this.textFieldID).setStyle({ color: this.selectedColor });
		}
		this.wasSelected = true;
	},
	
	unselected: function() {
		if($(this.textFieldID).value == '') {
			$(this.textFieldID).setStyle({ color: this.idleColor });
			$(this.textFieldID).value = this.value;	
		}
		this.wasSelected = false;
	}
});


var PastAuctionsPreviewButton = Class.create({
	initialize: function() {
		$('auctionPreviewButton').observe('mouseover', this.mouseOver.bind(this));
		$('auctionPreviewButton').observe('mouseout', this.mouseOut.bind(this));
		$('auctionPreviewButton').observe('mousedown', this.mouseDown.bind(this));
		$('auctionPreviewButton').observe('mouseup', this.mouseUp.bind(this));
		this.preloadImages();
	},
	
	mouseOver: function(button) {
		$('auctionPreviewButton').setAttribute('src', '/site_images/auctions-preview-button-mo.jpg');
	},
	
	mouseOut: function(button) {
		$('auctionPreviewButton').setAttribute('src', '/site_images/auctions-preview-button.jpg');
	},
	
	mouseDown: function(button) {
		$('auctionPreviewButton').setAttribute('src', '/site_images/auctions-preview-button-mc.jpg');
	},
	
	mouseUp: function(button) {
		$('auctionPreviewButton').setAttribute('src', '/site_images/auctions-preview-button-mo.jpg');
	},

	preloadImages: function() {
		preloadPastAuctionsPreviewButtonMO = new Image(125,27);
		preloadPastAuctionsPreviewButtonMO.src = '/site_images/auctions-preview-button-mo.jpg';
		
		preloadPastAuctionsPreviewButtonMC = new Image(125,27);
		preloadPastAuctionsPreviewButtonMC.src = '/site_images/auctions-preview-button-mc.jpg';
	}
});


var SellingUpload = Class.create({
	initialize: function() {
		//document.getElementById('file_upload_form').onsubmit=function() {
			//document.getElementById('file_upload_form').target = 'upload_target'; //'upload_target' is the name of the iframe
		//}
		
		$('buttonEvaluation').observe('click', this.openWindow.bind(this));
		if ($('buttonCancel') != null) {
			$('buttonCancel').observe('click', this.closeWindow.bind(this));
		}

		this.preloadImages();
	},
	
	openWindow: function(button) {
		//$('curtain').show();
		$('uploadWindow').show();
	},
	
	closeWindow: function(button) {
		//$('curtain').hide();
		$('uploadWindow').hide();
	},
	
	uploadingProgress: function() {
		
	},
	
	validateForm: function() {

	},
	
	uploadSuccess: function() {

	},
	
	uploadFailed: function() {

	},
	
	mouseOver: function(buttonName) {
		$('button' + buttonName).setAttribute('src', '/site_images/selling-upload-button-' + buttonName + '-mo.jpg');
	},
	
	mouseOut: function(buttonName) {
		$('button' + buttonName).setAttribute('src', '/site_images/selling-upload-button-' + buttonName + '.jpg');
	},
	
	mouseDown: function(buttonName) {
		$('button' + buttonName).setAttribute('src', '/site_images/selling-upload-button-' + buttonName + '-mc.jpg');
		//setTimeout($('auctionPreviewButton').setAttribute('src', '/site_images/auctions-preview-button.jpg'), 3000);
	},
	
	mouseUp: function(buttonName) {
		$('button' + buttonName).setAttribute('src', '/site_images/selling-upload-button-' + buttonName + '-mo.jpg');
		//setTimeout($('auctionPreviewButton').setAttribute('src', '/site_images/auctions-preview-button.jpg'), 3000);
	},


	preloadImages: function() {
		preloadSellingEvaluationButtonMO = new Image(138,29);
		preloadSellingEvaluationButtonMO.src = '/site_images/selling-button-evaluation-mo.jpg';
		
		preloadSellingEvaluationButtonMC = new Image(138,29);
		preloadSellingEvaluationButtonMC.src = '/site_images/selling-button-evaluation-mc.jpg';
	}
});

var ShowCase = Class.create({
	initialize: function() {
		//alert("start");
		this.currentImage = 0;
		
		if (numberOfItems > 1) {
			this.update = setInterval(this.displayNext.bind(this), 15000);
		}

		this.preloadImages();
	},
	
	/*
	displayNext: function() {
		if (this.currentImage < numberOfItems) {
			alert(this.currentImage);
			$('homeImage' + this.currentImage).fade({ duration: 2.0 });
			$('featureInfo' + this.currentImage).fade({ duration: 2.0 });
			this.currentImage = this.currentImage + 1;
			$('homeImage' + this.currentImage).appear({ duration: 3.5 });
			$('featureInfo' + this.currentImage).appear({ duration: 3.5 });
			alert(this.currentImage);
		} else {
			alert("ekse: " + this.currentImage);
			$('homeImage' + this.currentImage).fade({ duration: 2.0 });
			$('featureInfo' + this.currentImage).fade({ duration: 2.0 });
			this.currentImage = 0;
			$('homeImage' + this.currentImage).appear({ duration: 3.5 });
			$('featureInfo' + this.currentImage).appear({ duration: 3.5 });
		}
		
		//alert(this.currentImage);
	},
	*/
	
	displayNext: function() {
		if (this.currentImage < numberOfItems) {
			//alert(this.currentImage);
			$('homeImage' + this.currentImage).fade({ duration: 2.0 });
			$('featureInfo' + this.currentImage).fade({ duration: 2.0 });
			
			this.currentImage = this.currentImage + 1;
			if(this.currentImage < numberOfItems) {
				//alert(this.currentImage);
				$('homeImage' + this.currentImage).appear({ duration: 3.5 });
				$('featureInfo' + this.currentImage).appear({ duration: 3.5 });
			} else {
				this.currentImage = 0;
				$('homeImage' + this.currentImage).appear({ duration: 3.5 });
				$('featureInfo' + this.currentImage).appear({ duration: 3.5 });
			}
		}	
	},
	
	preloadImages: function() {

	}
});



function getScrollTop()
{
   var doc = document.documentElement
   var body = document.body;
   return ((doc && doc.scrollTop) || (body && body.scrollTop || 0)) - (doc.clientTop || 0);
}

var SearchWindow = Class.create({
	initialize: function(curtain, currentWindow) {
		this.name = "search window";
		this.preloadImages();
		$('searchTopBarClose').observe('click', this.closeWindow.bindAsEventListener(this));
		$('buttonSubmitSearchQuery').observe('click', this.submitSearch.bindAsEventListener(this));
		$('searchQueryField').observe('keypress', this.keyPressHandler.bindAsEventListener(this));
		Event.observe(window, 'unload', this.saveScrollPosition.bindAsEventListener(this));
		
		//alert($('searchContentOverflow').innerHTML);
		this.windowIsOpen = false;
	},
	
	openWindow: function() {
		$('searchContainer').setStyle({ top: (getScrollTop() + 140) + "px" });
		document.body.style.overflow = 'hidden';
		
		if(currentWindow != null) {
			currentWindow.closeWindow();
		}
		curtain.openCurtain();
		$('buttonSearch').setStyle({ color: '#008CEB' });
		$('searchContainer').show();
		$('searchQueryField').focus();
		currentWindow = this;
		if(!$('searchContentOverflow').innerHTML == "") {
			//alert('dfsg');
			$('searchContainer').show();
			$('searchContainer').setStyle({ top: (getScrollTop() + 0) + 'px'});
			$('searchContents').setStyle({ height: document.viewport.getDimensions().height - 200 + 'px'});
			$('searchContainerShadowLeft').setStyle({ height: document.viewport.getDimensions().height - 200 + 'px'});
			$('searchContainerShadowRight').setStyle({ height: document.viewport.getDimensions().height - 200 + 'px'});
			$('searchContentOverflow').setStyle({ height: document.viewport.getDimensions().height - 200 + 'px'});
			try {
				$('searchContentOverflow').scrollTop = readCookie('searchScrollPos');
			} catch(e) {
			}
		}
		this.windowIsOpen = true;
		//alert("window opening " + readCookie('searchScrollPos'));
	},
	
	closeWindow: function() {
		document.body.style.overflow = 'auto';
		
		createCookie("searchScrollPos", $('searchContentOverflow').scrollTop, 1);
		//alert("window closing " + readCookie('searchScrollPos'));
		curtain.closeCurtain();
		$('searchContainer').hide();
		currentWindow = null;
		$('buttonSearch').setStyle({ color: '#000000' });
		this.windowIsOpen = false;
		
	},
	
	keyPressHandler: function(e) {
		if (e.keyCode == 13) { 
			this.submitSearch();
		}
	},
	
	resize: function() {
		$('searchContents').setStyle({ height: document.viewport.getDimensions().height - 200 + 'px'});
		$('searchContainerShadowLeft').setStyle({ height: document.viewport.getDimensions().height - 200 + 'px'});
		$('searchContainerShadowRight').setStyle({ height: document.viewport.getDimensions().height - 200 + 'px'});
		$('searchContentOverflow').setStyle({ height: document.viewport.getDimensions().height - 200 + 'px'});
	},
	
	submitSearch: function() {
		new Ajax.Request(applicationID + "/wa" + '/catalogv2search' + '?auctionID=' + auctionID + '&keywords=' + $('searchQueryField').value + "&wosid=" + session, { method: 'get', 
			onLoading: this.loading,
			onComplete: this.displayResults.bind(this)
		});
	},
	
	loading: function() {
		$('buttonSubmitSearchQuery').hide();
		$('buttonSubmitSearchQueryLoader').show();
	},

	displayResults: function(request) {
		$('searchContentOverflow').scrollTop = 0;
		
		$('buttonSubmitSearchQuery').show();
		$('buttonSubmitSearchQueryLoader').hide();
		
		$('searchContents').show();
		$('searchContentOverflow').update(request.responseText)
		new Effect.Move('searchContainer', { x: 115, y: (getScrollTop() + 0), duration: 0.3, mode: 'absolute' });
		
		new Effect.Morph('searchContents', { style: { height: (document.viewport.getDimensions().height - 200) + "px" }, duration: 0.8 });
		new Effect.Morph('searchContainerShadowLeft', { style: { height: (document.viewport.getDimensions().height - 200) + "px" }, duration: 0.8 });
		new Effect.Morph('searchContainerShadowRight', { style: { height: (document.viewport.getDimensions().height - 200) + "px" }, duration: 0.8 });
		new Effect.Morph('searchContentOverflow', { style: { height: (document.viewport.getDimensions().height - 200) + "px" }, duration: 0.8 });
	},
	
	preloadImages: function() {
		preloadSearchQuery = new Image(770,72);
		preloadSearchQuery.src = '/catalogv2_images/search-querybox-bg.png';
		
		preloadButtonSearch = new Image(73,27);
		preloadButtonSearch.src = '/catalogv2_images/button-search.jpg';
		
		preloadButtonSearchClear = new Image(73,27);
		preloadButtonSearchClear.src = '/catalogv2_images/button-search-clear.jpg';
		
		preloadLoaderSearch = new Image(73,27);
		preloadLoaderSearch.src = '/catalogv2_images/loader-search.gif';
		
		preloadSearchTextFieldBG = new Image(1,27);
		preloadSearchTextFieldBG.src = '/catalogv2_images/search-field-bg.jpg';
		
		preloadSearchTextFieldLeft = new Image(12,27);
		preloadSearchTextFieldLeft.src = '/catalogv2_images/search-field-left.jpg';
		
		preloadSearchClose = new Image(23,23);
		preloadSearchClose.src = '/catalogv2_images/window-search-close.jpg';
		
		preloadSearchCloseMO = new Image(23,23);
		preloadSearchCloseMO.src = '/catalogv2_images/window-search-close-mo.jpg';
		
		preloadSearchCloseMC = new Image(23,23);
		preloadSearchCloseMC.src = '/catalogv2_images/window-search-close-mc.jpg';
	},
	
	saveScrollPosition: function() {
		//alert(this.windowIsOpen);
		if (this.windowIsOpen) {
			createCookie("searchScrollPos", $('searchContentOverflow').scrollTop, 1);
			//alert(readCookie('searchScrollPos'));
		}
	}
	
});


var LoginWindow = Class.create({
	initialize: function(curtain, currentWindow) {
		//document.body.style.overflow = 'hidden';
		this.preloadImages();
		$('loginTopBarClose').observe('click', this.closeWindow.bind(this));
		$('buttonLogin').observe('click', this.login.bind(this));
		$('loginFieldBidderID').observe('keypress', this.keyPressHandler.bindAsEventListener(this));
		$('loginFieldPassword').observe('keypress', this.keyPressHandler.bindAsEventListener(this));
	},
	
	openWindow: function(nextWindow) {
		//document.body.style.overflow = 'auto';
		//alert(getScrollTop());
		$('loginContainer').setStyle({ top: (getScrollTop() + 160) + "px" });
		//alert("test");
		document.body.style.overflow = 'hidden';
		if(currentWindow != null) {
			currentWindow.closeWindow();
		}
		curtain.openCurtain();
		$('loginContainer').show();
		//alert("test");
		$('loginFieldBidderID').focus();
		currentWindow = this;
		this.nextWindow = nextWindow;
	},
	
	closeWindow: function(e) {
		document.body.style.overflow = 'auto';
		curtain.closeCurtain();
		$('loginContainer').hide();
		$('loginFieldBidderID').value = "";
		$('loginFieldPassword').value = "";
		$('loginErrorMessage').update('');
		currentWindow = null;
	},
	
	
	keyPressHandler: function(e) {
		if (e.keyCode == 13) { 
			$('buttonLogin').setStyle({ backgroundImage: 'url(/catalogv2_images/button-login-mc.jpg)' });
			setTimeout("$('buttonLogin').setStyle({ backgroundImage: 'url(/catalogv2_images/button-login.jpg)' });", 300);
			this.login();
		}
	},

	login: function() {
		this.bidderID = $('loginFieldBidderID').value;
		this.password = $('loginFieldPassword').value;
				
		if((this.bidderID == "") || (this.password == "")) {
			Effect.Shake('loginContainer', { duration: 0.3, distance:10 });
			$('loginErrorMessage').update('You left one of the fields empty');
			//$('loginErrorMessage').show();
		} else {
			new Ajax.Request(applicationID + "/wa" + '/loginxml' + '?username=' + this.bidderID + '&password=' + this.password + '&wosid=' + session, { method: 'post', 
				onComplete: this.loginSuccessful.bind(this)
			});
		}
	},
	
	loginSuccessful: function(request) {
		
		this.loginXML = request.responseXML.getElementsByTagName("checklogin");
		this.loginBoolean = this.loginXML[0].getElementsByTagName("login")[0].firstChild.nodeValue;
		//this.bidderID = this.loginXML[0].getElementsByTagName("bidderid")[0].firstChild.nodeValue;
		
		this.bidderID;
		try {
			this.bidderID = this.loginXML[0].getElementsByTagName("bidderid")[0].firstChild.nodeValue;
		} catch(e) {
			this.bidderID = "";
		}
		
		this.errorMessage;
		try {
			this.errorMessage = this.loginXML[0].getElementsByTagName("error_message")[0].firstChild.nodeValue;
		} catch(e) {
			this.errorMessage = "";
		}
		
		if (this.loginBoolean == "true") {
			loggedIn = true;
			createCookie("bidderid", this.bidderID, 355);
			createCookie("bidderpassword", this.password, 355);
			
			this.closeWindow();
			if(this.nextWindow != null) {
				this.nextWindow.openWindow();	
			}
			
			if(pageType == "bidding") {
			$('biddingTopBidderTextLoggedIn').update("You are bidder #" + this.bidderID);
			$('biddingTopInfo').hide();
			//$('biddingTopInfoLoggedIn').show();
			$('biddingTopInfoLoggedIn').appear();
			
			$('biddingTopMinBidIncrementLoggedIn').appendChild($('biddingHistoryTopPlaceBidMinBid'));
			$('biddingTopMinBidIncrementLoggedIn').appendChild($('biddingHistoryTopPlaceBidIncrement'));
		}
		} else {
			if (!(BrowserDetect.browser == "Explorer")) {
				//Effect.Shake('loginContainer');
				Effect.Shake('loginContainer', { duration: 0.3, distance:10 });
			}

			$('loginErrorMessage').update(this.errorMessage);
			$('loginErrorMessage').show();
		}
		
		
	},
	
	preloadImages: function() {
		ImagePreloadBLoginBG = new Image(450,265);
		ImagePreloadBLoginBG.src = "/catalogv2_images/window-login-bg.png";
		
		ImagePreloadButtonLogin = new Image(71,29);
		ImagePreloadButtonLogin.src = "/catalogv2_images/button-login.jpg";
		
		ImagePreloadButtonLoginMO = new Image(71,29);
		ImagePreloadButtonLoginMO.src = "/catalogv2_images/button-login-mo.jpg";
		
		ImagePreloadButtonLoginMC = new Image(71,29);
		ImagePreloadButtonLoginMC.src = "/catalogv2_images/button-login-mc.jpg";
		
		preloadLoginClose = new Image(23,23);
		preloadLoginClose.src = '/catalogv2_images/window-login-close.jpg';
		
		preloadLoginCloseMO = new Image(23,23);
		preloadLoginCloseMO.src = '/catalogv2_images/window-login-close-mo.jpg';
		
		preloadLoginCloseMC = new Image(23,23);
		preloadLoginCloseMC.src = '/catalogv2_images/window-login-close-mc.jpg';
	}
});

var addLotToFavoritesAfterLogIn = Class.create({
	initialize: function(favoritesWindow, lotID, object) {
		this.favoritesWindow = favoritesWindow;
		this.lotID = lotID;
		this.object = object;
	},
	
	openWindow: function() {
		this.favoritesWindow.addFavorite(this.lotID, this.object);
		//alert("finished adding lot" + loggedIn);
	}
	
});


var FavoritesWindow = Class.create({
	initialize: function(curtain, currentWindow, loginWindow) {
		this.name = "favorites window";
		$('favoritesTopBarClose').observe('click', this.closeWindow.bindAsEventListener(this));
		$('favoritesContainer').hide();
		Event.observe(window, 'resize', this.resize.bindAsEventListener(this));
		Event.observe(window, 'unload', this.saveScrollPosition.bindAsEventListener(this));
		$('favoritesButtonLogout').observe('click', this.deleteCookie.bindAsEventListener(this));
		
		this.preloadImages();
		//this.windowWasOpen = false;
		this.windowIsOpen = false;
	},

	openWindow: function() {
		//alert("open fav");
		$('favoritesContainer').setStyle({ top: (getScrollTop() + 50) + "px" });
		document.body.style.overflow = 'hidden';
		this.windowIsOpen = true;
		this.resize();
		//alert(currentWindow);
		if(currentWindow != null) {
			currentWindow.closeWindow();
		}
		curtain.openCurtain();
		if(loggedIn == true) {
			$('buttonFavorites').setStyle({ color: '#008CEB' });
			$('favoritesContainer').show();
		}
		//addCSSFile("/aspirecatalogv2favprint.css");
		currentWindow = this;
		this.getCatalogv2favorites();
		//alert("sdfsdfg");
		//alert();
		//this.windowWasOpen = true;
		//alert("open fav - end");
	},
	
	closeWindow: function() {
		if (loggedIn == true) {
			document.body.style.overflow = 'auto';
		}
		//alert("close fav");
		createCookie("favoritesScrollPos", $('favoritesContentOverflow').scrollTop, 0.042);
		//alert("reading cookie" + readCookie('favoritesScrollPos'));
		curtain.closeCurtain();
		$('favoritesContainer').hide();
		//this.currentWindow = null;
		currentWindow = null;
		this.windowIsOpen = false;
		$('buttonFavorites').setStyle({ color: '#000000' });
		//alert();
		//alert($('favoritesContentOverflow').scrollTop);
		//alert("open fav - end");
	},
	
	getCatalogv2favorites: function() {
		//alert(url('/catalogv2favorites' + "?auctionID=" + auctionID + "&wosid=" + session));
		//alert('/catalogv2favorites' + "?auctionID=" + auctionID + "&wosid=" + session);
		new Ajax.Request(applicationID + "/wa" + '/catalogv2favorites' + "?auctionID=" + auctionID + "&wosid=" + session, { method: 'post', 
			onComplete: this.processCatalogv2favorites.bind(this)
		});
	},
	
	processCatalogv2favorites: function(request) {
		if (request.responseText.search(/userIsNotLoggedIn/) != -1) {
			//loginWindow.setNextWindow(this);
			//alert(request.responseText);
			loginWindow.openWindow(this);
		} else {
			this.display(request);
			$('buttonFavorites').setStyle({ color: '#008CEB' });
			$('favoritesContainer').show();
		}
	},
	
	
	display: function(request) {
		//alert(readCookie('favoritesScrollPos'));
		$('favoritesContentOverflow').update(request.responseText);
		try {
			//alert('scroll');
			$('favoritesContentOverflow').scrollTop = readCookie('favoritesScrollPos');
		} catch(e) {
		}
	},
	
	removeFavorite: function(favoriteID, object) {
		//alert(favoritesID + object);
		new Ajax.Request(applicationID + "/wa" + '/removefromfavoritesv2' + "?favoriteID=" + favoriteID + "&wosid=" + session, { method: 'get', 
			onComplete: function(request) { Effect.Fade(object.parentNode, { duration: 0.5 }); }
		});
	},
	
	addFavorite: function(lotID, object) {
		if(loggedIn == true) {
			new Ajax.Request(applicationID + "/wa" + '/addtofavoritesv2' + '?lotID=' + lotID + '&wosid=' + session, { method: 'get', 
				onComplete: this.addFavoriteOnComplete.bind(this, lotID, object)
			});
			
		} else {
			loginWindow.openWindow(new addLotToFavoritesAfterLogIn(this, lotID, object));	
		}
	},
	
	addFavoriteOnComplete: function(lotID, object, request) {
		if(request.responseXML.getElementsByTagName("result")[0].firstChild.nodeValue == "0") {
			loginWindow.openWindow(new addLotToFavoritesAfterLogIn(this, lotID, object));
		}
		//var closingLotConnection = request.responseXML.getElementsByTagName("item");
		//var lotnumber = closingLotConnection[0].getElementsByTagName("lotnumber")[0].firstChild.nodeValue;
		
		//alert(request.responseXML.getElementsByTagName("result"));
		Effect.Fade(object, { duration: 0.2 });
		
		var lotAddedMessage = document.createElement("div");
		lotAddedMessage.className = "labelInFavorites";
		lotAddedMessage.innerHTML = "Lot Added";
		object.parentNode.appendChild(lotAddedMessage);
		//object.parentNode.insert('<div class="labelInFavorites">Lot Added</div>', 'bottom');
	},
	
	resize: function() {
		/*
		if (document.viewport.getDimensions().width < 1000) {
			$('favoritesContents').setStyle({ width: document.viewport.getDimensions().width - 50 + 'px'});
			$('favoritesContainerShadowTop').setStyle({ width: document.viewport.getDimensions().width - 10 + 'px'});
			$('favoritesContainerShadowBottom').setStyle({ width: document.viewport.getDimensions().width - 10 + 'px'});
			//$('favoritesContentOverflow').setStyle({ width: document.viewport.getDimensions().width - 190 + 'px'});
		}*/
		
		if(this.windowIsOpen) {
			//alert("window is open");
			if (document.viewport.getDimensions().height < 600) {
				$('favoritesContents').setStyle({ height: document.viewport.getDimensions().height - 75 + 'px'});
				$('favoritesContentOverflow').setStyle({ height: document.viewport.getDimensions().height - 130 + 'px'});
				$('favoritesContainerShadowLeft').setStyle({ height: document.viewport.getDimensions().height - 75 + 'px'});
				$('favoritesContainerShadowRight').setStyle({ height: document.viewport.getDimensions().height - 75 + 'px'});	
			} else {
				$('favoritesContents').setStyle({ height: document.viewport.getDimensions().height - 135 + 'px'});
				$('favoritesContentOverflow').setStyle({ height: document.viewport.getDimensions().height - 190 + 'px'});
				$('favoritesContainerShadowLeft').setStyle({ height: document.viewport.getDimensions().height - 135 + 'px'});
				$('favoritesContainerShadowRight').setStyle({ height: document.viewport.getDimensions().height - 135 + 'px'});
			}
		}
	},
	
	preloadImages: function() {
		preloadButtonRemove = new Image(70,25);
		preloadButtonRemove.src = '/catalogv2_images/button-remove.jpg';
		
		preloadButtonRemoveMO = new Image(70,25);
		preloadButtonRemoveMO.src = '/catalogv2_images/button-remove-mo.jpg';
		
		preloadButtonRemoveMC = new Image(70,25);
		preloadButtonRemoveMC.src = '/catalogv2_images/button-remove-mc.jpg';
		
		preloadButtonLogout = new Image(71,28);
		preloadButtonLogout.src = '/catalogv2_images/button-logout.jpg';
		
		preloadButtonLogoutMO = new Image(71,28);
		preloadButtonLogoutMO.src = '/catalogv2_images/button-logout-mo.jpg';
		
		preloadButtonLogoutMC = new Image(71,28);
		preloadButtonLogoutMC.src = '/catalogv2_images/button-logout-mc.jpg';
		
		preloadFavoritesShadowTop = new Image(1040,20);
		preloadFavoritesShadowTop.src = "/catalogv2_images/window-shadow-top2.png";
			
		preloadFavoritesShadowBottom = new Image(1040,20);
		preloadFavoritesShadowBottom.src = "/catalogv2_images/window-shadow-bottom2.png";
		
		preloadFavoritesTopBar = new Image(34,1);
		preloadFavoritesTopBar.src = "/catalogv2_images/window-topbar-bg.jpg";
		
		preloadFavoritesGridBar = new Image(22,1);
		preloadFavoritesGridBar.src = "/catalogv2_images/window-gridbar-bg.jpg";
		
		preloadFavoritesClose = new Image(23,23);
		preloadFavoritesClose.src = '/catalogv2_images/window-favorites-close.jpg';
		
		preloadFavoritesCloseMO = new Image(23,23);
		preloadFavoritesCloseMO.src = '/catalogv2_images/window-favorites-close-mo.jpg';
		
		preloadFavoritesCloseMC = new Image(23,23);
		preloadFavoritesCloseMC.src = '/catalogv2_images/window-favorites-close-mc.jpg';
	},
	
	saveScrollPosition: function() {
		//alert(this.windowWasOpen);
		if (this.windowIsOpen) {
			createCookie("favoritesScrollPos", $('favoritesContentOverflow').scrollTop, 0.042);
			//alert(readCookie('favoritesScrollPos'));
		}
	},
	
	deleteCookie: function() {
		//Deletes old www domain cookies
		document.cookie = "bidderid=;expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/";
		document.cookie = "bidderpassword=;expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/";
	}
});


function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/; domain=.aspireauctions.com";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}



var Curtain = Class.create({
	initialize: function() {
		Event.observe(window, 'resize', this.resize.bindAsEventListener(this));
		this.resize();
		
		if(pageType == 'categories') {
			$('curtain').setStyle({ top: '33px'});	
		}
	},
	
	openCurtain: function() {
		$('curtain').setStyle({ top: getScrollTop() + "px" });
		$('curtain').show();
	},
	
	closeCurtain: function() {
		$('curtain').hide();
	},
	
	resize: function() {
		$('curtain').setStyle({ height: document.viewport.getDimensions().height + 'px'});
	}
});



function loadApp() {
	preloadSiteImages();
	
	if (pageType == 'Home') {
		window.showCase = new ShowCase();
		window.buttonEffects = new ButtonEffects();
		window.homeMailingListSubscribe = new HomeMailingListSubscribe();
		window.homeMailingListSubscribe = new TextFieldWithText('mailingListField', 'email', '#fff', '#fff');
	}
	
	if (pageType != 'Register') {
		window.navigation = new Navigation();
		//window.mailingListDropdown = new MailingListDropdown();
		window.mailingListSubscribe = new MailingListSubscribe();
		window.upcomingAuctionSubscribeField = new TextFieldWithText('navigationMailingListField', 'subscribe to mailing list', '#333333', '#000', 'provide your email');
	}
	
	if (pageType == 'Register') {
		window.buttonEffects = new ButtonEffects();
	}
	//alert("test");

	if (pageType == 'Auctions') {
		window.pastAuctionsSlider = new PastAuctionsSlider();
		window.pastAuctionsSearchField = new TextFieldWithText('pastAuctionsSearchField', 'search sold lots', '#686868', '#000');
		//window.pastAuctionsSearchButton = new SubmitButtonEffects('pastAuctionsSearchButton', '/site_images/auctions-search-button');
		window.buttonEffects = new ButtonEffects();
		window.auctionsBrowseIndexPanel = new AuctionsBrowseIndexPanel();
	}
	
	if (pageType == 'Upcoming Auction') {
		window.upcomingAuctionSubscribe = new UpcomingAuctionSubscribe();
		window.upcomingAuctionSubscribeField = new TextFieldWithText('upcomingAuctionSubscribeField', 'auction notices', '#EDEDED', '#fff', 'provide your email address');
	}
	
	if (pageType == 'Selling') {
		window.sellingUpload = new SellingUpload();
		window.buttonEffects = new ButtonEffects();
	}
	
	if (pageType == 'Locations') {
		window.buttonEffects = new ButtonEffects();
	}
	
	if (pageType == 'Index Artist List') {
		window.artistSearch = new TextFieldWithText('indexArtistSearchField', 'search artists', '#CCC', '#FFF');
	}
	
	if (pageType == 'Auction Highlights') {
		window.buttonEffects = new ButtonEffects();
		window.currentWindow = null;
		window.curtain = new Curtain();
		
		window.searchWindow = new SearchWindow(window.curtain);
		$('buttonSearch').observe('click', window.searchWindow.openWindow.bind(window.searchWindow));
		
		window.favoritesWindow = new FavoritesWindow(window.curtain, window.currentWindow, window.loginWindow);
		$('buttonFavorites').observe('click', window.favoritesWindow.openWindow.bind(window.favoritesWindow));
		
		window.loginWindow = new LoginWindow(window.curtain);
		
		
		//window.loginWindow = new LoginWindow(window.curtain);
		window.auctionHighlightsGoToLotField = new TextFieldWithText('goToLotField', 'lot#', '#686868', '#333');
		window.auctionHighlightsSearchField = new TextFieldWithText('searchField', 'search lots', '#686868', '#333');
	}
}
