﻿// --------- GLOBALA VARIABLER -------------------------//

var xmlhttpComments
var xmlhttpForm
var xmlhttpPost
var xmlChannel
var pageSize = 10        // Antalet visade kommentarer per sida.
var cTitle              // Artikel titeln
var cTotAmount          // Antal kommentarer
var cPageInfo           // Postion för kommentarer
var cPublishID          // Artikel ID
var cPrevious = 0       // Föregående ID för paging
var cNext = 0           // Nästa ID för paging
var cArray              // Array som innehåller alla kommentarer
var cWriteEnabled       // Editerbar
var objFormPlacement    // Vart formuläret skall in
var sortOrder = 'desc'   // Hur xml skall sorteras.
var blnHeader = true    // Skriv ut sidinformation
var intCWidth           // Vidden på Containern
var blnPost = false     // Motverka dubbelpostning

//--- Starta kommenterings funktionen ----------------------
function loadComments(commentID) {

    // Start variabler
    cPublishID  = commentID
    cPrevious   = 0
    cNext       = 0
    
    // Hämta användar inställningar från cookie
	var cTmpCookie  = getCookie('cUserSettings');
	intCWidth   = parseInt(document.getElementById("srcomments").style.width)
	
	
	//Räkna ut vidden + padding för att kontrollera form
	intCWidth = intCWidth - (11*2)
	
	
	if(cTmpCookie) {
	   var tmpValue     = cTmpCookie.split(";");
	   pageSize         = parseInt(tmpValue[0])
	   sortOrder        = tmpValue[1]
	}

    progressbar("srcomments");
    loadCommentsXML() 
}


//--- Hämta XML ----------------------
function loadCommentsXML() {

   	// Generera unikt id för att motverka cachning i IE
    var ran_number= Math.random()*5;
	var url = '/api/Comments/GetCommentXML.aspx?publishID=' + cPublishID + '&pagesize=' + pageSize + '&sort='+ sortOrder +'&pos=' + cNext  + '&ran=' + ran_number;
 
      // AJAX kod Mozilla, Safari, Opera etc.
      if (window.XMLHttpRequest) {
	             xmlhttpComments = new XMLHttpRequest();
                 xmlhttpComments.onreadystatechange = proccessReq;
                 xmlhttpComments.open("GET", url, true);
                 xmlhttpComments.send(null);
                 
		 }
	   
		// AJAX IE
	  	else if (window.ActiveXObject)  {
	    	xmlhttpComments=new ActiveXObject("Microsoft.XMLHTTP");
	        if (xmlhttpComments) {
					xmlhttpComments.onreadystatechange = proccessReq;
					xmlhttpComments.open("GET", url, true);
					xmlhttpComments.send();
			   }
		} else {
			// Hoppa ur funkitonen om xmlhttp inte stöds
			 return;
			 this.clearInterval
		}
}	





