// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

// railsontherun.com ajax pagination
try{
Event.addBehavior.reassignAfterAjax = true;
  Event.addBehavior({
    'div.pagination a' : Remote.Link
  })
}catch(e){}

// Attach an event
function addEvent(obj, type, fn) {

	if(obj.addEventListener) {
		(obj.addEventListener(type, fn, false));
	}
	else if(obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); };
		obj.attachEvent( "on"+type, obj[type+fn] );
	}
}

function addLoadEvent(func) {

  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}


function numberFormat(nStr,prefix){
    var prefix = prefix || '';
    nStr += '';
    x = nStr.split('.');
    x1 = x[0];
    x2 = x.length > 1 ? '.' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1))
        x1 = x1.replace(rgx, '$1' + ',' + '$2');
    return prefix + x1 + x2;
}

function track_link(url,id,classname) {
	var pause_msecs = 800;
	var link_url = '/links/track/?';
	link_url += "url="+escape(url)+"&id="+id; //+"&cname="+escape(classname);

 	var image = new Image();
        image.src = link_url;
	
	var now = new Date();
        var stopTime = now.getTime() + pause_msecs;
        while(now.getTime() < stopTime) {
            now = new Date();
        }
	/*

	try {
		opt = {
			method:'post',
			parameters:'url='+escape(url)+'&id='+id+'&cname='+escape(class),
			onComplete: function(t){
				alert(t.statuscode);
			}
		}
		new Ajax.Request('/links/track', opt);

	} catch(e){}
	*/
}

try {
	var contentTabs = Class.create();
	  	contentTabs.prototype = {
	      initialize : function(element,initialtab) {
	          this.element = $(element);
	          var options = Object.extend({}, arguments[1] || {});
	          this.menu = $A(this.element.getElementsByTagName('a'));
	          this.show($(initialtab));
	          this.menu.each(this.setupTab.bind(this));
	       },
	      setupTab : function(elm) {
	         Event.observe(elm,'click',this.activate.bindAsEventListener(this),false)
	      },
	      activate :  function(ev) {
	        var elm = Event.findElement(ev, "a");
	        Event.stop(ev);
	        this.show(elm);
	        this.menu.without(elm).each(this.hide.bind(this));
	      },
	      hide : function(elm) {
	        $(elm).removeClassName('active');
	        $(this.tabID(elm)).style.display = 'none';
	      },
	      show : function(elm) {
	        $(elm).addClassName('active');
	        $(this.tabID(elm)).style.display = '';
	      },
	      tabID : function(elm) {
	        return elm.title;
	       },
	      getInitialTab : function() {
	        return $('searchtab_scenario');
	      }
	}
}
catch(e){}

function createSponsoredLink(obj,is_finance,options)
{
	var tracking_url;
	if(is_finance == 1)
		tracking_url = '/outgoing/click/finance-validclick?';	
	else
		tracking_url = '/outgoing/click/validclick?';
	
	tracking_url += 'rank=' + escape(obj.rank);

	if(options.keyword.length)
		tracking_url += '&kw=' + escape(options.keyword);
	
	//onClick="window.open(\''+obj.link+'\',\'newwin\');return false;" 
	var output = '<div class="link_wrapper"><a href="' + obj.link + '" class="listing" onMouseOver="return ss(\''+obj.sitehost+'\');" onMouseOut="return cs();" onClick="pageTracker._trackPageview(\'' + tracking_url + '\');" target="new"><span class="title">'+ obj.title + '</span><br /><div class="listing_description">'+obj.description +'</div><p><span class="link">'+obj.sitehost +'</span></p></a></div>';
	return output;
}

function createSponsoredLinkTracking(obj,is_finance,options,sid,cid)
{
	var tracking_url;
	if(is_finance == 1)
		tracking_url = '/outgoing/click/finance-validclick?';	
	else
		tracking_url = '/outgoing/click/validclick?';
	
	tracking_url += 'rank=' + escape(obj.rank);

	if(options.keyword.length)
		tracking_url += '&kw=' + escape(options.keyword);
	
	//onClick="window.open(\''+obj.link+'\',\'newwin\');return false;" 
	
	var output = '<div class="link_wrapper"><a href="' + obj.redirect_url + '&ad_sid='+sid+'&ad_cid='+cid+'" class="listing" onMouseOver="return ss(\''+obj.sitehost+'\');" onMouseOut="return cs();" onClick="pageTracker._trackPageview(\'' + tracking_url + '\');" target="new"><span class="title">'+ obj.title + '</span><br /><div class="listing_description">'+obj.description +'</div><p><span class="link">'+obj.sitehost +'</span></p></a></div>';
	
	//var output = '<div class="link_wrapper"><a href="' + obj.link + '" class="listing" onMouseOver="return ss(\''+obj.sitehost+'\');" onMouseOut="return cs();" onClick="pageTracker._trackPageview(\'' + tracking_url + '\');" target="new"><span class="title">'+ obj.title + '</span><br /><div class="listing_description">'+obj.description +'</div><p><span class="link">'+obj.sitehost +'</span></p></a></div>';
	return output;
}

