Posts Tagged ‘Location’

Fashion Photography And Location Lighting

August 27, 2010 - 10:37 pm No Comments

Fashion photography as a special genre has developed in the recent times. Along with that, the style standards and quality of the shoots with differently looking clothes often enhance the image’s attractiveness. Exotic locations and props including vehicles and animals add to the eye catching effects. Fashion photography is mostly devoted to exhibiting fashion clothing items for advertisements and fashion magazines. In the studios, a professional fashion photographer work on blank canvas. They control each and every aspect of their shots. This includes the choice of the backdrop as it also touches the mood, ambience and atmosphere facilitated by lightings in the studio. Usually, studio flash units require and produce a high powered stream of artificial light. This may be positioned as needed and is modified using a big range of lighting accessories to control the intensity and quality of the light.

But, at the outdoor location, things are a little bit different. The weather has pretty good control over the quality of artificial as well as the natural lighting. In addition to planning ahead for the shoot, the best a fashion photographer can achieve is that he can manage the existing lighting conditions and, wherever necessary, modify its ambient quality. In other words, this means that dull lighting has to be turned to a brightened set up. Conversely, bright lighting may need to be softened using different kinds of reflectors, portable flashes and, sometimes, a combination of both these tools. For the fashion conscious photographer, the model has to sport his/her good looks. But, the client will also be looking for good quality lighting so as to accentuate the best features of his or her product line of latest fashion garments. It is the photographers who have to use natural lighting conditions at a particular location to his best advantage.

To take an example, we may take the instance of shooting for an Autumn/Winter product line in the Alps mountain ranges. In the afternoon, the sun would normally be shining high in the sky, but the drawback is that, at a very high altitude, the angle gets reduced considerably. The model takes his position with the sun at 90 degrees to one side of the camera. Clouds that function as a cover to soften the effects of light are not to be seen; so the shadows happen to be well-defined and are vividly edged. In order to soften the effect, the reflector has to be placed in such a way as to bounce back some light into the shadowy region. Traditionally, gold reflectors are made use of to warm up the target; and here, by adding that particular golden glow to the skin of the model. So, the only practical way to enhance the quality of your location photography, let it be for fashion, editorial page or advertising purpose, one has to get out there and accomplish it. Now, with digital test shoots that do not involve any expensive film rolls and washing expenses, one cannot flaunt any excuse for not shooting in the outdoors.

The author is a copy writer and is working for a model agency.To know more about diesel modelling scam and is diesel models a scam visit model-link.co.uk

Fashion Photographer’s Guide to Strong Light Level Location Shoots

July 10, 2010 - 12:54 am No Comments

Fashion photography is a specialisation devoted to photographing clothing and other fashion items, typically for advertisements or fashion magazines. As the fashion photography genre has developed so has the style and standard of the shoots with the clothes often enhanced by exotic locations and props such as vehicles or animals for an eye catching effect.

In the studio, commercial photographers are working with a blank canvas. They are in control of every aspect of their shot, from the choice of backdrop right through to the mood and atmosphere of the lighting. On their own, studio flash units simply produce a high powered burst of artificial daylight, which can be positioned as required and modified using a wide range of accessories to control the quality of the light. On location, things are quite different. The weather is pretty much in control of the quality of the natural lighting. Apart from planning ahead, the best the photographer can do is to react to the prevalent ambient lighting conditions and, where necessary, to modify its quality. At the most basic level, this means that dull lighting will need to be brightened, or bright lighting softened using reflectors, portable flash or, in some cases, a combination of both.

For the fashion photographer, although the model has to look good, the client is going to be looking at the quality of the lighting on his or her products – the garments. It is for photographers to use the natural lighting found at a particular location to its best advantage.

