<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4579362723253029967</id><updated>2011-11-27T17:05:08.562-08:00</updated><category term='Scrolling Title Bar Using Javascript'/><category term='Gmail Will Get Cracked Soon'/><category term='Freshen Up Your HTML Markup'/><category term='Page Fading While Moving Previous Page'/><category term='Open New Window'/><category term='CSS Tips and Tricks'/><category term='Check whether textbox is empty or not'/><category term='Microsoft Backflips on Browser Version Targeting'/><category term='Laws of Web Design and Development'/><category term='CSS Rounded Corner'/><category term='Show Icon In Address Bar'/><category term='Find Current Browser'/><category term='Page Load and Unload Effect'/><category term='Event Handling in Javascript'/><category term='Table-Based Layout Is The Next Big Thing'/><category term='Encrypting the URL'/><title type='text'>Study Script (Javascript &amp; CSS)</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://studyscript.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://studyscript.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Hawckins</name><uri>http://www.blogger.com/profile/14884293118024008643</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='25' src='http://bp0.blogger.com/_zz-Z3EACmcE/R8Uz0aNQu0I/AAAAAAAAAn0/71bCgmLNgHE/S220/Hawckins.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>20</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4579362723253029967.post-5886395089213551924</id><published>2010-09-21T11:04:00.000-07:00</published><updated>2010-09-21T11:08:06.516-07:00</updated><title type='text'>Data Entry Job without Registration Fee</title><content type='html'>&lt;a href="http://www.dataentrywork.net/?id=152674"&gt;&lt;img src="http://www.dataentrywork.net/mem/images/120-600.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dataentrywork.net/?id=152674"&gt;&lt;img src="http://www.dataentrywork.net/mem/images/160-600.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dataentrywork.net/?id=152674"&gt;&lt;img src="http://www.dataentrywork.net/mem/images/300-250.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dataentrywork.net/?id=152674"&gt;&lt;img src="http://www.dataentrywork.net/mem/images/468-60.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dataentrywork.net/?id=152674"&gt;&lt;img src="http://www.dataentrywork.net/mem/images/728-90.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dataentrywork.net/?id=152674"&gt;&lt;img src="http://www.dataentrywork.net/mem/images/730-300.jpg" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4579362723253029967-5886395089213551924?l=studyscript.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://studyscript.blogspot.com/feeds/5886395089213551924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4579362723253029967&amp;postID=5886395089213551924' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/5886395089213551924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/5886395089213551924'/><link rel='alternate' type='text/html' href='http://studyscript.blogspot.com/2010/09/data-entry-job-without-registration-fee.html' title='Data Entry Job without Registration Fee'/><author><name>Hawckins</name><uri>http://www.blogger.com/profile/14884293118024008643</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='25' src='http://bp0.blogger.com/_zz-Z3EACmcE/R8Uz0aNQu0I/AAAAAAAAAn0/71bCgmLNgHE/S220/Hawckins.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4579362723253029967.post-1812214585206625964</id><published>2008-07-01T23:20:00.000-07:00</published><updated>2008-07-01T23:23:16.051-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Freshen Up Your HTML Markup'/><title type='text'>Freshen Up Your HTML Markup</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Introduction&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Andrew TetlawWhen was the last time you refreshed your HTML knowledge? it's very easy to take HTML for granted because it's quite easy to learn. However, best-practice HTML techniques are being developed as often as CSS techniques. In this edition Kevin looks at 4 ways to freshen up your HTML that you may not have given any thought to.&lt;br /&gt;&lt;br /&gt;Not too long ago the only consideration given to HTML was it's visual appearance. Everyone remembers using table elements for layout (some people still do!), but who remembers the awful technique of using nested blockquote elements for text indentation? Thankfully, sanity is returning. Thanks to the adoption of CSS and the recognition given to accessibility, modern HTML usage techniques favor HTML's role as structural, not presentational, markup for content.&lt;br /&gt;&lt;br /&gt;In the push for greater accessibility and better quality structural markup, there are many features of HTML that are being discovered, rediscovered, discarded, or returned to their proper role. If you'd like to learn more, here are some articles about modern trends in HTML:&lt;br /&gt;&lt;br /&gt;    * Checkout Cameron Adams' article on forms for numerous examples of best-practice form markup.&lt;br /&gt;    * The POSH (Plain Old Semantic HTML) page on the Microformats wiki has a nice overview of the best-practice use of HTML.&lt;br /&gt;    * On the Digital Web Magazine site you'll find Garrett Dimon's article about the art of HTML: Markup as a Craft.&lt;br /&gt;    * You should also read John Alsop's trilogy of articles: Semantics in HTML.&lt;br /&gt;&lt;br /&gt;If you'd like to get reacquainted with HTML, then the SitePoint HTML Reference is also a great resource. Otherwise, get started by taking a look at your own site's HTML and seeing what needs freshening up. Kevin has a few tips below to get you started.&lt;br /&gt;&lt;br /&gt;Top&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In the last issue of the Tech Times, I mentioned I was hard at work with the team here on a new front page design for sitepoint.com. While most of our time has been split between tweaking the CSS styles and crafting the PHP code that will generate the page, any major redesign brings with it the opportunity to improve the HTML code at the heart of your site.&lt;br /&gt;&lt;br /&gt;Of course, any newly-written HTML code these days should validate. But there’s more to good HTML code than validation. Validation is the bare minimum you should be doing to assure the quality of your code.&lt;br /&gt;&lt;br /&gt;This issue, I’d like to take a look at four simple things you can do to make sure your HTML has that nice, new markup smell.&lt;br /&gt;Take Care Of Your Heading Structure&lt;br /&gt;&lt;br /&gt;This is something I’ve banged on about in the Tech Times before. The headings in your document (&lt;h1&gt;, &lt;h2&gt;, etc.) should form a consistent hierarchy: one or more &lt;h1&gt; sections each containing &lt;h2&gt; sections, which in turn may contain &lt;h3&gt;s. Resist the urge to skip heading levels (e.g. placing a &lt;h5&gt; after a &lt;h1&gt;) to indicate levels of “importance” in your content.&lt;br /&gt;&lt;br /&gt;The easiest way to check your heading structure nowadays is to use the Web Developer extension in Firefox. Simply click Information → View Document Outline to see the outline of your page in a new tab.&lt;br /&gt;&lt;br /&gt;SitePoint’s current home page doesn’t hold up too well to this test. Heading tags are chosen very much by the perceived importance of the text they contain. Heading levels are skipped, and important sub-headings are routinely given lower heading levels than the titles of the sections that contain them. In some places, non-heading text is even marked up using heading tags.&lt;br /&gt;&lt;br /&gt;This type of heading structure is virtually impossible for users of assistive technologies like screen readers to navigate. It’s valid HTML, but it doesn’t do much to describe the structure of the content it is intended to describe.&lt;br /&gt;&lt;br /&gt;The new HTML front page solves all of these issues. Since the front page represents the site as a whole, the page contains a single &lt;h1&gt;. All of the sections of the page are then marked with &lt;h2&gt; tags within that top-level section.&lt;br /&gt;&lt;br /&gt;Although the titles of articles may be styled with larger fonts than structural headings like “Latest News”, the actual tags that are used to mark them up are chosen to describe the structure of the page, providing a useful map for screen reader users to navigate.&lt;br /&gt;&lt;br /&gt;Read on for three more techniques to freshen your HTML markup...&lt;br /&gt;&lt;br /&gt;Top&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Tech Alert :: Geeks love WebHostingBuzz!&lt;br /&gt;&lt;br /&gt;Maintaining a website can be both fun and sometimes frustrating especially if the web host does not catch up to your needs. The owners behind WebHostingBuzz&lt;br /&gt;have experienced it all.&lt;br /&gt;&lt;br /&gt;We have been there and done it. We know what YOU want when it comes to running a script oriented website. We know what YOU want when it comes to value for your web hosting dollars. We host over 150,000 domains across the globe. Surely we can host yours!&lt;br /&gt;&lt;br /&gt;Host unlimited websites under one account. Get a free domain name for life, tons of web space and transfer for only $40 per year.&lt;br /&gt;&lt;br /&gt;Top&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Replace Named Anchors With IDs&lt;br /&gt;&lt;br /&gt;This one’s dead simple, but it’s something I still see developers who have been writing HTML for a long time get wrong. If you want to provide links to particular spots within a page (e.g. http://www.sitepoint.com/#news), you don’t need to fill your HTML code with &lt;a name=""&gt; tags—just use the id attribute on the elements you already do have!&lt;br /&gt;&lt;br /&gt;In the past, if you wanted to provide a link to the ‘News’ section of your page, you’d have to do something like this:&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;&lt;a&lt;br /&gt;name="news"&gt;&lt;/a&gt;News&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;These days, all browsers support in-page links based on the id attribute as well as the old-fashioned &lt;a name=""&gt; tag. So instead of the above, you can just do this:&lt;br /&gt;&lt;br /&gt;&lt;h2&lt;br /&gt;id="news"&gt;News&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;A link to "#news" in this page will find either of the above example headings, but the second one is a lot neater, and also gives you the ability to apply styles to to heading based on its unique identifier if you need to.&lt;br /&gt;Declare Your Language&lt;br /&gt;&lt;br /&gt;It may be obvious to you what language the content of your document is written in, but to search engines and assistive technologies, this is an important piece of information that can be difficult to guess correctly.&lt;br /&gt;&lt;br /&gt;Make sure the &lt;html&gt; tag in all your documents contain a lang attribute that identifies the primary language in use in your document. For English, set it to "en":&lt;br /&gt;&lt;br /&gt;&lt;html lang="en"&gt;&lt;br /&gt;&lt;br /&gt;If your document is XHTML, you should also set the xml:lang attribute, which will be recognized by systems that understand XML:&lt;br /&gt;&lt;br /&gt;&lt;html&lt;br /&gt;xmlns="http://www.w3.org/1999/xhtml"&lt;br /&gt;    lang="en" xml:lang="en"&gt;&lt;br /&gt;&lt;br /&gt;Declare Your Character Encoding&lt;br /&gt;&lt;br /&gt;This is another axe I have to grind with many developers who should know better. The Tech Times #134 focused entirely on character encodings, and what every web developer should know about them. SitePoint later published Tommy Olsson’s article, The Definitive Guide to Web Character Encoding.&lt;br /&gt;&lt;br /&gt;In short, an encoding describes how the binary bytes that your web server sends to the browser may be translated into the characters of text that make up your HTML code. If you don’t specify an encoding, the browser has to guess.&lt;br /&gt;&lt;br /&gt;Depending on how your code editor is configured, chances are that you are encoding your HTML in plain Latin 1 (ISO-8859-1), in the extended version of Latin 1 called Windows-1252, or in the Unicode encoding UTF-8. UTF-8 lets you include the widest range of characters in your code, but current browsers will assume your code is Windows-1252 unless you tell them otherwise.&lt;br /&gt;&lt;br /&gt;To encode your HTML pages in UTF-8, first make sure your text editor (along with the text editors of everyone working on your site) is set to default to UTF-8 encoding. If you’re using a simple editor like Notepad, you may have to tell it to save with UTF-8 encoding every time you create a new file—one more reason to avoid Notepad.&lt;br /&gt;&lt;br /&gt;Once you’ve done that, make sure to include a &lt;meta&gt; tag in the &lt;head&gt; of all your HTML documents that declares the page as being encoded using UTF-8:&lt;br /&gt;&lt;br /&gt;&lt;meta http-equiv="content-type"&lt;br /&gt;    content="text/html; charset=UTF-8"/&gt;&lt;br /&gt;&lt;br /&gt;The earlier this tag appears in the document, the less time the browser will have to waste guessing the document’s encoding, so it should really be the first thing to follow your opening &lt;head&gt; tag.&lt;br /&gt;&lt;br /&gt;Finally, test one of these pages on your site to make sure that browsers recognize it as being encoded with UTF-8. In Firefox, you can right-click on the background of the page and choose Page Info. The Encoding should be shown on the first tab of the Page Info window. If it isn’t UTF-8, talk to your server admin to see about either getting the correct encoding declared in your site’s HTTP Response headers, or simply removing the encoding from these headers so that the &lt;meta&gt; tag can do its thing. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4579362723253029967-1812214585206625964?l=studyscript.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://studyscript.blogspot.com/feeds/1812214585206625964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4579362723253029967&amp;postID=1812214585206625964' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/1812214585206625964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/1812214585206625964'/><link rel='alternate' type='text/html' href='http://studyscript.blogspot.com/2008/07/freshen-up-your-html-markup.html' title='Freshen Up Your HTML Markup'/><author><name>Hawckins</name><uri>http://www.blogger.com/profile/14884293118024008643</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='25' src='http://bp0.blogger.com/_zz-Z3EACmcE/R8Uz0aNQu0I/AAAAAAAAAn0/71bCgmLNgHE/S220/Hawckins.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4579362723253029967.post-5820360706438743559</id><published>2008-06-06T01:31:00.000-07:00</published><updated>2008-06-06T01:36:51.959-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Laws of Web Design and Development'/><title type='text'>Laws of Web Design and Development</title><content type='html'>Occasionally smart people say pretty smart things. The computing world likes to call these pearls of wisdom laws. They also like to name each law after the person who coined it. Take, for instance, the most well-known of all the computing world’s laws, Moore’s Law, which is named after Intel founder Gordan E. Moore.&lt;br /&gt;&lt;br /&gt;In the web industry we have no such laws. While computer software and engineering is a science, web work isn’t. I view web work as an amalgamation of a variety of crafts and disciplines, like behavioral psychology, art and design, information sciences – and, since the end medium depends on technology, part computer science.&lt;br /&gt;&lt;br /&gt;Given that last bit, it makes sense that some computing laws would apply to the world of the web. Since I have an awful time remembering them, I figured I’d write down the ones that have been helpful to me in my career in the web industry.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Brooks’ Law&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-style:italic;"&gt;Adding manpower to a late software project makes it even later.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Probably the law I quote the most. I can’t tell you how many times a client has asked, ” Can’t we just throw another guy at the problem?”&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Parkinson’s Law&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-style:italic;"&gt;Work expands so as to fill the time available for its completion.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In other words, we’re talking about ‘scope creep’. Keep projects short and sweet—Otherwise, they tend to become unmanageable beasts.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Hoare’s Law of Large Programs&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-style:italic;"&gt;Inside every large problem is a small problem struggling to get out.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A perfect reminder that we often create larger problems from small ones. Always remember to focus on the goal or need. Everything else is secondary.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Lister’s Law&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-style:italic;"&gt;People under time pressure don’t think faster.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Tell this to any startup and they will probably show you to the door, but it’s very true. The only result you get from putting people under pressure is unnecessary stress. Take a deep breath and avoid letting your stress become someone else’s.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Pareto Principle&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-style:italic;"&gt;For many phenomena, 80% of consequences stem from 20% of the causes.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is also known as the “80/20 Rule,” though most people seem to use it incorrectly. I don’t know if I fully believe in this principle. I think we often have a false perception that this is true, and therefore tend to focus on 20% of the problem. Or, in other words, the dreaded ‘edge case’.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The Peter Principle&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-style:italic;"&gt;In a hierarchy, every employee tends to rise to his level of incompetence.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This principle comes in to play when dealing with the opinions of overzealous stakeholders. It can be difficult as an employee to publicly admit that you know more about this web stuff than your boss, but it must be done.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Conway’s Law&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-style:italic;"&gt;Any piece of software reflects the organizational structure that produced it.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This law is absolutely true of websites as well. Organizations that have bad communication or poorly defined roles invariably have websites that take more time and cost way more then they should.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Fitts’ Law&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-style:italic;"&gt;The time taken to acquire a target is a function of the distance to and the size of the target.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This one seems to be a favorite with speakers at web conferences, and is a handy reminder of the principals behind information and visual design.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Tesler’s Law of Conservation as Complexity&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-style:italic;"&gt;You cannot reduce the complexity of a given task beyond a certain point. Once you’ve reached that point, you can only shift the burden around.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A good principle of information architecture. Complex tasks tend to be broken up and can often become more confusing in the process. Identify the hard stuff early on and treat it differently than everything else.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Occam’s Razor&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-style:italic;"&gt;The explanation requiring the fewest assumptions is most likely to be correct.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This principle is helpful when you are trying to understand human behavior. Sometimes things just work. You may not think this is right, and you may not understand why, but when something works you should just go with it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Hofstadter’s Law&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-style:italic;"&gt;A task always takes longer than you expect, even when you take into account Hofstadter’s Law.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Isn’t that the truth. The best trick here is to record your time, so you always have a record to refer to. This gives you a good starting point for estimating how long the next task will take.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Ninety-ninety Law&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-style:italic;"&gt;The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The law is absolutely true. Once the end is in sight, the finish line tends to drift into the distance. Keeping development milestones short and sweet tends to help. It allows developers to feel like they’ve accomplished something, so they’re not wallowing in a pit of despair.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Hartree’s Law&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-style:italic;"&gt;Whatever the state of a project, the time a project-leader will estimate for completion is constant.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This law always reminds me of the movie Money Pit. Whenever the contractors were asked when the job would be done they’d say, “oh… in about two weeks,” but in reality the project took a year. Trying to set the right completion expectation is always hard. I find just being totally honest with the client goes a long way toward not setting false hopes.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Jakob’s Law of the Internet User Experience&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-style:italic;"&gt;Users spend most of their time on other sites. This means that users prefer your site to work the same way as all the other sites they already know.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Coined by Jakob Nielsen, the King of Sameness. While this statement may read like BS, there is some truth it. People adapt to what they know, and they have certain assumptions about the way things work that cannot be ignored.&lt;br /&gt;&lt;br /&gt;Which could also be said this way…&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Fisher’s Fundamental Theorem&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-style:italic;"&gt;The more highly adapted an organism becomes, the less adaptable it is to any new change.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Clarke’s Second Law&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;    &lt;span style="font-style:italic;"&gt;The only way of discovering the limits of the possible is to venture a little way past them into the impossible.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This one was coined by Author C. Clarke. I think his laws are both keen observations and powerful reminders that we should seek out the unknown, question the assumed truth and constantly push for new discovery and invention.&lt;br /&gt;&lt;br /&gt;These are some of my favorite laws, but what are yours?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4579362723253029967-5820360706438743559?l=studyscript.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://studyscript.blogspot.com/feeds/5820360706438743559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4579362723253029967&amp;postID=5820360706438743559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/5820360706438743559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/5820360706438743559'/><link rel='alternate' type='text/html' href='http://studyscript.blogspot.com/2008/06/laws-of-web-design-and-development.html' title='Laws of Web Design and Development'/><author><name>Hawckins</name><uri>http://www.blogger.com/profile/14884293118024008643</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='25' src='http://bp0.blogger.com/_zz-Z3EACmcE/R8Uz0aNQu0I/AAAAAAAAAn0/71bCgmLNgHE/S220/Hawckins.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4579362723253029967.post-6508952253504905056</id><published>2008-04-17T06:19:00.000-07:00</published><updated>2008-04-17T06:24:24.201-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Event Handling in Javascript'/><title type='text'>Event Handling in Javascript</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Event information&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As with DHTML, this is always browser specific. When an event is triggered, the browser keeps some information about the event that we can use. There are two ways that browsers use to allow us to access this information. DOM compatible browsers pass the event information to the event handler function as the first argument. Some older browsers also use this version. Internet Explorer and a few other browsers store the event information in an event register, which we can access by writing 'window.event'.&lt;br /&gt;&lt;br /&gt;We also have to tell the browser what objects should detect what events and we also have to tell it what to do when that object detects that event.&lt;br /&gt;&lt;br /&gt;Although it is hardly used now, you may want the script to work in Netscape 4, since it is capable of doing this. With positioned elements and the document itself, Netscape 4 and Escape 4 will need to be told to capture the events first. Some other browsers (such as Mozilla/Firefox/Netscape 6+) may also provide the methods, but they do not actually do anything. Some others provide them but do not know how to use them, so you should check for the specific Event type as well. For example he simplest code used to listen for a keyup event would just be this:&lt;br /&gt;&lt;br /&gt;//Only Netscape 4 and Escape 4 need this first line&lt;br /&gt;if( document.captureEvents &amp;&amp; Event.KEYUP ) { document.captureEvents( Event.KEYUP ); }&lt;br /&gt;document.onkeyup = alertkey;&lt;br /&gt;//where alertKey is a function that will handle the event&lt;br /&gt;&lt;br /&gt;Problems can arise if one element detects an event where a parent element also detects it. For example, if the document is told to detect when the user presses a key, and a text box in the document is also told to detect when the user presses a key, when the user presses a key in the text box, should the document react or the text box? Or both? And in what order? Some browsers will use capturing to say which element(s) should detect the event and in what order, while some will use bubbling, and many will do neither. I will not describe either of these here as they are far beyond the scope of this stage of the tutorial. I will cover them later in the DOM events part of the tutorial.&lt;br /&gt;&lt;br /&gt;For a full list of events that elements can detect cross-browser, see the section on The JavaScript object' subsection 'Standard document components. To see what events can be captured using captureEvents, see the same section, subsection 'window.Event. To see what information is passed about events, see the same section, sub section 'Event objects.&lt;br /&gt;&lt;br /&gt;The following examples attempt to solve as many problems as possible.&lt;br /&gt;Detecting the keyup event over the page and extracting the key code.&lt;br /&gt;&lt;br /&gt;    * Konqueror 3.3-, Safari 1.0 and NetFront 3.3- can only detect key events on text boxes.&lt;br /&gt;    * iCab 3- only passes key code information in input boxes.&lt;br /&gt;    * Blazer (a version of NetFront) detects limited key events (due to the keyboard handling on the device) and returns nonsense key codes (such as -1987304).&lt;br /&gt;    * WebTV and Escape 4 can only detect key events on text boxes, and may be a little unreliable.&lt;br /&gt;    * OmniWeb 4.2- and Opera 5 for Mac do not pass key code information.&lt;br /&gt;    * Netscape 4 on Linux does not detect any key events properly.&lt;br /&gt;    * Clue browser and Tkhtml Hv3 cannot detect key events.&lt;br /&gt;    * I am unsure of the capabilities of NetBox, iPanel MicroBrowser and OpenTV here.&lt;br /&gt;&lt;br /&gt;Note that browsers may give different key code numbers for keypad keys. Also, many browsers do not give key code numbers for control keys (like F1, delete, backspace, alt, arrow keys etc.). Netscape gives a different key code for the letter 'a' to all other browsers. It may be more useful to use String.fromCharCode(key_code) which converts the key code back to its relevant key (like 'G', for example).&lt;br /&gt;&lt;br /&gt;//first, tell the browsers to react to the event&lt;br /&gt;if( document.captureEvents &amp;&amp; Event.KEYUP ) {&lt;br /&gt;  //remove this part if you do not need Netscape 4 to work&lt;br /&gt;  document.captureEvents( Event.KEYUP );&lt;br /&gt;}&lt;br /&gt;/* this next line tells the browser to detect a keyup&lt;br /&gt;event over the whole document and when it detects it,&lt;br /&gt;it should run the event handler function 'alertkey' */&lt;br /&gt;document.onkeyup = alertkey;&lt;br /&gt;&lt;br /&gt;//now create the event handler function to process the event&lt;br /&gt;function alertkey(e) {&lt;br /&gt;  if( !e ) {&lt;br /&gt;    //if the browser did not pass the event information to the&lt;br /&gt;    //function, we will have to obtain it from the event register&lt;br /&gt;    if( window.event ) {&lt;br /&gt;      //Internet Explorer&lt;br /&gt;      e = window.event;&lt;br /&gt;    } else {&lt;br /&gt;      //total failure, we have no way of referencing the event&lt;br /&gt;      return;&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;  if( typeof( e.keyCode ) == 'number'  ) {&lt;br /&gt;    //DOM&lt;br /&gt;    e = e.keyCode;&lt;br /&gt;  } else if( typeof( e.which ) == 'number' ) {&lt;br /&gt;    //NS 4 compatible&lt;br /&gt;    e = e.which;&lt;br /&gt;  } else if( typeof( e.charCode ) == 'number'  ) {&lt;br /&gt;    //also NS 6+, Mozilla 0.9+&lt;br /&gt;    e = e.charCode;&lt;br /&gt;  } else {&lt;br /&gt;    //total failure, we have no way of obtaining the key code&lt;br /&gt;    return;&lt;br /&gt;  }&lt;br /&gt;  window.alert('The key pressed has keycode ' + e +&lt;br /&gt;    ' and is key ' + String.fromCharCode( e ) );&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Test it here: Click this link to start / stop keyup detection then press any key to test this script. Note that some keys give VERY odd responses with String.fromCharCode. The only reliable ones are letter and number keys on the main part of the keyboard.&lt;br /&gt;Detecting the mouse coordinates when it moves over a positioned element&lt;br /&gt;&lt;br /&gt;    * In Internet Explorer, the mouse position will be offset by the thickness of the window border (which can detect mouse movements as if it were the page body). On Windows XP, this would typically be 2 pixels for the default and classic themes (meaning when the mouse is at 0,0 it will be reported as 2,2), and 0px in fullscreen mode, but it can be different for other themes or operating systems. There is no known workaround for this bug.&lt;br /&gt;    * iCab 2- cannot detect mouse events over the page itself, only over specific elements within it (such as links).&lt;br /&gt;    * WebTV only detects mouse events over links.&lt;br /&gt;    * OmniWeb 4.2- does not provide any information about events.&lt;br /&gt;    * Clue browser only detects mousedown/up events, and only over links.&lt;br /&gt;    * I am unsure of the capabilities of NetBox, iPanel MicroBrowser and OpenTV here.&lt;br /&gt;&lt;br /&gt;There are three ways that are reliably supported which give mouse coordinates. There is also one unreliable way. All are given as properties of the event object, such as eventObject.clientX. These will be used to obtain the coordinates relative to the entire page.&lt;br /&gt;&lt;br /&gt;With clientX/Y, the standard was not very well written, so some older browsers made mistakes when implementing it. The coordinates should be relative to the displayed portion of the page, but Opera 6-, Konqueror 2- and iCab 2- give the coordinates relative to the entire page. There is no easy way to detect if a browser supports it correctly and the only way to write this piece of script is to detect the browsers that do not comply with the standard and provide appropriate scripts. This is the only time I will tell you to do this.&lt;br /&gt;&lt;br /&gt;Clue browser also makes, but as it cannot detect scrolling, there is no need to compensate.&lt;br /&gt;&lt;br /&gt;Note that Opera 7+, Konqueror 3+ and iCab 3+ actually comply with the standard, but as they also provides pageX, the script I will show you uses that instead, so again, the problem is avoided.&lt;br /&gt;&lt;br /&gt;Opera 6- can be detected because the property 'navigator.userAgent' contains the string 'Opera', even if it is running in IE5 emulation mode. iCab 2- can be detected because its window.ScriptEngine method contains the string 'InScript', even if it is running in emulation mode. Konqueror 2 can be detected because the property 'navigator.vendor' is 'KDE', even if it is running in emulation mode.&lt;br /&gt;&lt;br /&gt;   1. If pageX/Y is supplied, pageX/Y is relative to the whole page, and is completely reliable.&lt;br /&gt;   2. If clientX/Y is supplied, clientX/Y should be relative to displayed portion of page (DOM compatible).&lt;br /&gt;   3. Sometimes clientX/Y is relative to the whole page (in browsers that did not implement the specification properly).&lt;br /&gt;&lt;br /&gt;Most browsers provide both pageX/Y and clientX/Y. Internet Explorer is the only current browser that provides clentX/Y, but not pageX/Y.&lt;br /&gt;&lt;br /&gt;See the last section, 'Window size and scrolling', for information on how to detect how far the page has been scrolled. See the section on 'DHTML', for how to reference the positioned element.&lt;br /&gt;&lt;br /&gt;if( myReference.captureEvents &amp;&amp; Event.MOUSEMOVE ) {&lt;br /&gt;  //remove this part if you do not need Netscape 4 to work&lt;br /&gt;  myReference.captureEvents( Event.MOUSEMOVE );&lt;br /&gt;}&lt;br /&gt;myReference.onmousemove = alertCoord;&lt;br /&gt;&lt;br /&gt;function alertCoord(e) {&lt;br /&gt;  if( !e ) {&lt;br /&gt;    if( window.event ) {&lt;br /&gt;      //Internet Explorer&lt;br /&gt;      e = window.event;&lt;br /&gt;    } else {&lt;br /&gt;      //total failure, we have no way of referencing the event&lt;br /&gt;      return;&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;  if( typeof( e.pageX ) == 'number' ) {&lt;br /&gt;    //most browsers&lt;br /&gt;    var xcoord = e.pageX;&lt;br /&gt;    var ycoord = e.pageY;&lt;br /&gt;  } else if( typeof( e.clientX ) == 'number' ) {&lt;br /&gt;    //Internet Explorer and older browsers&lt;br /&gt;    //other browsers provide this, but follow the pageX/Y branch&lt;br /&gt;    var xcoord = e.clientX;&lt;br /&gt;    var ycoord = e.clientY;&lt;br /&gt;    var badOldBrowser = ( window.navigator.userAgent.indexOf( 'Opera' ) + 1 ) ||&lt;br /&gt;     ( window.ScriptEngine &amp;&amp; ScriptEngine().indexOf( 'InScript' ) + 1 ) ||&lt;br /&gt;     ( navigator.vendor == 'KDE' );&lt;br /&gt;    if( !badOldBrowser ) {&lt;br /&gt;      if( document.body &amp;&amp; ( document.body.scrollLeft || document.body.scrollTop ) ) {&lt;br /&gt;        //IE 4, 5 &amp; 6 (in non-standards compliant mode)&lt;br /&gt;        xcoord += document.body.scrollLeft;&lt;br /&gt;        ycoord += document.body.scrollTop;&lt;br /&gt;      } else if( document.documentElement &amp;&amp; ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {&lt;br /&gt;        //IE 6 (in standards compliant mode)&lt;br /&gt;        xcoord += document.documentElement.scrollLeft;&lt;br /&gt;        ycoord += document.documentElement.scrollTop;&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;  } else {&lt;br /&gt;    //total failure, we have no way of obtaining the mouse coordinates&lt;br /&gt;    return;&lt;br /&gt;  }&lt;br /&gt;  window.alert('Mouse coordinates are ('+xcoord+','+ycoord+')');&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Test it here: pass your mouse over this link to obtain its coordinates.&lt;br /&gt;&lt;br /&gt;To detect mouse coordinates over the whole document, use document instead of myReference.&lt;br /&gt;&lt;br /&gt;Since all the problematic old browser versions have now been replaced with versions that work correctly, you may want to remove the sniffer, and keep the code clean. You may not want to do this if there is a chance that any of your visitors are using those older versions. If that is not a problem for you, you could use this code instead:&lt;br /&gt;&lt;br /&gt;document.onmousemove = alertCoord;&lt;br /&gt;&lt;br /&gt;function alertCoord(e) {&lt;br /&gt;  var xcoord, ycoord;&lt;br /&gt;  if( !e ) { e = window.event; }&lt;br /&gt;  if( !e ) { return; }&lt;br /&gt;  if( typeof( e.pageX ) == 'number' ) {&lt;br /&gt;    xcoord = e.pageX;&lt;br /&gt;    ycoord = e.pageY;&lt;br /&gt;  } else if( typeof( e.clientX ) == 'number' ) {&lt;br /&gt;    xcoord = e.clientX;&lt;br /&gt;    ycoord = e.clientY;&lt;br /&gt;    if( document.body &amp;&amp; ( document.body.scrollLeft || document.body.scrollTop ) ) {&lt;br /&gt;      xcoord += document.body.scrollLeft;&lt;br /&gt;      ycoord += document.body.scrollTop;&lt;br /&gt;    } else if( document.documentElement &amp;&amp; ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {&lt;br /&gt;      xcoord += document.documentElement.scrollLeft;&lt;br /&gt;      ycoord += document.documentElement.scrollTop;&lt;br /&gt;    }&lt;br /&gt;  } else { return; }&lt;br /&gt;  window.alert('Mouse coordinates are ('+xcoord+','+ycoord+')');&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Detecting mouse buttons&lt;br /&gt;&lt;br /&gt;    * Konqueror, Safari, OmniWeb 4.5+, iCab 3+, Tkhtml Hv3 and Escape 4 do not detect right clicks.&lt;br /&gt;    * Opera users can choose to allow scripts to detect right clicks - disabled by default.&lt;br /&gt;    * WebTV, iCab 2-, NetFront 3.3- and Clue browser do not pass information about mouse buttons.&lt;br /&gt;    * WebTV cannot detect mousedown or mouseup events.&lt;br /&gt;    * OmniWeb 4.2- does not provide any information about events.&lt;br /&gt;    * I am unsure of the capabilities of NetBox, iPanel MicroBrowser and OpenTV here.&lt;br /&gt;&lt;br /&gt;This example gives two methods for detecting then handling events with an link element. One is written using the standard HTML syntax and one of which is written using JavaScript syntax. It will extract the mouse button that triggered the event. Note: this may not work with 'click' events.&lt;br /&gt;&lt;br /&gt;There is also the oncontextmenu event that fires in a few browsers when a user activates their context menu, but that is not the same thing, since it also covers Ctrl+Click on Macs, and the context menu key on Windows and Linux/UNIX (and is also not very well supported).&lt;br /&gt;&lt;br /&gt;The mouse button is passed using either the which or button properties. With 'which', 1 is left button, 2 is middle button, 3 is right button. With button, the standard says that 0 is left button, 1 is middle button, 2 is right button, but in IE compatible browsers, 1 is left button, 4 is middle button, 2 is right button. Escape/Evo 5 uses a totally different numbering system, 1 is left button, 2 is middle button, 0 is right button - I suggest you ignore Escape/Evo.&lt;br /&gt;&lt;br /&gt;The only time you should ever detect a button is when you want, for example, to create a drag-drop type effect, and you want to ensure they are using the left (normal dragging) button. You should never abuse it to break the user's context menu, as that will only make your site inaccessible, and annoying for your users, and is not reliable anyway.&lt;br /&gt;&lt;br /&gt;The event registration attribute (onmouseup="etc.") is equivalent to an event handler function, and has access to all the usual function information, such as the attributes collection. It can get a bit messy writing all of the button detection code in there, so I want to pass it to the main handler function. Remember that in DOM compatible browsers, the first argument is the event, so I need to pass that too. I also want the handler to have access to the element that triggered the event so I must pass that.&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;&lt;br /&gt;//link and form elements do not need to be told to capture.&lt;br /&gt;//Using the JavaScript syntax, we have to wait for the relevant&lt;br /&gt;//part of the page to load before telling it to detect the event&lt;br /&gt;//This is easiest done with a load event listener&lt;br /&gt;window.onload = function () { document.links[0].onmousedown=alertBut; }&lt;br /&gt;&lt;br /&gt;function alertBut( e, evElement ) {&lt;br /&gt;  if( !e ) {&lt;br /&gt;    if( window.event ) {&lt;br /&gt;      //Internet Explorer&lt;br /&gt;      e = window.event;&lt;br /&gt;    } else {&lt;br /&gt;      //total failure, we have no way of referencing the event&lt;br /&gt;      return;&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;  if( typeof( e.which ) == 'number' ) {&lt;br /&gt;    //Netscape compatible&lt;br /&gt;    e = e.which;&lt;br /&gt;  } else if( typeof( e.button ) == 'number' ) {&lt;br /&gt;    //DOM&lt;br /&gt;    e = e.button;&lt;br /&gt;  } else {&lt;br /&gt;    //total failure, we have no way of obtaining the button&lt;br /&gt;    return;&lt;br /&gt;  }&lt;br /&gt;  if( !evElement ) { evElement = this; }&lt;br /&gt;  /* 'this' will exist if I have used object.onEventName = alertBut;&lt;br /&gt;  If I have passed evElement from the onmouseup attribute,&lt;br /&gt;  'this' will refer to window */&lt;br /&gt;  window.alert( evElement + ' was clicked with button ' + e );&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4579362723253029967-6508952253504905056?l=studyscript.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://studyscript.blogspot.com/feeds/6508952253504905056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4579362723253029967&amp;postID=6508952253504905056' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/6508952253504905056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/6508952253504905056'/><link rel='alternate' type='text/html' href='http://studyscript.blogspot.com/2008/04/event-handling-in-javascript.html' title='Event Handling in Javascript'/><author><name>Hawckins</name><uri>http://www.blogger.com/profile/14884293118024008643</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='25' src='http://bp0.blogger.com/_zz-Z3EACmcE/R8Uz0aNQu0I/AAAAAAAAAn0/71bCgmLNgHE/S220/Hawckins.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4579362723253029967.post-8870330121451307825</id><published>2008-03-04T23:16:00.000-08:00</published><updated>2008-03-04T23:18:22.654-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Gmail Will Get Cracked Soon'/><title type='text'>Gmail Will Get Cracked Soon</title><content type='html'>It has emerged, not long after a group of hackers cracked the Windows Live Mail’s CAPTCHA, Google’s Gmail CAPTCHA has also been hacked (possibly by the same group).&lt;br /&gt;&lt;br /&gt;Hacking Gmail is a huge scalp for the hackers, it gives them:&lt;br /&gt;&lt;br /&gt;    * use of the gmail.com domain name — a domain name that is unlikely to be blacklisted by spam filters.&lt;br /&gt;    * access to a wide range of Google services&lt;br /&gt;    * hacker kudos&lt;br /&gt;&lt;br /&gt;Not to mention; due to the volume of Gmail users - they are going to be hard to track.&lt;br /&gt;&lt;br /&gt;Should we worry about this?&lt;br /&gt;Yes and no.&lt;br /&gt;&lt;br /&gt;Google will undoubtedly fix the immediate threat, but the bigger issue is that CAPTCHAs are being hacked more and more successfully. For instance, since July 2007 the HotLan Trojan has created more than 500,000 spam email accounts with Hotmail, Yahoo! and Gmail.&lt;br /&gt;&lt;br /&gt;With no end in sight for the arms race between the hackers and developers. CAPTCHA’s days seem numbered, (I for one would be happy to see the death of the CAPTCHA [as it currently stands]). But, what will be the next solution?&lt;br /&gt;&lt;br /&gt;What methods are developers going to have to introduce to combat the hackers?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4579362723253029967-8870330121451307825?l=studyscript.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://studyscript.blogspot.com/feeds/8870330121451307825/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4579362723253029967&amp;postID=8870330121451307825' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/8870330121451307825'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/8870330121451307825'/><link rel='alternate' type='text/html' href='http://studyscript.blogspot.com/2008/03/gmail-will-get-cracked-soon.html' title='Gmail Will Get Cracked Soon'/><author><name>Hawckins</name><uri>http://www.blogger.com/profile/14884293118024008643</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='25' src='http://bp0.blogger.com/_zz-Z3EACmcE/R8Uz0aNQu0I/AAAAAAAAAn0/71bCgmLNgHE/S220/Hawckins.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4579362723253029967.post-254452034955275245</id><published>2008-03-04T23:06:00.000-08:00</published><updated>2008-03-04T23:07:12.058-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Backflips on Browser Version Targeting'/><title type='text'>Microsoft Backflips on Browser Version Targeting</title><content type='html'>I had to double-check today’s date when I loaded up the IEBlog this morning.&lt;br /&gt;&lt;br /&gt;Once I’d confirmed that it in fact wasn’t April 1st, I continued reading, transfixed. Dean Hachamovitch, General Manager of Internet Explorer, had announced that Microsoft had changed their mind about browser version targeting.&lt;br /&gt;&lt;br /&gt;We’ve decided that IE8 will, by default, interpret web content in the most standards compliant way it can. This decision is a change from what we’ve posted previously. Microsoft recently published a set of Interoperability Principles. Thinking about IE8’s behavior with these principles in mind, interpreting web content in the most standards compliant way possible is a better thing to do.&lt;br /&gt;&lt;br /&gt;In addition to referencing Microsoft’s recent public commitment to interoperability, he also cited feedback from the community as a factor in the decision. He was careful to remind developers of the reasons why Microsoft were initially convinced that defaulting to IE7’s Standards rendering mode was the only option — a decision made in consultation with the Web Standards Project and leading figures like the king of web standards himself.&lt;br /&gt;&lt;br /&gt;The fact that Microsoft have taken this decision signifies a couple of things:&lt;br /&gt;&lt;br /&gt;    * That they take this interoperability business seriously. …&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4579362723253029967-254452034955275245?l=studyscript.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://studyscript.blogspot.com/feeds/254452034955275245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4579362723253029967&amp;postID=254452034955275245' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/254452034955275245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/254452034955275245'/><link rel='alternate' type='text/html' href='http://studyscript.blogspot.com/2008/03/microsoft-backflips-on-browser-version.html' title='Microsoft Backflips on Browser Version Targeting'/><author><name>Hawckins</name><uri>http://www.blogger.com/profile/14884293118024008643</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='25' src='http://bp0.blogger.com/_zz-Z3EACmcE/R8Uz0aNQu0I/AAAAAAAAAn0/71bCgmLNgHE/S220/Hawckins.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4579362723253029967.post-7992168131905594675</id><published>2008-03-04T22:36:00.000-08:00</published><updated>2008-03-04T22:49:21.294-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Table-Based Layout Is The Next Big Thing'/><title type='text'>Table-Based Layout Is The Next Big Thing</title><content type='html'>With the release of &lt;span style="font-weight:bold;"&gt;IE8&lt;/span&gt; coming this year, the stage is set for all that to change. IE8 will be the last of the major browsers to add support for CSS tables, which will enable designers to use table-based layout techniques without misusing HTML table markup.&lt;br /&gt;&lt;br /&gt;    This layout is hardly unique; what makes it special is how easily it has been achieved. Rather than using absolute positioning or fragile and counterintuitive floating techniques, I’ve produced it using relatively easy-to-understand CSS tables.&lt;br /&gt;&lt;br /&gt;1 #body { &lt;br /&gt;2   border-collapse: collapse; &lt;br /&gt;3   display: table; &lt;br /&gt;4   table-layout: fixed; &lt;br /&gt;5 } &lt;br /&gt;&lt;br /&gt;The css given below the best example for the table based layout using CSS&lt;br /&gt;&lt;br /&gt;1 #navigation, #content, #sidebar { &lt;br /&gt;2   display: table-cell; &lt;br /&gt;3 } &lt;br /&gt;4 #navigation { &lt;br /&gt;5   width: 200px; &lt;br /&gt;6 } &lt;br /&gt;7 #content { &lt;br /&gt;8   width: 66%; &lt;br /&gt;9 } &lt;br /&gt;10 #sidebar { &lt;br /&gt;11   width: 33%; &lt;br /&gt;12 }&lt;br /&gt;&lt;br /&gt; Not only is this code exceedingly simple, but the result is also far more robust than your typical three-column layout achieved with earlier CSS layout techniques. Each column extends the full height of the page no matter which column has the most content, and the layout doesn’t fall apart at extreme font or window sizes. The layout just works—in the same way that HTML table-based layouts have always just worked.&lt;br /&gt;&lt;br /&gt;As soon as IE8 is out and we can begin to justify leaving IE7 behind, we can start to use these simple and powerful techniques, since all other major browsers already support CSS tables. Suddenly, CSS-based page layout will be something almost anyone can understand!&lt;br /&gt;&lt;br /&gt;Of course, we can’t just throw away current CSS layout techniques the day IE8 is released, can we? After all, IE7 and its predecessors will be around for years to come. If you want your site to look as good in those browsers, you’ll still have to break out the more complex and fragile layout techniques that work with them.&lt;br /&gt;&lt;br /&gt;But if you can justify letting the experience slip just a little for users of IE7 and earlier, you may be able to minimize the amount of twisty CSS you need in your site. If you view the above example in IE7, for instance, you’ll see a simplified, two-column version of the layout that avoids the need to mix pixel-width columns with percentage-width columns, thus simplifying the code required to make the layout work in IE7 and earlier.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4579362723253029967-7992168131905594675?l=studyscript.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://studyscript.blogspot.com/feeds/7992168131905594675/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4579362723253029967&amp;postID=7992168131905594675' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/7992168131905594675'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/7992168131905594675'/><link rel='alternate' type='text/html' href='http://studyscript.blogspot.com/2008/03/table-based-layout-is-next-big-thing.html' title='Table-Based Layout Is The Next Big Thing'/><author><name>Hawckins</name><uri>http://www.blogger.com/profile/14884293118024008643</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='25' src='http://bp0.blogger.com/_zz-Z3EACmcE/R8Uz0aNQu0I/AAAAAAAAAn0/71bCgmLNgHE/S220/Hawckins.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4579362723253029967.post-7395220599415865570</id><published>2008-02-28T03:13:00.000-08:00</published><updated>2008-02-28T03:14:41.657-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Show Icon In Address Bar'/><title type='text'>Show Icon In Address Bar</title><content type='html'>Add the following code inside the link tag&lt;br /&gt;&lt;br /&gt;LINK hef="../../i/g/cached/tmp10_dup_4c3eab9f79bef8e5973617b25abed5d0.ico" rel="shortcut icon"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4579362723253029967-7395220599415865570?l=studyscript.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://studyscript.blogspot.com/feeds/7395220599415865570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4579362723253029967&amp;postID=7395220599415865570' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/7395220599415865570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/7395220599415865570'/><link rel='alternate' type='text/html' href='http://studyscript.blogspot.com/2008/02/show-icon-in-address-bar.html' title='Show Icon In Address Bar'/><author><name>Hawckins</name><uri>http://www.blogger.com/profile/14884293118024008643</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='25' src='http://bp0.blogger.com/_zz-Z3EACmcE/R8Uz0aNQu0I/AAAAAAAAAn0/71bCgmLNgHE/S220/Hawckins.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4579362723253029967.post-8679106098943421434</id><published>2008-02-28T03:12:00.000-08:00</published><updated>2008-02-28T03:13:24.706-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Scrolling Title Bar Using Javascript'/><title type='text'>Scrolling Title Bar Using Javascript</title><content type='html'>var titletext="Welcome to CLICK N BUY"&lt;br /&gt;    var thetext=""&lt;br /&gt;    var started=false&lt;br /&gt;    var step=0&lt;br /&gt;    var times=1&lt;br /&gt;    times--&lt;br /&gt;      if (times==0)&lt;br /&gt;      {&lt;br /&gt;        if (started==false)&lt;br /&gt;        {&lt;br /&gt;          started = true;&lt;br /&gt;          document.title = titletext;&lt;br /&gt;          setTimeout("anim()",1);&lt;br /&gt;        }&lt;br /&gt;        thetext = titletext;&lt;br /&gt;      }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    function showstatustext(txt)&lt;br /&gt;    {&lt;br /&gt;      thetext = txt;&lt;br /&gt;      setTimeout("welcometext()",4000)&lt;br /&gt;      times++&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    function anim()&lt;br /&gt;    {&lt;br /&gt;      step++&lt;br /&gt;      if (step==9) {step=1}&lt;br /&gt;      if (step==1) {document.title='Desktop**'+thetext+'**'}&lt;br /&gt;      if (step==2) {document.title='Laptop**Desktop**'+thetext+'**'}&lt;br /&gt;      if (step==3) {document.title='CarryBags**Laptop**Desktop**'+thetext+'**'}&lt;br /&gt;      if (step==4) {document.title='Bluetooth**CarryBags**Laptop**Desktop**'+thetext+'**'}&lt;br /&gt;      if (step==5) {document.title='IPOD**Bluetooth**CarryBags**Laptop**Desktop**'+thetext+'**'}&lt;br /&gt;      if (step==6) {document.title='Softwares**IPOD**Bluetooth**CarryBags**Laptop**Desktop**'+thetext+'**'}&lt;br /&gt;      if (step==7) {document.title='MP3**Softwares**IPOD**Bluetooth**CarryBags**Laptop**Desktop**'+thetext+'**'}&lt;br /&gt;      if (step==8) {document.title='Security**MP3**Softwares**IPOD**Bluetooth**CarryBags**Laptop**Desktop**'+thetext+'**'}&lt;br /&gt;      setTimeout("anim()",2000);&lt;br /&gt;    }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4579362723253029967-8679106098943421434?l=studyscript.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://studyscript.blogspot.com/feeds/8679106098943421434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4579362723253029967&amp;postID=8679106098943421434' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/8679106098943421434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/8679106098943421434'/><link rel='alternate' type='text/html' href='http://studyscript.blogspot.com/2008/02/scrolling-title-bar-using-javascript.html' title='Scrolling Title Bar Using Javascript'/><author><name>Hawckins</name><uri>http://www.blogger.com/profile/14884293118024008643</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='25' src='http://bp0.blogger.com/_zz-Z3EACmcE/R8Uz0aNQu0I/AAAAAAAAAn0/71bCgmLNgHE/S220/Hawckins.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4579362723253029967.post-7811573916640427587</id><published>2008-02-28T03:10:00.000-08:00</published><updated>2008-02-28T03:12:25.565-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Page Load and Unload Effect'/><title type='text'>Page Load &amp; Unload Effect</title><content type='html'>Use the following two line inside the meta tag&lt;br /&gt;&lt;br /&gt;META http-equiv=Page-Enter content=revealTrans(Duration=1.0,Transition=30)&lt;br /&gt;META http-equiv=Page-Exit content=revealTrans(Duration=1.0,Transition=30)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4579362723253029967-7811573916640427587?l=studyscript.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://studyscript.blogspot.com/feeds/7811573916640427587/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4579362723253029967&amp;postID=7811573916640427587' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/7811573916640427587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/7811573916640427587'/><link rel='alternate' type='text/html' href='http://studyscript.blogspot.com/2008/02/page-load-unload-effect.html' title='Page Load &amp; Unload Effect'/><author><name>Hawckins</name><uri>http://www.blogger.com/profile/14884293118024008643</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='25' src='http://bp0.blogger.com/_zz-Z3EACmcE/R8Uz0aNQu0I/AAAAAAAAAn0/71bCgmLNgHE/S220/Hawckins.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4579362723253029967.post-4992602969031601591</id><published>2008-02-28T03:08:00.000-08:00</published><updated>2008-02-28T03:10:24.919-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Page Fading While Moving Previous Page'/><title type='text'>Page Fading While Moving Previous Page</title><content type='html'>Use the following line the meta tag&lt;br /&gt;&lt;br /&gt;meta equiv="Page-Exit" content="progid:DXImageTransform.Microsoft.Fade(duration=.3)"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4579362723253029967-4992602969031601591?l=studyscript.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://studyscript.blogspot.com/feeds/4992602969031601591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4579362723253029967&amp;postID=4992602969031601591' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/4992602969031601591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/4992602969031601591'/><link rel='alternate' type='text/html' href='http://studyscript.blogspot.com/2008/02/page-fading-while-moving-previous-page.html' title='Page Fading While Moving Previous Page'/><author><name>Hawckins</name><uri>http://www.blogger.com/profile/14884293118024008643</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='25' src='http://bp0.blogger.com/_zz-Z3EACmcE/R8Uz0aNQu0I/AAAAAAAAAn0/71bCgmLNgHE/S220/Hawckins.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4579362723253029967.post-5779507945856539958</id><published>2008-02-28T03:07:00.000-08:00</published><updated>2008-02-28T03:08:00.349-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Open New Window'/><title type='text'>Open New Window</title><content type='html'>function PopUpWindow(tURL,Width,Height)&lt;br /&gt;{&lt;br /&gt;    var Options = "width=" + Width + ",height=" + Height;&lt;br /&gt;    window.open(tURL,'',Options);&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4579362723253029967-5779507945856539958?l=studyscript.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://studyscript.blogspot.com/feeds/5779507945856539958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4579362723253029967&amp;postID=5779507945856539958' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/5779507945856539958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/5779507945856539958'/><link rel='alternate' type='text/html' href='http://studyscript.blogspot.com/2008/02/open-new-window.html' title='Open New Window'/><author><name>Hawckins</name><uri>http://www.blogger.com/profile/14884293118024008643</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='25' src='http://bp0.blogger.com/_zz-Z3EACmcE/R8Uz0aNQu0I/AAAAAAAAAn0/71bCgmLNgHE/S220/Hawckins.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4579362723253029967.post-5184115523440271353</id><published>2008-02-28T03:06:00.000-08:00</published><updated>2008-02-28T03:07:02.339-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Find Current Browser'/><title type='text'>Find Current Browser</title><content type='html'>var Browser = navigator.appName;&lt;br /&gt;var Net = Browser.indexOf("Netscape")&lt;br /&gt;var Micro = Browser.indexOf("Microsoft")&lt;br /&gt;&lt;br /&gt;Netscape = false&lt;br /&gt;IE = false&lt;br /&gt;&lt;br /&gt;if(Net &gt;= 0)&lt;br /&gt;{&lt;br /&gt;Netscape = true&lt;br /&gt;alert("You're using Netscape")&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if(Micro &gt;= 0)&lt;br /&gt;{&lt;br /&gt;IE = true&lt;br /&gt;alert("You're using Internet Explorer")&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4579362723253029967-5184115523440271353?l=studyscript.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://studyscript.blogspot.com/feeds/5184115523440271353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4579362723253029967&amp;postID=5184115523440271353' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/5184115523440271353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/5184115523440271353'/><link rel='alternate' type='text/html' href='http://studyscript.blogspot.com/2008/02/find-current-browser.html' title='Find Current Browser'/><author><name>Hawckins</name><uri>http://www.blogger.com/profile/14884293118024008643</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='25' src='http://bp0.blogger.com/_zz-Z3EACmcE/R8Uz0aNQu0I/AAAAAAAAAn0/71bCgmLNgHE/S220/Hawckins.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4579362723253029967.post-5330524852275142228</id><published>2008-02-28T02:38:00.000-08:00</published><updated>2008-02-28T02:39:26.882-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Encrypting the URL'/><title type='text'>Encrypting the URL</title><content type='html'>function encrypt(form) {&lt;br /&gt;  // the following letters and numbers and other characters are going&lt;br /&gt;  // to be encrypted.&lt;br /&gt;  letters = "abcdefghijklmnopqrstuvwxyz/.1234567890~_:";&lt;br /&gt; &lt;br /&gt;  encrypt = new Array(&lt;br /&gt;  "%61","%62","c","%64","e","%66",&lt;br /&gt;  "%67","%68","%69","%6a","%6b","%6c",&lt;br /&gt;  "m","n","o","%70","%71","%72",&lt;br /&gt;  "%73","t","%75","%76","w","%78",&lt;br /&gt;  "%79","%7a","/","."&lt;br /&gt;  ,"1","2","3","4","5","6","7","8",&lt;br /&gt;  "9","0","~","_","!",":");&lt;br /&gt; &lt;br /&gt;  form.output.value = "";&lt;br /&gt;  var input = form.input.value;&lt;br /&gt;  output = "";&lt;br /&gt;  for(var count = 0; count &lt; input.length; count++) {&lt;br /&gt;    daChar = input.charAt(count);&lt;br /&gt;    for (i = 0; i &lt; letters.length; i++) {&lt;br /&gt;      if (daChar == letters.charAt(i)) {&lt;br /&gt;        output += encrypt[i];&lt;br /&gt;        break;&lt;br /&gt;      }&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;  form.output.value = output;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4579362723253029967-5330524852275142228?l=studyscript.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://studyscript.blogspot.com/feeds/5330524852275142228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4579362723253029967&amp;postID=5330524852275142228' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/5330524852275142228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/5330524852275142228'/><link rel='alternate' type='text/html' href='http://studyscript.blogspot.com/2008/02/encrypting-url.html' title='Encrypting the URL'/><author><name>Hawckins</name><uri>http://www.blogger.com/profile/14884293118024008643</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='25' src='http://bp0.blogger.com/_zz-Z3EACmcE/R8Uz0aNQu0I/AAAAAAAAAn0/71bCgmLNgHE/S220/Hawckins.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4579362723253029967.post-4032723117285178002</id><published>2008-02-28T02:35:00.000-08:00</published><updated>2008-02-28T02:36:46.264-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Check whether textbox is empty or not'/><title type='text'>Check whether textbox is empty or not</title><content type='html'>function check(SHeaderID)&lt;br /&gt;    {&lt;br /&gt;        var searchText = document.getElementById(SHeaderID + "_txtusername");&lt;br /&gt;        var searchPhone = document.getElementById(SHeaderID + "_txtpassword");&lt;br /&gt;        if((searchText.value=="" )||(searchText.value==0)|| (searchText.value==null))&lt;br /&gt;        {&lt;br /&gt;            alert("Please Enter Your Email Id.");&lt;br /&gt;            searchText.value="";&lt;br /&gt;            searchText.focus();&lt;br /&gt;            return false;&lt;br /&gt;        }&lt;br /&gt;       &lt;br /&gt;        if((searchPhone.value=="" )||(searchPhone.value==0)|| (searchPhone.value==null))&lt;br /&gt;        {&lt;br /&gt;            alert("Please Enter Your Password");&lt;br /&gt;            searchPhone.value="";&lt;br /&gt;            searchPhone.focus();&lt;br /&gt;            return false;&lt;br /&gt;        }&lt;br /&gt;        else&lt;br /&gt;        {&lt;br /&gt;            return true;&lt;br /&gt;        }&lt;br /&gt;    }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4579362723253029967-4032723117285178002?l=studyscript.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://studyscript.blogspot.com/feeds/4032723117285178002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4579362723253029967&amp;postID=4032723117285178002' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/4032723117285178002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/4032723117285178002'/><link rel='alternate' type='text/html' href='http://studyscript.blogspot.com/2008/02/check-whether-textbox-is-empty-or-not.html' title='Check whether textbox is empty or not'/><author><name>Hawckins</name><uri>http://www.blogger.com/profile/14884293118024008643</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='25' src='http://bp0.blogger.com/_zz-Z3EACmcE/R8Uz0aNQu0I/AAAAAAAAAn0/71bCgmLNgHE/S220/Hawckins.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4579362723253029967.post-85039129245944894</id><published>2008-02-27T04:14:00.000-08:00</published><updated>2008-02-27T04:16:42.258-08:00</updated><title type='text'>Simpl Intrest Calculation</title><content type='html'>function calculate(amount,years,rate)&lt;br /&gt;{&lt;br /&gt;    var getamount = document.getElementById(amount);&lt;br /&gt;    var getyears = document.getElementById(years);&lt;br /&gt;    var getrate = document.getElementById(rate);&lt;br /&gt;    var getmontrate = document.getElementById("monthpay");&lt;br /&gt;    var getonlyrate = document.getElementById("onlyintrest");&lt;br /&gt;    var getamt = getamount.value;&lt;br /&gt;    var getyer = getyears.value;&lt;br /&gt;    var getrat = getrate.value;&lt;br /&gt;    var getmonth = getmontrate.value;&lt;br /&gt;    var getonly = getonlyrate.value;&lt;br /&gt;    var rateperyear = getrat / 100;&lt;br /&gt;    var si = getamt * rateperyear * getyer;&lt;br /&gt;    var numofmonth = getyer * 12;&lt;br /&gt;    var onlyintrest = si / numofmonth;&lt;br /&gt;    getonlyrate.value = onlyintrest;&lt;br /&gt;   &lt;br /&gt;        var R = getrat / 100;&lt;br /&gt;        var p = ((getamt*R)/12) * (1/(1-(Math.pow(1/(1+R),getyer))));&lt;br /&gt;        getmontrate.value = p;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4579362723253029967-85039129245944894?l=studyscript.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://studyscript.blogspot.com/feeds/85039129245944894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4579362723253029967&amp;postID=85039129245944894' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/85039129245944894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/85039129245944894'/><link rel='alternate' type='text/html' href='http://studyscript.blogspot.com/2008/02/simpl-intrest-calculation.html' title='Simpl Intrest Calculation'/><author><name>Hawckins</name><uri>http://www.blogger.com/profile/14884293118024008643</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='25' src='http://bp0.blogger.com/_zz-Z3EACmcE/R8Uz0aNQu0I/AAAAAAAAAn0/71bCgmLNgHE/S220/Hawckins.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4579362723253029967.post-4444580463204869748</id><published>2008-02-27T04:10:00.000-08:00</published><updated>2008-02-27T04:12:21.392-08:00</updated><title type='text'>Enable Button Using Checkbox Action</title><content type='html'>function disable_enable()&lt;br /&gt;{&lt;br /&gt;if (document.all || document.getElementById)&lt;br /&gt;{&lt;br /&gt;if (document.test1.test2.disabled==true)&lt;br /&gt;document.test1.test2.disabled=false&lt;br /&gt;else&lt;br /&gt;document.test1.test2.disabled=true&lt;br /&gt;}&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4579362723253029967-4444580463204869748?l=studyscript.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://studyscript.blogspot.com/feeds/4444580463204869748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4579362723253029967&amp;postID=4444580463204869748' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/4444580463204869748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/4444580463204869748'/><link rel='alternate' type='text/html' href='http://studyscript.blogspot.com/2008/02/enable-button-using-checkbox-action.html' title='Enable Button Using Checkbox Action'/><author><name>Hawckins</name><uri>http://www.blogger.com/profile/14884293118024008643</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='25' src='http://bp0.blogger.com/_zz-Z3EACmcE/R8Uz0aNQu0I/AAAAAAAAAn0/71bCgmLNgHE/S220/Hawckins.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4579362723253029967.post-6890748012692138442</id><published>2008-02-27T04:02:00.000-08:00</published><updated>2008-02-27T04:09:18.142-08:00</updated><title type='text'>Body Mass Index Calculation</title><content type='html'>function calc()&lt;br /&gt;{&lt;br /&gt;    with (Math)&lt;br /&gt;     {&lt;br /&gt;        var weight = 1*document.forms.f.weightfield.value;&lt;br /&gt;        var height = 12*document.forms.f.feetfield.value + 1*document.forms.f.inchfield.value;&lt;br /&gt;        var bmi = weight/2.2/(pow((height*0.0254),2));&lt;br /&gt;        bmi = round(10*bmi)/10;&lt;br /&gt;        document.forms.f.bmifield.value=bmi.toString();&lt;br /&gt;        var waist = 1*document.forms.f.waistfield.value;&lt;br /&gt;        var wthr = waist/height*100;&lt;br /&gt;        wthr = round(10*wthr)/10;&lt;br /&gt;        document.forms.f.whtrfield.value=wthr.toString();&lt;br /&gt;        var sex = 1*document.forms.f.sexbutton.value;&lt;br /&gt;        var fat = (sex==1) * 100*(-98.42 + 4.15*waist - 0.082*weight)/weight +&lt;br /&gt;        (sex==0) * 100*(-76.76 + 4.15*waist - 0.082*weight)/weight;&lt;br /&gt;        fat = round(fat*10)/10;&lt;br /&gt;        document.forms.f.fatfield.value=fat.toString();&lt;br /&gt;        var area = pow(height * weight/3131, 0.50);&lt;br /&gt;        area = round(area*100)/100;&lt;br /&gt;        document.forms.f.areafield.value=area.toString();&lt;br /&gt;        var age = 1*document.forms.f.agefield.value;&lt;br /&gt;        var bmr = (sex==1)*(13.75*weight/2.2 + 5.003*height*2.54 - 6.775*age + 66.5) +&lt;br /&gt;            (sex==0)*(9.563*weight/2.2 + 1.850*height*2.54 - 4.676*age + 655.1);&lt;br /&gt;        bmr = round(bmr);&lt;br /&gt;        document.forms.f.bmrfield.value=bmr.toString();&lt;br /&gt;        var willwt = pow(height,3)/1906;&lt;br /&gt;        willwt = round(willwt);&lt;br /&gt;        document.forms.f.willwtfield.value=willwt.toString();&lt;br /&gt;        var willwaist = height*0.4584;&lt;br /&gt;        willwaist = round(willwaist*10)/10;&lt;br /&gt;        document.forms.f.willwaistfield.value=willwaist.toString();&lt;br /&gt;    }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4579362723253029967-6890748012692138442?l=studyscript.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://studyscript.blogspot.com/feeds/6890748012692138442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4579362723253029967&amp;postID=6890748012692138442' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/6890748012692138442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/6890748012692138442'/><link rel='alternate' type='text/html' href='http://studyscript.blogspot.com/2008/02/body-mass-index-calculation.html' title='Body Mass Index Calculation'/><author><name>Hawckins</name><uri>http://www.blogger.com/profile/14884293118024008643</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='25' src='http://bp0.blogger.com/_zz-Z3EACmcE/R8Uz0aNQu0I/AAAAAAAAAn0/71bCgmLNgHE/S220/Hawckins.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4579362723253029967.post-6201547800434376528</id><published>2008-02-27T02:03:00.000-08:00</published><updated>2008-02-27T02:56:16.456-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CSS Tips and Tricks'/><title type='text'>CSS Tips &amp; Tricks</title><content type='html'>&lt;span style="color: rgb(51, 51, 153);font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;Use CSS shorthand&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-style: italic;font-size:85%;" &gt;To save space and make your CSS files easier to read I recommend using shorthand syntax to declare several properties in a single declaration.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 153);"&gt;Specify a unit unless the value is 0&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-style: italic;"&gt;In HTML you can get away with that, but in CSS all length values must have a unit.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 153);"&gt;Remember case sensitivity&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-style: italic;"&gt;I recommend always using lowercase for element names in CSS selectors.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 153);"&gt;Specifying colours&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    when you use hexadecimal colour notation and a colour is made up of three pairs of hexadecimal digits, you can write it in a more efficient way by omitting every second digit:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;#000 is the same as #000000, #369 is the same as #336699.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 153);"&gt;Eliminate element types for class and id selectors&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-style: italic;"&gt;When writing selectors that target an element with a certain class or id value, you can omit the element type before the . (class selector) or # (id selector).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(255, 0, 0);"&gt;So, instead of writing&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   1. div#continer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   2. fieldset.wholecontent&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(255, 0, 0);"&gt;you can write&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   1. #continer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   2. .wholecontent&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;and save a few bytes for each selector.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 153);"&gt;Default values&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-style: italic;"&gt;You can often eliminate the need to specify a value for a property by taking advantage of that property’s default value.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 153);"&gt;Don’t redeclare inherited values&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-style: italic;"&gt;Be aware that some properties may be overridden by browser specific user agent style sheets&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 153);"&gt;Take advantage of the cascade&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 153);"&gt;Multiple class names&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    You can assign multiple class names to an element. This allows you to write several rules that define different properties, and only apply them as needed.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;Use descendant selectors&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;Avoid quoting URLs&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 51, 153);"&gt;Group selectors&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;    When several element types, classes, or id:s share some properties, you can group the selectors to avoid specifying the same properties several times.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 153);"&gt;Specify link styles in the right order&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    When applying CSS to the different states of a link you need to think about the order of the rules. In most cases you’ll want to specify them in the order :link :visited :hover :active.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 153);"&gt;Clearing floats&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-style: italic;"&gt;A very common CSS problem is how to handle the situation that occurs when you have a floated object in a container and do not want that object to stick out of the bottom of the container. A typical example is floating a tall image within the main body text. If there is not enough text to cover the entire height of the image, the image will extend out of the box it is in. Sometimes that is what you actually want, sometimes it isn’t.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    The traditional way of controlling this has been to add an extra element, either a div or a br element, inside the element that you want to contain any floated descendants and style it to clear:both. Adding extra markup is a bit ugly, but luckily there is a method that eliminates the need for that&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 153);"&gt;Importing and hiding CSS&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-style: italic;"&gt;A common way of hiding CSS files from old browsers is to use the @import trick. However, the way I see it used most often does not hide the CSS from Internet&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 153);"&gt;Giving Internet Explorer what it needs&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-style: italic;"&gt;There are many CSS hacks that do this, but I tend to use just a couple of them, and only when I can’t find a better, hack-free way to accomplish what I want. With Microsoft’s recent announcement of an upcoming beta release of IE7 for Windows, which may or may not include better support for CSS, and may or may not change the way CSS hacks work, I think the safest way of taking care of IE/Win is to use conditional comments&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   1. &lt;!--[if IE]&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   2. &lt;link rel="stylesheet" type="text/css" href="ie.css"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   3. &lt;![endif]--&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 153);"&gt;How big is that box?&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-style: italic;"&gt;When something goes wrong, start by validating your CSS. Anybody can make a type.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(51, 51, 153);"&gt;CSS coding style&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-style: italic;"&gt;There are many different approaches to the use of indenting, line breaks and whitespace when writing CSS. I’ve been going a bit back-and-forth on that, but I I’ve settled for the following coding style (for now, anyway):&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   &lt;span style="font-style: italic;"&gt;1. selector1,&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   2. selector2 {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   3. property:value;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   4. }&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4579362723253029967-6201547800434376528?l=studyscript.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://studyscript.blogspot.com/feeds/6201547800434376528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4579362723253029967&amp;postID=6201547800434376528' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/6201547800434376528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/6201547800434376528'/><link rel='alternate' type='text/html' href='http://studyscript.blogspot.com/2008/02/css-tips-tricks.html' title='CSS Tips &amp; Tricks'/><author><name>Hawckins</name><uri>http://www.blogger.com/profile/14884293118024008643</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='25' src='http://bp0.blogger.com/_zz-Z3EACmcE/R8Uz0aNQu0I/AAAAAAAAAn0/71bCgmLNgHE/S220/Hawckins.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4579362723253029967.post-9081196984607550135</id><published>2008-02-26T23:59:00.000-08:00</published><updated>2008-02-27T04:00:51.635-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CSS Rounded Corner'/><title type='text'>Rounded Corner Using CSS</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Screen Short&lt;/span&gt;&lt;br /&gt;-----------------&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_zz-Z3EACmcE/R8UpUaNQuuI/AAAAAAAAAm8/G0fDVCNnMi8/s1600-h/round.jpg"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_zz-Z3EACmcE/R8UpUaNQuuI/AAAAAAAAAm8/G0fDVCNnMi8/s320/round.jpg" alt="" id="BLOGGER_PHOTO_ID_5171585177713949410" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;style type="text/css"&gt;  &lt;/style&gt;&lt;div id="nifty"&gt;CSS Used&lt;br /&gt;-------------&lt;br /&gt;&lt;br /&gt;b.rtop, b.rbottom {&lt;br /&gt;display:block;&lt;br /&gt;background: #FFF;&lt;br /&gt;}&lt;br /&gt;b.rtop b, b.rbottom b {&lt;br /&gt;display:block;&lt;br /&gt;height: 1px;&lt;br /&gt;overflow: hidden;&lt;br /&gt;background: #FFFFF;&lt;br /&gt;}&lt;br /&gt;b.rtop b.r1{&lt;br /&gt;    margin: 0 4px;&lt;br /&gt;    border-right: 1px solid #9BD1FA;&lt;br /&gt;    border-left: 1px solid #9BD1FA;&lt;br /&gt;    border-top: 1px solid #9BD1FA;&lt;br /&gt;}&lt;br /&gt;b.rbottom b.r1{&lt;br /&gt;    margin: 0 4px;&lt;br /&gt;    border-right: 1px solid #9BD1FA;&lt;br /&gt;    border-left: 1px solid #9BD1FA;&lt;br /&gt;    border-bottom: 1px solid #9BD1FA;&lt;br /&gt;    border-top: 0px solid #9BD1FA;&lt;br /&gt;}&lt;br /&gt;b.r2{&lt;br /&gt;    margin: 0 3px;&lt;br /&gt;    border-right: 1px solid #9BD1FA;&lt;br /&gt;    border-left: 1px solid #9BD1FA;&lt;br /&gt;}&lt;br /&gt;b.r3{&lt;br /&gt;    margin: 0 2px;&lt;br /&gt;    border-right: 1px solid #9BD1FA;&lt;br /&gt;    border-left: 1px solid #9BD1FA;&lt;br /&gt;}&lt;br /&gt;b.rtop b.r4, b.rbottom b.r4{&lt;br /&gt;    margin: 0 1px;&lt;br /&gt;    height: 2px;&lt;br /&gt;    border-right: 1px solid #9BD1FA;&lt;br /&gt;    border-left: 1px solid #9BD1FA;&lt;br /&gt;}&lt;br /&gt;.roundedfield {&lt;br /&gt;    border: 1px solid #9BD1FA;&lt;br /&gt;    border-top: 0px solid #9BD1FA;&lt;br /&gt;    border-bottom: 0px solid #9BD1FA;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;HTML to be used for rounded corner&lt;br /&gt;-------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_zz-Z3EACmcE/R8Ux8KNQuyI/AAAAAAAAAno/-gjRce-eDI4/s1600-h/html.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_zz-Z3EACmcE/R8Ux8KNQuyI/AAAAAAAAAno/-gjRce-eDI4/s400/html.png" alt="" id="BLOGGER_PHOTO_ID_5171594656706771746" border="0" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4579362723253029967-9081196984607550135?l=studyscript.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://studyscript.blogspot.com/feeds/9081196984607550135/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4579362723253029967&amp;postID=9081196984607550135' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/9081196984607550135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4579362723253029967/posts/default/9081196984607550135'/><link rel='alternate' type='text/html' href='http://studyscript.blogspot.com/2008/02/rounded-corner-using-css.html' title='Rounded Corner Using CSS'/><author><name>Hawckins</name><uri>http://www.blogger.com/profile/14884293118024008643</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='33' height='25' src='http://bp0.blogger.com/_zz-Z3EACmcE/R8Uz0aNQu0I/AAAAAAAAAn0/71bCgmLNgHE/S220/Hawckins.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_zz-Z3EACmcE/R8UpUaNQuuI/AAAAAAAAAm8/G0fDVCNnMi8/s72-c/round.jpg' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
