//StandUp Act form Validation

$(document).ready(function() {

	$('#support').submit(function(){
		return validateForm();	
	});
			
			
	function validateForm() {
		//$('li').addClass("hidden");
		$('input.error').removeClass("error");
		$('fieldset.state').removeClass("error");
		var fname = $('form#support input#first-name').val();
		var lname = $('form#support input#last-name').val();
		var email = $('form#support input#email').val();
		var state = $('form#support input#state').val();
		var city = $('form#support input#city').val();
		var zip = $('form#support input#zip').val();
		var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
		var numericExpression = /^[0-9]+$/;
	

		if (fname.length == 0 || fname.match("First name")) {
			$('#support span.hidden').removeClass('hidden');
			$('#first_name_validationMessage').removeClass('hidden');
			$('input#first-name').addClass("error");
			return false;
		} 
	  	if (lname.length == 0 || lname.match("Last name")) {
	  		$('#support span.hidden').removeClass('hidden');
			$('#last_name_validationMessage').removeClass('hidden');
			$('input#last-name').addClass("error");
			return false;
		} 
		if (email.length == 0 || email.match("Email address")) {
			$('#support span.hidden').removeClass('hidden');
			$('#email_validationMessage').removeClass('hidden');
			$('input#email').addClass("error");
			return false;
		} 
		else if(!emailReg.test(email)) {
			$('#support span.hidden').removeClass('hidden');
			$('#email_validationMessage').removeClass('hidden');
			$('input#email').addClass("error");
			return false;
		}
		
		if (city.length == 0 || city.match("City")) {
			$('#support span.hidden').removeClass('hidden');
			$('#city_validationMessage').removeClass('hidden');
			$('input#city').addClass("error");
			return false;
		} 

		if (document.getElementById('state').selectedIndex == 0) {
			$('#support span.hidden').removeClass('hidden');
			$('#state_validationMessage').removeClass('hidden');
			$('fieldset.state').addClass("error");
			return false;
		}
		
		if (zip.length == 0 || zip.match("ZIP") || zip.length != 5) {
			$('#support span.hidden').removeClass('hidden');
			$('#zip_validationMessage').removeClass('hidden');
			$('input#zip').addClass("error");
			return false;
		} 
		
		else if (!zip.match(numericExpression)){
			$('#support span.hidden').removeClass('hidden');
			$('#zip_validationMessage').removeClass('hidden');
			$('input#zip').addClass("error");
			return false;
		}

		return true;
	}
});

  $.ajaxSetup({"error":function(XMLHttpRequest,textStatus, errorThrown) {   
      alert(textStatus);
      alert(errorThrown);
      alert(XMLHttpRequest.responseText);
  }});


function HelloWorld(){
	alert('Hello World');
}

function updateInteraction(actionMessage){
	
	//var url = "http://localhost:7244/FMR/services/InteractionService?" + actionMessage;
	var url = "https://astddev.fmreps.com/AllStateAPI/ReceiveJSON?json=" + actionMessage + "&jsoncallback=?";
	alert(url);
	$.getJSON(url, function(data){
			alert(data);
			handleOutboundResponse(data);
		});
	
}

function updateInteraction(userId, moduleId, actionId){
	var url = jsPostServer + '/services/ModuleService?userId=' + userId + '&moduleId=' + moduleId + '&actionId=' + actionId;
	alert(url);
	$.getJSON(url, function(data){
			alert(data);
			handleOutboundResponse(data);
		});
	
}

var jsonStartMsg = '{"message":{"action":"UpdateInteraction","tokenid":"89d096f2-9a47-413e-b1a5-07d50044183d","user":{"fmrid":"30","module":{"id":"2","action":"Complete","timestamp":"2010-06-10 14:20:44"}}}}';
var jsonEndMsg = '';


function startModule(){
	alert('start');
	updateInteraction(jsonStartMsg);
	alert('end');
}

function endModule(){
	updateInteraction(jsonEndMsg);	
}

function handleOutboundResponse(data){
	alert('handleOutbound');
	var message = data.message;
	var ret = message.ret;
	alert(ret.type + ' ' + ret.code + ' ' + ret.detail);
	alert('end handle');
}

