/*
###################################################################################################################
# Copyright 2011 - theRevolution
# Page Description: jQuery main.
###################################################################################################################
*/
$(function(){
	initPopup();
	initPasswordFields();
	//$('#header ul.tabset a.login').trigger('click');
	validateForms();
});

// validate forms
function validateForms() {
	$('form.form-registr').each(function(){
		//initFormValidation($(this), $(this).find('div.error'));
		var _form = $('.form-registr');
		$('input.btn-submit').click(function(){
			$.ajax({
				url: _form.attr('action'),
				type: 'POST',
				data: _form.serialize(),
				success:  function(_errors){
					var _list = $('<ul />');
					_errors = _errors.split('<br />');
					for(var i=0; i<_errors.length; i++){
						_list.append('<li>'+_errors[i]+'</li>');
						
						var st_pos = parseInt(_errors[i].indexOf('<!--'))+4;
						var end_pos = parseInt(_errors[i].indexOf('-->', st_pos));
						var fieldname = _errors[i].substring(st_pos, end_pos);
						if(fieldname!=''){
							fieldnames = fieldname.split('|');
							if(fieldnames.length>1){
								for(p=0;p<fieldnames.length;p++){
									fieldname = fieldnames[p];	
									$('[name='+fieldname+']').parent().addClass('errorClass');	
								}
							}else{
								$('[name='+fieldname+']').parent().addClass('errorClass');	
							}
						}
					}
					var message = $('<div>').html(_list);
					if (message.find('div').length) {
						_form.find('div.error').empty().append(_list);
					} else if (message.find('a').length) {
						var _url = message.find('a').attr('href');
						window.location = _url; 
					}
				}
			});
			var _easing = 'easeOutExpo';
			var _animSpeed = 850;
			$.scrollTo($('form.form-registr'), _animSpeed, {easing:_easing});
			return false;
		});
	});
}

/*
// validate forms
function validateForms() {
	$('form.form-registr').each(function(){
		initFormValidation($(this), $(this).find('div.error'));
	});
}

// form validation
function initFormValidation(_validateForm, _errorListHolder) {
	var _errorClass = 'errorClass'
	var _easing = 'easeOutExpo';
	var _animSpeed = 850;
	var _regEmail = /^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$/;

	_validateForm.each(function(){
		var _errorClass = 'errorClass';
		var _form = $(this);
		var _errors = '';

		function checkFields() {
			var _flag = false;
			_errors = '';

			// fields validation
			_form.find('input.required-email').each(function(){
				if(!_regEmail.test($(this).val())) addError($(this));
			});
			_form.find('input.required, textarea.required').each(function(){
				if(!$(this).val().length || $(this).val() == $(this).attr('alt')) addError($(this));
			});
			_form.find('input.password-required').each(function(){
				if(!($(this).val().length > 7)) addError($(this));
			});
			_form.find('input.required-zip').each(function(){
				if($(this).val().length < 5) addError($(this));
			});
			_form.find('select.required-select').each(function(){
				if(!$(this).attr('selectedIndex')) addError($(this));
			});
			_form.find('input.required-confirm-password').each(function(){
				var _confEmail = $(this).val();
				var _trueEmail = $(this).parents('div.box-password').find('input.password-required').val();
				if ((_trueEmail != _confEmail) || (_trueEmail < 7)) addError($(this));
			});
			
			// error class adding
			function addError(_obj) {
				_obj.parent().addClass(_errorClass);
				_errors+=_obj.attr('title')+'\n';
				_flag=true;
			}
			return _flag;
		}

		// catch form submit event
		_form.submit(function(){
			if(checkFields()) {
				_errorListHolder.empty();
				var _list = $('<ul />');
				_errors = _errors.split('\n');
				for(var i=0; i<_errors.length-1; i++)
					_list.append('<li>'+_errors[i]+'</li>');
				_errorListHolder.append(_list);
				$.scrollTo(_validateForm, _animSpeed, {easing:_easing});
				return false;
			}
		});
	});
}
*/

