/* Country specific constants */
qxlSite = {
	host_main: 'www.ricardo.gr',
	host_sellers: 'info.ricardo.gr',
	host_beta: 'www.gr.betaqxl.com',
	host_dev: 'www.gr.devqxl.com',
	segment_buy: 'buy',
	segment_erotic: 'erotica',
	segment_cars: 'αυτοκίνητα-μοτοσυκλέτες',
	/* Special links in order: new, ending soon, popular, from-1-euro */
	special_links: ['Μόλις-άνοιξαν','Κλείνουν-σύντομα','Δημοφιλέστερες','Δημοπρασίες-από-1euro']
};
/* Environment variables for the current page */
/* We pre-define a few vars so they can be referenced in the qxlVars object below */
qV = {
	href: location.href.toLowerCase(),
	host: location.hostname.toLowerCase(),
	path: (location.pathname+location.search+location.hash).toLowerCase(),
	segm: location.pathname.toLowerCase().match(/\/[^\/\#\?\&]*/)[0].substring(1)
};
qxlVars = {

	/* Base URL handling (pre-defined) */
	lower_href: qV.href,
	lower_host: qV.host,
	lower_path: qV.path,
	lower_first_segment: qV.segm,

	/* Secondary URL handling */
	base_href: location.protocol + '//' + location.hostname + '/',

	/* Protocol */
	is_http: (location.protocol == 'http:'),
	is_https: (location.protocol == 'https:'),

	/* Production/Beta environment */
	is_prod: ((qV.host == qxlSite.host_main) || (qV.host == qxlSite.host_sellers)),
	is_beta: (qV.host == qxlSite.host_beta),
	is_dev: (qV.host == qxlSite.host_dev),

	/* Active page */
	is_search: (qV.path.indexOf('/search/search.asp') == 0) || (qV.path.indexOf('/carsandbikes/search.aspx') == 0),
	is_special_search: ($.inArray( decodeURIComponent(qV.segm), qxlSite.special_links ) > -1),
	is_seller_listing: (qV.host == qxlSite.host_sellers),
	is_cars: false,
	is_myqxl: (qV.segm == 'mypages'),
	is_category_top: (qV.path == '/' + qxlSite.segment_buy + '/'),
	is_category_index: (qV.href.indexOf("/c/cn") > -1),
	is_category_listing: ((qV.href.indexOf("/l/cn") > -1) || (qV.href.indexOf("/b/cn") > -1)),
	is_itempage: ((qV.href.indexOf("/v/an") > -1) || (qV.href.indexOf("viewitem.aspx") > -1) || (qV.href.indexOf("viewitem_cb.aspx") > -1)),
	is_sellingformpage1: (qV.path.indexOf('/form/addobj.asp') == 0),
	is_sellingformpage2: (qV.path.indexOf('/form/addobj_step2.asp') == 0),
	is_erotic_category: (decodeURIComponent(qV.path).indexOf(qxlSite.segment_buy + '/' + qxlSite.segment_erotic) == 1),
	is_erotic_search: (qV.href.indexOf('catalog=4') > -1),

	/* Category path default values */
	categoryID: 1
};
qxlVars.is_www = (qxlVars.is_prod || qxlVars.is_beta || qxlVars.is_dev); // I.e. not help, subdomains, cobrands, mobile, etc.
qxlVars.is_homepage = ( (location.pathname == '/') && qxlVars.is_www );
qxlVars.is_category = (qxlVars.is_category_index || qxlVars.is_category_listing);
qxlVars.is_listing = (qxlVars.is_search || qxlVars.is_category_listing || qxlVars.is_special_search);
qxlVars.is_erotic = (qxlVars.is_erotic_category || qxlVars.is_erotic_search);
if (qxlVars.is_seller_listing) qxlVars.base_href = location.protocol + '//' + qxlSite.host_main + '/';

/* Debugging function */
function trace(s) {
	try { console.log(s) } catch (e) { }
}

	$(document).ready(function() {
        listingActions();
    });


/*!
 * jQuery Tools v1.2.6 - The missing UI library for the Web
 * tooltip/tooltip.js
 * NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
 * http://flowplayer.org/tools/
 */
(function(a){a.tools=a.tools||{version:"v1.2.6"},a.tools.tooltip={conf:{effect:"toggle",fadeOutSpeed:"fast",predelay:0,delay:30,opacity:1,tip:0,fadeIE:!1,position:["top","center"],offset:[0,0],relative:!1,cancelDefault:!0,events:{def:"mouseenter,mouseleave",input:"focus,blur",widget:"focus mouseenter,blur mouseleave",tooltip:"mouseenter,mouseleave"},layout:"<div/>",tipClass:"tooltip"},addEffect:function(a,c,d){b[a]=[c,d]}};var b={toggle:[function(a){var b=this.getConf(),c=this.getTip(),d=b.opacity;d<1&&c.css({opacity:d}),c.show(),a.call()},function(a){this.getTip().hide(),a.call()}],fade:[function(b){var c=this.getConf();!a.browser.msie||c.fadeIE?this.getTip().fadeTo(c.fadeInSpeed,c.opacity,b):(this.getTip().show(),b())},function(b){var c=this.getConf();!a.browser.msie||c.fadeIE?this.getTip().fadeOut(c.fadeOutSpeed,b):(this.getTip().hide(),b())}]};function c(b,c,d){var e=d.relative?b.position().top:b.offset().top,f=d.relative?b.position().left:b.offset().left,g=d.position[0];e-=c.outerHeight()-d.offset[0],f+=b.outerWidth()+d.offset[1],/iPad/i.test(navigator.userAgent)&&(e-=a(window).scrollTop());var h=c.outerHeight()+b.outerHeight();g=="center"&&(e+=h/2),g=="bottom"&&(e+=h),g=d.position[1];var i=c.outerWidth()+b.outerWidth();g=="center"&&(f-=i/2),g=="left"&&(f-=i);return{top:e,left:f}}function d(d,e){var f=this,g=d.add(f),h,i=0,j=0,k=d.attr("title"),l=d.attr("data-tooltip"),m=b[e.effect],n,o=d.is(":input"),p=o&&d.is(":checkbox, :radio, select, :button, :submit"),q=d.attr("type"),r=e.events[q]||e.events[o?p?"widget":"input":"def"];if(!m)throw"Nonexistent effect \""+e.effect+"\"";r=r.split(/,\s*/);if(r.length!=2)throw"Tooltip: bad events configuration for "+q;d.bind(r[0],function(a){clearTimeout(i),e.predelay?j=setTimeout(function(){f.show(a)},e.predelay):f.show(a)}).bind(r[1],function(a){clearTimeout(j),e.delay?i=setTimeout(function(){f.hide(a)},e.delay):f.hide(a)}),k&&e.cancelDefault&&(d.removeAttr("title"),d.data("title",k)),a.extend(f,{show:function(b){if(!h){l?h=a(l):e.tip?h=a(e.tip).eq(0):k?h=a(e.layout).addClass(e.tipClass).appendTo(document.body).hide().append(k):(h=d.next(),h.length||(h=d.parent().next()));if(!h.length)throw"Cannot find tooltip for "+d}if(f.isShown())return f;h.stop(!0,!0);var o=c(d,h,e);e.tip&&h.html(d.data("title")),b=a.Event(),b.type="onBeforeShow",g.trigger(b,[o]);if(b.isDefaultPrevented())return f;o=c(d,h,e),h.css({position:"absolute",top:o.top,left:o.left}),n=!0,m[0].call(f,function(){b.type="onShow",n="full",g.trigger(b)});var p=e.events.tooltip.split(/,\s*/);h.data("__set")||(h.unbind(p[0]).bind(p[0],function(){clearTimeout(i),clearTimeout(j)}),p[1]&&!d.is("input:not(:checkbox, :radio), textarea")&&h.unbind(p[1]).bind(p[1],function(a){a.relatedTarget!=d[0]&&d.trigger(r[1].split(" ")[0])}),e.tip||h.data("__set",!0));return f},hide:function(c){if(!h||!f.isShown())return f;c=a.Event(),c.type="onBeforeHide",g.trigger(c);if(!c.isDefaultPrevented()){n=!1,b[e.effect][1].call(f,function(){c.type="onHide",g.trigger(c)});return f}},isShown:function(a){return a?n=="full":n},getConf:function(){return e},getTip:function(){return h},getTrigger:function(){return d}}),a.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","),function(b,c){a.isFunction(e[c])&&a(f).bind(c,e[c]),f[c]=function(b){b&&a(f).bind(c,b);return f}})}a.fn.tooltip=function(b){var c=this.data("tooltip");if(c)return c;b=a.extend(!0,{},a.tools.tooltip.conf,b),typeof b.position=="string"&&(b.position=b.position.split(/,?\s/)),this.each(function(){c=new d(a(this),b),a(this).data("tooltip",c)});return b.api?c:this}})(jQuery);
(function(a){var b=a.tools.tooltip;b.dynamic={conf:{classNames:"top right bottom left"}};function c(b){var c=a(window),d=c.width()+c.scrollLeft(),e=c.height()+c.scrollTop();return[b.offset().top<=c.scrollTop(),d<=b.offset().left+b.width(),e<=b.offset().top+b.height(),c.scrollLeft()>=b.offset().left]}function d(a){var b=a.length;while(b--)if(a[b])return!1;return!0}a.fn.dynamic=function(e){typeof e=="number"&&(e={speed:e}),e=a.extend({},b.dynamic.conf,e);var f=a.extend(!0,{},e),g=e.classNames.split(/\s/),h;this.each(function(){var b=a(this).tooltip().onBeforeShow(function(b,e){var i=this.getTip(),j=this.getConf();h||(h=[j.position[0],j.position[1],j.offset[0],j.offset[1],a.extend({},j)]),a.extend(j,h[4]),j.position=[h[0],h[1]],j.offset=[h[2],h[3]],i.css({visibility:"hidden",position:"absolute",top:e.top,left:e.left}).show();var k=a.extend(!0,{},f),l=c(i);if(!d(l)){l[2]&&(a.extend(j,k.top),j.position[0]="top",i.addClass(g[0])),l[3]&&(a.extend(j,k.right),j.position[1]="right",i.addClass(g[1])),l[0]&&(a.extend(j,k.bottom),j.position[0]="bottom",i.addClass(g[2])),l[1]&&(a.extend(j,k.left),j.position[1]="left",i.addClass(g[3]));if(l[0]||l[2])j.offset[0]*=-1;if(l[1]||l[3])j.offset[1]*=-1}i.css({visibility:"visible"}).hide()});b.onBeforeShow(function(){var a=this.getConf(),b=this.getTip();setTimeout(function(){a.position=[h[0],h[1]],a.offset=[h[2],h[3]]},0)}),b.onHide(function(){var a=this.getTip();a.removeClass(e.classNames)}),ret=b});return e.api?ret:this}})(jQuery);

