
FloatBanner = null;

function TFloatBanner(site){
	this.bannerFloatStop = false;
	this.deltax = 170;
	this.deltay = 90;

	this.site = site || 'ua';
	this.sites = [];

	this.sites['ua'] = [];
	//this.sites['ua'][0] = ["/banners/kiddytop300x300_.swf", null, 300, 300];

	this.sites['kz'] = [];

	if(this.sites[this.site].length == 0) return;

	this.sitebanners = this.sites[this.site];
	this.sitebanner = this.sitebanners[Math.round(Math.random() * (this.sitebanners.length - 1))];

	this.width = this.sitebanner[2] || 240;
	this.height = this.sitebanner[3] || 340;

	this.init = function(){
		var close_btn = new Element('a', {'class': 'banner_close_button'}).setStyle({cursor: 'pointer'}).update('закрыть');

		if(this.sitebanner[1] === null){
			var float_ban = new SWFObject(this.sitebanner[0], "fbanner", this.width, this.height, "8", "#FFFFFF");
			float_ban.addParam("wmode", "transparent");
			float_ban.write("bloatbanner");
		}
		else{
			var float_banner = new Element('img', {src: this.sitebanner[0], width: this.width, height: this.height}).setStyle({cursor: 'pointer'});
			float_banner.observe('click', this.close.bindAsEventListener(this));
			$('bloatbanner').insert({bottom: float_banner});
		}

		close_btn.observe('click', this.stop.bindAsEventListener(this));
		$('bloatbanner').insert({top: close_btn});

		this.go();
	}

	this.go = function(){
		var left = parseInt((document.viewport.getWidth() - 240) / 2);
		var top = parseInt((document.viewport.getHeight() - 320 - 100) / 2);

		$('bloatbanner').setStyle({position: 'absolute', left: left + 'px', top: top + 'px'});
		//this.float();
	}

	this.float = function(x){
		if(this.bannerFloatStop == false){
			x = x || 180;

			var left = parseInt((document.viewport.getWidth() - 240) / 2 + (Math.cos((Math.PI * x) / 180) * this.deltax));
			var top = parseInt((document.viewport.getHeight() - 320 - 100) / 2 + (Math.sin((Math.PI * x) / 180) * this.deltay));
			$('bloatbanner').setStyle({left: left + 'px', top: top + 'px'});
	
			this.float.bind(this).delay(.04, x + 1);
		}
	}

	this.stop = function(){
		this.bannerFloatStop = true;
		$('bloatbanner').remove();
	}

	this.close = function(){
		if(this.sitebanner[1].length)
			window.location = this.sitebanner[1];
		else
			$('bloatbanner').remove();
	}

	var loc = document.location.toString();
	if(loc.match(/.+(\/ru\/?|\/ua\/?)$/i) || loc.match(/http:\/\/(www\.)?kidditop.ua\/?$/i)){
		this.init();
	}
	else{
		$('bloatbanner').remove();
	}
}

//------------------------------------------------------------------------------

function loginFormSubmit(form, flag){
	form.formIsValid.value = 0;

	if(flag){
		var result = true;

		if($F(form.login).blank()){
			form.login.addClassName('empty_field');
			result = false;
		}
		else{
			form.login.removeClassName('empty_field');
		}

		if($F(form.pass).blank()){
			form.pass.addClassName('empty_field');
			result = false;
		}
		else{
			form.pass.removeClassName('empty_field');
		}

		if(result){
			form.formIsValid.value = 1;
			form.submit();
		}
		else{
			form.formIsValid.value = 0;
			alert('Не все поля заполнены.');
		}
	}
	else{
		var els = $(form).getElements();
		els.each(function(el){
			el.removeClassName('empty_field');
		});
	}
	return false;
}

//------------------------------------------------------------------------------

