var homeImageIntervalTimer = 4000;
var homeImageInterval;
var homeImagesShown = 0;
tabSwitcher = function() {
	if( jQuery(this).hasClass('js_tabs') ) {
		jQuery("a.js_tabs").removeClass('js_tabs_selected');
		jQuery(this).addClass('js_tabs_selected');
	}
	jQuery("a.js_tabs").each(function(i,n) {
		var tabToHide = jQuery(n).attr('id').match(/(.*?)_tab_link/)[1] + '_tab';
		jQuery('#'+tabToHide).hide();
	});
	jQuery("a.js_tabs_selected").each(function(x,y){
		var tabToShow = jQuery(y).attr('id').match(/(.*?)_tab_link/)[1] + '_tab';
		jQuery('#'+tabToShow).show();
	});
	
	jQuery("a.js_tabs, a.js_tabs_selected").unbind('click');
	jQuery("a.js_tabs, a.js_tabs_selected").bind('click', tabSwitcher);
	return false;
}

homeImageSwitcher = function(){
	jQuery('ul.sf-menu li').bind('mouseover', function() {
		if(homeImageInterval) clearInterval(homeImageInterval);
		var cl = jQuery(this).attr('class').match(/^(.*?)nav/);
		jQuery('ul.sf-menu li').removeClass("explorenav-active trynav-active buynav-active");
		jQuery('#centerblock div').hide();
		jQuery('#centerblock #'+cl[1]+'overlay').show();
		jQuery('#centerblock #'+cl[1]+'overlay').children().show();
	});
	
	jQuery('ul.sf-menu li').bind('mouseout', function() {
		var cl = jQuery(this).attr('class').match(/^(.*?)nav/);
		jQuery(this).addClass(cl[0]+'-active');
		if(homeImageInterval) clearInterval(homeImageInterval);
		homeImageInterval = setInterval(homeImageRotater, homeImageIntervalTimer);
	});
}

homeImageRotater = function() {
	var images = jQuery("#exploreoverlay, #tryoverlay, #buyoverlay");
	if(images.length == homeImagesShown)
		homeImagesShown = 0;
	jQuery('ul.sf-menu li').removeClass("explorenav-active trynav-active buynav-active");
	jQuery(images).hide();
	jQuery(images).children().hide();
	jQuery(images[homeImagesShown]).show();
	jQuery(images[homeImagesShown]).children().show();
	++homeImagesShown;
	if(homeImageInterval) clearInterval(homeImageInterval);
	homeImageInterval = setInterval(homeImageRotater, homeImageIntervalTimer);
}

ajaxPaginateEntries = function(link, idInsert, extraData) {
	var request = jQuery(link).attr('href')||jQuery(link).attr('action');
	var domain_replace = request.match(/^https?:\/\/(.+?)\//)[1]||document.domain;
	request	= request.replace(domain_replace, document.domain);
	jQuery.ajax({
		url: request,
		dataType: 'html',
		data: extraData,
		success: function(data, stat) {
			jQuery(idInsert).empty();
			jQuery(idInsert).append(data);
			if( typeof(ajaxPaginateInit) != "undefined" )
				ajaxPaginateInit();
		}
	});
}

evalXJSONHeader = function(xhrObj) {
	return eval('('+xhrObj.getResponseHeader('X-JSON')+')')||{};
}

parseParamsRel = function(rel) {
   var params=rel;
	// split the params
	var pArray = params.split("&");
	// hash to store result
	var pHash = [];
	// parse each param in the array and put it in the hash
	for(var i=0;i<pArray.length;i++) {
		var temp = pArray[i].split("=");
		pHash.push({
			field_name: temp[0],
			field_value: unescape(temp[1])
		});
	}
	return pHash;
}

passPageInfo = function(link) {
	var data = $(link).attr('rel');
	if(data == '') return false;
	data = parseParamsRel(data);
	var url = $(link).attr('href');
	var form = $('<div style="display:none;"><form id="pages-pass-form" method="post" action="'+url+'"></form></div>');
	$.each(data, function(index, field) {
		$(form).find('form').append('<input type="hidden" name="'+field.field_name+'" value="'+field.field_value+'" />');
	});
	$('body').append(form);
	setTimeout(function() {
		$('form#pages-pass-form').submit();
	}, 100);
	return false;
}

sfHover = function() {
	var sfEls = document.getElementById("mainnav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	}
}

resourceCast = function(link) {
	if(!jQuery(link).attr('href')) return false;
	jQuery(link).replaceWith(jQuery(link).flash(
		{src: '/js/player.swf', height: 260, width: 300, wmode: 'transparent', allowscriptaccess: "always", allowfullscreen: "true"},
		{version: 9},
		function(htmlOptions) {
			htmlOptions.flashvars.type = jQuery(this).attr('rel');
			if( htmlOptions.flashvars.type == 'video' ) {
				//htmlOptions.flashvars.type = 'http';
				htmlOptions.flashvars.streamer = jQuery(this).attr('href');
				htmlOptions.flashvars.file = jQuery(this).attr('href');
			} else {
				htmlOptions.flashvars.file = jQuery(this).attr('href');
			}
			htmlOptions.flashvars.bufferlength = 5;
			htmlOptions.flashvars.quality = true;
			htmlOptions.flashvars.smoothing = true;
			htmlOptions.flashvars.state = 'IDLE';
			jQuery(this).before($.fn.flash.transform(htmlOptions));
		}));
}

doLFSubmit = function(link) {
	var lf_url = 'http://www.loopfuse.net/webrecorder/post';
	if( typeof _lf_cid != "undefined" && jQuery(link).attr('href').match(/formid/) ) {
		var qs = '?cid='+_lf_cid+'&'+jQuery(link).attr('href').split("?").pop();
		jQuery('body').append('<iframe id="loopfuse" name="loopfuseiframe" width="1px" height="1px" style="position:absolute;top:-1000px;left:-1000px;" src="'+lf_url+qs+'" />');
		doDomFix(1000);
	}
}

doDomFix = function (mils) {
  var date = new Date();
  var curDate = null;
  do { curDate = new Date(); }
  while(curDate-date < mils);
}

function formPostProcess(formObj, message, error) {
	if( message != null ) {
		if(jQuery(formObj).attr('id') == 'mailinglist_form') {
			var display = '';
			jQuery(message).replaceWith( jQuery(message).html().replace(/<\/?[^>]+>/gi, '') ).each(function( n,i ) {
				display += jQuery(i).text() + "\n";
			});
			alert(display);
		}
	}
	if( jQuery(formObj).attr('id') == 'freeform' ) {
		jQuery(".contact-form, .required").hide();
	}
	if( jQuery(formObj).attr('id') == 'mojo_comment_form' ) {
		$('#comments').empty();
		$('#comments').append('<p><strong>Please wait while your comments are updated.</strong></p>');
		$('#comments').load('/mojo/ticket-comments', {ticket_id: $(formObj).find('input[@name="ticket_id"]').val(), resource_group_id: $(formObj).find('input[@name="resource_group_id"]').val()});
		$(formObj).find('textarea[@name="body"]').val('');
	}
	return true;
}

function formPostProcessAll(obj, data, id) {
	if( id != null && jQuery(id).length != 0 ) {
		jQuery(id).empty();
		jQuery(id).html(data);
	}
}

jQuery(document).ready(function() {
	sfHover();
	$('a.page-link').bind('click', function() {
		passPageInfo(this);
		return false;
	});
	$(document).pngFix();
});