var pause = 0;
var pause2 = 0;

var SWH = {
	onReady: function() {
		SWH.nav();
		SWH.modal_video();
		SWH.navigation();
		SWH.forms();
	},
	onLoad: function() {

	},
	blockUIOptions: {
		css: {
      border: 'none',
      padding: '5px',
      backgroundColor: '#000',
      '-webkit-border-radius': '5px',
      '-moz-border-radius': '5px',
      opacity: .5,
      color: '#fff'
  	}
	},
	nav: function() {
		$('ul.dropdown li.selected:has(ul)').addClass('has_sub_selected');
		$('ul.dropdown li:has(ul)').addClass('has_sub');
		$("ul.dropdown li").hover(function(){
			$(this).addClass("hover");
			if($(this).is('.has_sub')) {
    		$(this).addClass("has_sub_hover");
    	}
			$('ul:first',this).css('visibility', 'visible');
    }, function(){
    	$(this).removeClass("hover");
    	if($(this).is('.has_sub')) {
    		$(this).removeClass("has_sub_hover");
    	}
    	$('ul:first',this).css('visibility', 'hidden');
    });
	},
	forms: function() {
		$('form input.mask').each(function() {
			var $el = $(this);
			var meta = $el.metadata();
			$el.mask(meta.mask);
		});
	},
	navigation: function() {
		$('#nav li').mouseover(function() {
			$(this).addClass('sfhover');
		}).mouseout(function() {
			$(this).removeClass('sfhover');
		});
	},
	modal_video: function() {
		$('a.fancy').each(function() {
			var options = {
				margin : 10,
				padding : 5,
				width : 838,
				height : 600,
				centerOnScroll : true,
				titleShow : false,
				type : 'iframe',
				onClosed: SWH.clear_media_anchor
			};
			options = $.extend({}, options, ($.metadata ? $(this).metadata() : {}));

			$('a.fancy').fancybox(options);
		});
	},
	clear_media_anchor: function() {
		var anchorValue;
		var params;
		var url = parent.location.href;
		var strippedUrl = url.toString().split("#");
		if(strippedUrl.length > 1) {
			anchorValue = strippedUrl[1];
			strippedUrl[1] = '';
		}
		parent.location.href = strippedUrl[0]+'#';
	}
};

$(document).ready(SWH.onReady);
$(window).load(SWH.onLoad);


$(document).ready(function() {

	$('.rating-cancel').live('click', function(){
		var $form = $(this).parents('form');
		var url = ($form.attr('action') != '') ? $form.attr('action') : '/raters/rate';

		var postData = {};

		var rateValue = 0;
		var ratedVideo = $form.attr('id');

		if(!ratedVideo && $form.find('input[name="video"]').val()) {
			ratedVideo = $form.find('input[name="video"]').val();
		}

		postData['value'] = rateValue;
		postData['rated'] = ratedVideo;

		var cancel_response = function(data){
			if (data.response==0)
			{
				// we will always get a response of 0! so check what the controller is doing!
			}
		}

		$.post(url, postData, cancel_response, 'json');
	});

	$('input[type=radio].star').rating();
	$('input[type=radio].auto-submit-star').rating({
		callback: function(value, link){
			var $form = $(this.form);
			var url = ($form.attr('action') != '') ? $form.attr('action') : '/raters/rate';

			var postData = {};
			var formdata = $form.serialize();

			var rateValue = value;
			var ratedVideo = $form.attr('id');

			if(!ratedVideo && $form.find('input[name="video"]').val()) {
				ratedVideo = $form.find('input[name="video"]').val();
			}

			postData['value'] = rateValue;
			postData['rated'] = ratedVideo;

			var handle_response = function(data) {

				if(data.response == 0) {
					//console.log('There was an error submitting your rating');
					//$("#updatemessage").text("There was an error").css("color","red").fadeOut(4000, function() {
					//	$(this).css('display','block').text("");
					//});

				}

				if(data.response == 7) {
					//console.log('Entrant can enter competition now!');
					///$("#enter").text("Enter Now!").css("color","red");
				}

				if(data.response == 1) {
					//console.log('rate success!');
					//$("#updatemessage").text("Rate success").css("color","green").fadeOut(4000, function() {
					//	$(this).css('display','block').text("");
					//});
				}
			}

			if (ratedVideo != undefined) {
				$.post(url, postData, handle_response, 'json');
			}
		}
	});

	$('.ov_rating, .rating, .my_rating, .rating, .vid_rating, .ov_rating').css({'visibility':'visible'});
});

function urldecode( str ) {
	return decodeURIComponent(str).replace(/\+/g, ' ');
}

$.fn.clearForm = function() {
	return this.each(function() {
		var type = this.type, tag = this.tagName.toLowerCase();
		if (tag == 'form') {
			return $(':input',this).clearForm();
		}

		if (type == 'text' || type == 'password' || tag == 'textarea') {
			this.value = '';
		} else if (type == 'checkbox' || type == 'radio') {
			this.checked = false;
		} else if (tag == 'select') {
			this.selectedIndex = -1;
		}
	});
};


