$(document).ready(function()
{	
	$('#vote_dialog').click(function() {
		$('#popupemail').hide();
		$('#popupthx').hide();
		$('#popupno').hide();
		$('#popupshell').show();
	});
	
	$('#vote_emailaddress').focus(function()
	{
		$(this).val('');
	});
	
	$('#closepopup').click(function()
	{
		$('#vote_emailaddress').val('email address');
	});
	
	$('#voteButton').click(function()
	{
		var e = $('#vote_emailaddress').val();
		if (e == null || e == '' || !isValidEmailAddress(e))
			alert('Valid email must be provided to vote');
		else
		{
			//vote
			voteNow(e);
		}
	});
	
	if ($('#videoflowplayer').length > 0)
	{
		flowplayer("videoflowplayer", {src:"/swf/flowplayer.commercial-3.1.5.swf",wmode:"transparent"}, {
            key:'#$020602213826f31d5b9',
            clip: {
		scaling: "fit",
					onStart: function() {
                    $.get($('#videoflowplayer').attr('cb'), function(data) { i=0; 
                    });
				}
			},
			plugins: {
				controls: {
                      timeColor: '#D16536',
                      volumeSliderColor: '#000000',
                      tooltipColor: '#666666',
                      backgroundGradient: 'none',
                      volumeSliderGradient: 'medium',
                      buttonOverColor: '#D16536',
                      tooltipTextColor: '#ffffff',
                      sliderGradient: 'none',
                      sliderColor: '#000000',
                      borderRadius: '0px',
                      buttonColor: '#D16536',
                      backgroundColor: '#000000',
                      progressColor: '#D16536',
                      bufferColor: '#777777',
                      timeBgColor: '#222222',
                      bufferGradient: 'none',
                      durationColor: '#ffffff',
                      progressGradient: 'medium'
				}
			}
		});
	}

	FB_RequireFeatures(["Connect", "CanvasUtil", "XFBML"], function()
	{
                FB.init(FBAPIKEY, "/xd_receiver.htm"); //, {ifUserConnected:function(uid) { alert('loggedin'); } });
        });

	$('input, textarea').not('[type="submit"]').focus(function(){
		$(this).addClass('text-yellow');
		
		if ($(this).hasClass('text'))
		{
			hideSelectOptions2();
		}
		
	}).blur(function(){
		$(this).removeClass('text-yellow');
	});
	
	$('form.main-form').each(function(){
		var _form = $(this),
			_email = $('#address', this),
			_salutation = $('#salutation', this),
			_first = $('#first', this),
			_last = $('#last', this),
			_title = $('#title', this),
			_description = $('#description', this),
			_street = $('#street', this),
			_city = $('#city', this),
			_province = $('#province', this),
			_code = $('#code', this),
			_file = $('.file-input-area', this),
			_check2 = $('#check2', this),
			_check3 = $('#check3', this),
			_phone = $('#phone', this);
			
		var _emailReg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
		
		_email.bind('blur', function(){
			_email.parents('.row').removeClass('error').removeClass('correct');
			validateEmailAddress();
		});
		
		_province.bind('blur', function(){
			_province.parents('.row').removeClass('error').removeClass('correct');
			if (_province.val() == 'empty') _province.parents('.row').addClass('error');
			else _province.parents('.row').addClass('correct');
		});
		_salutation.bind('blur', function(){
			_salutation.parents('.row').removeClass('error').removeClass('correct');
			if (_salutation.val() == 'empty') _salutation.parents('.row').addClass('error');
			else _salutation.parents('.row').addClass('correct');
		});

//test
		// _salutation.bind('focus', function(){
		// 	alert('1');
		// 	showOptions(0,false);
		// 	// _salutation.parents('.row').removeClass('error').removeClass('correct');
		// 	// if (_salutation.val() == 'empty') _salutation.parents('.row').addClass('error');
		// 	// else _salutation.parents('.row').addClass('correct');
		// });

		_salutation.get(0).onchange = function(){
			_salutation.parents('.row').removeClass('error').removeClass('correct');
			if (_salutation.val() == 'empty') _salutation.parents('.row').addClass('error');
			else _salutation.parents('.row').addClass('correct');
		}
		_province.get(0).onchange = function(){
			_province.parents('.row').removeClass('error').removeClass('correct');
			if (_province.val() == 'empty') _province.parents('.row').addClass('error');
			else _province.parents('.row').addClass('correct');
		}
		_first.bind('blur', function(){
			_first.parents('.row').removeClass('error').removeClass('correct');
			if (trim(_first.val()) == '') _first.parents('.row').addClass('error');
			else _first.parents('.row').addClass('correct');
		});
		_last.bind('blur', function(){
			_last.parents('.row').removeClass('error').removeClass('correct');
			if (trim(_last.val()) == '') _last.parents('.row').addClass('error');
			else _last.parents('.row').addClass('correct');
		});
		_title.bind('blur', function(){
			_title.parents('.row').removeClass('error').removeClass('correct');
			if (trim(_title.val()) == '') _title.parents('.row').addClass('error');
			else _title.parents('.row').addClass('correct');
		});
		_description.bind('blur', function(){
			_description.parents('.row').removeClass('error').removeClass('correct');
			if (_description.val() == '') _description.parents('.row').addClass('error');
			else _description.parents('.row').addClass('correct');
		});
		_street.bind('blur', function(){
			_street.parents('.row').removeClass('error').removeClass('correct');
			if (trim(_street.val()) == '') _street.parents('.row').addClass('error');
			else _street.parents('.row').addClass('correct');
		});
		_city.bind('blur', function(){
			_city.parents('.row').removeClass('error').removeClass('correct');
			if (trim(_city.val()) == '') _city.parents('.row').addClass('error');
			else _city.parents('.row').addClass('correct');
		});
		
		_code.bind('blur', function(){
			_code.parents('.row').removeClass('error').removeClass('correct');
			if (trim(_code.val()) == '') _code.parents('.row').addClass('error');
			else
			{
				var zip = trim(_code.val());
				var regEx = /[a-zA-Z][0-9][a-zA-Z](-| |)[0-9][a-zA-Z][0-9]$/;
				if(!regEx.test(zip)) _code.parents('.row').addClass('error');
				else _code.parents('.row').addClass('correct');	
			} 
		});
		_file.bind('blur', function(){
			_file.parents('.row').removeClass('error').removeClass('correct');
			if (_file.val() == '') _file.parents('.row').addClass('error');
			else _file.parents('.row').addClass('correct');
		});
		_phone.bind('blur', function(){
			_phone.parents('.row').removeClass('error').removeClass('correct');
			if (trim(_phone.val()) == '') _phone.parents('.row').addClass('error');
			else
			{
				var phonenumber = trim(_phone.val());
				if((phonenumber.match(/^[ ]*[(]{0,1}[ ]*[0-9]{3,3}[ ]*[)]{0,1}[-]{0,1}[ ]*[0-9]{3,3}[ ]*[-]{0,1}[ ]*[0-9]{4,4}[ ]*$/)==null) && ((phonenumber.match(/^[ ]*[0-9]{3,3}[ ]*[-]{0,1}[ ]*[0-9]{4,4}[ ]*$/)==null))) 
				_phone.parents('.row').addClass('error');
				else
				_phone.parents('.row').addClass('correct');
			} 
		});
		_form.submit(function(){
			var _valid = true;
			
			$('.error',_form).removeClass('error');
			$('.correct',_form).removeClass('correct');
			
			if (_salutation.val() == 'empty') _salutation.parents('.row').addClass('error');
			else _salutation.parents('.row').addClass('correct');
			
			if (!_emailReg.test(trim(_email.val()))) 
			{				
				_email.parents('.row').addClass('error');
				$('#email-error').text('Please enter your Email Address');
			}else
			{
				if ($('#email-exists-result').val() == 'YES') _email.parents('.row').addClass('error');
				else _email.parents('.row').addClass('correct');
			}
			
			if (trim(_first.val()) == '') _first.parents('.row').addClass('error');
			else _first.parents('.row').addClass('correct');
			
			if (trim(_last.val()) == '') _last.parents('.row').addClass('error');
			else _last.parents('.row').addClass('correct');
			
			if (trim(_title.val()) == '') _title.parents('.row').addClass('error');
			else _title.parents('.row').addClass('correct');
			
			if (_description.val() == '') _description.parents('.row').addClass('error');
			else _description.parents('.row').addClass('correct');
			
			if (trim(_street.val()) == '') _street.parents('.row').addClass('error');
			else _street.parents('.row').addClass('correct');
			
			if (trim(_city.val()) == '') _city.parents('.row').addClass('error');
			else _city.parents('.row').addClass('correct');
			
			if (_province.val() == 'empty') _province.parents('.row').addClass('error');
			else _province.parents('.row').addClass('correct');
			
			var cname = $('#checkbox-status').text();
			if(cname == 'checked')
			{
				_check2.parents('.row').addClass('correct');
			}else if(cname == 'unchecked')
			{
				_check2.parents('.row').addClass('error');
			}else
			{
				_check2.parents('.row').addClass('error');
			}
			
			var cname3 = $('#checkbox3-status').text();
			if(cname3 == 'checked')
			{
				_check3.parents('.row').addClass('correct');
			}else if(cname3 == 'unchecked')
			{
				_check3.parents('.row').addClass('error');
			}else
			{
				_check3.parents('.row').addClass('error');
			}

			
			if (trim(_code.val()) == '') _code.parents('.row').addClass('error');
			else 
			{
				var zip = trim(_code.val());
				var regEx = /[a-zA-Z][0-9][a-zA-Z](-| |)[0-9][a-zA-Z][0-9]$/;
				if(!regEx.test(zip)) _code.parents('.row').addClass('error');
				else _code.parents('.row').addClass('correct');	
			}
			
			if (_file.val() == '') _file.parents('.row').addClass('error');
			else _file.parents('.row').addClass('correct');
			
			if (trim(_phone.val()) == '') _phone.parents('.row').addClass('error');
			else
			{
				var phonenumber = trim(_phone.val());
				if((phonenumber.match(/^[ ]*[(]{0,1}[ ]*[0-9]{3,3}[ ]*[)]{0,1}[-]{0,1}[ ]*[0-9]{3,3}[ ]*[-]{0,1}[ ]*[0-9]{4,4}[ ]*$/)==null) && ((phonenumber.match(/^[ ]*[0-9]{3,3}[ ]*[-]{0,1}[ ]*[0-9]{4,4}[ ]*$/)==null))) 
				_phone.parents('.row').addClass('error');
				else
				_phone.parents('.row').addClass('correct');
			}
			
			if ($('.error',_form).length) {
				_valid = false;
				$('html,body').animate({scrollTop: $('.error:first',_form).offset().top - 20}, 1000);
			}else
			{
				_valid = true;
			}
			
			if(_valid == true)
			{
				 $('#upload-indicator').css("visibility","visible");
				 _form.ajaxSubmit(enteroptions);
		      	 return false;
			}
			
			return _valid;
		});
	});
	
});

