// RBFRS intranet
// JavaScript Document: which determines browser type and fixes vertical display inconsistences in different browsers

function WebVFix(){

	var exclude=1;
	
	// store a lowercase version of the  user agent string containing browser information
	var agt=navigator.userAgent.toLowerCase();
	
	// identify the operating systems
	var win=0;var mac=0;var lin=1;
	if(agt.indexOf('win')!=-1){win=1;lin=0;} //windows
	if(agt.indexOf('mac')!=-1){mac=1;lin=0;} //mac
	var lnx=0;if(lin){lnx=1;} //linux or other
	
	var ice=0;
	
	// variables for browser types
	var browser=""; //use this variable for testing only
	// Internet Explorer
	var ie=0;var ie4=0;var ie5=0;var ie6=0;
	
	var com=0;var dcm;
	// Opera
	var op5=0;var op6=0;var op7=0;
	
	//NetScape
	var ns4=0;var ns6=0;var ns7=0;var 
	
	//Any Gecko browser except Netscape, will identify Mozilla PLUS any non-netscape gecko browser
	mz7=0;
	
	//Konqueror
	var kde=0;
	
	//Safari - will id this inrespective of which other browser it's set to identify itself as
	var saf=0;
	
	//Konqueror
	if(typeof navigator.vendor!="undefined" && navigator.vendor=="KDE"){
		var thisKDE=agt;
		var splitKDE=thisKDE.split("konqueror/");
		var aKDE=splitKDE[1].split("; ");
		var KDEn=parseFloat(aKDE[0]);
		if(KDEn>=2.2){
			kde=1;
			ns6=1;
			exclude=0;
			browser="KDE-NS6";
			}
		}
		
	//webtv	
	else if(agt.indexOf('webtv')!=-1){exclude=1;}
	
	//opera
	else if(typeof window.opera!="undefined"){
		exclude=0;
		if(/opera[\/ ][5]/.test(agt)){op5=1;browser="OPERA5";}
		if(/opera[\/ ][6]/.test(agt)){op6=1;browser="OPERA6";}
		if(/opera[\/ ][7-9]/.test(agt)){op7=1;browser="OPERA7";}
		}
		
	//internet explorer	
	else if(typeof document.all!="undefined"&&!kde){
		exclude=0;
		ie=1;
		browser="IE";
		if(typeof document.getElementById!="undefined"){
			ie5=1;
			browser="IE5";
			if(agt.indexOf("msie 6")!=-1){
				ie6=1;
				browser="IE6";
				dcm=document.compatMode;
				if(dcm!="BackCompat"){com=1;}
				}
			}
		else{ie4=1;}
		}
		
	//netscape - mozilla firefox - safari	
	else if(typeof document.getElementById!="undefined"){
		exclude=0;
		if(agt.indexOf("netscape/6")!=-1||agt.indexOf("netscape6")!=-1){ns6=1;browser="NS6";}
		else if(agt.indexOf("netscape/7")!=-1||agt.indexOf("netscape7")!=-1){ns6=1;ns7=1;browser="NS6-7";}
		else if(agt.indexOf("gecko")!=-1){ns6=1;mz7=1;browser="NS6-MOZILLA";}
		if(agt.indexOf("safari")!=-1 || (typeof document.childNodes!="undefined" && typeof document.all=="undefined" && typeof navigator.taintEnabled=="undefined")){mz7=0;ns6=1;saf=1;browser="NS6-SAFARI";}
		}
		
	//netscape - undefined	
	else if((agt.indexOf('mozilla')!=-1)&&(parseInt(navigator.appVersion)>=4)){
		exclude=0;
		ns4=1;
		browser="NS4-MOZILLA";
		if(typeof navigator.mimeTypes['*']=="undefined"){
			exclude=1;
			ns4=0;
			browser="UNDEFINED";
			}
		}
		
	//undefined	
	if(agt.indexOf('escape')!=-1){exclude=1;ns4=0;}
	if(typeof navigator.__ice_version!="undefined"){exclude=1;ie4=0;browser="UNDEFINED";}
	
	//---------------------------------------------------------------------------------------------------------------------
	//---------------------------------------------------------------------------------------------------------------------
	//---------------------------------------------------------------------------------------------------------------------
	
	/* use the browser version to execute specific code */
	
//alert(browser);

	if (saf == 0)//if not Safari browser
	{
		// write the content
		WriteVFix_norm(browser);		
	}
	
	if (saf == 1)//if Safari browser
	{
		// write the content		
		WriteVFix_safari(browser);
	}
	
	if ((ns6==1&&mz7== 1) || (ns6==1&&ns4==1) || ns6==1 || ns4==1)//if netscape / mozilla firefox
	{
		// write the content		
		WriteVFix_firefox(browser);
	}	
	

}//end function BrowserDef()

function WriteVFix_norm(string){
	// define content to write for the vertical fix
	var SpacerContent = "<div style='position:relative; height:5px;'>";
	//SpacerContent += string; //for testing only	
	SpacerContent += "</div>";
	// end content items
	// write the content
	document.write(SpacerContent);
	// close the output stream to ensure images etc appear on the page
	document.close();	
	return SpacerContent;	
}

function WriteVFix_safari(string){
	// define content to write for the vertical fix
	var SpacerContent = "<div style='position:relative; height:18px;'>";
	//SpacerContent += string; //for testing only		
	SpacerContent += "</div>";
	// end content items
	// write the content
	document.write(SpacerContent);
	// close the output stream to ensure images etc appear on the page
	document.close();
	return SpacerContent;
}

function WriteVFix_firefox(string){
	// define content to write for the vertical fix
	var SpacerContent = "<div style='position:relative; height:18px;'>";
	//SpacerContent += string; //for testing only		
	SpacerContent += "</div>";
	// end content items
	// write the content
	document.write(SpacerContent);
	// close the output stream to ensure images etc appear on the page
	document.close();
	return SpacerContent;
}

// end browser specific stuff