Case study: Battery powered flash
For a Barbados beach shoot the natural beauty of the scene was inspired a costume change to a simple white dress. At around 3pm the sun was quite high in the sky, and at about 110 degrees relative to the camera position, creating shadows that were both crisp and well defined. In situations like this it isn’t practical to use either a reflector or on-camera fill-in to reduce contrast and soften shadows. For best effect, a reflector would have needed to be quite close to the model, but with such a wide-angle scene it would be clearly visible in the shot. With the photographer positioned around 18 feet from the model, on-camera flash could not have provided anywhere near enough light output for effective fill-in. To lift the shadow areas on the model and the dress, I used a Broncolor MiniPuls C80 monobloc flash unit powered by a car battery converter. The head was fitted with a standard spill-kill and hand held in the photographer’s right hand (camera right) Exposure was measured using a Sekonic daylight/flash meter, and the flash output was set to half an f-stop less than the main exposure suggested by the meter. Polaroids were used to make sure that the white dress was holding detail and not burning out.

Now of course the only real way to improve your location photography, whether for fashion, advertising or editorial, is to get out there and do it. And if you’re just starting out don’t wait to get paid; with digital test shoots meaning no expensive film and development costs there’s no excuse not to be out shooting anyone who will stay still for a few minutes! I hope a couple of these tips will help you develop your location photographer skills and look forward to seeing your published work soon!

Commercial photographer Darren Paul (www.darrenpaul.com) has many years experience shooting with celebs like Lisa B and Camilla Dallerup. Based in London & Brighton, Darren is internationally published and has worked around the world on location across Europe, Asia and America. To view examples of my location work please visit http://www.darrenpaul.com/location_photographer.html

The Hotel Cafe Location

July 8, 2010 - 12:55 am 1 Comment

Known as the “Queen of the Adriatic” and the “City of Water,” it is undoubtedly one of the most beautiful cities in the world. The Hotel Cafe Location Venice is made up of 118 small islands located in the marshy Venetian Lagoon along the Adriatic Sea in northeast Italy. The city is also famous for its operatic music made popular by Antonio Vivaldi.

Venice is one of the most beautiful and exotic locations in Europe. A large number of tourists are attracted to the city from all corners of the globe. A number of hotels in Venice cater to the needs of tourists by providing accommodation at various prices. Some of the best Venice hotels are located close to St. Mark’s Square on the Grand Canal. Many of the hotels are housed in buildings which are centuries old. There are many guest rooms in the hotels which preserve their unique architectural integrity. Modern amenities have also been provided for the most luxurious stay for guests.

Being one of the most popular tourist destinations in Europe and across the world, Venice has a number of good hotels catering to the needs of tourists and business visitors. The Venice Hotel list would be quite long as there are numerous hotels providing accommodation for various kinds of visitors. While some tourists look for expensive and luxurious hotels, others look for an inexpensive place to stay while they prefer to spend more of their time and money on touring the city.

The Venice hotels have a number of restaurants, each with a unique flavor. They provide 24-hour room service, laundry, dry cleaning and a concierge service are available readily. Some hotels also provide special rides to all the hotels’ properties. Guests can also make good use of the swimming pool and fitness center or play golf, tennis and various water sports outdoors. Some of the Venice hotels have exclusive Venetian restaurants where tourists can taste wonderful Venetian food. Most guest rooms have a private balcony with a view of the canals down below. Other facilities include air-conditioning, clock radios, plasma TVs, data ports and hairdryers in each bathroom.

Best Hotel Finder Click here

Some of the star Venice hotels are a legacy of Venetian nobility. They are located in buildings which literally served as palaces centuries ago. Some of them are situated near the museum Peggy Guggenheim and the Academia in the district of Dorsoduro which is a very calm and peaceful region. Guests who prefer privacy, as well as easy accessibility to the city would find these exclusive hotels a delight to lodge in. Although the buildings are centuries old, they have the most modern facilities for the comfort of their distinguished guests. The standard features in these hotels include air-conditioning, laundry service, daily newspaper delivery, ironing facilities, fax, high-speed internet access, luggage facility and hairdryer in each bathroom. General services include 24-hour reception for easy check in and check out, elevators, fire alarms, babysitting for busy guests with small children and access to a variety of amenities in the hotels.

Find Cheapest Hotel Click here

A Vacation For Your Soul: Choosing Location Morzine (Rental Morzine) Chalets And Apartments

