﻿/*****************************************
  JS framework
/*****************************************/

// Tömmer formfält när dom markeras.Tex. ordert sök försvinner när man klickar i en textbox
function clearField(fieldName,fieldText) {
  if (!document.getElementById) return false;
  var field = document.getElementById(fieldName);
    field.onfocus = function() {
      if (field.value == fieldText) {
      field.value ="";
      }
    }
}

//Gömmer element
function hideDocumentElement(id) {
    var el = document.getElementById(id);
    if (el) el.style.display = 'none';
}

//Visar element
function showDocumentElement(id) {
    var el = document.getElementById(id);
    if (el) el.style.display = 'block';
}

// The $-method is a shortcut to get an element by id
function $(elementId)
{
	return document.getElementById(elementId);
}

// The double $-method is a shortcut to get elements by tag name.
function $$(tagName)
{
	return document.getElementsByTagName(tagName);
}
/* Flash scripts */

function RenderSwf(swfFile, width, height, fallback, bgcolor, transparent, name, hideMenu) {
	
	// Checks if flash is installed.
	if (HasFlash() == true) {
		RenderSwfMovie(swfFile, width, height, fallback, bgcolor, transparent, name, hideMenu);
	}
	else {
		document.write("<br/>This content requires Macromedia Flash - <a href='http://www.macromedia.com/go/getflash/'>Get flash</a>")
	}		
}	

function HasFlash() 
{
	// Detect Client Browser type
	var isIE	= (navigator.appVersion.indexOf('MSIE') != -1) ? true : false;
	var isWin	= (navigator.appVersion.toLowerCase().indexOf('win') != -1) ? true : false;
	var isOpera = (navigator.userAgent.indexOf('Opera') != -1) ? true : false;
	
	// The version of Flash and JavaScript required
	var requiredMajorVersion = 7;
	var requiredMinorVersion = 0;
	var requiredRevision = 0;
	var jsVersion = 1.1;

	var reqVer = parseFloat(requiredMajorVersion + '.' + requiredRevision);
   	
	// Loop backwards through the versions until we find the newest version
	for(var i = 25; i > 0; i--) 
	{	
		var versionStr = '-1';
		if(isIE && isWin && !isOpera){ versionStr = VBGetSwfVer(i); }
		else { versionStr = JSGetSwfVer(i); }
		
		if(versionStr != '-1') 
		{
			var versionArray;
			if(isIE && isWin && !isOpera) 
			{
				var tempArray	= versionStr.split(' ');
				var tempString	= tempArray[1];
				versionArray	= tempString.split(',');				
			} 
			else 
			{
				versionArray	= versionStr.split('.');
			}
			var versionMajor	= versionArray[0];
			var versionMinor	= versionArray[1];
			var versionRevision	= versionArray[2];
			
			var versionString	= versionMajor + '.' + versionRevision;   // 7.0r24 == 7.24
			var versionNum		= parseFloat(versionString);
			
    		// is the major.revision >= requested major.revision AND the minor version >= requested minor
			if ( (versionMajor > requiredMajorVersion) && (versionNum >= reqVer) ) 
			{
				return true;
			} 
			else 
			{
				return ((versionNum >= reqVer && versionMinor >= requiredMinorVersion) ? true : false );	
			}
		}
	}
	
	// No matches, flash not found
	return false;
}

	function JSGetSwfVer(i){
		// NS/Opera version >= 3 check for Flash plugin in plugin array
		if(navigator.plugins != null && navigator.plugins.length > 0) 
		{
			if(navigator.plugins['Shockwave Flash']) 
			{
				var flashDescription = navigator.plugins["Shockwave Flash"].description;
				var descArray = flashDescription.split(' ');
				var tempArrayMajor = descArray[2].split('.');
				var versionMajor = tempArrayMajor[0];
				var versionMinor = tempArrayMajor[1];
				
				var tempArrayMinor;
				if(descArray[3] != ''){ tempArrayMinor = descArray[3].split('r'); } 
				else{ tempArrayMinor = descArray[4].split('r'); }
				
				var versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
				return versionMajor + '.' + versionMinor + '.' + versionRevision;
      		}
		}
		
		return '-1'; // Can't detect in all other cases
	}
	