//--- Hämta Formulär ----------------------
function getFormHtml(formID,xmlIndex) {

    if(!cWriteEnabled) {
        return
    }
	
	var tmpTitle = '';
	blnPost = true      
	var tmpObj = document.getElementById("doPost")
	
	if(tmpObj) {
	    tmpObj.className = 'btnActive'   
    }
    
	// Kontrolera om det är den första kommentaren
	if(!formID) {
	    formID = "commentContainer"
	
	} else {
	
	    //Kontrolera om man redan har öppnat för då skall det stängas.
	    var checkPrintStatus = document.getElementById(formID).lastChild.id
	    
	    if(checkPrintStatus) {
	        var formElement = document.getElementById("formComments")
	        
            // ta bort formuläret om det finns
	        if(formElement) {
	            
	            if(formElement.className != 'abuse') {
	                formElement.parentNode.removeChild(formElement);
	                return;
	             }
	        }
	        
        }
	}
	
		

	// se om formuläret redan är utskrivet
	var formElement = document.getElementById("formComments")
	objFormPlacement = formID
	
	
	
	// ta bort formuläret om det finns
	if(formElement) {
	    formElement.parentNode.removeChild(formElement);
	}
	
		
	// Om det är ett svar på en kommentar skall SV läggas till
	if((xmlIndex) || (xmlIndex ==0)) {
	    tmpTitle = cArray[xmlIndex].getElementsByTagName("title")[0].firstChild.nodeValue;
	    
	    if(tmpTitle.indexOf('SV:') !=0) {
	        tmpTitle = 'SV:' + tmpTitle.substring(0, 57)
	    }
	}
	
	

    var tmpHtml = '';
    tmpHtml = tmpHtml + '<form name="formComments">';
    tmpHtml = tmpHtml + '	<h3>Kommentera</h3>';

    //Rubrik
    tmpHtml = tmpHtml + '	<label for="title"><b>Rubrik:</b> <span  id="labelTitle">(max 60 tecken)</span></label>';
    tmpHtml = tmpHtml + '	<input name="title" class="input" id="title" maxlength="60" type="text" value="'+tmpTitle+'" onkeydown="tCounter(this,\'labelTitle\',60,null)">';

    //Kommentar
    tmpHtml = tmpHtml + '	<label for="description"><b>Kommentar:</b> <span id="labelDescription">(max 1250 tecken)</span></label>';
    tmpHtml = tmpHtml + '	<textarea name="description" style="width:'+ intCWidth +'" cols="50" rows="10" class="inputTextArea" id="description" onkeydown="tCounter(this,\'labelDescription\',1250,null)"></textarea>';
    
    //Namn
    tmpHtml = tmpHtml + '	<label for="creator"><b>Namn:</b> <span id="labelCreator">(max 30 tecken)</span></label>';
    tmpHtml = tmpHtml + '	<input name="creator" class="input" id="creator" maxlength="30" type="text" onkeydown="tCounter(this,\'labelCreator\',30,null)">';

    //Email
    tmpHtml = tmpHtml + '	<label for="email" id="labelEmail"><a href="#email" onclick="sr_exp_menu(\'email\');sr_exp_menu(\'emailText\');return false;">E-post: (frivilligt)</a></label>';
    tmpHtml = tmpHtml + '	<p style="display:none;" id="emailText">Visas inte för besökare</p>';
    tmpHtml = tmpHtml + '	<input name="email" class="input" id="email" maxlength="100" type="text" style="display:none;">';


    tmpHtml = tmpHtml + '	<p>Vi vill att kommentarerna på SR.se utmärks av respekt för andra och håller en god ton. Inlägg som inte håller sig till ämnet riskerar att tas bort. De flesta artiklar är öppna för kommentarer i tre dygn. <a href="/cgi-bin/mall/artikel.asp?ProgramID=2321&Artikel=1933450" target="_blank" title="Läs reglerna (Öppnas i ett eget fönster)">Läs reglerna i sin helhet</a>.</p>'; 
    tmpHtml = tmpHtml + '   <input type="checkbox" name="agreement" id="agreement" value="1"><label for="agreement" style="display:inline;">Jag har läst och godkänt SR:s regler gällande kommentering';
    tmpHtml = tmpHtml + '	<div class="action">';
    tmpHtml = tmpHtml + '        <input type="image" name="doPost" id="doPost" onclick="getForm();return false;" src="/cgi-bin/comments/images/skicka.gif" alt="Skicka">';
    tmpHtml = tmpHtml + '        <input type="image" name="doAbort" id="doAbort"  onclick="removeElement(\'formComments\'); return false;" src="/cgi-bin/comments/images/avbryt.gif" alt="Avbryt">';
    tmpHtml = tmpHtml + '	</div>';
    tmpHtml = tmpHtml + '</form>';

    var formContainer   = document.getElementById(objFormPlacement)
    var objNode         = document.createElement('div');
    objNode.setAttribute('id', 'formComments');
    objNode.className = 'postComments';  
    objNode.innerHTML = tmpHtml
    formContainer.appendChild(objNode);
}	