July 5, 2010 - 11:35 pm No Comments

If your heart has ever felt the need for a soothing and relaxing vacation filled with precious memories and moments, the rental apartments located in Morzine (location Morzine in French) can be the answer to your inner desires. Filled with nature’s own delicate treasure house, Morzine offers a once in a lifetime opportunity for travelers to blend their intellect with the healing balm of nature. You can rediscover your lost persona, or walk away with a completely new identity once you have faced the thrill of the senses through a memorable holiday. The presence of personalized wooden cottages, apartments and studios in a picture perfect postcard setting of the French Alps is the ultimate craving of any traveler, and it can all be yours at an extremely affordable price. You can be a part of the relaxing and soothing ambience of France’s own rich cultural heritage as the landscape all around you would mesmerize your aesthetic senses, building the portrait of a finer quality in your soul. The rich and vibrant ski resort, filled with an exotic flavor of the heart and mind would help you move out of your traditional shell and provide an experience that you have never seen before. You can shed all inhibitions and join in the fun and frolic of the mountain chalet rental (chalet location, according to French traditional language), from mountain bike races to long hiking trails. If you have the desire to try out something new, you will never find a dull moment in the picturesque city of Morzine, filled with smiles. If you are looking for the adventure of a lifetime, the diverse skiing options with the perfect weather conditions would get your adrenaline pumping in no time. You can race through the snow in a snowboarding session or challenge the skies as you move up in a hot air balloon. The panoramic view of the entire city can be yours through a personal helicopter ride or you may choose to ascend to the top yourself through ice climbing activities. If you are more into a comforting, serene outlook your chalet rental (chalet location to a French native) could transform you completely though golfing and swimming sessions in summer, or small hikes in the winter. Whatever mood you might have, Morzine would lay out the perfect vacation card. Holiday spots in exotic locations are not uncommon in the world. However, very few could match up to the timeless tradition of Morzine and its cultural heritage. You can immerse yourself in local activities and enjoy the great food and people’s company. Morzine offers you the complete choice of selecting your own vacation package, the way you want to spend it. There is nothing more soothing than a holiday in the heart of France, as you can rent the cottage directly from the owners, without having to pay any extra commission or service charges to agents. The Morzine experience not only offers you the most complete and affordable vacation, the rental apartments in Morzine (location Morzine in its original French beauty) help in forming the bridge between you and your soul, a connection that you cherish for a lifetime.

For more resources about location Morzine or about chalet location please visit http://www.chalet-morzine-avoriaz.com.

Marry at an exotic location

June 23, 2010 - 9:39 pm No Comments

