

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 dummyAppend(strLink, objContent)
{
	objDContent = document.createElement("div");
	objDContent.id = strLink;
	objDContent.innerHTML = $('#'+objContent.id).find('#'+strLink).html();
	$('body').append(objDContent).css({display:'block'});
}

function popupDialog(strLink, bDiv, isSmall)
{
	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";
		objIFrameModal.frameborder = '0';
		objIFrameModal.allowtransparency="true"
		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;&nbsp;&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);
	}
	
	
	var bsktObj = document.getElementById('basket');
	var bdisObj = document.getElementById('bdiswarning');
 
	if (objContent)
	{
		var bsktObj = document.getElementById('basket');
		if(bsktObj != null){
			dummyAppend(strLink, objContent);
		}	

		if(bdisObj != null){
			dummyAppend(strLink, objContent);
		}
			
		objHolder.removeChild(objContent);
	}
	
	objContent = document.createElement("div");
	objContent.id = "modalContent";
	
	objHolder.appendChild(objContent);
	
	// objLayer.style.display = "block";
	// objHolder.style.display = "block";
	objLayer.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();
	}
	objHolder.style.display = "block";
	completePopup();
	if(isSmall){
		if(bdisObj != null){
			document.getElementById('modalContent').className = 'smaller';
			document.getElementById('static').className = 'smaller';
		}else{
			document.getElementById('modalContent').className = 'small';
			if(document.getElementById('static')){
				document.getElementById('static').className = 'small';
			}
		}
	}
	objIFrameModal.style.display = 'none';
}

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;
	
	if (navigator.appName == "Microsoft Internet Explorer")
	{
		var temp = parseInt(objLayer.style.width)+10;
		objLayer.style.width = temp + 'px';
	}
	fadeUp("modalLayer", 0, 75);
	fadeUp("modalIFrame", 0, 100);
	fadeUp("modalHolder", 0, 100);
}

function closeModal()
{
	var objLayer = document.getElementById("modalLayer");
	var objHolder = document.getElementById("modalHolder");
	var objIFrameModal = document.getElementById("modalIFrame");
	
	objIFrameModal.setAttribute("opacity", 75);
	objLayer.setAttribute("opacity", 75);
	objHolder.setAttribute("opacity", 100);
	
	fadeFrom("modalIFrame");
	fadeFrom("modalLayer");
	fadeFrom("modalHolder");
}



// Validate email
function validEmail(email)
{
	var REGEX_VALID_EMAIL = /^[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[a-z]{2,4}|museum|travel|local)$/i;
	if(!REGEX_VALID_EMAIL.test(email)){
		return false;
	}
	else{
		return true;
	}
}// EF

//Validate Password
function validPassword(password, slength)
{
	var slength = slength || 8;
	if(password.length < slength){
		return false;
	}
	else{
		return true;
	}
}// EF

//Validate first/last name
function validName(name)
{
	var REGEX_VALID_ALPHA = /^[\w\s\.]+$/im;
	if(!REGEX_VALID_ALPHA.test(name)){
		return false;
	}
	else{
		return true;
	}
}// EF

//Check Numeric value
function isNumeric(value){
	var numericExpression = /^[0-9]+$/;
	if(value.match(numericExpression)){
		return true;
	}else{
		return false;
	}
}

//Check null value
function isNull(value)
{
	var REGEX_NOT_EMPTY = /[^\s]+/m;
	if(REGEX_NOT_EMPTY.test(value)){
		return false;
	}
	else{
		return true;
	}
}// EF


//Show overlay
function showOverlay(blockDivId, _callBack, top)
{
	// Left calculation
	jq = jQuery;
	var _left = ((jq.browser.msie && jq.browser.version < 7)?'10%':Math.round(jq(window).width()/2-trim(jq('#'+blockDivId).find('div:first').css('width'), 'px')/2));
	// Show overlay
	jq.blockUI.defaults.css = {};
	jq.blockUI({
		message: jq('#'+blockDivId),
		css: {
			border: 'none',
			padding: 0,
			width: 'auto',
			top: (top || 25) + '%',
			left: _left,
			'-webkit-border-radius': '10px',
			'-moz-border-radius': '10px',
			textAlign: 'left',
			opacity: 1
		}
	});
	
	// If callback is function type
	if(typeof _callBack === "function"){
		_callBack();
	}
	
	// When click hide it
	jq.each(['CrossBox', 'CrossDiv'], function(k, item){
		jq('.'+item).click(function(){
			jq.unblockUI();
		});
	});
}



