function checkMandatoryInputs(element,classname,myMessage){
    //first check if the mandatory fields are filled
    var elements = $(element).getElementsByClassName(classname);
    var myStop   = false;

    for(var i = 0; i < elements.length; i++){
        if(elements[i].value.length < 1 || (elements[i].type == 'checkbox' && elements[i].checked == false)){
            elements[i].style.backgroundColor = '#ffdddd';
            myStop = true;
        }else{
            elements[i].style.backgroundColor = null;
        }
    }


    if(myStop){
        if(!myMessage){
            myMessage = 'Please fill out all the mandatory fields (marked pink)!';
        }
        alert(myMessage);
        return false;
    }

    return true;
}

function checkMail(obj){
    (new AjaxRequest).send({
        url     : "/ajax/",
        data    : {
            action: 'checkMail',
            mail: obj.value
        },

        onSuccess  : function(data, info)
        {
            if(data.ok){
                $('mailok').show();
                $('mailinuse').hide();
                $('mail').style.backgroundColor = '#FFFFFF';
                $('mailerror').hide();
            }else{
            
                if(data.error){
                    $('mailinuse').hide();
                    $('mailerror').show();
                }else{
                    $('mailinuse').show();
                    $('mailerror').hide();
                }
                
                $('mailok').hide();
                $('mail').style.backgroundColor = '#FFEEEE';
            }
        }
      });          
}

function checkNick(obj){
    (new AjaxRequest).send({
        url     : "/ajax/",
        data    : {
            action: 'checkNick',
            nick: obj.value
        },

        onSuccess  : function(data, info)
        {
            if(data.ok){
                $('nickok').show();
                $('nickinuse').hide(); 
                $('nick').style.backgroundColor = '#FFFFFF';
            }else{
                $('nickinuse').show();
                $('nickok').hide();
                $('nick').style.backgroundColor = '#FFEEEE';
            }
        }
      }); 
}

function submitNewUser(){
    //check mandatory inputs
    if(!checkMandatoryInputs('newUser','mandatory')){
        return;
    }
    
    //now check that inputs are ok
    if($('nickok').style.display == 'none'){
        alert('Please choose another nickname!');
        return;
    }
    
    if($('mailok').style.display == 'none'){
        alert('Please choose a mail address!');
        return;
    }
    
    if($('pass1').value != $('pass2').value){
        $('pass1').style.backgroundColor = '#FFEEEE';
        $('pass2').style.backgroundColor = '#FFEEEE';
        alert('The supplied passwords do not match!');
        return;
    }else{
        $('pass1').style.backgroundColor = '#FFFFFF';
        $('pass2').style.backgroundColor = '#FFFFFF';        
    }
    
    $('newUser').submit();
    $('newUser').disable();
}

function updateUser(){
    if($('pass1').value != $('pass2').value){
        $('pass1').style.backgroundColor = '#FFEEEE';
        $('pass2').style.backgroundColor = '#FFEEEE';
        alert('The supplied passwords do not match!');
        return;
    }else{
        $('pass1').style.backgroundColor = '#FFFFFF';
        $('pass2').style.backgroundColor = '#FFFFFF';
    }

    $('newUser').submit();
    $('newUser').disable();
}

function tradeMug(){
    $('newUser').submit();
    $('newUser').disable();
}













function submitNewMug(){
    //check mandatory inputs
    if(!checkMandatoryInputs('newMug','mandatory')){
        return;
    }
    
    $('newMug').submit();
    $('newMug').disable();
}


function loginUser(){
    $('login').submit();
    $('login').disable();
}

function iOwnThisMug(obj,mug){
    (new AjaxRequest).send({
        url     : "/ajax/",
        data    : {
            action: 'iOwnThisMug',
            value: obj.checked,
            mugid: mug
        },

        onSuccess  : function(data, info)
        {
            if(obj.checked){
                $('sell_'+mug).checked  = false;
                $('trade_'+mug).checked = false;
                $('sell_'+mug).disabled  = false;
                $('trade_'+mug).disabled = true;
            }else{
                $('sell_'+mug).checked  = false;
                $('trade_'+mug).checked = false;
                $('sell_'+mug).disabled  = true;
                $('trade_'+mug).disabled = false;
            }
            
            Fat.fade_element('own_'+mug+'_li',10,1000,"#ffffaa","#ffffff");      
        }
      });
}

function iSellThisMug(obj,mug){
    (new AjaxRequest).send({
        url     : "/ajax/",
        data    : {
            action: 'iSellThisMug',
            value: obj.checked,
            mugid: mug
        },

        onSuccess  : function(data, info)
        {
            //
            Fat.fade_element('sell_'+mug+'_li',10,1000,"#ffffaa","#ffffff");
        }
      });
}

function iTradeThisMug(obj,mug){
    (new AjaxRequest).send({
        url     : "/ajax/",
        data    : {
            action: 'iTradeThisMug',
            value: obj.checked,
            mugid: mug
        },

        onSuccess  : function(data, info)
        {
            //
            Fat.fade_element('trade_'+mug+'_li',10,1000,"#ffffaa","#ffffff");
        }
      });
}

function showMug(id,replace){
    $('mainMug').innerHTML = '<img src="/templates/main/img/loading.gif" border="0" alt="Loading..." />';
    (new AjaxRequest).send({
        url     : "/ajax/",
        data    : {
            action: 'getMug',
            mug: id,
            rep: $('mid').value,
            block: replace
        },

        onSuccess  : function(data, info)
        {
            $('mainMug').innerHTML = data.html;
            $('rand'+replace).innerHTML = data.replace;
            $('mid').value = id;
        }
      });
      
    return false;
}

function resetPass(){
    //check mandatory inputs
    if(!checkMandatoryInputs('login','mandatory')){
        return;
    }
    
    $('login').submit();
    $('login').disable();
}