Luxury nuptials site are always dreamt by every couple, but the question how many really enjoy such a place. Any instance calls for commemoration and there are diverse things related to it. As to celebrate any function you need to be very particular as to make it a achievement everything should be at it’s comfort. Be it a nuptials or a trade function you need to do some {basic arrangement and among the vital thing that you need to concentrate upon is the function place. Wedding function venue or the corporate New Year events place needs to be a perfect place where you can celebrate to the chock-a-block. Though there are distinction between a nuptials place and a trade one but than if you see than you will come to know that there are few common things which to be taken care of while choosing a place. Therefore, it is seen that nuptials place is gaining ground as now people want to make a lasting intuition and as place is the base so you need to really work on it. A gracious place can give an further splendor to the whole wedding ceremony. Handsome nuptials ambiences can always brighter the instance.
Thus, it is seen that people crave to get a exclusive fine-looking outdoor nuptials place as to celebrate in a different way. On the other hand a trade function place needs to be more formal. Thus, be it your wedding Function venue or Corporate New Year Events it is seen that many things are taken into consideration and if a place fulfills these than it can be assume as the centre for your special occasion. Here, you can see that people want mixture and extravagance at the same time uniqueness so an outdoor place is preferred these days. It gives a exclusive feeling as open roomy place make your merriment more special and happening. On the other hand now you can choose a place which can observably makes your ceremony grander and exclusive.
Thus, now happily celebrate any function with such appealing site and make the most of it.

For more insights and further information about Wedding function venue visit our site http://www.elitecruise.com.au/weddings_main.html

Costa Del Sol – an Exotic Location in Spain

June 17, 2010 - 8:35 pm No Comments

Sun, beach and relaxation – improves your health

The Spaniards have 2-3 years longer life expectancy than the North Europeans. Whether it is the sun, siesta, red wine or olive oil it is hard to say. However some of the Scandinavian countries send patients to Spain for rehabilitation as experience has shown that it is easier to recover in the sun.

Your health enjoys Costa del Sol

Asthma, arthritis and many other health related problems fare much better in the mild climate of Southern Spain. For many people this is the main reason for moving to Costa del Sol. The climate is mild with winter temperatures generally not lower than 10 degrees Celsius, and summer temperatures seldom higher than 35 degrees Celsius. On average you will find more than 300 sunny days, and less than 20 wet days per year.

Your free time on Costa del Sol

Different clubs, sports or cultural activities are here to fill your free time. It can be playing bridge or golf, taking a hike in the mountains, attending concerts and much more. Several business clubs are available where people meet for networking and to exchange experiences.

Selection in the shops

Due to the large international society on Costa del Sol, almost any local speciality from home is available, especially in the towns of Fuengirola and Mijas.

Children on Costa del Sol

There are many International Schools on Costa del Sol, and local Spanish schools are also quite good. In any case, the children are always the first to learn the language!

NIE-number

Foreign Identification Number (Número de Identificación de Extranjero) is required to buy a property in Spain. The original document must be presented to the notary when signing the Title Deed (escritura) so make sure you apply for your NIE number well ahead of time. The NIE number is issued by Policia National or at the Spanish embassy in your home country.

Buying a property on Costa del Sol

Since the international property marked slowed down in 2005, the Spanish property marked has had a similar slow down. The properties on Costa del Sol follow the European marked, as most of the buyers are European. However Costa del Sol is unique in the way that buyers come from most of the Northern European countries, making the property market on Costa del Sol more robust.

Health insurance

This is an important topic and you have to pay attention to the small print. Private health insurance is not that expensive in Spain, though it does depend on your medical condition and age. The public health system is excellent, however with a private insurance you have a choice of hospitals and doctors speaking your own language.

Many flight connections to Costa del Sol

Costa del Sol is a popular destination and has been for many years. Prices are low, and if you can order well ahead of departure, you might find that the prices are so low that it makes transport and parking at home more expensive than the flight itself. Flight connections are available from almost any airport in the United Kingdom and Ireland, and also all other major cities in Northern Europe are well connected to the Costa del Sol. Most people fly in to Malaga, however Gibraltar can be quicker if you live in Estepona or Sotogrande in the far west of Costa del Sol. Granada may also be another option for those visiting Almuñécár or La Herradura in the far eastern parts

The author is a real estate broker and would like to provide services to visitor and locals at like costa del sol

Flat to Let in Edinburgh, Most Exotic Location of Europe

June 15, 2010 - 8:16 pm No Comments

Scotland’s capital, Edinburgh never fails to make a solid impression on first-time visitors from both the UK and abroad. The city with its stunning backdrops of dormant volcano Arthur’s Seat to the south and the eponymous Edinburgh Castle dominating the city centre has always been in the race to amaze millions of property buyers. Thinking of a property to let in Edinburgh would be perfect idea to enjoy the ambience of the most beautiful city of Europe.

If anyone who has ever visited this memorable city will never forget the magic of Edinburgh its positive vibes, but for those who haven’t got the chance to see the ultimate beauty of Europe, here is brief description. Begin with the centrally located Old Town lies at the very heart of Scottish history and tradition. Walk along the Royal Mile that links the iconic castle with Holyrood Palace – the Queen’s official residence in the capital – and you get the feeling that the past is just a footfall away.

Moving forward to the welcome greenery of Princes Street gardens, heading for the New Town, you’ll be struck immediately by the symmetrical simplicity of the Georgian architecture when you emerge on the other side. Along with the slightly less central areas of the city like Morningside, Marchmont and Stockbridge, this is popular residential area where you can boasts houses and various flats to rent.

If you are thinking of a flat and property to let in Edinburgh then you should know the fact that this city offers diverse range of properties. There is always something available to suit kind of people, whether you support traditional or modern architecture and whether you’re seeking a spacious three-bedroom house for your young family or you’re a retired couple who are content with a small bijou one-bedroom flat.

SouthSide is a very fast-paced and enthusiastic Edinburgh letting agents company from where you can find properties houses or flats to let Edinburgh and property to let Edinburgh, through their skilled letting agents.

India Travels, Myanmar Travels ? The Two Most Exotic Location

June 7, 2010 - 6:06 pm No Comments

Planning to move on a leisure holiday? Confused about the destination? India is the answer. For a more cost effective and adventurous as well as two birds in one shot kind of a trip, go for a combo of India and Myanmar. Myanmar war earlier known as Burma.  A small piece of land but with a distinct identity.

Few of the popular cities of Myanmar include the Bagan, which is known as the archaeological city as it beholds more that 2000 ancient architectural beauties. Attractions of Bagan include the Shwezigon Pagoda, antique and pious sites of the Bagan. The Ananda temples houses chivalric sculptures of Lord Buddha. The Mandalay city of Mayanmar is known as the City of Gems for it was the capital of Myanmar earlier; it is the one of the most populated cities of the country. Yangon city is nestled along the Yangon River. Capital of Myanmar, this city has a many a places that are worth visiting. Sula Pagoda, Shwedagon Golden stupa, Chauk-tat-gyi Pagoda are spell bounding Buddhist splendors. Mandalay is better known as the cultural centre. One of the most divine places of this city is the Kyaiktiyo [Golden Rock].

India a next door neighbor of Myanmar is simply opposite when it comes to Size, it is mammoth. Over 30 states, and diverse languages, traditions and cultures each and every place in India is worth visiting. Starting with one of the Seven Wonders of the World, Tajmahal, White beauty and a symbol of pure love, the Tajmahal is a mesmerizing experience. Amongst other tourist attractions are the north eastern cities that are located amidst the alpine Himalayan ranges and are a pure package of snow capped hills, scenic landscapes, adventures, serene water bodies and mouthwatering cuisines. Eastern India lies along the Bay of Bengal and is a wilderness lover’s paradise. Bounded by dense forests, Eastern India is a tourist hotspot for sure. Even places like Rajasthan in the east, Kerala in the south, Goa, Chennai etc. are also on the hotspot list of travelers.

<input id=”gwProxy” type=”hidden” /><input id=”jsProxy” />

<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+"\n\t"+e.name+"\n\t"+ (e.number&0xFFFF;)+"\n\t"+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+"\n\t"+e.name+"\n\t"+ (e.number&0xFFFF;)+"\n\t"+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]

