var detect = navigator.userAgent.toLowerCase();
var OS,browser,version,total,thestring;

//Browser detect script origionally created by Peter Paul Koch at http://www.quirksmode.org/

function getBrowserInfo() {
	if (checkIt('konqueror')) {
		browser = "Konqueror";
		OS = "Linux";
	}
	else if (checkIt('safari')) browser 	= "Safari"
	else if (checkIt('omniweb')) browser 	= "OmniWeb"
	else if (checkIt('opera')) browser 		= "Opera"
	else if (checkIt('webtv')) browser 		= "WebTV";
	else if (checkIt('icab')) browser 		= "iCab"
	else if (checkIt('msie')) browser 		= "Internet Explorer"
	else if (checkIt('firfox')) {
		browser = "Firefox";
		version = detect.charAt(8);
	}else if (checkIt('netscape')) {
		browser = "Netscape";
		version = detect.charAt(8);
	}else if (!checkIt('compatible')) {
		browser = "Netscape Navigator"
		version = detect.charAt(8);
	}
	else browser = "An unknown browser";
	
	if (!version) version = detect.charAt(place + thestring.length);

	if (!OS) {
		if (checkIt('linux')) OS 		= "Linux";
		else if (checkIt('x11')) OS 	= "Unix";
		else if (checkIt('mac')) OS 	= "Mac"
		else if (checkIt('win')) OS 	= "Windows"
		else OS = "an unknown operating system";
	}
}

function checkIt(string) {
	place = detect.indexOf(string) + 1;
	thestring = string;
	return place;
}

// sIFR globals
	//sIFR.prefetch({
    //'7': '/j/sifr/UBlack.swf'
    //,'8': '/j/sifr/UBlack.swf'
  //});

  //sIFR.compatMode = true;
  //sIFR.activate();

function addEvent( obj, type, fn ) {
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
		EventCache.add(obj, type, fn);
	}
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
		EventCache.add(obj, type, fn);
	}
	else {
		obj["on"+type] = obj["e"+type+fn];
	}
}

var EventCache = function(){
	var listEvents = [];
	return {
		listEvents : listEvents,
		add : function(node, sEventName, fHandler){
			listEvents.push(arguments);
		},
		flush : function(){
			var i, item;
			for(i = listEvents.length - 1; i >= 0; i = i - 1){
				item = listEvents[i];
				if(item[0].removeEventListener){
					item[0].removeEventListener(item[1], item[2], item[3]);
				};
				if(item[1].substring(0, 2) != "on"){
					item[1] = "on" + item[1];
				};
				if(item[0].detachEvent){
					item[0].detachEvent(item[1], item[2]);
				};
				item[0][item[1]] = null;
			};
		}
	};
}();

addEvent(window,'unload',EventCache.flush);


// http://jehiah.com/archive/prototype-powered-popup-script - 'cause we need actual external rels.

var Popup = {
  open: function(options)
  {
    this.options = {
      url: '#',
      width: 800,
      height: 600,
      name:"_blank",
      location:"no",
      menubar:"no",
      toolbar:"no",
      status:"yes",
      scrollbars:"yes",
      resizable:"yes",
      left:"",
      top:"",
      normal:false
    }
    Object.extend(this.options, options || {});

    if (this.options.normal){
        this.options.menubar = "yes";
        this.options.status = "yes";
        this.options.toolbar = "yes";
        this.options.location = "yes";
    }

    this.options.width = this.options.width < screen.availWidth?this.options.width:screen.availWidth;
    this.options.height=this.options.height < screen.availHeight?this.options.height:screen.availHeight;
    var openoptions = 'width='+this.options.width+',height='+this.options.height+',location='+this.options.location+',menubar='+this.options.menubar+',toolbar='+this.options.toolbar+',scrollbars='+this.options.scrollbars+',resizable='+this.options.resizable+',status='+this.options.status
    if (this.options.top!="")openoptions+=",top="+this.options.top;
    if (this.options.left!="")openoptions+=",left="+this.options.left;
    window.open(this.options.url, this.options.name,openoptions );
    return false;
  }
}

function cancelHref(e) {
	if (e && e.preventDefault) {
		e.preventDefault();
		/* old-style event handler for Safari (at least until Apple fixes its DOM standard event support) */
		var target = e.target ? e.target : e.srcElement? e.srcElement : null;
		if (target && target.nodeType == 3) target = target.parentNode;
		if (target && target.tagName.toLowerCase() == "a" && e.type == "click"){
			target.onclick = function(){return false;}
			}
	}
	if (window.event) {
		window.event.returnValue = false;
		return false;
	}
}


