Teknologi 3D pada Halaman WEB
Sabtu, 06 Februari 2010
Menubar pada Halaman Web
MEMBUAT MENU PADA INTERNET EXPLORER DENGAN ICON DI SEBELAH KIRI (SAMA DENGAN PROGRAM MICROSOFT OFFICE)
COPY KODE DI BAWAH INI! JALANKAN PADA INTERNET EXPLORER
HAPUS TAG BR/
<br /><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <br /><!-- saved from url=(0082)http://msdn.microsoft.com/workshop/samples/author/dhtml/howto/MouseCaptureDDM3.htm --> <br /><HTML><HEAD><TITLE>Mouse Capture Menu Sample #3</TITLE> <br /><META http-equiv=Content-Type content="text/html; CHARSET=iso-8859-1"> <br /><META content=InetSDK name=AUTHOR> <br /><META content=EN-US name=MS.LOCALE> <br /><META content=noindex name=ROBOTS><!-- The styles are used to give the menu visual appeal --> <br /><STYLE>.menucontainer { <br /> BORDER-RIGHT: #505050 1px solid; BORDER-TOP: #cfcfcf 1px solid; FONT-SIZE: 8pt; Z-INDEX: 6; LEFT: 0px; BORDER-LEFT: #cfcfcf 1px solid; BORDER-BOTTOM: #505050 1px solid; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0px; BACKGROUND-COLOR: #000000 <br />} <br />.menulabel { <br /> BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; Z-INDEX: 7; BORDER-LEFT: #000000 1px solid; WIDTH: 75px; CURSOR: hand; COLOR: #ffffff; BORDER-BOTTOM: #000000 1px solid; POSITION: absolute; BACKGROUND-COLOR: #000000; TEXT-ALIGN: center <br />} <br />.menulabel2 { <br /> BORDER-RIGHT: #505050 1px solid; BORDER-TOP: #cfcfcf 1px solid; Z-INDEX: 7; BORDER-LEFT: #cfcfcf 1px solid; WIDTH: 75px; CURSOR: hand; COLOR: #ffffff; BORDER-BOTTOM: #505050 1px solid; POSITION: absolute; BACKGROUND-COLOR: #000000; TEXT-ALIGN: center <br />} <br />.menulabel3 { <br /> BORDER-RIGHT: #cfcfcf 1px solid; BORDER-TOP: #505050 1px solid; Z-INDEX: 7; BORDER-LEFT: #505050 1px solid; WIDTH: 75px; CURSOR: hand; COLOR: #ffffff; BORDER-BOTTOM: #cfcfcf 1px solid; POSITION: absolute; BACKGROUND-COLOR: #000000; TEXT-ALIGN: center <br />} <br />.menugroup { <br /> BORDER-RIGHT: #505050 1px solid; BORDER-TOP: #cfcfcf 1px solid; DISPLAY: none; PADDING-LEFT: 0px; FONT-SIZE: 8pt; Z-INDEX: 7; LEFT: 0px; PADDING-BOTTOM: 2px; BORDER-LEFT: #cfcfcf 1px solid; WIDTH: 150px; PADDING-TOP: 2px; BORDER-BOTTOM: #505050 1px solid; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0px; BACKGROUND-COLOR: #000000 <br />} <br />.scratch { <br /> BORDER-RIGHT: #999900 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #ffffdd 1px solid; DISPLAY: none; PADDING-LEFT: 5px; FONT-SIZE: 8pt; Z-INDEX: 4; LEFT: 0px; PADDING-BOTTOM: 5px; OVERFLOW: auto; BORDER-LEFT: #ffffdd 1px solid; WIDTH: 250px; PADDING-TOP: 5px; BORDER-BOTTOM: #999900 1px solid; FONT-FAMILY: Arial; POSITION: absolute; TOP: 0px; HEIGHT: 250px; BACKGROUND-COLOR: #ffffcc <br />} <br />.scratchx { <br /> BORDER-RIGHT: #999900 1px solid; BORDER-TOP: #ffffdd 1px solid; FONT-WEIGHT: bold; FONT-SIZE: 12pt; Z-INDEX: 4; LEFT: 0px; BORDER-LEFT: #ffffdd 1px solid; CURSOR: hand; BORDER-BOTTOM: #999900 1px solid; FONT-FAMILY: Arial; POSITION: relative; TOP: 0px; HEIGHT: 12px; BACKGROUND-COLOR: #ffffcc <br />} <br /></STYLE> <br /> <br /><SCRIPT id=oScript> <br />// Integer used to track the total number of menu groups. <br />var iGroupCount=0; <br /> <br />// Integer used to track the total number of menu items. <br />var iItemCount=0; <br /> <br />// Object placeholder for the srcElement of an event. <br />var oWorkItem=""; <br /> <br />// Object placeholder for the last know menu. <br />var oDistinctMenu=""; <br /> <br />// Object placeholder for the last known menu group. <br />var oDistinctGroup=""; <br /> <br />// Boolean used to monitor the overall status of the menu. <br />var bOpenMenu=false; <br /> <br />// Integer used to specify the location of the History group. <br />var iHistoryID=-1; <br /> <br />// Additional information for sample menu item action. <br />var sScratchInclude='<div component="scratch" class=scratchx>DHTML Menu Sample #1</div>'; <br /> <br />// When the body loads, setup intial settings. <br />function fnInit(){ <br /> // Set the menu container to the width of the body. <br /> //oMenuContainer.style.width=document.body.clientWidth-2; <br /> // Use new setExpression to set the menu container to the width of the body. <br /> oMenuContainer.style.setExpression("width","document.body.clientWidth-2"); <br /> <br /> // Add in additional objects and set intial settings for sample menu item action. <br /> oMenuContainer.innerHTML='<div id=oScratch class="scratch"></div>'; <br /> oScratch.style.top=document.body.clientHeight/2 - oScratch.offsetHeight/2; <br /> oScratch.style.left=document.body.clientWidth/2 - oScratch.offsetWidth/2; <br /> oScratch.innerHTML=sScratchInclude; <br /> <br /> // Add in menu groups and menu items. <br /> fnAddMenuGroup("Search"); <br /> fnAddMenuItem(1,"Search Engines","fnSearch","folder"); <br /> fnAddMenuItem(1,"More Searching","fnSearch2","folder"); <br /> fnAddMenuGroup("Stuff"); <br /> fnAddMenuItem(2,"Random Nonsense","fnRandomNonsense","folder"); <br /> fnAddMenuGroup("My Records"); <br /> fnAddMenuItem(3,"Letter to Mom","fnNote1","document2"); <br /> fnAddMenuItem(3,"Letter to Herbie","fnNote2","document2"); <br /> fnAddMenuItem(3,"Grocery List","fnNote3","document2"); <br /> <br /> // A special condition is set for the fnAddMenuItem ... if it has a value of ~SPACER, then a separator is used. <br /> fnAddMenuItem(3,"~SPACER","Invalid"); <br /> fnAddMenuItem(3,"Certificates","fnNote4","certificate"); <br /> <br /> // The HISTORY menu group is a special name within this script, so the name should not be used for other menu groups. <br /> fnAddMenuGroup("History"); <br /> <br /> // Set the height of the menu container to the height of the menu items plus a little extra slack space. <br /> if(oMenuContainer.innerHTML!=""){ <br /> oMenuContainer.style.height=oLabel1.offsetHeight + oLabel1.offsetTop + 4; <br /> } <br />} <br /> <br />// All click events for the menu go through here. <br />// When mouse capture is set, all click events for everything goes through here. <br />function fnSwitchMenu(){ <br /> oWorkItem=event.srcElement; <br /> <br /> // If the object that was clicked is a menu label, then continue. <br /> if(oWorkItem.component=="menulabel"){ <br /> // If the last known menu is different than the menu that was clicked, close that previous menu item. <br /> // This is what makes the menu follow the mouse. It works in part with the fnHighlight function. <br /> if((oDistinctMenu!=oWorkItem)&&(oDistinctMenu!="")){ <br /> oDistinctGroup=eval("oGroup" + oDistinctMenu.groupid); <br /> oDistinctGroup.style.display="none"; <br /> oDistinctMenu.menustatus="closed"; <br /> oDistinctMenu.className="menulabel"; <br /> } <br /> // Set the last known menu and menu group to the current object. <br /> oDistinctMenu=oWorkItem; <br /> oDistinctGroup=eval("oGroup" + oWorkItem.groupid); <br /> // If the current menu is closed, open it and give the menu mouse capture. <br /> if(oDistinctMenu.menustatus=="closed"){ <br /> oDistinctMenu.menustatus="open"; <br /> oDistinctMenu.className="menulabel3"; <br /> oDistinctGroup.style.display="block"; <br /> if(bOpenMenu==false){ <br /> bOpenMenu=true; <br /> oMenuContainer.setCapture(); <br /> } <br /> } <br /> else{ <br /> // If the menu is not closed, then close it and remove mouse capture. <br /> bOpenMenu=false; <br /> oMenuContainer.releaseCapture(); <br /> oDistinctMenu.menustatus="closed"; <br /> oDistinctGroup.style.display="none"; <br /> } <br /> } <br /> if(oWorkItem.component=="menuitem"){ <br /> // If the object is a menu item, then process its MENUACTION. <br /> if(oWorkItem.menuaction!="Invalid"){ <br /> eval(oWorkItem.menuaction + "()"); <br /> // If the HISTORY group exists, then add the menu item to the history list. <br /> if(iHistoryID!=-1){ <br /> fnAddMenuItem(iHistoryID,oWorkItem.innerText,oWorkItem.menuaction,"document"); <br /> } <br /> } <br /> // Remove capture from the menu and close it by clicking on the same menu item. <br /> oMenuContainer.releaseCapture(); <br /> oDistinctMenu.click(); <br /> // Since the mouse is probably not over the menu anymore and the menu was closed, go ahead and set the className back to the original setting. <br /> oDistinctMenu.className="menulabel"; <br /> } <br /> // If the object is not any part of the menu, and the menu is open, close the menu, remove capture, but stop the event from processing. <br /> if(!oWorkItem.component){ <br /> if(bOpenMenu==true){ <br /> oDistinctMenu.className="menulabel"; <br /> oMenuContainer.releaseCapture(); <br /> oDistinctMenu.click(); <br /> event.returnValue=false; <br /> } <br /> } <br /> // Close the scratch pad used for the sample menu item action code. <br /> if(oWorkItem.component=="scratch"){ <br /> oScratch.style.display="none"; <br /> } <br />} <br /> <br />// This function is used when the mouse moves over menu labels and menu items. <br />function fnHighlight(){ <br /> // Only continue if the mouse is within the client area. This is only a concern when setCapture has been used. <br /> if((event.clientX>0)&&(event.clientY>0)&&(event.clientX<document.body.offsetWidth)&&(event.clientY<document.body.offsetHeight)){ <br /> oWorkItem=event.srcElement; <br /> // If the clicked object is a menu label, continue. <br /> if(oWorkItem.component=="menulabel"){ <br /> // If the clicked object's label is the original, use the menulabel2 to highlight it. <br /> if(oWorkItem.className=="menulabel"){ <br /> oWorkItem.className="menulabel2"; <br /> // If the last known menu is open, close it. We know this menu is not open because of the className. <br /> if((oDistinctMenu!="")&&(oDistinctMenu.menustatus=="open")){ <br /> fnSwitchMenu(oWorkItem); <br /> event.returnValue=false; <br /> } <br /> } <br /> else{ <br /> // If the clicked object's label is not the original, and its menustatus is closed, set it back to the original. <br /> if(oWorkItem.menustatus=="closed"){ <br /> oWorkItem.className="menulabel"; <br /> } <br /> } <br /> } <br /> // If a menu item was clicked, continue. <br /> if(oWorkItem.component=="menuitem"){ <br /> // if the menu item's menustatus is not active, then make it active. <br /> if(oWorkItem.menustatus!="active"){ <br /> oWorkItem.style.borderBottomColor="#505050"; <br /> oWorkItem.style.borderRightColor="#505050"; <br /> oWorkItem.style.borderTopColor="#CFCFCF"; <br /> oWorkItem.style.borderLeftColor="#CFCFCF"; <br /> oWorkItem.menustatus="active"; <br /> } <br /> // if the menu item's menustatus is active, set it to passive. <br /> else{ <br /> oWorkItem.style.borderColor="#000000"; <br /> oWorkItem.menustatus="passive"; <br /> } <br /> } <br /> } <br /> // If the mouse strays outside the clientarea and a menu is open, shut everything down. <br /> else{ <br /> if((oDistinctMenu!="")&&(oDistinctMenu.menustatus=="open")){ <br /> fnSwitchMenu(); <br /> oDistinctMenu.className="menulabel"; <br /> event.returnValue=false; <br /> } <br /> } <br />} <br /> <br />// The fnAddMenuGroup function is used to dynamically add new menu groups. <br /> <br />function fnAddMenuGroup(sGroupName){ <br /> // Increment the total number of menu groups. <br /> iGroupCount++; <br /> // Add the new menu group (label and drop down menu) to the menu container. <br /> oMenuContainer.innerHTML+='<span groupid=' + iGroupCount + ' component="menulabel" id=oLabel' + iGroupCount + ' class="menulabel">' + sGroupName + '</span><div id=oGroup' + iGroupCount + ' class="menugroup"></div>'; <br /> // Refer to the new label and group using the iGroupCount. <br /> var oNewLabel=eval("oLabel" + iGroupCount); <br /> var oNewGroup=eval("oGroup" + iGroupCount); <br /> // If this is the history group, record the iGroupCount. <br /> if(sGroupName=="History"){ <br /> iHistoryID=iGroupCount; <br /> } <br /> // Align the label and group with the rest of the menu labels and groups. <br /> fnAlign(oNewLabel,oNewGroup); <br />} <br /> <br />// Align the menu labels and groups with each other. <br />function fnAlign(oLabel,oGroup){ <br /> oLabel.menustatus="closed"; <br /> oLabel.style.top=2; <br /> oLabel.style.left=75 * (iGroupCount-1) + 2; <br /> oGroup.style.top=oLabel.offsetHeight + oLabel.offsetTop+2; <br /> oGroup.style.left=oLabel.offsetLeft; <br /> oGroup.style.display="none"; <br />} <br /> <br />// Add new menu items. The iGroupID is 1 - #Menu Labels. The sItemName is what will be displayed. sItemAction is a function call that will be made when the item is clicked. sItemImage is an optional image to go with the menu item. The source is hard coded, so will have to be changed to your favorite graphics directory. Image extensions are hard coded as ".gif". <br />function fnAddMenuItem(iGroupId,sItemName,sItemAction,sItemImage){ <br /> // Increment the total number of menu items. <br /> iItemCount++; <br /> // Set the temporary image source to nothing. <br /> var sTmpSrc=""; <br /> // If the sItemImage is not defined, set the temporary image source to the default. <br /> if(sItemImage + ""=="undefined"){ <br /> sTmpSrc="canvas.gif"; <br /> } <br /> // If sItemImage is defined, set the temporary image source to the name plus ".gif". <br /> else{ <br /> sTmpSrc=sItemImage + ".gif"; <br /> } <br /> // Assign a variable to the group the menu item will be added to using the iGroupID. <br /> var oNewGroup=eval("oGroup" + iGroupId); <br /> // If there is no tilde in the menu item name, then continue. I used tildes in this case to identify special cases, such as the ~SPACER. <br /> if(sItemName.indexOf("~")==-1){ <br /> // Add the new menu item to the menu group. <br /> oNewGroup.innerHTML+='<span groupid=' + iGroupId + ' component="menuitem" id="oItem' + iItemCount + '" itemid=' + iItemCount + ' menuaction="' + sItemAction + '"> <img id="oItemImg' + iItemCount + '" src="/workshop/graphics/' + sTmpSrc + '" width=15 height=15 alt="">' + sItemName + '</span><br>'; <br /> // Assign a variable to the new menu item. <br /> var oNewItem=eval("oItem" + iItemCount); <br /> // Set the default styles for the new menu item. <br /> oNewItem.style.fontSize="12"; <br /> oNewItem.style.cursor="hand"; <br /> oNewItem.style.backgroundColor="#000000"; <br /> oNewItem.style.color="#FFFFFF"; <br /> oNewItem.style.textDecoration="none"; <br /> oNewItem.style.marginLeft="5px"; <br /> oNewItem.style.width=parseInt(oNewGroup.currentStyle.width) - 15; <br /> oNewItem.style.border="1 solid"; <br /> oNewItem.style.borderColor="#000000"; <br /> } <br /> // If there was a tilde, and if the name is ~SPACER, then just add a horizontal rule. <br /> if(sItemName=="~SPACER"){ <br /> oNewGroup.innerHTML+='<hr>'; <br /> } <br />} <br /> <br />/* These functions provide the ACTION for menu items. */ <br /> <br />function fnNote1(){ <br /> oScratch.innerHTML=sScratchInclude; <br /> oScratch.innerHTML+="<b>Letter to Mom</b><p><span style='font-family: Tahoma'>Dear Mom,<p>College is real swell. Thanks for the preserves.<p>Say, mom, did Dad tell you I called last week? Yeah, A bunch of us are driving down to the dunes next week for a class project and I have to bring the <span style='text-decoration: underline line-through;'>beer</span> (lousy pen .. beans, it should read <span style='text-decoration: underline;'>beans</span>). When you send it, remember to sign your maiden name so it doesn't look like my mother is sending me money. Thanks mom. Lots of love, Herbie.<p><b>PS: </b> Regular mail is good. Next day air is better</b></span>"; <br /> oScratch.style.display="block"; <br />} <br />function fnNote2(){ <br /> oScratch.innerHTML=sScratchInclude; <br /> oScratch.innerHTML+="<b>Letter to Herbie</b><p><span style='font-family: Tahoma'>Dear Herbert,<p>I'm glad to hear that you're making so many new friends. Your father and I were worried about culture shock so thought that this weekend would be a great time for a surprise visit. I know this is short notice, but we just thought it would be a great opportunity. We're very exciting about meeting your teachers and friends; isn't this the weekend of your class project? We could go there with you and meet everyone. It will be a grand time.<p>Everyone here is fine. Your sister made the cheer leading squad, so why don't you call her or send her a card and congratulate her. Your father is doing well. Still no word from the cable company so he has to live with only eight channels. Anyway, I have a pot roast in the oven. By the way, your grandmother may decide to drop in on you in a few weeks, so your father and I may plan on a second 'surprise' visit. Be a good boy.<p>Love Mom.</span>"; <br /> oScratch.style.display="block"; <br />} <br />function fnNote3(){ <br /> oScratch.innerHTML=sScratchInclude; <br /> oScratch.innerHTML+="<b>Grocery List</b><p><span style='font-family: Tahoma'><ul><li>Chips<li>Cookies<li>Smoked cheddar<li>Any frozen stuff<li>Pop<li>Stamps</ul><p><b>Note to self:</b> <i>Bring mom's Credit Card # to pay for it!</i></span>"; <br /> oScratch.style.display="block"; <br />} <br />function fnNote4(){ <br /> oScratch.innerHTML=sScratchInclude; <br /> oScratch.innerHTML+="<b>Herbie's List of Certificates</b><p><ul><li>CPR Certified<li>Water Safety Qualified<li>Emergency Medical Certified.<li>Certified Channel 2 Kids Club Member(expired)</ul></span>"; <br /> oScratch.style.display="block"; <br />} <br /> <br />function fnSearch(){ <br /> var aSearch=new Array(); <br /> var aThrash=new Array(); <br /> aSearch[aSearch.length]="AltaVista|http://www.altavista.digital.com"; <br /> aSearch[aSearch.length]="Infoseek|http://www.infoseek.com"; <br /> aSearch[aSearch.length]="Lycos|http://www.lycos.com"; <br /> aSearch[aSearch.length]="Yahoo!|http://www.yahoo.com"; <br /> oScratch.innerHTML=sScratchInclude; <br /> oScratch.innerHTML+="<b>Search Engines (" + aSearch.length + ")</b><p>"; <br /> for(var i=0;i<aSearch.length;i++){ <br /> aThrash=aSearch[i].split("|"); <br /> oScratch.innerHTML+='<a href="' + aThrash[1] + '">' + aThrash[0] + '</a><br>'; <br /> } <br /> oScratch.style.display="block"; <br />} <br /> <br />function fnSearch2(){ <br /> var aSearch2=new Array(); <br /> var aThrash=new Array(); <br /> aSearch2[aSearch2.length]="Microsoft's Web Site|http://search.microsoft.com/"; <br /> oScratch.innerHTML=sScratchInclude; <br /> oScratch.innerHTML+="<b>Search Engines (" + aSearch2.length + ")</b><p>"; <br /> for(var i=0;i<aSearch2.length;i++){ <br /> aThrash=aSearch2[i].split("|"); <br /> oScratch.innerHTML+='<a href="' + aThrash[1] + '">' + aThrash[0] + '</a><br>'; <br /> } <br /> oScratch.style.display="block"; <br />} <br /> <br />function fnRandomNonsense(){ <br /> var aNonsense=new Array(); <br /> aNonsense[aNonsense.length]="The Book of Random Nonsense (volume 1)"; <br /> aNonsense[aNonsense.length]="Random Nonsense: Book II"; <br /> aNonsense[aNonsense.length]="Random Nonsense for the Whole Family"; <br /> aNonsense[aNonsense.length]="Another Book of Random Nonsense"; <br /> aNonsense[aNonsense.length]="The Condensed Book of Random Nonsense"; <br /> aNonsense[aNonsense.length]="Random Nonsense: The Comic Book"; <br /> aNonsense[aNonsense.length]="Random Nonsense: The Movie (coming this summer)"; <br /> aNonsense[aNonsense.length]="Random Nonsense Forever"; <br /> aNonsense[aNonsense.length]="Random Nonsense For Kids"; <br /> aNonsense[aNonsense.length]="Saturday Morning Random Nonsense"; <br /> aNonsense[aNonsense.length]="Volume 92 of Political Random Nonsense (8th Release)"; <br /> aNonsense[aNonsense.length]="The Great Big Book of Random Nonsense"; <br /> oScratch.innerHTML=sScratchInclude; <br /> var iRand=parseInt(Math.random()*aNonsense.length); <br /> oScratch.style.display="block"; <br /> oScratch.innerHTML+="<b>Random Nonsense is Coming! #" + iRand + " of " + aNonsense.length + "</b><p>"; <br /> oScratch.innerHTML+="<i>" + aNonsense[iRand] + "</i>"; <br /> oScratch.innerHTML+="<hr>"; <br /> oScratch.innerHTML+='<p><a href="javascript:fnRandomNonsense()">More Nonsense!</a>'; <br />} <br /></SCRIPT> <br /><!-- SAMPLE_STYLE_START --><LINK <br />href="Mouse Capture Menu Sample #3_files/basicSDKIE4.css" type=text/css <br />rel=stylesheet><!-- SAMPLE_STYLE_END --><!--TOOLBAR_START--><!--TOOLBAR_EXEMPT--><!--TOOLBAR_END--> <br /><META content="MSHTML 6.00.2800.1141" name=GENERATOR></HEAD> <br /><BODY vLink=#808080 aLink=#000000 link=#000000 bgProperties=fixed <br />bgColor=#ffffff leftMargin=0 topMargin=0 onload=fnInit()> <br /><BLOCKQUOTE class=body><!-- CONTENTS_START --> <br /> <DIV class=menucontainer id=oMenuContainer onmouseover=fnHighlight() <br /> onclick=fnSwitchMenu() onmouseout=fnHighlight()></DIV> <br /> <DIV style="POSITION: absolute; TOP: 50px"> <br /> <H1>Mouse Capture Menu Sample #3</H1> <br /> <P>This sample uses the mouse capture functionality of Microsoft® Internet <br /> Explorer 5 and later. The menu at the top of the page will use the <br /> <B>setCapture</B> method when a menu item is opened. While the menu has mouse <br /> capture, all <B>onclick</B>, <B>onmouseover</B>, and <B>onmouseout</B> events <br /> will go through the functions defined on the menu for these events.</P> <br /> <P>When any menu item is clicked, or when any object outside the menu is <br /> clicked, the <B>releaseCapture</B> method will be used to remove mouse capture <br /> from the menu. </P></DIV><!-- CONTENTS_END --> <br /> <DIV <br /> style="POSITION: relative; TOP: 200px"><!-- START_PAGE_FOOTER --><BR><BR><BR>© <br /> <A class=clsIncCpyRt <br /> href="http://www.microsoft.com/isapi/gomscom.asp?TARGET=/info/cpyright.htm" <br /> target=_top>2005 Microsoft Corporation. All rights reserved. Terms of use</A>. <br /><!-- END_PAGE_FOOTER --></DIV></BLOCKQUOTE></BODY></HTML> <br />
Tidak ada komentar:
Posting Komentar
Posting Lebih Baru
Posting Lama
Beranda
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar