/*var newRecordStart;
var newRecordEnd;

var requestUrl = "";
function getPaginationStr(totalResult,pageNum,recordStart,noOfRecordsPerPage) {

	var paginationStr = '';
	var numOfPages    = Math.ceil(totalResult / noOfRecordsPerPage);

	newRecordStart = ((recordStart + 1) * noOfRecordsPerPage) + 1; // For Query Purpose.
	newRecordEnd   = ((recordStart + 1) * noOfRecordsPerPage) + 10; // For Query Purpose.

	var numOfPagesBegin = pageNum - 3;
	while(numOfPagesBegin < 1)
	  numOfPagesBegin++;
	
	var numOfPagesEnd = pageNum + 3;
	while(numOfPagesEnd > numOfPages)
		numOfPagesEnd--;

	if (pageNum > 1) {
		paginationStr += "<a href='javascript:loadResult(\""+requestUrl+"\");'>&laquo; Previous</a> | ";
	}

	if (numOfPages == 1) {
		if(totalResult > 0) {
			paginationStr += "1-"+totalResult;
		} else {
			paginationStr += "";
		}
	} else if (numOfPages > 1){
		for (i = numOfPagesBegin; i <= numOfPagesEnd ; i++) {
			if( totalResult < (((i-1) * noOfRecordsPerPage) + 10)) {
				if(i == pageNum) {
					paginationStr += (((i-1) * noOfRecordsPerPage) + 1)  + "-" + totalResult; 
				} else {
					paginationStr += "<a href='javascript:loadResult(\""+requestUrl+"\");'>" + (((i-1) * noOfRecordsPerPage) + 1)  + "-" + totalResult +"</a> | "; 
				}
			} else {
				if(i == pageNum) {
					paginationStr += (((i-1) * noOfRecordsPerPage) + 1)  + "-" + (((i-1) * noOfRecordsPerPage) + 10) + " | "; 
				} else {
					paginationStr += "<a href='javascript:loadResult(\""+requestUrl+"\");'>"+(((i-1) * noOfRecordsPerPage) + 1)  + "-" + (((i-1) * noOfRecordsPerPage) + 10) + "</a> | "; 
				}
			}
		}
	}

	if (pageNum < numOfPages) {
		paginationStr += " <a href='javascript:loadResult(\""+requestUrl+"\");'>Next &raquo;</a>";
	}

	return paginationStr;

}*/

var noOfRecordsPerPage = 10;
var requestUrl = "";

