IsAdmin=0
var Phase
var PageLoadingID
var PageLoad
var AdminPageLoad

$(document).ready(function () {
	if (IsAdmin!=1) {
		parent.document.title="Alfa Misr - "+PgTitle
	}
	if (GetObj("TopMenu")) {
		Phase=1
	} else {
		Phase=4
	}
	PageLoadingID=setInterval(PageLoading,1)
})

function PageLoading() {
	switch (Phase) {
		case 1:
			AddMenu("TopMenu")
			Phase=2
			break
		case 2: // Top menu loaded
			if (MenuAdded==1) {
				AddMenu("LeftMenu")
				Phase=3
			}
			break
		case 3: // Left menu loaded
			if (MenuAdded==1) {
				AddMenu("BottomMenu")
				if (MenuFill("LeftMenu",0,"Product")) {
					MenuFill("LeftMenu",1,"Spec")
				}
				Phase=4
			}
			break
		case 4:
			clearInterval(PageLoadingID)
			$("#ContentDiv").html($("#Content").html())
			$("#Content").remove()
			if (AdminPageLoad) {
				AdminPageLoad()
			}
			if (PageLoad) {
				PageLoad()
			}
			$(".InCenter").each(function () {
				Pad=($(this).parent().width()-$(this).width())/2
				$(this).css("margin-left",Pad+"px")
			})

			$(".InMiddle").each(function () {
				Pad=($(this).parent().height()-$(this).height())/2
				$(this).css("margin-top",Pad+"px")
			})

			$(".InBottom").each(function () {
				Pad=$(this).parent().height()-$(this).height()
				$(this).css("margin-top",Pad+"px")
			})

			Forms=document.forms
			for (I=0;I<Forms.length;I++) {
				with (Forms[I]) {
					method="post"
					onkeydown=function () {
						ValKeyDn=event.srcElement.value
					}
					onkeyup=function () {
						Tag=event.srcElement.tagName
						if (Tag=="TEXTAREA" || Tag=="A") {
							return
						}
						K=event.keyCode
						if (K==13) {
							ValKeyUp=event.srcElement.value
							if (ValKeyDn==ValKeyUp) {
								Validate()
							}
						}
					}
					Els=elements
					for (J=0;J<Els.length;J++) {
						with (Els[J]) {
						 	if (id!="") {
								name=id
							}
						}
					}
				}
			}
			if (Forms[0] && Forms[0].id!="AdminFormView") {
				I=0
				while (Forms[0].elements[I].type=="hidden") {
					I++
				}
				Forms[0].elements[I].focus()
			}
			break
	}
}

function MenuFill(MenuName,ItemI,DbItem) {
	Cmd="SELECT ID,Name FROM "+DbItem+"s WHERE Visible=Yes ORDER BY TheOrder"
	Data=AJAXGet(Cmd)
	Menu=document.createElement("ul")
	SubMenus.push(Menu)
	Item=GetObj(MenuName).childNodes[ItemI]
	with (Item) {
		onmouseover=ItemMouseOver
		onmouseout=ItemMouseOut
		appendChild(Menu)
		with (childNodes[0]) {
			href="JavaScript:"
			style.cursor="default"
		}
	}
	Item.Alpha=0
	Item.AlphaDir=0

	for (I=0;I<Data.length;I++) {
		Row=Data[I]
		SubItem=document.createElement("li")
		if (I==0) {
			with (SubItem.style) {
				borderTopStyle=Item.style.borderTopStyle
				borderTopColor="transparent"
				
				borderLeftStyle=Item.style.borderLeftStyle
				borderLeftColor="transparent"
			}
		}
		Menu.appendChild(SubItem)

		Link=document.createElement("a")
		SubItem.appendChild(Link)
		with (Link) {
			href=DbItem+"Details.asp?ID="+Row["ID"]
			innerText=Row["Name"]
		}
	}
	return true
}

function SelectFill(SelectName,Cmd,OptText,OptVal) {
	Select=GetObj(SelectName)
	Data=AJAXGet(Cmd)
	for (I=0;I<Data.length;I++) {
		Row=Data[I]
		Opt=document.createElement("option")
		with (Opt) {
			innerText=Row[OptText]
			value=Row[OptVal]
		}
		Select.appendChild(Opt)
	}
}

function DataGridFill(DataGridID) {
	DataGrid=GetObj(DataGridID)
	if (DataGrid.id=="AdminDataGrid") {
		Admin=1
	}
	if (IsAdmin==1) {
		Rows=DataGrid.rows
		RowsN=Rows.length
		if (RowsN>1) {
			for (I=1;I<RowsN;I++) {
				DataGrid.deleteRow(1)
			}
		}
	}
	Cmd=DataGrid.Cmd
	Data=AJAXGet(Cmd)
	with (DataGrid) {
		Head=rows[0].cells
		ColsN=Head.length
		for (I=0;I<Data.length;I++) {
			TR=insertRow()
			with (TR) {
				Val=Data[I]["ID"]
				id=Val
				if (I%2==1) {
					className="AlterRow"
				}
				for (J=0;J<ColsN;J++) {
					Type=Head[J].Type
					Field=Head[J].DataField
					Val=Data[I][Field]
					switch (Type) {
						case "Text":
							Obj=document.createElement("div")
							Obj.innerHTML=Val
							break
						case "CheckBox":
							Obj=document.createElement("input")
							with (Obj) {
								type="checkbox"
								disabled=1
							}
							break
						case "Options":
							Obj=document.createElement("span")
							PutAdminBtn(Obj,"Edit","DataGridEdit()")
							if (DataGrid.AllowSort=="True") {
								PutAdminBtn(Obj,"Up","ChangeOrder(-1)")
								PutAdminBtn(Obj,"Down","ChangeOrder(1)")
							}
							PutAdminBtn(Obj,"Delete","DataGridDelete()")
							break
					}
					Cell=insertCell()
					if ((Type=="Text" || Type=="TextArea") && DataGridID=="AdminDataGrid") {
						Obj.style.width=(Cell.offsetWidth-4)+"px"
					}
					Cell.appendChild(Obj)
					if (Type=="CheckBox" && Val=="True") {
						Obj.checked=1
					}
				}
			}
		}
		if (IsAdmin==1 && !GetObj("AddBtn")) {
			P=document.createElement("p")
			P.align="right"
			parentNode.insertBefore(P,nextSibling)
			PutAdminBtn(P,"Add","DataGridAdd()")
		}
	}
}

function GetObj(ObjName) {
	return document.getElementById(ObjName)
}

function FindObj(ObjName,ParentObj) {
	Children=ParentObj.childNodes
	for (I=0;I<Children.length;I++) {
		if (Children[I].id==ObjName) {
			return Children[I]
		} else {
			return FindObj(ObjName,Children[I])
		}
	}
}

function FindSpecParent(Obj,Tag) {
	while (Obj.tagName!=Tag) {
		Obj=Obj.parentNode
	} 
	return Obj
}

function PosX(Obj) {
	X=0
	do {
		X+=Obj.offsetLeft
		Obj=Obj.offsetParent
	} while (Obj!=null)
	return X
}

function PosY(Obj) {
	Y=0
	do {
		Y+=Obj.offsetTop
		Obj=Obj.offsetParent
	} while (Obj!=null)
	return Y
}