Xaprb = new Object();
Xaprb.InputMask = {
	masks: {
		date_iso:		{format: '    -  -  ',			regex:  /\d/},
		date_us:		{format: '  /  /    ',			regex:  /\d/},
		time:			{format: '  :  :  ',			regex:  /\d/},
		phone:			{format: '(   )   -    ',		regex:  /\d/},
		phone_dashed:	{format: '   -   -    ',		regex:  /\d/},
		ssn:			{format: '   -  -    ',			regex:  /\d/},
		visa:			{format: '    -    -    -    ',	regex:  /\d/}
	},
 
	setupElementMasks: function() {
		if ($$){
			$$('input.input_mask').each(function(item){
			Event.observe(item, 'keypress',
				Xaprb.InputMask.applyMask.bindAsEventListener(item), true);
			});
		}
	},
    
	applyMask: function(event) {
		var match = /mask_(\w+)/.exec(this.className);
		if (match.length == 2 && Xaprb.InputMask.masks[match[1]]) {
			var mask = Xaprb.InputMask.masks[match[1]];
			var key  = Xaprb.InputMask.getKey(event);
 
			if (Xaprb.InputMask.isPrintable(key)) {
				var ch = String.fromCharCode(key);
				var str = this.value + ch;
				var pos = str.length;
				if (mask.regex.test(ch) && pos <= mask.format.length) {
					// Fill in before
					if ( mask.format.charAt(pos - 1) != ' ' ) {
						str = this.value + mask.format.charAt(pos++ - 1) + ch;
					}
					// Fill an after
					if ( mask.format.charAt(pos) != ' ' ) {
						str += mask.format.charAt(pos);
					}        
					this.value = str;
				}
			Event.stop(event);
			}
		}
	},
 
	isPrintable: function(key) {
		return ( key >= 32 && key < 127 );
	},
 
	getKey: function(e) {
		return window.event ? window.event.keyCode : (e ? e.which : 0);
    }
 };

//------------------------------------------------------------------------------

function ratingBarClass(url){
	this.url = url || '/ru/contest/vote';
	this.email = this.cid = this.mark = null;

	this.vote = function(cid, mark){
		this.cid = cid;
		this.mark = mark;
		
		var scrollLeft = document.body.scrollLeft ? document.body.scrollLeft : document.documentElement.scrollLeft;
		var scrollTop = document.body.scrollTop ? document.body.scrollTop : document.documentElement.scrollTop;

		var cLeft = scrollLeft + (document.viewport.getWidth() - $('contest_confirm').getWidth()) / 2;
		var cTop = scrollTop + (document.viewport.getHeight() - $('contest_confirm').getHeight()) / 2;
		$('contest_confirm').setStyle({left: cLeft + 'px', top: cTop + 'px'}).show();
	}

	this.submit = function(btn){
		if($F('contest_email').blank()){
			return $('contest_message').update('Вы не ввели e-mail.');
		}
		else if(!$F('contest_email').match(/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/)){
			return $('contest_message').update('Неверный e-mail.');
		}
		else{
			$('contest_message').update();
			this.email = $F('contest_email');
		}

		new Ajax.Request(this.url, {
			method: 'POST',
			parameters: {AJAXMODE: 1, action: 'vote', cid: this.cid, mark: this.mark, email: this.email},
			onSuccess: function(transport){
				if(transport.responseText.length > 0){
					$('contest_message').update(transport.responseText);
				}
				else{
					this.cancel();
					$('vote_bar').remove();
				}
			}.bind(this),
			onException: function(a, b){
				alert('AddCart error: #' + b.message);
			}
		});		
	}
	
	this.cancel = function(){
		//$('contest_email').value = '';
		$('contest_message').update();
		$('contest_confirm').hide();
	}
}

var ratingBar = new ratingBarClass();

//------------------------------------------------------------------------------

function validateUserForm(form, flag){
	form.formIsValid.value = 0;

	if(flag){
		var result = true;

		$w('register_email register_pass register_passcopy register_name register_surname register_kidname register_phone register_birthday register_birthmonth register_birthyear register_shop register_img register_descr').reverse().each(function(el){
			if($F(el).blank()){
				$(el).addClassName('empty_field').focus();
				result = false;
			}
			else{
				$(el).removeClassName('empty_field');
			}
		});
		if(result == false){
			return alert('Не все поля заполнены.');
		}
		if(!$F('register_email').match(/\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/)){
			return alert('E-mail введен неверно.');
		}
		if($F('register_pass') != $F('register_passcopy')){
			return alert('Пароль введен неверно.');
		}
		if($('box_agree').checked == false){
			return alert('Вы должны ознакомиться с правилами конкурса.');
		}

		if(result == true){
			$('regidter_form_submit_btn').disable();
			form.formIsValid.value = 1;
			form.submit();
		}
	}
	else{
		$(form).getElements().invoke('removeClassName', 'empty_field');
	}

	return false;
}