function loadSponsoredLinksV2(pid,kw,is_finance,aid,cid,sid,adsid)
{
	if($('sponsored_links_container'))
		new Ajax.Request('/home/sponsored_links_v2?max=9&json=1&pid='+pid+'&kw='+kw+'&aid='+aid+'&cid='+cid+'&adsid='+adsid+'&sid='+sid, {
	  		method: 'get',
	  		onSuccess: function(request) {

	   			if (request.responseText.isJSON()) {
					var dataArrayAll = (request.responseText).evalJSON(true);
					var dataArray = dataArrayAll.listings;
					var count = 0;					
					var block1 = block2 = block3 = '';
					for(x = 0; x < dataArray.length; x++)
					{
						count++;
						if(count <= 3)
							block1 += createSponsoredLinkTracking(dataArray[x],is_finance,dataArrayAll.options,sid,cid);
						else if(count >= 4 && count <= 6)						
							block2 += createSponsoredLinkTracking(dataArray[x],is_finance,dataArrayAll.options,sid,cid);														
						else if(count >= 7 && count <= 9)
							block3 += createSponsoredLinkTracking(dataArray[x],is_finance,dataArrayAll.options,sid,cid);
					}
					block_start = '<div class="sponsored_listing_wrapper"><div class="lbl_sponsored">SPONSORED LINKS</div>';
					block_end = '</div></div>';

					if($('sponsored_links_container') && block1 != '')
						$('sponsored_links_container').innerHTML = block_start + block1 + block_end;
					if($('sponsored2_links_container') && block2 != '')
						$('sponsored2_links_container').innerHTML = block_start + block2 + block_end;
					if($('sponsored3_links_container') && block3 != '')
						$('sponsored3_links_container').innerHTML = block_start + block3 + block_end;
				}
				else
				{
					//alert('Not json request:' + request.responseText);
				}
	  		}
	});
}


function loadSponsoredLinks(pid,kw,is_finance)
{
	if($('sponsored_links_container'))
		new Ajax.Request('/home/sponsored_links?max=9&json=1&pid='+pid+'&kw='+kw, {
	  		method: 'get',
	  		onSuccess: function(request) {

	   			if (request.responseText.isJSON()) {
					var dataArrayAll = (request.responseText).evalJSON(true);
					var dataArray = dataArrayAll.listings;
					var count = 0;					
					var block1 = block2 = block3 = '';
					for(x = 0; x < dataArray.length; x++)
					{
						count++;
						if(count <= 3)
							block1 += createSponsoredLink(dataArray[x],is_finance,dataArrayAll.options);
						else if(count >= 4 && count <= 6)						
							block2 += createSponsoredLink(dataArray[x],is_finance,dataArrayAll.options);														
						else if(count >= 7 && count <= 9)
							block3 += createSponsoredLink(dataArray[x],is_finance,dataArrayAll.options);
					}
					block_start = '<div class="sponsored_listing_wrapper"><div class="lbl_sponsored">SPONSORED LINKS</div>';
					block_end = '</div></div>';

					if($('sponsored_links_container') && block1 != '')
						$('sponsored_links_container').innerHTML = block_start + block1 + block_end;
					if($('sponsored2_links_container') && block2 != '')
						$('sponsored2_links_container').innerHTML = block_start + block2 + block_end;
					if($('sponsored3_links_container') && block3 != '')
						$('sponsored3_links_container').innerHTML = block_start + block3 + block_end;
				}
				else
				{
					//alert('Not json request:' + request.responseText);
				}
	  		}
	});
}

var Popup = {
  open: function(options)
  {
    this.options = {
      url: '#',
      width: 800,
      height: 500,
      name:"_blank",
      location:"no",
      menubar:"no",
      toolbar:"no",
      status:"yes",
      scrollbars:"yes",
      resizable:"yes",
      left:"",
      top:"",
      normal:false
    }
    Object.extend(this.options, options || {});

    if (this.options.normal){
        this.options.menubar = "yes";
        this.options.status = "yes";
        this.options.toolbar = "yes";
        this.options.location = "yes";
    }

    this.options.width = this.options.width < screen.availWidth?this.options.width:screen.availWidth;
    this.options.height=this.options.height < screen.availHeight?this.options.height:screen.availHeight;
    var openoptions = 'width='+this.options.width+',height='+this.options.height+',location='+this.options.location+',menubar='+this.options.menubar+',toolbar='+this.options.toolbar+',scrollbars='+this.options.scrollbars+',resizable='+this.options.resizable+',status='+this.options.status
	
	if (this.options.top!="")
		openoptions+=",top="+this.options.top;
	else
	    openoptions+=",top="+parseInt((parseInt(screen.height)/2) - (parseInt(this.options.height)/2));
	if (this.options.left!="")
		openoptions+=",left="+this.options.left;
	else
		openoptions+=",left="+parseInt((parseInt(screen.width)/2) - (parseInt(this.options.width)/2));

    window.open(this.options.url, this.options.name,openoptions );
    return false;
  }
}

function ss(url)
{
	window.status = url;
	return true;
}

function cs()
{
	window.status = '';
}

function queryString(parameter) { 
  var loc = location.search.substring(1, location.search.length);
  var param_value = false;

  var params = loc.split("&");
  for (i=0; i<params.length;i++) {
      param_name = params[i].substring(0,params[i].indexOf('='));
      if (param_name == parameter) {
          param_value = params[i].substring(params[i].indexOf('=')+1)
      }
  }
  if (param_value) {
      return param_value;
  }
  else {
      return false; //Here determine return if no parameter is found
  }
}


function trackAdOutLink()
{	
	try
	{
		document.cookie=cct.CookieCheck(document.cookie); 
		cct.cct_log('0420-5Lce3a7d129af4bf45da93f61b5cdb8286d8');	
	}
	catch(exception){alert(exception);
	}
	return false;
}
/*
document.observe("dom:loaded", function() {
	// set the js 
	var elements = document.getElementsByClassName("listing");
	for(index = 0; index < elements.length; index++)
	{
		Event.observe(elements[index], "mouseover", trackAdOutLink);
		//Event.observe(e, "click", trackAdOutLink);
	}
	elements.each(
	  function(e) {
		alert('hi');
	    // Assign the onclick method to the element
	    //Event.observe(e, "click", trackAdOutLink);
		//Event.observe(e, "mouseover", trackAdOutLink);
	  }
	);
});*/