window.baseUrl = document.firstChild.id ? document.firstChild.id : document.firstChild.nextSibling.id;
	
document.observe('dom:loaded', function() {
										
	//	blocking right click (on customer demand...)
	document.body.oncontextmenu = function() {
		alert("All material copyrighted by Valentine Model 2007.");
		return false;
	}
	
	
	if ($('tomain')) {
		//	animate sliding label of 'back to main'
		$('tomain').onmouseover = function() {
			new Effect.Morph($$('.arr-back')[0], {
				style: {
					width: '38px',
					left: '-38px'
				},
				duration: 0.3
			});
		}		
		$('tomain').onmouseout = function() {
			new Effect.Morph($$('.arr-back')[0], {
				style: {
					width: '0px',
					left: '0px'
				},
				duration: 0.2
			});
		}
	}
	
	//	create mouseover for thumbnails
	$$('.hashover .thumb').each(function(el) {
		el.onmouseover = function() {
			Element.addClassName(el, 'hover');
		}
		el.onmouseout = function() {
			Element.removeClassName(el, 'hover');
		}
	});
	
	if ($(document.body).hasClassName('hotnews')) window.mylw = new lightwindow();
	
	if ($(document.body).hasClassName('become')) {
		if ($('form_model_text')) {
			become_handler.init();
		}
	}
	
/*	if (document.body.hasClassName('index')) {
		//	create tooltip-like floater for thumbs with labels
		$$('.thumb label').each(function(element) {
			var id = element.up('.thumb').id;
			var content = element.innerHTML;
			new Tip (
				element.up('.thumb'), 
				content, 
				{ 
					viewport: false, 
					className: 'prototip-shadow',
					delay: 0,
					offset: { x:20, y:-14 }
				}
			);
		});
	}
*/	
//	default_inputs();
	
});

/*	INPUT MASKING	*/
function init_masking() {
	$$('input.date_mask').each(function(el) {
		oMask = new Mask("####-##-##");
		oMask.attach(el);
	});
}

/*	THUMBNAIL SCROLLER	*/
function thumbnailer(container, rows) {
	if (!rows) rows = 1;
	this.container = $(container);
	this.btns = this.container.next('.btns');
	this.thumbs = this.container.down('.thumbnails');
	this.thumb = this.thumbs.down('.thumb');
	this.thumb_num = Math.ceil($$('#' + container + ' .thumb').length / rows);
	if (this.thumb_num > 0)
	{
		var m_l = (this.thumb.getStyle('marginLeft')) ? parseInt(this.thumb.getStyle('marginLeft')) : 0;
		var m_r = (this.thumb.getStyle('marginRight')) ? parseInt(this.thumb.getStyle('marginRight')) : 0;
		//	total width of thumb incl margins
		this.thumb_w = this.thumb.getWidth() + m_l + m_r;
		this.visible = Math.round(this.container.getWidth() / this.thumb_w);
		this.max_scroll = (this.thumb_num - this.visible) * this.thumb_w;
	}
}
thumbnailer.prototype = {
	init: function() 
	{
		//	set the width of the scrolled div
		this.thumbs.style.width = (this.thumb_w * this.thumb_num > this.container.getWidth())
			? this.thumb_w * this.thumb_num + 'px'
			: this.container.getWidth() + 'px';
		
		// init scroller only if content is bigger than container
		if (this.thumbs.offsetWidth-3 > this.container.offsetWidth)
		{
			// hide prev btns
			Element.addClassName(this.btns.down('.first'), 'disabled');
			Element.addClassName(this.btns.down('.prev'), 'disabled');
			
			// set handle width based on content
			var handle_w = (this.container.offsetWidth * this.container.offsetWidth / this.thumbs.offsetWidth);
			handle_w = handle_w < 50 ? 50 : handle_w;
			$('hslider-handle').setStyle({ width: handle_w + 'px' });
			
			//	create slider
			this.pictScroller = new Control.Slider('hslider-handle','hslider-track',{
				range: $R(0, this.thumb_w * (this.thumb_num - this.visible))
			});
			
			oThis = this;
			this.pictScroller.options.onSlide = function(v)
			{
				oThis.thumbs.style.left = (0 - v) + 'px';
			};
			this.pictScroller.options.onChange = function(v)
			{
				for (var i = 0; i < v; i += oThis.thumb_w) {}
				if (0 - i + 'px' != oThis.thumbs.style.left) {
					new Effect.Morph(oThis.thumbs, {
						style: {
							left: (0 - i) + 'px'
						},
						duration: 0.3,
						afterFinish: function() {
							oThis.pictScroller.setValue(i);
						}
					});
				}
				
				oThis.update_btns(v);
			};
			
		} else {
			$('hslider-handle').hide();
			this.btns.descendants().each(function(el) {
				Element.addClassName(el, 'disabled');
				el.onclick = function() {
					return false;
				}
			});
		}
	},
	jump: function(num) 
	{
		var new_value =  this.thumb_w * num + Math.abs(parseInt(this.thumbs.getStyle('left')));
		if (new_value < 0) new_value = 0;
		if (new_value > this.max_scroll) new_value = this.max_scroll;
		this.pictScroller.setValue(new_value);
	},
	first: function() {
		this.pictScroller.setValue(0);
	},
	last: function() {
		this.pictScroller.setValue(this.max_scroll);
	},
	update_btns: function(v) {
		
		if (v == 0) {
			Element.addClassName(this.btns.down('a.prev'), 'disabled');
			Element.addClassName(this.btns.down('a.first'), 'disabled');
		} else {
			Element.removeClassName(this.btns.down('a.prev'), 'disabled');	
			Element.removeClassName(this.btns.down('a.first'), 'disabled');					
		}
		if (v == oThis.max_scroll) {
			Element.addClassName(this.btns.down('a.next'), 'disabled');
			Element.addClassName(this.btns.down('a.last'), 'disabled');
		} else {
			Element.removeClassName(this.btns.down('a.next'), 'disabled');	
			Element.removeClassName(this.btns.down('a.last'), 'disabled');					
		}	
	}
}


		