function checkPost(objId) {
    blnPost = true
    document.getElementById(objId).className = 'btnInActive'    
}

//--- Kontrollera status för hämtningen av XML ----------------------
function proccessReq() {
	if(xmlhttpComments.readyState == 4) {
	    
	    if(xmlhttpComments.status == 200) {
	    
            if(xmlhttpComments.responseXML) {
                setCommentsValues()
            } else {
                return;
            }
        } else {            
            return;            
        }
    
	} else {
	    return;
	}
}



//--- Lägg till värden i globala variabler för channel ----------------------
function setCommentsValues() {

    // Comment header infomation	
    try {xmlChannel = xmlhttpComments.responseXML.getElementsByTagName("channel");} catch(err){printCommentsError();return;}    
    try {cTitle = xmlChannel[0].getElementsByTagName("title")[0].firstChild.nodeValue;} catch(err){cTitle = 'Kommentera artikeln';} 
	cTotAmount      = xmlChannel[0].getElementsByTagName("totAmount")[0].firstChild.nodeValue;
	cPublishID      = xmlChannel[0].getElementsByTagName("publishID")[0].firstChild.nodeValue;
	cWriteEnabled   = parseInt(xmlChannel[0].getElementsByTagName("writeEnabled")[0].firstChild.nodeValue);
	
	printHeader();
	
	// Comments array
	cArray = xmlhttpComments.responseXML.getElementsByTagName("item")
	
	// Skriv ut alla kommentare
	printComments();
	
}

function createLinkFromText(input) {

    return input
    .replace(/(ftp|http|https|file):\/\/[\S]+(\b|$)/gim,
'<a href="$&" class="usercommentlink" rel="nofollow" title="$&" target="_blank">$&</a>')
    .replace(/([^\/])(www[\S]+(\b|$))/gim,
'$1<a href="http://$2" class="usercommentlink" title="$&" rel="nofollow" target="_blank">$2</a>');

} 

//--- Skriv ut HTML för Header/inställningar ----------------------
function printHeader() {

        // Skriv bara ut en gång.
        if(!blnHeader) {
            return
        }
        
        //Generera html för kommenterings huvud
        var tmpHtml = '<div id="postCommentImg">'
        if(cWriteEnabled) {
            if(cTotAmount == 0) {
            tmpHtml = tmpHtml + '   <h2>Kommentera artikeln här nedanför</h2>';
            tmpHtml = tmpHtml + '   <a href="#" onclick="getFormHtml(\'postCommentImg\',null);return false" title="Skriv en kommentar"><img src="/cgi-bin/comments/images/comments-post.gif" alt="Skriv en kommentar"></a>'
            } else {
            tmpHtml = tmpHtml + '   <a href="#" onclick="getFormHtml(\'postCommentImg\',null);return false" title="Skriv en kommentar"><img src="/cgi-bin/comments/images/comments-post.gif" alt="Skriv en kommentar"></a>'
            }
        } else {
        tmpHtml = tmpHtml + '   <h2>Kommenteringen är stängd</h2>';
        }        
        
        tmpHtml = tmpHtml + '</div>';
        tmpHtml = tmpHtml + '<div class="container" id="commentHeader">';
        tmpHtml = tmpHtml + '   <p id="pageInfo"></p>';
        tmpHtml = tmpHtml + '</div>'
        
        
        // Om det inte finns några kommentarer skriv int ut
        
        if(cTotAmount != 0) {
        
        tmpHtml = tmpHtml + '<div class="settingsContainer">';
        tmpHtml = tmpHtml + '<div id="pageSizeContainer">';
        tmpHtml = tmpHtml + 'Visa: <select name="pagesize" id="pageSize" onChange="setPageSize();">';

        //Array för att kunna markera användarens val.
        var uSettingsArr =new Array(5);
        uSettingsArr[0]=3;
        uSettingsArr[1]=10;
        uSettingsArr[2]=20;
        uSettingsArr[3]=50;
        uSettingsArr[4]=100;
        uSettingsArr[5]=200;
        
        // Markera den valda antalet visade kommentarer
        for (var i = 0 ; i < uSettingsArr.length ; i++) {
            if(uSettingsArr[i] == pageSize) {
                tmpHtml = tmpHtml + '	<option value="'+ uSettingsArr[i] +'" selected>'+ uSettingsArr[i] +'</option>';
            } else {
                tmpHtml = tmpHtml + '	<option value="'+ uSettingsArr[i] +'">'+ uSettingsArr[i] +'</option>';
            }
        }
        tmpHtml = tmpHtml + '</select>';
        tmpHtml = tmpHtml + '</div>'
        
        tmpHtml = tmpHtml + '<div id="sortContainer">';
        tmpHtml = tmpHtml + 'Sortera: <select name="sort" id="sort" onChange="setPageSize();">';
        
        // Se till att vald sorterings ordning blir markerad.
        switch(sortOrder){
            case 'asc':
                tmpHtml = tmpHtml + '	<option value="desc">Senaste först</option>';
                tmpHtml = tmpHtml + '	<option value="asc" selected>Tidigast först</option>';
                break;
                
            case 'desc':
                tmpHtml = tmpHtml + '	<option value="desc" selected>Senaste först</option>';
                tmpHtml = tmpHtml + '	<option value="asc">Tidigast först</option>';
                break;
        }        
        
        
        tmpHtml = tmpHtml + '</select>';   
        tmpHtml = tmpHtml + '</div>';      
        tmpHtml = tmpHtml + '</div>'; 
       
       }
        document.getElementById("srcomments").innerHTML = tmpHtml
        
        
        
        //Skriv bara ut 1 gång
        blnHeader = false
       
}