function approvePromise(){
	postPromiseUpdate();
	doApproval(true);
}

function createContract(values){
	
	//alert(values);
	
	var u = 'http://' + host + '/services/TeenContractService?' + values + 'action=create' + '&userId=' + userId + '&contractId=' + contractId;
	//var u = 'http://' + host + '/services/TeenContractService?' + values&mediaType=' + mediaType;
//	var redirectUrl = 'http://' + host + '/pages/';
	//alert(u);
	$.ajax({
		  url: u,
		  success: function(data) {
//			$(location).attr('href',redirectUrl);	
			//alert('success');
			   },
		  error: function() {
			alert('error saving promise');
			}
	});
	
}

function doApproval(approve){
	var eula = document.getElementById("eulaCheckbox");
	if (!eula.checked){
		document.getElementById("eulaError").className='';
		return true;
	}
	var aprv = 'false';
	if (approve){
		aprv = 'true';
	}
	var feedback = document.getElementById("approvalFeedback");
	var gallery = document.getElementById("videoCheckbox");
	var u = 'http://' + host + '/services/TeenContractService?action=approval&approve=' + aprv + '&userId=' + userId + '&key=' + key + '&contractId=' + contractId + '&gallery=' + gallery.checked + '&message=' + feedback.value;
	var redirectUrl = 'http://' + host + '/pages/parents/';
	//alert(u);
	$.ajax({
		  url: u,
		  success: function(data) {
			$(location).attr('href',redirectUrl);	
			   },
		  error: function() {
			alert('error');
			}
	});
}

function disapprovePromise(){
	doApproval(false);
}

function gdlGo(){
	//alert('go');
	//alert(document.getElementById('state').selectedIndex);
	var sel = document.getElementById('state')
	var s = sel.selectedIndex;
	var o = sel.options[s];
	window.open(o.value);
}

function DoApproval(approve){
	var aprv = 'false';
	if (approve){
		aprv = 'true';
	}
	var feedback = document.getElementById("approvalFeedback");
	var u = 'http://' + host + '/services/TeenContractService?action=allstate_approval&approve=' + aprv + '&userId=' + userId + '&key=' + key + '&allstate_key=' + aKey + '&contractId=' + contractId + '&gallery=true&message=' + feedback.value;
	var redirectUrl = 'http://' + host + '/pages/parents/';
	$.ajax({
		  url: u,
		  success: function(data) {
			$(location).attr('href',redirectUrl);	
			   },
		  error: function() {
			alert('error');
			}
	});
}

function postPromiseUpdate(){
	//alert('start postPromiseUpdate');
	//var msg = document.getElementById("jsonMsg");
	//alert(msg.value);
	//var u = fmrApiUrl + msg.value + "&jsoncallback=?";
	//alert(u);
	//$.getJSON(u, function(data){
		//alert('got response FMR');
		
	//	try {
	//		var myJSONText = JSON.stringify(data, null);
			//alert(myJSONText);
	//		userAction(myJSONText);
	//	} catch (err) {
	//		alert("Error " + err);
	//	}		


		
		
	//});
	//alert('end postPromiseUpdate');
}


function postNiaUpdate(){
	updateNiaCompletion();
	//alert('start postNiaUpdate');
	//var msg = document.getElementById("jsonMsg");
	//alert(msg.value);
	//var u = fmrApiUrl + msg.value + "&jsoncallback=?";
	//alert(u);
	//$.getJSON(u, function(data){
		//alert('got response FMR');
		
	//	try {
	//		var myJSONText = JSON.stringify(data, null);
			//alert(myJSONText);
			userAction(myJSONText);
	//	} catch (err) {
	//		alert("Error " + err);
	//	}		
	//});
	//alert('end postNiaUpdate');
	return false;
}

function ApprovePromise(){
	DoApproval(true);
}

function DisapprovePromise(){
	DoApproval(false);
}

function userAction(userMessage){
	//alert('userAction');
	//alert(userMessage);
	var url = jsPostServer + "/services/UserService?" + userMessage + "&jsoncallback=?";
	//alert (url);
	$.getJSON(url, function(data){
			//alert('got response');
		});
}

