﻿
if (typeof FAQ == "undefined" || !FAQ) {
    var FAQ = {};
}
if (typeof TipAFriend == "undefined" || !TipAFriend) {
    var TipAFriend = {};
}
if (typeof ContactUs == "undefined" || !ContactUs) {
    var ContactUs = {};
}
if (typeof Complaints == "undefined" || !Complaints) {
    var Complaints = {};
}
if (typeof CampaignDelight == "undefined" || !CampaignDelight) {
    var CampaignDelight = {};
}

FutureLab.addNamespace(FAQ,'FAQ');
FutureLab.addNamespace(TipAFriend,'TipAFriend');
FutureLab.addNamespace(ContactUs,'ContactUs');
FutureLab.addNamespace(Complaints,'Complaints');
FutureLab.addNamespace(CampaignDelight,'CampaignDelight');

FAQ.Form = {
    display: function() { 
        var container = $('faq-ask-question-container');
        if (!container.visible()) {
            var height = container.getHeight();
            container.style.display='block';
            container.style.height='0px';
            container.style.overflow='hidden';
         
            var after = function() {
                container.style.overflow = 'visible';
                container.style.height='auto';
                if (popup && popup.popIsActive) {
                    popup.resizeOverlay();
                }
            }
            var effect = new fx.Height(container, { duration: 800, onComplete: after });
            effect.custom(0,height);
        }
    },
    
    hide: function() {
        var container = $('faq-ask-question-container');
        var height = container.getHeight();        
        var after = function() {  
            container.hide();    
            container.style.height = height+'px';  
            
            FAQ.Form.reset();
            
            FAQ.Form.showSentMessage();
            
            if (popup && popup.popIsActive) {
                popup.resizeOverlay();
            }
        }
        var effect = new fx.Height(container, { duration: 800, onComplete: after });
        effect.custom(container.getHeight(),0);        
    },
    
    showSentMessage: function() { 
        var message = $('faq-ask-question-container-sent');
        if (!message.visible()) {
            var height = message.getHeight();
            message.style.display='block';
            message.style.height='0px';
            message.style.overflow='hidden';
    
            var after = function() {
                message.style.overflow = 'visible';
                message.style.height='auto';
                if (popup && popup.popIsActive) {
                    popup.resizeOverlay();
                }
            }
            var effect = new fx.Height(message, { duration: 800, onComplete: after });
            effect.custom(0,height);
        }
    },
    
    validate: function() {
        var _name = new API.Web.UI.Client.Service.Forms.validationValue();
	    var _email = new API.Web.UI.Client.Service.Forms.validationValue();
	    var _question = new API.Web.UI.Client.Service.Forms.validationValue();
        var container = $('faq-ask-question-container');     
        
	    var failed = function() {alert('FAQ.Form.validate:Something went wrong');}
	    
	    var succeeded = function(result) {
		    if(result.length > 0){
		        var errorlist ='';
			    for (var index = 0; index < result.length; ++index) 
			    {   
				    var item = result[index];					
				    container.getElementById(item.property).ancestors()[0].addClassName('error');
				    errorlist = errorlist + '<li>'+item.error+'</li>';
			    } 
			    container.getElementById('your-name').ancestors()[0].removeClassName('sending');
	            container.getElementById('your-email').ancestors()[0].removeClassName('sending');
	            container.getElementById('your-question').ancestors()[0].removeClassName('sending');
	            container.getElementById('faq-submit').removeClassName('sending');
	            container.getElementById('faq-loader').hide();
	            container.getElementById('faq-error').show();
		        container.getElementById('faq-errorlist').innerHTML=errorlist;
		        
		        if (popup && popup.popIsActive) {
                    popup.resizeOverlay();
                }
	        }
		    else
		    {
		        FAQ.Form.send();
			}
	    }
	    container.getElementById('your-name').ancestors()[0].removeClassName('error');
	    container.getElementById('your-email').ancestors()[0].removeClassName('error');
	    container.getElementById('your-question').ancestors()[0].removeClassName('error');

	    container.getElementById('your-name').ancestors()[0].addClassName('sending');
	    container.getElementById('your-email').ancestors()[0].addClassName('sending');
	    container.getElementById('your-question').ancestors()[0].addClassName('sending');
	    
	    container.getElementById('faq-errorlist').innerHTML='';
	    container.getElementById('faq-error').hide();

        container.getElementById('faq-submit').addClassName('sending');
        container.getElementById('faq-loader').show();
		
	    _name.property = 'your-name';
	    _name.value = container.getElementById('your-name').value;

	    _email.property = 'your-email';
	    _email.value = container.getElementById('your-email').value;
	    
	    _question.property = 'your-question';
	    _question.value = container.getElementById('your-question').value;

	    var _formArray = [_name,_email,_question];
    	
	    API.Web.UI.Client.Service.Forms.Validation.validateForm('faq',_formArray,succeeded,failed)
    	
	    return false;
    
    },
    send: function() {
        var _name = new API.Web.UI.Client.Service.Forms.validationValue();
	    var _email = new API.Web.UI.Client.Service.Forms.validationValue();
	    var _question = new API.Web.UI.Client.Service.Forms.validationValue();
	    var _recipientID = new API.Web.UI.Client.Service.Forms.validationValue();
	    var _messageheader = new API.Web.UI.Client.Service.Forms.validationValue();
	    
        var container = $('faq-ask-question-container');     
        
	    var failed = function() {alert('sendDemo:Something went wrong');}
	    var succeeded = function(result) {
	        container.getElementById('faq-submit').addClassName('sent');
            container.getElementById('your-name').ancestors()[0].addClassName('sent');
            container.getElementById('your-email').ancestors()[0].addClassName('sent');
            container.getElementById('your-question').ancestors()[0].addClassName('sent');
            container.getElementById('faq-loader').hide();
            
             setTimeout('FAQ.Form.hide()',1000);
	    }
    	_name.property = 'your-name';
	    _name.value = container.getElementById('your-name').value;

	    _email.property = 'your-email';
	    _email.value = container.getElementById('your-email').value;
	    
	    _question.property = 'your-question';
	    _question.value = container.getElementById('your-question').value;
	    
	    _recipientID.property = 'recipientid';
	    _recipientID.value = $('faq-recipientid').value;
	    
	    _messageheader.property = 'email_header';
	    _messageheader.value = $('faq-email-header').value;
	    
	    var _formArray = [_name,_email,_question,_recipientID,_messageheader];
    	
	    API.Web.UI.Client.Service.Forms.Validation.sendForm('faq',_formArray,succeeded,failed)
    },
    reset: function() {
        var container = $('faq-ask-question-container');     
        
        container.getElementById('your-name').value='';
        container.getElementById('your-email').value='';
	    container.getElementById('your-question').value='';
	    
        container.getElementById('your-name').ancestors()[0].removeClassName('error');
	    container.getElementById('your-email').ancestors()[0].removeClassName('error');
	    container.getElementById('your-question').ancestors()[0].removeClassName('error');
	    
	    container.getElementById('your-name').ancestors()[0].removeClassName('sent');
	    container.getElementById('your-email').ancestors()[0].removeClassName('sent');
	    container.getElementById('your-question').ancestors()[0].removeClassName('sent');
	    
	    container.getElementById('your-name').ancestors()[0].removeClassName('sending');
	    container.getElementById('your-email').ancestors()[0].removeClassName('sending');
	    container.getElementById('your-question').ancestors()[0].removeClassName('sending');
	    
	    container.getElementById('faq-submit').removeClassName('sending');
	    container.getElementById('faq-submit').removeClassName('sent');
    }
};