function printFooter() {


    // Skriv inte ut någon footer om pageSize är störren än totalt antal kommentarer
    if(parseInt(pageSize) > parseInt(cTotAmount)) {
        return
    }


    //Generera html för kommenterings huvud
    tmpHtml = '<ul>';
    tmpHtml = tmpHtml + '   <li><a href="#commentContainer" onclick="paging('+cNext+', 0,this.id);" id="movePrev">Föregående</a></li>';
   
    //Räkna ut antal sidor som skall visas.
    for (var i = 0 ; i < parseInt(cTotAmount / pageSize)+1 ; i++) {
    
        if(parseInt(cNext/pageSize) == i) {
            tmpHtml = tmpHtml + '   <li>'+ parseInt(i+1) +'</li>';            
        } else {
            tmpHtml = tmpHtml + '   <li><a href="#commentContainer" onclick="paging('+parseInt((i * pageSize))+', null,null);">'+ parseInt(i+1) +'</a></li>';
        }
    }
       
    tmpHtml = tmpHtml + '   <li><a href="#commentContainer" onclick="paging('+cNext+', 1,this.id);" id="moveNext">Nästa</a></li>';
    tmpHtml = tmpHtml + '</ul>'
        
        
    removeElement("commentFooter");
        
        
    var currentNode = document.getElementById("srcomments")
    var objNode     = document.createElement('div');
    
    objNode.setAttribute('id', 'commentFooter');    
    objNode.innerHTML = tmpHtml;
    currentNode.appendChild(objNode);    
    

    //Dölj föregående länk
    if(parseInt(cNext)==0) {
        document.getElementById("movePrev").style.display = 'none';
    } else {
        document.getElementById("movePrev").style.display = 'inline';
    }


    //Dölj nästa länk
    if(parseInt(cNext+pageSize)>= cTotAmount) {
        document.getElementById("moveNext").style.display = 'none';
    } else {
        document.getElementById("moveNext").style.display = 'inline';
    }    
       
}







