//v1.0
// Article Bank
// Copyright 2010 Amaye Concept.  All rights reserved.

$(document).ready(function() {


    if ($(".bank").length){
        article_bank.init();
    }
});


var article_bank = {

    init: function() {

        this.setEventListeners();        
        this.getArticles("all");
        
    },
    
    setEventListeners: function(){
    
        //search field
        $('#bank_submit').click(function() {
            article_bank.submitSearch();
            return false;
        });
        
        
        $("#bank_keyword").keyup(function(event){
          if(event.keyCode == 13){
            article_bank.submitSearch();
          }
        });
        
     
    
    },
    
    setSortmenu: function(){
    
        $(".sortMenu").empty();
        
        htmlinsert= "<select class='sortMenuSelection'></select>";
        $(".sortMenu").append(htmlinsert);
        
        htmlinsert= "<option value='all'>Viimeisimmät</option>";
        $(".sortMenuSelection").append(htmlinsert);
        
        htmlinsert= "<option value='favorite'>Suosituimmat</option>";
        $(".sortMenuSelection").append(htmlinsert);
        
        htmlinsert= "<option value='author'>Kirjoittajan mukaan</option>";
        $(".sortMenuSelection").append(htmlinsert);
        
        $(".sortMenuSelection").change(function(){
        
            article_bank.sortArticles();
            return false;
        
        });
        
    
    },
     setPagingNavi: function(){
    
        $(".pagingNavi").empty();

    
    },
    
    createPaging: function(pdfCount, paging){
    
        $(".pagingNavi").empty();  
        var pag = 20;
        tmpPages = pdfCount / pag;
        pages = Math.round(tmpPages);
        
        if (pages < tmpPages)
            pages++;
            
        var lastArticle = parseInt(paging)+pag;   
        if (lastArticle > pdfCount)
            lastArticle = pdfCount;
        
        if (paging !="0") { 
            tmpnextPage = paging/pag;
            nextPage = Math.round(tmpnextPage);
        
            if (nextPage < tmpnextPage)
                nextPage++;

            nextPage++;
        }
        else nextPage =1;
        
        paging++;
            

        htmlinsert= "<div class='pageSelector'>";
        if (paging != 1 )htmlinsert+= "<a href=''  class='page' id='pagep${next}'>&laquo;</a>";
        htmlinsert+= "Näytetään artikkelit ${paging} - ${last} ";
        if (pages>nextPage) htmlinsert+= "<a href=''  class='page' id='pagen${next}'>&raquo;</a>";
        htmlinsert+= "</div>";
        htmlinsert+= "<span>Yhteensä ${pages} artikkelia</span>";
        htmlinsert = htmlinsert.replace(/\${pages}/gi, pdfCount );
        htmlinsert = htmlinsert.replace(/\${paging}/gi, paging );
        htmlinsert = htmlinsert.replace(/\${next}/gi, nextPage );
        htmlinsert = htmlinsert.replace(/\${last}/gi, lastArticle );
        $(".pagingNavi").append(htmlinsert);
   
        $('.page').click(function() {
            var paging = $(this).attr("id");
            page=paging.substring(5);
            direction = paging.substring(4,5);
            if (direction=="n"){
                paging = page;
                paging++;
            } else {
                paging = page;
                paging--;
            }
            
            var sortValue= $(".sortMenuSelection").val();
            var currentTime = new Date();
            var urlTime = currentTime.getTime();
            var url = "ajax/getArticles.php?view="+sortValue+"&timecode="+urlTime+"&paging="+paging;
            $.getJSON(url, function(data) {
        
                article_bank.parseArticleList(data); 
        
            });
            return false;
        });
        
        
    },
    
   
        
    sortArticles: function(){
    
        var sortValue= $(".sortMenuSelection").val();
        var currentTime = new Date();
        var urlTime = currentTime.getTime();
        var url = "ajax/getArticles.php?view="+sortValue+"&timecode="+urlTime;
        $.getJSON(url, function(data) {
  
            article_bank.parseArticleList(data);
            
        });
    
    },
    
    submitSearch: function(){
    
        var keyword = $('#bank_keyword').val();
        var currentTime = new Date();
        var urlTime = currentTime.getTime();
        var url = "ajax/getArticles.php?view=search&keyword="+keyword+"&timecode="+urlTime;
        $.getJSON(url, function(data) {
  
            article_bank.parseSearchArticleList(data);
            
        });
    
    },
    
    getArticles: function(view){
    
        article_bank.setSortmenu();
        article_bank.setPagingNavi();
        
        $('#bank_keyword').val("");
        $('.returnLink').remove();
    
        //todo
        var currentTime = new Date();
        var urlTime = currentTime.getTime();
        var url = "ajax/getArticles.php?view="+view+"&timecode="+urlTime;
        $.getJSON(url, function(data) {
  
            article_bank.parseArticleList(data);
            
        });

    
    },
    
    parseArticleList: function(data){

    
        $(".articleList").empty();
        $(".sortMenuSelection").show();
        $(".searchResultsTitle").remove();
        $(".pagingNavi").show();
    
        htmlinsert= "<ul class='articlelist'></ul>";
        $(".articleList").append(htmlinsert);

        var row="odd";
        
        if (data.length==0){
            htmlinsert= "<div class='noresults'>Hakusanalla ei löytynyt artikkeleja.</div>";
            $(".articleList").append(htmlinsert); 
        }
    
        $.each(data, function(index, value) { 
            
            if (value.pdfCount){
            
                article_bank.createPaging(value.pdfCount, value.paging);
            
            } else {
        
                if (index%2){
                    row="even";
                } else row="odd";
     
                article_bank.createListElement(value.id, row);
                article_bank.insertListItem(value.id, value.name, value.description, value.publishedAt, value.author, value.filename, value.articleText);
                //article_bank.insertItemTags(value.id, value.tags);
                article_bank.insertSocialMedia(value.id, value.kommentit, value.keskiarvo);
            }

        });

    
    },
    
     parseSearchArticleList: function(data){

    
        $(".articleList").empty();
        $(".sortMenuSelection").hide();
        $(".searchResultsTitle").remove();
        $(".pagingNavi").empty();

        
         htmlinsert= "<ul class='articlelist'></ul>";
        $(".articleList").append(htmlinsert);
         $('.returnLink').remove();
         htmlinsert= "<p class='returnLink'><a href='#' onclick='article_bank.init()'>&laquo; Paluu listaan</a></p>";
        $(".sortMenu").before(htmlinsert);
    
        htmlinsert= "<h3 class='searchResultsTitle'>Hakutulokset: ";
        htmlinsert+=$(".bank_keyword").val();
        htmlinsert+="</h3>";
        $(".sortMenu").append(htmlinsert);

        var row="odd";
        
        if (data.length==0){
            htmlinsert= "<div class='noresults'>Hakusanalla ei löytynyt artikkeleja.</div>";
            $(".articleList").append(htmlinsert); 
        } else {
            htmlinsert= "<div class='pageSelector'>Hakutuloksia yhteensä ${count}.</div>";
                htmlinsert = htmlinsert.replace(/\${count}/gi,data.length );
            $(".pagingNavi").append(htmlinsert); 
        }
    
        $.each(data, function(index, value) { 
        
             if (value.pdfCount){
    
            
            } else {
        
                if (index%2){
                    row="even";
                } else row="odd"
     
                article_bank.createListElement(value.id, row);
                article_bank.insertListItem(value.id, value.name, value.description, value.publishedAt, value.author, value.filename, value.articleText);
                //article_bank.insertItemTags(value.id, value.tags);
                article_bank.insertSocialMedia(value.id, value.kommentit, value.keskiarvo);
            }

        });

    
    },
    
    createListElement: function(id, row){
    
        htmlinsert= "<li class='articleItem${id} articleItem ${row}'></li>";
        htmlinsert = htmlinsert.replace(/\${id}/gi, id );
        htmlinsert = htmlinsert.replace(/\${row}/gi, row );
        $(".articlelist").append(htmlinsert);
    
    },
    
    insertListItem: function(articleId, articleName, articleDescription, articleWritten, author, filepath, articleText){
    
        var pdf = true;
        if (articleText!="" && articleText!=null){
            pdf=false;
        }
    
        htmlinsert= "<h3 class='articleName'><a href='#' onclick='article_bank.openItem(\"${articleId}\", \"${filepath}\", \"${pdf}\")'>${articleName}</a></h3>";
        htmlinsert+= "<p class='articleWritten'>${articleCreated} ${author}</p>";
        htmlinsert+= "<p class='articleDescription'>${articleDescription}</p>";
        htmlinsert+= "<p class='articleTags${articleId} articleTags'></p>";
        htmlinsert = htmlinsert.replace(/\${articleName}/gi, articleName );
        htmlinsert = htmlinsert.replace(/\${articleId}/gi, articleId );
        htmlinsert = htmlinsert.replace(/\${filepath}/gi, filepath );
        htmlinsert = htmlinsert.replace(/\${pdf}/gi, pdf );
        htmlinsert = htmlinsert.replace(/\${articleDescription}/gi, articleDescription );
        if (articleWritten!=null)
            htmlinsert = htmlinsert.replace(/\${articleCreated}/gi, articleWritten+"," );
        else 
            htmlinsert = htmlinsert.replace(/\${articleCreated}/gi, "" );
        htmlinsert = htmlinsert.replace(/\${author}/gi, author );
        var myClass = ".articleItem"+articleId;
        $(myClass).append(htmlinsert);
        
    },
    
    insertItemTags: function(id, tags){
    
        var index = tags.lastIndexOf(",");
    
        tags = tags.substring(0, index);
        
        var myClass = ".articleTags"+id;
        $(myClass).append(tags);
        
    },
    
    insertSocialMedia: function(id, commentCount, rating){
        htmlinsert= "<div class='articleReview'><span class='commentsCount'><a href='#' onclick='article_bank.rateItem(${articleId})'> Arvostele </a><br/><a href='#' onclick='article_bank.seeItemComments(${articleId})'> Kommentit (${commentCount} kpl)</a><br/>  <a href='#' onclick='article_bank.tagItem(${articleId})'>Anna avainsanoja artikkelille</a></span><span class='articleKA${articleId}'></span></div>";
        htmlinsert = htmlinsert.replace(/\${articleId}/gi, id );
        htmlinsert = htmlinsert.replace(/\${commentCount}/gi, commentCount );
        var myClass = ".articleItem"+id;
        $(myClass).append(htmlinsert);
        
        article_bank.insertRating(id, rating);
    },
    
    insertRating: function(id, rating){
    
        if (rating != null){
        
            rating = rating.substring(0, 1);
            
            htmlinsert= "";
        
            for (i=1;i<=rating;i++){
            
                htmlinsert += "<div class='myRatingStarWrapper'><img class='myRatingStar' src='templates/images/star.gif' alt='*' /></div>";
       
            
            }
            var myClass = ".articleKA"+id;
            $(myClass).append(htmlinsert);
        }
    
    },
    
    modifyDate: function(date){
    
        var index = date.indexOf(" ");
        temp = date.substring(0, 10);
        
        var year = temp.substring(0, 4);
        var month = temp.substring(5, 7);
        var day = temp.substring(8, 10);
        
        date = day+"."+month+"."+year;
    
        return date;
    },
    
    modifyDateTime: function(date){
    
        var index = date.indexOf(" ");
        temp = date.substring(0, 10);
        time = date.substring(10);
        
        var year = temp.substring(0, 4);
        var month = temp.substring(5, 7);
        var day = temp.substring(8, 10);
        
        date = day+"."+month+"."+year+" klo"+time;
    
        return date;
    },
    
    openItem: function(id, filepath, isPdf){
    
        var currentTime = new Date();
        var urlTime = currentTime.getTime();
        var url = "ajax/getArticles.php?view=read&id="+id+"&timecode="+urlTime;
        $.ajax({
          url: url,
          async: false
         })
         
         console.log(filepath);

        if (isPdf=="true"){
            
            var url = "bank_files/"+filepath;
    
            window.location=url;
            
        
        } else {
        
            article_bank.getOneArticle(id);
        }
      
    
    },
    
    getOneArticle: function(id){
        
        var currentTime = new Date();
        var urlTime = currentTime.getTime();
        var url = "ajax/getArticles.php?view=one&id="+id+"&timecode="+urlTime;
        $.getJSON(url, function(data) {
            console.log("testi");
  
            article_bank.parseArticleItem(data);
            
        });
    
    },
    
    parseArticleItem: function(data){
    
         $(".bank").empty();
      
          article_bank.setArticleBank();
             $(".sortMenu").hide();
    
        htmlinsert= "<div class='articleItem'></div>";
        $(".articleList").append(htmlinsert);

        var row="odd";
        
        if (data.length==0){
        
            
            htmlinsert= "<div class='noresults'>Artikkelia ei löytynyt.</div>";
            $(".articleList").append(htmlinsert); 
        }
    
        $.each(data, function(index, value) { 

            article_bank.insertArticleItem(value.id, value.name, value.description, value.publishedAt, value.author, value.filename, value.articleText);
            //article_bank.insertItemTags(value.id, value.tags);
            article_bank.insertSocialMedia(value.id, value.kommentit, value.keskiarvo);

        });
    
    },
    
    insertArticleItem: function(articleId, articleName, articleDescription, articleWritten, author, filename, articleText){
    
        htmlinsert= "<div class='returnToList'><a href='#' onclick='article_bank.returnToList()'>&laquo; Paluu listaan</a></div>";
        var myClass = ".articleItem";
        $(myClass).before(htmlinsert);
        htmlinsert= "<h3>${articleName}</h3>";
        htmlinsert+= "<p class='articleWritten'>${articleCreated} ${author}</p>";
        htmlinsert+= "<p class='articleDescription'>${articleDescription}</p>";
        htmlinsert+= "<p class='articleText'>${articleText}</p>";
        htmlinsert+= "<p class='articleTags${articleId} articleTags'></p>";
         htmlinsert+= "<p class='articleLink'><a href='bank_files/${filepath}'>&raquo; Avaa tiedosto</a></p>";
        htmlinsert = htmlinsert.replace(/\${articleName}/gi, articleName );
        htmlinsert = htmlinsert.replace(/\${articleId}/gi, articleId );
        htmlinsert = htmlinsert.replace(/\${articleDescription}/gi, articleDescription );
        htmlinsert = htmlinsert.replace(/\${articleText}/gi, articleText );
         if (articleWritten!=null)
            htmlinsert = htmlinsert.replace(/\${articleCreated}/gi, articleWritten+"," );
        else 
            htmlinsert = htmlinsert.replace(/\${articleCreated}/gi, "" );
        htmlinsert = htmlinsert.replace(/\${author}/gi, author );
        htmlinsert = htmlinsert.replace(/\${filepath}/gi, filename );
        var myClass = ".articleItem";
        $(myClass).append(htmlinsert);
    
    },
    
    seeItemComments: function(id){
    
        $(".bank").empty();
        
        htmlinsert= "<p><a href='#' onclick='article_bank.returnToList()'>&laquo; Paluu</a></p>";
        $(".bank").append(htmlinsert);

        htmlinsert= "<div class='commentedArticle'></div>";
        $(".bank").append(htmlinsert);
        
        buttoninsert = "<div class='commentButton'><input type='hidden' name='commentArticleId' id='commentArticleId' value='${id}'/><button id='commentButton'>Kommentoi</button></div>";
        buttoninsert = buttoninsert.replace(/\${id}/gi, id );
        $(".bank").append(buttoninsert); 
        
        $('#commentButton').click(function() {
            
            var id = $('#commentArticleId').val();
            article_bank.openCommentForm(id);
            return false;
        
        });  
        
         htmlinsert= "<ul class='commentlist'></ul>";
        $(".bank").append(htmlinsert);
    
        var currentTime = new Date();
        var urlTime = currentTime.getTime();
        var url = "ajax/getArticles.php?view=comments&id="+id+"&timecode="+urlTime;
        $.getJSON(url, function(data) {
  
            article_bank.parseCommentsList(data, id);
            
        }); 
    
    },
    
    parseCommentsList: function(data, id){
    
        var row="oddComment";
    
        if (data.length==1){
        
              htmlinsert= "<h3 class='commentHeader'>Kommentoi artikkelia</h3>";
            htmlinsert+= "<div class='noresults'>Artikkelia ei ole vielä kommentoitu.</div>";
            $(".commentedArticle").append(htmlinsert);      
        }
        
      
        
         $.each(data, function(index, value) { 
         
                if (index%2){
                    row="evenComment";
                }
                
                if (index == 1){
                    article_bank.insertCommentedArticle(value.id, value.name, value.description, value.publishedAt, value.author, value.filename, value.keskiarvo, value.articleText);
                }
               
               if (value.comment){
                    
                    article_bank.createCommentListElement(value.id, row);
                    article_bank.insertCommentItem(value.id, value.commentator, value.comment, value.commentedAt, value.rating);
                }
            

        }); 
    
    },
    
     createCommentListElement: function(id, row){
    
        htmlinsert= "<li class='commentItem${id} commentItem ${row}'></li>";
        htmlinsert = htmlinsert.replace(/\${id}/gi, id );
        htmlinsert = htmlinsert.replace(/\${row}/gi, row );
        $(".commentlist").append(htmlinsert);
    
    },
    
    insertCommentedArticle: function(articleId, articleName, articleDescription, articleWritten, author, filename, avgrating, articleText){
    
        var pdf = true;
        if (articleText!="" && articleText!=null){
            pdf=false;
        }
        
        if (!$(".commentHeader").html()){
            htmlinsert= "<h3 class='commentHeader'>Kommentoi artikkelia</h3>";
            htmlinsert+= "<h3 class='articleName'><a href='#' onclick='article_bank.openItem(\"${articleId}\", \"${filepath}\", \"${pdf}\")'>${articleName}</a></h3>";
            htmlinsert+= "<p class='articleWritten'>${articleCreated} ${author}</p>";
            htmlinsert+= "<p class='articleDescription'>${articleDescription}</p>";
             htmlinsert+= "<p class='articleKA${articleId}'></p>";
            htmlinsert = htmlinsert.replace(/\${articleName}/gi, articleName );
            htmlinsert = htmlinsert.replace(/\${articleId}/gi, articleId );
            htmlinsert = htmlinsert.replace(/\${articleDescription}/gi, articleDescription );
            if (articleWritten!=null)
            htmlinsert = htmlinsert.replace(/\${articleCreated}/gi, articleWritten+"," );
        else 
            htmlinsert = htmlinsert.replace(/\${articleCreated}/gi, "" );
            htmlinsert = htmlinsert.replace(/\${author}/gi, author );
            htmlinsert = htmlinsert.replace(/\${filepath}/gi, filename );
             htmlinsert = htmlinsert.replace(/\${pdf}/gi, pdf );
            var myClass = ".commentedArticle";
            $(myClass).append(htmlinsert);
            
            article_bank.insertRating(articleId, avgrating);
                
        }

    
    },
    
    insertCommentItem: function(articleId, commentator, comment, commentedAt, rating){
    
        if (comment){

            htmlinsert= "<h3 class='commentator'>${commentator}</h3>";
             htmlinsert+= "<p class='commentedAt'>${commentedAt}</p>";
            htmlinsert+= "<p class='comment'>${comment}</p>";
            htmlinsert+= "<p class='articleKA${articleId}'></p>";
            htmlinsert+= "<p class='notifyButton'><button onclick='article_bank.notifyComment(${articleId})'>Ilmoita asiaton kommentti</button></p>";
            htmlinsert = htmlinsert.replace(/\${commentator}/gi, commentator );
            htmlinsert = htmlinsert.replace(/\${articleId}/gi, articleId );
            htmlinsert = htmlinsert.replace(/\${comment}/gi, comment );
            htmlinsert = htmlinsert.replace(/\${commentedAt}/gi, article_bank.modifyDateTime(commentedAt) );
            var myClass = ".commentItem"+articleId;
            $(myClass).append(htmlinsert);
            
            article_bank.insertRating(articleId, rating);
        }
    
    },
    
    notifyComment: function(commentId){
        
        var actionClass = ".commentItem"+commentId;
        var url = "ajax/getArticles.php?view=notifycomment&id="+commentId;
        $.getJSON(url, function(data) {
        
        	$(".errors").remove();
            htmlinsert= "<div class='errors'><p> Kiitos ilmoituksestasi! Tarkistamme asian mahdollisimman pian.</p>";
            htmlinsert+= "</div>";
            $(actionClass).append(htmlinsert); 
        
           
            
        }); 
          
      
        return false;
        
    },
    
    hideNotification: function(){
        $("#modalNotification").hide();
        $("#modalNotification").remove();
    },
    
    
    openCommentForm: function(id){
    
        article_bank.createCommentForm(id);
    
    },
    
    createCommentForm: function(id){
        
        htmlinsert= "<div id='modalForm'></div>";
        $("body").append(htmlinsert); 
        htmlinsert= "<div id='modalFormBackground'></div>";
        $("#modalForm").append(htmlinsert); 
        htmlinsert= "<div id='modalFormWrapper'></div>";
        $("#modalForm").append(htmlinsert); 
        htmlinsert= "<div id='modalFormContent'></div>";
        $("#modalFormWrapper").append(htmlinsert); 
        
        htmlinsert= "<h2 id='articleCommentHeader' class='left articleCommentHeader' >Kommentoi artikkelia</h2>";
        $("#modalFormContent").append(htmlinsert);
        
        htmlinsert= "<form id='articleCommentForm'></form>";
        $("#modalFormContent").append(htmlinsert);

        htmlinsert= "<p class='left formlabel'><label for='commentator'>Nimesi:</label></p>";
        htmlinsert+= "<p  class='left formfield'><input type='text' class='formField' name='commentator' id='commentator' value=''/></p>";
        htmlinsert+= "<p class='left formlabel'><label for='comment'>Kommenttisi:</label></p>";
        htmlinsert+= "<p class='left formfield'><input type='hidden' class='formField' name='articleId' id='articleId' value='${id}'/>";
        htmlinsert+= "<textarea name='comment' class='formTextarea' id='comment'></textarea></p>";
        htmlinsert+= "<p class='left formlabel'><label for='comment'>Arvostele:</label></p>";
         htmlinsert+= "<p  class='left rate'> <input name='star1' type='radio' class='star' value='1'/><input name='star1' type='radio' class='star' value='2'/><input name='star1' type='radio' class='star' value='3'/><input name='star1' type='radio' class='star' value='4'/><input name='star1' type='radio' class='star' value='5'/></p>";
        htmlinsert+= "<p class='left formsubmit'><input type='submit' class='formField' name='commentSubmit' id='commentSubmit' value='Lähetä'/><input type='submit' class='formField' name='commentCancel' id='commentCancel' value='Peruuta'/></p>";
        htmlinsert = htmlinsert.replace(/\${id}/gi, id );
        $("#articleCommentForm").append(htmlinsert);
        
        $("#modalForm").show(); 
        
        $('.star').rating();
        
        $('#commentSubmit').click(function() {

            article_bank.submitCommentForm(id);
            return false;
        
        });
        
         $('#commentCancel').click(function() {

			 $("#modalForm").hide();
            article_bank.seeItemComments(id);
            $("#modalForm").remove(); 
            return false;
        
        });
      
    
    },
    
    submitCommentForm: function(id){
    
      
        var errors = new Array();
        
        var commentator = $("#commentator").val(); 
        var comment = $("#comment").val(); 
        var rating = $("input:checked").val();

        var i = 0;
        
        if (commentator == ""){
            errors[i]="Ole hyvä ja lisää nimimerkkisi.";
            i++;
        }
        
        if (comment == ""){
            errors[i]="Ole hyvä ja lisää kommenttisi.";
               i++;
        }
        
        if (rating == null){
            errors[i]="Ole hyvä ja lisää arvostelu valitsemalla tähtien määrä.";
               i++;
        }
        
        if (errors.length==0){
              $("#modalForm").hide();
            var values = $("#articleCommentForm").serialize(); 
            
            
            
            var url = "ajax/getArticles.php?view=savecomment";
            
            $.ajax({
                url: url,
                async: false,
                data: values,
                success: function(data){
                    article_bank.seeItemComments(id);
                } 
            });
            $("#modalForm").remove();   
        }else {
        
            $(".errors").remove();
        
            htmlinsert="<div class='errors'></div>";
            $("#articleCommentForm").before(htmlinsert);
            
            htmlinsert="";
            
            $.each(errors, function(index, value) { 
                htmlinsert += "<span class='errors'>${errorCode}</span>";
                htmlinsert = htmlinsert.replace(/\${errorCode}/gi, value );
                
            });
            
            $(".errors").append(htmlinsert);
        }
        
       
    
    },
    
    submitTagForm: function(id){
    	  var errors = new Array();
        
        var tags = $("#tags").val(); 
      

        var i = 0;
        
        if (tags == ""){
            errors[i]="Ole hyvä ja lisää avainsanat.";
            i++;
        }
                
        if (errors.length==0){
              
            var values = $("#articleCommentForm").serialize(); 

            var url = "ajax/getArticles.php?view=savetags";
            
            $.ajax({
                url: url,
                async: false,
                data: values,
                success: function(data){
                
                	$("#tags").val("");
                	$(".errors").remove();
                   htmlinsert="<div class='errors'>Kiitos vinkistäsi! Saimme antamasi avainsanat talteen. Avainsanasi auttavat muita käyttäjiä löytämään sisältöä paremmin.<br/><br/><a class='tagCancel' href='#'>Sulje lomake</a></div>";
            	//$("#articleCommentForm").before(htmlinsert);
            	
					$("#modalForm").hide();
					$("#modalForm").remove(); 
            	
				 $('.tagCancel').click(function() {
				
					$("#modalForm").hide();
					$("#modalForm").remove(); 
					return false;
				
				});

                } 
            });
              
        }else {
        
            $(".errors").remove();
        
            htmlinsert="<div class='errors'></div>";
            $("#articleCommentForm").before(htmlinsert);
            
            htmlinsert="";
            
            $.each(errors, function(index, value) { 
                htmlinsert += "<span class='errors'>${errorCode}</span>";
                htmlinsert = htmlinsert.replace(/\${errorCode}/gi, value );
                
            });
            
            $(".errors").append(htmlinsert);
        }

    
    },
    
     submitRateForm: function(id){
    
      
        var errors = new Array();
        
        var rating = $("input:checked").val();

        var i = 0;
        
       
        if (rating == null){
            errors[i]="Ole hyvä ja lisää arvostelu valitsemalla tähtien määrä.";
               i++;
        }
        
        if (errors.length==0){
              $("#modalForm").hide();
            var values = $("#articleCommentForm").serialize(); 
            
            
            
            var url = "ajax/getArticles.php?view=saverating&articleId="+id;
            
            $.ajax({
                url: url,
                async: false,
                data: values,
                success: function(data){
                    article_bank.returnToList(); 
                } 
            });
            $("#modalForm").remove();   
        }else {
        
            $(".errors").remove();
        
            htmlinsert="<div class='errors'></div>";
            $("#articleCommentForm").before(htmlinsert);
            
            htmlinsert="";
            
            $.each(errors, function(index, value) { 
                htmlinsert += "<span class='errors'>${errorCode}</span>";
                htmlinsert = htmlinsert.replace(/\${errorCode}/gi, value );
                
            });
            
            $(".errors").append(htmlinsert);
        }
        
       
    
    },
    
    
    returnToList: function(){
    
        $(".sortMenu").show();
    
        article_bank.setArticleBank();
        article_bank.init();
            
        return false;
        
    },
    
    setArticleBank: function(){
    
        $(".bank").empty();
        
        htmlinsert= "<div class='searchbox'></div>";
        $(".bank").append(htmlinsert);
        
         htmlinsert= "<input id='bank_keyword' type='text' class='bank_keyword' name='keyword' value='' />&nbsp;<button id='bank_submit'>Hae</button>";
        $(".searchbox").append(htmlinsert);
        
        
        htmlinsert= "<div class='sortMenu'></div>";
        $(".bank").append(htmlinsert); 
        
         htmlinsert= "<div class='pagingNavi'></div>";
        $(".bank").append(htmlinsert);   
        
        htmlinsert= "<div class='articleList'></div>";
        $(".bank").append(htmlinsert);

    
    },
    
    tagItem: function(articleId){
    
        var articleNameClass = ".articleList .articleItem"+articleId+" .articleName a";

		htmlinsert= "<div id='modalForm'></div>";
        $("body").append(htmlinsert); 
        htmlinsert= "<div id='modalFormBackground'></div>";
        $("#modalForm").append(htmlinsert); 
        htmlinsert= "<div id='modalFormWrapper'></div>";
        $("#modalForm").append(htmlinsert); 
        htmlinsert= "<div id='modalFormContent'></div>";
        $("#modalFormWrapper").append(htmlinsert); 
        
        htmlinsert= "<h2 id='articleCommentHeader' class='left articleCommentHeader' >Anna artikkelille avainsanoja</h2>";
        htmlinsert+= "<a class='right tagCancel' href='#'>Sulje</a>";
        $("#modalFormContent").append(htmlinsert);
        
         htmlinsert= "<h3>${articleName}</h3>";
         htmlinsert = htmlinsert.replace(/\${articleName}/gi, $(articleNameClass).html() );
        $("#modalFormContent").append(htmlinsert);
        
        htmlinsert= "<form id='articleCommentForm'></form>";
        $("#modalFormContent").append(htmlinsert);

        htmlinsert= "<p class='instructions'>Ole hyvä ja auta meitä merkitsemään artikkelille artikkelin sisältöä kuvaavia avainsanoja. Avainsanoja käytetään haun yhteydessä. Anna avainsanat pilkulla erotettuna, esim. <b>Majan rakennus, ulkoilu, pihaleikit</b></p>";
        htmlinsert+= "<p class='clear left formlabel'><label for='tags'>Avainsanat:</label></p>";
        htmlinsert+= "<textarea name='tags' class='formTextarea' id='tags'></textarea><input type='hidden' name='articleId' value='${id}'/></p>";
        htmlinsert+= "<p class='left formsubmit'><input type='submit' class='formField' name='tagSubmit' id='tagSubmit' value='Tallenna'/></p>";
        htmlinsert = htmlinsert.replace(/\${id}/gi, articleId );
        $("#articleCommentForm").append(htmlinsert);
        
        $("#modalForm").show(); 

         $('#tagSubmit').click(function() {

            article_bank.submitTagForm(articleId);
            return false;
        
        });
        
         $('.tagCancel').click(function() {

			$("#modalForm").hide();
            $("#modalForm").remove(); 
            return false;
        
        });


    },
    rateItem: function(articleId){
    
        var articleNameClass = ".articleList .articleItem"+articleId+" .articleName a";

		htmlinsert= "<div id='modalForm'></div>";
        $("body").append(htmlinsert); 
        htmlinsert= "<div id='modalFormBackground'></div>";
        $("#modalForm").append(htmlinsert); 
        htmlinsert= "<div id='modalFormWrapper'></div>";
        $("#modalForm").append(htmlinsert); 
        htmlinsert= "<div id='modalFormContent' class='ratingForm'></div>";
        $("#modalFormWrapper").append(htmlinsert); 
        
        htmlinsert= "<h2 id='articleCommentHeader' class='left articleCommentHeader' >Arvostele artikkeli</h2>";
        htmlinsert+= "<a class='right rateCancel' href='#'>Sulje</a>";
        $("#modalFormContent").append(htmlinsert);
        
            
        htmlinsert= "<form id='articleCommentForm'></form>";
        $("#modalFormContent").append(htmlinsert);

         htmlinsert= "<p class='left formlabel'><label for='comment'>Arvostele:</label></p>";
         htmlinsert+= "<p  class='left rate'> <input name='star1' type='radio' class='star' value='1'/><input name='star1' type='radio' class='star' value='2'/><input name='star1' type='radio' class='star' value='3'/><input name='star1' type='radio' class='star' value='4'/><input name='star1' type='radio' class='star' value='5'/></p>";
        htmlinsert+= "<p class='left formsubmit'><input type='submit' class='formField' name='rateSubmit' id='rateSubmit' value='Arvostele'/><input type='submit' class='formField' name='rateCancel' id='rateCancel' value='Peruuta'/></p>";
        htmlinsert = htmlinsert.replace(/\${id}/gi, articleId );
        $("#articleCommentForm").append(htmlinsert);
        
        $("#modalForm").show(); 
        
                $('.star').rating();

         $('#rateSubmit').click(function() {

            article_bank.submitRateForm(articleId);
            return false;
        
        });
        
         $('#rateCancel').click(function() {

			$("#modalForm").hide();
            $("#modalForm").remove(); 
            return false;
        
        });
        
         $('.rateCancel').click(function() {

			$("#modalForm").hide();
            $("#modalForm").remove(); 
            return false;
        
        });


    }
    
    
    
  

    
    

    
};