TipAFriend.Form = { 
   
    getContainer: function() {
        if (popup && popup.popIsActive) {
            var c = $('pop-content-container').select('div.tip-a-friend-container');
            if (c.length>0) {
                return c[0];
            }            
        } else {
            var c = $$('div.tip-a-friend-container');
            if (c.length>0) {
                return c[0];
            }   
        }
    },
    display: function() { 
        var container = TipAFriend.Form.getContainer();
        if (!container.visible()) {
            var height = container.getHeight();
            container.style.display='block';
            container.style.height='0px';
            container.style.overflow='hidden';
     
            var after = function() {
                container.style.overflow = 'visible';
                container.style.height='auto';
                container.addClassName('open');
                if (popup && popup.popIsActive) {
                    popup.resizeOverlay();
                }
                
            }
            var effect = new fx.Height(container, { duration: 800, onComplete: after });
            effect.custom(0,height);
        } else {
            if (container.hasClassName('open')) {
                container.removeClassName('open');
                TipAFriend.Form.hide();
            }
        }
    },
    hide: function(formID) {
        var container = TipAFriend.Form.getContainer();
        var height = container.getHeight();        
        var after = function() {  
            container.hide();    
            container.style.height = height+'px';  
            
            if (formID) {
                TipAFriend.Form.reset(formID);
            }
            if (popup && popup.popIsActive) {
                popup.resizeOverlay();
            }
        }
        var effect = new fx.Height(container, { duration: 800, onComplete: after });
        effect.custom(container.getHeight(),0);        
    },
    validate: function(formID) {
        var _name = new API.Web.UI.Client.Service.Forms.validationValue();
	    var _email = new API.Web.UI.Client.Service.Forms.validationValue();
	    var _friendname = new API.Web.UI.Client.Service.Forms.validationValue();
	    var _friendemail = new API.Web.UI.Client.Service.Forms.validationValue();
	    var failed = function() {alert('TipAFriend.Form.validate:Something went wrong');}
	    
	    var succeeded = function(result) {
		    if(result.length > 0){
		        var errorlist ='';
			    for (var index = 0; index < result.length; ++index) 
			    {   
				    var item = result[index];					
				    $(formID +'_'+item.property).ancestors()[0].addClassName('error');
				    errorlist = errorlist + '<li>'+item.error+'</li>';
			    } 
			    $(formID +'_tip-your-name').ancestors()[0].removeClassName('sending');
	            $(formID +'_tip-your-email').ancestors()[0].removeClassName('sending');
	            $(formID +'_tip-friend-name').ancestors()[0].removeClassName('sending');
	            $(formID +'_tip-friend-email').ancestors()[0].removeClassName('sending');
	            $(formID +'_tip-a-friend-submit').removeClassName('sending');
	            $(formID +'_tip-a-friend-submit').enabled = true;
	            
	            $(formID +'_tip-a-friend-loader').hide();
	            $(formID +'_tip-a-friend-error').show();
		        $(formID +'_tip-a-friend-errorlist').innerHTML=errorlist;
		        
		        if (popup && popup.popIsActive) {
                    popup.resizeOverlay();
                }
	        }
		    else
		    {
		        TipAFriend.Form.send(formID);
			}
	    }    
	    
	    $(formID +'_tip-your-name').ancestors()[0].removeClassName('error');
	    $(formID +'_tip-your-email').ancestors()[0].removeClassName('error');
	    $(formID +'_tip-friend-name').ancestors()[0].removeClassName('error');
	    $(formID +'_tip-friend-email').ancestors()[0].removeClassName('error');

	    $(formID +'_tip-your-name').ancestors()[0].addClassName('sending');
	    $(formID +'_tip-your-email').ancestors()[0].addClassName('sending');
	    $(formID +'_tip-friend-name').ancestors()[0].addClassName('sending');
	    $(formID +'_tip-friend-email').ancestors()[0].addClassName('sending');
   
	    $(formID +'_tip-a-friend-errorlist').innerHTML='';
	    $(formID +'_tip-a-friend-error').hide();
  
        $(formID +'_tip-a-friend-submit').addClassName('sending');
        $(formID +'_tip-a-friend-submit').enabled = false;
        $(formID +'_tip-a-friend-loader').show();
		

	    _name.property = 'tip-your-name';
	    _name.value = $(formID +'_tip-your-name').value;

	    
	    _email.property = 'tip-your-email';
	    _email.value = $(formID +'_tip-your-email').value;
	    
	    _friendname.property = 'tip-friend-name';
	    _friendname.value = $(formID +'_tip-friend-name').value;

        _friendemail.property = 'tip-friend-email';
	    _friendemail.value = $(formID +'_tip-friend-email').value;
	    
	    var _formArray = [_name,_email,_friendname, _friendemail];
	    
    	
	    API.Web.UI.Client.Service.Forms.Validation.validateForm('tip-a-friend',_formArray,succeeded,failed)
    	
	    return false;
    
    },
    send: function(formID) {
        var _name = new API.Web.UI.Client.Service.Forms.validationValue();
	    var _email = new API.Web.UI.Client.Service.Forms.validationValue();
	    var _friendname = new API.Web.UI.Client.Service.Forms.validationValue();
	    var _friendemail = new API.Web.UI.Client.Service.Forms.validationValue();
	    var _pageUri = new API.Web.UI.Client.Service.Forms.validationValue();
   
	    var failed = function() {alert('sendDemo:Something went wrong');}
	    var succeeded = function(result) {
	        $(formID +'_tip-a-friend-submit').addClassName('sent');
            $(formID +'_tip-your-name').ancestors()[0].addClassName('sent');
            $(formID +'_tip-your-email').ancestors()[0].addClassName('sent');
            $(formID +'_tip-friend-name').ancestors()[0].addClassName('sent');
            $(formID +'_tip-friend-email').ancestors()[0].addClassName('sent');
            $(formID +'_tip-a-friend-loader').hide();
            
            setTimeout( function() {
                TipAFriend.Form.hide(formID)
            },1000);
        }
    	_name.property = 'tip-your-name';
	    _name.value = $(formID +'_tip-your-name').value;

	    _email.property = 'tip-your-email';
	    _email.value = $(formID +'_tip-your-email').value;
	    
	    _friendname.property = 'tip-friend-name';
	    _friendname.value = $(formID +'_tip-friend-name').value;
	    
	    _friendemail.property = 'tip-friend-email';
	    _friendemail.value = $(formID +'_tip-friend-email').value;
	    
	    _pageUri.property = 'pageuri';
	    if (popup.popIsActive) {
	        _pageUri.value = popup.pageUri;
	    } else {
	        _pageUri.value = document.location.href;
	    }
	    var _formArray = [_name,_email,_friendname, _friendemail,_pageUri];
    	
	    API.Web.UI.Client.Service.Forms.Validation.sendForm('tip-a-friend',_formArray,succeeded,failed)
	    
	    return false;
    },
    
    reset: function(formID) {
        //var container = $('tip-a-friend-container');
	    
        $(formID +'_tip-a-friend-loader').hide();        
        
        $(formID +'_tip-a-friend-submit').enabled = true;
	            
        $(formID +'_tip-a-friend-submit').removeClassName('sent');
        $(formID +'_tip-your-name').ancestors()[0].removeClassName('sent');
        $(formID +'_tip-your-email').ancestors()[0].removeClassName('sent');
        $(formID +'_tip-friend-name').ancestors()[0].removeClassName('sent');
        $(formID +'_tip-friend-email').ancestors()[0].removeClassName('sent');
        
        $(formID +'_tip-a-friend-submit').removeClassName('sending');
        $(formID +'_tip-your-name').ancestors()[0].removeClassName('sending');
        $(formID +'_tip-your-email').ancestors()[0].removeClassName('sending');
        $(formID +'_tip-friend-name').ancestors()[0].removeClassName('sending');
        $(formID +'_tip-friend-email').ancestors()[0].removeClassName('sending');
        
        $(formID +'_tip-a-friend-submit').removeClassName('error');
        $(formID +'_tip-your-name').ancestors()[0].removeClassName('error');
        $(formID +'_tip-your-email').ancestors()[0].removeClassName('error');
        $(formID +'_tip-friend-name').ancestors()[0].removeClassName('error');
        $(formID +'_tip-friend-email').ancestors()[0].removeClassName('error');
        
        $(formID +'_tip-your-name').value='';
        $(formID +'_tip-your-email').value='';
        $(formID +'_tip-friend-name').value='';
        $(formID +'_tip-friend-email').value='';
    }
};