/**
 * jQuery.ScrollTo - Easy element scrolling using jQuery. Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 */
;(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);
/*
 * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
*/
jQuery.easing.jswing=jQuery.easing.swing;jQuery.extend(jQuery.easing,{def:"easeOutQuad",swing:function(e,f,a,h,g){return jQuery.easing[jQuery.easing.def](e,f,a,h,g)},easeInQuad:function(e,f,a,h,g){return h*(f/=g)*f+a},easeOutQuad:function(e,f,a,h,g){return -h*(f/=g)*(f-2)+a},easeInOutQuad:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f+a}return -h/2*((--f)*(f-2)-1)+a},easeInCubic:function(e,f,a,h,g){return h*(f/=g)*f*f+a},easeOutCubic:function(e,f,a,h,g){return h*((f=f/g-1)*f*f+1)+a},easeInOutCubic:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f+a}return h/2*((f-=2)*f*f+2)+a},easeInQuart:function(e,f,a,h,g){return h*(f/=g)*f*f*f+a},easeOutQuart:function(e,f,a,h,g){return -h*((f=f/g-1)*f*f*f-1)+a},easeInOutQuart:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f*f+a}return -h/2*((f-=2)*f*f*f-2)+a},easeInQuint:function(e,f,a,h,g){return h*(f/=g)*f*f*f*f+a},easeOutQuint:function(e,f,a,h,g){return h*((f=f/g-1)*f*f*f*f+1)+a},easeInOutQuint:function(e,f,a,h,g){if((f/=g/2)<1){return h/2*f*f*f*f*f+a}return h/2*((f-=2)*f*f*f*f+2)+a},easeInSine:function(e,f,a,h,g){return -h*Math.cos(f/g*(Math.PI/2))+h+a},easeOutSine:function(e,f,a,h,g){return h*Math.sin(f/g*(Math.PI/2))+a},easeInOutSine:function(e,f,a,h,g){return -h/2*(Math.cos(Math.PI*f/g)-1)+a},easeInExpo:function(e,f,a,h,g){return(f==0)?a:h*Math.pow(2,10*(f/g-1))+a},easeOutExpo:function(e,f,a,h,g){return(f==g)?a+h:h*(-Math.pow(2,-10*f/g)+1)+a},easeInOutExpo:function(e,f,a,h,g){if(f==0){return a}if(f==g){return a+h}if((f/=g/2)<1){return h/2*Math.pow(2,10*(f-1))+a}return h/2*(-Math.pow(2,-10*--f)+2)+a},easeInCirc:function(e,f,a,h,g){return -h*(Math.sqrt(1-(f/=g)*f)-1)+a},easeOutCirc:function(e,f,a,h,g){return h*Math.sqrt(1-(f=f/g-1)*f)+a},easeInOutCirc:function(e,f,a,h,g){if((f/=g/2)<1){return -h/2*(Math.sqrt(1-f*f)-1)+a}return h/2*(Math.sqrt(1-(f-=2)*f)+1)+a},easeInElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k)==1){return e+l}if(!j){j=k*0.3}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}return -(g*Math.pow(2,10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j))+e},easeOutElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k)==1){return e+l}if(!j){j=k*0.3}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}return g*Math.pow(2,-10*h)*Math.sin((h*k-i)*(2*Math.PI)/j)+l+e},easeInOutElastic:function(f,h,e,l,k){var i=1.70158;var j=0;var g=l;if(h==0){return e}if((h/=k/2)==2){return e+l}if(!j){j=k*(0.3*1.5)}if(g<Math.abs(l)){g=l;var i=j/4}else{var i=j/(2*Math.PI)*Math.asin(l/g)}if(h<1){return -0.5*(g*Math.pow(2,10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j))+e}return g*Math.pow(2,-10*(h-=1))*Math.sin((h*k-i)*(2*Math.PI)/j)*0.5+l+e},easeInBack:function(e,f,a,i,h,g){if(g==undefined){g=1.70158}return i*(f/=h)*f*((g+1)*f-g)+a},easeOutBack:function(e,f,a,i,h,g){if(g==undefined){g=1.70158}return i*((f=f/h-1)*f*((g+1)*f+g)+1)+a},easeInOutBack:function(e,f,a,i,h,g){if(g==undefined){g=1.70158}if((f/=h/2)<1){return i/2*(f*f*(((g*=(1.525))+1)*f-g))+a}return i/2*((f-=2)*f*(((g*=(1.525))+1)*f+g)+2)+a},easeInBounce:function(e,f,a,h,g){return h-jQuery.easing.easeOutBounce(e,g-f,0,h,g)+a},easeOutBounce:function(e,f,a,h,g){if((f/=g)<(1/2.75)){return h*(7.5625*f*f)+a}else{if(f<(2/2.75)){return h*(7.5625*(f-=(1.5/2.75))*f+0.75)+a}else{if(f<(2.5/2.75)){return h*(7.5625*(f-=(2.25/2.75))*f+0.9375)+a}else{return h*(7.5625*(f-=(2.625/2.75))*f+0.984375)+a}}}},easeInOutBounce:function(e,f,a,h,g){if(f<g/2){return jQuery.easing.easeInBounce(e,f*2,0,h,g)*0.5+a}return jQuery.easing.easeOutBounce(e,f*2-g,0,h,g)*0.5+h*0.5+a}});

