/* Copyright Commcam Limited 2008. All rights reserved. (See licence/licence.txt) */

var bGalleryScrolling = false;
var bScrolled = false;
var iMouseX = -1;
var iMovement = 0;
var bClicked = true;
var arrHistory = new Object();
var g_strTitle = "Web Portal";

document.oncontextmenu = rightClickCapture;
if (document.layers) window.captureEvents(Event.MOUSEDOWN);
if (document.layers) window.captureEvents(Event.MOUSEUP);
window.oncontextmenu = rightClickCapture;

function rightClickCapture(e)
{
    return false;
}

function startLoading(strCall)
{
	var objDiv = document.getElementById("loading");

	if (objDiv)
	{
		objDiv.style.display = "block";
		objDiv.style.visibility = "visible";
		document.body.style.cursor = "wait";
	}
	
	setTimeout(strCall, 10);
	
}

function endLoading()
{
	var objDiv = document.getElementById("loading");
	
	if (objDiv)
	{
		objDiv.style.display = "none";
		objDiv.style.visibility = "hidden";
		document.body.style.cursor = "auto";
	}
}

function getFormValue(strId)
{
	var objInput = document.getElementById(strId);
	var strText = "";
	
	if (objInput)
	{
		strText = objInput.value;
	}
	
	return strText;
}

function checkDate(objInput)
{
	var strValidFormat = /^\d{2}\/\d{2}\/\d{4}$/; //Basic check for format validity
	var bOk = false;
	
	if (!strValidFormat.test(objInput.value))
	{
		alert("The date entered is invalid, please try again.");
	}
	else
	{ 
		//Detailed check for valid date ranges
		var iDay = objInput.value.split("/")[0];
		var iMonth = objInput.value.split("/")[1];
		var iYear=  objInput.value.split("/")[2];
		var objDate = new Date(iYear, iMonth-1, iDay);
		
		if ((objDate.getMonth() + 1 != iMonth)||(objDate.getDate() != iDay)||(objDate.getFullYear() != iYear))
		{
			alert("The date entered is invalid, please try again.");
		}
		else
		{
			bOk = true;
		}
	}
	if (!bOk) 
	{	
		objInput.value = "";
		objInput.select();
	}
	
	return bOk
}

function getHeight() 
{
	var inHeight = 0;
	
	if( typeof( window.innerWidth ) == 'number' ) 
	{
			//Non-IE
			inHeight = window.innerHeight;
	} 
	else 
	{
		if( document.documentElement &&
			(document.documentElement.clientHeight ) ) 
		{
			//IE 6+ in 'standards compliant mode'
			inHeight = document.documentElement.clientHeight;
		} 
		else 
		{
			if( document.body && ( document.body.clientHeight ) ) 
			{
				//IE 4 compatible
				inHeight = document.body.clientHeight;
			}
		}
	}
	
	return inHeight;
}

function getWidth() 
{
	var inWidth = 0;
	
	if( typeof( window.innerWidth ) == 'number' ) 
	{
			//Non-IE
			inWidth = window.innerWidth;
	} 
	else 
	{
		if( document.documentElement &&
			(document.documentElement.clientWidth ) ) 
		{
			//IE 6+ in 'standards compliant mode'
			inWidth = document.documentElement.clientWidth;
		} 
		else 
		{
			if( document.body && ( document.body.clientWidth ) ) 
			{
				//IE 4 compatible
				inWidth = document.body.clientWidth;
			}
		}
	}
	
	return inWidth;
}


function findLeft(obj)
{
	var iLeft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			iLeft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
	{
		iLeft += obj.x;
	}
	
	return iLeft;
}


function findTop(obj)
{
	var iTop = 0;
	
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			iTop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
	{
		iTop += obj.y;
	}
	
	return iTop;
}

