var				delta_bg = -1;

function fnReplayGif(image_name, image_source) {
	document.images[image_name].src = image_source;
}  

function fnBackground(obj) { 
	if ((obj.opacity + delta_bg > 75) || (obj.opacity + delta_bg < 0))
	{
		delta_bg = -delta_bg 
	}
	obj.opacity += delta_bg
}

function fnMinTopLeft(oNode, v, h) {
	if ((v >= 0) && (oNode.OffsetTop < v)) {
		oNode.style.top = v;
	}
	
	if ((h >= 0) && (oNode.style.left < h)) {
		oNode.style.left = h;
	}
}

function fnCenter(oMover, oNode, v, h){
	var		oParent = oNode.parentElement,
			value;
	
	if (oMover == null) {
		oMover = oNode;
	}
	
	if (v >= 0) {
		value = (oParent.offsetHeight / 2) - (oNode.offsetHeight / 2);
		
		if (value < v) {
			value = v;
		}
		oMover.style.top = value;
	}
	
	if (h >= 0) {
		value = (oParent.offsetWidth / 2) - (oNode.offsetWidth / 2);
		
		if (value < h) {
			value = h;
		}		
		oMover.style.left = value;
	}
}

function fnTransition()
{
	var					jadd, jvalue, stars;
	
	stars = document.getElementById("stars");
	
	jvalue = Math.random();
	
	if (jvalue > 0.75) {
		jadd = 1;
	}
	else if (jvalue < 0.25) {
		jadd = -1;
	}
	else {
		jadd = 0;
	}

	stars_which = stars_which + jadd;
	
	if (stars_which == 0) {
		stars_which = 2;
	}
	else if (stars_which > stars_limit) {
		stars_which = stars_limit - 1;
	}
	
	stars.src = StarImages[stars_which - 1].src
}

// Image Bar

var	total = 13, todo = 5, object, which, i;
var	MoodImages = new Array(total);
function fnInitMoods() {
	var							i;
	
	for (i = 0, which = 1; (i < total); i++, which++) {
		MoodImages[i] = new Image(80, 80);
		MoodImages[i].src = 'images/moods' + which + '.jpg';
	}
	
	fnLoadMoods();	
}

function fnSetMoodPictures(pindex) {
	object = eval('document.mood' + pindex);
	object.src = MoodImages[which].src;

	if (++which == total) {
		which = 0;
	}
}

function fnLoadMoods() {
	which = Math.round((Math.random()) * (total - 1));

	for (i = 0; (i < todo); i++) {
		fnSetMoodPictures(i);
	}

	setInterval("fnRandomMoods()", 1000);
} 

function fnRandomMoods() {
	var						i;
	
	for (i = 0; (i < todo); i++) {
		if (Math.random() > 0.9) {
			fnSetMoodPictures(i);
		}
	}
}

function fnTypeSound() 
{
	var MSIE=navigator.userAgent.indexOf("MSIE");
	var NETS=navigator.userAgent.indexOf("Netscape");
	var OPER=navigator.userAgent.indexOf("Opera");
	var FIREFOX=navigator.userAgent.indexOf("Firefox");
		
	if ((MSIE > -1) || (OPER > -1)) 
	{
		return (1)
	}
	else 
	{
		return (2)
	}	
}

var			  SoundID = "Player",
			  SoundIconID = "PlayerIcon",
			  SoundImagePlay = "images/playback.jpg",
			  SoundImageStop = "images/playstop.jpg";