function getPaginationStr(totalResult, startVal, endVal, request_uri, query_params, serverName, requestURI) {
	var paginationStr = '';
	var numOfPages    = Math.ceil(totalResult / noOfRecordsPerPage);
	
	if(startVal == 0) 
		startVal = 1;
	var pageNum = Math.ceil(startVal / noOfRecordsPerPage);

	var newStart;
	var newEnd;
	var newPage;

		
	//alert("pageNum::"+pageNum);
	//alert("startVal::"+startVal);
	/*if (pageNum%4 == 0){
		if (pageNum == numOfPages - 1) {
			 var numOfPagesBegin = pageNum - 2;
		} else if (pageNum == numOfPages) {
			var numOfPagesBegin = pageNum - 3;
		}  else {
			 var numOfPagesBegin = pageNum;
		}
	}else*/
	if (pageNum > 3) { 
		if (pageNum == numOfPages - 1) 
        		var numOfPagesBegin = pageNum - 2;
	        else if (pageNum == numOfPages) 
        	        var numOfPagesBegin = pageNum - 3;
		else
			var numOfPagesBegin = pageNum - 2;
	} else {
		var numOfPagesBegin = pageNum - 3;
	}
	while(numOfPagesBegin < 1)
	  numOfPagesBegin++;

 	//if (pageNum%4 == 0)	
	if (pageNum > 3)
		var numOfPagesEnd = pageNum + 1;	
	else
		var numOfPagesEnd = 4;
	/*else {
		if(pageNum < 4) 
			var numOfPagesEnd = numOfPagesBegin + 3;
		else	
			var numOfPagesEnd = pageNum;
	}*/
	while(numOfPagesEnd > numOfPages)
		numOfPagesEnd--;

	requestUrl = request_uri + "?" + query_params;

	var hostName_reqUri = "http://"+serverName+"/"+requestURI+"/";

	var listingPage   = getQueryValuePg(requestUrl,'listing=');

	var cleanUrlStart = getCleanUrlStart(requestUrl, listingPage);

	var seoVal        = getQueryValuePg(requestUrl,'seo=');
	if (seoVal == 1) { var SEO =1; } else { var SEO = 0; }

	var cleanUrlEnd   = getCleanUrlEnd(listingPage,SEO);
  
	//alert("numOfPagesBegin::"+numOfPagesBegin);
	//alert("numOfPagesEnd::"+numOfPagesEnd);
	if (pageNum > 1) {
		newStart  = (((pageNum - 1) - 1) * noOfRecordsPerPage) + 1; 	
		newEnd    = (((pageNum - 1) - 1) * noOfRecordsPerPage) + 10;
		
		prevStartSearchStr  = "start="+startVal;
		prevStartReplaceStr = "start="+newStart;
		
		prevRequestUrl = requestUrl.replace(prevStartSearchStr,prevStartReplaceStr);	
		
		prevEndSearchStr  = "end="+endVal;
                prevEndReplaceStr = "end="+newEnd;
		
		prevRequestUrl = prevRequestUrl.replace(prevEndSearchStr,prevEndReplaceStr);
	
		newPageNum  = pageNum-1;	
		prevPageSearchStr  = "page="+pageNum;
                prevPageReplaceStr = "page="+newPageNum;
		
		prevRequestUrl       = prevRequestUrl.replace(prevPageSearchStr,prevPageReplaceStr);
		prevRequestUrl_clean = hostName_reqUri+cleanUrlStart+newStart+":"+newEnd+cleanUrlEnd;
	 
		paginationStr += "<a href=\""+prevRequestUrl_clean+"\" onclick='javascript:loadResult(\""+prevRequestUrl+"\");return false;'>&laquo; Previous</a> | ";
		//alert("prev if");
	}

	if (numOfPages == 1) {
		if(totalResult > 0) {
			paginationStr += "1-"+totalResult;
		} else {
			paginationStr += "";
		}
		 //alert("numOfPages = 1 if");
	} else if (numOfPages > 1){
		//alert("numOfPages > 1 if");	
		for (i = numOfPagesBegin; i <= numOfPagesEnd ; i++) {
				
			if( totalResult < (((i-1) * noOfRecordsPerPage) + 10)) {
				if(i == pageNum) {
					paginationStr += (((i-1) * noOfRecordsPerPage) + 1)  + "-" + totalResult; 
				} else {
					newStart = (((i-1) * noOfRecordsPerPage) + 1);
					newEnd   = totalResult;

					pgStartSearchStr  = "start="+startVal;
					pgStartReplaceStr = "start="+newStart;

					pageRequestUrl    = requestUrl.replace(pgStartSearchStr,pgStartReplaceStr);

					pgEndSearchStr  = "end="+endVal;
                                        pgEndReplaceStr = "end="+newEnd;
					
					pageRequestUrl = pageRequestUrl.replace(pgEndSearchStr,pgEndReplaceStr);

					pgPageSearchStr  = "page="+pageNum;
                			pgPageReplaceStr = "page="+i;
		
					pageRequestUrl       = pageRequestUrl.replace(pgPageSearchStr,pgPageReplaceStr);
					pageRequestUrl_clean = hostName_reqUri+cleanUrlStart+newStart+":"+newEnd+cleanUrlEnd;

					paginationStr += "<a href=\""+pageRequestUrl_clean+"\" onclick='javascript:loadResult(\""+pageRequestUrl+"\");return false;'>" + (((i-1) * noOfRecordsPerPage) + 1)  + "-" + totalResult +"</a> | "; 
				}
			} else {
				if(i == pageNum) {
					paginationStr += (((i-1) * noOfRecordsPerPage) + 1)  + "-" + (((i-1) * noOfRecordsPerPage) + 10) + " | "; 
				} else {
					newStart = (((i-1) * noOfRecordsPerPage) + 1);
                                        newEnd   = (((i-1) * noOfRecordsPerPage) + 10);
                                        
					pgStartSearchStr  = "start="+startVal;
                                        pgStartReplaceStr = "start="+newStart;

                                        pageRequestUrl    = requestUrl.replace(pgStartSearchStr,pgStartReplaceStr);

                                        pgEndSearchStr  = "end="+endVal;
                                        pgEndReplaceStr = "end="+newEnd;
                                        
					pageRequestUrl = pageRequestUrl.replace(pgEndSearchStr,pgEndReplaceStr);
					
					pgPageSearchStr  = "page="+pageNum;
                			pgPageReplaceStr = "page="+i;
		
					pageRequestUrl = pageRequestUrl.replace(pgPageSearchStr,pgPageReplaceStr);
					pageRequestUrl_clean = hostName_reqUri+cleanUrlStart+newStart+":"+newEnd+cleanUrlEnd;

					paginationStr += "<a href=\""+pageRequestUrl_clean+"\"  onclick='javascript:loadResult(\""+pageRequestUrl+"\");return false'>"+(((i-1) * noOfRecordsPerPage) + 1)  + "-" + (((i-1) * noOfRecordsPerPage) + 10) + "</a> | "; 
				}
			}
		}
	}

	if (pageNum < numOfPages) {
		newStart  = (((pageNum - 1) + 1) * noOfRecordsPerPage) + 1;
                newEnd    = (((pageNum - 1) + 1) * noOfRecordsPerPage) + 10;
               
		nextstartSearchStr = "start="+startVal;
                nextstartReplaceStr = "start="+newStart;
                
		nextRequestUrl = requestUrl.replace(nextstartSearchStr,nextstartReplaceStr);

		nextendSearchStr = "end="+endVal;
		if(pageNum == (numOfPages - 1))
            		nextendReplaceStr = "end="+totalResult;
		else
			nextendReplaceStr = "end="+newEnd;
                
		nextRequestUrl = nextRequestUrl.replace(nextendSearchStr,nextendReplaceStr);
	
		newPageNum  = pageNum+1;	
		nextPageSearchStr  = "page="+pageNum;
		nextPageReplaceStr = "page="+newPageNum;
		
		nextRequestUrl       = nextRequestUrl.replace(nextPageSearchStr,nextPageReplaceStr);
		if(pageNum == (numOfPages - 1)) {
			nextRequestUrl_clean = hostName_reqUri+cleanUrlStart+newStart+":"+totalResult+cleanUrlEnd;
		} else {
			nextRequestUrl_clean = hostName_reqUri+cleanUrlStart+newStart+":"+newEnd+cleanUrlEnd;
		}
		paginationStr += " <a href=\""+nextRequestUrl_clean+"\" onclick='javascript:loadResult(\""+nextRequestUrl+"\");return false;'>Next &raquo;</a>";
		//alert("next if");
	}

	return paginationStr;


}