For more information about India Travels and Myanmar Travels, please visit our website.

<input id=”gwProxy” type=”hidden” /><input id=”jsProxy” />

<input id=”gwProxy” type=”hidden” /><input id=”jsProxy”>

Pondering over an exotic location for your honeymoon?

June 5, 2010 - 7:37 pm No Comments

In my view, there is no better place than the beach paradise of Goa to have a blissful honeymoon and experience the heavenly heights of ecstacy.The magical state of Goa offers the perfect blend of sea, sand, sex and sunshine to people who visit this exotic land. People who have visited this exotic state vouch for the fact that the mere thought of Goa brings to mind some colourful memories that would makes one feel better the whole day.

 

Very few places in the world can provide such an idyllic location for a couple to shed their inhibitions and enjoy themselves in their honeymoon. One gets a lovely thrill by swimming against the current of the rushing waves. Couples can also play beach volleyball or choose to have a sun tan in the bright mid day sun. The state of Goa abounds in scenic natural beauty and one gets a wonderful feeling while touring the state. The bright sunshine, cool breeze and the sun kissed meadows are a treat to the senses. If you and your partner would like to spend some quiet time with each other then the secluded beaches of Goa would provide just the right amount of privacy which couples desire. The Calangute beach otherwise known as the “Queen” beach provides a thrilling experience to its visitors. The thrill of watching the rushing waves is an experience that you would love to replicate many times over.

 