/*	MOUSEWHEEL	*/
function scrollpix(delta) {
	if (delta < 0) thumbnailer.jump(1);
	else thumbnailer.jump(-1);
}

function wheel(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;
	}
	if (delta) scrollpix(delta);
	if (event.preventDefault) event.preventDefault();
	event.returnValue = false;
}





/*	GENERAL	*/
function default_inputs() {
	// input defaults...
	$$('input.field').each(function(val, idx) {
		val = $(val);
		val.onfocus = function() {
			if (val.value == val.defaultValue) val.value = "";
		}
		val.onblur = function() {
			if (val.value == "") val.value = val.defaultValue;
		}
	});
	$$('textarea.field').each(function(val, idx) {
		val = $(val);
		val.onfocus = function() {
			if (val.value == val.defaultValue) val.value = "";
		}
		val.onblur = function() {
			if (val.value == "") val.value = val.defaultValue;
		}
	});
}


/*	VALIDATE & SEND MESSAGE */
function sendmessage() {
	//	setup
	var feedback = '';
	var form = $('sendmessage');
	//	get field values
	var _name = form.down('input[name="name"]').value;
	var _email = form.down('input[name="email"]').value;
	var _subject = form.down('input[name="subject"]').value;
	var _msg = form.down('textarea').value;
	
	//	validate values
	$$('#sendmessage .field').each(function(el) {
		if (el.value == el.defaultValue) feedback = 'Kérem töltsön ki minden mezőt!<br /><br />Please fill out all fields!'
	});
	
	//	send values
	if (feedback == '') {
		new Ajax.Request('.', {
			parameters: {
				ajaxCommand: 'sendmessage',
				name: _name,
				email: _email,
				subject: _subject,
				msg: _msg
				
			},
			onComplete: function(transport, json) {
				if (json.feedback) 	myalert('', json.feedback);
				return;
			}
		});
	} else {
		myalert('', feedback);
	}
}