function findBottom(obj)
{
	var iBottom = 0;

	if (obj.offsetHeight)
	{
		iBottom = obj.offsetHeight;
		
		while (obj.offsetParent)
		{
			iBottom += obj.offsetTop;
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
	{
		iBottom += obj.y;
	}
	
	return iBottom;
}

function findRight(obj)
{
	var iRight = 0;
	if (obj.offsetParent)
	{
		iRight = obj.offsetWidth;
		
		while (obj.offsetParent)
		{
			iRight += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
	{
		iRight += obj.x;
	}
	
	return iRight;
}

function findWidth(obj)
{
	var iLeft, iRight;
	
	iLeft = findLeft(obj);
	iRight = findRight(obj);
	
	return iRight - iLeft;
}

function checkEmail(strEmail) 
{
	var cAt = "@";
	var cDot = ".";
	var iLen = strEmail.length;
	var iPosAt = strEmail.indexOf(cAt);
	var iPosDot = strEmail.indexOf(cDot);
	
	if (iPosAt == -1)
	{
	   return false;
	}

	if (iPosAt == -1 || iPosAt == 0 || iPosAt == iLen)
	{
	   return false;
	}

	if (iPosDot == -1 || iPosDot == 0 || iPosDot == iLen)
	{
	    return false;
	}

	if (strEmail.indexOf(cAt, (iPosAt + 1)) != -1)
	{
		return false;
	}

	if (strEmail.substring(iPosAt - 1, iPosAt) == cDot || strEmail.substring(iPosAt + 1, iPosAt + 2) == cDot)
	{
		return false;
	}

	if (strEmail.indexOf(cDot, (iPosAt + 2)) == -1)
	{
		return false;
	}

	if (strEmail.indexOf(" ") != -1)
	{
		return false;
	}

 	return true;			
}

function currencyFormatted(dAmount)
{
	var dMoney = parseFloat(dAmount);
	var cMinus = '';
	
	if(isNaN(dMoney))
	{ 
		dMoney = 0.00; 
	}
	
	if(dMoney < 0) 
	{
		cMinus = '-'; 
	}
	
	dMoney = Math.abs(dMoney);
	dMoney = parseInt((dMoney + .005) * 100);
	dMoney = dMoney / 100;
	
	var sMoney = new String(dMoney);
	
	if(sMoney.indexOf('.') < 0)
	{ 
		sMoney += '.00'; 
	}
	
	if(sMoney.indexOf('.') == (sMoney.length - 2))
	{ 
		sMoney += '0'; 
	}
	
	sMoney = cMinus + sMoney;
	
	return sMoney;
}

function clearStartingText(objInput)
{
	if (!objInput.getAttribute("cleared"))
	{
		objInput.value = "";
		objInput.setAttribute("cleared", true);
	}
}

function setOpacity(strId, iOpacity)
{
	var objObject = document.getElementById(strId);
	
	objObject.style.opacity = (iOpacity / 100); 
  objObject.style.MozOpacity = (iOpacity / 100); 
  objObject.style.KhtmlOpacity = (iOpacity / 100); 
  objObject.style.filter = "alpha(opacity:" + iOpacity + ")"; 
}

function fadeFrom(strId, strNextId)
{
	var objObject = document.getElementById(strId);
	
	iOpacity = objObject.getAttribute("opacity");
	
	objObject.style.opacity = (iOpacity / 100); 
  objObject.style.MozOpacity = (iOpacity / 100); 
  objObject.style.KhtmlOpacity = (iOpacity / 100); 
  objObject.style.filter = "alpha(opacity:" + iOpacity + ")";
 
	if (iOpacity > 0)
	{
		iOpacity = iOpacity - 25;
		
	 objObject.setAttribute("opacity", iOpacity);
		 
		setTimeout("fadeFrom('" + strId + "', '" + strNextId + "')", 6);
	}
	else
	{
	    objObject.style.display = "none";

	    if (strNextId != "undefined") {
	        fadeUp(strNextId, 0, 100);
	    }
	}
	
}

function fadeUp(strId, iOpacity, iTo)
{
	var objObject = document.getElementById(strId);

	if (objObject)
	{
		objObject.style.opacity = (iOpacity / 100); 
		objObject.style.MozOpacity = (iOpacity / 100); 
		objObject.style.KhtmlOpacity = (iOpacity / 100); 
		objObject.style.filter = "alpha(opacity:" + iOpacity + ")";
		objObject.style.display = "block";
		if (iOpacity <= iTo)
		{
			iOpacity = iOpacity + 25;
			setTimeout("fadeUp('" + strId + "', " + iOpacity + ", " + iTo + ")", 6);
		}
	}
}

function popupDialog(strLink, bDiv)
{

	var objLayer = document.getElementById("modalLayer");
	var objHolder = document.getElementById("modalHolder");
	var objContent = document.getElementById("modalContent");
	
	var objIFrameModal = document.getElementById("modalIFrame");
	
	var objModalCloseBar = document.getElementById("modalCloseBar");
	var objA;
	var objAjax = new CAjax();
	
	if (!objHolder)
	{
	
		objIFrameModal = document.createElement("iframe");
		objIFrameModal.id = "modalIFrame";
		
		objLayer = document.createElement("div");
		objLayer.id = "modalLayer";
		
		objHolder = document.createElement("div");
		objHolder.id = "modalHolder";
		
		objLayer.appendChild(objHolder);


		objModalCloseBar = document.createElement("div");
		objModalCloseBar.id = "modalCloseBar";
		objModalCloseBar.className = "closeBar";
		
		objHolder.appendChild(objModalCloseBar);
		
		objA = document.createElement("a");
		objA.href = "#";
		objA.innerHTML = "&nbsp;";
		
		try
		{
			objA.attachEvent("onclick", closeModal);
		}
		catch (e)
		{
			objA.addEventListener("click", closeModal, false);
		}
		
		try
		{
			objLayer.attachEvent("onclick", closeModal);
		}
		catch (e)
		{
			objLayer.addEventListener("click", closeModal, false);
		}
		
		objModalCloseBar.appendChild(objA);
		
		document.body.appendChild(objIFrameModal);
		document.body.appendChild(objLayer);
		document.body.appendChild(objHolder);
	}
 
	if (objContent)
	{
		objHolder.removeChild(objContent);
	}
	
	objContent = document.createElement("div");
	objContent.id = "modalContent";
	
	objHolder.appendChild(objContent);
	
	objLayer.style.display = "block";
	objHolder.style.display = "block";

	if (bDiv) 
	{
    var objDiv = document.getElementById(strLink);
    objDiv.style.display = "block";
    objContent.appendChild(objDiv);
	}
	else if (objAjax.open(strLink, true))
	{
		objContent.innerHTML = objAjax.getResponse();
	}

	completePopup();
	
}

function completePopup()
{
	var objContent = document.getElementById("modalContent");
	var iWidth = getWidth();
	var iHeight = getHeight();
	var objLayer = document.getElementById("modalLayer");
	var objHolder = document.getElementById("modalHolder");
	var objIFrameModal = document.getElementById("modalIFrame");
	
	var iContentWidth = findRight(objContent) - findLeft(objContent);
	var iContentHeight = findBottom(objContent) - findTop(objContent);

	var iHeightFactor = (iHeight - iContentHeight) / 2;
	var iWidthFactor = (iWidth - iContentWidth) / 2;
	
	var iVariant = 16;
	
	if (navigator.appName == "Microsoft Internet Explorer")
	{
		iVariant = 8;
	}
	
	var iTop, iLeft;
	
	iLeft = iWidthFactor - iVariant + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
	iTop = iHeightFactor - 30 + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
	
	objHolder.style.left = iLeft;
	objHolder.style.top = iTop;

	objIFrameModal.style.left = iLeft;
	objIFrameModal.style.top = iTop;
	
	objIFrameModal.style.width = findRight(objHolder) - findLeft(objHolder);
	objIFrameModal.style.height = findBottom(objHolder) - findTop(objHolder);
	
	objLayer.style.height = document.body.scrollHeight;
	objLayer.style.width = document.body.scrollWidth;
	
	fadeUp("modalLayer", 0, 70);
	fadeUp("modalHolder", 0, 100);
	fadeUp("modalIFrame", 0, 100);
}

function closeModal()
{
	var objLayer = document.getElementById("modalLayer");
	var objHolder = document.getElementById("modalHolder");
	var objIFrameModal = document.getElementById("modalIFrame");
	
	objIFrameModal.setAttribute("opacity", 70);
	objLayer.setAttribute("opacity", 70);
	objHolder.setAttribute("opacity", 100);
	
	fadeFrom("modalIFrame");
	fadeFrom("modalLayer");
	fadeFrom("modalHolder");
}
