$(document).ready(function() 
{
	DailyDeal.GetEndTime();
});

var DailyDeal = {
	ServerOffset: null,
	GetEndTime: function() 
	{
		var payload = '<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ServerTime xmlns="http://tempuri.org/" /></soap:Body></soap:Envelope>';
		$.ajax({ url: "Services/Services.asmx/ServerDateTime",
			type: "POST",
			data: payload,
			async: false,
			dataType: "xml",  
            beforeSend: function(req) {  
	            req.setRequestHeader("Content-Type", 'text/xml;charset=UTF-8');  
	            req.setRequestHeader("SOAPAction", '"http://tempuri.org/ServerDateTime"');  
            },  
			success: function(xml) {
				var time = $(xml).find("string").text();
				var serverTime = new Date(time);
				var nowTime = new Date();
				var hourOffset = serverTime.getHours() - nowTime.getHours();
				var minuteOffset = serverTime.getMinutes() - nowTime.getMinutes();
				var secondOffset = serverTime.getSeconds() - nowTime.getSeconds();
				DailyDeal.ServerOffset = ((hourOffset * 60 * 60) + (minuteOffset * 60) + secondOffset) * 1000;
				DailyDeal.UpdateTimer();
				setInterval("DailyDeal.UpdateTimer()",1000);
			},
			error: function(xmlRequestHeader) {
				//alert("error - " + xmlRequestHeader.statusText);
			}
		});
	},
	UpdateTimer: function() 
	{
		var nowTime = new Date();
		nowTime.setTime(nowTime.getTime() + DailyDeal.ServerOffset);
		var rHours = 23 - nowTime.getHours();
		var rMinutes = 59 - nowTime.getMinutes();
		var rSeconds = 59 - nowTime.getSeconds();
		$('#remainingtime').html(DailyDeal.TimePad(rHours) + ":" + DailyDeal.TimePad(rMinutes) + ":" + DailyDeal.TimePad(rSeconds));		
	},
	TimePad: function(num)
	{
		if(num < 10)
		{
			return "0" + num.toString();
		}
		return num.toString();
		
	},
	ShowSignUpModal: function() 
	{
		$('#ddsignupmodal').modal({
			close: false,
			overlayId: 'DailyDealSignUpOverlay',
			containerId: 'DailyDealSignUpContainer'
		});
		
		$('#txtweddingdate').datepicker();
		$('#txtweddingdate').datepicker('option', 'changeMonth', true);
		$('#txtweddingdate').datepicker('option', 'changeYear', true);
	},
	CloseSignUpModal: function()
	{
		$.modal.close();
	},
	FollowOnTwitter: function()
	{
		DailyDeal.CloseSignUpModal();
		return true;
	},
	SignUpError: function(msg) {
		alert(msg);
		return false;
	},
	ValidateSignUp: function() {
		if($('#txtFirstName')[0].value == '') {
			return DailyDeal.SignUpError("You must enter your first name.");
		}
		var emailreg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
		if(!emailreg.test($('#txtEmail')[0].value)) {
			return DailyDeal.SignUpError("You must enter a valid email address.");
		}
		if($('#txtweddingrole')[0].value == '') {
			return DailyDeal.SignUpError("You must enter your wedding role.");
		}
		var datereg = /^\d\d\/\d\d\/\d\d\d\d$/;
		if(!datereg.test($('#txtweddingdate')[0].value)) {
			return DailyDeal.SignUpError("You must enter a wedding date in the form of MM/DD/YYYY.");
		}
		return true;
	},
	SignUp: function() {
		if(DailyDeal.ValidateSignUp()) {
			var FirstName = $('#txtFirstName')[0].value;
			var Email = $('#txtEmail')[0].value;
			var WeddingRole = $('#txtweddingrole')[0].value;
			var WeddingDate = $('#txtweddingdate')[0].value;
			DailyDeal.CloseSignUpModal();
			$.ajax({
				type: 'POST',
				url: 'ajaxpro/WeddingWarehouse.DailyDeal,WeddingWarehouse.ashx',
				dataType: 'html',
				data: '{"FirstName":"' + FirstName + '", "Email":"' + Email + '", "WeddingRole":"' + WeddingRole + '", "WeddingDate":"' + WeddingDate + '"}',
				cache: false,
				async: true,
				beforeSend: function(xhr) {
					xhr.setRequestHeader('X-AjaxPro-Method', 'SignUpForDailyDeal');
				},
				success: function(s) {
					var o = null;
					eval("o = " + s);
					if(o.value != 'success')
					{
						//window.location.href = '/weddingwarehouse/ErrorPage.aspx';
					}
				},
				error: function(XMLHttpRequest, textStatus, errorThrown) {
					//window.location.href = '/weddingwarehouse/ErrorPage.aspx';
				}
			});
			$('#ddty').show();
		}
		
		return false;
	}
}
