﻿//v1.7
// Flash Player Version Detection
// Detect Client Browser type
// Copyright 2005-2007 Adobe Systems Incorporated.  All rights reserved.
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;

function ControlVersion()
{
	var version;
	var axo;
	var e;

	// NOTE : new ActiveXObject(strFoo) throws an exception if strFoo isn't in the registry

	try {
		// version will be set for 7.X or greater players
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	} catch (e) {
	}

	if (!version)
	{
		try {
			// version will be set for 6.X players only
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			
			// installed player is some revision of 6.0
			// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
			// so we have to be careful. 
			
			// default to the first public version
			version = "WIN 6,0,21,0";

			// throws if AllowScripAccess does not exist (introduced in 6.0r47)		
			axo.AllowScriptAccess = "always";

			// safe to call for 6.0r47 or greater
			version = axo.GetVariable("$version");

		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 4.X or 5.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 3.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		} catch (e) {
		}
	}

	if (!version)
	{
		try {
			// version will be set for 2.X player
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		} catch (e) {
			version = -1;
		}
	}
	
	return version;
}

// JavaScript helper required to detect Flash Player PlugIn version information
function GetSwfVer(){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	var flashVer = -1;
	
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];

        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}

function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '';
  if (isIE && isWin && !isOpera)
  {
    str += '<object ';
    for (var i in objAttrs)
    {
      str += i + '="' + objAttrs[i] + '" ';
    }
    str += '>';
    for (var i in params)
    {
      str += '<param name="' + i + '" value="' + params[i] + '" /> ';
    }
    str += '</object>';
  }
  else
  {
    str += '<embed ';
    for (var i in embedAttrs)
    {
      str += i + '="' + embedAttrs[i] + '" ';
    }
    str += '> </embed>';
  }

  document.write(str);
}

function AC_FL_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
      case "id":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

//Javascript Fading Scroller opg 13426 JBC 01-02-2010 START
var delay = 8000; //set delay between message change (in miliseconds)
var maxsteps=30; // number of steps to take to change from start color to endcolor
var stepdelay=40; // time in miliseconds of a single step
//**Note: maxsteps*stepdelay will be total time in miliseconds of fading effect
var startcolor= new Array(255,255,255); // start color (red, green, blue)
var endcolor=new Array(60,74,53); // end color (red, green, blue)

