function MM_preloadImages() { 
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

// Search
var o2 = {
    config : {
        headerSearchField : {
            id : 'keywords',
            defaultValue : 'Search o2.ie',
            waitingResponse: false,
            tooltip : {
				search_btn : 'search_btn',
                cssLoadingClass : 'loading',
                contentDivWrapperId : 'suggestions',
                contentHolderId : 'autoSuggestionsList'
            }
        }
    },

    tooltip : function () {
        'use strict';
        var cs = o2.config.headerSearchField,
            t = cs.tooltip,
            f = $('#' + cs.id);

        $('#' + t.contentDivWrapperId).hide();

        if (f.val().length > 2 && f.val().length < 13 && cs.waitingResponse === false) {
            f.addClass(t.cssLoadingClass);
            setTimeout("$('#' + o2.config.headerSearchField.tooltip.inputId).removeClass(o2.config.headerSearchField.tooltip.cssLoadingClass)", 400);

            cs.waitingResponse = true;
            $.post("//www.o2online.ie/o2/includes/rpc.php", {searchstring: f.val() }, function (data) {
                cs.waitingResponse = false;
				 if (!jQuery.isEmptyObject(data)) {
                    $('#' + t.contentDivWrapperId).show();
                    $('#' + t.contentHolderId).html(o2.buildSearchResponse(data));
                }
            });   
        }
    },
    
	buildSearchResponse : function (d) {
		'use strict';
		var line,row, r = '<ul>';

		for (row in d) {
			if (d.hasOwnProperty(row)) {
				for (line in d[row]) {
					if ( d[row].hasOwnProperty(line)) {
						if (d[row][line].cat === 'Products') {
							r += '<li><a href="/o2/shop/phones/detail.php?pid=' + d[row][line].id + '">';
							r += '<img class="auto-thumb" src="http://www.o2online.ie/o2/images/products/thumbnails/' + d[row][line].imageName + '" width="45" height="80" /></a>';
							r += '<p><a href="/o2/shop/phones/detail.php?pid=' + d[row][line].id + '">' + d[row][line].title1 + '</a><br />';
							if (d[row][line].content1.length > 1) {
								r += 'Prepay from &euro;' + d[row][line].content1 + '<br />';
							}
							if (d[row][line].content2.length > 1) {
								r += 'Bill pay from &euro;' + d[row][line].content2;
							}
							r += '</p></li>';
						}
						if (d[row][line].cat === 'Plan') {
							r += '<li><a href="/o2/shop/plans/">';
							r += '<img class="auto-thumb" src="http://www.o2online.ie/o2/images/o2-fb-logo.jpg" width="45" height="50" /></a>';
							r += '<p><a href="/o2/shop/plans/">' + d[row][line].title1 + '</a><br />Price Plans</p></li>';
						}
						if (d[row][line].cat === 'Content') {
							r += '<li><a href="/o2/about-o2/content.php?cid=' + d[row][line].id + '">';
							r += '<img class="auto-thumb" src="http://www.o2online.ie/o2/images/o2-fb-logo.jpg" width="45" height="50" /></a>';
							r += '<p><a href="/o2/about-o2/content.php?cid=' + d[row][line].id + '">' + d[row][line].title1 + '</a><br />';
							r += d[row][line].content1 + '</p></li>';
						}
						if (d[row][line].cat === 'Guru') {
							r += '<li><a href="/o2/help/gurutv/index.php?vid=' + d[row][line].id + '">';
							r += '<img class="auto-thumb" src="http://img.youtube.com/vi/' + d[row][line].imageName + '/default.jpg" width="45" height="50" /></a>';
							r += '<p><a href="/o2/help/gurutv/index.php?vid=' + d[row][line].id + '">' + d[row][line].title1 + '</a><br />Guru TV</p></li>';
						}
					}
				}
			}
		}
		r += '</ul>';
		return r;
	},




    prepareSearch : function () {
        'use strict';
        var s = this.config.headerSearchField, 
		sb = s.tooltip.search_btn;

        $('#' + s.id).bind('blur', function () { 
			if ( !$('#' + sb).triggerHandler("focus") ) { 
				//this.value = s.defaultValue;
				setTimeout("$('#'+o2.config.headerSearchField.tooltip.contentDivWrapperId).hide()", 400); 
			}
        });
        $('#' + s.id).bind('focus', function () {
			this.value = '';
			$('#' + s.tooltip.contentDivWrapperId).hide(); 
        });
        $('#' + s.id).keyup(this.tooltip);
		
		$('#' + sb).bind('click', function() {
			if ( $('#' + s.id).val() === s.defaultValue ) {
				return false;
			}
		});
    },

    init : function () {
        'use strict';
        //this.prepareSearch();
    }
};

$().ready(function() {
	o2.init();
});
