/* 
LaMaMedia.com (version 5.1)
Copyright (c) 2007, 2008 by LaMa Media LLC - All rights reserved
*/


// ****************************************************************
// GLOBALS
// ****************************************************************

var vBrowser;
var vIE = 0;
var vDelim = "|";
var vCharSP = " ";
var vCharNS = "";
var vCharNB = "&nbsp;";


// ****************************************************************
// CHECK BROWSER
// ****************************************************************

function fCheckBrowser() {
 	vBrowser = navigator.appName;
	if (vBrowser == "Microsoft Internet Explorer") vIE = 1;
	var tUserAgent = navigator.userAgent.toLowerCase();
    var tAppVersion = navigator.appVersion.toLowerCase();
    var tVersion = parseFloat(tAppVersion);
    var tIEPos = tAppVersion.indexOf('msie');
    if (tIEPos != -1) {
       tVersion = parseFloat(tAppVersion.substring(tIEPos+5,tAppVersion.indexOf(';',tIEPos)));
    }
	if (tVersion >= 5) {
		return(1);
	} else {
		return(0);
	}
}

fCheckBrowser();

// ****************************************************************
// SLIDE
// ****************************************************************

var vSlideSpeed = 10;
var vSlideDelay = 10;
var vSlideCloseMult = 1.25;
var vSliding = false;
var vSlider = false;
var vSlideActive = false;

function fSlide(r, rID) {
	var tIDNum, tWrap;
	if (vSliding) return;
	vSliding = true;
	if (!rID) rID = this.id;
	rID = rID + '';
	tIDNum = rID.replace(/[^0-9]/g,'');
	tWrap = document.getElementById('iwrap' + tIDNum);
	vSlider = false;
	if (!tWrap.style.display || (tWrap.style.display == 'none')) {
		if (vSlideActive &&  (vSlideActive != tIDNum)) {			
			vSlider = tIDNum;
			fSlideStart(0, vSlideActive, ((vSlideSpeed * vSlideCloseMult) * -1));
		} else {
			fSlideStart(tWrap, tIDNum, vSlideSpeed);
		}
	} else {
		fSlideStart(0, tIDNum, (vSlideSpeed * -1));
		vSlideActive = false;
	}	
}

function fSlideHide() {
	if (vSlideActive) {
		fSlideStart(0, vSlideActive, -9999);
	}
}

function fSlideStart(rWrap, rID, rSpeed) {
	if (rWrap) {
		rWrap.style.display = 'block';
		rWrap.style.visibility = 'visible';
	}
	if (rSpeed < 0) {
		document["shimg" + (rID - 1)].src = vVBox0.src;
	} else {
		document["shimg" + (rID - 1)].src = vVBox1.src;
	}
	fSlideDo(rID, rSpeed);
}

function fSlideDo(rID, rSpeed) {
	var tTop;
	var tContinue = true;
	var tWrap = document.getElementById('iwrap' + rID);
	var tContent = document.getElementById('icontent' + rID);
	var tHeight = tWrap.clientHeight;
	tHeight = (tHeight + rSpeed);
	if (tHeight > tContent.offsetHeight) {
		tHeight = tContent.offsetHeight;
		tContinue = false;
	}
	if (tHeight <= 1) {
		tHeight = 1;
		tContinue = false;
		if (vClearAll) fClearAll();

	}
	tWrap.style.height = (tHeight + 'px');
	tTop = (tHeight - tContent.offsetHeight);
	if (tTop > 0) tTop = 0;
	tContent.style.top = (tTop + 'px');
	if (tContinue) {
		setTimeout('fSlideDo(' + rID + ',' + rSpeed + ')', vSlideDelay);
	} else {
		if (tHeight <= 1) {
			tWrap.style.display = 'none'; 
			if (vSlider && (vSlider != rID)) {
				fSlideStart(document.getElementById('iwrap' + vSlider), vSlider, vSlideSpeed);
			} else {
				vSliding = false;
			}
		} else {
			vSlideActive = rID;
			vSliding = false;
			fSlideDone();
		}
	}
}

function fSlideInit() {
	var t, tWrap, tContent;
	var tDivs = document.getElementsByTagName('DIV');
	var tCount = 1;
	for (t = 0; t < tDivs.length; t++) {
		if (tDivs[t].className == 'view') {
			tDivs[t].onclick = fSlide;
			tDivs[t].id = ('iview' + tCount);
			tWrap = tDivs[t].nextSibling;
			while (tWrap && tWrap.tagName != 'DIV') {
				tWrap = tWrap.nextSibling;
			}		
			tWrap.id = ('iwrap' + tCount);			
			tContent = tWrap.getElementsByTagName('DIV')[0];
			tContent.style.top = ((0 - tContent.offsetHeight) + 'px'); 	
			tContent.className = 'viewcontent';
			tContent.id = ('icontent' + tCount);
			tWrap.style.display = 'none';
			tWrap.style.height = '1px';
			tCount++;
		}
	}
}


//function fSlideDone() { }


// ****************************************************************
// FADE
// ****************************************************************

var vFaders = new Array();
var vFadeSteps = 20;
var vFadeTime = 200;
var vFadeSpeed = (vFadeTime / vFadeSteps);
var vFadeDelta = (100 / vFadeSteps);
var vFadeFront = '998';
var vFadeBack = '0';
var vFadeCount = 1;
var vFadeCur = 0;
var vFadeIn = 0;
var vFadeTimeDoID =  new Array();
var vFadeTimeInID;

function fFadeAdd(rID) {
	var tDOM = fDOM(rID, 1);
	tDOM.visibility = 'hidden';
	tDOM.zIndex = vFadeBack;
	vFaders[vFadeCount] = rID;
	fFadeDo(vFadeCount, 0);
	++vFadeCount;
}

function fFade(rIn) {
	var t;
	var tNum = 0;
	if (typeof(rIn) == "number") {
		tNum = rIn;
	} else {
		for (t = 1; t <= vFadeCount; t++) {
			if (vFaders[t] == rIn) {
				tNum = t;
				break;
			}
		}
	}
	if (tNum != vFadeIn & tNum > 0 & tNum <= vFadeCount) {
		vFadeIn = tNum;
		if (vFadeCur) {
			fFadeOut();
		} else {
			fFadeIn();
		}
	}
} 

function fFadeOut() {
	var t, tOpacity, tTime;
	for (t = 1; t <= vFadeSteps; t++) {
		tOpacity = (100 - (vFadeDelta * t));
		tTime = (vFadeSpeed * t);
		vFadeTimeDoID[t] = setTimeout("fFadeDo(" + vFadeCur + "," + tOpacity + ")", tTime); 
	}
	vFadeTimeInID = setTimeout("fFadeIn()", vFadeTime); 
} 

function fFadeIn() {
	var tDOM, t, tOpacity, tTime;
	if (vFadeCur) fFadeDone();
	vFadeCur = vFadeIn;
	tDOM = fDOM(vFaders[vFadeCur], 1);
	tDOM.visibility = 'visible';
	tDOM.zIndex = vFadeFront;

	for (t = 1; t <= vFadeSteps; t++) {
		tOpacity = (vFadeDelta * t);
		tTime = (vFadeSpeed * t);
		vFadeTimeDoID[t] = setTimeout("fFadeDo(" + vFadeCur + "," + tOpacity + ")", tTime); 
	}
} 

function fFadeDo(rWhich, rOpacity) { 
    var tObject = document.getElementById(vFaders[rWhich]).style; 
    tObject.opacity = (rOpacity / 100); 
    //tObject.MozOpacity = (rOpacity / 100); 
    tObject.KhtmlOpacity = (rOpacity / 100); 
    tObject.filter = "alpha(opacity=" + rOpacity + ")"; 
} 

function fFadeDone() { 
	if (vFadeCur) {
		tDOM = fDOM(vFaders[vFadeCur], 1);
		tDOM.visibility = 'hidden';
		tDOM.zIndex = vFadeBack;
		vFadeCur = 0;
	}
} 

