/**
 * Flash Message Utilities
 */
var blockmessage	= '<center>Processing request, please wait ...<br/><img src="/images/loadingAnimation.gif"></center>';
var blockcss		= { border: 'none', padding: '10px', /*backgroundColor: '#000', */ '-webkit-border-radius': '10px', '-moz-border-radius': '10px' , opacity: '.95' /*, color: '#fff'*/ };
var blockoverlayCSS		= { backgroundColor:'#000000', opacity: '.25'};

function blockXHR()
{
	jQuery.blockUI({
		//message: null
		message: blockmessage,
		css: blockcss,
		overlayCSS: blockoverlayCSS 
	});
}

function toggleFlashMessage(state)
{
	var fc = jQuery('div#flash_container');
	if (state == 'show')
		fc.show();
	else
		fc.hide('highlight', {}, 500, function(){});
}

function toggleMarker(el)
{
	var checked_status = el.checked;
	$("input.marked").each(function()
	{
		this.checked = checked_status;
	});			
}

/**
 * Custom AJAX
 */

function getXHR(obj, url)
{
	jQuery('#flash_container').hide();
	jQuery(obj).html('');
	//eval('jQuery(\''+obj+'loader\').show()');
	jQuery.get(url);
	
}

function setFlashXHR(fType, fMessage)
{
	
	jQuery('div#flash_container').hide();

	jQuery('#flash_container_inner').removeClass('error');
	jQuery('#flash_container_inner').removeClass('success');
	jQuery('#flash_container_inner').removeClass('notice');

	jQuery('#flash_content').removeClass('error-message');
	jQuery('#flash_content').removeClass('success-message');
	jQuery('#flash_content').removeClass('notice-message');
	
	jQuery('#flash_container_inner').addClass(fType);
	jQuery('#flash_content').addClass(fType+'-message');
	if(fMessage != ''){
		jQuery('#flash_content').html(fMessage);
	}
	toggleFlashMessage('show');	
}

//var mmInt = null;
//var baseSuffix = ' (?)';
//
//$(document).ready(function(){
//	if (typeof(_ibx_cnt) != 'undefined'){
//		if (_ibx_cnt > 0)
//			$('#menu_text_message').get(0).innerHTML += baseSuffix.replace(/\?/, _ibx_cnt);
//		
//		var baseUrl = _http_host + 'pm/xhr_inbox_counter.html?id=' + _user_id;
//		mmInt = setInterval(function(){
//			$.get(baseUrl, function(data){
//				if (data != _ibx_cnt){
//					updateMenuMessage(data);
//					updateNotificationMessage(data);
//					_ibx_cnt = data;
//				}
//			});
//		}, 5000);
//	}
//});

function updateMenuMessage(data){
	var suffix = baseSuffix.replace(/\?/, data);
	var text = $('#menu_text_message').get(0).innerHTML;
	if (text.search(/[\(\d\)]+/) != -1)
		$('#menu_text_message').get(0).innerHTML = text.replace(/[\(\d\)]+/, suffix);
	else
		$('#menu_text_message').get(0).innerHTML = text + suffix;
		
	$('#menu_text_message').effect('highlight', {color: 'red'});
	
}

/**
 * Wizard Utilities
 */
function loadnext(divout,divin){
	var hidden = $('#redirect').get(0);
	hidden.value = hidden.value.search(/\?section/ig) != -1 ?
		hidden.value.replace(/section=\d+$/ig, "section=" + divin) : hidden.value += "?section=" + divin; 
	
	$("." + divout).hide();
	$("." + divin).fadeIn("fast");
}

function goToPhoto(albumId, photoId){
	location.href = _http_host + 'gallery/view_album/id/' + albumId + '/pid/' + photoId + '.html';
}

function loadDashboardContent(dashTarget, context, uri, title){
	var baseUrl = _http_host + 'dashboard/xhr_request_excerpt.html?exc=';		
	var heading	= dashTarget.find('h3');
	var dtlLink	= dashTarget.find('a.dtl-link');
	var body		= dashTarget.find('.bl');
	var footer	= dashTarget.find('.ft');
	
	heading.toggleClass('loading');
	body.load(baseUrl + context, function(){ 
		heading.html(title);
		heading.toggleClass('loading');
	});
	
	if (footer.length > 0){
		if (uri.search(/.html$/ig) == -1)
			dtlLink.hide();
		else{
			dtlLink[0].href = uri;
			dtlLink.show();
		}
	}
}

function showCpMenu(pos){
	var menu 	= $('#cp_menu');
	var xVal 	= pos.left - menu.width() + 'px';
	var yVal	= pos.top + 'px';
	menu.css({ left : xVal, top : yVal }).show();
}

