﻿var Formsubmit = function($){
    var priv = {
    
        // To forward the house details
        submitButtonClicked : false,
        errorHolderSendObject : '#send-errormsg',
    
        successSendObject : function (result){
            if(result.indexOf('Error') != -1){	        
	            priv.errorSendObject(result);
	        } else {
	            // reset input boxes
	            $('#toEmails').val('');
                $('#txtMessage').val('');
                $('#txtFromName').val('');
                $('#txtFromEmail').val('');
	            $('#sendObjectContent').hide();
	            $('#sendObjectMessage').show();
    	        
	            priv.submitButtonClicked = false;
	        }
	    },
	    
	    errorSendObject : function (result){
	        priv.showError('Er is een fout opgetreden', priv.errorHolderSendObject);
	        
	        priv.submitButtonClicked = false;
	    },
	     
	    showError : function (errorMsg, errorHolder) {
	        priv.submitButtonClicked = false;
	        $(errorHolder).show();
	        $(errorHolder).html(errorMsg);
	    },
	    
	    // To send an opmerking about a house
	    errorHolderSendRemark : '#send-errorMessage',
	    
	    successSendRemark : function (result){
            if(result.indexOf('Error') != -1){	        
	            priv.errorSendRemark(result);
	        } else {
	            // reset input boxes
	            $('#txtRemark').val('');
                $('#txtSenderName').val('');
                $('#txtSenderEmailAddress').val('');
	            $('#sendRemarkContent').hide();
	            $('#sendRemarkMessage').show();
    	        
	            priv.submitButtonClicked = false;
	        }
	    },
	    
	    errorSendRemark : function (result){
	        priv.showError('Er is een fout opgetreden', priv.errorHolderSendRemark);
	        
	        priv.submitButtonClicked = false;
	    },
	    
	    // To send a contact form to contact the owner of the house (for third party sales)
	    errorHolderSendOwner : '#send-errormsg2',
	    
	    successSendMessageTowOwner : function (result){
            if(result.indexOf('Error') != -1){	        
	            priv.errorSendMessageToOwner(result);
	        } else {
	            pageTracker._trackPageview('/contactowner.aspx/bedankpagina');
	            // reset input boxes
	            $('#Male').Checked = true;
	            $('#txtMessage2').val('');
                $('#txtInitials').val('');
                $('#txtLastName').val('');
                $('#txtStreet').val('');
                $('#txtHouseNo').val('');
                $('#txtHouseNoExt').val('');
                $('#txtPostcode').val('');
                $('#txtCity').val('');
                $('#ddlCountry').val('1');
                $('#txtTelNo').val('');
                $('#txtContactOwnerFromEmail').val('');
	            $('#cbNewsLetter').Checked = true;
	            $('#cbMagazine').Checked = false;
	            $('#cbAccount').Checked = true;
	            $('#contactOwnerContent').hide();
	            $('#sendContactOwnerMessage').show();
    	        
	            priv.submitButtonClicked = false;
	            
	            var google_conversion_id = 1064258205; 
                var google_conversion_language = "nl"; 
                var google_conversion_format = "2"; 
                var google_conversion_color = "ffffff"; 
                var google_conversion_label = "pHFOCKfk0QEQnZW9-wM"; 
                var google_conversion_value = 0; 
                
                var e = document.createElement("script");
                e.src = "http://www.googleadservices.com/pagead/conversion.js";
                e.type="text/javascript";
                document.getElementsByTagName("head")[0].appendChild(e);
	        }
	    },
	    
	    errorSendMessageToOwner : function (result){
	        priv.showError('Er is een fout opgetreden', priv.errorHolderSendOwner);
	        
	        priv.submitButtonClicked = false;
	    }
    };
    return {
    
        sendObject : function(accoId){
            if(!priv.submitButtonClicked){ // make sure the email isnt send multiple times
                priv.submitButtonClicked = true;
                
                // object values
                var name = $('#hidName').val();
                var url = $('#hidUrl').val();
                
                // input values
                var toName = $('#toName').val();
                var toEmails = $('#toEmails').val();
                var message = $('#txtMessage').val();
                var fromName = $('#txtFromName').val();
                var fromEmail = $('#txtFromEmail').val();

                // email regex
                var reg = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
                
                if(toEmails == '' || !reg.test(toEmails)){
	                priv.showError('Het veld "stuur naar email" is niet correct ingevuld. Er mogen alleen letters en cijfers in en geen andere tekens.', priv.errorHolderSendObject);
	            }
	            else if(fromEmail == '' || !reg.test(fromEmail)){
	                priv.showError('Het veld "uw email" is niet correct ingevuld. Er mogen alleen letters en cijfers in en geen andere tekens.', priv.errorHolderSendObject);
	            }
	            else {
	                $.ajax({
		                type: "POST",
		                url: global.pathPrefix + '/js/ajax/sendobject.ashx',
			            data: 'toName='+toName+'&toEmails='+toEmails+'&message='+message+'&fromName='+fromName+'&fromEmail='+fromEmail+'&objectName='+name+'&objectUrl='+encodeURI(url),
			            async: true,
        				
		                success : priv.successSendObject,
			            error : priv.errorSendObject
		            });
	            }
	        }
         },
         
        sendRemark : function(accoId){
            if(!priv.submitButtonClicked){ // make sure the email isnt send multiple times
                priv.submitButtonClicked = true;
                
                // object values
                var name = $('#hidName1').val();
                var url = $('#hidUrl1').val();
                
                // input values
                var txtRemark = $('#txtRemark').val();
                var txtSenderName = $('#txtSenderName').val();
                var txtSenderEmailAddress = $('#txtSenderEmailAddress').val();

                // email regex
                var reg = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
                
                if(txtSenderEmailAddress == '' || !reg.test(txtSenderEmailAddress)){
	                priv.showError('Het veld "uw email addres" is niet correct ingevuld. Er mogen alleen letters en cijfers in en geen andere tekens.', priv.errorHolderSendRemark);
	            }
	            else {
	                $.ajax({
		                type: "POST",
		                url: global.pathPrefix + '/js/ajax/sendRemark.ashx',
			            data: '&txtSenderName='+txtSenderName+'&txtSenderEmailAddress='+txtSenderEmailAddress+'&txtRemark='+txtRemark+'&objectName='+name+'&objectUrl='+encodeURI(url),
			            async: true,
        				
		                success : priv.successSendRemark,
			            error : priv.errorSendRemark
		            });
	            }
	        }
         },
         
         sendMessageToOwner : function(accoId){
            if(!priv.submitButtonClicked){ // make sure the email isnt send multiple times
                priv.submitButtonClicked = true;

                // object values
                var name = $('#hidName2').val();
                var parcname = $('#hidParcName2').val();
                var url = $('#hidUrl2').val();
                var parcId = $('#hidParcIdWinris').val();
                
                // input values
                
                var txtAanhef;
                var test = document.getElementsByName("titleGroup");
                for (i = 0; i < test.length; i++) {
                    if (test[i].checked)
                        txtAanhef = test[i].value;
                }
                var txtMessage2 = $('#txtMessage2').val();
                var txtInitials = $('#txtInitials').val();
                var txtLastName = $('#txtLastName').val();
                var txtStreet = $('#txtStreet').val();
                var txtHouseNo = $('#txtHouseNo').val();
                var txtHouseNoExt = $('#txtHouseNoExt').val();
                var txtPostcode = $('#txtPostcode').val();
                var txtCity = $('#txtCity').val();
                var txtCountry = $('#ddlCountry').val();
                var txtTelNo = $('#txtTelNo').val();
                var txtContactOwnerFromEmail = $('#txtContactOwnerFromEmail').val();
                var ownerContactName = $('#ownerContactName').val();
                var ownerContactEmail = $('#ownerContactEmail').val();
                var newsLetter = new Boolean($('#cbNewsLetter').attr('checked'));
                var magazine = new Boolean($('#cbMagazine').attr('checked'));
                var account = new Boolean($('#cbAccount').attr('checked'));
                var customerid = $('#hidCustomerId').val();

                // email regex
                var reg = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
                var regHouseNo = /^[0-9]+$/i;
                
                if((txtContactOwnerFromEmail == '' || !reg.test(txtContactOwnerFromEmail)) && customerid <= 0){
	                priv.showError('Het veld "Email" is niet correct ingevuld. Er mogen alleen letters en cijfers in een emailadres en geen andere tekens.', priv.errorHolderSendOwner);
	            }
	            else if (txtInitials == '') {
    	            priv.showError('Het veld "Voorletter(s)" is niet ingevuld.', priv.errorHolderSendOwner);
	            }
	            else if (txtLastName == '') {
    	            priv.showError('Het veld "Achternaam" is niet ingevuld.', priv.errorHolderSendOwner);
	            }
	            else if (txtStreet == '' && customerid <= 0) {
    	            priv.showError('Het veld "Straat" is niet ingevuld.', priv.errorHolderSendOwner);
	            }
	            else if ((txtHouseNo == '' || !regHouseNo.test(txtHouseNo)) && customerid <= 0) {
    	            priv.showError('Het veld "Huisnummer" is niet correct ingevuld. Er mogen alleen cijfers worden ingevuld', priv.errorHolderSendOwner);
	            }
	            else if (txtPostcode == '' && customerid <= 0) {
    	            priv.showError('Het veld "Postcode" is niet ingevuld.', priv.errorHolderSendOwner);
	            }
	            else if (txtCity == '' && customerid <= 0) {
    	            priv.showError('Het veld "Woonplaats" is niet ingevuld.', priv.errorHolderSendOwner);
	            }
	            else if (txtTelNo == '' && customerid <= 0) {
    	            priv.showError('Het veld "Telefoon" is niet ingevuld.', priv.errorHolderSendOwner);
	            }
	            else {
	                $.ajax({
		                type: "POST",
		                url: global.pathPrefix + '/js/ajax/sendMessageToOwner.ashx',
		                data: '&txtMessage2=' + txtMessage2 + '&txtAanhef=' + txtAanhef + '&txtInitials=' + txtInitials + '&txtLastName=' + txtLastName + '&txtStreet=' + txtStreet + '&txtHouseNo=' + txtHouseNo + '&txtHouseNoExt=' + txtHouseNoExt + '&txtPostcode=' + txtPostcode + '&txtCity=' + txtCity + '&ddlCountry=' + txtCountry + '&txtTelNo=' + txtTelNo + '&txtContactOwnerFromEmail=' + txtContactOwnerFromEmail + '&objectName=' + name + '&parcName=' + parcname + '&objectUrl=' + encodeURI(url) + '&ownerContactName=' + ownerContactName + '&ownerContactEmail=' + ownerContactEmail + '&newsletter=' + newsLetter + '&magazine=' + magazine + '&account=' + account + '&hidCustomerId=' + customerid + '&parcid=' + parcId,
			            async: true,
        				
		                success : priv.successSendMessageTowOwner,
			            error : priv.errorSendMessageToOwner
		            });
	            }
	        }
         }
	    
    }
}(jQuery);