ContactUs.Form = { 
   
    display: function() { 
        var container = $('contact-us-container');
        if (!container.visible()) {
            var height = container.getHeight();
            container.style.display='block';
            container.style.height='0px';
            container.style.overflow='hidden';
    
            var after = function() {
                container.style.overflow = 'visible';
                container.style.height='auto';
                if (popup && popup.popIsActive) {
                    popup.resizeOverlay();
                }
            }
            var effect = new fx.Height(container, { duration: 800, onComplete: after });
            effect.custom(0,height);
        }
    },
    hide: function(formID) {
        var container = $('contact-us-container');
        var height = container.getHeight();        
        var after = function() {  
            container.hide();    
            container.style.height = height+'px';  
            
            ContactUs.Form.reset(formID);
            
            ContactUs.Form.showSentMessage();
            
            if (popup && popup.popIsActive) {
                popup.resizeOverlay();
            }
        }
        var effect = new fx.Height(container, { duration: 800, onComplete: after });
        effect.custom(container.getHeight(),0);        
    },
    showSentMessage: function() { 
        var message = $('contact-us-container-sent');
        if (!message.visible()) {
            var height = message.getHeight();
            message.style.display='block';
            message.style.height='0px';
            message.style.overflow='hidden';
    
            var after = function() {
                message.style.overflow = 'visible';
                message.style.height='auto';
                if (popup && popup.popIsActive) {
                    popup.resizeOverlay();
                }
            }
            var effect = new fx.Height(message, { duration: 800, onComplete: after });
            effect.custom(0,height);
        }
    },
    hideSentMessage: function() {
        var message = $('contact-us-container-sent');
        var height = message.getHeight();    
            
        var after = function() {  
            message.hide();    
            message.style.height = height+'px';  
            
            var effect = new fx.Height(message, { duration: 800 });
            effect.custom(0,message.getHeight());     
            
            if (popup && popup.popIsActive) {
                popup.resizeOverlay();
            }
            ContactUs.Form.display();
            
        }
        var effect = new fx.Height(message, { duration: 800, onComplete: after });
        effect.custom(message.getHeight(),0);        
    },
    
    validate: function(formID) {
        var _name = new API.Web.UI.Client.Service.Forms.validationValue();
	    var _email = new API.Web.UI.Client.Service.Forms.validationValue();
	    var _message = new API.Web.UI.Client.Service.Forms.validationValue();
	    var failed = function() {alert('ContactUs.Form.validate:Something went wrong');}
	    var container = $('contact-us-container');
	    
	    var succeeded = function(result) {
		    if(result.length > 0){
		        var errorlist ='';
			    for (var index = 0; index < result.length; ++index) 
			    {   
				    var item = result[index];					
				    $(formID +'_'+item.property).ancestors()[0].addClassName('error');
				    errorlist = errorlist + '<li>'+item.error+'</li>';
			    } 
			    $(formID +'_name').ancestors()[0].removeClassName('sending');
	            $(formID +'_email').ancestors()[0].removeClassName('sending');
	            $(formID +'_question').ancestors()[0].removeClassName('sending');
	            $(formID +'_submit').removeClassName('sending');
	            $(formID +'_submit').enabled = true;
	            
	            $(formID +'_loader').hide();
	            $(formID +'_error').show();
		        $(formID +'_errorlist').innerHTML=errorlist;
		        
		        if (popup && popup.popIsActive) {
                    popup.resizeOverlay();
                }
	        }
		    else
		    {
		        ContactUs.Form.send(formID);
			}
	    }
	    
	    // try{
	    
	    $(formID +'_name').ancestors()[0].removeClassName('error');
	    $(formID +'_email').ancestors()[0].removeClassName('error');
	    $(formID +'_question').ancestors()[0].removeClassName('error');
	    
	    $(formID +'_name').ancestors()[0].addClassName('sending');
	    $(formID +'_email').ancestors()[0].addClassName('sending');
	    $(formID +'_question').ancestors()[0].addClassName('sending');
	    
	    $(formID +'_errorlist').innerHTML='';
	    $(formID +'_error').hide();

        $(formID +'_submit').addClassName('sending');
        $(formID +'_submit').enabled = false;
        $(formID +'_loader').show();
		
	    _name.property = 'name';
	    _name.value = $(formID +'_name').value;

	    _email.property = 'email';
	    _email.value = $(formID +'_email').value;
	    
	    _message.property = 'question';
	    _message.value = $(formID +'_question').value;
    
	    var _formArray = [_name,_email,_message];
    	
	    API.Web.UI.Client.Service.Forms.Validation.validateForm('contact-us',_formArray,succeeded,failed)
	    
	    //}
	    //catch(e){alert(e.description);}
    	
	    return false;
    
    },
    send: function(formID) {
        var _recipientid = new API.Web.UI.Client.Service.Forms.validationValue();
        var _name = new API.Web.UI.Client.Service.Forms.validationValue();
	    var _email = new API.Web.UI.Client.Service.Forms.validationValue();
	    var _message = new API.Web.UI.Client.Service.Forms.validationValue();
		var _messageheader = new API.Web.UI.Client.Service.Forms.validationValue();
	    
	    var container = $('contact-us-container');
	    
	    var failed = function() {alert('sendDemo:Something went wrong');}
	    var succeeded = function(result) {
	        $(formID +'_submit').addClassName('sent');
            $(formID +'_name').ancestors()[0].addClassName('sent');
            $(formID +'_email').ancestors()[0].addClassName('sent');
            $(formID +'_question').ancestors()[0].addClassName('sent');
            $(formID +'_loader').hide();
            
	        setTimeout( function() {
                ContactUs.Form.hide(formID)
            },1000);
	    }
	    
	    _recipientid.property = 'recipientid';
	    _recipientid.value = $(formID +'_recipientid').value;
	    
    	_name.property = 'name';
	    _name.value = $(formID +'_name').value;

	    _email.property = 'email';
	    _email.value = $(formID +'_email').value;
	    
	    _message.property = 'question';
	    _message.value = $(formID +'_question').value;

	    _messageheader.property = 'email_header';
	    _messageheader.value = $(formID +'_email_header').value;
	    	    
	    var _formArray = [_name,_email,_message,_recipientid,_messageheader];
    	
	    API.Web.UI.Client.Service.Forms.Validation.sendForm('contact-us',_formArray,succeeded,failed)
	    
	    return false;
    },
    
    reset: function(formID) {
	    var container = $('contact-us-container');
	    
        $(formID +'_loader').hide();        
        
        $(formID +'_submit').enabled = true;
	            
        $(formID +'_submit').removeClassName('sent');
        $(formID +'_name').ancestors()[0].removeClassName('sent');
        $(formID +'_email').ancestors()[0].removeClassName('sent');
        $(formID +'_question').ancestors()[0].removeClassName('sent');
        
        $(formID +'_submit').removeClassName('sending');
        $(formID +'_name').ancestors()[0].removeClassName('sending');
        $(formID +'_email').ancestors()[0].removeClassName('sending');
        $(formID +'_question').ancestors()[0].removeClassName('sending');
        
        $(formID +'_submit').removeClassName('error');
        $(formID +'_name').ancestors()[0].removeClassName('error');
        $(formID +'_email').ancestors()[0].removeClassName('error');
        $(formID +'_question').ancestors()[0].removeClassName('error');
        
        $(formID +'_name').value='';
        $(formID +'_email').value='';
        $(formID +'_question').value='';
    }
};

