Archive for May, 2010
park parade
park parade

Dollywood Parade to Kickoff Opening of Dollywood in Pigeon Forge, Tennessee
By Darryl Payne
Dolly Parton is Sevier County’s favorite daughter. Her life began deep in the Smoky Mountains and her humble beginnings didn’t stop her from the climb to stardom that she has today. Many of her best songs echo the hardships and love she has for this area.
Dolly Parton has a star on the Hollywood Walk of Fame and the Nashville Star Walk. She has 25 songs that reached number one on the Billboard country charts, with 110 charted singles and 41 Top 10 albums, which is an achievement to be very proud of. This talented entertainer has also gone on to star on the silver screen in movies such as; The Best Little Whorehouse in Texas, Straight Talk, Steel Magnolias, Nine to Five and Rhinestone. In 1999, Dolly Parton was given the highest of honors and was inducted into the Country Music Hall of Fame. Yet all this success hasn’t taken the small-town girl out of the talented singer. Every year, Dolly Parton returns to the city of her birth to grand marshal the DollyWood Parade that celebrates the season opening of her theme parks; DollyWood and DollyWood Splash Country.
Every year locals and visitors alike line the main parkway of Pigeon Forge to watch the festive procession, wanting to get a glimpse of the country singer that has retained a heart of gold. To some she is a world-renowned star, and to some she is a girl they went to high school with. Adults and children both will be bedazzled by the festive floats done by local businesses and civic groups and talented local entertainers, as well as skilled marching bands from area high schools. The marching bands are the best of the best, as they are judged for their performance in the parade for the Pigeon Forge Music Festival.
Annually, an estimated 60,000 people gather to watch the DollyWood parade. For some it is a rite of spring, traveling from across the nation with their families to visit all this area has to offer. For some the parade comes as a pleasant surprise, having no idea that they had chosen to visit during such a time. There are numerous shops and amusements to duck into before and after the parade and Pigeon Forge boasts a vast array of restaurants to cool your heels at with your family. Spring into Pigeon Forge, TN and see all the Smoky Mountains has to offer.
About the Author
Darryl Payne is owner of Stone Oak Web Travel Guide, which offers information on the Annual Dollywood Parade in Pigeon Forge and more. Visit them online today at http://www.stoneoakweb.comfor complete Smoky Mountain vacation planning information. © 2007, All Rights Reserved
Six Flags Great America GLOW IN THE PARK PARADE 5/29/10
![]() |
![]() |
GSI Super Quality Ultra-Safe Electronic Adjustable Stretch Training Dog Collar with Advanced Bark-Stopping Functions, Great Pet Behavioral Tool List Price: Sale Price: $14.99 |
DescriptionThis Newest Bark-Stopping Collar Training System from GSI Is a Super Behavior Training Tool for your Favorite Dog. Simple and Extremely User Friendly, It will bring you Peace of Mind and Enjoyment. Adjustable, Ultra Safe Collar Included. |
![]() |
GSI Super Quality Ultra-Safe Waterproof Adjustable Training Dog Collar with Remote Control - 6 Levels of Static and Vibration - Great Pet Behavioral Device
Sale Price: $59.99 |
DescriptionThis newest Water Resistant Training Device from GSI is extremely advanced with Different Features and Functions, and User-Friendly at the same time. State of the Art System allows you to communicate with your favorite animal Gently or Strictly, Depending on the Training Method... |
![]() |
GSI Super Quality Waterproof Weather-Resistant Adjustable Stretch Training Dog Collar - Audible and Ultrasonic Functions to Stop Barking - Great Pet Behavioral Tool List Price: Sale Price: $7.00 Average Rating: |
DescriptionThis Newest Water Proof Bark-Stopping Collar Training System from GSI Is a Super Behavior Training Tool for your Favorite Dog. Simple and Extremely User Friendly, It will bring you Peace of Mind and Enjoyment... |
![]() |
The Music of John Williams: 40 Years of Film Music List Price: Sale Price: $38.49 Average Rating: |
![]() |
Broadway, My Way List Price: Sale Price: $16.68 Average Rating: |
DescriptionOn the eagerly awaited Broadway My Way, Atlantic recording artist and acclaimed Broadway sensation Linda Eder performs classics including 'On the Street Where You Live' (from My Fair Lady), 'Edelweiss' (from The Sound of Music), 'Don't Rain On My Parade' (from Funny Girl) and 10 other great broadway songs performed in a whole new voice... |
![]() |
Sing Along Songs: Disneyland Fun (Volume 7)
Sale Price: $24.99 |
DescriptionVolume 7 in this series features a day in the life of Disneyland with performers like Mickey Mouse, Donald Duck, Goofy, Minnie Mouse, Winnie the Pooh, Tigger, Roger Rabbit, and more, as they take kids through the park and go on out of this world rides like Jungle Cruise, Star Tours, Tom Sawyer's Island, Haunted Mansion, Small World, Autopia, and more! With famous Disney songs like Whistle While You Work, Step In Time, Follow The Leader, It's a Small World and more that are rewritten for the occasion... |
![]() |
A Day At Disneyland: A Souvenir Film
Average Rating: |
DescriptionRelive your day at Disneyland with all the color and excitement of being there! Ride down Main Street to Plaza Park and a breathtaking view of Sleeping Beauty's Castle. Walk through Adventureland, Frontierland, Fantasyland and Tomorrowland... |
![]() |
Lion King Celebration
Sale Price: $29.50 Average Rating: |
DescriptionReleased for sale to Disneyland Theme Park visitors in 1996, The Lion King Celebration is a 25 minute live action look at the Lion King Celebration parade that took place in the park from 1994 until 1997. |
![]() |
My Little Pony - The Princess Promenade List Price: Sale Price: $8.99 Average Rating: |
memorial day party ideas
memorial day party ideas

Wonderful Birthday Party Ideas For Young Boys
If your son is under the age of 13, but is past the days of Jungle Safari and Elmo themed birthday parties, you probably feel like you’ve exhausted all your options for throwing a fun birthday party that he and all his friends will enjoy. Well, have no fear! Here is a list of some great birthday party ideas for your boy that won’t break the bank and will guarantee a fun time.
- Sports Themed Party. Is your son into football? Baseball? Soccer? Well, why not center his party on his favorite sport! You could hand-make or buy sports themed invitations. A great idea would be to make invitations that look like tickets to the big game! You could encourage everyone to wear a sports jersey of their favorite professional player or just the jersey they wear when they play. Plan on serving great game day foods like pigs-in-a-blanket, pizza, and chips and dip. Plan on serving a cake that looks like a football/baseball/soccer field or that is in the shape of the ball used for your son’s favorite sport.
- Xtreme Sports Party. If your son is into skateboarding, rollerblading, motocross, or BMX biking, then you should consider throwing a party centered on his favorite extreme sport. You may even want to call around and see if there will be any motocross or skateboarding competitions around your area that you could have the guests and your son attend to start out. You could serve high-energy foods for such a high-energy sport such as granola bars, trail mix, Gatorade or sports water, and maybe even some sub sandwiches from your local sandwich shop. Be sure to purchase or make a cake that goes with the theme and don’t be afraid to get creative.
- Comic Book Heroes Costume Party. If your son is still into comic book heroes such as Batman, Spiderman, or Iron Man, you should throw a comic book hero costume party! You could pretend like your hosting a superhero business conference where your son is being honored for all he has done for the citizens in your area. You can encourage all his friends to dress up like their favorite superhero and maybe arrange for a showing of your sons favorite superhero movie at a local theater. This is another theme where you can get creative with the invitations, cake, and decorations.
- 3, 2, 1, Action! Birthday Party. For the aspiring actor in your family, a drama-themed birthday party may be just the key! Maybe you could arrange for your local high school drama club to come and put on a few skits or what about dividing the kids up into teams and letting them act out their own skits in front of your video camera. This birthday party theme will allow all the guests to get involved and if you tape it, you will have some great memories for many years to come. Maybe you could have the cake look like a clapperboard and have a special chair made for your son that says “Director” or “It’s My Birthday!” Just get creative and have a good time.
About the Author
Moments of Elegance is an online wedding boutique featuring wedding favors, bridal shower favors & bridal party gifts.†† Read their great wedding planning ideas page for some super unique and often hilarious ideas that brides have on how to take a cookie cutter event and make it second to none. They can serve as your one stop shop for party favors http://www.momentsofelegance.com/ to make your event second to none. Check out their current featured Double Bubble gumball machine favors (http://www.momentsofelegance.com/catalog/dubble-bubble-gumball-machine-favors-p-3572.html).
Las Vegas Pool Party- Rehab Memorial Day Weekend
![]() |
No items matching your keywords were found.
![]() |
Pet Memorial Personalized Concrete Stone - In Memory |
DescriptionThe pet memorials are made of cast stone in PA. They are made to be weatherproof & guaranteed to last a lifetime. All of the decorative stones have a hangar cast into the backs to allow display on walls, fences, or outbuildings... |
![]() |
Onion Bratwurst
Sale Price: $33.10 |
DescriptionThe taste of onion in the Sheboygan Bratwurst Company's Onion Bratwurst add just the right flavor to a grilled brat. The award winning onion flavored bratwurst will be a hit at your next tailgate party or picnic... |
![]() |
Sheboygan Garlic Bratwurst
Sale Price: $33.10 |
DescriptionFamily and friends will rave about the flavor in the award winning Garlic Bratwurst by the Sheboygan Bratwurst Company. Seasoned with the perfect flavor of fresh garlic, the bratwurst are packaged in a 5 lb... |
![]() |
Nueske Bacon Burgers
Sale Price: $20.35 |
DescriptionEach 1/3 pound Bacon Burger has minced applewood-smoked bacon mixed into ultra-lean ground beef - so lean that the burgers barely shrink when cooked in a skillet or on an outdoor grill. The burgers arrive in two packages of five burgers each, so youre ready for a family dinner or party... |
![]() |
Coach Poppy Glam Groovy Shoulder Crossbody Bag Purse 13834 Multi
Sale Price: $199.99 |
DescriptionMade of poppy fabric with grosgrain and leather, and metallic leather trim. ~Guaranteed Authentic or Money Back~ |
![]() |
Coach Alex Coated Op Art Signature Crossbody Messenger Bag Swingpack Khaki List Price: Sale Price: $124.99 |
DescriptionSoft coated op art fabric. |
![]() |
Coach Madison Op Art Signature Crossbody Messenger Bag Swing Pack 43430 Black
Sale Price: $148.99 |
DescriptionOp Art sateen fabric with lightweight leather trim. |
![]() |
Coach Poppy Signature Plaid Tartan Wristlet Case Bag for IPOD 43285 Black Multi
Sale Price: $56.99 |
DescriptionGreat to hold a camera, cell phone, IPOD or any other MP3 players and can double as a makeup bag/pouch or as a cool wristlet. Every poppy wristlet is unique wristlet received may not has the exact same pattern as the one shown in the webpage. |
![]() |
Coach Metallic Leather Medium Skinny Business Coin Case Bag with Key Chain 43298 Raspberry
Sale Price: $52.99 Average Rating: |
Description4.5" x 3". Zip top closure with leather pull. Back slip pocket for credit card etc. Attached split key chain. Interior lining. Perfect gift idea! |
sermon memorial day
sermon memorial day

