// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

function rubklass() {
	function rub(a,b,c,d,e,f) { 

 		function ext(a,b,c,d,e,f) {
			this.datum=a;
  			this.tidning=b;
			this.rubrik=c;
			this.beskrivning=d;
  			this.url=e; 
			this.soundex=f;
  			return this;
 		}

		function addextra(a,b,c,d,e,f) {
   			this.extra.push(new ext(a,b,c,d,e,f));
  		}

 	 	this.datum=a;
		this.tidning=b;
  		this.rubrik=c;
		this.beskrivning=d;
		this.url=e;
		this.soundex=f;
		this.extra=new Array();
		this.addextra=addextra;
  		return this;
 	}  

 	function rsort() {
		this.rubriker.sort(datesort);
	}
	function rexport() {
		return this.rubriker;
	}
	function addrub(a,b,c,d,e,f,g) {
  		exist=0;
		for (i=0;i<this.rubriker.length;i++) {
   			if (this.rubriker[i].soundex==f) {
   				this.rubriker[i].addextra(a,b,c,d,e,f);
    				exist=1;
    				break;
   			}
  		}
  		if(exist==0) {
   			this.rubriker.push(new rub(a,b,c,d,e,f));
  		}
 	}

 	function clearrub() {
      this.rubriker.splice(0,this.rubriker.length)
	}
    
 	this.rubriker=new Array();
 	this.addrub=addrub;
	this.rsort=rsort;
	this.rexport=rexport;
	this.clearrub=clearrub;
	return this;
}

function datesort(r1,r2) {
if (r1.datum>r2.datum) retVal=-1;
else if (r1.datum<r2.datum) retVal=1;
else retVal=0;
return retVal;
}



///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function skrivrad(rubrik) {
  if (typeof(rubrik)=='object') {
    document.write('<tr>');       // starta ny rad
    document.write('<td>'+rubrik.datum.substr(11,5)+'</td>'); // skriv ut datum
    // skriv ut rubriken samt länka den till artikeln
    title = (rubrik.beskrivning.length>0) ? rubrik.tidning+' - '+rubrik.beskrivning : rubrik.tidning;
    document.write('<td title="'+title+'"><a target="_blank" href="'+rubrik.url+'">' + rubrik.rubrik + '</a></td>');
    document.write('</tr>'); // avsluta rad
  }
}

function skrivrad_beskr(rubrik) {
  if (typeof(rubrik)=='object') {
    document.write('<p style="padding-top: 15px; margin: 0px;">');       // starta ny rad
    document.write('<strong>'+rubrik.datum.substr(0,10)+' '+rubrik.datum.substr(11,5)+' '+rubrik.tidning+'</strong></p>'); // skriv ut datum
    document.write('<p style="margin: 0px;">'); 
    // skriv ut rubriken samt länka den till artikeln
    title = (rubrik.beskrivning.length>0) ? rubrik.tidning+' - '+rubrik.beskrivning : rubrik.tidning;
    document.write('<a target="_blank" href="'+rubrik.url+'">' + rubrik.rubrik + '</a></p>');
    document.write('<p style="margin: 0px;">'); 
    document.write('<em>'+rubrik.beskrivning+'</em></p>');
  }
}

function writeBox(rubArr, rub, tblCSS, tblHdCSS) {
  document.write('<table style=\"'+tblCSS+'\">'); // start table
  document.write('<tr style=\"'+tblHdCSS+'\"><td colspan="2" title="'+rub+' fr&aring;n Nyhetsportalen.se">&nbsp;'+rub+'</td></tr>'); // rubrik table
  for (i=0;i<rubriker.length;i++) { // loopa igenom alla rubriker i datafilen
    skrivrad(rubriker[i]);
    if (rubriker[i].extra.length>0) { // bara om det finns extra tidningar med samma rubriker
      for (j=0;j<rubriker[i].extra.length;j++) {
        skrivrad(rubriker[i].extra[j]);
      }
    }
  }
  document.write('</table>'); // avsluta table
  rubriker.splice(0,rubriker.length); // rensa rubrikarrayen.
}