CampaignDelight.Form = { 
   
    display: function() { 
        var container = $('contact-us-container');
        if (!container.visible()) {
            var height = container.getHeight();
            container.style.display='block';
            container.style.height='0px';
            container.style.overflow='hidden';
    
            var after = function() {
                container.style.overflow = 'visible';
                container.style.height='auto';
                if (popup && popup.popIsActive) {
                    popup.resizeOverlay();
                }
            }
            var effect = new fx.Height(container, { duration: 800, onComplete: after });
            effect.custom(0,height);
        }
    },
    hide: function() {
        var container = $('contact-us-container');
        var height = container.getHeight();        
        var after = function() {  
            container.hide();    
            container.style.height = height+'px';  
            
            CampaignDelight.Form.reset();
            
            CampaignDelight.Form.showSentMessage();
            
            if (popup && popup.popIsActive) {
                popup.resizeOverlay();
            }
        }
        var effect = new fx.Height(container, { duration: 800, onComplete: after });
        effect.custom(container.getHeight(),0);        
    },
    showSentMessage: function() { 
        var message = $('contact-us-container-sent');
        if (!message.visible()) {
            var height = message.getHeight();
            message.style.display='block';
            message.style.height='0px';
            message.style.overflow='hidden';
    
            var after = function() {
                message.style.overflow = 'visible';
                message.style.height='auto';
                if (popup && popup.popIsActive) {
                    popup.resizeOverlay();
                }
            }
            var effect = new fx.Height(message, { duration: 800, onComplete: after });
            effect.custom(0,height);
        }
    },
    hideSentMessage: function() {
        var message = $('contact-us-container-sent');
        var height = message.getHeight();    
            
        var after = function() {  
            message.hide();    
            message.style.height = height+'px';  
            
            var effect = new fx.Height(message, { duration: 800 });
            effect.custom(0,message.getHeight());     
            
            if (popup && popup.popIsActive) {
                popup.resizeOverlay();
            }
            CampaignDelight.Form.display();
            
        }
        var effect = new fx.Height(message, { duration: 800, onComplete: after });
        effect.custom(message.getHeight(),0);        
    },
    
    validate: function() {
        var _firstname = new API.Web.UI.Client.Service.Forms.validationValue();
        var _lastname = new API.Web.UI.Client.Service.Forms.validationValue();
	    var _email = new API.Web.UI.Client.Service.Forms.validationValue();
	    var _phone = new API.Web.UI.Client.Service.Forms.validationValue();
	    var _story = new API.Web.UI.Client.Service.Forms.validationValue();
	    var failed = function() {alert('CampaignDelight.Form.validate:Something went wrong');}
	    var container = $('contact-us-container');
	    
	    var succeeded = function(result) {
		    if(result.length > 0){
		        var errorlist ='';
			    for (var index = 0; index < result.length; ++index) 
			    {   
				    var item = result[index];					
				    container.getElementById(item.property).ancestors()[0].addClassName('error');
				    errorlist = errorlist + '<li>'+item.error+'</li>';
			    } 
			    container.getElementById('your-firstname').ancestors()[0].removeClassName('sending');
			    container.getElementById('your-lastname').ancestors()[0].removeClassName('sending');
	            container.getElementById('your-email').ancestors()[0].removeClassName('sending');
	            container.getElementById('your-phone').ancestors()[0].removeClassName('sending');
	            container.getElementById('your-story').ancestors()[0].removeClassName('sending');
	            container.getElementById('submit').removeClassName('sending');
	            container.getElementById('submit').enabled = true;
	            
	            container.getElementById('loader').hide();
	            container.getElementById('error').show();
		        container.getElementById('errorlist').innerHTML=errorlist;
		        
		        if (popup && popup.popIsActive) {
                    popup.resizeOverlay();
                }
		    }
		    else
		    {
		        CampaignDelight.Form.send();
			}
	    }
      	
	    container.getElementById('your-firstname').ancestors()[0].removeClassName('error');
	    container.getElementById('your-lastname').ancestors()[0].removeClassName('error');
	    container.getElementById('your-email').ancestors()[0].removeClassName('error');
	    container.getElementById('your-phone').ancestors()[0].removeClassName('error');
	    container.getElementById('your-story').ancestors()[0].removeClassName('error');
	    
	    container.getElementById('your-firstname').ancestors()[0].addClassName('sending');
	    container.getElementById('your-lastname').ancestors()[0].addClassName('sending');
	    container.getElementById('your-email').ancestors()[0].addClassName('sending');
	    container.getElementById('your-phone').ancestors()[0].addClassName('sending');
	    container.getElementById('your-story').ancestors()[0].addClassName('sending');
	    
	    container.getElementById('errorlist').innerHTML='';
	    container.getElementById('error').hide();

        container.getElementById('submit').addClassName('sending');
        container.getElementById('submit').enabled = false;
        container.getElementById('loader').show();
		
	    _firstname.property = 'your-firstname';
	    _firstname.value = container.getElementById('your-firstname').value;

	    _lastname.property = 'your-lastname';
	    _lastname.value = container.getElementById('your-lastname').value;

	    _email.property = 'your-email';
	    _email.value = container.getElementById('your-email').value;

	    _phone.property = 'your-phone';
	    _phone.value = container.getElementById('your-phone').value;
	    
	    _story.property = 'your-story';
	    _story.value = container.getElementById('your-story').value;
    
	    var _formArray = [_firstname,_lastname,_email,_phone,_story];
    	
	    API.Web.UI.Client.Service.Forms.Validation.validateForm('campaign-delight',_formArray,succeeded,failed)
    	
	    return false;
    
    },
    send: function() {
        var _recipientid = new API.Web.UI.Client.Service.Forms.validationValue();
        var _firstname = new API.Web.UI.Client.Service.Forms.validationValue();
        var _lastname = new API.Web.UI.Client.Service.Forms.validationValue();
	    var _email = new API.Web.UI.Client.Service.Forms.validationValue();
	    var _story = new API.Web.UI.Client.Service.Forms.validationValue();
	    var _phone = new API.Web.UI.Client.Service.Forms.validationValue();
	    
	    var container = $('contact-us-container');
	    
	    var failed = function() {alert('sendDemo:Something went wrong');}
	    var succeeded = function(result) {
	        container.getElementById('submit').addClassName('sent');
            container.getElementById('your-firstname').ancestors()[0].addClassName('sent');
            container.getElementById('your-lastname').ancestors()[0].addClassName('sent');
            container.getElementById('your-email').ancestors()[0].addClassName('sent');
            container.getElementById('your-phone').ancestors()[0].addClassName('sent');
            container.getElementById('your-story').ancestors()[0].addClassName('sent');
            container.getElementById('loader').hide();
            
            setTimeout('CampaignDelight.Form.hide()',1000);
	    }
	    
	    _recipientid.property = 'recipientid';
	    _recipientid.value = container.getElementById('recipientid').value;
	    
	    _firstname.property = 'your-firstname';
	    _firstname.value = container.getElementById('your-firstname').value;

	    _lastname.property = 'your-lastname';
	    _lastname.value = container.getElementById('your-lastname').value;

	    _email.property = 'your-email';
	    _email.value = container.getElementById('your-email').value;

	    _phone.property = 'your-phone';
	    _phone.value = container.getElementById('your-phone').value;
	    
	    _story.property = 'your-story';
	    _story.value = container.getElementById('your-story').value;
	    	    
	    var _formArray = [_firstname,_lastname,_email,_phone,_story,_recipientid];
    	
	    API.Web.UI.Client.Service.Forms.Validation.sendForm('campaign-delight',_formArray,succeeded,failed)
	    
	    return false;
    },
    
    reset: function() {
	    var container = $('contact-us-container');
	    
        container.getElementById('loader').hide();        
        
        container.getElementById('submit').enabled = true;
	            
        container.getElementById('submit').removeClassName('sent');
        container.getElementById('your-firstname').ancestors()[0].removeClassName('sent');
        container.getElementById('your-lastname').ancestors()[0].removeClassName('sent');
        container.getElementById('your-email').ancestors()[0].removeClassName('sent');
        container.getElementById('your-phone').ancestors()[0].removeClassName('sent');
        container.getElementById('your-story').ancestors()[0].removeClassName('sent');
        
        container.getElementById('submit').removeClassName('sending');
        container.getElementById('your-firstname').ancestors()[0].removeClassName('sending');
        container.getElementById('your-lastname').ancestors()[0].removeClassName('sending');
        container.getElementById('your-email').ancestors()[0].removeClassName('sending');
        container.getElementById('your-phone').ancestors()[0].removeClassName('sending');
        container.getElementById('your-story').ancestors()[0].removeClassName('sending');
        
        container.getElementById('submit').removeClassName('error');
        container.getElementById('your-firstname').ancestors()[0].removeClassName('error');
        container.getElementById('your-lastname').ancestors()[0].removeClassName('error');
        container.getElementById('your-email').ancestors()[0].removeClassName('error');
        container.getElementById('your-phone').ancestors()[0].removeClassName('error');
        container.getElementById('your-story').ancestors()[0].removeClassName('error');
        
        container.getElementById('your-firstname').value='';
        container.getElementById('your-lastname').value='';
        container.getElementById('your-email').value='';
        container.getElementById('your-phone').value='';
        container.getElementById('your-story').value='';
    }
};

