
var uploadfilelicked=false;
window.addEvent('domready', function() {

  var type  = "undefined";
    var link = $('select-0');
  var PICTURE_MAX_SIZE = 5 * 1024 * 1024;
    var linkIdle = link.get('html');

    function linkUpdate() {
        var l = swf.fileList.length;
        if (!l) {
            link.title = null;
            link.set('html', linkIdle);
            return;
        }

        var rate = Swiff.Uploader.formatUnit(swf.rate, 'bps');
        var size = Swiff.Uploader.formatUnit(swf.size, 'b');
        var bytesLoaded = Swiff.Uploader.formatUnit(swf.bytesLoaded, 'b');

        if (swf.percentLoaded>0 && uploadfilelicked){
            if ($('errormsg').hasClass('errormsg')) {$('errormsg').removeClass('errormsg'); $('errormsg').addClass('uplfile');}
            $('errormsg').set( 'html','uploading.. (' + swf.percentLoaded + '%)');
        }
        //link.set('html',);
        //link.title = bytesLoaded + ' of ' +  rate + ' with ' + bytesLoaded;
    }



    var swf = new Swiff.Uploader({
        path: 'fuploader/js/Swiff.Uploader.swf',
        url: 'fuploader/script.php',
        verbose: false,
        queued: false,
        target: link,
        instantStart: false,
        multiple:false,

        typeFilter: {
            'Images and Videos (*.jpg, *.jpeg, *.gif, *.png ,*.avi,*.flv,*.mp4, *.rmv,*.3gp, *.wmv, *.mov;)': '*.jpg; *.jpeg; *.gif; *.png; *.avi; *.flv; *.mp4; *.rmv; *.3gp; *.wmv; *.mov;'
        },
        fileSizeMax: 100 * 1024 * 1024,
        onBrowse:function()
        {
            this.remove();
            $('filename').value='';
        },
        onSelectSuccess: function(files)
        {

            var str = String(files[0].name);
            var ext = str.substring(str.lastIndexOf('.')+1,str.length);

            switch(ext)
            {
                case "jpg":
                case "jpeg":
                case "gif":
                case "png":
                {
                   type = "image";
                   break;
                }
                case "avi":
                case "flv":
                case "mp4":
                case "rmv":
                case "3gp":
                case "mov":
                case "wmv":
                {
                    type = "video";
                    break;
                }
                default:
                {

                }
            }

           if( type=="image" && swf.size > PICTURE_MAX_SIZE )
           {

             $('errormsg').set( 'html','Foto mag niet groter dan 5 MB zijn!');
             $('filename').value = "";

             this.remove();
           }
           else
           {
             $('filename').value= files[0].name;
             $('errormsg').set( 'html','');
           }
            if (Browser.Platform.linux) window.alert('Warning: Due to a misbehaviour of Adobe Flash Player on Linux,\nthe browser will probably freeze during the upload process.\nSince you are prepared now, the upload will start right away ...');
        },
        onQueue: linkUpdate,



        onFileComplete: function(file) {
            if (file.response.error)
            {

                alert('Upload failed, please try again (' + file.response.error + ' ' + file.response.code + ').');
            }
            else{

                var comment = $('comment').value;
                comment = comment.stripTags();

                if(type=='video'){
                    //var jresponse=eval(file.response.text);
                    var jresponse=eval('(' + file.response.text + ')');
                    createVideoThumbAndComment(jresponse.media.key, jresponse.file.size, comment,$('telnr').value);
                    //link.set('html', 'uploaded');
                    $('filename').value='';
                }
                else{
                    var json = new Hash(JSON.decode(file.response.text, true) || {});
                    //link.set('html', 'uploaded');
                    $('filename').value='';
                    createThumbAndComment(json.get('name'), json.get('origFileName'),  json.get('size'), comment, $('telnr').value, $('actie').value );
                }

            uploadfilelicked=false;
            $('comment').disabled=false;
            $('uploadfileopac').setStyle('display','none');
            $('uploadfile').setStyle('display','block');
            $('select-0-opac').setStyle('display','none');
            $('select-0').setStyle('display','block');

            file.remove();
        }
        }

    });

    $('uploadfile').addEvent('click',function()
    {
        if($('comment').value <4 )
        {
            $('errormsg').set( 'html','De omschrijving is te kort!');

        }
        else{

            if (!(swf.fileList.length>0)){
                $('errormsg').set( 'html','Kies een bestand');
            }
            else
            {
                var reqCheckSession= new Request({
                    url: 'fuploader/checksessionid.php',
                    method:'get',
                    data: {},
                    onSuccess: function(responseText, responseXML) {
                        if (responseText=="OK"){
                           uploadfilelicked=true;
                            $('errormsg').set( 'html','');
                            $('comment').disabled=true;
                            $('uploadfile').setStyle('display','none');
                            $('uploadfileopac').setStyle('display','block');
                            $('select-0').setStyle('display','none');
                            $('select-0-opac').setStyle('display','block');

                            //all lines are replaced with this
                            //$('photoUploadtool_content').setStyle('display','none');

                            var photoUploadtool_content_hide = new Fx.Morph($("photoUploadtool_content"), {duration: 600, transition: Fx.Transitions.Pow.easeOut } );
                            photoUploadtool_content_hide.start({"opacity":0, "top": "-205px"}) ;

                            var otherEff=new  Fx.Morph($("errormsg"), {duration: 600, transition: Fx.Transitions.Pow.easeOut } );
                            otherEff.start({"margin-top":"-195px"});

                            if(type == "video")
                            {
                                var myRequest = new Request(
                                {
                                    url: 'fuploader/botruploadgen.php',
                                    method:'get',
                                    data: {
                                    },
                                    onSuccess: function(responseText, responseXML) {
                                        swf.setOptions({url:responseText});
                                        swf.start();
                                    }
                                }).send();
                            }
                            else{
                                swf.start();
                            }
                        }
                        else{
                            errortext='<div id="comment_error_message">';
                            errortext+='<p>Helaas ben je nog niet ingelogd.</p>'
                            errortext+='<p>Wil je dat je reactie toch geplaats wordt, klik dan op <b>inloggen</b>. Je reactie hoef je dan uiteraard niet opnieuw in te vullen.</p>'
                            errortext+='<p>Wil je je reactie toch liever niet plaatsen, klik dan op <b>annuleren</b></p>'
                            errortext+='<a href="javascript:void(0);" id="btn_comment_inloggen" class="btn btnsmall" onclick="parent.doShowLogin()">Inloggen</a><a href="javascript:void(0);" id="btn_comment_annuleren" class="btn btnsmall" onclick="parent.TB_remove();">Annuleren</a>'
                            errortext+='</div>'
                            $('comment_messages').set( 'html', errortext);
                            TB_show('Er is een fout opgetreden', '#TB_inline?height=200&width=300&inlineId=comment_messages', false);
                        }
                    }
                }).send();
            }
       }

        return false;
    });

    /**
     * Button state
     */
    link.addEvents({
        click: function() {
            return false;
        },
        mouseenter: function() {
            this.addClass('hover');
            swf.reposition();
        },
        mouseleave: function() {
            this.removeClass('hover');
            this.blur();
        },
        mousedown: function() {
            this.focus();
        }
    });

});