function writeLine(rubArr, tblCSS) {
  document.write('<table style=\"'+tblCSS+'\">'); // start table
  document.write('<tr>');       // starta ny rad
  for (i=0;i<rubriker.length;i++) { // loopa igenom alla rubriker i datafilen
    document.write('<td>'+rubriker[i].datum.substr(11,5)); // skriv ut datum
    // skriv ut rubriken samt länka den till artikeln
    document.write(' <a href=\"'+rubriker[i].url+'\">' + rubriker[i].rubrik.substr(0,60) + '</a></td>');
  }
  document.write('</tr>'); // avsluta rad
  document.write('</table>'); // avsluta table
  rubriker.splice(0,rubriker.length); // rensa rubrikarrayen.
}

function writeLineScroll(rubArr, tblCSS) {
  document.write('<span style=\"'+tblCSS+'\">'); // start table
  for (i=0;i<rubriker.length;i++) { // loopa igenom alla rubriker i datafilen
    document.write('<span style="padding-right: 10px;">'+rubriker[i].datum.substr(11,5)); // skriv ut datum
    // skriv ut rubriken samt länka den till artikeln
    document.write(' <a target="_blank" href=\"'+rubriker[i].url+'\">' + rubriker[i].rubrik.substr(0,60) + '</a></span>');
  }
  document.write('</span>'); // avsluta table
  rubriker.splice(0,rubriker.length); // rensa rubrikarrayen.
}

function vertScroll(rubArr, rub, tblCSS) {
  document.write('<marquee style="'+tblCSS+'" direction="up" scrollamount="3" onmouseover="this.scrollAmount=1;" onmouseout="this.scrollAmount=3;">');  
  document.write('<div style=\"'+tblCSS+'\">'); // start div
  for (i=0;i<rubriker.length;i++) { // loopa igenom alla rubriker i datafilen
    skrivrad_beskr(rubriker[i]);
    if (rubriker[i].extra.length>0) { // bara om det finns extra tidningar med samma rubriker
      for (j=0;j<rubriker[i].extra.length;j++) {
        skrivrad_beskr(rubriker[i].extra[j]);
      }
    }
  }
  document.write('</div>'); // avsluta table
  document.write('</marquee>');
  rubriker.splice(0,rubriker.length); // rensa rubrikarrayen.  
}

function horzScroll(rubArr, rub, tblCSS) {
  document.write('<marquee width="100%" style="'+tblCSS+'" scrollamount="3" onmouseover="this.scrollAmount=1;" onmouseout="this.scrollAmount=3;">');  
  writeLineScroll(rubriker,tblCSS);
  document.write('</marquee>');
  rubriker.splice(0,rubriker.length); // rensa rubrikarrayen.  
}

function detailedBox(max, str, start) {
  count = 0;
  for (i=start;i<rubriker.length;i++) {
    rubrik = rubriker[i];                
    
    match = false;
    for (j=0; j<str.length; j++) {
      if ((rubrik.rubrik.toLowerCase().match(str[j]) != null) || (rubrik.beskrivning.toLowerCase().match(str[j]) != null)) {
        match = true;
        break;
      }
    }

    if (match) {
      ingress = (rubrik.beskrivning.length>0) ? rubrik.beskrivning :'';
      document.write('<div class="art">');       
      document.write('<h2><a target=\"_blank\" href="'+rubrik.url+'">'+rubrik.rubrik+'</a></h2>'); 
      document.write('<p class="info">'+rubrik.datum.substr(11,5)+', '+rubrik.datum.substr(8,2)+'/'+rubrik.datum.substr(5,2)+' '+rubrik.tidning+'</p>'); // skriv ut datum
      document.write('<p class="ingr">'+ingress+' <span class="lank"><a target=\"_blank\" href="'+rubrik.url+'">L&auml;s mer</a></span></p>'); 
      document.write('</div>'); 
      count = count + 1;
    }
    
    if (count == max)
      break;
  }
}