var enteroptions = { 
        success: function(responseText, statusText) {
				  if (responseText.status == 'ok') 
				  {
					$('#upload-error').text('Please select your Video');
					$('#upload-indicator').css("visibility","hidden");
				    top.location.href = responseText.msg;
				  } else {
					var _file = $('.file-input-area');
					_file.parents('.row').removeClass('error').removeClass('correct');
					_file.parents('.row').addClass('error');
					$('#upload-error').text(responseText.msg);
					$('html,body').animate({scrollTop: _file.offset().top}, 1000);
					$('#upload-indicator').css("visibility","hidden");
				  }
			},
        dataType: 'json' 
   };

function validateEmailAddress()
{
	var _emailReg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var _email = $('#address');
	if (!_emailReg.test(trim(_email.val()))) 
	{				
		_email.parents('.row').addClass('error');
		$('#email-error').text('Please enter your Email Address');
		return false;
	}
	else
	{
		var str = trim(_email.val());
		$.post("/contest/checkemailexists", { email : str } ,
		   function(responseText, statusText) {
			  if (responseText.status == 'ok') 
			  {
				_email.parents('.row').addClass('error');
				$('#email-error').text('You have already entered the contest');
				$('#email-exists-result').val('YES');
				return false;
			  }else
			  {
				_email.parents('.row').addClass('correct');
				$('#email-exists-result').val('NO');
				return true;
			  }
			}, "json");
	}
}