The Wounds Of Jesus A sermon on John 20:19-29
Welcome to the first Sunday after Easter - a day often referred to in ecclesiastical circles as ‘low Sunday', for reasons that are surely too obvious to require explanation.
Today shares the title of ‘low Sunday' with the first Sunday after Christmas - again for reasons too obvious to bear repeating.
And this year at this time we do as we do every year on this low Sunday - we hear the story of Doubting Thomas again.
Most stories in the Bible are read every three years in accordance with the cycle of readings spelt out in our lectionary. This story though is scheduled to be read every year, and again for reasons that I presume are obvious.
We love this story. The church universal loves this story. The church throughout history has always loved this story, and we can understand why. We identify with Thomas in his doubting. We understand his scepticism, we stand with him in his struggle, we see ourselves in his tornness and in his confusion.
All this makes perfect sense to me, as the need to have a low Sunday makes perfect sense to me, and yet there is one aspect to this story that, to my mind, does not fit with all the obvious good sense of the first Sunday after Easter but which stands out like a sore thumb for me every year when I hear this story repeated, and it is this: why did the resurrected body of Jesus have holes it?!
I'm assuming that you know the story as well as I do. Forgive me if you don't. The date was Easter Sunday evening. The doors were locked where the disciples were out of fear that the authorities who had destroyed Jesus might come looking for them next, and yet somehow it was not the authorities that came crashing in on their private gathering but Jesus Himself - previously dead but now very much alive, and He showed them, we're told, "his hands and his side".
Thomas apparently wasn't with them at that fateful meeting but only heard about Jesus' bizarre appearance to them second hand. He was understandably sceptical and wanted to see Jesus for himself - expressing a particular interest in seeing the wounded hands and side: "Unless I see the nail marks in his hands, put my finger into them, and put my hand into his side, I will never believe!"
A week passed, and it must have been a long and tense week between Thomas and the rest of the disciples, yet happily Thomas was with the others when Jesus repeated exactly the same stunt again - somehow appearing in the room despite all the doors and latches that should have kept Him out. And the first thing He does after saying 'G'day' to the group was to show Thomas His hands and His side. "Put your finger here, and look at my hands. Take your hand, and put it into my side. Stop doubting, but believe."
And I don't know if Thomas stuck his fingers into the nail marks in Jesus' hands, and I don't know whether Thomas thrust his hand in Jesus' side as invited, but what I do know and what is quite clear at every step of the narrative is that Jesus was, in some sense or another, still carrying the wounds of Good Friday in His Easter Sunday body or at least the marks of those wounds, and that bothers me!
Jesus was in His resurrection body. The body of Jesus had been changed through the experience of death and resurrection. There is no doubt about that. As this Gospel passage itself makes clear, the resurrection body of Jesus was not bound by the same earthly limitations as his previous body had been. The resurrected body of Jesus seemed to be able to come in and out of locked rooms as Jesus appeared and disappeared, and that body evidently looked different, such that Jesus' disciples sometimes at first failed to recognise Him.
That, in itself, is sort of what we might have expected - that the resurrection body would be something of an upgrade to the normal earthly version.
We look for the coming of a better world and Jesus, the Bible tells us, is the ‘first fruits' (a sign) of what is to come (1 Corinthians 15). As Christ has been raised, so shall we be raised. As Christ was given a new body, so shall we be given new bodies. And in that better world, where ‘the earth will be as full of the knowledge of the Lord as the waters cover the sea' and where sorrow and pain give way to joy, our new resurrection bodies find an eternal home, which leads me to wonder though whether, if Jesus is truly our model here, all these resurrection bodies will still carry with them the disfigurements that came to them during their earthly lives?
Maybe that's how we recognise each other in Heaven? Maybe one day one of you will come up to me and say, "Dave, I'd recognise that broken nose anywhere!" It's possible.
If you're familiar with Homer's Odyssey, you may remember how Ulysses, after he returned from the Trojan war, was unrecognisable even to his own family but how, as the story goes, he was given a bath by the aging nurse, Eurycleia, who recognised him through a scar that he had on his leg.
In truth, it is our scars that identity us to those who know and love us best and, conversely, I suspect that the most significant part of getting to know someone intimately is in getting to know their wounds. Even so, it is remarkable how the woundedness of Jesus has divided people religiously across space and time.
One of the earliest Christian heresies was ‘Docetism' (from the Latin ‘doceo' meaning ‘to seem'). Docestists believed that Jesus only seemed to be human and that He only appeared to be suffering on the cross. Jesus, the Son of God, could not really suffer of course. He could not experience real pain.
Islam, of course, followed in the path of the Docetists (in a sense) by denying that Jesus really suffered and died on the cross. While Christians claimed that Jesus had suffered in their place, Mohammed claimed that someone else had suffered in Jesus' place, for it just could not be that a prophet like Jesus could suffer and be wounded and die in such a terrible way!
St Paul reflected very similarly, that while the Greeks might have considered the concept of resurrection to be silly, for his fellow Jews the very idea that God's Messiah could suffer and die in such a humiliating fashion was not so much foolish as downright offensive!
Evidently the religious mind struggles with the idea that any Son of God could suffer and be wounded and die such a terrible death, for it just rails against our entire concept of justice, and yet we know that the Gospels entirely embrace this.
Rather than trying to skirt around the death of Jesus, the Gospel writers assert it boldly. Rather than deny the brokenness of Jesus, the Apostle Peter goes as far as to say to his congregation "by His wounds you have been healed" (1 Peter 2:24). And even in these sketchy post-resurrection stories where so much is mysterious - where we can't be sure exactly what Jesus looked like or how His body behaved the way it did, one thing is abundantly clear, and that is that the scars of Jesus were still there, and that indeed they were a key point through which His friends were reconciled to Him!
In truth, I do not know why Jesus continued to carry His scars in His resurrection body and I do not know whether this means that all of us will somehow carry our scars into eternity, but what I do know is that there is no way of sanitizing the story of Jesus if we are going to remain true to the Gospels, any more than we can rationalise pain out of the Christian life. We cannot remove the scars of Jesus for there is no Jesus apart from the suffering Jesus, just as there is no resurrection without the cross!
When I was a younger believe I figured that if your life was touched by Jesus you would be instantly and completely healed from head to toe and that all your pains and ailments would be a thing of the past - whether they be physical complaints or addiction problems or a history of emotional abuse - all would be healed. And I still believe in the healing power of Jesus, though we find, don't we, that even when healing takes place, scars remain - old fears, struggles, memories that won‘t go away - they remain a part of who we are.
Can we be the people we are without those scars? I don't know. What I do know is that we are broken people. And even when we have experienced the healing touch of Jesus in our lives we remain broken people. And it is in our brokenness that we find ourselves reaching out to Jesus, knowing that He has been broken too.
And maybe that's the biggest reason of all as to why we love this story of Thomas so much, even if it might not be so obvious at first. Perhaps it's not only that we identify with Thomas in his doubts, but even moreso that deep down we, like him, are wounded people yearning to make contact with the wounds of Jesus?
And so on this low Sunday when everything seems so straightforward, let us take a moment to reflect on what is perhaps the greatest miracle of Easter, even if it is not so obvious at first - that He who is risen is the one who was crucified, and (thanks be to God) that the one who was crucified is risen!
About the Author
David B. Smith (the 'Fighting Father') Parish priest, community worker, martial arts master, pro boxer, author, father of three www.fatherdave.org. Fighting Father Dave Get a free preview copy of Dave's book, Sex, the Ring & the Eucharist when you sign up for his free newsletterat www.fatherdave.org
.
Memorial Day Sermon | Part 2 of 2 | 05-24-09 | Rev. Jean Kerr Lerch
![]() |
No items matching your keywords were found.
![]() |
All the Holy Days and Holidays: Or, Sermons on All National and Religious Memorial Days (All the Holy Days & Holidays) List Price: Sale Price: $8.68 |
flags clip art
flags clip art