//--- Skriv ut kommentarer ----------------------
function printComments() {

    var tmpHtml = '';
    
    
    // Proccessa alla kommentarer
    for (var i = 0 ; i < cArray.length ; i++) {
        
       
        var item = cArray[i];
        var blnErr = false
        
        // Spara ner värden
        try {var iTitle = item.getElementsByTagName("title")[0].firstChild.nodeValue;} catch(err){blnErr = true;}
        try {var iDescription = item.getElementsByTagName("description")[0].firstChild.nodeValue;} catch(err){blnErr = true;}
        try {var iPubdate = item.getElementsByTagName("pubdate")[0].firstChild.nodeValue;} catch(err){blnErr = true;}
        try {var iCreator = item.getElementsByTagName("creator")[0].firstChild.nodeValue;} catch(err){blnErr = true;}
        try {var icommentItemID = item.getElementsByTagName("commentItemID")[0].firstChild.nodeValue;} catch(err){blnErr = true;}
   
        if(blnErr != true) {
            //Generera html för kommentarer
            tmpHtml = tmpHtml + '<div class="container" id="comment'+ i + '">';
            tmpHtml = tmpHtml + '<div class="cText">';
            tmpHtml = tmpHtml + '   <h5>' + iTitle + '</h5>';
            //Gör om länkar till href
            var tmpLinkValue = createLinkFromText(iDescription)            
            tmpHtml = tmpHtml + '   <p>' + tmpLinkValue.replace(/\n/g, "<br>"); + '</p>';
            tmpHtml = tmpHtml + '</div>';
            tmpHtml = tmpHtml + '   <div class="creator">' + iCreator + ',</div>';
            tmpHtml = tmpHtml + '   <div class="date">' + iPubdate + '</div>';
            
            tmpHtml = tmpHtml + '   <div class="action">';
            if(cWriteEnabled) {
            tmpHtml = tmpHtml + '       <input type="image" src="/cgi-bin/comments/images/comments-answer.gif" alt="Svara på denna kommentar" id="doPost"  onclick="getFormHtml(\'comment' + i + '\','+i+');return false">';
            }
            tmpHtml = tmpHtml + '       <input type="image" src="/cgi-bin/comments/images/comments-report.gif" alt="Anmäl denna kommentar" id="doAbort" onclick="reportAbuse('+i+'); return false;">';
            tmpHtml = tmpHtml + '   </div>';
            tmpHtml = tmpHtml + '</div>'
        }
    }
    
    
    var currentNode = document.getElementById("srcomments")
    var checkNode   = document.getElementById("commentContainer")
    
    if(checkNode) {
         removeElement("commentContainer")
    } 
    
    var objNode     = document.createElement('div');
    objNode.setAttribute('id', 'commentContainer');    
    objNode.innerHTML = tmpHtml;
    currentNode.appendChild(objNode);
    printFooter();
    updateText();
   
}


//--- Hämta den inmatade kommentaren ----------------------
function getForm() {

    var iTitle          = document.formComments.title
    var iDescription    = document.formComments.description
    var iCreator        = document.formComments.creator
    var iEmail          = document.formComments.email
    var iAgreement      = document.formComments.agreement
    
    //fel hantering.
    var errmsg = '';
    
    //Namn
    if(iCreator.value.length<2){
        errmsg = errmsg + '- Namnet måste bestå av minst 2 bokstäver!\n';
        iCreator.style.backgroundColor = '#FFAFAF';
    } else {
        iCreator.style.backgroundColor = '#fff';
    }       
     
    //Kontrolera rubrik
    if(iTitle.value.length<2){
        errmsg = errmsg + '- Rubriken måste bestå av minst 2 bokstäver!\n';
        iTitle.style.backgroundColor = '#FFAFAF';
    } else {
        iTitle.style.backgroundColor = '#fff';
    }  

    //Kommentar
    if(iDescription.value.length<2){
        errmsg = errmsg + '- Kommentaren måste bestå av minst 2 bokstäver!\n';
        iDescription.style.backgroundColor = '#FFAFAF';
    } else {
        iDescription.style.backgroundColor = '#fff';
    }  
   
    if(!iAgreement.checked) {
        errmsg = errmsg + '- Du måste godkänna reglerna!\n';
        iAgreement.style.backgroundColor = '#FFAFAF';
    } else {
        iAgreement.style.backgroundColor = '#fff';
    }      
    


    if(errmsg.length!=0){
      alert('Dessa fel uppstod:\n\n' + errmsg);
      return false;
      }  else {
  	    progressbar("formComments")
  	    checkPost("doPost")
      }



    var poststr = "title=" + encodeURIComponent(iTitle.value) +
                  "&description=" + encodeURIComponent(iDescription.value) +
                  "&creator=" + encodeURIComponent(iCreator.value) +
                  "&email=" + iEmail.value +
                  "&publishID=" + cPublishID;
                  
    
   // posta kommentaren
   postForm(poststr,'/api/comments/InsertComment.aspx');
 
}