//init password fields
function initPasswordFields(){
	_error = $('div.error');
	_holder = $('form.form-registr');
	_holder.reset();
	_holder.each(function(){
		$('div.box-password div.middle2', $(this)).each(function(){
			var _this = $(this);
			var _text = $('input[type=text]',_this);
			var _password = $('input[type=password]',_this);
			var _value = _text.val();
			_text.focus(function(){
				_password.removeClass('hidden').focus();
				_text.addClass('hidden');
			});
			_password.blur(function(){
				if (_password.val() == '') {
					_password.addClass('hidden');
					_text.removeClass('hidden').val(_value).removeClass('typing');
				}
			});
			$('input.btn-submit[type=reset]', _holder).click(function(){
				_password.addClass('hidden');
				_text.removeClass('hidden').val(_value);
				_holder.find('input').removeClass('typing');
				_error.empty();
				_holder.find('div.errorClass').removeClass('errorClass');
			});
		});
	});
}

// form reset extension
$.fn.extend({ 
	reset: function() {
		return this.each(function() {
			$(this).is('form') && this.reset();
		});
	} 
});

/*--- popup function ---*/
function initPopup(){
	if($('#overlay').length == 0) $('body').append('<div id="overlay"></div>');
	var _fader = $('#overlay');
	_fader.hide();
	var _popup = -1;
	$('a.with-popup').each(function(){
		var _el = $(this);
		_el.click(function(){
			var _href = $(_el).attr('href');
			_el._popup = $('div[rel ='+_href+']');	
			if (_el._popup.length) {
				_popup = _el._popup
				showPopup();
			} else {
				$.ajax({
					url : $(_el).attr('href'),
					success: function(msg){
						_el._popup = $(msg);
						$('body').append(_el._popup);
						_el._popup.attr('rel', $(_el).attr('href')); 
						_popup = _el._popup;
						showPopup();
						
						if (!_el.hasClass('login') && !_el.hasClass('contact') && !_el.hasClass('forgot-password') && !_el.hasClass('create-player') && !_el.hasClass('commission-payment')) {
							_el._popup.find('a.close').click(function(){
								closePopup();
								return false;
							});
							_fader.click(function(){
								closePopup();
								return false;
							});
							$(document).keydown(function(e){
								if(!e)evt = window.event;
								if(e.keyCode == 27 && _popup != -1){
									closePopup();
								}
							});
						} else {
							if(_el.hasClass('login')){
								var _form = $('.form-login', _popup )
							}else if(_el.hasClass('contact')){
								var _form = $('.form-contact', _popup )
							}else if(_el.hasClass('forgot-password')){
								var _form = $('.form-forgot-password', _popup )
							}else if(_el.hasClass('create-player')){
								var _form = $('.form-create-player', _popup )
							}else if(_el.hasClass('commission-payment')){
								var _form = $('.form-commission-payment', _popup )
							}
							
							/* Password - added by DEB Sep 09, 2010*/
							_form.each(function(){
								$('div.box-password', $(this)).each(function(){
									var _this = $(this);
									var _text = $('input[type=text]',_this);
									var _password = $('input[type=password]',_this);
									var _value = _text.val();
									_text.focus(function(){
										_password.removeClass('hidden').focus();
										_text.addClass('hidden');
									});
									_password.blur(function(){
										if (_password.val() == '') {
											_password.addClass('hidden');
											_text.removeClass('hidden').val(_value).removeClass('typing');
										}
									});
									$('input.btn-submit[type=reset]', _form).click(function(){
										_password.addClass('hidden');
										_text.removeClass('hidden').val(_value);
										_form.find('input').removeClass('typing');
										_error.empty();
										_form.find('div.errorClass').removeClass('errorClass');
									});
								});
							});
							/* end */
							$('input.btn-send').click(function(){
								$.ajax({
									url: _form.attr('action'),
									type: 'POST',
									data: _form.serialize(),
									success:  function(msg){
										var message = $('<div>').html(msg);
										if (message.find('div').length) {
											_form.find('div.error').empty().append(msg);
											
											// resetting email field
											if(_el.hasClass('forgot-password')){
												$('[name=email]').attr({ value: 'Email Address' });
											}
										} else if (message.find('a').length) {
											var _url = message.find('a').attr('href');
											closePopup(function(){
												window.location = _url; 
											});
										}
									}
								});
								return false;
							});
							$('a.forgot-password', _popup).click(function(){
								closePopup(function(){
									$('#footer a.forgot-password').trigger('click');
								});
								return false;
							});
							
							_el._popup.find('a.close').click(function(){
								closePopup(function(){
									_form.find('div.error').empty();
								});
								return false;
							});
							_fader.click(function(){
								closePopup(function(){
									_form.find('div.error').empty();
								});
								return false;
							});
							$(document).keydown(function(e){
								if(!e)evt = window.event;
								if(e.keyCode == 27 && _popup != -1){
									closePopup(function(){
										_form.find('div.error').empty();
									});
								}
							});
						}
					}
				});
			}		
			return false;
		});
	});
	
	function showPopup(){
		_fader.css({
			opacity: 0,
			height: initH(),
			display:'block'
		});
		_popup.css({top: $(window).scrollTop()});
		_fader.fadeTo(400, 0.5, function(){
			if(_popup != -1){
				if($.browser.msie) _popup.show();
				else _popup.fadeIn(200, function(){
					if(initH() < _popup.outerHeight()+_popup.offset().top) _fader.height(_popup.outerHeight()+_popup.offset().top);
					hideFormText();
					initCustomForms();
				});
				_popup.css({top: $(window).scrollTop()+ ($(window).height() - _popup.outerHeight())/2});
				if(initH() < _popup.outerHeight()+_popup.offset().top) _fader.height(_popup.outerHeight()+_popup.offset().top);
			}
		});
	}
	
	function closePopup(callback){
		if(_popup != -1){
			if ($.browser.msie) {
				_popup.hide();
				_fader.fadeOut(200,function(){
					if (typeof callback === 'function') {
						callback();
					}
				});
				_popup = -1;
			}
			else {
				_popup.fadeOut(400, function(){
					_fader.fadeOut(200,function(){
						if (typeof callback === 'function') {
							callback();
						}
					});
					_popup = -1;
				});
			}
		}
	}
	
	function initH(){
		var _h = $('#wrapper').outerHeight();
		if(_h < $(window).height()) _h = $(window).height();
		if(_h < $('body').height()) _h = $('body').height();
		return _h;
	}
}