function register() {
	var form = $('form_model_text');
	var pass = true;
	form.select('input.must').each( function(el) {
		if ($F(el) == '') {
			el.addClassName('hilite');
			el.observe('focus', function() {
				this.removeClassName('hilite');
			});
			pass = false;
		}
	})
	
	if (pass) {
		new Ajax.Request('.', {
			parameters: form.serialize(true),
			onComplete: function(transport, json) {
				if (json.feedback) 	myalert('', json.feedback);
			}
		});
	} else {
		myalert('', phrases.empty_field);
	}
}




/*	STYLIZED ALERT, CONFIRM, LOGIN WINDOWS	*/
function myalert (title, msg) {
	Dialog.alert('<div class="float_logo"></div><br />' + msg + '<br />', {
		title: title,
		className: 'vmwindow', 
		resizable: false,
		draggable: false,
		closable: false, 
		minimizable: false, 
		maximizable: false,
		showEffectOptions: { 
			afterFinish: function() { 
				$$('.dialog input.ok_button')[0].focus();
			}
		},
		destroyOnClose: true,
		width: 291, 
		okLabel: "&nbsp;"
	});
}

function togglelogin() {
	if (Windows.getFocusedWindow()) {
		Windows.closeAll();
	} else {
		Dialog.info($('login_box').innerHTML, {
			className:"vmwindow", 
			width: 291,
			height: 162,
			okLabel: "&nbsp;", 
			cancelLabel: "&nbsp;", 
			showEffectOptions: { 
				afterFinish: function() { 
					$$('.dialog form')[0].focusFirstElement();
				}
			},
			effectOptions: {
				duration: 0.5
			}
		});
	}
}

function login() {
	var form = $$('.dialog .vmwindow_message')[0];
	var _user = form.down('input[name="username"]').value;
	var _password = form.down('input[name="password"]').value;
	if (_password == '' || _user == '') return;
	new Ajax.Request('.', {
		parameters: {
			ajaxCommand: 'checklogin',
			user: _user,
			password: _password
		},
		onComplete: function(transport, json) {
			form.down('.login_error').update(json.feedback);
			form.down('.login_error').show();
			Windows.focusedWindow.updateHeight();
			if (json.login) {
				setTimeout("Dialog.cancelCallback()", 1000);
				setTimeout("window.location.reload()", 2500);
			} else {
				$$('.dialog form')[0].focusFirstElement();
			//	$$('.dialog .vmwindow_extra-element').update($('forgot_login').innerHTML);
			}
		}
	});
}

function open_footage_sender() {
	if (Windows.getFocusedWindow()) {
		Windows.closeAll();
	} else {
		Dialog.info($('footagesender').innerHTML, {
			className:"vmwindow", 
			width: 350, 
			okLabel: "send", 
			cancelLabel: "cancel", 
			showEffectOptions: { 
				afterFinish: function() { 
					$$('.dialog input.ok_button')[0].focus();
					$$('.vmwindow_message #form_footagesender')[0].observe('submit', send_footage);
				}
			},
			effectOptions: {
				duration: 0.5
			}
		});
	}
}

function send_footage(e) {
	e.stop();
	form = e.element();
	new Ajax.Request('.', {
		parameters: form.serialize(true),
		onComplete: function(transport, json) {
			form.down('.login_error').update(json.feedback);
			if (!json.error) {
				setTimeout("Dialog.cancelCallback()", 1000);
			}
		}
	});	
}

function logout() {
	new Ajax.Request('.', {
		parameters: {
			ajaxCommand: 'logout'
		},
		onComplete: function(transport, json) {
			if (json.feedback == 'ok') 
			{
				var i = Math.ceil(3*Math.random());
				if (i == 1) myalert('', 'Köszönöm látogatásod!<br /><br />Thank you for visiting!');
				else if (i == 2) myalert('', 'Nézz be máskor is!<br /><br />Come again anytime!');
				else if (i == 3) myalert('', 'Legyen szép napod!<br /><br />Have a nice day!');
				setTimeout("window.location.reload()", 2000);
			}
		}
	});
}