function placeDashboardWatcher(target, context, uri){
	var dbox = $('#' + target);
	wti[target] = setInterval(function(){
		var title		= dbox.find('h3').html();
		loadDashboardContent($('#' + target), context, uri, title);
	}, 20000);
}
 
function updateNotificationLabel(id, txt){
	if ($('#' + id).length > 0){
		$('#' + id).get(0).innerHTML = $('#notif_message').get(0).innerHTML.replace(/[\d]+/, txt);
		$('#' + id).effect('highlight', {color: 'red'});
	}
}

function sendNudge(domChunk){
	var qs = $(domChunk).get(0).href.split('/');
	var recipient = qs[(qs.length - 1)].replace(/.html$/ig, '');
	var baseUrl = _http_host + 'nudge/xhr_send.html?from=' + _user_name + '&to=' + recipient;
	
	$.get(baseUrl, function(data){
		var message = data.split('|');
		setFlashXHR(message[0], message[1]);
	});
}

function makeBookmark(username){
	var baseUrl = _http_host + 'bookmark/xhr_create.html?username=' + username;
	$.get(baseUrl, function(data){
		var message = data.split('|');
		setFlashXHR(message[0], message[1]);
	});
}

$(document).ready(function(){
	if(hasFlash==true){
	  toggleFlashMessage('show');	
	};
	jQuery('a#close-flash').click(function(){
		toggleFlashMessage('hide');	
		return false;
	});
});

/**
 * Gallery : Form
 * Utilities
 */
var delay = 500;
var toDelay = 1000;

$(document).ready(function(){
	if ($("#toggleGalleryForm").length > 0){
		$("#toggleGalleryForm").click(function() { 
		  if ($("#uploader_container").get(0).style.display == 'block'){
				$("#uploader_container").toggle("blind", { 
			      direction: "vertical" 
			  }, 
			  delay); 
			}
		  
		  $("#gallery_form").toggle("blind", { 
		      direction: "vertical" 
		  }, 
		  delay); 
		});
	}
});

$(document).ready(function(){
	if ($("#toggleUploadForm").length > 0){
		$("#toggleUploadForm").click(function(){
			if ($("#gallery_form").get(0).style.display == 'block'){
				$("#gallery_form").toggle("blind", { 
			      direction: "vertical" 
			  }, 
			  delay); 
			}
		  
			$("#uploader_container").toggle("blind", { 
		      direction: "vertical" 
		  }, 
		  delay); 
		});
	}
});

$(document).ready(function(){
	if ($("#file1").length > 0){
		$("#file1").MultiFile({
			STRING: {
				remove: 'x',
				selected: 'Pilihan: $file',
				denied: 'Ekstensi $ext tidak diharapkan! Harap ulangi kembali.',
				duplicate: 'Gambar $file sudah dipilih'
			}
		});
	}
});

$(document).ready(function(){
	if ($('#photos_check_all').length > 0){
		$('#photos_check_all').click(function(){
			var check_status = $('#photos_check_all').get(0).checked;
			$('.photo-check').each(function(){
				this.checked = check_status;
			});
		});
	}
});

$(document).ready(function(){
	$("#album_change").change(function(){
		var baseUrl = _http_host + 'photos/manage_photo/do/list_photo/id/?.html';
		location.href = baseUrl.replace(/\?/, this.value);
	});
});

$(document).ready(function(){
	if ($('#photo_dest_ask').length > 0){
		$('#photo_dest_ask').change(function(){
			var sel = this.value;
			switch (sel){
				case '2':
					var photo_dest_ans = $('#photo_dest_ans');
					photo_dest_ans.show();
					break;
				default:
					$('#photo_dest_ans').hide();
					break;
			}
		});
	}

	if ($('#photo_go').length > 0){
		$('#photo_go').click(function(){
			var baseUrl = _http_host + 'photos/execute_photos.html?';
			
			var rid = $('#album_id').get(0).value;
			baseUrl += '&rid=' + rid;			
			
			var sel = $('#photo_dest_ask').get(0).value;
			switch (sel){
				case '2':
					var aid = $('#photo_dest_ans').get(0).value;
					baseUrl += '&act=move&aid=' + aid;
					break;
				default:
					baseUrl += '&act=delete';
					break;
			}
			
			var chks = '';
			var pcks = $('.photo-check');
			
			for (var i = 0; i < pcks.length; i++){
				if (pcks.get(i).checked === true){
					if (i > 0 && chks.length > 0) chks += ',';
					var id = pcks.get(i).id.substring(this.id.lastIndexOf('_')).replace(/\_/, '');
					chks += id;
				}
			}
			
			if (chks.length == 0){
				alert ('Mohon pilih gambar terlebih dahulu');
				return false;	
			}
			else{
				baseUrl += '&ids=' + chks;
				location.href = baseUrl;				
			}
			
			return false;
		});
	}
	
});

