//////////////////////
function backToTop()
{
    window.scrollTo(0,0);     
}

function trim(str)
{
	try {
		return str.replace(/^\s+|\s+$/g,'');
	}
	catch (e) {
		return str;
	}
}
//////////////////////
function isnull(arg)
{
	arg = arg+'';
	return (arg == '' || arg == 'null' || arg == 'undefined');
}
//////////////////////
function nvl()
{
	for (var i=0; i<arguments.length; i++) {
		if (!isnull(arguments[i])) return arguments[i];
	}
	return null;
}	

//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function getHostAddress()
{
	var	urlPrefix		= getUrlPrefix();
	lastSlashPos		= urlPrefix.lastIndexOf('/');
	hostAddress			= urlPrefix.substring(0,lastSlashPos);
	
	return hostAddress;
}

function getUrlPrefix()
{
	// cut all the url file & query suffix
	var	urlPath			= location.href.substring(0,location.href.indexOf('.aspx'));
	var lastSlashPos	= urlPath.lastIndexOf('/');
	var urlPrefix		= urlPath.substring(0,lastSlashPos);	
	
	return urlPrefix;
}

function getQueryFields()
{
	var newQuery	=	"";
	
	// get the relevant section from the url
	var	urlPrefix	= getUrlPrefix();
	var queryFields = urlPrefix.substring(urlPrefix.lastIndexOf('/')+1,urlPrefix.length);	
	var fieldsArr	= new Array();
	fieldsArr		= queryFields.split("-");
	
	if (fieldsArr.length > 2)
	{
		newQuery	=	"FolderID=" + fieldsArr[0] + "&docID=" + fieldsArr[1] + "&lang=" + fieldsArr[2];				
	}
	else if (fieldsArr.length == 2)
	{
		newQuery	=	"FolderID=" + fieldsArr[0] + "&lang=" + fieldsArr[1];
	}
	
	return newQuery;
	
}

/* DHTML Function */

/* Scrolling Effect */

function SetVisibleItems(itemsPrefix, numOfItems, StartIndex, EndIndex)
{
    try
    {
        var i = 0;
        var currItem;
        var CssVisibleName = "visible";
        var CssInVisibleName = "invisible";
        var itemsArrId = itemsPrefix + "_inpItemsIds";
        var itemsArrValue = GetObjValue(itemsArrId);
        var itemsArr = itemsArrValue.split(",");
               
        if ((itemsArr) && (itemsArr.length == numOfItems))
        {
            while (i < numOfItems)
            {
                currItem = document.getElementById(itemsArr[i]);
                
                if (currItem)
                {
                    if (i < StartIndex || i > EndIndex)
                    {
                        // don't show
                        currItem.className = CssInVisibleName;
                    }
                    else // show
                    {
                        currItem.className = CssVisibleName;
                    }
                }
                
                i++;
            }
        }
     }
     catch (e)
     {
        alert(e.description);
     }        
}

function NextItem(itemsPrefix, numOfItems)
{
    var startIndexId = itemsPrefix + "_inpStartIndex";
    var endIndexId = itemsPrefix + "_inpEndIndex";
    var currStartIndex = eval(GetObjValue(startIndexId));
    var currEndIndex = eval(GetObjValue(endIndexId));
        
    if ((currStartIndex > -1) && (currEndIndex > -1) && (currEndIndex + 1 < numOfItems))
    {
        currStartIndex++;
        currEndIndex++;
        SetObjValue(startIndexId,currStartIndex);
        SetObjValue(endIndexId, currEndIndex);   
        SetVisibleItems(itemsPrefix, numOfItems ,currStartIndex, currEndIndex);                    
    }
    
}

function PrevItem(itemsPrefix, numOfItems)
{
    var startIndexId = itemsPrefix + "_inpStartIndex";
    var endIndexId = itemsPrefix + "_inpEndIndex";
    var currStartIndex = eval(GetObjValue(startIndexId));
    var currEndIndex = eval(GetObjValue(endIndexId));
     
    if ((currStartIndex > 0) && (currEndIndex > -1))
    {
        currStartIndex--;
        currEndIndex--;        
        SetObjValue(startIndexId,currStartIndex);
        SetObjValue(endIndexId, currEndIndex);   
        SetVisibleItems(itemsPrefix, numOfItems, currStartIndex, currEndIndex);                    
    }    
}

function GetObjValue(objID)
{
    var result = -1;
    var obj = document.getElementById(objID);
    if (obj)
    {
        result = obj.value;            
    }
    
    return result;
}

function SetObjValue(objID, value)
{
    var obj = document.getElementById(objID);
    try
    {
        obj.value = value;  
    }
    catch (e)
    {
        return false;
    }    
    
    return true;
}

/***********************************************************/
/* Accessability */
//Specify affected tags. Add or remove from list:

var tags = new Array( 'a', 'div','td','tr');

//Specify spectrum of different font sizes:
var sizes = new Array('x-small','small','medium','large','x-large');
var startSize = 1;

function resizeFont(target, incLevel)
{
    if (!document.getElementById) return
	var doc = document,cEl = null, currSize = startSize,i,j,cTags;
	
	currSize += incLevel;
	if ( currSize < 0 ) currSize = 0;
	if ( currSize > 4 ) currSize = 4;
	startSize = currSize;
	
	if ( !( cEl = doc.getElementById( target ) ) ) cEl = doc.getElementsByTagName( target )[ 0 ];

    //cEl.style.fontSize = sizes[ currSize ];

	for ( i = 0 ; i < tags.length ; i++ ) {
		cTags = cEl.getElementsByTagName( tags[ i ] );
		for ( j = 0 ; j < cTags.length ; j++ ) cTags[ j ].style.fontSize = sizes[ currSize ];
	}
}

// Open PopUp
// check this function in other browsers
function OpenPopup(url)
{
	window.open(url,'BigPicture','toolbar=0, status=0,menubar=0,scrollbars=0,resizable=0,width=300,height=300,top=50,left=50');
}

//Redirect Page
function RedirectPage(url, filter)
{
    var _newLocation = url;
    if (filter != "" && filter != '')
    {
        _newLocation = url + "?Filter=" + filter; 
    }    
    //alert(_newLocation);
    if (_newLocation != "")
    {
	    window.location = _newLocation;
    }
          
}

function RedirectSearch(url,filter,freetext)
{
    var filterObj = document.getElementById(filter);
    var freetextObj = document.getElementById(freetext);
    var filterValue = "";
    var freeTextValue ="";
   
    if (filterObj)
    {
        filterValue = escape(filterObj.value);    
    }
   
    if(freetextObj)
    {
        freeTextValue = escape(freetextObj.value);
    }
   
    var param =filterValue!="" ? "?Filter="+filterValue : "";
    
    if (freeTextValue.value!="")
    {
    
        if (param == "")
        {
            param = "?FreeText=" + freeTextValue;
            
        }
        else
        {
             param = param + "&FreeText=" + freeTextValue;
        }
    }
  
     window.location= url + param;
}