//listing view gallery, show bigger images when you hover over image - GZ
function listingActions() {
  // initialize tooltip
  $(".n_ListPic a img").each(function(index) {
    $(this).after('<div class="tooltip"><img src="/ImgWeb/14/V4/misc/ajax-loader.gif"></div>');
  });
  $(".n_ListPic a img").tooltip({
    position: ['top', 'right'],
    offset: [100, 20],
    relative: true,
    effect: 'fade',
    predelay: 500,
    onBeforeShow: function() {
      var mypic = this.getTip().find('img');  
      var mysrc = this.getTrigger().attr('src').replace("_prem/", "_450/");
        mypic.attr('src', mysrc);
        mypic.load(
          function() {
            var mypic_height = mypic.height();
            if (mypic_height > 300) { mypic_height = 300; }
            var mypic_margin = (300 - mypic_height) / 2;
            mypic.css( 'margin-top' , mypic_margin);
          }
        );
      }
    
  }).dynamic({ bottom: { direction: 'down', bounce: true } });
}

// Cross Domain AJAX script (YQL)

jQuery.ajax = (function(_ajax){
    
    var protocol = location.protocol,
        hostname = location.hostname,
        exRegex = RegExp(protocol + '//' + hostname),
        YQL = 'http' + (/^https/.test(protocol)?'s':'') + '://query.yahooapis.com/v1/public/yql?callback=?',
        query = 'select * from html where url="{URL}" and xpath="*"';
    
    function isExternal(url) {
        return !exRegex.test(url) && /:\/\//.test(url);
    }
    
    return function(o) {
        
        var url = o.url;
        
        if ( /get/i.test(o.type) && !/json/i.test(o.dataType) && isExternal(url) ) {
            
            // Manipulate options so that JSONP-x request is made to YQL
            
            o.url = YQL;
            o.dataType = 'json';
            
            o.data = {
                q: query.replace(
                    '{URL}',
                    url + (o.data ?
                        (/\?/.test(url) ? '&' : '?') + jQuery.param(o.data)
                    : '')
                ),
                format: 'xml'
            };
            
            // Since it's a JSONP request
            // complete === success
            if (!o.success && o.complete) {
                o.success = o.complete;
                delete o.complete;
            }
            
            o.success = (function(_success){
                return function(data) {
                    
                    if (_success) {
                        // Fake XHR callback.
                        _success.call(this, {
                            responseText: data.results[0]
                                // YQL screws with <script>s
                                // Get rid of them
                                .replace(/<script[^>]+?\/>|<script(.|\s)*?\/script>/gi, '')
                        }, 'success');
                    }
                    
                };
            })(o.success);
            
        }
        
        return _ajax.apply(this, arguments);
        
    };
    
})(jQuery.ajax);
