function jumpToAnchor(anchorName) {
   window.location = window.location + "#"+ anchorName;
}

function swapImage(newImgSrc, imgId)
{
	imgObj = document.getElementById(imgId);
	imgObj.src= newImgSrc;
}
// Because, document.getElementsByName(eleName) cannot work on IE 8.0
// grpName is to look for ele id starting from 0.
function slideshow(grpName, showEleId)
{ 
	var end = false;
	var i = 0;
	while(end == false)
	{
		curEle = document.getElementById(grpName + i.toString());
		if(curEle == null)
			end = true;
		else
		{
			if(curEle.id == showEleId)
			{
				showElement(showEleId);
			}
			else
			{
				hideElement(curEle.id);
			}
		}
		i++;
	}
}

function switchArea(hideArea, showArea)
{
	hideElement(hideArea);
	showElement(showArea);
}

function showElement(elementId) {
	document.getElementById(elementId).style.display = 'block';
}

function hideElement(elementId) {
	document.getElementById(elementId).style.display = 'none';
}
 
function countdown(time, id, expiredUrl) 
{
	countdownDiv = document.getElementById(id);  

	minutes = Math.floor(time / 60);  
	seconds = time % 60;  
	countdownDiv.innerHTML = minutes + 'min ' + seconds + 'sec'; 
	
	if(time <= 0) 
		window.location.replace(expiredUrl);
	else 
		setTimeout('countdown(' + --time + ',"' + id + '","' + expiredUrl + '");', 1000); 
}

function eitherOr(targetObj, oppositeObj)
{
	targetObj.style.backgroundColor="#ffffff";
	
	oppositeObj.value="";
	oppositeObj.style.backgroundColor="#e0e0e0";
}

function clearFilterForm(oForm) 
{	   
	var elements = oForm.elements;	   
	oForm.reset();

	for(i=0; i<elements.length; i++) 
	{
		if(elements[i].id.indexOf('filterDta_') >= 0)
		{
			field_type = elements[i].type.toLowerCase();
			switch(field_type) 
			{
				case "text":
				case "password":
				case "textarea":
				case "hidden":  
					elements[i].value = "";
					break;
		       
				case "radio":
				case "checkbox":
					if (elements[i].checked) 
					{
						elements[i].checked = false;
					}
					break;
	
				case "select-one":
					elements[i].selectedIndex = 0;
					break;
				case "select-multi":
					for(j=0; j < elements[i].options.length; j++)
						elements[i].options[j].selected = true;
					break;
	
				default:
					break;
			}
		}
	}
}


function checkAll(listName, item)
{
	var objList = document.getElementsByName(listName);
	for (var i = 0; i < objList.length; i++) 
		if (objList[i].type == 'checkbox') 
			objList[i].checked = item.checked;
	
	// To check the trigger for All too.
	var objList = document.getElementsByName("chkall");	 
	for (var i = 0; i < objList.length; i++) 
		if (objList[i].type == 'checkbox') 
			objList[i].checked = item.checked;
}

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function clone(srcObj)
{
    var obj = (srcObj instanceof Array) ? [] : {};

    for(var i in srcObj)
    {
        if(srcObj[i] && typeof srcObj[i] == "object")
        {
            obj[i] = clone(srcObj[i]);
        }
        else
        {
            obj[i] = srcObj[i];
        }
    }

    return obj;
}

function getKeyCount(arr)
{
	var i = 0;

	for(var key in arr)
	{
		i++;
	}

	return i;
}

function arrayIndexOf(array, value) 
{
	for(var pos =0; pos < array.length; pos++)
	{
		if(array[pos] == value)
			return pos;
	}
	return -1;
}