_ecards = function()
{

    this.http;
    this.browser = navigator.userAgent;
    if(this.browser.indexOf('MSIE') != -1 && this.browser.indexOf('Opera') == -1) this.browser = "Microsoft Internet Explorer";
    
    
    this.isFunction = function(function_name) 
    {
        if (typeof function_name == 'string') return (typeof window[function_name] == 'function');
        else return (function_name instanceof Function);
    };

    this.new_conn = function()
    {
        if ( this.browser == 'Microsoft Internet Explorer' ) return new ActiveXObject("Microsoft.XMLHTTP");
        else return new XMLHttpRequest();
    }
    
    
    this._load_ec_category = function(domain_folder,folder_id,cat_id,domain_id)
    {
        _links = getE('ec_catlist').getElementsByTagName('A');
        for( var i = 0; i < _links.length; i++ )
        {
            _links[i].className = 'ec_catlink';
        }
        getE('catlink_'+folder_id).className = 'ec_catlink_sel';
        if(this.isFunction('nd')) nd();
        http_ec = this.new_conn();
        http_ec.open('GET', '../../../classes/modules/ecards/ajax.ec.php?domain_folder='+domain_folder+'&folder_id='+folder_id+'&domain_id='+domain_id+'&cat_id='+cat_id,true);
        //http_ec.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        http_ec.onreadystatechange = this._load_ec_category_ready;
        http_ec.send('');
    }
    
    this._load_ec_category_ready = function()
    {
        if ( http_ec.readyState == 4 ) 
        {                
                var response     = http_ec.responseText;
                getE('ec_selected_preview').innerHTML = response;
        }
    }
    
    this.preview_thumb = function(_src,_width,_height,_ext,txtColor,bgColor,text)
    {
        if(_ext == 'swf')
        {
            getE('tab1_preview').innerHTML = '<embed src="'+_src+'" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" wmode="transparent" type="application/x-shockwave-flash" width="'+_width+'" height="'+_height+'" />';
        }
        else
        {
            getE('tab1_preview').innerHTML = '<img src="'+_src+'" width="'+_width+'" height="'+_height+'" />';
        }
        getE('ec_selected_image_div').style.backgroundColor = bgColor;
        getE('ec_preview_div').style.backgroundColor = bgColor;
        getE('ecardTxt').style.color = txtColor; 
        getE('ecardTxt').innerHTML = text; 
    }
    
    this.reset_preview_thumb = function()
    {
        _src    = getE('ec_selected_card').value;
        _width  = getE('ec_selected_card_width').value;
        _height  = getE('ec_selected_card_height').value;
        
        if(getE('ec_selected_card_ext').value == 'swf')
        {
            getE('tab1_preview').innerHTML = '<embed src="'+_src+'" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" wmode="transparent" type="application/x-shockwave-flash" width="'+_width+'" height="'+_height+'" />';
        }
        else
        {
            getE('tab1_preview').innerHTML = '<img src="'+_src+'" width="'+_width+'" height="'+_height+'" />';
        }

        getE('ec_selected_image_div').style.backgroundColor = getE('ec_selected_card_bgColor').value;
        getE('ec_preview_div').style.backgroundColor = getE('ec_selected_card_bgColor').value;
        getE('ec_preview_msg_div').style.color = getE('ec_selected_card_txtColor').value;
        getE('ecardTxt').style.color = getE('ec_selected_card_txtColor').value;
        getE('ecardTxt').innerHTML = getE('ec_selected_card_text').value; 
        
        getE('ec_preview_txt').style.color  = getE('ec_selected_card_txtColor').value;
        getE('ec_preview_txt').innerHTML    = getE('ec_selected_card_text').value; 
        
         
    }
    
    this.ec_preview = function(_src,_width,_height,_ext,txtColor,bgColor,text)
    {
        if(_ext == 'swf')
        {
            getE('tab1_preview').innerHTML = '<embed src="'+_src+'" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" wmode="transparent" type="application/x-shockwave-flash" width="'+_width+'" height="'+_height+'" />';
        }
        else
        {
            getE('tab1_preview').innerHTML = '<img src="'+_src+'" width="'+_width+'" height="'+_height+'" />';
        }
        getE('ec_selected_card').value = _src;        
        getE('ec_selected_card_width').value = _width;        
        getE('ec_selected_card_height').value = _height; 
        getE('ec_selected_card_ext').value = _ext; 
        getE('ec_selected_card_bgColor').value = bgColor;
        getE('ec_selected_card_txtColor').value = txtColor;  
        getE('ec_selected_card_text').value = text;
        getE('ec_preview_txt').style.color  = getE('ec_selected_card_txtColor').value;
        getE('ec_preview_txt').innerHTML    = getE('ec_selected_card_text').value;     
    }
    
    this.switchtab = function (tab_id, _this)
    {
        _tabs = _this.parentNode.getElementsByTagName( _this.tagName )
        for(var i = 0; i < _tabs.length; i++)
        {
             _tabs[i].className = 'ec_tab';
        }
        _this.className = 'ec_tabsel';
        
        _tabs = getE('ec_right').getElementsByTagName( _this.tagName )
        for(var i = 0; i < _tabs.length; i++)
        {
             if(_tabs[i].id.substr(0,6) == 'ec_tab' )_tabs[i].style.display = 'none';
        }
        getE('ec_tab'+tab_id).style.display = '';
        
        if(tab_id == 1) 
        {
            getE('ec_catlist').style.display = '';
            getE('ec_right').style.width = '';  
        }
        else
        {
            getE('ec_catlist').style.display = 'none';
            getE('ec_right').style.width = getE('ec_right').parentNode.offsetWidth;
        }
    }
    
    this.ec_build_preview = function(_this)
    {
        var _error = '';
        if(getE('ec_msg').value == '') _error += 'U heeft nog geen tekst ingevoerd';
        
        if(_error != '')
        {
            alert(_error);
            _ecards.switchtab('2', getE('ec_text_tab'));
            return;
        }
        
        // BUILD PREVIEW
        //getE('ec_preview_img').src      = getE('ec_selected_card').value;
        _src    = getE('ec_selected_card').value;
        _width  = getE('ec_selected_card_width').value;
        _height  = getE('ec_selected_card_height').value;
        
        if(getE('ec_selected_card_ext').value == 'swf')
        {
            getE('tab4_preview').innerHTML = '<embed src="'+_src+'" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" wmode="transparent" type="application/x-shockwave-flash" width="'+_width+'" height="'+_height+'" />';
        }
        else
        {
            getE('tab4_preview').innerHTML = '<img src="'+_src+'" width="'+_width+'" height="'+_height+'" />';
        }
        
        getE('ec_preview_msg_div').innerHTML  = getE('ec_msg').value.replace(/\n/gi,'<br />');
        
        _ecards.switchtab('4',_this);
        
    }
    
    this.flip_card = function()
    {
        if(getE('ec_preview_img_div').style.display == 'none')
        {
            getE('ec_preview_img_div').style.display = '';
            getE('ec_preview_msg_div').style.display = 'none';
            getE('ec_text_flip').className = 'ec_text_flip';               
        }
        else
        {
            getE('ec_preview_img_div').style.display = 'none';
            getE('ec_preview_msg_div').style.display = '';
            getE('ec_text_flip').className = 'ec_card_flip';            
        }
        
    }
    
    this._add_reciever = function()
    {
        var _error = '';
        if(getE('ec_to_name').value == '') _error += 'Voer een naam in.\n';
        if(!this._isemail(getE('ec_to_email').value)) _error += 'Voer een geldig emailadres in.';
        
        if(_error != '')
        {
            alert(_error);
            return;
        }

        _val = getE('ec_to_email').value + "|" + getE('ec_to_name').value;
        
        var _receivers = getE('receivers');
        if (_receivers.selectedIndex > -1)
        {                        
            for (var i = _receivers.length; i > _receivers.selectedIndex; i--) 
            {
                var text  = _receivers.options[i-1].text;
                var value = _receivers.options[i-1].value;
                _receivers.options[i] = new Option(text, value, false, false);
            }
            _receivers.options[_receivers.selectedIndex + 1] = new Option(getE('ec_to_name').value, _val, false, false);
        } 
        else 
        { 
            _receivers.options[_receivers.length] = new Option(getE('ec_to_name').value, _val, false, false);
        }
        

        for (var i = 0; i < _receivers.length; i++) 
        {
            _receivers.options[i].selected = true;
        }
        
        getE('ec_to_name').value = '';
        getE('ec_to_email').value = '';

        
    }
    
    this._remove_receiver = function()
    {
        var _receivers = getE('receivers');
        _index = _receivers.selectedIndex;
        _receivers.options[_index] = null; 
    }
    
    this._isemail = function(_email) 
    {
        var regex = /^[&a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
        return (regex.test(_email));
    }
    
    this.sendcard = function()
    {
        var _receivers = getE('receivers');
        for (var i = 0; i < _receivers.length; i++) 
        {
            _receivers.options[i].selected = true;
        }
        
        var _error = '';
        if(getE('ec_from_name').value == '')  _error += "U bent vergeten uw naam in te voeren.\n";
        if(getE('ec_from_email').value == '') _error += "U bent vergeten uw e-mailadres in te voeren.\n";
        
        if(_receivers.length == 0)
        {
           if(getE('ec_to_name').value == '')     _error += "U bent vergeten de naam van de ontvanger van de kaart in te voeren.\n";
           if(getE('ec_to_email').value == '')   _error += "U bent vergeten het e-mailadres van de ontvanger van de kaart in te voeren.\n";
           else if(!this._isemail(getE('ec_to_email').value))   _error += "Het e-mailadres van de ontvanger van de kaart klopt niet.\n";
        }
        
        if(_error != '')
        {
            alert(_error);
            _ecards.switchtab('3', getE('ec_address_tab'));
            return;
        } 
        getE('ec_form').submit();
    }


}

_ecards = new _ecards();