var hasznaltmotorok = new function() {
	var domain    = getDomain();
	var self      = this;
	var oOptions  = {};
	var listen    = false;
	var divID     = 'hasznaltmotorok';
	var ajaxURL   = '/ajax_partnerbeagyazas';
	var groupBack = true;
	var sStyle    = null;

	var MIN_WIDTH = 550;
	var DEFAULT_WIDTH = 750;

	this.partnerdoboz = function( partnerGroup, partnerOptions ) {
		if ( partnerOptions && partnerOptions.groupBack == undefined ) {
			partnerOptions.groupBack = true;
		}
		self.configure(partnerOptions);
		self.init('doboz', partnerGroup);
	}

	this.partnerhirdetesek = function( partnerId, partnerOptions ) {
		if ( partnerOptions && partnerOptions.groupBack == undefined ) {
			partnerOptions.groupBack = false;
		}
		self.configure(partnerOptions);
		self.init('hirdetesek', partnerId);
	}

	this.configure = function( partnerOptions ) {
		if ( partnerOptions == null ) {
			partnerOptions = {};
		}

		sStyle = partnerOptions.style ? partnerOptions.style+'; ' : '';
		sStyle += 'width: ' + (partnerOptions.width ? partnerOptions.width : DEFAULT_WIDTH) + 'px;';
//		sStyle += (partnerOptions.height ? partnerOptions.height + 'px;' : '');

		oOptions.width     = (partnerOptions.width ? partnerOptions.width : DEFAULT_WIDTH);
		oOptions.cssClass  = partnerOptions.cssClass ? ' ' + partnerOptions.cssClass : '';
		oOptions.groupBack = partnerOptions.groupBack==false ? false : true;

/*not used
		oOptions.height    = (partnerOptions.height ? partnerOptions.height : '600');
		oOptions.border    = partnerOptions.frameborder ? partnerOptions.frameborder : '0';
		oOptions.scrolling = partnerOptions.scrolling ? partnerOptions.scrolling : 'auto';
		oOptions.listen = partnerOptions.listen==false ? false : true; 
*/
	}

	this.init = function( sMethod, mPartner ) {
		divID = 'hasznaltmotorok_partner' + sMethod + '_' + mPartner;
		this.writeln();
		this.writeln('<!-- HASZNALTMOTOROK EMBED START -->');
		this.writeln('<div id="' + divID + '" class="hasznaltmotorok_embed'+oOptions.cssClass+'"'+(sStyle!=null?'style="'+sStyle+'"':'')+'></div>');
		this.writeln('<!-- HASZNALTMOTOROK EMBED END -->');

		if ( typeof jQuery == 'undefined' ) {
			self.includeJS('/script/jquery.js');
			self.jqueryReady(new Function('hasznaltmotorok.load("'+ajaxURL + '/' + sMethod + '/' + mPartner+'");'), 0);
		} else {
			self.load(ajaxURL + sMethod + '/' + mPartner);
		}
	}

	this.load = function(sHref) {
		self.includeCSS( '/css/partner/ajax_style.css');
		self.includeCSS( '/css/plugins/prettyPhoto.css');

		self.includeJS( '/script/plugins/jquery.prettyPhoto.js');
		self.includeJS( '/script/site.component.js');
		self.includeJS( '/script/site.basesearch.js');
		self.includeJS( '/script/site.partnerboxsearch.js');

		self.loadHtml(sHref);
	}

	this.loadHtml = function(sHref, targetID) {
		$.getJSON(
			self.crossHref(sHref) + (sHref.indexOf('?')==-1?'?':'&') + 'jsoncallback=?&'+ jQuery.param(oOptions),
			function(json) {
				$('#'+(targetID==null?divID:targetID)).html(json.html);
				$(hasznaltmotorok).attr(self.uri(sHref).split('?')[0].split('/')[4]+'Init')();
				if ( json.error != '' ) {
					$('#'+divID).append('<div id="jsErrorPopup" class="hasznaltmotorok_popup">');
					$('#jsErrorPopup').html(json.error);
				}
			});

/* Normal Ajax
		$('#'+(targetID==null?divID:targetID)).load(
			sHref + (sHref.indexOf('?')==-1?'?':'&') + jQuery.param(oOptions),
			function(sResponse, sStatus, oXhr) {
				if ( sStatus == 'error' ) {
					$('#'+(targetID==null?divID:targetID)).html('Ajax error: '+oXhr.status+' '+oXhr.statusText);
				} else {
					$(hasznaltmotorok).attr(sHref.split('?')[0].split('/')[4]+'Init')();
				}
			});
*/
	}

	this.writeln = function( sHtml ) {
		if ( sHtml == null ) { sHtml = ''; }
		document.write(sHtml + "\n");
	}

	this.includeJS = function( sSrc ) {
		var oScript = document.createElement('script');
		oScript.setAttribute("type","text/javascript");
		oScript.setAttribute("src", self.uri(sSrc));
		if ( typeof oScript != "undefined" ) {
			document.getElementsByTagName("head")[0].appendChild(oScript);
		}
	}

	this.includeCSS = function( sSrc, sMedia ) {
		var oLink = document.createElement('link');
		oLink.setAttribute("rel","stylesheet");
		oLink.setAttribute("type","text/css");
		oLink.setAttribute("media", (sMedia==null?'all':sMedia));
		oLink.setAttribute("href", self.uri(sSrc));
		if ( typeof oLink != "undefined" ) {
			document.getElementsByTagName("head")[0].appendChild(oLink);
		}
	}

	this.jqueryReady = function(fOnReady, time_elapsed) {
		if ( typeof jQuery == 'undefined' ) {
			if (time_elapsed <= 5000) {
				setTimeout('hasznaltmotorok.jqueryReady(' + fOnReady + ', ' + (time_elapsed + 200) + ')', 200);
			} else {
				alert('timed out while loading jQuery.');
			}
		} else {
			fOnReady();
		}
	}

	this.dobozInit = function() {
		$('#'+divID+' a.jsAjaxLink').click(function() {hasznaltmotorok.loadHtml(this.href);return false;});
		$('#'+divID+' form#complex_motorbike').submit(function() {
			hasznaltmotorok.loadHtml($('#'+divID+' form#complex_motorbike').attr('action')+'?'+$(this).serialize());
			return false;
		});
		Site.PartnerBoxSearch.init();
	}

	this.talalatokInit = function() {
		self.hirdetesekInit();
	}

	this.hirdetesekInit = function() {
		if ( oOptions.width < MIN_WIDTH ) {
			$('#'+divID).append('<div id="jsAdPopup" class="hasznaltmotorok_popup">');
			$('#'+divID+' a.jsAjaxLink.advert').click(function() {
				$('#'+divID+' #jsAdPopup').css('top',  $(window).scrollTop()+($(window).height()/2)-$('#'+divID+' #jsAdPopup').height()/2);
				$('#'+divID+' #jsAdPopup').css('left', $(window).width()/2-$('#'+divID+' #jsAdPopup').width()/2);
				hasznaltmotorok.loadHtml(this.href, 'jsAdPopup');
				return false;
			});
		}

		$('#'+divID+' a.jsAjaxLink'+(oOptions.width<MIN_WIDTH?':not(.advert)':'')).click(function() {hasznaltmotorok.loadHtml(this.href);return false;});
		$('#input_talalat_rendezes').bind('change',function(){
			hasznaltmotorok.loadHtml($(this).parent().attr('action')+'?rendezes='+$(this).val());
		});
	}

	this.hirdetesInit = function() {
		$('#'+divID+' a.jsAjaxLink:not(.advert)').click(function() {hasznaltmotorok.loadHtml(this.href);return false;});

		if ( oOptions.width < MIN_WIDTH ) {
			$('#'+divID+' #popup_close').click(function() { $('#'+divID+' #jsAdPopup').hide()});
			$('#'+divID+' #jsAdPopup').show();
		}

		$("a[rel^='prettyPhoto']").prettyPhoto({
			animationSpeed: 'normal', /* fast/slow/normal */
			padding: 40, /* padding for each side of the picture */
			opacity: 0.75, /* Value betwee 0 and 1 */
			showTitle: true, /* true/false */
			allowresize: true /* true/false */
		});
	}

	this.uri = function( sURL ) {
		return (sURL.indexOf('http://')==-1?domain:'') + sURL;
	}

	this.crossHref = function( sURL ) {
		return self.uri(sURL.replace('http://'+document.domain, domain));
	}

	function getDomain() {
		var aScriptTag = document.getElementsByTagName('script');
		for ( var i=0; i<aScriptTag.length; i++ ) {
			if ( aScriptTag[i].getAttribute('src') && aScriptTag[i].getAttribute('src').indexOf('partner_api.js') != -1 ) {
				return 'http://'+aScriptTag[i].getAttribute('src').split('/')[2];
			}
		}
		return '';
	}
}