//$(document).ready(function(){
//	var baseUrl = _http_host + 'photos/xhr_delete_photo.html?id=';
//	$('a.photo-delete').click(function(){
//		var id = this.id.substring(this.id.lastIndexOf('_')).replace(/\_/, '');
//		
//		baseUrl = baseUrl + id;
//		$.get(baseUrl, function(data){
//			
//		});
//		
//		return false;
//	});
//});

/**
 * Public Gallery Utilities
 */
$(document).ready(function(){
	if ($('#gallery-adv').length > 0){
		var onMouseOutOpacity = 0.67;
		var gallery = $("#gallery-adv").galleriffic("#thumbs-adv", {
        delay:                  2000,
					numThumbs:              7,
					preloadAhead:           10,
					enableTopPager:         true,
					enableBottomPager:      true,
					imageContainerSel:      '#slideshow-adv',
					controlsContainerSel:   '#controls-adv',
					captionContainerSel:    '#caption-adv',
					loadingContainerSel:    '#loading-adv',
					renderSSControls:       true,
					renderNavControls:      true,
					playLinkText:           'Jalankan Slideshow',
					pauseLinkText:          'Hentikan Slideshow',
					prevLinkText:           '&lsaquo; Foto Sebelumnya',
					nextLinkText:           'Foto Selanjutnya &rsaquo;',
					nextPageLinkText:       'Selanjutnya &rsaquo;',
					prevPageLinkText:       '&lsaquo; Sebelumnya',
					enableHistory:          true,
					autoStart:              false,
					onChange:               function(prevIndex, nextIndex) {
						$('#thumbs-adv ul.thumbs').children()
							.eq(prevIndex).fadeTo('fast', onMouseOutOpacity).end()
							.eq(nextIndex).fadeTo('fast', 1.0);
					},
					onTransitionOut:        function(callback) {
						$('#slideshow-adv, #caption-adv').fadeOut('fast', callback);
					},
					onTransitionIn:         function() {
						$('#slideshow-adv, #caption-adv').fadeIn('fast');
					},
					onPageTransitionOut:    function(callback) {
						$('#thumbs-adv ul.thumbs').fadeOut('fast', callback);
					},
					onPageTransitionIn:     function() {
						$('#thumbs-adv ul.thumbs').fadeIn('fast');
					}
    });
	}
});
	
jQuery(document).ready(function(){
	if (jQuery("#album_navigation").length > 0){
		jQuery("#album_navigation").change(function(){
			if (this.value)
				location.href = _http_host + 'gallery/view_album/id/' + this.value + '.html';
		});
	}
});

/**
 * User's Control Panel Utilities
 */
var activeTarget;
var wti = {};
$(document).ready(function(){
	var baseUrl = _http_host + 'dashboard/xhr_request_excerpt.html?exc=';
	var baseCaller = 'dashboard_box_';
	
	if ($('.cp-menu-options').length > 0){
		$('.cp-menu-options').click(function(){
			var context = this.id.split('_')[1];
			var title		= $(this).find('span').html();
			
			setActiveDashboard(activeTarget, $(this));
			loadDashboardContent($('#' + activeTarget), context, this.href, title);
			clearInterval(wti[activeTarget]);
			wti[activeTarget] = placeDashboardWatcher(activeTarget);
			
			$('#cp_menu').hide();
			return false;
		});
	}
	
	if ($('.menutoggle').length > 0){
		$('.menutoggle').click(function(){
			this.blur();
			activeTarget = baseCaller + this.id.split('_')[1];
			showCpMenu($(this).offset({ scroll : 'false' }));
			return false;
		});
	}
	
	if ($('#cp_menu').length > 0){
		$('body').click(function(){
			$('#cp_menu').hide();
		});
	}
	
	if ($('#dashboard_box_1').length > 0){
		loadDashboardContent($('#dashboard_box_1'), 'new', 'search/newprofiles.html', 'Profil Terbaru');
		placeDashboardWatcher('dashboard_box_1', 'new', 'search/newproifles.html');
	}
});

/**
 * Browse Profile Utilities
 */
$(document).ready(function(){
	if ($('#profile_tool').length > 0 && $('#tool_interact').length > 0){
		var tool = {
			'nudge' : $('#tool_interact').find('#inter_nudge'),
			'bookmark' : $('#profile_tool').find('#inter_bookmark')
		};
		if (tool.nudge.length > 0){
			tool.nudge.click(function(){
				sendNudge(this);
				return false;
			});
		}
		if (tool.bookmark.length > 0){
			tool.bookmark.click(function(){
				makeBookmark(_page_owner);
				return false;
			});
		}
	}
});