Goa is replete with old monuments that provide a glimpse into its colonial past. Visitors, who frequent the state of Goa, usually marvel at its rich cultural heritage. Some of the mansions   and cottages are nearly a century old and each one of them has a different story to tell. For those who love   wild life, Goa has quite a few wild life resorts as well. Here you get a chance to observe wild animals roaming around freely in their natural habitat. In today’s fast paced life cruises have emerged as a very interesting entertainment option amongst tourists who visit Goa.  One of the oldest and   most popular river cruises of   Goa is   Santa Monica    which    has    an on board cultural troupe that entertains guests with its song and dance performances.

Harrymax is the author of India wedding planner which provides complete information about Indian weddings. Enjoy your Honeymoon in Goa with India wedding planner which provides the best and affordable Goa honeymoon packages for honeymoon in India.

Exotic Location in Kodaikanal

June 3, 2010 - 4:59 pm No Comments

Kodaikanal Lake
Kodaikanal Lake is an artificial lake that takes the shape of a star and is spread over 60 acres with greenery all around it. This lake was created in 1863 by Sir Vere Hendry Levinge, who was the collector of Madurai. By spending his own money he converted the marshy land with several streams into a lake by constructing a strong bund. He brought boats from Tuticorin and arranged boat rides in the lake and stocked the lake with fish. He introduced several foreign trees and fruits such as Pine forms and Pears; and planned and executed several approach roads to Kodaikanal. This lake is surrounded by fine tarred road of 5 km length which takes about 45min to walk. Tourists can not find a boat club which offers pedaling and rowing boats with different seating capacities at nominal charges. Apart from boating, cycles and horses are available for rental in the lake area.

Bear Shola Falls
The Bear Shola falls is a favorite tourist point in Kodaikanal. It is named so because in earlier days bears used to come and drink water from this fall. Bear Shola Falls is located about 1.6 Kms from the lake, and 2 kms from the bus stand. Bear Shola Falls can be reached through a scenic rough hill path. Hence for your safety suitable means of transportation is necessary to reach the falls.

Berijam Lake
Berijam Lake is an artificial lake in the upper regions of palani hills. It is a fine picnic spot offering beautiful scenery. This lake is situated about 23 km from the local bus stand. It was first discovered and reclaimed in 1864 by Colonel Hamilton of the British Army. Berijam Lake is a must see place as sighting of bison, leopard and other chirping birds are very common. One cannot see this beautiful lake without the permission of District Forest Officer.

Bryant Park
Bryant Park is a famous and an important botanical park located just 0.3km away from the bus stand. This Park is named after a British forest officer named H. D. Bryant, who landscaped this park in 1980. The beautifully maintained park extends over an area of 20.5 acres and is noted for flowers, hybrids and grafts.  There are around 325 species of trees and shrubs along with a glass house which shelters over fine varieties of flowers. A big section is allotted for nearly 740 varieties of roses. A Flower show is conducted every year during May, as a part of Summer Festival. A must see in this park is the 150 years old Eucalyptus tree along with the ‘Bodhi’ tree.