function getQueryValuePg(url,valueOf){
	var paramVal = '';
        urlSplitQuery = url.split("?");
        urlQuery      = urlSplitQuery[1];

        urlParamSplit    = urlQuery.split("&");
        urlParamSplitLen = urlParamSplit.length;

        for(i = 0; i < urlParamSplitLen; i++ ){
                if(urlParamSplit[i].indexOf(valueOf) != -1){
                        paramValArr = urlParamSplit[i].split("=");
                        paramVal    = paramValArr[1];
                        break;
                }
        }
        return paramVal;
}

function getCleanUrlStart(requestUrl, listingPage){
	
	var city      = getQueryValuePg(requestUrl, 'city=');
	var state     = getQueryValuePg(requestUrl, 'state=');
	var country   = getQueryValuePg(requestUrl, 'country'); 	
	var cityId    = getQueryValuePg(requestUrl, 'cityId');
	var orderBy   = getQueryValuePg(requestUrl, 'orderBy');
	var order     = getQueryValuePg(requestUrl, 'order=');
	var hotelName = getQueryValuePg(requestUrl, 'hotelName');

	var urlStart = '';
	if( (listingPage == 'restaurants') || (listingPage == 'bars') || (listingPage == 'sights') || (listingPage == 'activities') || (listingPage == 'events') ) {
		if(state != '') {
			urlStart = city+"-"+state+"-"+country+":"+cityId+":";
		} else {
			urlStart = city+"-"+country+":"+cityId+":";
		}
        } else if(listingPage == 'hotels_direct') {
		if(state != '') {
                        urlStart = city+"-"+state+"-"+country+":"+cityId+"-"+orderBy+"-"+order+"-";
                } else {
                        urlStart = city+"-"+country+":"+cityId+"-"+orderBy+"-"+order+"-";
                }
	} else if(listingPage == 'hotels_indirect') {
		urlStart = hotelName+"-"+orderBy+"-"+order+"-"; 
	}
	return urlStart;	
}


function getCleanUrlEnd(listingPage, seo){
	var urlEnd = '';
	switch(listingPage) {
		case 'hotels_direct':
			if(seo) { 
				urlEnd = "-ajax-seo-listing-hotel-direct";
			} else {
				urlEnd = "-ajax-listing-hotel-direct";
			}
			break;
		case 'hotels_indirect':
			if(seo) {
				urlEnd = "-ajax-seo-listing-hotel-indirect";
			} else {
				urlEnd = "-ajax-listing-hotel-indirect";
			}
			break;	
		case 'restaurants':
			if(seo) { 
				urlEnd = "-ajax-seo-listing-restaurants";
			} else {
				urlEnd = "-ajax-listing-restaurants";
			}
			break;
		case 'activities':
			if(seo) { 
				urlEnd = "-ajax-seo-listing-activities";
			} else {
				urlEnd = "-ajax-listing-activities";
			}
			break;
		case 'bars':
			if(seo) { 
				urlEnd = "-ajax-seo-listing-bars";
			} else {
				urlEnd = "-ajax-listing-bars";
			}
			break;
		case 'sights':
			if(seo) { 
				urlEnd = "-ajax-seo-listing-attractions";
			} else {
				urlEnd = "-ajax-listing-attractions";
			}
			break;
		case 'events':
			if(seo) { 
				urlEnd = "-ajax-seo-listing-events";
			} else {
				urlEnd = "-ajax-listing-events";
			}
			break;
		default:
			break;	
	

	}
	return urlEnd;
}