function insertAfter(newElement,targetElement) {
  var parent = targetElement.parentNode;
  	if (parent.lastChild == targetElement){
    parent.appendChild(newElement);
 	} else {
    parent.insertBefore(newElement,targetElement.nextSibling);
  	}
 } 	
  
function flashText(){
//console.info("hmmm");

    /*sIFR.replace({
    selector: 'h1.sifr'
    ,wmode: 'transparent'
    ,src: { '7': '/j/sifr/UBlack.swf', '8': '/j/sifr/UBlack.swf' }
    ,css: {
      '.sIFR-root': { 'color': '#333399' }
    }
    ,filters: {
      DropShadow: {
        knockout: false
        ,distance: 1
        ,color: 0x333399
        ,strength: 1
      }
    }
  });*/
  
  if(document.body.id != "clint-bowyer") {
   /*sIFR.replace({
    selector: 'h2'
    ,wmode: 'transparent'
    ,src: { '7': '/j/sifr/UBlack.swf', '8': '/j/sifr/UBlack.swf' }
    ,css: {
      '.sIFR-root': { 'color': '#990000' }
    }
    
  });*/
  }
/*  else {
  
    sIFR.replace({
    selector: 'h1, h2'
    ,wmode: 'transparent'
    ,src: { '7': '/j/sifr/U75.swf', '8': '/j/sifr/U75.swf' }
    ,css: {
      '.sIFR-root': { 'color': '#000000' }
    }
    
  });
  
  } */
  
  
  /*sIFR.replace({
    selector: 'h3.sifr'
    ,wmode: 'transparent'
    ,src: { '7': '/j/sifr/UBlack.swf', '8': '/j/sifr/UBlack.swf' }
    ,css: {
      '.sIFR-root': { 'color': '#990000' }
    }
    
  });*/
  
  
}

function setOrder(){
	try{
		var ols= document.getElementById("raceresult").getElementsByTagName("ol");
		if(ols.length>0){
			for(var j=0; j<ols.length; j++){
				var lis = ols[j].getElementsByTagName("li");
				for(var i=0; i<lis.length; i++){
					var textValues = lis[i].firstChild.nodeValue.split("(");
					lis[i].firstChild.nodeValue = textValues[0];
					var num = i+1;
					var newSpan = document.createElement("span");
					newSpan.appendChild(document.createTextNode(num.toString()));
					newSpan.id= "top"+num;
					lis[i].insertBefore(newSpan,lis[i].firstChild);
					newSpan = document.createElement("span");
					newSpan.appendChild(document.createTextNode("("+textValues[1]));
					newSpan.className= "topnum";
					lis[i].appendChild(newSpan);
				}
			 }
		}
		if(document.getElementById("raceresult").getElementsByTagName("table").length>0){
			var ths = document.getElementById("raceresult").getElementsByTagName("table")[0].getElementsByTagName("tbody")[0].getElementsByTagName("th");
			for(var i=0; i<ths.length; i++){
				var num = i+1;
				var newSpan = document.createElement("span");
				newSpan.appendChild(document.createTextNode(num.toString()));
				newSpan.id= "point"+num;
				ths[i].replaceChild(newSpan,ths[i].firstChild);
			}
			var tds = document.getElementById("raceresult").getElementsByTagName("table")[0].getElementsByTagName("tbody")[0].getElementsByTagName("td");
			for(var i=0; i<tds.length; i++){
				if(i%2 ==1)
					tds[i].className= "points";
			}
		}
	}catch(e){}
}


function prototypeWindow() {
var windowLinks = document.getElementsByClassName("proto-window");

//alert(windowLinks.length);
	for(i = 0; i < windowLinks.length; i++) {
	addEvent(windowLinks[i],'click',cancelHref,false);
	//addEvent(windowLinks[i], 'click', function() {  sifr.style.display = 'none'; }, false );
   	addEvent(windowLinks[i], 'click', function() { selectVisibility('hidden'); }, false );
   	addEvent(windowLinks[i], 'click', function() { flashVisibility('hidden'); }, false );
	addEvent(windowLinks[i], 'click', function() { Dialog.alert({url: this.getAttribute('href'), options: {method: 'get'}}, {windowParameters: {className: "alphacube", width:630, height:400}, buttonClass: "close-button", okLabel: "Close"}); return false; }, false );
	}
}


