// This is the processor that creates and submits XML to eDialog

		var var_edialog_submit_url = "http://qa.e-dialog.com/trigger/wirefly";

		$(document).ready(function(){
			
			$('.edialog_optin_form_feedback_message').hide();
			
			/*
				set all inputs focus state to ignore default functionality 
				and click the containing forms submit button
			*/
			var allInputs = $(":input");
			allInputs.each(function(){
				
				if(
				   ($(this).attr('class') == "add_to_head")||
				   ($(this).attr('class') == "add_to_row")||
				   ($(this).attr('class') == "add_to_content")
					){
						
						 $(this).keydown(function(event) {
													  
							var theParent = $(this).parent();
							  if (event.keyCode == '13') {
								 event.preventDefault();
								 theParent.find(".button").click();
							   }
						});
				 
					}

			});
			
			 $(".button").click(function() {
			
				// validate and process form
				// first hide any previous error messages
				  
				  
				  
				  //var required_fields	= "";		
						
				
					//Create a container to hold the final XML----------------------------------							
						
					var a_xmlstring = "<request>\n<header>\n";
					//var a_xmlstring = "<request>\n<header>\n";
					var b_xmlstring = "</header>\n<data>\n<row>\n ";
					var c_xmlstring = "<xmlcontent type=\"xml-fragment\">\n";
					var d_xmlstring = "</xmlcontent>\n</row>\n</data>\n</request>\n";
					var mem_list = "";
											
					//----------------------------------------------------------------------------
									
					var error_found = 0;
					
					//get the parent of the clicked button
					var theParent = $(this).parent();
					var theGrandParent = $(this).parent().parent();
					//get the parents class name
					var theParentClass = theGrandParent.attr('class');
					
					//get all of input fields for the selected parent
					var theStr = '.'+theParentClass + ' :input';
					var $inputs = $(theStr);
					var email = "";
	
					//loop through each input and add it to the xml 
					$inputs.each(function() {
														   
							var tag = this.name.toLowerCase(); 
							//console.log(tag);
							var set_value = this.value;
							var set_type = this.type;
							var set_class = $(this).attr('class');
							
							
							if(tag != 'debug') {
							
									if (tag == 'email'){
											email = set_value;
											var arr = email.split("@");
										if( 
											(email.indexOf("@") < 1)||
											(email.lastIndexOf(".") <= email.indexOf("@"))||
											(email.indexOf("@@") >= 0)||
											(email.indexOf("@.") >= 0)||
											(email.indexOf(".@") >= 0)||
											(email.indexOf("..") >= 0)||
											(email.lastIndexOf(".") == email.length - 1)||
											(arr.length > 2)
											){
												//$('.form_feedback_message').hide();
												$(this).parent().parent().find('#edialog_optin_errMsg').fadeIn(1500);
												error_found = 1;
												return false; 								
										}
										else{
												//do nothing everything is as it should be
											}
									}
									
								/*	if( required_fields.indexOf(tag.toLowerCase()) != -1) { 							
										if (set_value == "") {
											$("#"+tag + "_error").show();
											error_found = 1;
											return false; 
										}
									}
								*/
							
								if (set_class == "add_to_head") {
									 a_xmlstring +=  "<" + tag.toLowerCase() + ">" + set_value +"</" + tag.toLowerCase() + ">\n";
								}
								if (set_class == "add_to_list") {
										if(mem_list == ""){
													mem_list +=	"<list_memberships>\n"+"<"+set_value+"/>\n";
												}
												else{
													mem_list +="<"+set_value+"/>\n";
												}
								}		
								if (set_class == "add_to_row") {
									b_xmlstring += "<" + tag.toLowerCase() + ">" + set_value +"</" + tag.toLowerCase() + ">\n" ;
								}
		
								if (set_class == "add_to_content") {
											c_xmlstring += "<" + tag.toLowerCase() + ">" + set_value +"</" + tag.toLowerCase() + ">\n" ;
								}
								
								
							} else {
							
								if (set_value==1) {
									a_xmlstring += '<debug' + "\/" + '>';
									
								}
							}					
					});
					
					if(mem_list != ""){
						mem_list += "</list_memberships>\n";	
						b_xmlstring += mem_list;
					}
				
					var string = a_xmlstring  + b_xmlstring + c_xmlstring + d_xmlstring;
					
					if (!error_found) {
						
							var $currentIFrame = $(this).parent().parent().find('.edialog_optin_transmitter');
							$currentIFrame.contents().find("body #xml").val(string);
							$currentIFrame.contents().find("body #edialog_transmitterform").submit();
							 var successMsg = $(this).parent().parent().find('#edialog_optin_successMsg').html();
										  successMsg = successMsg.replace('+email+', email);
										  
									$(this).parent().parent().find('.edialog_optin_form_feedback_message').hide();  
									$(this).parent().parent().find('#edialog_optin_successMsg').html(successMsg);
									$(this).parent().parent().find('#edialog_optin_successMsg').fadeIn(1500);
										$(this).parent().parent().find('.edialog_optin_formStyle').html('')
											.hide();	

							// Post the signup XML
	/*
							$.ajax({
							
							   type: "POST",
							   url: var_edialog_submit_url,
							   processData: false, 
							   data: string,
 							  
							   error: function(){
								   	$('.form_feedback_message').hide();
									$(this).parent().parent().html("<p style='font-weight:bold;color:#FF0000;text-align:center;'>We are experiencing technical difficulty,<br/>please try again later.</p>");
							  },   
							   success: function(html) {
							  
									 var successMsg = $(this).parent().parent().parent().find('#successMsg').html();
										  successMsg = successMsg.replace('+email+', email);
										  
									$('.form_feedback_message').hide();  
									$(this).parent().parent().parent().find('#successMsg').html(successMsg);
									$(this).parent().parent().parent().find('#successMsg').fadeIn(1500);
										$(this).parent().parent().html('')
											.hide();								
								//console.log('form submitted\n' + html); 
							  }							 
 
											  
							});	
*/
/*
							var ifrm = document.getElementById('myIframe');
							ifrm = (ifrm.contentWindow) ? ifrm.contentWindow : (ifrm.contentDocument.document) ? ifrm.contentDocument.document : ifrm.contentDocument;
							ifrm.document.open();
							ifrm.document.write('Hello World!');
							ifrm.document.close();
*/
					
					}
						  
					return false;
			});
				
			
			
		
	
		});