/*	BECOME A MODEL	*/
var become_handler = {
	// vars
	upload_inprogress: 0,
	
	// functs
	init: function() {
		// hidden iframe for ajaxed uploading
		new Insertion.Bottom(document.body,	'<iframe id="hidden1" name="hidden1" style="display: none;"></iframe>');
		new Insertion.Bottom(document.body,	'<iframe id="hidden2" name="hidden2" style="display: none;"></iframe>');
		new Insertion.Bottom(document.body,	'<iframe id="hidden3" name="hidden3" style="display: none;"></iframe>');
		
		this.form = $('form_model_text');
		$$('form.form_upload_photo input[name="image"]').each(function(el) {
			el.observe('change', this.upload_photo.bindAsEventListener(this));
		}.bind(this));
		this.form.observe('submit', this.submit.bindAsEventListener(this));
		$('inp_ok_btn').observe('click', this.submit.bindAsEventListener(this));
		
	},
	
	upload_photo: function(e) {
		var inp = e.element();
		var form = inp.up('form');
		form.down('.progress_indicator').addClassName('inprogress');
		form.down('label').update(phrases.uploading);
		this.upload_inprogress++;
		form.submit();
	},
	
	upload_complete: function(fieldnum, error) {
		this.upload_inprogress--;
		var form = $('form_upload_photo'+fieldnum);
		var label = form.down('label');
		form.down('.progress_indicator').removeClassName('inprogress');
		if (!error) {
			form.down('.fields').hide();
			label.update(phrases.upload_complete);
		} else {
			label.update(phrases.upload_photo);
			myalert('',(error == 1) ? phrases.upload_jpgonly : phrases.upload_selectfile);
		}
	},
	
	submit: function(e) {
		e.stop();
		if (!this.validate()) {
			//	check for any required fields let empty
			myalert ('', phrases.empty_field);
		} else {
			//	check for any uploads still in progress
			if (this.upload_inprogress > 0) myalert('', phrases.upload_in_progress);
			else {
				//	finally send form data
				new Ajax.Request('.', {
					parameters: $('form_model_text').serialize(true),
					onComplete: function(transport, json) {
						if (json.feedback == 'ok') {
							$('div_become').hide();
							$('become_sent').show();
						}
					}
				});
			}
		}
	},
	
	validate: function() {
		var pass = true;
		this.form.select('.must').each( function(el) {
			if ($F(el) == '') {
				el.addClassName('hilite');
				el.observe('focus', function() {
					this.removeClassName('hilite');
				});
				pass = false;
			}
		});
		return pass;
	}
}

function become_upload_photo() {
	$('progress_indicator').addClassName('inprogress');
	var form = $('form_upload_photo');
	form.submit();
	Form.disable(form);
}

function become_end_upload(image_id, dir) {
	$('progress_indicator').removeClassName('inprogress');
	var form = $('form_upload_photo');
	Form.enable(form);
	
	//	if image_id was sent back, add photo
	if(image_id) {
		//	only 3 photos allowed
		if (!window.uploads) window.uploads = 1;
		else window.uploads++;
		if (window.uploads == 3) form.hide();
		
		//	create element to hold new image
		var photo_item = Builder.node('div', 
			{
				id: 'photo_' + image_id,
				className: 'photo_item',
				style: 'position: absolute; top: ' + (window.uploads*200-153) + 'px; left: -160px;'
			}
		);
		var photo = Builder.node('div', 
			{
				className: 'photo',
				style: 'background-image: url(' + document.firstChild.nextSibling.id + '/content/' + dir + '/f_' + image_id + '.jpg); cursor: default;'
			}
		);
		photo_item.appendChild(photo);
		//	add new image to photos
		$$('.textbox')[0].appendChild(photo_item);
	}
}

function become_add_model() {
	new Ajax.Request('.', {
		parameters: $('form_model_text').serialize(true),
		onComplete: function(transport, json) {
			if (json.feedback == 'ok') {
				$('div_become').hide();
				$('become_sent').show();
			}
		}
	});
}



/*	FLASH VIDEO PLAYER	*/
function open_flash_video(id) {
	$$('#flash_video div').invoke('hide');
	$('flash_video_wrapper-' + id).show();
	new Effect.Appear('flash_video', {
		duration: 0.5
	});
}

function close_flash_video() {
	window.mylw.deactivate();
}