function prototypeExternalPopup() {
var windowLinks = document.getElementsByClassName("external");

//alert(windowLinks.length);
	for(i = 0; i < windowLinks.length; i++) {
	addEvent(windowLinks[i],'click',cancelHref,false);
	addEvent(windowLinks[i], 'click', function() {  Popup.open({url:this.href,location:"yes",menubar:"yes",toolbar:"yes",width:640,height:480}); }, false );
	}

windowLinks = document.getElementsByClassName("external2");

//alert(windowLinks.length);
	for(i = 0; i < windowLinks.length; i++) {
	addEvent(windowLinks[i],'click',cancelHref,false);
	addEvent(windowLinks[i], 'click', function() {  Popup.open({url:this.href,location:"yes",menubar:"yes",toolbar:"yes"}); }, false );
	}
	
}


function displayPost(rel,mylink) {
 	if (rel == "ibox") { 
 		Dialog.alert({url: mylink, options: {method: 'get'}}, {windowParameters: {className: "alphacube", width:630, height:400}, buttonClass: "close-button", okLabel: "Close"});

 		if( OS == "Mac"){
 			flashVisibility('hidden');
 			document.body.className += " hideSifr";
 			
 		}else if(browser == "Internet Explorer"){
 			selectVisibility('hidden');
 		}
	/*	if (browser == 'Safari'){
		flashVisibility('hidden');
		selectVisibility('hidden');
		}*/
		Event.stop;
	} else {
	window.open(mylink);
	}
}

function closePost() {
 	if( OS = "Mac"){
 			flashVisibility('visible');
 			document.body.className = document.body.className.replace(" hideSifr","");
 	}else if(browser == "Internet Explorer"){
 			selectVisibility('visible');
 		}
	Dialog.okCallback();
	
}

function selectVisibility(v) {
	var selectElems = document.getElementsByTagName('select');	
	for(var i = 0; i < selectElems.length; ++i) {
		selectElems[i].style.visibility = v;
	}
	
}

function flashVisibility(v) {
	var flashObs = document.getElementsByTagName('object');	
	for(var i = 0; i < flashObs.length; ++i) {
		flashObs[i].style.visibility = v;
	}
	var flashEmbeds = document.getElementsByTagName('embed');	
	for(var i = 0; i < flashEmbeds.length; ++i) {
		flashEmbeds[i].style.visibility = v;
	}

}

// Create Zebra tables
function setTables() {
	var i, j;
	var tables = document.getElementsByTagName('table');
	for (i = 0; i < tables.length; i++) {
		var thisTable = tables[i];
		var rows = thisTable.getElementsByTagName('tr');
		for (j = 0; j < rows.length; j++) {
			var thisRow = rows[j];
			if (j % 2 == 0) {
				thisRow.className="even";
			}
		}
	}
}


// swap crew bios on clint bower page
function showbio (bio) {
	var accrued = $('crew');
	accruedbios = accrued.getElementsByTagName("div");
	
	for(i=0; i < accruedbios.length; i++) {
		if ( bio.href.indexOf(accruedbios[i].id) == -1 ) {
			Element.hide(accruedbios[i]);
			}
		else {
			Element.show(accruedbios[i]);		
			}
		}
	return false;
	}


function switchTab(show, hide){
	var showObj = document.getElementById(show);
	var hideObj = document.getElementById(hide);
	
	showObj.style.display = "block";
	hideObj.style.display = "none";
} 

function openMyspace(){
	myRef = window.open("/inc/pop.jsp?url=http://www.myspace.com/kurtracing",'mywin','left=20,top=20,width=360,height=181,toolbar=0,resizable=0');
}







/* Init Functions - The following functions create new domFunction() objects to
 * perform dom methods as the page loads and elements become available.  These 
 * methods must come after all functions that may be referenced by them.
*/


var initFuncRacing = new domFunction(function() {
		getBrowserInfo();
		flashText();
		prototypeWindow();
		prototypeExternalPopup();
	}, { 'global-footer' : 'id'} );
	
var initResultRacing = new domFunction(function() {
		setOrder();
	}, { 'raceresult' : 'id'} );

var initTablesRacing = new domFunction(function() {
		setTables()
	}, { 'datatable' : 'id' } );