function fnSetSound(name, loop) 
{
  var		  Embedding;
  
  switch (fnTypeSound())
  {
	case 1:
  	  document.write("<BGSOUND SRC=" + name + " LOOP=" + loop + " ID=" + SoundID + ">");
	  break;
	case 2:
	/*
	  loop = (loop < 0) ? ("true") : ("false");
	  document.write("<EMBED SRC=" + name + " AUTOSTART=TRUE HIDDEN=true VOLUME=100 LOOP=" + loop + " " + ID + ">");	
	*/
	  
Embedding = '<OBJECT '
+ 'CLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" '
+ 'WIDTH="0"HEIGHT="0" ID="'+SoundID+'"'
+ 'style="position:absolute;left:-1000;top:-1000"'
+ 'CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab">'
+ '<PARAM name="SRC" VALUE="'+name+'">'
+ '<PARAM name="AUTOPLAY" VALUE="true">'
+ '<PARAM name="CONTROLLER" VALUE="false">'
+ '<PARAM name="VOLUME" VALUE="100">'
+ '<PARAM name="ENABLEJAVASCRIPT" VALUE="true">'
+ '<PARAM name="TYPE" VALUE="audio/wav">'
+ '<embed classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"' 
+ 'name="'+SoundID+'"'
+ 'id="'+SoundID+'"' 
+ 'src="'+name+'"' 
+ 'pluginspage="http://www.apple.com/quicktime/download/"'
+ 'volume="100"' 
+ 'enablejavascript="true" '
+ 'type="audio/wav" '
+ 'height="0" '
+ 'width="0"'
+ 'style="position:absolute;left:-1000;top:-1000"'
+ 'autostart="true"'
+ '> </embed>'
+ '</OBJECT>';
	  
	  document.write(Embedding);
	  
	  break;
  }
}

function fnToggleSound() 
{
  var		  PlayerIcon = document.getElementById(SoundIconID);
  var		  Playing = true;

  switch (fnTypeSound())
  {
	case 1:
	  var		  PlayerControl = document.getElementById(SoundID); 
 	
	  if (PlayerControl.volume == 0)
	  {
		PlayerControl.volume = -10000;
		Playing = false;		
	  }
	  else
	  {
		PlayerControl.volume = 0;
	  }		  
	  break;
	case 2:
	  if (document.embeds[SoundID].GetVolume() == 0)
	  {
		document.embeds[SoundID].SetVolume(100);
	  }
	  else
	  {
		document.embeds[SoundID].SetVolume(0);
		Playing = false;		
	  }
	  break;
  } 
  
  PlayerIcon.src = ((Playing) ? (SoundImagePlay) : (SoundImageStop)); 
}

var					gem_phase = 0, gem_timeout;
var					GemImages = new Array(7);
var					opacity_type = -1, opacity_moments = 100, opacity_steps;
for (i = 0; (i < 7); i++) {
	GemImages[i] = new Image();
}		
function fnLoader(iname) {
	fnLoadGem(iname);
	setInterval("fnStartTransition()", 1000);
}

function fnPrepImagesID(iobject) {
	var						istyle = document.getElementById(iobject).style;
	
	fnPrepImages(istyle);
}

function fnPrepImages(istyle) {
	if (istyle.opacity != null) {
		opacity_type = 1;
		opacity_moments = 50;
	}
	else if (istyle.MozOpacity != null) {
		opacity_type = 2;
		opacity_moments = 50;
	}
	else if (istyle.KhtmlOpacity != null) {
		opacity_type = 3; 
		opacity_moments = 50;
	}
	else {
		opacity_type = 4;
	}
	
	opacity_steps = 100 / opacity_moments;
}

function fnLoadGem(name) {	
	var				iobject;						
	gem_phase = 6;
	gem_timeout = 2;

	GemImages[0].src = "images/raw_framed.jpg";
	GemImages[1].src = "images/justframe.jpg";
	GemImages[2].src = "images/" + name + "graphic.gif";
	GemImages[3].src = "images/" + name + "faceted.jpg";
	GemImages[4].src = "images/" + name + "gem.jpg";			
	GemImages[5].src = "images/" + name + "sparkle.gif";			
	GemImages[6].src = "images/" + name + "gem.jpg";
	
	fnPrepImagesID("GemTransition");
}

