var agt=navigator.userAgent.toLowerCase();

function findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function imgSwap() { //v3.0
  var i,j=0,x,a=imgSwap.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function imgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function imgPreload() { //v3.0
 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
   var i,j=d.MM_p.length,a=imgPreload.arguments; for(i=0; i<a.length; i++)
   if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function menuPreload() { //v3.0
 var images=new Array(); 

   images[1]=new Image(); images[1].src="http://www.ampli2de.com/img/menu/sep1_on.gif";
   images[11]=new Image(); images[11].src="http://www.ampli2de.com/img/menu/sep1_off.gif";
   images[2]=new Image(); images[2].src="http://www.ampli2de.com/img/menu/sep2_on.gif";
   images[12]=new Image(); images[12].src="http://www.ampli2de.com/img/menu/sep2_off.gif";
   images[3]=new Image(); images[3].src="http://www.ampli2de.com/img/menu/sep3_on.gif";
   images[13]=new Image(); images[13].src="http://www.ampli2de.com/img/menu/sep3_off.gif";
   images[4]=new Image(); images[4].src="http://www.ampli2de.com/img/menu/sep4_on.gif";
   images[14]=new Image(); images[14].src="http://www.ampli2de.com/img/menu/sep4_off.gif";
   images[5]=new Image(); images[5].src="http://www.ampli2de.com/img/menu/sep5_on.gif";
   images[15]=new Image(); images[15].src="http://www.ampli2de.com/img/menu/sep5_off.gif";
   images[6]=new Image(); images[6].src="http://www.ampli2de.com/img/menu/sep6_on.gif";
   images[16]=new Image(); images[16].src="http://www.ampli2de.com/img/menu/sep6_off.gif";

   images[21]=new Image(); images[21].src="http://www.ampli2de.com/img/menu/menu1_on.gif";
   images[31]=new Image(); images[31].src="http://www.ampli2de.com/img/menu/menu1_off.gif";
   images[22]=new Image(); images[22].src="http://www.ampli2de.com/img/menu/menu2_on.gif";
   images[32]=new Image(); images[32].src="http://www.ampli2de.com/img/menu/menu2_off.gif";
   images[23]=new Image(); images[23].src="http://www.ampli2de.com/img/menu/menu3_on.gif";
   images[33]=new Image(); images[33].src="http://www.ampli2de.com/img/menu/menu3_off.gif";
   images[24]=new Image(); images[24].src="http://www.ampli2de.com/img/menu/menu4_on.gif";
   images[34]=new Image(); images[34].src="http://www.ampli2de.com/img/menu/menu4_off.gif";
   images[25]=new Image(); images[25].src="http://www.ampli2de.com/img/menu/menu5_on.gif";
   images[35]=new Image(); images[35].src="http://www.ampli2de.com/img/menu/menu5_off.gif";
   images[26]=new Image(); images[26].src="http://www.ampli2de.com/img/menu/menu6_on.gif";
   images[36]=new Image(); images[36].src="http://www.ampli2de.com/img/menu/menu6_off.gif";

   images[41]=new Image(); images[41].src="http://www.ampli2de.com/img/menu/sepStart1_on.gif";
   images[42]=new Image(); images[42].src="http://www.ampli2de.com/img/menu/sepStart2_on.gif";
   images[43]=new Image(); images[43].src="http://www.ampli2de.com/img/menu/sepStart3_on.gif";
   images[44]=new Image(); images[44].src="http://www.ampli2de.com/img/menu/sepStart5_on.gif";
   images[45]=new Image(); images[45].src="http://www.ampli2de.com/img/menu/spacerMenu.gif";
   images[46]=new Image(); images[46].src="http://www.ampli2de.com/img/menu/end_on.gif";
   images[47]=new Image(); images[47].src="http://www.ampli2de.com/img/menu/end_off.gif";

}


function inmenuPreload() { //v3.0
 var images=new Array(); 

   images[1]=new Image(); images[1].src="http://www.ampli2de.com/in/menu/sep1_on.gif";
   images[11]=new Image(); images[11].src="http://www.ampli2de.com/in/menu/sep1_off.gif";
   images[2]=new Image(); images[2].src="http://www.ampli2de.com/in/menu/sep2_on.gif";
   images[12]=new Image(); images[12].src="http://www.ampli2de.com/in/menu/sep2_off.gif";
   images[3]=new Image(); images[3].src="http://www.ampli2de.com/in/menu/sep3_on.gif";
   images[13]=new Image(); images[13].src="http://www.ampli2de.com/in/menu/sep3_off.gif";
   images[4]=new Image(); images[4].src="http://www.ampli2de.com/in/menu/sep4_on.gif";
   images[14]=new Image(); images[14].src="http://www.ampli2de.com/in/menu/sep4_off.gif";
   images[5]=new Image(); images[5].src="http://www.ampli2de.com/in/menu/sep5_on.gif";
   images[15]=new Image(); images[15].src="http://www.ampli2de.com/in/menu/sep5_off.gif";
   images[6]=new Image(); images[6].src="http://www.ampli2de.com/in/menu/sep6_on.gif";
   images[16]=new Image(); images[16].src="http://www.ampli2de.com/in/menu/sep6_off.gif";
   images[7]=new Image(); images[7].src="http://www.ampli2de.com/in/menu/sep7_on.gif";
   images[17]=new Image(); images[17].src="http://www.ampli2de.com/in/menu/sep7_off.gif";

   images[21]=new Image(); images[21].src="http://www.ampli2de.com/in/menu/menu1_on.gif";
   images[31]=new Image(); images[31].src="http://www.ampli2de.com/in/menu/menu1_off.gif";
   images[22]=new Image(); images[22].src="http://www.ampli2de.com/in/menu/menu2_on.gif";
   images[32]=new Image(); images[32].src="http://www.ampli2de.com/in/menu/menu2_off.gif";
   images[23]=new Image(); images[23].src="http://www.ampli2de.com/in/menu/menu3_on.gif";
   images[33]=new Image(); images[33].src="http://www.ampli2de.com/in/menu/menu3_off.gif";
   images[24]=new Image(); images[24].src="http://www.ampli2de.com/in/menu/menu4_on.gif";
   images[34]=new Image(); images[34].src="http://www.ampli2de.com/in/menu/menu4_off.gif";
   images[25]=new Image(); images[25].src="http://www.ampli2de.com/in/menu/menu5_on.gif";
   images[35]=new Image(); images[35].src="http://www.ampli2de.com/in/menu/menu5_off.gif";
   images[26]=new Image(); images[26].src="http://www.ampli2de.com/in/menu/menu6_on.gif";
   images[36]=new Image(); images[36].src="http://www.ampli2de.com/in/menu/menu6_off.gif";
   images[27]=new Image(); images[27].src="http://www.ampli2de.com/in/menu/menu7_on.gif";
   images[37]=new Image(); images[37].src="http://www.ampli2de.com/in/menu/menu7_off.gif";

   images[41]=new Image(); images[41].src="http://www.ampli2de.com/in/menu/sepStart1_on.gif";
   images[42]=new Image(); images[42].src="http://www.ampli2de.com/in/menu/sepStart2_on.gif";
   images[43]=new Image(); images[43].src="http://www.ampli2de.com/in/menu/sepStart3_on.gif";
   images[44]=new Image(); images[43].src="http://www.ampli2de.com/in/menu/sepStart4_on.gif";
   images[46]=new Image(); images[44].src="http://www.ampli2de.com/in/menu/sepStart6_on.gif";
   images[47]=new Image(); images[46].src="http://www.ampli2de.com/in/menu/spacerMenu.gif";
   images[48]=new Image(); images[47].src="http://www.ampli2de.com/in/menu/end_on.gif";
   images[49]=new Image(); images[48].src="http://www.ampli2de.com/in/menu/end_off.gif";

}


function resetMenu(n) {
	
   var i, min, max, id, cs, layerName, caseStudy;
   id = n;
   cs = n; 
   
   if (n < 5) {min=1; max=5;}
   else {min=5; max=7;}
   
   for (i=min; i<max; i++)
   {
   imgSwap('menu'+i,'','img/menu/menu'+i+'_off.gif',1);
   imgSwap('sep'+i,'','img/menu/sep'+i+'_off.gif',1);
   }

   if (n!=7)
   {
   imgSwap('menu'+n,'','img/menu/menu'+n+'_on.gif',1);
   imgSwap('sep'+n,'','img/menu/sep'+n+'_on.gif',1);
   }

   if ((n!=1)&&(n!=5)&&(n!=7)) {n--; imgSwap('sep'+n,'','img/menu/sepStart'+n+'_on.gif',1);}
   layerName = "front";
   caseStudy = "cs";
   showLayer(layerName, id);
   if (cs < 5) { showLayer(caseStudy, cs); }
   
}



function resetInMenu(n) {
	
   var i, min, max, id, cs, layerName, caseStudy;
   id = n;
   cs = n; 
   
   if (n < 6) {min=1; max=6;}
   else {min=6; max=8;}
   
   for (i=min; i<max; i++)
   {
   imgSwap('menu'+i,'','../in/menu/menu'+i+'_off.gif',1);
   imgSwap('sep'+i,'','../in/menu/sep'+i+'_off.gif',1);
   }

   imgSwap('menu'+n,'','../in/menu/menu'+n+'_on.gif',1);
   imgSwap('sep'+n,'','../in/menu/sep'+n+'_on.gif',1);
   
   if ((n!=1)&&(n!=6)) {n--; imgSwap('sep'+n,'','../in/menu/sepStart'+n+'_on.gif',1);}
   layerName = "front";
   showInLayer(layerName, id);

   
}


function showLayer(name, n) {  
		
   var elem, vis, i, min, max, id;
   if (n < 5) {min=1; max=5;}
   else {min=5; max=8;}
   
   for (i=min; i<max; i++)
   {
   id = name+i;  
   if( document.getElementById ) // this is the way the standards work    
   elem = document.getElementById( id );  
   else if( document.all ) // this is the way old msie versions work      
   elem = document.all[id];  
   else if( document.layers ) // this is the way nn4 works    
   elem = document.layers[id];  
   vis = elem.style;  // if the style.display value is blank we try to figure it out here
     
   //if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)    
   //{ vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none'; } 
   //vis.display = (vis.display==''||vis.display=='block')?'none':'block';
   if (i==n) { vis.display = 'block'; } else { vis.display = 'none'; }
   }
}


function showInLayer(name, n) {  
		
   var elem, vis, i, min, max, id;
   if (n < 6) {min=1; max=6;}
   else {min=6; max=8;}
   
   for (i=min; i<max; i++)
   {
   id = name+i;  
   if( document.getElementById ) // this is the way the standards work    
   elem = document.getElementById( id );  
   else if( document.all ) // this is the way old msie versions work      
   elem = document.all[id];  
   else if( document.layers ) // this is the way nn4 works    
   elem = document.layers[id];  
   vis = elem.style;  // if the style.display value is blank we try to figure it out here
     
   //if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)    
   //{ vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none'; } 
   //vis.display = (vis.display==''||vis.display=='block')?'none':'block';
   if (i==n) { vis.display = 'block'; } else { vis.display = 'none'; }
   }
}

function showGenericLayer(name, n, min, max) {  
		
   var elem, vis, i, id;
   
   for (i=min; i<max; i++)
   {
   id = name+i;  
   if( document.getElementById ) // this is the way the standards work    
   elem = document.getElementById( id );  
   else if( document.all ) // this is the way old msie versions work      
   elem = document.all[id];  
   else if( document.layers ) // this is the way nn4 works    
   elem = document.layers[id];  
   vis = elem.style;  // if the style.display value is blank we try to figure it out here
   if (i==n) { vis.display = 'block'; } else { vis.display = 'none'; }
   }
}


function unityFlashObject(id, movie, width, height, flashVersion) {
	//Default Flash version
	if (typeof(flashVersion) == 'undefined') {
		flashVersion = '8,0,0,0';
	}

	//Create object
	var obj = new unityObject(id, 
		'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000', 
		location.protocol + '//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + flashVersion, 
		width, height, 
		'application/x-shockwave-flash', 
		location.protocol + '//www.macromedia.com/go/getflashplayer'
		);

	//Get default BASE from movie URL	
	var base = movie.substring(0, movie.lastIndexOf('/') + 1);
	
	//Add default parameters
	obj.AddParam('movie', movie, true, false); //not used in EMBED
	obj.AddParam('BASE', base);
	obj.AddParam('quality', 'high');
	obj.AddParam('allowScriptAccess', 'sameDomain');
	obj.AddParam('bgcolor', '#ffffff');
	obj.AddParam('wmode', 'transparent');
	// for embedding
	obj.AddParam('src', movie, false);
	obj.AddParam('swliveconnect', 'true', false);

	return obj;
}

// Basic javascript object used to create an html OBJECT
function unityObject(id, classid, codebase, width, height, type, pluginspage) {
	var obj = this;
	
	//Set properties
	obj.id = id;
	obj.width = width;
	obj.height = height;
	obj.classid = classid;
	obj.codebase = codebase; 
	obj.type = type; //used for EMBED tag
	obj.pluginspage = pluginspage; //used for EMBED tag

	//Attach methods
	obj.AddAttribute = unityObjectAddAttribute;
	obj.DeleteAttribute = unityObjectDeleteAttribute;
	obj.AddParam = unityObjectAddParam;
	obj.DeleteParam = unityObjectDeleteParam;
	obj.GenerateHtml = unityObjectGenerateHtml;
	obj.Write = unityObjectWrite;
	obj.Insert = unityObjectInsert;
	
	return obj;
}

// Generate the Html to be inserted
function unityObjectGenerateHtml() {
	var obj = this;

	var attrs = '';
	var embedAttrs = '';
	var params = '';
	var embedParams = '';
	
	for (prop in obj) {
		var p = obj[prop];
		
		if (typeof(p) != 'undefined' && p != null) {
			var index = prop.indexOf('_');
			var type = prop.substring(0, index);
				
			switch (type) {
				case 'attribute':
					if (p.useInEmbed) {
						attrs += ' ' + prop.substring(10) + '="' + p.value +'"';
					}
					if (p.useInObject) {
						embedAttrs += ' ' + prop.substring(10) + '="' + p.value +'"';
					}
					break;
					
				case 'param':
					if (p.useInEmbed) {
						embedParams += ' ' + prop.substring(6) + '="' + p.value +'"';
					}
					if (p.useInObject) {
						params += '<param name="' + prop.substring(6) + '" value="' + p.value + '" />\n';
					}
					break;
			}
		}
	}
	
	//Build EMBED tag. Note: all params will be output as attributes
	var embedHtml = 
		'<embed'
		+ ' name="' + obj.id + '"'
		+ ' type="' + obj.type + '"'
		+ ((typeof(obj.width) != 'undefined') ? ' width="' + obj.width + '"' : '')
		+ ((typeof(obj.height) != 'undefined') ? ' height="' + obj.height + '"' : '')
		+ ((typeof(obj.pluginspage) != 'undefined') ? ' pluginspage="' + obj.pluginspage + '"' : '')
		+ embedAttrs
		+ embedParams
		+ '></embed>\n';
		
	//Build OBJECT tag, including EMBED tag from above
	var objectHtml = 
		'<object'
		+ ' id="' + obj.id + '"'
		+ ' classid="' + obj.classid + '"'
		+ ((typeof(obj.codebase) != 'undefined') ? ' codebase="' + obj.codebase + '"' : '')
		+ ((typeof(obj.width) != 'undefined') ? ' width="' + obj.width + '"' : '')
		+ ((typeof(obj.height) != 'undefined') ? ' height="' + obj.height + '"' : '')
		+ attrs
		+ '>\n'
		+ params
		+ embedHtml
		+ '</object>';

	//Save generated HTML
	obj.generatedHtml = objectHtml;
	
	return objectHtml;
}

// Insert HTML into document under given element id
// The restyleHost parameter defaults to true and need not be supplied
function unityObjectInsert(hostId, restyleHost) {
	var obj = this;
	
	//Default replacing behaviour
	if (typeof(restyleHost) == 'undefined') {
		restyleHost = true;
	}
	
	var hostElement = document.getElementById(hostId);
	
	//Save host element
	obj.hostElement = hostElement;
	
	if (hostElement) {
		//Build output Html
		var objectHtml = obj.GenerateHtml();
		
		//Insert html into document at host element 
		hostElement.innerHTML = objectHtml;

		//Resize host element to fit
		if (restyleHost) {
			hostElement.style.width = obj.width + 'px';
			hostElement.style.height = obj.height + 'px';
		}
	}
}

// Insert HTML into document under given element id
// The restyleHost parameter defaults to true and need not be supplied
function unityObjectWrite() {
	var obj = this;
	
	//Build output Html
	var objectHtml = obj.GenerateHtml();
	
	//Insert html into document
	document.write(objectHtml);
}

// Add attribute method
// The useInObject and useInEmbed parameters both default to true and need not be supplied
function unityObjectAddAttribute(name, value, useInObject, useInEmbed) {
	if (typeof(useInEmbed) == 'undefined') {
		useInEmbed = true;
	}
	if (typeof(useInObject) == 'undefined') {
		useInObject = true;
	}
	
	this['attribute_' + name] = {
		value: value, 
		useInEmbed: useInEmbed, 
		useInObject: useInObject
		};
}

// Delete attribute method
function unityObjectDeleteAttribute(name) {
	delete this['attribute_' + name];	
}

// Add param method
// The useInObject and useInEmbed parameters both default to true and need not be supplied
function unityObjectAddParam(name, value, useInObject, useInEmbed) {
	if (typeof(useInEmbed) == 'undefined') {
		useInEmbed = true;
	}
	if (typeof(useInObject) == 'undefined') {
		useInObject = true;
	}

	this['param_' + name] = {
		value: value, 
		useInEmbed: useInEmbed, 
		useInObject: useInObject
		};
}

// Delete param method
function unityObjectDeleteParam(name) {
	delete this['param_' + name];	
}

function requestPage(pageNo) {
requestContent('A2Dhome', pageNo);
pageNo = pageNo+".r";
requestContent('rightContainer', pageNo);
}

function requestContent(layerName, pageNo) {

var request = false;

try {
request = new XMLHttpRequest();
} catch (e) {
try{
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
alert("Unable to complete your request.");
return false;
}
}
}

request.onreadystatechange = function() {
if(request.readyState == 4) {
if(request.status == 200) {
document.getElementById(layerName).innerHTML = request.responseText;
}
}
}

request.open("GET", "include.php?fileID=" + pageNo, true);
request.send(null); 
}

function viewLogo(client, img)
{
document.getElementById("clientDiv").innerHTML = client;
if (document.images) 
	document.preview.src = img;
}

function relative_time(time_value) {
	  var values = time_value.split(" ");
	  time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
	  var parsed_date = Date.parse(time_value);
	  var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
	  var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
	  delta = delta + (relative_to.getTimezoneOffset() * 60);
	  
	  var r = '';
	  if (delta < 60) {
	    r = 'a minute ago';
	  } else if(delta < 120) {
	    r = 'couple of minutes ago';
	  } else if(delta < (45*60)) {
	    r = (parseInt(delta / 60)).toString() + ' minutes ago';
	  } else if(delta < (90*60)) {
	    r = 'an hour ago';
	  } else if(delta < (24*60*60)) {
	    r = '' + (parseInt(delta / 3600)).toString() + ' hours ago';
	  } else if(delta < (48*60*60)) {
	    r = '1 day ago';
	  } else {
	    r = (parseInt(delta / 86400)).toString() + ' days ago';
	  }
	  
	  return r;
}
function twitter_callback ()
{
	return true;
}
