$(document).ready( function(){
	initLinks();
	initAnnouncement();
	initRecentActivity();
	initFader();
});

function initLinks(){
	//$('a.new-window').attr('target', '_blank');
	$('a').each(function(i){
		var rel = $(this).attr('rel');
		var href = $(this).attr('href');
		if(href.match(/#true/) || href.match(/#false/)){
			$(this).click( function(){ return false; } );
		}
		if(rel && rel.match(/fader/)){
			$(this).click( showFader );
		}		
		if(rel && rel.match(/delete/)){
			
			$(this).click( function () {
				if (confirm('Do You really want remove it?'))
					return true;
				else
					return false;			
			});
			
		}		
		if(rel && rel.match(/ajax/)){
			$(this).click( makeAjaxRequest );
		}
		if(rel && rel.match(/vote/)){
			$(this).click( makeVoteRequest );
		}
		if(rel && rel.match(/abuse/)){
			$(this).click( reportAbuseContent );
		}
	});
}

/**
 *	Announcement
 */ 
function initAnnouncement(){
	if($('#announcement').get(0)){
		$('#announcement').click(function(e){
			window.location.href = '/send-tips';
			return false;
		})
	}
}

/**
 *	Recent Activity
 **/
function initRecentActivity(){
	if($('#claim_activity').get(0)){
		$('#claim_activity').load('/claim-activity');
	}
}

/**
 *	Rating system
 */
var votedLink = null;
function makeVoteRequest(){
	var rel = $(this).attr('rel');
	if (rel && rel != '' && !$(this).parent().hasClass('voted'))
	{
		var parts = rel.split(':');
		var Url = '/rating/' + parts[1] + '/' + parts[2] + '?rate=' + parts[3];
		showFader();
		
		votedLink = this;
		
		jQuery.ajax({
			url: Url,
			type: 'post', data: 'is_ajax=1',
			cache: false,
			success: function(data,textStatus){
				eval('var rating = ' + data + ';');
				if ( rating.rated ){
					var parent = $(votedLink).parent().get(0);
					if (parent){
						var trueLink = $(parent).children('a.true').get(0);
						var falseLink = $(parent).children('a.false').get(0);
						
						if ($(parent).parents("#tree-details").get(0)) {
							$(trueLink).html( 'T<span>(' + rating.true_pc + '%)</span>' );
							$(falseLink).html( 'F<span>(' + rating.false_pc + '%)</span>' );
						}
						else {
							$(trueLink).html( 'True <span>(' + rating.true_pc + '%)</span>' );
							$(falseLink).html( 'False <span>(' + rating.false_pc + '%)</span>' );
						}
					}
				}
				
				votedLink = null;
				hideFader();
			}
		});
		
		if(parts[1] == 'user_tree' && treeUser){
			var rel = $(treeUser.link).attr('rel');
			rel = rel.replace(/\'rated\'\:\s[0-1]/, "'rated': 1");	  
			
			if (parts[3] == 'true'){
				reg_pattern = /rating_true\:([\d]+)/;
				attr_txt = 'rating_true';
			}				
			else {
				reg_pattern = /rating_false\:([\d]+)/;
				attr_txt = 'rating_false';
			}
				
			
			var re = new RegExp(reg_pattern);
			  var m = re.exec(rel);
			  if (m) {			    					  
			    old_rat_cnt = m[1];
			    new_rat_cnt = parseInt(old_rat_cnt)+1; 
				rel = rel.replace(reg_pattern, attr_txt+":"+new_rat_cnt);				
			  }			
			
			$(treeUser.link).attr('rel', rel);
		}
		$(this).parent().addClass('voted');
		return false;
	}
	
	return false;
}

function reportAbuseContent(){
	var rel = $(this).attr('rel');
	var parts = rel.split(':');
	var url = '/abuse-report/' + parts[1] + '/' + parts[2];
	showFader();
	makeAjaxUrlRequest(url, "$('#fader_load').css('display', 'none');");
	
	return false;
}


/**
 *	Ajax functions
 */
var processAjaxResponseCode = '';
var processFormSubmitCode = '';
var frameDstStatus = 'loading';
var frameDstResponse = '';
function makeAjaxRequest(e){
	var rel = $(this).attr('rel');
	var parts = rel.match(/\|ajax\:\:(.*)\:\:(.*)\|/i);
	
	makeAjaxUrlRequest(parts[1], parts[2]);

	//alert(parts)
	return false;
}

var ajaxResponse = '';
function makeAjaxUrlRequest(Url, processAjaxResponseCode, isShowPopup){
	jQuery.ajax({
		url: Url,
		type: 'post',
		data: 'is_ajax=1',
		cache: false,
		success: function(data,textStatus){
				if(isShowPopup == null || isShowPopup == true){
					showPopup(data);
				} else {
					ajaxResponse = data;
				}
				
				if(processAjaxResponseCode && processAjaxResponseCode.length > 0){
					try{ eval(processAjaxResponseCode) }
					catch(err){ 
						//alert(err); 
					}
				}
			}
	});
	//alert(parts)
	return false;
}


/**
 *	Fader
 */
var faderStatus = 'on';
function initFader(){
	if ( !$('#fader') ) return;

	// init fader opacity
	$('#fader').css({
		'opacity':0.35
	});
	
	// init close button
	$('#popup a.closeme').click( function(e){ hidePopup(); hideFader(); return false; } );

	// init esize event to resize fader to new dimensions
	$(window).resize( function(){
		if(faderStatus == 'on'){
			$('#fader').css({
				'height': $(document).height()
			});
			$('#fader_load').css({
				'top': ($(window).height() / 2) + $(document).scrollTop() + 'px'
			})
			$('#popup').css({
				'left': ( $(document).width() - 617 )/2 + 'px'
			});
		}
	});
	
	// init frame
	$('#frameDst').load( function(){
		frameDstStatus = 'ok';
		var body = window.frames['frameDst'].document.body;
		//alert($(body).html());
		if( $(body).html().length > 0 && $(body).html() != '__EMPTY__' && processFormSubmitCode.length > 0 ){
			frameDstResponse = $(body).html();
			//alert("FRAME CONTENT:\n" + frameDstResponse);
			try{ eval(processFormSubmitCode) }
			catch(err){ alert(err); }
		}
	});
}

function showFader(){
	
	$("div[id^='objFlash']").css('visibility', 'hidden');
	
	$('#fader').css({
		'height': $(document).height(),
		'display': 'block'
	});
	$('#fader_load').css({
		'top': ($(window).height() / 2) + $(document).scrollTop() + 'px',
		'display': 'block'
	});
	faderStatus = 'on';
	return false;
}

function hideFader(){
	
	$("div[id^='objFlash']").css('visibility', 'visible');
	
	$('#fader,#fader_load').css({
		'display': 'none'
	});
	faderStatus = 'off';
	return false;
}

function hideFaderLoading(){
	$('#fader_load').css({
		'display': 'none'
	});
	return false;
}

function showPopup( content ){
	hideFaderLoading();
	$('#popup').css({
		'left': ( $(document).width() - 617 )/2 + 'px',
		'top': ($(window).height() / 4) + $(document).scrollTop() + 'px',
		'display': 'block'
	});
	
	var moviesPopup = new Array();
	if(typeof('flash_counter') != 'undefined'){
		var script_match = content.match(/\<script(.*)<\/script>/m);
		while(script_match && script_match.length > 1){
			var push = script_match[1].match( /movies.push\((.*?)\)/ );
			if (push && push.length > 1){
				flash_counter++;
				eval( "var movie_params = " + push[1] + ")");
				moviesPopup.push({num: flash_counter, params: movie_params});
				
				content = content.replace(script_match[0], '<div id="objFlash' + flash_counter + '"></div>');
				script_match = content.match(/\<script(.*)<\/script>/m);
			} else { script_match = null }
		}
	}
	
	$('#popup_content').get(0).innerHTML = content;
	
	for(var i = 0; i < moviesPopup.length; i++){
		var fo =new SWFObject('/themes/posh/swf/player.swf', 'eID'+moviesPopup[i].num, '448', '396', '8,0,0,0', '#ffffff', true);
		fo.addParam('allowFullScreen','true');
		fo.addParam('allowscriptaccess','always');
		fo.addParam('scale', 'noscale');
		fo.write('objFlash'+moviesPopup[i].num);
		setTimeout( "initPopupVideo('" + moviesPopup[i].params[0] + "', '" + moviesPopup[i].params[1] + "')", 100 );
		//initPopupVideo(moviesPopup[i].params[0], moviesPopup[i].params[1]);
	}
	
	return false;
}

function initPopupVideo(videoID, videoSrc){
	var flashContainer = document.getElementById(videoID);
	flashContainer.loadFLV(videoSrc);
}


function hidePopup(){
	$('#popup').css({
		'display': 'none'
	});
	//$('#popup_content').html('');
	return false;
}