// --------jag-håller-en-grön-linje--------------------------------------------------------

Complaints.Form = { 
   
    display: function() { 
        var container = $('complaints-container');
        if (!container.visible()) {
            var height = container.getHeight();
            container.style.display='block';
            container.style.height='0px';
            container.style.overflow='hidden';
    
            var after = function() {
                container.style.overflow = 'visible';
                container.style.height='auto';
                if (popup && popup.popIsActive) {
                    popup.resizeOverlay();
                }
            }
            var effect = new fx.Height(container, { duration: 800, onComplete: after });
            effect.custom(0,height);
        }
    },
    hide: function(formID) {
        var container = $('complaints-container');
        var height = container.getHeight();        
        var after = function() {  
            container.hide();    
            container.style.height = height+'px';  
            
            Complaints.Form.reset(formID);
            
            Complaints.Form.showSentMessage();
            
            if (popup && popup.popIsActive) {
                popup.resizeOverlay();
            }
        }
        var effect = new fx.Height(container, { duration: 800, onComplete: after });
        effect.custom(container.getHeight(),0);        
    },
    showSentMessage: function() { 
        var message = $('complaints-container-sent');
        if (!message.visible()) {
            var height = message.getHeight();
            message.style.display='block';
            message.style.height='0px';
            message.style.overflow='hidden';
    
            var after = function() {
                message.style.overflow = 'visible';
                message.style.height='auto';
                if (popup && popup.popIsActive) {
                    popup.resizeOverlay();
                }
            }
            var effect = new fx.Height(message, { duration: 800, onComplete: after });
            effect.custom(0,height);
        }
    },
    hideSentMessage: function() {
        var message = $('complaints-container-sent');
        var height = message.getHeight();    
            
        var after = function() {  
            message.hide();    
            message.style.height = height+'px';  
            
            var effect = new fx.Height(message, { duration: 800 });
            effect.custom(0,message.getHeight());     
            
            if (popup && popup.popIsActive) {
                popup.resizeOverlay();
            }
            Complaints.Form.display();
            
        }
        var effect = new fx.Height(message, { duration: 800, onComplete: after });
        effect.custom(message.getHeight(),0);        
    },
    
    validate: function(formID) {    
        var _item = new API.Web.UI.Client.Service.Forms.Complaint_ComplaintItem();
	    var failed = function() {alert('Complaints.Form.validate:Something went wrong');}
	    var container = $('complaints-container');
	    
	    var succeeded = function(result) {
		    if(result.length > 0){
		        var errorlist ='';
			    for (var index = 0; index < result.length; ++index) 
			    {   
				    var item = result[index];					
				    $(formID +'_'+item.property).ancestors()[0].addClassName('error');
				    errorlist = errorlist + '<li>'+item.error+'</li>';
			    } 
			    $(formID +'_name').ancestors()[0].removeClassName('sending');
	            $(formID +'_email').ancestors()[0].removeClassName('sending');
	            $(formID +'_address').ancestors()[0].removeClassName('sending');
	            $(formID +'_postalcode').ancestors()[0].removeClassName('sending');
	            $(formID +'_city').ancestors()[0].removeClassName('sending');
	            $(formID +'_phone').ancestors()[0].removeClassName('sending');
	            $(formID +'_productname').ancestors()[0].removeClassName('sending');
	            $(formID +'_bakedate').ancestors()[0].removeClassName('sending');
	            $(formID +'_bestbeforedate').ancestors()[0].removeClassName('sending');
	            $(formID +'_batchnr').ancestors()[0].removeClassName('sending');
	            $(formID +'_message').ancestors()[0].removeClassName('sending');
	            
	            $(formID +'_submit').removeClassName('sending');
	            $(formID +'_submit').enabled = true;
	            
	            $(formID +'_loader').hide();
	            $(formID +'_error').show();
		        $(formID +'_errorlist').innerHTML=errorlist;
	        }
		    else
		    {
		        Complaints.Form.send(formID);
			}
	    }
      	
      	$(formID +'_name').ancestors()[0].removeClassName('error');
      	$(formID +'_email').ancestors()[0].removeClassName('error');
        $(formID +'_address').ancestors()[0].removeClassName('error');
        $(formID +'_postalcode').ancestors()[0].removeClassName('error');
        $(formID +'_city').ancestors()[0].removeClassName('error');
        $(formID +'_phone').ancestors()[0].removeClassName('error');
        $(formID +'_productname').ancestors()[0].removeClassName('error');
        $(formID +'_bakedate').ancestors()[0].removeClassName('error');
        $(formID +'_bestbeforedate').ancestors()[0].removeClassName('error');
        $(formID +'_batchnr').ancestors()[0].removeClassName('error');
        $(formID +'_message').ancestors()[0].removeClassName('error');
        $(formID +'_purchasedate').ancestors()[0].removeClassName('error');
        $(formID +'_store').ancestors()[0].removeClassName('error');

	    $(formID +'_name').ancestors()[0].addClassName('sending');
        $(formID +'_email').ancestors()[0].addClassName('sending');
        $(formID +'_address').ancestors()[0].addClassName('sending');
        $(formID +'_postalcode').ancestors()[0].addClassName('sending');
        $(formID +'_city').ancestors()[0].addClassName('sending');
        $(formID +'_phone').ancestors()[0].addClassName('sending');
        $(formID +'_productname').ancestors()[0].addClassName('sending');
        $(formID +'_bakedate').ancestors()[0].addClassName('sending');
        $(formID +'_bestbeforedate').ancestors()[0].addClassName('sending');
        $(formID +'_batchnr').ancestors()[0].addClassName('sending');
        $(formID +'_message').ancestors()[0].addClassName('sending');
        $(formID +'_purchasedate').ancestors()[0].removeClassName('sending');
        $(formID +'_store').ancestors()[0].removeClassName('sending');

    
	    $(formID +'_errorlist').innerHTML='';
	    $(formID +'_error').hide();

        $(formID +'_submit').addClassName('sending');
        $(formID +'_submit').enabled = false;
        $(formID +'_loader').show();		
		
		_item.name = $(formID +'_name').value;
		_item.email = $(formID +'_email').value;
		_item.address = $(formID +'_address').value;
		_item.postalcode = $(formID +'_postalcode').value;
		_item.city = $(formID +'_city').value;
		_item.phone = $(formID +'_phone').value;
		_item.productname = $(formID +'_productname').value;
		_item.bakedate = $(formID +'_bakedate').value;
		_item.bestbeforedate = $(formID +'_bestbeforedate').value;
		_item.batchnr = $(formID +'_batchnr').value;
    	_item.message = $(formID +'_message').value;
    	_item.purchasedate = $(formID +'_purchasedate').value;
		_item.store = $(formID +'_store').value;
    	
	    API.Web.UI.Client.Service.Forms.Complaint.Validate(_item,succeeded,failed)
    	
	    return false;
    
    },
    send: function(formID) {
        var _recipientid;
        var _item = new API.Web.UI.Client.Service.Forms.Complaint_ComplaintItem();
	    	    
	    var container = $('complaints-container');
	    
	    var failed = function() {alert('sendDemo:Something went wrong');}
	    var succeeded = function(result) {
	        $(formID +'_submit').addClassName('sent');
            $(formID +'_name').ancestors()[0].addClassName('sent');
            $(formID +'_email').ancestors()[0].addClassName('sent');
            $(formID +'_address').ancestors()[0].addClassName('sent');
            $(formID +'_postalcode').ancestors()[0].addClassName('sent');
            $(formID +'_city').ancestors()[0].addClassName('sent');
            $(formID +'_phone').ancestors()[0].addClassName('sent');
            $(formID +'_productname').ancestors()[0].addClassName('sent');
            $(formID +'_bakedate').ancestors()[0].addClassName('sent');
            $(formID +'_bestbeforedate').ancestors()[0].addClassName('sent');
            $(formID +'_message').ancestors()[0].addClassName('sent');
            $(formID +'_purchasedate').ancestors()[0].removeClassName('sent');
            $(formID +'_store').ancestors()[0].removeClassName('sent');
            
            $(formID +'_batchnr').ancestors()[0].addClassName('sent');
            $(formID +'_loader').hide();
            
            setTimeout( function() {
                Complaints.Form.hide(formID)
            },1000);
	    }
	    
	    _item.name = $(formID +'_name').value;
		_item.email = $(formID +'_email').value;
		_item.address = $(formID +'_address').value;
		_item.postalcode = $(formID +'_postalcode').value;
		_item.city = $(formID +'_city').value;
		_item.phone = $(formID +'_phone').value;
		_item.productname = $(formID +'_productname').value;
		_item.bakedate = $(formID +'_bakedate').value;
		_item.bestbeforedate = $(formID +'_bestbeforedate').value;
		_item.batchnr = $(formID +'_batchnr').value;
		_item.message = $(formID +'_message').value;
		_item.purchasedate = $(formID +'_purchasedate').value;
		_item.store = $(formID +'_store').value;
		
		_recipientid = $(formID +'_recipientid').value;
    	    	
	    API.Web.UI.Client.Service.Forms.Complaint.Submit(_item,_recipientid,succeeded,failed)
	    
	    return false;
    },
    
    reset: function(formID) {
	    var container = $('complaints-container');
	    
        $(formID +'_loader').hide();       
        $(formID +'_submit').enabled = true;
	    $(formID +'_submit').removeClassName('sent');
       
        $(formID +'_name').ancestors()[0].removeClassName('sent');
        $(formID +'_email').ancestors()[0].removeClassName('sent');
        $(formID +'_address').ancestors()[0].removeClassName('sent');
        $(formID +'_postalcode').ancestors()[0].removeClassName('sent');
        $(formID +'_city').ancestors()[0].removeClassName('sent');
        $(formID +'_phone').ancestors()[0].removeClassName('sent');
        $(formID +'_productname').ancestors()[0].removeClassName('sent');
        $(formID +'_bakedate').ancestors()[0].removeClassName('sent');
        $(formID +'_bestbeforedate').ancestors()[0].removeClassName('sent');
        $(formID +'_batchnr').ancestors()[0].removeClassName('sent');
        $(formID +'_message').ancestors()[0].removeClassName('sent');
        $(formID +'_purchasedate').ancestors()[0].removeClassName('sent');
        $(formID +'_store').ancestors()[0].removeClassName('sent');            
        
        $(formID +'_submit').removeClassName('sending');
        $(formID +'_name').ancestors()[0].removeClassName('sending');
        $(formID +'_email').ancestors()[0].removeClassName('sending');
        $(formID +'_address').ancestors()[0].removeClassName('sending');
        $(formID +'_postalcode').ancestors()[0].removeClassName('sending');
        $(formID +'_city').ancestors()[0].removeClassName('sending');
        $(formID +'_phone').ancestors()[0].removeClassName('sending');
        $(formID +'_productname').ancestors()[0].removeClassName('sending');
        $(formID +'_bakedate').ancestors()[0].removeClassName('sending');
        $(formID +'_bestbeforedate').ancestors()[0].removeClassName('sending');
        $(formID +'_batchnr').ancestors()[0].removeClassName('sending');
        $(formID +'_message').ancestors()[0].removeClassName('sending');
        $(formID +'_purchasedate').ancestors()[0].removeClassName('sending');
        $(formID +'_store').ancestors()[0].removeClassName('sending');
        
        
        $(formID +'_submit').removeClassName('error');
        $(formID +'_name').ancestors()[0].removeClassName('error');
        $(formID +'_email').ancestors()[0].removeClassName('error');
        $(formID +'_address').ancestors()[0].removeClassName('error');
        $(formID +'_postalcode').ancestors()[0].removeClassName('error');
        $(formID +'_city').ancestors()[0].removeClassName('error');
        $(formID +'_phone').ancestors()[0].removeClassName('error');
        $(formID +'_productname').ancestors()[0].removeClassName('error');
        $(formID +'_bakedate').ancestors()[0].removeClassName('error');
        $(formID +'_bestbeforedate').ancestors()[0].removeClassName('error');
        $(formID +'_batchnr').ancestors()[0].removeClassName('error');
        $(formID +'_message').ancestors()[0].removeClassName('error');
        $(formID +'_purchasedate').ancestors()[0].removeClassName('error');
        $(formID +'_store').ancestors()[0].removeClassName('error');
        
        
        $(formID +'_name').value='';
        $(formID +'_email').value='';
        $(formID +'_address').value='';
        $(formID +'_postalcode').value='';
        $(formID +'_city').value='';
        $(formID +'_phone').value='';
        $(formID +'_productname').value='';
        $(formID +'_bakedate').value='';
        $(formID +'_bestbeforedate').value='';
        $(formID +'_batchnr').value='';
        $(formID +'_message').value='';
        $(formID +'_purchasedate').value='';
        $(formID +'_store').value='';
    }
};