//--- Hämta den inmatade abuse formuläret ----------------------
function getAbuseForm() {

    var abuseMsg          = document.getElementById("motivation")
    var commentID         = document.getElementById("commentItemID")


    //fel hantering.
     var errmsg = '';
     
    //Kontrolera rubrik
    if(abuseMsg.value.length<2){
        errmsg = errmsg + '- Din motivering är för kort!\n';
        abuseMsg.style.backgroundColor = '#FFAFAF';
    } else {
        abuseMsg.style.backgroundColor = '#fff';
    }  

    if(errmsg.length!=0){
      alert('Dessa fel uppstod:\n\n' + errmsg);
      return false;
      }  else {
  	   progressbar("formComments") 
      }

    var poststr = "motivation=" + encodeURI(abuseMsg.value) +
                  "&commentitemID=" + commentID.value
   
   
   blnPost = true 
   
   
   // posta rapporteringen
   postForm(poststr,'/api/comments/InsertReport.aspx');
 
}


//--- Posta den inmatade kommentaren ----------------------
function postForm(poststr, url) {
	
	if(!blnPost) {
	
	    alert('Något har gått fel, försök igen');
	    blnPost = true 
	    return	
	}
	
	
    parameters = poststr
		// AJAX kod Mozilla, Safari, Opera etc.
       if (window.XMLHttpRequest) {
	            xmlhttpPost = new XMLHttpRequest();
	            //xmlhttpPost.overrideMimeType('text/html');
                xmlhttpPost.onreadystatechange = proccessPost;
                xmlhttpPost.open("POST", url, true);
                xmlhttpPost.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
                xmlhttpPost.setRequestHeader("Content-length", parameters.length);
                xmlhttpPost.setRequestHeader("Connection", "close");
                xmlhttpPost.send(parameters);
                 
		 }
	   
		// AJAX IE
	  	else if (window.ActiveXObject)  {
	    	xmlhttpPost=new ActiveXObject("Microsoft.XMLHTTP");
	        if (xmlhttpPost) {
	                //xmlhttpPost.overrideMimeType('text/html');
					xmlhttpPost.onreadystatechange = proccessPost;
					xmlhttpPost.open("POST", url, true);
                    xmlhttpPost.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                    xmlhttpPost.send(parameters);		
			   }
		} else {
			// Hoppa ur funkitonen om xmlhttp inte stöds
			 return;
			 this.clearInterval
		}
}	

//--- Kontrollera status för hämtningen ----------------------
function proccessPost() {
	if(xmlhttpPost.readyState == 4) {
	    
	    if(xmlhttpPost.status == 200) {
	            document.getElementById("formComments").innerHTML = xmlhttpPost.responseText
	            document.getElementById("formComments").className = 'post';
        } else {            
            return;            
        }
    
	} else {
	    return;
	}
}


// Räkna antalet tecken i formuläret
function tCounter(field,cntfield,maxlimit, strTextPrefix) {
    if (field.value.length >= maxlimit) { 
        field.value = field.value.substring(0, maxlimit);
        field.style.borderColor = 'red';
	} else {
	
	    if(!strTextPrefix) {
	        strTextPrefix = '';
	    }
	
	    document.getElementById(cntfield).innerText = strTextPrefix + " (max " + (maxlimit - (field.value.length+1)) + " tecken)";
        field.style.borderColor = '#d7d6d2';
	}
}


