function addEvent(func){
// Simon Willison: http://simon.incutio.com/archive/2004/05/26/addLoadEvent
  if (!document.getElementById | !document.getElementsByTagName) return
  var oldonload=window.onload
  if (typeof window.onload != 'function') {window.onload=func}
  else {window.onload=function() {oldonload(); func()}}
}

function stripeCode(){
  var pres=document.getElementById('content').getElementsByTagName("pre")
  for (var g=0;g<pres.length;g++){
  	var cn=pres[g].firstChild.className
    if (cn=="codelist"||cn=="css"||cn=="html"||cn=="javascript"||cn=="php"){
      var newCode=document.createElement('code')
      var even=false
      var spanContent=""
      var codeContent=pres[g].firstChild.firstChild.nodeValue
      var crLF=codeContent.charAt(0)
      if (codeContent.charCodeAt(1)==10) crLF+=codeContent.charAt(1)
      for (var f=0;f<codeContent.length;f++){
        if (codeContent.substr(f,crLF.length)==crLF){
          if (codeContent.charAt(f+1)==crLF[1]) f++
          var newSpan=document.createElement('span')
          newSpan.className=even?"odd":"even"
          if (spanContent.match("//")){
            newSpan.className="rem"
            even= !even
          }
          if (spanContent==""){
            spanContent=" "
            even= !even
          }
          newSpan.appendChild(document.createTextNode(spanContent))
          newCode.appendChild(newSpan)
          if (crLF.length==1) newCode.appendChild(document.createTextNode(crLF))
          even= !even
          spanContent=""
        }
        else spanContent+=codeContent.charAt(f)
      }
      pres[g].replaceChild(newCode,pres[g].firstChild)
    }
  }
}

function parseForm(){
  document.getElementById('noscript').style.display="none";
  document.getElementById('text_parser').style.display="block";
  document.getElementById('parse').onclick=function(){
          var code=document.getElementById('from').value;
          code=code.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;')

          if (document.getElementById('includetags').checked){
								var clss="";
								if (document.getElementById('r1').checked) clss=document.getElementById('r1').value;
								if (document.getElementById('r2').checked) clss=document.getElementById('r2').value;
								if (document.getElementById('r3').checked) clss=document.getElementById('r3').value;
								if (document.getElementById('r4').checked) clss=document.getElementById('r4').value;
								if (document.getElementById('r5').checked) clss=document.getElementById('r5').value;
								if (document.getElementById('r6').checked) clss=document.getElementById('r6').value;
								if (document.getElementById('r7').checked) clss=document.getElementById('r7').value;
          	code='<pre><code class="'+clss+'">\n'+code+'\n</code></pre>';
          }
          document.getElementById('to').value=code;
          return false;
        }
  document.getElementById('from').onclick=function(){this.select()}
  document.getElementById('to').onclick=function(){this.select()}
}


function showHideRadios(){
	document.getElementById('includetags').onclick=function(){
		if (this.checked){
			document.getElementById('classes').style.display="block";
		}else{
			document.getElementById('classes').style.display="none";
		}
	}
}

addEvent(stripeCode)
addEvent(parseForm)
addEvent(showHideRadios)

document.getElementById('testSelect').onclick=function(){this.select()}