$(function(){
	/*slide form*/
	slideBlock();
	/*anchor scroll*/
	initScrollTo();
	/*validation*/
	initValidation();
});
/*anchor scroll*/
function initScrollTo(){
		var speed = 800;
		$('#nav a[href^=#]').each(function(){
			var this_link = $(this);
			var this_href = this_link.attr('href');
			if(this_href.length){
				this_link.click(function(){
					$.scrollTo( $(this_href), speed );
					return false;
				});
			}
		});
        $('#banner a[href^=#]').each(function(){
			var this_link = $(this);
			var this_href = this_link.attr('href');
			if(this_href.length){
				this_link.click(function(){
					$.scrollTo( $(this_href), speed );
					return false;
				});
			}
		});	
        $('#talents a[href^=#]').each(function(){
        var this_link = $(this);
    		var this_href = this_link.attr('href');
    		if(this_href.length){
    			this_link.click(function(){
    				$.scrollTo( $(this_href), speed );
    				return false;
    			});
    		}
    	});
        $('#producers a[href^=#]').each(function(){
    		var this_link = $(this);
    		var this_href = this_link.attr('href');
    		if(this_href.length){
    			this_link.click(function(){
    				$.scrollTo( $(this_href), speed );
    				return false;
    			});
    		}
    	});			
    			
}
/*slide form*/
function slideBlock(){
	$('.login-block').each(function(){
		var holder = $(this);
		var activeClass = 'active';
		var opener = holder.find('.login');
		var top =  Math.abs(parseInt(holder.css('marginTop')));
		opener.click(function(){
			if (holder.hasClass(activeClass)) {
				holder.removeClass(activeClass);
				animateBlock(0);
			}
			else {
				animateBlock(top);
				holder.addClass(activeClass);
			}
			return false;
		});
		function animateBlock(top){
			holder.animate({
				top:top
			},{
				queue:false,
				duration:500
			});
		}
	});
}
/*validation*/
function initValidation(){
	var _errorClass = 'error';
	var _regEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	
	$('form.signup-form').each(function(){
		var form = $(this);
		var submit = form.find('.btn-step');
		var wrap = form.find('.wrap');
		var width = form.find('.step').outerWidth();
		
		function checkFields(step) {
			var _flag = false;
			step.find('.'+_errorClass).removeClass(_errorClass);

			// fields validation
			step.find('input.required-email').each(function(){
				if(!_regEmail.test($(this).val())) addError($(this));
			});
			step.find('input.required-confirm').each(function(){
				if(!$(this).val().length && $(this).val() != $($(this).attr('title')).val()) addError($(this));
			});
			step.find('input.required, textarea.required').each(function(){
				if(!$(this).val().length || $(this).val() == $(this).attr('alt')) addError($(this));
			});
			step.find('input.required-check').each(function(){
				if (!$(this).is(':checked')) {
					$(this).parent('.check-block').addClass(_errorClass);
					_flag=true;
				}
			});

			// error class adding
			function addError(_obj) {
				_obj.parents('div.singup-box').addClass(_errorClass);
				_flag=true;
			}
			console.log(_flag);
			return _flag;
		}
		submit.click(function(){
			var btn = $(this);
      console.log(checkFields(btn.parents('.step')));
			if (!checkFields(btn.parents('.step'))) {
				if (btn.hasClass('next')) {
					nextStep();
				} else {
				  form.submit();
				  return true;
				  };
			}
			return false;
		});
		function nextStep(){
			wrap.animate({
				marginLeft:-width
			},{
				queue:false,
				duration:500
			});
		}
	});
}
function initPage()
{
	clearFormFields({
		clearInputs: true,
		clearTextareas: true,
		passwordFieldText: false,
		addClassFocus: "focus",
		filterClass: "default"
	});
}
function clearFormFields(o)
{
	if (o.clearInputs == null) o.clearInputs = true;
	if (o.clearTextareas == null) o.clearTextareas = true;
	if (o.passwordFieldText == null) o.passwordFieldText = false;
	if (o.addClassFocus == null) o.addClassFocus = false;
	if (!o.filterClass) o.filterClass = "default";
	if(o.clearInputs) {
		var inputs = document.getElementsByTagName("input");
		for (var i = 0; i < inputs.length; i++ ) {
			if((inputs[i].type == "text" || inputs[i].type == "password") && inputs[i].className.indexOf(o.filterClass) == -1) {
				inputs[i].valueHtml = inputs[i].value;
				inputs[i].onfocus = function ()	{
					if(this.valueHtml == this.value) this.value = "";
					if(this.fake) {
						inputsSwap(this, this.previousSibling);
						this.previousSibling.focus();
					}
					if(o.addClassFocus && !this.fake) {
						this.className += " " + o.addClassFocus;
						this.parentNode.className += " parent-" + o.addClassFocus;
					}
				};
				inputs[i].onblur = function () {
					if(this.value == "") {
						this.value = this.valueHtml;
						if(o.passwordFieldText && this.type == "password") inputsSwap(this, this.nextSibling);
					}
					if(o.addClassFocus) {
						this.className = this.className.replace(o.addClassFocus, "");
						this.parentNode.className = this.parentNode.className.replace("parent-"+o.addClassFocus, "");
					}
				};
				if(o.passwordFieldText && inputs[i].type == "password") {
					var fakeInput = document.createElement("input");
					fakeInput.type = "text";
					fakeInput.value = inputs[i].value;
					fakeInput.className = inputs[i].className;
					fakeInput.fake = true;
					inputs[i].parentNode.insertBefore(fakeInput, inputs[i].nextSibling);
					inputsSwap(inputs[i], null);
				}
			}
		}
	}
	if(o.clearTextareas) {
		var textareas = document.getElementsByTagName("textarea");
		for(var i=0; i<textareas.length; i++) {
			if(textareas[i].className.indexOf(o.filterClass) == -1) {
				textareas[i].valueHtml = textareas[i].value;
			}
		}
	}
	function inputsSwap(el, el2) {
		if(el) el.style.display = "none";
		if(el2) el2.style.display = "inline";
	}
}
if (window.addEventListener)
	window.addEventListener("load", initPage, false);
else if (window.attachEvent)
	window.attachEvent("onload", initPage);
/**
 * jQuery.ScrollTo - Easy element scrolling using jQuery.
 * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 5/25/2009
 * @author Ariel Flesler
 * @version 1.4.2
 *
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 */
(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e);};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break;}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);