function createThumbAndComment(uploadFileName,origFileName,size,comment,telnr,actie){
    var myRequest = new Request({
        url: 'fuploader/resize.php',
        method:'post',
        data: {
            'imgName':uploadFileName,
      'origFileName':origFileName,
      'size':size,
      'comment':comment,
      'telnr':telnr,
      'actie':actie
        },
        onSuccess: function(responseText, responseXML) {
            if(responseText=='end'){
                $('errormsg').set( 'html','Je foto is toegevoegd. Bedankt voor je inzending.');
                $('comment').value="";
                $('telnr').value="";
                var photoUploadtool_content_show = new Fx.Morph($("photoUploadtool_content"), {duration: 600, transition: Fx.Transitions.Pow.easeOut } );
                photoUploadtool_content_show.start({"opacity":1, "top":0}) ;
                var otherEff2=new  Fx.Morph($("errormsg"), {duration: 600, transition: Fx.Transitions.Pow.easeOut } );
                otherEff2.start({"margin-top":"2px"});
                 setTimeout("showthumbs(1)",1500);
                //showImage(String(name).split("/")[1],id);

            }
        }
    }).send();
}

function createVideoThumbAndComment(videoKey, size,comment,telnr){
    var myRequest=new Request({
        url:"fuploader/botrvideothumb.php",
        method:"post",
        data:{
            "videoKey":videoKey,
            "size":size,
            "comment":comment,
            "telnr":telnr
        },
        onSuccess:function(responseText,responseXML){
             if(responseText=='end'){
                $('errormsg').set( 'html','Je film is geupload en wordt verwerkt. Bedankt voor je inzending.');
                $('comment').value="";
                $('telnr').value="";
                var photoUploadtool_content_show = new Fx.Morph($("photoUploadtool_content"), {duration: 600, transition: Fx.Transitions.Pow.easeOut } );
                photoUploadtool_content_show.start({"opacity":1, "top":0}) ;
                var otherEff2=new  Fx.Morph($("errormsg"), {duration: 600, transition: Fx.Transitions.Pow.easeOut } );
                otherEff2.start({"margin-top":"2px"});
            }
        }
    }).send();
}




function limitText(limitField)
{

      if(limitField.value.length<3)
      {
         if ($('errormsg').hasClass('uplfile')) {$('errormsg').removeClass('uplfile'); $('errormsg').addClass('errormsg');}
         $('errormsg').set( 'html','Omschrijving is te kort!');
      }
      else
      {
           $('errormsg').set( 'html','');
      }
    if (limitField.value.length >250) {
        limitField.value = limitField.value.substring(0, 250);
    } else {
      if (250-limitField.value.length==1) $('comments_numchars').set('html','Nog 1 teken over');
        else $('comments_numchars').set('html','Nog '+ String(250 - limitField.value.length)+' tekens over');
    }
}


  /**********************************************************************************************************************************************************/


function showImage(img,id){
    var myImg = new Element('img', {
    'src': "thumbs/"+img,
    'id':id,
    'title': img,
    'class': img,
    'styles':{
        'cursor':'pointer'
    }
    });

    var myDiv=new Element('div',{
        'id':'img_'+String(img).replace(" ","_"),
        'styles':{
            'float':'left',
            'margin':'5px'
        }
    });

    myImg.inject(myDiv);
    //myDiv.inject('imageslist');
    if($('imageslist').getStyle("display")=="none"){$('imageslist').setStyle("display","block");}

    var myRequest = new Request({
        url: 'fuploader/addrating.php',
        method:'post',
        data: {
                'id':id
        },
        onSuccess: function(responseText, responseXML) {
            myDiv.innerHTML=myDiv.innerHTML + responseText;
            myDiv.inject('imageslist');
            var rating = new RabidRatings({url:'fuploader/ratings.php', itemtype:'picture'});
        }
    }).send();
}