function setIndexPosition(intPos) {
    cPrevious = (intPos - pageSize);
    if(cPrevious < 0) {
        cPrevious = 0
    }
}


// Spara antalet kommentarer som skall visas samt ladda om XML
function setPageSize() {


    var uPageSize  = document.getElementById("pageSize");
    var uSortOrder = document.getElementById("sort")
    
    
    // Kontrollera värden
    if(uSortOrder) {
        uSortOrder = uSortOrder.value
    } else {
        uSortOrder = 'asc';        
    }
    
    
    if(uPageSize) {
        pageSize    = uPageSize.options[uPageSize.selectedIndex].text;
    } else {
    
        // Hämta användar inställningar från cookie
	    var cTmpCookie  = getCookie('cUserSettings');
	    if(cTmpCookie) {
	       var tmpValue     = cTmpCookie.split(";");
	       pageSize         = parseInt(tmpValue[0])
	    }  else {
	        pageSize = 3
	    }
    }       
    
    
    sortOrder   = uSortOrder

    setCookie('cUserSettings', pageSize + ';' + sortOrder, 300);    
    blnHeader = true
    loadComments(cPublishID);
}


// Spara användarens val av antalet kommentarer som skall visas
function setCookie(c_name,value,expiredays) {
    var exdate=new Date()
    exdate.setDate(exdate.getDate()+expiredays)
    document.cookie=c_name+ "=" +escape(value)+
    ((expiredays==null) ? "" : ";path=/;expires="+exdate.toGMTString())

}

// Hämta antalet kommentarer som skall visas
function getCookie(c_name) {
if (document.cookie.length>0)   {
    c_start=document.cookie.indexOf(c_name + "=")
    if (c_start!=-1) { 
        c_start=c_start + c_name.length+1 
        c_end=document.cookie.indexOf(";",c_start)
    if (c_end==-1) c_end=document.cookie.length
   	    return unescape(document.cookie.substring(c_start,c_end))
    } 
  }
return false
}



// För att gå i det pagade resultatet (resultatlistan)
function paging(intPos, intDir, objID) {
   
    //Kontroller vilket håll användaren vill gå i resultatlistan
     switch(intDir){
        
        // Flytta bakåt i resultatet
        case 0:
                intPos = parseInt(intPos-pageSize)
        break;
     

        // Flytta framåt i resultatet
        case 1:
                intPos = parseInt(cNext) + parseInt(pageSize)
        break;
     }
     
    cNext = intPos
    loadCommentsXML();
}


