﻿var pageOption=new Object();
pageOption.commandlist=new Array();
pageOption.PageOptionCreate=function(url,thePage,currentPage,value,querystring,currentclassname,classname)
{
	this.url=url;
	this.currentPage=currentPage;
	this.querystring=querystring;
	currentclassname=(currentclassname)?currentclassname:"currentdivclass";
	classname=(classname)?classname:"divclass";
	pageOption.PageOptionCreate.createPageOption.call(this,thePage,value,currentPage,currentclassname,classname);
}
pageOption.PageOptionCreate.createPageOption=function(thePage,value,currentpage,currentclassname,classname)
{
	var element=document.createElement("div");
	var name=(Number(thePage)==Number(currentpage))?currentclassname:classname;
	element.className=name;
	element.elementCount=value;
	element.elementObject=this;
	element.name=name;
	element.onmouseover=mouseoverevent;
	element.onmouseout=mouseoutevent;
	var hrefobject=document.createElement("a");
	hrefobject.href=this.url+"?Page="+value+this.querystring;
	hrefobject.className=name;
	var text=document.createTextNode(value);
	hrefobject.appendChild(text);
	element.appendChild(hrefobject);
/*	element.onclick=clickevent;*/
/*	*/
/*	element.appendChild(text);*/
	pageOption.commandlist[pageOption.commandlist.length]=element;
}
pageOption.InitialOption=function(url,currentPage,allPage,paginalCount,querystring,paginalOption,currentclassname,classname)
{
	this.currentPage=Number(currentPage);
	this.paginalOption=(paginalOption)?Number(paginalOption):8;
	this.allPage=Number(allPage);
	this.paginalCount=(paginalCount)?Number(paginalCount):10;
	if(Number(allPage)>=0&&Number(currentPage)>=0&&Number(currentPage)<=Number(allPage))
	{
		var endpage=(this.currentPage>=this.paginalOption)?(this.currentPage+1):this.paginalOption;
		var endpage=(endpage>this.allPage)?this.allPage:endpage;
		var startpage=(endpage>this.paginalOption)?(endpage-this.paginalOption+1):1;
		if(startpage>=3)
		{
			pageOption.PageOptionCreate(url,1,Number(currentPage),1,querystring,currentclassname,classname);
			pageOption.creatDiv("....","splitclass");
		}
		for(i=Number(startpage);i<=Number(endpage);i++)
		{
			pageOption.PageOptionCreate(url,i,Number(currentPage),i,querystring,currentclassname,classname);
		}
		if(endpage<=this.allPage-2)
		{
			pageOption.creatDiv("....","splitclass");
			pageOption.PageOptionCreate(url,this.allPage,Number(currentPage),this.allPage,querystring,currentclassname,classname);	
		}
	}
}


pageOption.createPreHref=function(object,url,currentPage,allPage,querystring,showdivclass,hrefclass)
{
	var element=pageOption.hrefDiv(showdivclass);
	var hrefelement=document.createElement("a");
	hrefelement.className=(hrefclass)?hrefclass:"hrefclass";
	pageOption.preHref(hrefelement,url,Number(currentPage),querystring,"Previous Page");
	element.appendChild(hrefelement);
	object.appendChild(element);
}
pageOption.createNextHref=function(object,url,currentPage,allPage,querystring,showdivclass,hrefclass)
{
	var element=pageOption.hrefDiv(showdivclass);
	var hrefelement=document.createElement("a");
	hrefelement.className=(hrefclass)?hrefclass:"hrefclass";
	pageOption.nextHref(hrefelement,url,Number(currentPage),querystring,allPage,"Next Page");
	element.appendChild(hrefelement);
	object.appendChild(element);
}
pageOption.hrefDiv=function(showdivclass)
{
	var element=document.createElement("div");
	var showdivclass=(showdivclass)?showdivclass:"showdivclass";
	element.className=showdivclass;
	return element;
}
pageOption.preHref=function(object,url,currentPage,querystring,text)
{
	if(Number(currentPage)==1)
	{
		object.href="javascript:";
		object.className="validClass";
	}
	else
	{
		object.href=url+"?Page="+(Number(currentPage)-1)+this.querystring;
	}
	object.objectClass=object.className;
	pageOption.hrefText(object,text);
}
pageOption.nextHref=function(object,url,currentPage,querystring,allPage,text)
{
	if(Number(currentPage)==Number(allPage))
	{
		object.href="javascript:";
		object.className="validClass";
	}
	else
	{
		object.href=url+"?Page="+(Number(currentPage)+1)+this.querystring;
	}
	object.objectClass=object.className;
	pageOption.hrefText(object,text);
}
pageOption.hrefText=function(hrefelement,text)
{
	var text=document.createTextNode(text);
	hrefelement.appendChild(text);
}
pageOption.creatDiv=function(value,classname)
{
	var element=document.createElement("div");
	element.className=classname;
	var text=document.createTextNode(value);
	element.appendChild(text);
	pageOption.commandlist[pageOption.commandlist.length]=element;
}


pageOption.createPageOption=function(object)
{
	if(pageOption.commandlist&&pageOption.commandlist.length>0&&pageOption.commandlist instanceof Array)
	{
		for(i=0;i<pageOption.commandlist.length;i++)
		{
			object.appendChild(pageOption.commandlist[i]);
		}
	}
}
function mouseoverevent()
{
	this.className="mousecurrentdivclass";
}
function mouseoutevent()
{
	this.className=this.name;
}
function clickevent()
{
	var element=this.elementObject;
	var url=element.url+"?Page="+this.elementCount+this.querystring;
	location.href=url;
}