$(document).ready(function(){
	var baseUrl = _http_host + 'sfComment/xhr_request.html';
	var container = 'sf_comment_';
	var comCont = 'sf_comment_content_';
	
	$('.comment-edit').click(function(){
		if (akedit.length > 0){
			var id 	= this.id.substring(this.id.lastIndexOf('_')).replace(/\_/, '');
			var url = baseUrl + '?act=edit&id=' + id;
			akedit(url, comCont + id, {
				type: 'textarea',
				name : 'edit_comment',
				submit: 'Kirim',
				cancel : 'Batal'
			});
		}
		
		return false;
	});
	
	$('.comment-del').click(function(){
		var id = this.id.substring(this.id.lastIndexOf('_')).replace(/\_/, '');
		$('#' + comCont + id).get(0).style.background = '#F7F7F7';
		
		$.get(baseUrl + '?act=delete&id=' + id, function(data){
			if (data == 'true')
				$('#' + container + id).toggle("blind", { direction: "vertical" }, 500);
		});
		
		return false;
	});
});

/**
 * Profile List Utilities
 */
$(document).ready(function(){
	if ($('.msg-tool-nudge').length > 0){
		$('.msg-tool-nudge').click(function(){
			sendNudge(this);	
			return false;
		});
	}
	
	if ($('.tool-bookmark').length > 0){
		$('.tool-bookmark').click(function(){
			var username = this.href.substring(this.href.lastIndexOf('/') + 1).replace(/.html$/ig, '');	
			makeBookmark(username);
			return false;
		});
	}
});

/**
 * Force cryptogram auto-refresh
 */
$(document).ready(function(){
	if ($(".cryptorld").length > 0){
		$(".cryptoimg").each(function(){
			var url = _http_host + '/cryptographp/index/id/' + Math.round(Math.random(0) * 1000) + 1 + '.html';
			this.src = url;
		});
	}
});

/**
 * Auto scroll to last message (used in pm inbox page)
 */
$(document).ready(function(){
	if ($("#pm_show").length > 0){
		if (_lm && _lm > 0){
			var pos = $("#pm_" + _lm).position();
			window.scrollTo(0, pos.top);
		}
	}
});

/**
 * Get Total Active Member For Frontpage Purpose
 */
//$(document).ready(function(){
//	if ($('#total_member').length > 0){
//		totalMember.init();
//	}
//});

/**
 * Tabs
 */
$(document).ready(function(){
	if ($('.love-tabs').length > 0){
		$('.tab-menu').find('li').click(function(){
			loveTab.activateTab(this);
			return false;
		});
	}
});

/**
 * Auto load user site activity window
 */
$(document).ready(function(){
	if ($('#user_site_activity').length > 0){
		var baseUrl = _http_host + 'loveLogActivity/xhrListEvents.html';
		$('#user_site_activity').load(baseUrl);
	}
});

/**
 * Main Menu
 */
$(document).ready(function(){
	if ($('#mainmenu').length > 0){
		/**
		 * Mouse over
		 */
		var topMenu = $('#mainmenu').find('ul');
		topMenu.find('li').mouseover(function(){
			showSubMenu(this);
		});
		
		/**
		 * Click
		 */
		topMenu.find('a').click(function(){
			deleteCookie('activeMenu');
			setCookie('activeMenu', getActiveMenu(this), 1);
		});
	}
});

/**
 * Messaging Utilities
 */
$(document).ready(function(){
	if ($('#marker').length > 0){
		$('#marker').click(function(){
			toggleMarker(this);
		});
	}
	
	if ($('.inter-nudge').length > 0){
		$('.inter-nudge').click(function(){
			sendNudge(this);
			return false;
		});
	}
});

/**
 * Messaging Utilities
 */
$(document).ready(function(){
	if ($('#quick_search_ip').length > 0){
		$('#quick_search_toggler').click(function(){
			var new_prefix = $('#title_prefix').html() == '+' ? '-' : '+';
			$('#title_prefix').html(new_prefix);
			$('#user_quick_search.search-inside').slideToggle('normal');
			this.blur();
			return false;
		});
	}	
});

/**
 * Notification Box
 */
$(document).ready(function(){
	if ($('#notification').length > 0)
		profileNotification.init();
});

/**
 * Activate Global Button
 */
$(document).ready(function(){
	$('.submit').click(function(){
		forceSubmit(this);
		return false;
	});
});

window.onload = function(){
	setActiveMenu();
}