function fFadeOff() {
	var t, tDOM;
	if (vFadeCur) {
		for (t = 1; t <= vFadeSteps; t++) {
			clearTimeout(vFadeTimeDoID[t]);
		}
		clearTimeout(vFadeTimeInID);
		fFadeDo(vFadeCur, 0);
		fFadeDone();
		vFadeIn = 0;
	}
} 


// ****************************************************************
// BUTTONS
// ****************************************************************

var vButtons = new Array();
var vButtons0 = new Array();
var vButtons1 = new Array();
var vButtonsW = new Array();
var vButtonsH = new Array();
var vButtonsLink = new Array();
var vButtonsAbs = new Array();
var vButtonsTarget = new Array();

function fButtonPath(rPath) {
	//vButtonPath = (vPath + "media/" + rPath);
	vButtonPath = (rPath);
}

function fNewButton(rNum, rStatus, rFile, rJPG, rWidth, rHeight, rLink, rAbsolute, rTarget) {
	fMakeButton(rNum, rStatus, rFile, rJPG, rWidth, rHeight, rLink, rAbsolute, rTarget);
	fShowButton(rNum);
}

function fMakeButton(rNum, rStatus, rFile, rJPG, rWidth, rHeight, rLink, rAbsolute, rTarget) {
	var tType;
	vButtons[rNum] = rStatus;
	if (rJPG == 1) {
		tType = "jpg";
	} else {
		tType = "gif";
	}
	vButtons0[rNum] = new Image(); vButtons0[rNum].src = (vButtonPath + rFile + "_0." + tType);
	vButtons1[rNum] = new Image(); vButtons1[rNum].src = (vButtonPath + rFile + "_1." + tType);
	vButtonsW[rNum] = rWidth;
	vButtonsH[rNum] = rHeight;
	vButtonsLink[rNum] = rLink;
	if (rAbsolute == 1) {
		vButtonsAbs[rNum] = 1;
	} else {
		vButtonsAbs[rNum] = 0;
	}
	vButtonsTarget[rNum] = rTarget;
}

function fShowButton(rNum) {
	fLinkImg(vButtonsLink[rNum], "fButton", (rNum + "|1"), (rNum + "|0"), ('b_' + rNum), vButtons0[rNum].src, vButtonsW[rNum], vButtonsH[rNum], vButtons[rNum], "", vButtonsAbs[rNum], vButtonsTarget[rNum]);
}

function fButton(rNumOn) {
	var tNum = parseInt(fGetItem(rNumOn, 0, vDelim));
	var tOn = parseInt(fGetItem(rNumOn, 1, vDelim));
	if (tOn) {
		document["b_" + tNum].src = vButtons1[tNum].src;
		fStatus(vButtons[tNum]);
	} else {
		document["b_" + tNum].src = vButtons0[tNum].src;
		fStatus();
	}
}


// ****************************************************************
// LINK
// ****************************************************************

function fLink(rLabel, rLink, rMouse, rOver, rOut, rAbsolute, rTarget) {
	var tLinkStr = (fMakeLink(rLabel, rLink, rMouse, rOver, rOut, rAbsolute, rTarget) + '</a>');
	document.write(tLinkStr);
}
		
function fLinkImg(rLink, rMouse, rOver, rOut, rName, rSrc, rWidth, rHeight, rAlt, rClass, rAbsolute, rTarget) {
	if (typeof(rAlt) == 'undefined') rAlt = vCharNS;
	if (typeof(rClass) == 'undefined') rClass = vCharNS;
	var tLinkStr = fMakeLink(vCharNS, rLink, rMouse, rOver, rOut, rAbsolute, rTarget, 0);
	var tImgStr = ('<img class="' + rClass + '" name="' + rName + '" src="' + rSrc + '" width="' + rWidth + '" height="' + rHeight + '" alt="' + rAlt + '" border="0"></a>');
	document.write(tLinkStr + tImgStr);
}