function fnStartTransition() {	
	var					duration = 3;
			
	if (!(--gem_timeout)) {
		if (++gem_phase == 7) {
			gem_phase = 0;
		}
		
		switch (gem_phase) {
			case 0:					
				gem_timeout = duration + 1;
				break;
			case 1:
				gem_timeout = duration + 1;
				break;
			case 2:
				gem_timeout = duration;
				duration = 1;
				break;
			case 3:
				gem_timeout = 1;
				duration = 0;
				break;
			case 4:					
				gem_timeout = 6;
				break;
			case 5:					
				gem_timeout = 3;
				duration = 0;
				break;
			case 6:					
				gem_timeout = 6;
				duration = 0;							
				break;														
		}	
		
		fnBlendImage("gem_picture", "GemTransition", GemImages[gem_phase].src, duration * 1000);
	}
}		

function fnBlendImage(divid, imageid, imagefile, millisec) { 
    var				speed = Math.round(millisec / opacity_moments); 
    var				timer = 0, offset = 100;

	//set the current image as background 
	document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")"; 
    
    if (millisec) {	     
		//make image transparent 
		changeOpac(0, imageid); 
	}
     
    //make new image 
	setTimeout("fnSetImage('" + imageid + "','" + imagefile + "')", offset);       
    
	if (millisec) {
		//fade in image 
		for(i = 0; i <= opacity_moments; i++) { 
			setTimeout("changeOpac(" + (i * opacity_steps) + ",'" + imageid + "')", offset + (timer * speed)); 
			timer++; 
		}
	}
} 

function opacity(id, opacStart, opacEnd, millisec) { 
    //speed for each frame 
    var			speed = Math.round(millisec / opacity_moments); 
    var			timer = 0; 

    //determine the direction for the blending, if start and end are the same nothing happens 
    if (opacStart > opacEnd) { 
        for(i = opacStart; i >= opacEnd; i -= opacity_steps) { 
            setTimeout("changeOpac(" + i + ",'" + id + "')", (timer * speed)); 
            timer++; 
        } 
    } else if (opacStart < opacEnd) { 
        for(i = opacStart; i <= opacEnd; i += opacity_steps) 
            { 
            setTimeout("changeOpac(" + i + ",'" + id + "')", (timer * speed)); 
            timer++; 
        } 
    } 
} 

//change the opacity for different browsers 
function changeOpac(opacity, id) { 
	changeOpacObject(opacity, document.getElementById(id).style)    
} 

//change the opacity for different browsers 
function changeOpacObject(opacity, object) { 

	switch (opacity_type) {
		case 1:
			object.opacity = (opacity / 100);		
			break;
		case 2:
			object.MozOpacity = (opacity / 101); 		
			break;
		case 3:
			object.KhtmlOpacity = (opacity / 100); 		
			break;
		case 4:
			object.filter = "alpha(opacity=" + opacity + ")"; 		
			break;
	}	
} 

function fnSetImage(imageid, imagefile) {
    document.getElementById(imageid).src = imagefile; 
}

function fnSetRealAudio(name) {
	document.write('<EMBED SRC="' + name + '" WIDTH="26" HEIGHT="26" TYPE="audio/x-pn-realaudio-plugin" CONTROLS="PlayOnlyButton,StopButton" CONSOLE="TLF" AUTOSTART="true" loop="true">');
}


function fnCallingURL(base_url)
{
   if (parent.document.URL) 
   {
	 callingURL = parent.document.URL;
	 if (callingURL.indexOf('?') != -1) 
	 {
			base_url = callingURL.substring(callingURL.indexOf('?')+1,callingURL.length);
	 }
   }
   
   return (base_url);
}

function fnIndexIFramedTOC(sDefaultURL)
{
	document.writeln('<iframe name="FRAME_CONTENT" src="' + fnCallingURL(sDefaultURL) + '" frameborder="0" ALLOWTRANSPARENCY="true" width="100%" height="100%"></iframe>');
}

function fnSubFramed()
{
  if (top.location == self.location) 
  {
	self.location.replace("index.htm?" + self.location)
  }
}

//