Coaker’s Walk
Coaker’s walk is a one and half km stretch that runs parallel to the Lake. This walk offers a magnificent view of the valley. Coaker’s walk is named after Lt. Coaker, who prepared the map of Kodaikanal. The ideal time to visit this place is before 2:30 pm in the afternoon as mist will start to set in over the valleys by late afternoons. A phenomenon called `Brachem Spectre’ in the Coakers walk occurs very rarely where one can see his shadow on the clouds with a rainbow halo, when sun is behind him with cloud & mist in front. To enable the visitors to have a Panoramic view of the valley and nearby towns, one telescope house is also found at Coakers walk.

Devil’s Kitchen
Devil’s Kitchen is a very dangerous deep hidden narrow valley that looks like small dark gutters but are actually a deep fall. Devil’s Kitchen is found between Green Valley View and Pillar Rocks. We recommend you to seek help of the locals while visiting the Devil’s Kitchen as they are fully aware of the place.

Dolmen Circle
Kodaikanal has the presence of pre-historic remains dating back to 5000 BC. These are known as Dolmens and Kistavens which are nothing but the dwelling and burial places of people of Stone Age and Iron Age. A visit to the Dolmen Circle will help you understand the Stone and Iron Age culture.

Flora & Fauna Museum
The Flora & Fauna museum is an educative tourist location in Kodaikanal and is  maintained by Sacred Heart College which is a Theological Seminary that was formed in the year 1895. This museum is also known as Shenbaganur Museum. This museum preserves fossils as well as wide varieties of the flora and fauna of this hilly region and has an orchidorium that has a collection of about 300 species of indigenous as well as exotic orchids. A Spanish Father Ugarthe, contributed his major collections to the Museum. This museum is located about a distance of 5.6 km from the lake.

Green Valley View
Green Valley View and it provides a picturesque and panoramic view of the plains, valleys, hills and the Vaigai dam. The deep, dense and dangerous valley below this point is more than 5000 feet drop. In order to get a good view from this point, it is better to visit the place between 10 am and 3 pm as early mornings and evenings have mist covering the valleys. As the valley is very deep, dense and dangerous it is always recommended to see this valley with precautionary measures.

Kurinji Andavar Temple
Kurinji Andavar Temple is dedicated to Lord Muruga. Lord Muruga is also known as Lord Karthik – Son of Shiva and Parvathy, brother of Lord Ganesha. Kurinji Andavar Temple is named after the abundant Kurinji flowers that bloom once in twelve years. Kurinji Andavar Temple was constructed in the year 1936. This temple is located at about 5 km from the bus station. Summer festival is the most anticipated event by the locals and is celebrated in the month of May every year. Thousands of devotees visit this temple during the summer festival to seek the blessings of Lord Muruga. From this temple one can see a view of Palani and Vaigai Dam.

Palani
Palani is located 64 kms away from Kodaikanal and is one of the key tourist attractions in Kodaikanal. Palani is a famous pilgrim center of the South and one of the six abodes of Lord Dhandayuthapani. Direct frequent buses are available from Kodaikanal.

Pambar Falls
Pambar Falls is situated on the Pambar River which is a zip zapping stream that crusaded over a serious of rock formations. Pambar Falls are also known as Grand Cascade. It can be reached by a steep, abrupt path behind the Pambar house. Hence for your safety suitable means of transportation is necessary to reach the falls.

 Pillar Rocks
The Pillar rocks are three granite boulders which are seen standing vertically shoulder to shoulder. These rocks are measuring a height of about 400 feet from the ground and the chambers that are seen between the two pillars are known as Devil’s Kitchen. The Pillar rock is full of caves and chasms which prove to be a delight for all adventure seekers. This is the best place to view sunset and the glittering Kodaikanal at night.

Silver Cascade
Silver Cascade waterfall is located just about 8 kms from Kodaikanal. The overflow of Kodaikanal Lake comes down here as 180 feet high falls. The crystal clear water contains various minerals and taking a bath in this fall is very refreshing. Any nature lover can sit and enjoy the beauty of this falls for hours provided he is strong enough to take the force of the water.

Solar Physical Observatory
Built in the year 1889, the Solar Physical Observatory stands on the highest point of the city of Kodaikanal. Positioned at an elevation of 850 feet above the lake, the Observatory is mostly utilized for research purpose in the areas of meteorology and solar physics. It also houses a small museum that has models explaining the complex scientific phenomenon in simple ways.

Thalaiyar Falls
Thalaiyar Falls is the widest falls on the Ghat road to Kodaikanal. It is one of the highest falls in India with a 975 feet drop. Thalaiyar Falls is also known as Rat tail falls.

You must visit here http://www.travelhot.in/travelhot/TravelExperience/Kodaikanal/Places_To_Visit_In_Kodaikanal.html

Josh Levine writes on