function countCharacters(obj,limit)
{
	var tlen = obj.value.length;
	var objid = obj.id;
	if(tlen > limit)
	{
		obj.value = obj.value.substring(0, limit);
	}else
	{
		var rem = limit - tlen;
		$("#"+objid+"-count").html(rem +' characters remaining');
	}
}

function checkBoxChecked()
{
	var _check2 = $('#check2');
	_check2.parents('.row').removeClass('error').removeClass('correct');
	_check2.parents('.row').addClass('correct');
	$('#checkbox-status').text('checked');
}

function checkBoxUnChecked()
{
	var _check2 = $('#check2');
	_check2.parents('.row').removeClass('error').removeClass('correct');
	_check2.parents('.row').addClass('error');
	$('#checkbox-status').text('unchecked');
}

function checkBox3Checked()
{
	var _check2 = $('#check3');
	_check2.parents('.row').removeClass('error').removeClass('correct');
	_check2.parents('.row').addClass('correct');
	$('#checkbox3-status').text('checked');
}

function checkBox3UnChecked()
{
	var _check2 = $('#check3');
	_check2.parents('.row').removeClass('error').removeClass('correct');
	_check2.parents('.row').addClass('error');
	$('#checkbox3-status').text('unchecked');
}

function trim(myString)
{
//	return myString.replace(/^s+/g,'').replace(/s+$/g,'');
	return myString.replace(/^\s+|\s+$/g,"");
}