function reportAbuse(objContainerID) {

    var objId       = document.getElementById('comment'+objContainerID)
    var abuseObj    = document.getElementById("formComments")
    

    //Kontrolera om man redan har öppnat för då skall det stängas.
    var checkPrintStatus = objId.lastChild.id
    
    if(checkPrintStatus) {
        var formElement = document.getElementById("formComments")

        // ta bort formuläret om det finns
        if(formElement) {
            if(formElement.className != 'postComments') {        
                formElement.parentNode.removeChild(formElement);
                return;
            }
        }
             
    }




    // Om noden finns ta bort den
    if(abuseObj) {
        abuseObj.parentNode.removeChild(abuseObj)
    }
    
    // Hämta kommentaren från XML 
    var iTitle          = cArray[objContainerID].getElementsByTagName("title")[0].firstChild.nodeValue;
    var iPubdate        = cArray[objContainerID].getElementsByTagName("pubdate")[0].firstChild.nodeValue;
    var iCreator        = cArray[objContainerID].getElementsByTagName("creator")[0].firstChild.nodeValue;
    var icommentItemID  = cArray[objContainerID].getElementsByTagName("commentItemID")[0].firstChild.nodeValue;

    

    var tmpHtml = '';
    tmpHtml = tmpHtml + '<h3>Anmäl ett olämpligt inlägg</h3>';
    tmpHtml = tmpHtml + '<form name="formComments">';
    tmpHtml = tmpHtml + '<p>Du vill anmäla kommentaren:<strong>'+iTitle+'</strong></p>';
   	tmpHtml = tmpHtml + '<label for="motivation" id="labelmotivation">Motivera varför du anser att inlägget bör tas bort:</label>'
	tmpHtml = tmpHtml + '<textarea name="motivation" style="width:'+ intCWidth +'" cols="50" rows="10" class="inputTextArea" id="motivation" type="text" onkeydown="tCounter(this,\'labelmotivation\',750,\'Skriv din motivering: \')"></textarea>'
	tmpHtml = tmpHtml + '	<p>Respekten för andra debattörer och de personer vi skriver om är en huvudregel på SR.se. De flesta artiklar är öppna för kommentarer i tre dygn. <a href="/cgi-bin/mall/artikel.asp?ProgramID=2321&Artikel=1933450" target="_blank" title="Läs reglerna (Öppnas i ett eget fönster)">Läs reglerna</a>.</p>'; 
    tmpHtml = tmpHtml + '   <div class="action">';
    tmpHtml = tmpHtml + '       <input type="image" name="doPost" id="doPost" onclick="getAbuseForm();return false;" src="/cgi-bin/comments/images/skicka.gif" alt="Skicka">';
    tmpHtml = tmpHtml + '       <input type="image" name="doAbort" id="doAbort"  onclick="removeElement(\'formComments\'); return false;" src="/cgi-bin/comments/images/avbryt.gif" alt="Avbryt">';
    tmpHtml = tmpHtml + '       <input type="hidden" id="commentItemID" value="'+icommentItemID+'">';
    tmpHtml = tmpHtml + '   </div>';
    tmpHtml = tmpHtml + '</form>';

	
    var objNode = document.createElement('div');
    objNode.setAttribute('id', 'formComments');    
    objNode.className = 'abuse';        
    objNode.innerHTML = tmpHtml
    objId.appendChild(objNode);
    
}

// ta bort ett element
function removeElement(objId) {
    var objId = document.getElementById(objId)
    
    if(objId) {    
        objId.parentNode.removeChild(objId);
    } else {
        return;
    }
}


// Visa / Dölj lager
function sr_exp_menu(objID) {

    var currentObj = document.getElementById(objID);

    if (currentObj.style.display == 'block') {
        currentObj.style.display = 'none'; 
    } else {
        currentObj.style.display = 'block';
    }

}


// Visa / Dölj Proggressbar
function progressbar(parentObj) {

    var parentObj   = document.getElementById(parentObj);
    var progressObj = document.getElementById("progress");

    if (progressObj) {
        removeElement("progress");
    }
    
    var progressObj = document.createElement('div');
    progressObj.setAttribute('id', 'progress');   
    progressObj.innerHTML = '<img src="/cgi-bin/comments/loading_animation.gif" alt="Skickar kommentar" />'; 
    parentObj.appendChild(progressObj);
}



function updateText() {
    tmpCnext        = parseInt(cNext);
    tmpPageSize     = parseInt(pageSize);
    tmpCtotAmount   = parseInt(cTotAmount);

    //Kontrolera att pagesize inte är större än totalamount
    if(parseInt(tmpCnext+tmpPageSize) > tmpCtotAmount) {
        tmpPageSize = tmpCtotAmount
    } else {
        tmpPageSize = tmpCnext+tmpPageSize
    }
   
   	// Skriv bara ut om det finns kommentarer
	if(cTotAmount != 0) {
	    document.getElementById("pageInfo").innerHTML = 'Kommentar '+cNext+'-'+ tmpPageSize +' av '+tmpCtotAmount;
	}
}


function printCommentsError() {
    
    var errorContainer = document.getElementById("srcomments")
    
    if(errorContainer) {
        errorContainer.innerHTML = "Kommentarerna kan tyvärr inte visas"
    }
}
