﻿function tipFriend()
{
    
    serviceProxy = new myshoes.dk.Shoehorn();
    serviceProxy.set_defaultSucceededCallback(TipSucceededCallback);
    serviceProxy.set_defaultFailedCallback(TipFailedCallback);
    
    var friendName = window.document.getElementById('friendName');
    var friendEmail = window.document.getElementById('friendEmail');
    var friendText = window.document.getElementById('friendText');
    var tipErrorMessage = window.document.getElementById('tipErrorMessage');
    
    var sectionId = window.document.getElementById('ctl00_MainPlaceHolder_sectionId');
    var subSectionId = window.document.getElementById('ctl00_MainPlaceHolder_subSectionId');
    var brandId = window.document.getElementById('ctl00_MainPlaceHolder_brandId');
    var typeOfTip = window.document.getElementById('ctl00_typeOfTip');
    
    tipErrorMessage.innerHTML = '';
    
    if(friendName.value.length < 2)
    {
        tipErrorMessage.innerHTML = 'Navn ikke langt nok, mindst 2 karakter.';
        return;
    }
    if(!checkEmail(friendEmail.value))
    {
        tipErrorMessage.innerHTML = 'Email ikke korrekt, f.eks dit@navn.dk';
        return;
    }
    
    switch(typeOfTip.value)
    {
        case 'catalog':
            pageTracker._trackPageview('/tipenven/vare');
            serviceProxy.tipAFriend(friendName.value, friendEmail.value, friendText.value, sectionId.value, subSectionId.value, brandId.value, typeOfTip.value);
            break;
        
        case 'frontpage':
            pageTracker._trackPageview('/tipenven/forside');
            serviceProxy.tipAFriend(friendName.value, friendEmail.value, friendText.value, null, null, null, typeOfTip.value);
            break;
    }
}


function TipSucceededCallback(result)
{    
    var tipErrorMessage = window.document.getElementById('tipErrorMessage');
    tipErrorMessage.innerHTML = 'Mail er blev sendt';
    
    setTimeout('hideTipPopup()', 3000);
}

// Callback function invoked when a call to 
// the  service methods fails.
function TipFailedCallback(error, userContext, methodName) 
{
    alert(error.get_message());
}

function checkEmail(email) 
{
    var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    
    return filter.test(email);
}