var fcontent=new Array();
begintag='<div style="font: .75em Arial, Helvetica, Verdana, sans-serif; padding: 0px;">'; //set opening tag, such as font declarations
fcontent[0]="<b>Stibo Graphic A/S</b><br>\"AD HOC samler trådene og vi er rigtigt godt tilfredse.\"<br><br>Kristian Gamborg, Systemmanager";
fcontent[1]="<b>SEAS NVE</b><br>\"Det er en stor tilfredsstillelse i min hverdag, da jeg kan gøre tingene hurtigt og servicere mine kunder. Det har været nemt at lære de værktøjsansvarlige op i systemet.\"<br><br>Asbjørn Mikkelsen, EL-Montør";
fcontent[2]="<b>AS3 Companies</b><br>\"AS3 har brugt AD HOC IT i 6 år og det fungerer upåklageligt for os.\"<br><br>Michael Mather, IT chef";
fcontent[3]="<b>Danmarks Idræts-Forbund</b><br>\"Inden vi tog værktøjet i anvendelse, var der en vis skepsis hos brugerne, fordi de var nervøse for, at et it-system skulle skabe afstand til IT-Service og dermed gøre kontakten endnu mere besværlig, end den allerede var. Trods skepsis hos brugerne gik ibrugtagning smertefrit og brugerne blev hurtigt glade for systemet.\"<br><br>Peter Christian Andersen, IT chef ";
fcontent[4]="<b>Holbæk Kommunes IT-afdeling</b><br>\"Vi anvender nu AD HOC på 9. år. Det fungerer enkelt og effektivt. Brugernes problemer bliver sluset korrekt og hurtigt ind til de rigtige it-medarbejdere og teams i it-afdelingen. Statistik og sagsopfølgning er enkelt og logisk – Både for IT-medarbejdere og brugere.\"<br><br>Jørgen Bærentsen, Driftchef";
fcontent[5]="<b>Danmarks Idræts-Forbund</b><br>\”Både brugere og vores helpdesk-team er glade for AD HOC systemet, fordi vi har fået mulighed for et godt overblik, prioritering af opgaverne og på den måde mere styr på de enkelte opgaver.\"<br><br>Peter Christian Andersen, IT chef";
fcontent[6]="<b>Solrød kommune</b><br>\"Jeg har anvendt mange forskellige systemer, men AD HOC IT er det mest brugervenlige\"<br><br>Lars Kongsmark, IT-leder";
fcontent[7]="<b>Idrættens Hus</b><br>\"AD HOC FM er nemt at anvende og giver et godt  og samlet overblik over afdelingens arbejdsbyrde og et godt grundlag for opfølgning\"<br><br>Ena Christiansen, Afdelingschef";
//fcontent[7]="<b>Skandia A/S</b><br>\"AD HOC IT er et super godt produkt, som er nemt at anvende for alle.\"<br><br>Morten Hald Nielsen, IT-Chef";
fcontent[8]="<b>Det Danske filminstitut</b><br>\"Jeg er super glad for systemet, jeg kan ikke leve uden AD HOC.\"<br><br>Kent Pedersen, IT - supporter";
fcontent[9]="<b>Easy-Print</b><br>\"Det er nemt og hurtigt at generere statistikker ud fra vores data i AD HOC.\"<br><br>Steen Teglstrup, TTO Product Specialist";
fcontent[10]="<b>Erhvervsskolen Nordsjælland</b><br>\"Vi har med AD HOC fået styr på håndteringen af vores opgaver og dokumentationen er på plads. De enkelte medarbejdere har fået en lettere hverdag, og vi har overblik over de opgaver, der ligger i afdelingen og hvem der er ansvarlige for disse. Det er en solstrålehistorie.\"<br><br>Ib Sørensen, Teknisk chef";
fcontent[11]="<b>Easy-Print</b><br>\"AD HOC gør hvad det skal, og vi får det vi ønsker os.\"<br><br>John Larsen, TTO Product Specialist";
fcontent[12]="<b>Niels Brock</b><br>\"Der er ingen undskyldning for ikke at lægge en sag i AD HOC. Det findes ikke lettere.\"<br><br>Gitte Ahlfeldt";
fcontent[13]="<b>DSV Road A/S</b><br>\"Vi er glade for det nye styringsværktøj. Det er en stor hjælp og giver et bedre overblik i hverdagen\"<br><br>Michael Jørgensen, Teknisk chef";
fcontent[14]="<b>DSV Road A/S</b><br>\"Alle viceværterne kan følge med i, hvor i processen de enkelte sager er, og hvor meget tid der bruges på dem.\"<br><br>Drifts- og Administrationschef, Thomas Haumann Christensen";
fcontent[15]="<b>DSV Road A/S</b><br>\"Jeg synes, det er et fint værktøj, der vinder mere og mere, efterhånden som kunderne bliver bedre til at oprette opgaver.\"<br><br>Teknisk Servicemedarbejder, Peter Henriksen";
fcontent[14]="<b>JYSK Nordic</b><br>\"Yesterday the big day finally arrived. JYSK went live with TOPdesk in Denmark and Poland… and it was a huge success!\"<br><br>Winnie Ahrensberg, IT Project Manager";
fcontent[15]="<b>JYSK Nordic</b><br>\"Everything went just as we planned -  so all in all a very positive experience\"<br><br>Winnie Ahrensberg, IT Project Manager";
closetag='</div>';

var fwidth='200px'; //set scroller width
var fheight='150px'; //set scroller height

var fadelinks=1;  //should links inside scroller content also fade like text? 0 for no, 1 for yes.

///No need to edit below this line/////////////////


var ie4=document.all&&!document.getElementById;
var DOM2=document.getElementById;
var faderdelay=0;
var index=0;

function changecontent(){
  if (index>=fcontent.length)
    index=0
  if (DOM2){
    document.getElementById("fscroller").style.color="rgb("+startcolor[0]+", "+startcolor[1]+", "+startcolor[2]+")"
    document.getElementById("fscroller").innerHTML=begintag+fcontent[index]+closetag
    if (fadelinks)
      linkcolorchange(1);
    colorfade(1, 15);
  }
  else if (ie4)
    document.all.fscroller.innerHTML=begintag+fcontent[index]+closetag;
  index++
}

function linkcolorchange(step){
  var obj=document.getElementById("fscroller").getElementsByTagName("A");
  if (obj.length>0){
    for (i=0;i<obj.length;i++)
      obj[i].style.color=getstepcolor(step);
  }
}

var fadecounter;
function colorfade(step) {
  if(step<=maxsteps) {	
    document.getElementById("fscroller").style.color=getstepcolor(step);
    if (fadelinks)
      linkcolorchange(step);
    step++;
    fadecounter=setTimeout("colorfade("+step+")",stepdelay);
  }else{
    clearTimeout(fadecounter);
    document.getElementById("fscroller").style.color="rgb("+endcolor[0]+", "+endcolor[1]+", "+endcolor[2]+")";
    setTimeout("changecontent()", delay);
	
  }   
}

function getstepcolor(step) {
  var diff
  var newcolor=new Array(3);
  for(var i=0;i<3;i++) {
    diff = (startcolor[i]-endcolor[i]);
    if(diff > 0) {
      newcolor[i] = startcolor[i]-(Math.round((diff/maxsteps))*step);
    } else {
      newcolor[i] = startcolor[i]+(Math.round((Math.abs(diff)/maxsteps))*step);
    }
  }
  return ("rgb(" + newcolor[0] + ", " + newcolor[1] + ", " + newcolor[2] + ")");
}
//Javascript Fading Scroller opg 13426 JBC 01-02-2010 END