//------------------------------------------------------------------------------

function validateUserForm2(form, flag){
	form.formIsValid.value = 0;

	if(flag){
		var result = true;

		$w('register_img register_descr').reverse().each(function(el){
			if($F(el).blank()){
				$(el).addClassName('empty_field').focus();
				result = false;
			}
			else{
				$(el).removeClassName('empty_field');
			}
		});
		if(result == false){
			return alert('Не все поля заполнены.');
		}

		if(result == true){
			$('regidter_form_submit_btn').disable();
			form.formIsValid.value = 1;
			form.submit();
		}
	}
	else{
		$(form).getElements().invoke('removeClassName', 'empty_field');
	}

	return false;
}

//------------------------------------------------------------------------------

function newWindow(url, w, h){
	var x = parseInt((window.screen.width - w) / 2);
	var y = parseInt((window.screen.height - h - 50) / 2);

	window.open(url, "newWindow", "width=" + w + ", height=" + h + ", left=" + x + ", top=" + y + ", scrollbars=0");

	return false;
}

Event.observe(window, 'load', function(e){
	var hover = false;
	var els = [];
	var src = [];

	$$('div[id*="vote_bar"]').each(function(container){	
		$(container).select('img[rel*="vstar"]').each(function(el, i){
			els[i] = el;
			src[i] = [el.src, el.src.substring(0, el.src.length - 4) + '_a' + el.src.substring(el.src.length - 4)];
			el.observe('mouseover', function(e, i){
				hover = true;
				for(var j = 0; j < els.length; j++){
					els[j].src = j <= i ? src[j][1] : src[j][0];
				}
			}.bindAsEventListener(this, i));
			el.observe('mouseout', function(e){
				hover = false;
				(function(){
					if(hover == false){
						for(var j = 0; j < els.length; j++){
							els[j].src = src[j][0];
						}
					}
				}).delay(.1);
			});
		});
	});
});


Event.observe(document, 'dom:loaded', function(e){
	$$('input[rel="clear"]').each(function(el, i){
		if(el.type.match(/text/i) && !$F(el).blank()){
			var defValue = el.value;
			el.observe('focus', function(e, defValue){
				if(this.value == defValue) this.value = "";
			}.bindAsEventListener(el, defValue));
			el.observe('blur', function(e, defValue){
				if(this.value == "") this.value = defValue;
			}.bindAsEventListener(el, defValue));
		}
	});

	$$('img[rel="hover"]').each(function(el, i){
		if (el.src.blank() == false) {   
			var defsrc = el.src;   
			var hovsrc = el.src.substring(0, el.src.length - 4) + '_a' + el.src.substring(el.src.length - 4);
			el.observe('mouseover', function(e, src){
				this.src = src;
			}.bindAsEventListener(el, hovsrc));
			el.observe('mouseout', function(e, src){
				this.src = src;
			}.bindAsEventListener(el, defsrc));
			new Element('img', {src: hovsrc});
		}   
	});

	$$('img[rel="bgc"]').each(function(el, i){
		var defbg = el.up('td').style.backgroundColor;
		var hovbg = '#e32c92';
		el.observe('mouseover', function(e, bg){
			this.up('td').setStyle({backgroundColor: bg});
		}.bindAsEventListener(el, hovbg));
		el.observe('mouseout', function(e, bg){
			this.up('td').setStyle({backgroundColor: bg});
		}.bindAsEventListener(el, defbg));
	});

	$$('img[rel="bgi"]').each(function(el, i){
		var defbg = el.up('td').style.backgroundImage;
		var hovbg = 'url(/buttons/r_bg_a.gif)';
		el.observe('mouseover', function(e, bg){
			this.up('td').setStyle({backgroundImage: bg});
		}.bindAsEventListener(el, hovbg));
		el.observe('mouseout', function(e, bg){
			this.up('td').setStyle({backgroundImage: bg});
		}.bindAsEventListener(el, defbg));
	});
});