Creating A Smart Identity With Your Marketing Tools
Your business cards and print letterheads are the very tools that help you make a good impression for your identity. They are the first tools that will help you build lasting relationships with your clients who will keep you growing and successful in your business. With a little imagination and creativity, you can turn your regular business cards and letterhead printing into effective marketing tools that can keep the mill running no matter the economic environment. Here's how: Identify and establish your identity. This is an essential process if you want to be known in your industry. You have to determine and identify what image you would want to be known by your target clients and customers. Use your graphics and copy in your business cards and print letterheads to show your prospects and clients who you are. As these customized stationery will go with your other marketing tools, keep them as clean and as consistent to your overall theme always. Consider a "logoless logo". One expert marketer suggests that if you don't have the budget to design a custom logo for your business, try doing your logo the logolesss way. This can be done by combining two simple clip arts or graphic images to form one logo symbol. Just remember to choose images that identify well with the message you would want to put across your target readers. The wrong clip art can give a different meaning that might create a bad impression for your business. Always feature the benefits. Taglines and slogans are standards in limited spaces such as that in your business card and letterhead printing. A simple statement that explains what you do and how your business can benefit your . A simple statement that explains what you do and how your business can benefit your target clients can go a long way in keeping your marketing tools working hard even after the first contact is established. Turn your marketing tools into a mini version of your brochure. Just include a headline and brief text on what you do exactly, in addition to your basic contact information. And you will already have a marketing tool that not only introduces you to your target clients, but also provides them with information to encourage them to take your offer. Use your marketing tools to break down the stranger barrier. Of course, this is the first time that your target clients would ever hear of you. It's not surprising that a barrier would be visible when you approach your target clients. Your business card and letterhead printing alone would not be enough to break down the barrier. A personal letter or telephone call can make it easy for your target clients to accept you by the time your marketing tool gets into their hands. With these tips, you can have a smart marketing strategy that would help you provide a memorable identity for a very long time.
<input id="gwProxy" type="hidden" /><input id="jsProxy" />
<!-- Top iFrame --> <!-- Bottom iFrame --> [removed]// <![CDATA[ var LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT = 300; var LEO_HIGHLIGHTS_MAX_HIGHLIGHTS = 50; var LEO_HIGHLIGHTS_IFRAME_TOP_ID = "leoHighlights_top_iframe"; var LEO_HIGHLIGHTS_IFRAME_BOTTOM_ID = "leoHighlights_bottom_iframe"; var LEO_HIGHLIGHTS_IFRAME_DIV_ID = "leoHighlights_iframe_modal_div_container"; var LEO_HIGHLIGHTS_IFRAME_TOTAL_COLLAPSED_WIDTH = 520; var LEO_HIGHLIGHTS_IFRAME_TOTAL_COLLAPSED_HEIGHT = 391; var LEO_HIGHLIGHTS_IFRAME_TOTAL_EXPANDED_WIDTH = 520; var LEO_HIGHLIGHTS_IFRAME_TOTAL_EXPANDED_HEIGHT = 665; var LEO_HIGHLIGHTS_IFRAME_TOP_POS_X = 0; var LEO_HIGHLIGHTS_IFRAME_TOP_POS_Y = 0; var LEO_HIGHLIGHTS_IFRAME_TOP_WIDTH = 520; var LEO_HIGHLIGHTS_IFRAME_TOP_HEIGHT = 294; var LEO_HIGHLIGHTS_IFRAME_BOTTOM_POS_X = 96; var LEO_HIGHLIGHTS_IFRAME_BOTTOM_POS_Y = 294; var LEO_HIGHLIGHTS_IFRAME_BOTTOM_COLLAPSED_WIDTH = 425; var LEO_HIGHLIGHTS_IFRAME_BOTTOM_COLLAPSED_HEIGHT = 97; var LEO_HIGHLIGHTS_IFRAME_BOTTOM_EXPANDED_WIDTH = 425; var LEO_HIGHLIGHTS_IFRAME_BOTTOM_EXPANDED_HEIGHT = 371; var LEO_HIGHLIGHTS_SHOW_DELAY_MS = 300; var LEO_HIGHLIGHTS_HIDE_DELAY_MS = 750; var LEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT = "transparent none repeat scroll 0% 0%"; var LEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER = "rgb(245, 245, 0) none repeat scroll 0% 0%"; var LEO_HIGHLIGHTS_ROVER_TAG = "711-36858-13496-14"; createInlineScriptElement("var LEO_HIGHLIGHTS_DEBUG = false;
var LEO_HIGHLIGHTS_DEBUG_POS = false; var _leoHighlightsPrevElem = null; /** * Checks if the passed in class exists * @param c * @return */
function _leoHighlightsClassExists(c) { return typeof(c) == "function" && typeof(c.prototype) == "object" ? true : false;
} /** * Checks if the firebug console is available * @param c * @return */
function _leoHighlightsFirebugConsoleAvailable(c) { try { if(_leoHighlightsClassExists(_FirebugConsole) && window.console && console.log && (console instanceof _FirebugConsole)) { return true; } } catch(e){} return false;
} /** * General method used to debug exceptions * * @param location * @param e * @return */
function _leoHighlightsReportExeception(location,e)
{ try { if(_leoHighlightsFirebugConsoleAvailable() ||LEO_HIGHLIGHTS_DEBUG) { var logString=location+": "+e+"nt"+e.name+"nt"+ (e.number&0xFFFF;)+"nt"+e.description; if(_leoHighlightsFirebugConsoleAvailable()) { console.error(logString); console.trace(); } } if(LEO_HIGHLIGHTS_DEBUG) alert(logString); } catch(e){}
} /** * This will log a string to the firebug console * * @param str * @return */
function _leoHighlightsDebugLog(str)
{ try { if(_leoHighlightsFirebugConsoleAvailable()) { console.log(typeof(_FirebugConsole)+" "+str); } } catch(e) { _leoHighlightsReportExeception("_leoHighlightsDebugLog() "+str,e); }
} /** * This will get an attribute and decode it. * * @param elem * @param id * @return */
function _leoHighlightsGetAttrib(elem,id)
{ try { var val=elem.getAttribute(id); return decodeURI(val); } catch(e) { _leoHighlightsReportExeception("_leoHighlightsGetAttrib()",e); } return null;
} /** * This is a dimensions object * * @param width * @param height * @return */
function LeoHighlightsDimension(width,height)
{ try { this.width=width; this.height=height; this.toString=function() { return ("("+this.width+","+this.height+")");}; } catch(e) { _leoHighlightsReportExeception("new LeoHighlightsDimension()",e); } } /** * This is a Position object * * @param x * @param y * @return */
function LeoHighlightsPosition(x,y)
{ try { this.x=x; this.y=y; this.toString=function() { return ("("+this.x+","+this.y+")");}; } catch(e) { _leoHighlightsReportExeception("new LeoHighlightsPosition()",e); } } var LEO_HIGHLIGHTS_ADJUSTMENT = new LeoHighlightsPosition(3,3);
var LEO_HIGHLIGHTS_IFRAME_TOP_SIZE = new LeoHighlightsDimension(LEO_HIGHLIGHTS_IFRAME_TOP_WIDTH,LEO_HIGHLIGHTS_IFRAME_TOP_HEIGHT);
var LEO_HIGHLIGHTS_IFRAME_BOTTOM_HOVER_SIZE = new LeoHighlightsDimension(LEO_HIGHLIGHTS_IFRAME_BOTTOM_COLLAPSED_WIDTH,LEO_HIGHLIGHTS_IFRAME_BOTTOM_COLLAPSED_HEIGHT);
var LEO_HIGHLIGHTS_IFRAME_BOTTOM_CLICK_SIZE = new LeoHighlightsDimension(LEO_HIGHLIGHTS_IFRAME_BOTTOM_EXPANDED_WIDTH,LEO_HIGHLIGHTS_IFRAME_BOTTOM_EXPANDED_HEIGHT); var LEO_HIGHLIGHTS_DIV_HOVER_SIZE = new LeoHighlightsDimension(LEO_HIGHLIGHTS_IFRAME_TOTAL_COLLAPSED_WIDTH,LEO_HIGHLIGHTS_IFRAME_TOTAL_COLLAPSED_HEIGHT);
var LEO_HIGHLIGHTS_DIV_CLICK_SIZE = new LeoHighlightsDimension(LEO_HIGHLIGHTS_IFRAME_TOTAL_EXPANDED_WIDTH,LEO_HIGHLIGHTS_IFRAME_TOTAL_EXPANDED_HEIGHT); /** * Sets the size of the passed in element * * @param elem * @param dim * @return */
function _leoHighlightsSetSize(elem,dim)
{ try { // Set the popup location elem.style.width = dim.width + "px"; if(elem.width) elem.width=dim.width; elem.style.height = dim.height + "px"; if(elem.height) elem.height=dim.height; } catch(e) { _leoHighlightsReportExeception("_leoHighlightsSetSize()",e); } } /** * This can be used for a simple one argument callback * * @param callName * @param argName * @param argVal * @return */
function _leoHighlightsSimpleGwCallBack(callName,argName, argVal)
{ try { var gwObj = new Gateway(); if(argName) gwObj.addParam(argName,argVal); gwObj.callName(callName); } catch(e) { _leoHighlightsReportExeception("_leoHighlightsSimpleGwCallBack() "+callName,e); }
} /** * This gets a url argument from the current document. * * @param url * @return */
function _leoHighlightsGetUrlArg(url, name )
{ name = name.replace(/[[]/,"[").replace(/[]]/,"]"); var regexS = "[?&]"+name+"=([^&#]*)"; var regex = new RegExp( regexS ); var results = regex.exec(url); if( results == null ) return ""; else return results[1];
} /** * This allows to redirect the top window to the passed in url * * @param url * @return */
function _leoHighlightsRedirectTop(url)
{ try { top.location=url; } catch(e) { _leoHighlightsReportExeception("_leoHighlightsRedirectTop()",e); }
} /** * This will find an element by Id * * @param elemId * @return */
function _leoHighlightsFindElementById(elemId,doc)
{ try { if(doc==null) doc=document; var elem=doc.getElementById(elemId); if(elem) return elem; /* This is the handling for IE */ if(doc.all) { elem=doc.all[elemId]; if(elem) return elem; for ( var I = (document.all.length-1); i >= 0; i ) { elem=doc.all[i]; if(elem.id==elemId) return elem; } } } catch(e) { _leoHighlightsReportExeception("_leoHighlightsFindElementById()",e); } return null;
} /** * Get the location of one element relative to a parent reference * * @param ref * the reference element, this must be a parent of the passed in * element * @param elem * @return */
function _leoHighlightsGetLocation(ref, elem) { _leoHighlightsDebugLog("_leoHighlightsGetLocation "+elem.id); var count = 0; var location = new LeoHighlightsPosition(0,0); var walk = elem; while (walk != null && walk != ref && count < LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT) { location.x += walk.offsetLeft; location.y += walk.offsetTop; walk = walk.offsetParent; count++; } _leoHighlightsDebugLog("Location is: "+elem.id+" - "+location); return location;
} /** * This is used to update the position of an element as a popup * * @param IFrame * @param anchor * @return */
function _leoHighlightsUpdatePopupPos(iFrame,anchor)
{ try { // Gets the scrolled location for x and y var scrolledPos=new LeoHighlightsPosition(0,0); if( self.pageYOffset ) { scrolledPos.x = self.pageXOffset; scrolledPos.y = self.pageYOffset; } else if( document.documentElement && document.documentElement.scrollTop ) { scrolledPos.x = document.documentElement.scrollLeft; scrolledPos.y = document.documentElement.scrollTop; } else if( document.body ) { scrolledPos.x = document.body.scrollLeft; scrolledPos.y = document.body.scrollTop; } /* Get the total dimensions to see what scroll bars might be active */ var totalDim=new LeoHighlightsDimension(0,0) if (document.all && document.documentElement && document.documentElement.clientHeight&&document;.documentElement.clientWidth) { totalDim.width = document.documentElement.scrollWidth; totalDim.height = document.documentElement.scrollHeight; } else if (document.all) { /* This is in IE */ totalDim.width = document.body.scrollWidth; totalDim.height = document.body.scrollHeight; } else { totalDim.width = document.width; totalDim.height = document.height; } // Gets the location of the available screen space var centerDim=new LeoHighlightsDimension(0,0); if(self.innerWidth && self.innerHeight ) { centerDim.width = self.innerWidth-(totalDim.height>self.innerHeight?16:0); // subtracting scroll bar offsets for firefox centerDim.height = self.innerHeight-(totalDim.width>self.innerWidth?16:0); // subtracting scroll bar offsets for firefox } else if( document.documentElement && document.documentElement.clientHeight ) { centerDim.width = document.documentElement.clientWidth; centerDim.height = document.documentElement.clientHeight; } else if( document.body ) { centerDim.width = document.body.clientWidth; centerDim.height = document.body.clientHeight; } // Get the current dimension of the popup element var iFrameDim=new LeoHighlightsDimension(iFrame.offsetWidth,iFrame.offsetHeight) if (iFrameDim.width <= 0) iFrameDim.width = iFrame.style.width.substring(0, iFrame.style.width.indexOf('px')); if (iFrameDim.height <= 0) iFrameDim.height = iFrame.style.height.substring(0, iFrame.style.height.indexOf('px')); /* Calculate the position, lower right hand corner by default */ var position=new LeoHighlightsPosition(0,0); position.x=scrolledPos.x+centerDim.width-iFrameDim.width-LEO_HIGHLIGHTS_ADJUSTMENT.x; position.y=scrolledPos.y+centerDim.height-iFrameDim.height-LEO_HIGHLIGHTS_ADJUSTMENT.y; if(anchor!=null) { //centerDim in relation to the anchor element if available var topOrBottom = false; var anchorPos=_leoHighlightsGetLocation(document.body, anchor); var anchorScreenPos = new LeoHighlightsPosition(anchorPos.x-scrolledPos.x,anchorPos.y-scrolledPos.y); var anchorDim=new LeoHighlightsDimension(anchor.offsetWidth,anchor.offsetHeight) if (anchorDim.width <= 0) anchorDim.width = anchor.style.width.substring(0, anchor.style.width.indexOf('px')); if (anchorDim.height <= 0) anchorDim.height = anchor.style.height.substring(0, anchor.style.height.indexOf('px')); // Check if the popup can be shown above or below the element if (centerDim.height - anchorDim.height - iFrameDim.height - anchorScreenPos.y > 0) { // Show below, formula above calculates space below open iFrame position.y = anchorPos.y + anchorDim.height; topOrBottom = true; } else if (anchorScreenPos.y - anchorDim.height - iFrameDim.height > 0) { // Show above, formula above calculates space above open iFrame position.y = anchorPos.y - iFrameDim.height - anchorDim.height; topOrBottom = true; } _leoHighlightsDebugLog("_leoHighlightsUpdatePopupPos() - topOrBottom: "+topOrBottom); if (topOrBottom) { // We attempt top attach the window to the element position.x = anchorPos.x - iFrameDim.width / 2; if (position.x < 0) position.x = 0; else if (position.x + iFrameDim.width > scrolledPos.x + centerDim.width) position.x = scrolledPos.x + centerDim.width - iFrameDim.width; _leoHighlightsDebugLog("_leoHighlightsUpdatePopupPos() - topOrBottom: "+position); } else { // Attempt to align on the right or left hand side if (centerDim.width - anchorDim.width - iFrameDim.width - anchorScreenPos.x > 0) position.x = anchorPos.x + anchorDim.width; else if (anchorScreenPos.x - anchorDim.width - iFrameDim.width > 0) position.x = anchorPos.x - anchorDim.width; else // default to below position.y = anchorPos.y + anchorDim.height; _leoHighlightsDebugLog("_leoHighlightsUpdatePopupPos() - sideBottom: "+position); } } /* Make sure that we don't go passed the right hand border */ if(position.x+iFrameDim.width>centerDim.width-20) position.x=centerDim.width-(iFrameDim.width+20); // Make sure that we didn't go passed the start if(position.x<0) position.x=0; if(position.y<0) position.y=0; _leoHighlightsDebugLog("Popup info id: " +iFrame.id+" - "+anchor.id + "nscrolled " + scrolledPos + "ncenter/visible " + centerDim + "nanchor (absolute) " + anchorPos + "nanchor (screen) " + anchorScreenPos + "nSize (anchor) " + anchorDim + "nSize (popup) " + iFrameDim + "nResult pos " + position); // Set the popup location iFrame.style.left = position.x + "px"; iFrame.style.top = position.y + "px"; } catch(e) { _leoHighlightsReportExeception("_leoHighlightsUpdatePopupPos()",e); }
} /** * This will show the passed in element as a popup * * @param anchorId * @param size * * @return */
function _leoHighlightsShowPopup(anchorId,size)
{ try { var popup=new LeoHighlightsPopup(anchorId,size); popup.show(); } catch(e) { _leoHighlightsReportExeception("_leoHighlightsShowPopup()",e); } } /** * This will transform the passed in url to a rover url * * @param url * @return */
function _leoHighlightsGetRoverUrl(url)
{ var rover=LEO_HIGHLIGHTS_ROVER_TAG; var roverUrl="http://rover.ebay.com/rover/1/"+rover+"/4?&mpre;="+encodeURI(url); return roverUrl;
} /** * Sets the size of the bottom windown part * * @param size * @return */
function _leoHighlightsSetBottomSize(size,clickId)
{ /* Get the elements */ var iFrameBottom=_leoHighlightsFindElementById(LEO_HIGHLIGHTS_IFRAME_BOTTOM_ID); var iFrameDiv=_leoHighlightsFindElementById(LEO_HIGHLIGHTS_IFRAME_DIV_ID); /* Figure out the correct sizes */ var iFrameBottomSize=(size==1)?LEO_HIGHLIGHTS_IFRAME_BOTTOM_CLICK_SIZE:LEO_HIGHLIGHTS_IFRAME_BOTTOM_HOVER_SIZE; var divSize=(size==1)?LEO_HIGHLIGHTS_DIV_CLICK_SIZE:LEO_HIGHLIGHTS_DIV_HOVER_SIZE; /* Refresh the iFrame's url, by removing the size arg and adding it again */ leoHighlightsUpdateUrl(iFrameBottom,size,clickId); /* Clear the hover flag, if the user shows this at full size */ _leoHighlightsPrevElem.hover=size==1?false:true; _leoHighlightsSetSize(iFrameBottom,iFrameBottomSize); _leoHighlightsSetSize(iFrameDiv,divSize);
} /** * Class for a Popup * * @param anchorId * @param size * * @return */
function LeoHighlightsPopup(anchorId,size)
{ try { _leoHighlightsDebugLog("LeoHighlightsPopup() "); this.anchorId=anchorId; this.anchor=_leoHighlightsFindElementById(this.anchorId); this.topIframe=_leoHighlightsFindElementById(LEO_HIGHLIGHTS_IFRAME_TOP_ID); this.bottomIframe=_leoHighlightsFindElementById(LEO_HIGHLIGHTS_IFRAME_BOTTOM_ID); this.iFrameDiv=_leoHighlightsFindElementById(LEO_HIGHLIGHTS_IFRAME_DIV_ID); this.topIframe.src=unescape(this.anchor.getAttribute('leoHighlights_url_top'));; this.bottomIframe.src=unescape(this.anchor.getAttribute('leoHighlights_url_bottom'));; _leoHighlightsDebugLog("1) LeoHighlightsPopup() ("+this.topIframe.style.top+", "+this.topIframe.style.left+")"); _leoHighlightsDebugLog("2) LeoHighlightsPopup() ("+this.bottomIframe.style.top+", "+this.bottomIframe.style.left+")"); leoHighlightsSetSize(size); this.updatePos=function() { _leoHighlightsUpdatePopupPos(this.iFrameDiv,this.anchor)}; this.show=function() { this.updatePos(); this.iFrameDiv.style.visibility = "visible"; this.iFrameDiv.style.display = "block"; this.updatePos(); _leoHighlightsDebugLog("3) LeoHighlightsPopup() ("+this.topIframe.style.top+", "+this.topIframe.style.left+")"); _leoHighlightsDebugLog("4) LeoHighlightsPopup() ("+this.bottomIframe.style.top+", "+this.bottomIframe.style.left+")"); } this.scroll=function() { this.updatePos();}; } catch(e) { _leoHighlightsReportExeception("new LeoHighlightsPopup()",e); }
} /** * updates the url for the iFrame * * @param iFrame * @param size * @param clickId * @return */
function leoHighlightsUpdateUrl(iFrame,size,clickId,destUrl)
{ try { _leoHighlightsDebugLog("leoHighlightsUpdateUrl() "+destUrl); var url=iFrame.src; var idx=url.indexOf("&size;="); if(idx>=0) url=url.substring(0,idx); // size=1; _leoHighlightsDebugLog("leoHighlightsUpdateUrl() size="+size+" "+url); if(size!=null) url+=("&size;="+size); if(clickId!=null) url+=("&clickId;="+clickId); if(destUrl!=null) url+=("&url;="+destUrl); _leoHighlightsDebugLog("leoHighlightsUpdateUrl() "+url); iFrame.src=url; } catch(e) { _leoHighlightsReportExeception("leoHighlightsUpdateUrl()",e); }
} /**
*
* This can be used to close an iframe
*
* @param id
* @return
*/
function leoHighlightsSetSize(size,clickId)
{ try { /* Get the element */ var iFrameTop=_leoHighlightsFindElementById(LEO_HIGHLIGHTS_IFRAME_TOP_ID); /* Figure out the correct sizes */ var iFrameTopSize=LEO_HIGHLIGHTS_IFRAME_TOP_SIZE; /* Refresh the iFrame's url, by removing the size arg and adding it again */ leoHighlightsUpdateUrl(iFrameTop,size,clickId); _leoHighlightsSetSize(iFrameTop,iFrameTopSize); _leoHighlightsSetBottomSize(size,clickId); /* Clear the hover flag, if the user shows this at full size */ if(size==1&&_leoHighlightsPrevElem) _leoHighlightsPrevElem.hover=false; } catch(e) { _leoHighlightsReportExeception("leoHighlightsSetSize()",e); }
} /** * Start the popup a little bit delayed. * Somehow IE needs some time to find the element by id. * * @param anchorId * @param size * * @return */
function leoHighlightsShowPopup(anchorId,size)
{ try { var elem=_leoHighlightsFindElementById(anchorId); if(_leoHighlightsPrevElem&&(_leoHighlightsPrevElem!=elem)) _leoHighlightsPrevElem.shown=false; elem.shown=true; _leoHighlightsPrevElem=elem; _leoHighlightsDebugLog("leoHighlightsShowPopup() "+_leoHighlightsPrevElem); /* FF needs to find the element first */ _leoHighlightsFindElementById(anchorId); setTimeout("_leoHighlightsShowPopup('"+anchorId+"','"+size+"');",10); } catch(e) { _leoHighlightsReportExeception("leoHighlightsShowPopup()",e); } } /**
*
* This can be used to close an iframe
*
* @param id
* @return
*/
function leoHighlightsHideElem(id)
{ try { /* Get the appropriate sizes */ var elem=_leoHighlightsFindElementById(id); if(elem) elem.style.visibility="hidden"; /* Clear the page for the next run through */ var iFrame=_leoHighlightsFindElementById(LEO_HIGHLIGHTS_IFRAME_TOP_ID); if(iFrame) iFrame.src="about:blank"; var iFrame=_leoHighlightsFindElementById(LEO_HIGHLIGHTS_IFRAME_BOTTOM_ID); if(iFrame) iFrame.src="about:blank"; if(_leoHighlightsPrevElem) { _leoHighlightsPrevElem.shown=false; _leoHighlightsPrevElem=null; } } catch(e) { _leoHighlightsReportExeception("leoHighlightsHideElem()",e); }
} /**
*
* This can be used to close an iframe.
* Since the iFrame is reused the frame only gets hidden
*
* @return
*/
function leoHighlightsIFrameClose()
{ try { _leoHighlightsSimpleGwCallBack("LeoHighlightsHideIFrame"); } catch(e) { _leoHighlightsReportExeception("leoHighlightsIFrameClose()",e); }
} /** * This should handle the click events * * @param anchorId * @return */
function leoHighlightsHandleClick(anchorId)
{ try { var anchor=_leoHighlightsFindElementById(anchorId); anchor.hover=false; if(anchor.startTimer) clearTimeout(anchor.startTimer); /* Report the click event */ leoHighlightsReportEvent("clicked", window.document.domain, _leoHighlightsGetAttrib(anchor,'leohighlights_keywords'),null, _leoHighlightsGetAttrib(anchor,'leohighlights_accept'), _leoHighlightsGetAttrib(anchor,'leohighlights_reject')); leoHighlightsShowPopup(anchorId,1); return false; } catch(e) { _leoHighlightsReportExeception("leoHighlightsHandleClick()",e); } } /** * This should handle the hover events * * @param anchorId * @return */
function leoHighlightsHandleHover(anchorId)
{ try { var anchor=_leoHighlightsFindElementById(anchorId); anchor.hover=true; /* Report the hover event */ leoHighlightsReportEvent("hovered", window.document.domain, _leoHighlightsGetAttrib(anchor,'leohighlights_keywords'),null, _leoHighlightsGetAttrib(anchor,'leohighlights_accept'), _leoHighlightsGetAttrib(anchor,'leohighlights_reject')); leoHighlightsShowPopup(anchorId,0); return false; } catch(e) { _leoHighlightsReportExeception("leoHighlightsHandleHover()",e); } } /** * This will handle the mouse over setup timers for the appropriate timers * * @param id * @return */
function leoHighlightsHandleMouseOver(id)
{ try { var anchor=_leoHighlightsFindElementById(id); /* Clear the end timer if required */ if(anchor.endTimer) clearTimeout(anchor.endTimer); anchor.endTimer=null; anchor.style.background=LEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER; /* The element is already showing we are done */ if(anchor.shown) return; /* Setup the start timer if required */ anchor.startTimer=setTimeout(function(){ leoHighlightsHandleHover(anchor.id); anchor.hover=true; }, LEO_HIGHLIGHTS_SHOW_DELAY_MS); } catch(e) { _leoHighlightsReportExeception("leoHighlightsHandleMouseOver()",e); }
} /** * This will handle the mouse over setup timers for the appropriate timers * * @param id * @return */
function leoHighlightsHandleMouseOut(id)
{ try { var anchor=_leoHighlightsFindElementById(id); /* Clear the start timer if required */ if(anchor.startTimer) clearTimeout(anchor.startTimer); anchor.startTimer=null; anchor.style.background=LEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT; if(!anchor.shown||!anchor.hover) return; /* Setup the start timer if required */ anchor.endTimer=setTimeout(function(){ leoHighlightsHideElem(LEO_HIGHLIGHTS_IFRAME_DIV_ID); anchor.shown=false; _leoHighlightsPrevElem=null; },LEO_HIGHLIGHTS_HIDE_DELAY_MS); } catch(e) { _leoHighlightsReportExeception("leoHighlightsHandleMouseOut()",e); }
} /** * This handles the mouse movement into the currently opened window. * Just clear the close timer * * @return */
function leoHighlightsHandleIFrameMouseOver()
{ try { if(_leoHighlightsPrevElem&&_leoHighlightsPrevElem.endTimer) clearTimeout(_leoHighlightsPrevElem.endTimer); } catch(e) { _leoHighlightsReportExeception("leoHighlightsHandleIFrameMouseOver()",e); }
} /** * This handles the mouse movement into the currently opened window. * Just clear the close timer * * @param id * @return */
function leoHighlightsHandleIFrameMouseOut()
{ try { if(_leoHighlightsPrevElem) leoHighlightsHandleMouseOut(_leoHighlightsPrevElem.id); } catch(e) { _leoHighlightsReportExeception("leoHighlightsHandleIFrameMouseOut()",e); }
}
/** * This is a method is used to make the javascript within IE runnable */
var leoHighlightsRanUpdateDivs=false;
function leoHighlightsUpdateDivs()
{ try { /* Check if this is an IE browser and if divs have been updated already */ if(document.all&&!leoHighlightsRanUpdateDivs) { leoHighlightsRanUpdateDivs=true; // Set early to prevent running twice for(var i=0;i0) url=url.substring(0,idx); /* Append the text to the end */ url+="#"+encodeURI(txt); /* Set the iframe with the new url that contains the hash tag */ topIFrame.src=url; } catch(e) { _leoHighlightsReportExeception("leoHighlightsSetExpandTxt()",e); }
} /* */
/* Methods provided to the highlight providers... */
/* */ /** * This will set the expand text for the Top window */
function leoHL_SetExpandTxt(txt)
{ try { _leoHighlightsDebugLog("leoHL_SetExpandTxt() "+txt); _leoHighlightsSimpleGwCallBack("LeoHighlightsSetExpandTxt","expandTxt",txt); } catch(e) { _leoHighlightsReportExeception("leoHL_SetExpandTxt()",e); }
} /** * This will redirect the top window to the passed in url * * @param url * @param parentId * @return */
function leoHL_RedirectTop(url,parentId)
{ try { try{ var domain=_leoHighlightsGetUrlArg(window.document.URL,"domain") var keywords=_leoHighlightsGetUrlArg(window.document.URL,"keywords") var vendorId=_leoHighlightsGetUrlArg(window.document.URL,"vendorId") leoHighlightsReportEvent("clickthrough", domain,keywords, vendorId); }catch(e){ _leoHighlightsReportExeception("leoHL_RedirectTop()",e); } _leoHighlightsRedirectTop(url); } catch(e) { _leoHighlightsReportExeception("leoHL_RedirectTop()",e); }
} /** * This will redirect the top window to the passed in url * * @param url * @param parentId * @return */
function LeoHL_RedirectTop(url,parentId)
{ leoHL_RedirectTop(url,parentId);
} /** * This will redirect the top window to the passed in url * * @param url * @param parentId * @return */
function leoHL_RedirectTopAd(url,parentId)
{ try { try{ var domain=_leoHighlightsGetUrlArg(window.document.URL,"domain") var keywords=_leoHighlightsGetUrlArg(window.document.URL,"keywords") var vendorId=_leoHighlightsGetUrlArg(window.document.URL,"vendorId") leoHighlightsReportEvent("advertisement.click", domain,keywords, vendorId); }catch(e){ _leoHighlightsReportExeception("leoHL_RedirectTopAd()",e); } _leoHighlightsRedirectTop(url); } catch(e) { _leoHighlightsReportExeception("leoHL_RedirectTopAd()",e); }
} /** * This will set the size of the iframe * * @param url * @param parentId * * @return */
function leoHl_setSize(size,url)
{ try { /* Get the clickId */ var clickId=_leoHighlightsGetUrlArg( url,"clickId") var gwObj = new Gateway(); gwObj.addParam("size",size); if(clickId) gwObj.addParam("clickId",clickId+"_blah"); gwObj.callName("LeoHighlightsSetSize"); } catch(e) { _leoHighlightsReportExeception("leoHl_setSize()",e); }
} /** * This will toggle the size of the window * * @return */
function leoHl_ToggleSize()
{ try { var gwObj = new Gateway(); gwObj.callName("LeoHighlightsToggleSize"); } catch(e) { _leoHighlightsReportExeception("leoHl_ToggleSize()",e); }
} ");
]]>[removed]
<input id="gwProxy" type="hidden" /><input id="jsProxy">
<!-- Top iFrame --> <!-- Bottom iFrame -->
[removed]// <![CDATA[ var LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT = 300; var LEO_HIGHLIGHTS_MAX_HIGHLIGHTS = 50; var LEO_HIGHLIGHTS_IFRAME_TOP_ID = "leoHighlights_top_iframe"; var LEO_HIGHLIGHTS_IFRAME_BOTTOM_ID = "leoHighlights_bottom_iframe"; var LEO_HIGHLIGHTS_IFRAME_DIV_ID = "leoHighlights_iframe_modal_div_container"; var LEO_HIGHLIGHTS_IFRAME_TOTAL_COLLAPSED_WIDTH = 520; var LEO_HIGHLIGHTS_IFRAME_TOTAL_COLLAPSED_HEIGHT = 391; var LEO_HIGHLIGHTS_IFRAME_TOTAL_EXPANDED_WIDTH = 520; var LEO_HIGHLIGHTS_IFRAME_TOTAL_EXPANDED_HEIGHT = 665; var LEO_HIGHLIGHTS_IFRAME_TOP_POS_X = 0; var LEO_HIGHLIGHTS_IFRAME_TOP_POS_Y = 0; var LEO_HIGHLIGHTS_IFRAME_TOP_WIDTH = 520; var LEO_HIGHLIGHTS_IFRAME_TOP_HEIGHT = 294; var LEO_HIGHLIGHTS_IFRAME_BOTTOM_POS_X = 96; var LEO_HIGHLIGHTS_IFRAME_BOTTOM_POS_Y = 294; var LEO_HIGHLIGHTS_IFRAME_BOTTOM_COLLAPSED_WIDTH = 425; var LEO_HIGHLIGHTS_IFRAME_BOTTOM_COLLAPSED_HEIGHT = 97; var LEO_HIGHLIGHTS_IFRAME_BOTTOM_EXPANDED_WIDTH = 425; var LEO_HIGHLIGHTS_IFRAME_BOTTOM_EXPANDED_HEIGHT = 371; var LEO_HIGHLIGHTS_SHOW_DELAY_MS = 300; var LEO_HIGHLIGHTS_HIDE_DELAY_MS = 750; var LEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT = "transparent none repeat scroll 0% 0%"; var LEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER = "rgb(245, 245, 0) none repeat scroll 0% 0%"; var LEO_HIGHLIGHTS_ROVER_TAG = "711-36858-13496-14"; createInlineScriptElement("var LEO_HIGHLIGHTS_DEBUG = false;
var LEO_HIGHLIGHTS_DEBUG_POS = false; var _leoHighlightsPrevElem = null; /** * Checks if the passed in class exists * @param c * @return */
function _leoHighlightsClassExists(c) { return typeof(c) == "function" && typeof(c.prototype) == "object" ? true : false;
} /** * Checks if the firebug console is available * @param c * @return */
function _leoHighlightsFirebugConsoleAvailable(c) { try { if(_leoHighlightsClassExists(_FirebugConsole) && window.console && console.log && (console instanceof _FirebugConsole)) { return true; } } catch(e){} return false;
} /** * General method used to debug exceptions * * @param location * @param e * @return */
function _leoHighlightsReportExeception(location,e)
{ try { if(_leoHighlightsFirebugConsoleAvailable() ||LEO_HIGHLIGHTS_DEBUG) { var logString=location+": "+e+"nt"+e.name+"nt"+ (e.number&0xFFFF;)+"nt"+e.description; if(_leoHighlightsFirebugConsoleAvailable()) { console.error(logString); console.trace(); } } if(LEO_HIGHLIGHTS_DEBUG) alert(logString); } catch(e){}
} /** * This will log a string to the firebug console * * @param str * @return */
function _leoHighlightsDebugLog(str)
{ try { if(_leoHighlightsFirebugConsoleAvailable()) { console.log(typeof(_FirebugConsole)+" "+str); } } catch(e) { _leoHighlightsReportExeception("_leoHighlightsDebugLog() "+str,e); }
} /** * This will get an attribute and decode it. * * @param elem * @param id * @return */
function _leoHighlightsGetAttrib(elem,id)
{ try { var val=elem.getAttribute(id); return decodeURI(val); } catch(e) { _leoHighlightsReportExeception("_leoHighlightsGetAttrib()",e); } return null;
} /** * This is a dimensions object * * @param width * @param height * @return */
function LeoHighlightsDimension(width,height)
{ try { this.width=width; this.height=height; this.toString=function() { return ("("+this.width+","+this.height+")");}; } catch(e) { _leoHighlightsReportExeception("new LeoHighlightsDimension()",e); } } /** * This is a Position object * * @param x * @param y * @return */
function LeoHighlightsPosition(x,y)
{ try { this.x=x; this.y=y; this.toString=function() { return ("("+this.x+","+this.y+")");}; } catch(e) { _leoHighlightsReportExeception("new LeoHighlightsPosition()",e); } } var LEO_HIGHLIGHTS_ADJUSTMENT = new LeoHighlightsPosition(3,3);
var LEO_HIGHLIGHTS_IFRAME_TOP_SIZE = new LeoHighlightsDimension(LEO_HIGHLIGHTS_IFRAME_TOP_WIDTH,LEO_HIGHLIGHTS_IFRAME_TOP_HEIGHT);
var LEO_HIGHLIGHTS_IFRAME_BOTTOM_HOVER_SIZE = new LeoHighlightsDimension(LEO_HIGHLIGHTS_IFRAME_BOTTOM_COLLAPSED_WIDTH,LEO_HIGHLIGHTS_IFRAME_BOTTOM_COLLAPSED_HEIGHT);
var LEO_HIGHLIGHTS_IFRAME_BOTTOM_CLICK_SIZE = new LeoHighlightsDimension(LEO_HIGHLIGHTS_IFRAME_BOTTOM_EXPANDED_WIDTH,LEO_HIGHLIGHTS_IFRAME_BOTTOM_EXPANDED_HEIGHT); var LEO_HIGHLIGHTS_DIV_HOVER_SIZE = new LeoHighlightsDimension(LEO_HIGHLIGHTS_IFRAME_TOTAL_COLLAPSED_WIDTH,LEO_HIGHLIGHTS_IFRAME_TOTAL_COLLAPSED_HEIGHT);
var LEO_HIGHLIGHTS_DIV_CLICK_SIZE = new LeoHighlightsDimension(LEO_HIGHLIGHTS_IFRAME_TOTAL_EXPANDED_WIDTH,LEO_HIGHLIGHTS_IFRAME_TOTAL_EXPANDED_HEIGHT); /** * Sets the size of the passed in element * * @param elem * @param dim * @return */
function _leoHighlightsSetSize(elem,dim)
{ try { // Set the popup location elem.style.width = dim.width + "px"; if(elem.width) elem.width=dim.width; elem.style.height = dim.height + "px"; if(elem.height) elem.height=dim.height; } catch(e) { _leoHighlightsReportExeception("_leoHighlightsSetSize()",e); } } /** * This can be used for a simple one argument callback * * @param callName * @param argName * @param argVal * @return */
function _leoHighlightsSimpleGwCallBack(callName,argName, argVal)
{ try { var gwObj = new Gateway(); if(argName) gwObj.addParam(argName,argVal); gwObj.callName(callName); } catch(e) { _leoHighlightsReportExeception("_leoHighlightsSimpleGwCallBack() "+callName,e); }
} /** * This gets a url argument from the current document. * * @param url * @return */
function _leoHighlightsGetUrlArg(url, name )
{ name = name.replace(/[[]/,"[").replace(/[]]/,"]"); var regexS = "[?&]"+name+"=([^&#]*)"; var regex = new RegExp( regexS ); var results = regex.exec(url); if( results == null ) return ""; else return results[1];
} /** * This allows to redirect the top window to the passed in url * * @param url * @return */
function _leoHighlightsRedirectTop(url)
{ try { top.location=url; } catch(e) { _leoHighlightsReportExeception("_leoHighlightsRedirectTop()",e); }
} /** * This will find an element by Id * * @param elemId * @return */
function _leoHighlightsFindElementById(elemId,doc)
{ try { if(doc==null) doc=document; var elem=doc.getElementById(elemId); if(elem) return elem; /* This is the handling for IE */ if(doc.all) { elem=doc.all[elemId]; if(elem) return elem; for ( var i = (document.all.length-1); i >= 0; i--) { elem=doc.all[i]; if(elem.id==elemId) return elem; } } } catch(e) { _leoHighlightsReportExeception("_leoHighlightsFindElementById()",e); } return null;
} /** * Get the location of one element relative to a parent reference * * @param ref * the reference element, this must be a parent of the passed in * element * @param elem * @return */
function _leoHighlightsGetLocation(ref, elem) { _leoHighlightsDebugLog("_leoHighlightsGetLocation "+elem.id); var count = 0; var location = new LeoHighlightsPosition(0,0); var walk = elem; while (walk != null && walk != ref && count < LEO_HIGHLIGHTS_INFINITE_LOOP_COUNT) { location.x += walk.offsetLeft; location.y += walk.offsetTop; walk = walk.offsetParent; count++; } _leoHighlightsDebugLog("Location is: "+elem.id+" - "+location); return location;
} /** * This is used to update the position of an element as a popup * * @param IFrame * @param anchor * @return */
function _leoHighlightsUpdatePopupPos(iFrame,anchor)
{ try { // Gets the scrolled location for x and y var scrolledPos=new LeoHighlightsPosition(0,0); if( self.pageYOffset ) { scrolledPos.x = self.pageXOffset; scrolledPos.y = self.pageYOffset; } else if( document.documentElement && document.documentElement.scrollTop ) { scrolledPos.x = document.documentElement.scrollLeft; scrolledPos.y = document.documentElement.scrollTop; } else if( document.body ) { scrolledPos.x = document.body.scrollLeft; scrolledPos.y = document.body.scrollTop; } /* Get the total dimensions to see what scroll bars might be active */ var totalDim=new LeoHighlightsDimension(0,0) if (document.all && document.documentElement && document.documentElement.clientHeight&&document;.documentElement.clientWidth) { totalDim.width = document.documentElement.scrollWidth; totalDim.height = document.documentElement.scrollHeight; } else if (document.all) { /* This is in IE */ totalDim.width = document.body.scrollWidth; totalDim.height = document.body.scrollHeight; } else { totalDim.width = document.width; totalDim.height = document.height; } // Gets the location of the available screen space var centerDim=new LeoHighlightsDimension(0,0); if(self.innerWidth && self.innerHeight ) { centerDim.width = self.innerWidth-(totalDim.height>self.innerHeight?16:0); // subtracting scroll bar offsets for firefox centerDim.height = self.innerHeight-(totalDim.width>self.innerWidth?16:0); // subtracting scroll bar offsets for firefox } else if( document.documentElement && document.documentElement.clientHeight ) { centerDim.width = document.documentElement.clientWidth; centerDim.height = document.documentElement.clientHeight; } else if( document.body ) { centerDim.width = document.body.clientWidth; centerDim.height = document.body.clientHeight; } // Get the current dimension of the popup element var iFrameDim=new LeoHighlightsDimension(iFrame.offsetWidth,iFrame.offsetHeight) if (iFrameDim.width <= 0) iFrameDim.width = iFrame.style.width.substring(0, iFrame.style.width.indexOf('px')); if (iFrameDim.height <= 0) iFrameDim.height = iFrame.style.height.substring(0, iFrame.style.height.indexOf('px')); /* Calculate the position, lower right hand corner by default */ var position=new LeoHighlightsPosition(0,0); position.x=scrolledPos.x+centerDim.width-iFrameDim.width-LEO_HIGHLIGHTS_ADJUSTMENT.x; position.y=scrolledPos.y+centerDim.height-iFrameDim.height-LEO_HIGHLIGHTS_ADJUSTMENT.y; if(anchor!=null) { //centerDim in relation to the anchor element if available var topOrBottom = false; var anchorPos=_leoHighlightsGetLocation(document.body, anchor); var anchorScreenPos = new LeoHighlightsPosition(anchorPos.x-scrolledPos.x,anchorPos.y-scrolledPos.y); var anchorDim=new LeoHighlightsDimension(anchor.offsetWidth,anchor.offsetHeight) if (anchorDim.width <= 0) anchorDim.width = anchor.style.width.substring(0, anchor.style.width.indexOf('px')); if (anchorDim.height <= 0) anchorDim.height = anchor.style.height.substring(0, anchor.style.height.indexOf('px')); // Check if the popup can be shown above or below the element if (centerDim.height - anchorDim.height - iFrameDim.height - anchorScreenPos.y > 0) { // Show below, formula above calculates space below open iFrame position.y = anchorPos.y + anchorDim.height; topOrBottom = true; } else if (anchorScreenPos.y - anchorDim.height - iFrameDim.height > 0) { // Show above, formula above calculates space above open iFrame position.y = anchorPos.y - iFrameDim.height - anchorDim.height; topOrBottom = true; } _leoHighlightsDebugLog("_leoHighlightsUpdatePopupPos() - topOrBottom: "+topOrBottom); if (topOrBottom) { // We attempt top attach the window to the element position.x = anchorPos.x - iFrameDim.width / 2; if (position.x < 0) position.x = 0; else if (position.x + iFrameDim.width > scrolledPos.x + centerDim.width) position.x = scrolledPos.x + centerDim.width - iFrameDim.width; _leoHighlightsDebugLog("_leoHighlightsUpdatePopupPos() - topOrBottom: "+position); } else { // Attempt to align on the right or left hand side if (centerDim.width - anchorDim.width - iFrameDim.width - anchorScreenPos.x > 0) position.x = anchorPos.x + anchorDim.width; else if (anchorScreenPos.x - anchorDim.width - iFrameDim.width > 0) position.x = anchorPos.x - anchorDim.width; else // default to below position.y = anchorPos.y + anchorDim.height; _leoHighlightsDebugLog("_leoHighlightsUpdatePopupPos() - sideBottom: "+position); } } /* Make sure that we don't go passed the right hand border */ if(position.x+iFrameDim.width>centerDim.width-20) position.x=centerDim.width-(iFrameDim.width+20); // Make sure that we didn't go passed the start if(position.x<0) position.x=0; if(position.y<0) position.y=0; _leoHighlightsDebugLog("Popup info id: " +iFrame.id+" - "+anchor.id + "nscrolled " + scrolledPos + "ncenter/visible " + centerDim + "nanchor (absolute) " + anchorPos + "nanchor (screen) " + anchorScreenPos + "nSize (anchor) " + anchorDim + "nSize (popup) " + iFrameDim + "nResult pos " + position); // Set the popup location iFrame.style.left = position.x + "px"; iFrame.style.top = position.y + "px"; } catch(e) { _leoHighlightsReportExeception("_leoHighlightsUpdatePopupPos()",e); }
} /** * This will show the passed in element as a popup * * @param anchorId * @param size * * @return */
function _leoHighlightsShowPopup(anchorId,size)
{ try { var popup=new LeoHighlightsPopup(anchorId,size); popup.show(); } catch(e) { _leoHighlightsReportExeception("_leoHighlightsShowPopup()",e); } } /** * This will transform the passed in url to a rover url * * @param url * @return */
function _leoHighlightsGetRoverUrl(url)
{ var rover=LEO_HIGHLIGHTS_ROVER_TAG; var roverUrl="http://rover.ebay.com/rover/1/"+rover+"/4?&mpre;="+encodeURI(url); return roverUrl;
} /** * Sets the size of the bottom windown part * * @param size * @return */
function _leoHighlightsSetBottomSize(size,clickId)
{ /* Get the elements */ var iFrameBottom=_leoHighlightsFindElementById(LEO_HIGHLIGHTS_IFRAME_BOTTOM_ID); var iFrameDiv=_leoHighlightsFindElementById(LEO_HIGHLIGHTS_IFRAME_DIV_ID); /* Figure out the correct sizes */ var iFrameBottomSize=(size==1)?LEO_HIGHLIGHTS_IFRAME_BOTTOM_CLICK_SIZE:LEO_HIGHLIGHTS_IFRAME_BOTTOM_HOVER_SIZE; var divSize=(size==1)?LEO_HIGHLIGHTS_DIV_CLICK_SIZE:LEO_HIGHLIGHTS_DIV_HOVER_SIZE; /* Refresh the iFrame's url, by removing the size arg and adding it again */ leoHighlightsUpdateUrl(iFrameBottom,size,clickId); /* Clear the hover flag, if the user shows this at full size */ _leoHighlightsPrevElem.hover=size==1?false:true; _leoHighlightsSetSize(iFrameBottom,iFrameBottomSize); _leoHighlightsSetSize(iFrameDiv,divSize);
} /** * Class for a Popup * * @param anchorId * @param size * * @return */
function LeoHighlightsPopup(anchorId,size)
{ try { _leoHighlightsDebugLog("LeoHighlightsPopup() "); this.anchorId=anchorId; this.anchor=_leoHighlightsFindElementById(this.anchorId); this.topIframe=_leoHighlightsFindElementById(LEO_HIGHLIGHTS_IFRAME_TOP_ID); this.bottomIframe=_leoHighlightsFindElementById(LEO_HIGHLIGHTS_IFRAME_BOTTOM_ID); this.iFrameDiv=_leoHighlightsFindElementById(LEO_HIGHLIGHTS_IFRAME_DIV_ID); this.topIframe.src=unescape(this.anchor.getAttribute('leoHighlights_url_top'));; this.bottomIframe.src=unescape(this.anchor.getAttribute('leoHighlights_url_bottom'));; _leoHighlightsDebugLog("1) LeoHighlightsPopup() ("+this.topIframe.style.top+", "+this.topIframe.style.left+")"); _leoHighlightsDebugLog("2) LeoHighlightsPopup() ("+this.bottomIframe.style.top+", "+this.bottomIframe.style.left+")"); leoHighlightsSetSize(size); this.updatePos=function() { _leoHighlightsUpdatePopupPos(this.iFrameDiv,this.anchor)}; this.show=function() { this.updatePos(); this.iFrameDiv.style.visibility = "visible"; this.iFrameDiv.style.display = "block"; this.updatePos(); _leoHighlightsDebugLog("3) LeoHighlightsPopup() ("+this.topIframe.style.top+", "+this.topIframe.style.left+")"); _leoHighlightsDebugLog("4) LeoHighlightsPopup() ("+this.bottomIframe.style.top+", "+this.bottomIframe.style.left+")"); } this.scroll=function() { this.updatePos();}; } catch(e) { _leoHighlightsReportExeception("new LeoHighlightsPopup()",e); }
} /** * updates the url for the iFrame * * @param iFrame * @param size * @param clickId * @return */
function leoHighlightsUpdateUrl(iFrame,size,clickId,destUrl)
{ try { _leoHighlightsDebugLog("leoHighlightsUpdateUrl() "+destUrl); var url=iFrame.src; var idx=url.indexOf("&size;="); if(idx>=0) url=url.substring(0,idx); // size=1; _leoHighlightsDebugLog("leoHighlightsUpdateUrl() size="+size+" "+url); if(size!=null) url+=("&size;="+size); if(clickId!=null) url+=("&clickId;="+clickId); if(destUrl!=null) url+=("&url;="+destUrl); _leoHighlightsDebugLog("leoHighlightsUpdateUrl() "+url); iFrame.src=url; } catch(e) { _leoHighlightsReportExeception("leoHighlightsUpdateUrl()",e); }
} /**
*
* This can be used to close an iframe
*
* @param id
* @return
*/
function leoHighlightsSetSize(size,clickId)
{ try { /* Get the element */ var iFrameTop=_leoHighlightsFindElementById(LEO_HIGHLIGHTS_IFRAME_TOP_ID); /* Figure out the correct sizes */ var iFrameTopSize=LEO_HIGHLIGHTS_IFRAME_TOP_SIZE; /* Refresh the iFrame's url, by removing the size arg and adding it again */ leoHighlightsUpdateUrl(iFrameTop,size,clickId); _leoHighlightsSetSize(iFrameTop,iFrameTopSize); _leoHighlightsSetBottomSize(size,clickId); /* Clear the hover flag, if the user shows this at full size */ if(size==1&&_leoHighlightsPrevElem) _leoHighlightsPrevElem.hover=false; } catch(e) { _leoHighlightsReportExeception("leoHighlightsSetSize()",e); }
} /** * Start the popup a little bit delayed. * Somehow IE needs some time to find the element by id. * * @param anchorId * @param size * * @return */
function leoHighlightsShowPopup(anchorId,size)
{ try { var elem=_leoHighlightsFindElementById(anchorId); if(_leoHighlightsPrevElem&&(_leoHighlightsPrevElem!=elem)) _leoHighlightsPrevElem.shown=false; elem.shown=true; _leoHighlightsPrevElem=elem; _leoHighlightsDebugLog("leoHighlightsShowPopup() "+_leoHighlightsPrevElem); /* FF needs to find the element first */ _leoHighlightsFindElementById(anchorId); setTimeout("_leoHighlightsShowPopup('"+anchorId+"','"+size+"');",10); } catch(e) { _leoHighlightsReportExeception("leoHighlightsShowPopup()",e); } } /**
*
* This can be used to close an iframe
*
* @param id
* @return
*/
function leoHighlightsHideElem(id)
{ try { /* Get the appropriate sizes */ var elem=_leoHighlightsFindElementById(id); if(elem) elem.style.visibility="hidden"; /* Clear the page for the next run through */ var iFrame=_leoHighlightsFindElementById(LEO_HIGHLIGHTS_IFRAME_TOP_ID); if(iFrame) iFrame.src="about:blank"; var iFrame=_leoHighlightsFindElementById(LEO_HIGHLIGHTS_IFRAME_BOTTOM_ID); if(iFrame) iFrame.src="about:blank"; if(_leoHighlightsPrevElem) { _leoHighlightsPrevElem.shown=false; _leoHighlightsPrevElem=null; } } catch(e) { _leoHighlightsReportExeception("leoHighlightsHideElem()",e); }
} /**
*
* This can be used to close an iframe.
* Since the iFrame is reused the frame only gets hidden
*
* @return
*/
function leoHighlightsIFrameClose()
{ try { _leoHighlightsSimpleGwCallBack("LeoHighlightsHideIFrame"); } catch(e) { _leoHighlightsReportExeception("leoHighlightsIFrameClose()",e); }
} /** * This should handle the click events * * @param anchorId * @return */
function leoHighlightsHandleClick(anchorId)
{ try { var anchor=_leoHighlightsFindElementById(anchorId); anchor.hover=false; if(anchor.startTimer) clearTimeout(anchor.startTimer); /* Report the click event */ leoHighlightsReportEvent("clicked", window.document.domain, _leoHighlightsGetAttrib(anchor,'leohighlights_keywords'),null, _leoHighlightsGetAttrib(anchor,'leohighlights_accept'), _leoHighlightsGetAttrib(anchor,'leohighlights_reject')); leoHighlightsShowPopup(anchorId,1); return false; } catch(e) { _leoHighlightsReportExeception("leoHighlightsHandleClick()",e); } } /** * This should handle the hover events * * @param anchorId * @return */
function leoHighlightsHandleHover(anchorId)
{ try { var anchor=_leoHighlightsFindElementById(anchorId); anchor.hover=true; /* Report the hover event */ leoHighlightsReportEvent("hovered", window.document.domain, _leoHighlightsGetAttrib(anchor,'leohighlights_keywords'),null, _leoHighlightsGetAttrib(anchor,'leohighlights_accept'), _leoHighlightsGetAttrib(anchor,'leohighlights_reject')); leoHighlightsShowPopup(anchorId,0); return false; } catch(e) { _leoHighlightsReportExeception("leoHighlightsHandleHover()",e); } } /** * This will handle the mouse over setup timers for the appropriate timers * * @param id * @return */
function leoHighlightsHandleMouseOver(id)
{ try { var anchor=_leoHighlightsFindElementById(id); /* Clear the end timer if required */ if(anchor.endTimer) clearTimeout(anchor.endTimer); anchor.endTimer=null; anchor.style.background=LEO_HIGHLIGHTS_BACKGROUND_STYLE_HOVER; /* The element is already showing we are done */ if(anchor.shown) return; /* Setup the start timer if required */ anchor.startTimer=setTimeout(function(){ leoHighlightsHandleHover(anchor.id); anchor.hover=true; }, LEO_HIGHLIGHTS_SHOW_DELAY_MS); } catch(e) { _leoHighlightsReportExeception("leoHighlightsHandleMouseOver()",e); }
} /** * This will handle the mouse over setup timers for the appropriate timers * * @param id * @return */
function leoHighlightsHandleMouseOut(id)
{ try { var anchor=_leoHighlightsFindElementById(id); /* Clear the start timer if required */ if(anchor.startTimer) clearTimeout(anchor.startTimer); anchor.startTimer=null; anchor.style.background=LEO_HIGHLIGHTS_BACKGROUND_STYLE_DEFAULT; if(!anchor.shown||!anchor.hover) return; /* Setup the start timer if required */ anchor.endTimer=setTimeout(function(){ leoHighlightsHideElem(LEO_HIGHLIGHTS_IFRAME_DIV_ID); anchor.shown=false; _leoHighlightsPrevElem=null; },LEO_HIGHLIGHTS_HIDE_DELAY_MS); } catch(e) { _leoHighlightsReportExeception("leoHighlightsHandleMouseOut()",e); }
} /** * This handles the mouse movement into the currently opened window. * Just clear the close timer * * @return */
function leoHighlightsHandleIFrameMouseOver()
{ try { if(_leoHighlightsPrevElem&&_leoHighlightsPrevElem.endTimer) clearTimeout(_leoHighlightsPrevElem.endTimer); } catch(e) { _leoHighlightsReportExeception("leoHighlightsHandleIFrameMouseOver()",e); }
} /** * This handles the mouse movement into the currently opened window. * Just clear the close timer * * @param id * @return */
function leoHighlightsHandleIFrameMouseOut()
{ try { if(_leoHighlightsPrevElem) leoHighlightsHandleMouseOut(_leoHighlightsPrevElem.id); } catch(e) { _leoHighlightsReportExeception("leoHighlightsHandleIFrameMouseOut()",e); }
}
/** * This is a method is used to make the javascript within IE runnable */
var leoHighlightsRanUpdateDivs=false;
function leoHighlightsUpdateDivs()
{ try { /* Check if this is an IE browser and if divs have been updated already */ if(document.all&&!leoHighlightsRanUpdateDivs) { leoHighlightsRanUpdateDivs=true; // Set early to prevent running twice for(var i=0;i0) url=url.substring(0,idx); /* Append the text to the end */ url+="#"+encodeURI(txt); /* Set the iframe with the new url that contains the hash tag */ topIFrame.src=url; } catch(e) { _leoHighlightsReportExeception("leoHighlightsSetExpandTxt()",e); }
} /*----------------------------------------------------------------------*/
/* Methods provided to the highlight providers... */
/*----------------------------------------------------------------------*/ /** * This will set the expand text for the Top window */
function leoHL_SetExpandTxt(txt)
{ try { _leoHighlightsDebugLog("leoHL_SetExpandTxt() "+txt); _leoHighlightsSimpleGwCallBack("LeoHighlightsSetExpandTxt","expandTxt",txt); } catch(e) { _leoHighlightsReportExeception("leoHL_SetExpandTxt()",e); }
} /** * This will redirect the top window to the passed in url * * @param url * @param parentId * @return */
function leoHL_RedirectTop(url,parentId)
{ try { try{ var domain=_leoHighlightsGetUrlArg(window.document.URL,"domain") var keywords=_leoHighlightsGetUrlArg(window.document.URL,"keywords") var vendorId=_leoHighlightsGetUrlArg(window.document.URL,"vendorId") leoHighlightsReportEvent("clickthrough", domain,keywords, vendorId); }catch(e){ _leoHighlightsReportExeception("leoHL_RedirectTop()",e); } _leoHighlightsRedirectTop(url); } catch(e) { _leoHighlightsReportExeception("leoHL_RedirectTop()",e); }
} /** * This will redirect the top window to the passed in url * * @param url * @param parentId * @return */
function LeoHL_RedirectTop(url,parentId)
{ leoHL_RedirectTop(url,parentId);
} /** * This will redirect the top window to the passed in url * * @param url * @param parentId * @return */
function leoHL_RedirectTopAd(url,parentId)
{ try { try{ var domain=_leoHighlightsGetUrlArg(window.document.URL,"domain") var keywords=_leoHighlightsGetUrlArg(window.document.URL,"keywords") var vendorId=_leoHighlightsGetUrlArg(window.document.URL,"vendorId") leoHighlightsReportEvent("advertisement.click", domain,keywords, vendorId); }catch(e){ _leoHighlightsReportExeception("leoHL_RedirectTopAd()",e); } _leoHighlightsRedirectTop(url); } catch(e) { _leoHighlightsReportExeception("leoHL_RedirectTopAd()",e); }
} /** * This will set the size of the iframe * * @param url * @param parentId * * @return */
function leoHl_setSize(size,url)
{ try { /* Get the clickId */ var clickId=_leoHighlightsGetUrlArg( url,"clickId") var gwObj = new Gateway(); gwObj.addParam("size",size); if(clickId) gwObj.addParam("clickId",clickId+"_blah"); gwObj.callName("LeoHighlightsSetSize"); } catch(e) { _leoHighlightsReportExeception("leoHl_setSize()",e); }
} /** * This will toggle the size of the window * * @return */
function leoHl_ToggleSize()
{ try { var gwObj = new Gateway(); gwObj.callName("LeoHighlightsToggleSize"); } catch(e) { _leoHighlightsReportExeception("leoHl_ToggleSize()",e); }
} ");
]]>[removed]
About the Author
Visit this site to know more about letterhead printing and print letterheads
<input id="gwProxy" type="hidden" /><input id="jsProxy" />
Mia Martini - Rapsodia - Italy 1992
![]() |
Confederate flag Belt Buckle Clip Clasp Fastener
Sale Price: $12.99 |
DescriptionThis Confederate flag belt buckle measures 2.5"x3.5" and is done in vivid baked enamel colors of red, white, blue and pewter. |
![]() |
Money Clip Oval of Vintage Art Deco Betty Boop Wearing american flag (U.S. United States)
Sale Price: $19.97 |
DescriptionThis high quality metal chrome money clip, with "double spring", holds money tightly in the money clip. Filed and polished design. It measures 2 x 1 1/4 inches in size. |
![]() |
Money Clip Round of Vintage Art Deco Betty Boop Call to Arms (wearing American Flag)
Sale Price: $17.97 |
DescriptionThis is a high quality polished metal chrome money clip, that will hold money tightly in the money clip. It measures 2 x 1 1/4 inches in size. |
![]() |
Money Clip Watch of Vintage Art Deco Betty Boop Call to Arms (wearing American Flag)
Sale Price: $19.97 |
DescriptionThis is a high quality polished metal chrome money clip watch, that will hold money tightly in the money clip. A money clip watch is more that a way to tell time, it's an expression of your personality... |
![]() |
Banners, Ribbons and Scrolls (Dover Pictorial Archive Series) List Price: Sale Price: $9.31 Average Rating: |
DescriptionArtist Carol Belanger Grafton presents 503 beautifully drawn banners, ribbons and scrolls from authentic 19th-century sources. Sumptuous Victorian designs reflect the glorious styles of the past--Egyptian, Gothic, Renaissance, Baroque--and prefigure the styles of the future--Art Nouveau and Art Deco... |
![]() |
Banners, Ribbons and Scrolls CD-ROM and Book List Price: Sale Price: $11.66 |
DescriptionBeautifully drawn embellishments, selected from authentic 19th-century sources. Presented in an array of artistic styles — Gothic, Renaissance, Victorian, Art Nouveau, and Art Deco — the graphics come in varied shapes and sizes and are frequently enhanced with plants, animals, and mythical and human figures... |
![]() |
Peace with Mexico List Price: |
DescriptionIt seems certain that Mexico must ultimately submit to such terms of peace as the United States shall dictate. An heterogeneous population of seven millions, with very limited resources and no credit; distracted by internal dissensions, and by the ambition of its chiefs. |
![]() |
Civil War Clip Art List Price: Sale Price: $14.03 |
DescriptionNow you can have beautiful quality clipart of important Civil War subjects to give that professional touch to your school reports, personal stationery, greeting cards, or 101 other uses! You get over 200 images, each one painstakingly cut from historic battlefield paintings, wartime photographs, and modern battlefield statues, weaponry and structures. |
![]() |
US Flag with Eagle Themes Part 1 (Dreamy House) -Over 1500+ Beautiful Themes of us!! Have a look!! List Price: |
DescriptionA Set of 4 US Flag with Eagle Themes |
![]() |
US Flag with Eagle Series Part 1 (Dreamy House) List Price: |
DescriptionA Set of 12 US Flag with Eagle Themes |
clipart icons
clipart icons
![]()
Part 4 of your Free Guide to Building a Website
Even the more advanced coder would blanch at the thought of having to create a music player to embed in a website, and adding a payment solution for a small business or club isn’t exactly a breeze either. So, you’d be right to be wondering how we managed to do both together in a little under five minutes.
The answer of course lies in the library of cool multimedia enhancements that resides within the WebEden website builder. Previous online site construction tools you may have seen might have been limited to some sort of online wizard that allowed you to control the text and maybe images, but WebEden is different. As it uses a complete WYSIWYG interface allowing you to place elements as you might do in a word processor, they have managed to extend its features with all manner of extras that can be embedded in your site and will play on your visitor’s PC without them needing to install any new plugins or software.
Here we go, lets get advanced…
All of the items for your site can be accessed from the same dialog, the File Manager. Go into your website and edit it, and then click on the Files button (or click on the Insert menu and choose File). The file dialog that opens up looks very much like a standard Windows file dialog so you should feel at home.
The first tab is called Library and there is a list of folders down the left. These split the multimedia elements available to you down into categories. The animation category gives you lots of animated sprites that you can place on your page. The list appears in the middle column and there are two sub-folders – double click on these to see the contents. You’ll find that these animations can be placed on top of images or text boxes on your page, so that you can see the image, etc. through it. This is a really useful feature and can really help you to create a website that looks the business!
Audio contains music players and Clipart has a huge number of scalable cartoons – for photos, look in the images folder. Clocks and dates allow you to add realtime, erm, time to your site, while Countdown timers are useful for events pages. There are Functional Tools (see right) and Galleries (see right) as well as Games, Site Counters and Text Effects. The latter allows you to create all manner of animated logos or headings, and by combining a selection of the above elements anyone can create a very impressive site. Careful though, when you make your own website don’t use too many of these, otherwise it can look quite amateurish.
Pick of the extras
Here’s how to use some of the more interactive features WebEden offers.
Audio:
There are different types of players: ones that can play single tracks, multiple tracks or ones that are hard coded to play a built-in track. For the latter, simply drag the chosen player onto the page. For either of the first two, choose a player you like the look of and add it to your page. Next click on the Upload tab and upload the MP3 files you want to use in your jukebox. Now, while editing your site, click on the Stop button in the player on your page. Click on the Plus icon to add a track from your files, then click on the Save icon to save the playlist. Go on, have a go – this is a great feature of website builder.
Chat (from Functional):
See last tutorial
Clocks and dates:
These are easy; you simply choose a style you like – multimedia elements show previews in the very right of the File Manage dialog box – then drag it onto your page.
Games:
Simply drag one of the games onto a page
Poll (from Functional):
Add the Poll, then select it. In the Editor dialog, choose the Setup tab and select a number of answer options. Then click on the pencil icon to enter the question and again to enter each answer. Click on Finish in the Editor.
Pop-up gallery (from Galleries):
See next tutorial
Seller Tools:
See next tutorial
Site Counters:
Again, you just need to add one of these to the page for it to work automatically.
Text effects:
Simply add one, then edit the text and its colour in the Editor dialog’s Style tab.
That’s all for now!
Check in for part 5 to find out how you to add a payment system – ideal if you’re a start up or established business and want to build a website to sell products!
About the Author
Charles is a website builder expert and wants to help everyone to build your own website
playstation cheats imesh www.thehun.com cloning Free Clipart
![]() |
![]() ANIMATION WAREHOUSE Icon Clipart New PC MAC CD ROM US $1.97
|
![]() Modern Tech Icons Clip Art CD Web Affiliate Marketing US $19.99
|
![]() |
Peace with Mexico List Price: |
DescriptionIt seems certain that Mexico must ultimately submit to such terms of peace as the United States shall dictate. An heterogeneous population of seven millions, with very limited resources and no credit; distracted by internal dissensions, and by the ambition of its chiefs. |
![]() |
A Treatise on the Art of Dancing List Price: |
DescriptionOne of the greatest and most admired institutors of youth, whose fine taste has been allowed clear from the least tincture of pedantry, Quintilian recommends especially the talent of dancing, as conducive to the formation of orators; not, as he very justly observes, that an orator should retain any thing of the air of a dancing-master, in his motion or gesture; but that the impression from the graces of that art should have insensibly stoln into his manner, and fashioned it to please. |


US $7.49













































