function fMakeLink(rLabel, rLink, rMouse, rOver, rOut, rAbsolute, rTarget, rEndTag) {
	var tLoc, tLinkStr;
	if ((typeof(rTarget) == 'undefined') || (rTarget == 0)) rTarget = vCharNS;
	if (typeof(rEndTag) == 'undefined') rEndTag = 1;
	if (rAbsolute == 1) {
		tLoc = rLink;
	} else if (rLink == "index") {
		tLoc = (vPath + "index.html");
	} else {
		tLoc = (vPath + "content/" + rLink + ".html");
	}
	if ((typeof(rMouse) == 'undefined') || (rMouse == vCharNS)) {
		tLinkStr = ('<a href="' + tLoc + '"');
	} else {
		tLinkStr = ('<a href="' + tLoc + '" onMouseOver="' + rMouse + '(\'' + rOver + '\'); return true" onMouseOut="' + rMouse + '(\'' + rOut + '\'); return true"');
	}
	if (rTarget != vCharNS) tLinkStr = (tLinkStr + ' target=' + rTarget);
	tLinkStr = (tLinkStr + '>' + rLabel);
	if (rEndTag == 1) tLinkStr = (tLinkStr + '</a>');
	return(tLinkStr);
}


// ****************************************************************
// STATUS
// ****************************************************************

function fStatus(rStatus) {
	if (typeof(rStatus) == 'undefined') rStatus = vCharNS;
	vStatus = rStatus;
	setTimeout('fDisplayStatus()', 0);
}

function fDisplayStatus() {
	window.status = vStatus;
}


// ****************************************************************
// DOM
// ****************************************************************

var vIsDHTML = 0;
var vIsID = 0;
var vIsAll = 0;
var vIsLayers = 0;

if (document.getElementById) {
	vIsID = 1; 
	vIsDHTML = 1;
} else if (document.all) {
	vIsAll = 1; 
	vIsDHTML = 1;
} else if ((navigator.appName.indexOf('Netscape') != -1) && (parseInt(navigator.appVersion) == 4)) {
	vIsLayers = 1; 
	vIsDHTML = 1;
}

function fDOM(rObjectID, rStyle) {
	if (rStyle == 1) {
		if (vIsID) {
			return (document.getElementById(rObjectID).style);
		} else if (vIsAll) {
			return (document.all[rObjectID].style);
		} else if (vIsLayers) {
			return (document.layers[rObjectID]);
		}
	} else {
		if (vIsID) {
			return (document.getElementById(rObjectID));
		} else if (vIsAll) {
			return (document.all[rObjectID]);
		} else if (vIsLayers) {
			return (document.layers[rObjectID]);
		}
	}
}


// ****************************************************************
// UTILITIES
// ****************************************************************

function fW(r) {
	document.write(r);
}

function fNumItems(rString, rDelim) {
	var tPos;
	var tCount = 0;
	var tLoop = 1;
	while (tLoop) {
		tPos = rString.indexOf(rDelim);
		if (tPos < 0) tLoop = 0;
		rString = rString.substring(tPos + 1, rString.length);
		++tCount;
	}
	return (tCount);
}

function fGetItem(rString, rNum, rDelim) {
	var tCount, tPos, tItem;
	for (tCount = 0; tCount <= rNum; tCount++) {
		tPos = rString.indexOf(rDelim);
		if (tPos < 0) tPos = rString.length;
		tItem = rString.substring(0, tPos);
		tPos = tItem.length + 1;
		rString = rString.substring(tPos, rString.length);
	}
	return (tItem);
}

function fReplaceChar(rString, rChars, rReplace) {
	var tPos, tLen, tStrL, tStrR;
	var tCLen = rChars.length;
	while ((tPos = rString.indexOf(rChars)) >= 0) {
		tLen = rString.length;
		tStrL = rString.substring(0, tPos);
		tStrR = rString.substring(tPos + tCLen, tLen);
		rString = (tStrL + rReplace + tStrR);
	}
	return (rString);
}


