/***************************************************************************************************************
*   File Name			:	Pagination.js
*	Reviewed by			:   Anvar
*	Reviewed On 		:   08-Apr-2008
*	Modified By 		:	Sobana G
*	Date Modified		:	03-Apr-2008
*  	Section				:	Widgets
* 	Description			: 	Javascript functions used for pagination feature.
*	CopyRight			:	COPYRIGHT(c) 2007 World Bank All Rights Reserved
*   @since 				:	JIRA: WID-956 Author:Sobana G Date:08-Apr-2008 Change : Javascript functions used for pagination feature 
*/

//Javascript to generate Dynamic url w/o pagination 
		function getNonCachedURL(currenturl)
		{
			var baseurl=currenturl;
			var chkPageNo ='';
			if (baseurl.indexOf('startIndex')!= -1)
			{
			chkPageNo=checkForSymbol(baseurl,'startIndex','&');
			baseurl =removeNonCachedParam(baseurl,chkPageNo);
			}
			
		return baseurl;
		}
//End of dynamic url generation w/o pagination.


//Javascript function to remove PageNo,PageSize and startIndex from the NonCached URL
		function removeNonCachedParam(cURL,rParam)
			{
				var urlFirst ="";
				var urlSecond="";
				var urlLast="";
				var currentURL=cURL;
				var removeText=rParam;
				var urlSplit="";
				var truncatedURL="";
				var chkParam="";
					
				urlSplit=currentURL.split(removeText);
			
				if (urlSplit.length >1)
					{
						urlFirst=urlSplit[0];
						urlSecond=urlSplit[1];
						
						if (urlSecond.indexOf('&')!= -1){
						urlLast=urlSecond.substring(urlSecond.indexOf('&'));
						}
						else
						{
						urlLast=urlSecond;
						}
						if (urlFirst.indexOf('=')== -1)	{
						truncatedURL=urlFirst+urlLast.substring(1);
						}
						else {
							truncatedURL=urlFirst+urlLast;
						}
					
					if (truncatedURL.indexOf('PageNo')!=-1) 
					{
						chkParam=checkForSymbol(truncatedURL,'PageNo','&');
						truncatedURL=removeNonCachedParam(truncatedURL,chkParam);
						if (truncatedURL.indexOf('PageSize')!=-1)
						{
						chkParam=checkForSymbol(truncatedURL,'PageSize','&');
						truncatedURL=removeNonCachedParam(truncatedURL,chkParam);
						}
					}
				
		   		}
			else
				{
				truncatedURL=currentURL;
				}
			return truncatedURL;			
		 }
//End of Javascript function to remove PageNo,PageSize and startIndex from the NonCached URL

//Javascript function for removing PageNo,PageSize and startIndex from Cached URL. 	
			function removeCachedParam(cURL,rParam)
			{
				
				var urlFirst ="";
				var urlSecond="";
				var urlLast="";
				var currentURL=cURL;
				var removeText=rParam;
				var urlSplit="";
				var truncatedURL="";
				var chkParam="";
					
				urlSplit=currentURL.split(removeText);
			
				if (urlSplit.length >1)
					{
						urlFirst=urlSplit[0];
						urlSecond=urlSplit[1];
			
						if (urlSecond.indexOf('~')!= -1){
						urlLast=urlSecond.substring(urlSecond.indexOf('~'));
						}
						else {
						urlLast=",00.html";
						}
				
					if (urlFirst.indexOf('~')== -1)	{
						truncatedURL=urlFirst+urlLast.substring(1);
					}
					else {
						truncatedURL=urlFirst+urlLast;
					}
					
					if (truncatedURL.indexOf('PageSize')!=-1) 
					{
						chkParam=checkForSymbol(truncatedURL,'PageSize','~');
						truncatedURL=removeCachedParam(truncatedURL,chkParam);
						if (truncatedURL.indexOf('PageNo')!=-1)
						{
						chkParam=checkForSymbol(truncatedURL,'PageNo','~');
						truncatedURL=removeCachedParam(truncatedURL,chkParam);
						}
					}
				
		   		}
			else
				{
				truncatedURL=currentURL;
				}
			return truncatedURL;			
		 }
//End of Javascript function for removing PageNo,PageSize and startIndex from the Cached URL.
		
//Javascript function for checking '&' or '~' in PageNo,PageSize and startIndex during URL generation-Cached & NonCached
			function checkForSymbol(chkURL,chkParam,chkSymbol)
			{
			var chkURL=chkURL;
			var chkParam=chkParam;
			var chkSymbol=chkSymbol;
			var finalParam=chkSymbol+chkParam;
			if(chkURL.indexOf(finalParam)!=-1)
			{
			finalParam;
			}
			else
			{
			finalParam=chkParam;
			}
			return finalParam;
			}
//End of Javascript function for checking '&' or '~' in PageNo,PageSize and startIndex during URL generation-Cached & NonCached	