// JavaScript Document

var thisURL = window.location;


	var hasFlash = false;
	try {
	  var fo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
	  if(fo) hasFlash = true;
	}catch(e){
	  if(navigator.mimeTypes ["application/x-shockwave-flash"] != undefined) hasFlash = true;
	}
	

	function show_proper_upload_method(currentMethod, htmlUploadUrl1, htmlUploadUrl2)
	{

		if (currentMethod == 1)
		{
			$('#toggle-upload').html('Flash Uploader');
			$('#toggle-upload').attr('rel', 2);
			$('#toggle-upload').parents('p').children('span').html('Browser Uploader');
			$('#photo-update-form').attr('action',htmlUploadUrl1);
			$('#html_upload').css('display', 'block');
			$('.loading').css('display', 'none');
			$('#swf_upload').css('display', 'none');
			
			
		}
		else
		{
			$('#toggle-upload').html('Browser Uploader');
			$('#toggle-upload').attr('rel', 1);		
			$('#toggle-upload').parents('p').children('span').html('Flash Uploader');
			$('#photo-update-form').attr('action',htmlUploadUrl2);			
			$('#html_upload').css('display', 'none');
			$('#swf_upload').css('display', 'block');
						
		}		
		
	}
	
$(function () {

	$( '.post_photo a img' ).error
		(
			function ()
			{
				this.src = POST_PHOTO_PLACEHOLDER;
			}
		);

	$('#browse_blog_cats, #admin_blog_links').change(function(){
		
		url = $(this).val();
		
		if(url != '')
		{
			//url = 'http://' + window.location.hostname + '/' + url;
			document.location.href = url;									   
		
		}
	});
	
	$('#site-search-field').focus(function(){
	
		if ($(this).val() == 'Search') $(this).val('');
	
	});

	$('#site-search-field').blur(function(){
	
		$(this).val('Search');
	
	});
	
	$.ifixpng("/public/images/pixel.gif");
	
	$('.pngfix').ifixpng();
	
	// Make sure this page has the datepicker plugin loaded before we 
	// try to attach the widget to the appropriate elements
	if ($.fn.datepicker) {
		$(".sc-datepicker").datepicker();	
	}
	
	$('#post_classified_ad input, #post_classified_ad select').blur(function(){
		
		updateEventStartEndDates();
								   
	});
				
	$('#post_classified_ad input').click(function(){
		
		updateEventStartEndDates();
								   
	});
				
				
	if ($('#subcategory').length) {	
		makeSublist('category', 'subcategory', false);
	}
	
	if  (typeof $('.ui-state-default').live == 'function') {
/*

		$('.ui-state-default').live('mouseover', function() { $(this).addClass('ui-state-hover') });
		$('.ui-state-default').live('mouseout', function() { $(this).removeClass('ui-state-hover') });
*/

	} else {
	
		$('.ui-state-default').hover(
/*
			function() { $(this).addClass('ui-state-hover'); }, 
			function() { $(this).removeClass('ui-state-hover'); }
*/
		);

	}
	
	if (typeof $('#dialog').dialog == 'function') {
		 $('#dialog').dialog({
			autoOpen: false,
			resizable: false,
			width: 350,
			buttons: {
				"Ok": function() { 
					$(this).dialog("close"); 
				}}
		});
		 
		 $('#confirm-dialog').dialog({
			 autoOpen: false,
			 resizable: false,
			 width: 300,
			 modal: true,
			 buttons: {}
		 });
	}
	
	if (typeof bindPageEvents  == 'function') {
		bindPageEvents();
	}

	$('#deleteAccount').click(function() { 
		cancelAccount();
		return false;
	});


});

function updateEventStartEndDates()
{
	
	event_start_date = $('#event_start_date').val();
	event_end_date = $('#event_end_date').val();
	
	if (event_start_date != '' && event_end_date == '')
	{
		$('#event_end_date').val(event_start_date);
		
	}
	
	if (event_end_date != '' && event_start_date == '')
	{
		$('#event_start_date').val(event_end_date);
		
	}	
	
}
	
function cancelAccount()
{
	var buttonObj = {};
	buttonObj[SC_COMMON_TEXT_CANCEL] = function() { $(this).dialog("close"); };
	buttonObj[SC_COMMON_TEXT_DELETE] = function() { doCancelAccount(); $(this).dialog("close"); };
	
	$('#confirm-dialog').dialog('option', 'buttons', buttonObj);
	showConfirmation(SC_COMMON_TEXT_DELETE_CONFIRM, SC_COM_OPERATION_UNDOUBLE + '. ' + SC_COMMON_TEXT_DELETE_CONFIRM);
}
function doCancelAccount()
{
	window.location = "/user/account/cancel";
}

function sendShout()
{
	var messageVal = $('#message').val();	

	if (messageVal != '' && messageVal != defaultMessage) {

		$.post(
			"/groups/shout",
			$('#shoutform').serialize(),
			function (json) {

				if ( ! json || ! json.success) {

					showCommonError('Error', json.message);
				
				} else {
				
					$('.new_to_shout').remove();
					$('#new-shout-here').before(json.html);
					$('#message').val(defaultMessage);
					addShoutsBorder();


				}
		   },
		   "json"
	   );
	}	
}

function changeLanguage(obj)
{
	//$("#backToUrl").val(thisURL);
	//$("#change-language").submit();
		
} 

function waitThenfadeOut(obj, callback)
{
	var t = setTimeout(
		function(){
			$(obj).fadeOut(500, 0);
			
			if (callback) {
			
				callback(obj);
			}
		},
		5000
	);
	
	return t;
}

function confirmation(msg)
{
	$('#dialog').html(msg);
	buttons = {};
	buttons[SC_COMMON_TEXT_POST] = function(){$(this).dialog("close");return true; };
	buttons[SC_COMMON_TEXT_CANCEL] = function(){$(this).dialog("close");return false; };
	$('#dialog').dialog({
		resizable: false,
		height: "125px",
		width: "285px",
		buttons: buttons		 
	});
}

function ajaxCall(url ,obj)
{
	var confirm_dialog = {};
	
	confirm_dialog[SC_COMMON_TEXT_CANCEL] = function() {
		$(this).dialog("close");
	};
	
	confirm_dialog[SC_COMMON_TEXT_OK] = function() {
		$.ajax({
			type: "POST",
			url: url,			 
			success: function(msg) {	
				var parent_obj =$(obj).parent().parent().parent();
				$(parent_obj).html(createUIMessasge(SC_COMMON_TEXT_SUCLY_DELETED, 'success', 'red'));
				waitThenfadeOut($(parent_obj).parent());
			}
		}); 	
	
		$(this).dialog("close");
	};

	$('#confirm-dialog').dialog('option', 'buttons', confirm_dialog);
	
	showConfirmation(SC_COMMON_TEXT_DELETE_COMMENT, SC_COMMON_TEXT_DELETE_COMMENT_CONF);	
}

function success(message,title)
{
	var title	 = title   || 'Success!';
	var message = message || 'Operation successfull!';
	showCommonDialog(title, message, 'check');
} 

function refreshDialogCont(dontClose)
{
	$('#dialog').html('<div class="ajax-loader-img"><img src="/public/images/ajax-loader.gif" /></div>');
	//$('img.ajax-loader-img').ifixpng();
	if(dontClose != 'dontClose')
	{
		$('#dialog').dialog("close");
	}
}

function dialogContBusy()
{
	$('#dialog').append('<div id="dialog-busy-cont"><div class="ajax-loader-img"><img src="/public/images/ajax-loader.gif" /></div><div class="blocker"><div></div></div></div>');
	//$('img.ajax-loader-img').ifixpng();
}

function dialogContIdle()
{
	$('#dialog-busy-cont').remove();
}

function makeSublist(parent, child, isSubselectOptional)
{
	$("body").append("<select style='display:none' id='"+parent+child+"'></select>");
	$('#'+parent+child).html($('#'+child+' option'));
	
	var parentValue = $('#'+parent).val();
	var childVal	= $('#'+child).val();
	
	$('#'+parent).change(
		function()
		{
			var parentValue = $('#'+parent).attr('value');
			$('#'+child).html($('#'+parent+child+' .sub_'+parentValue).clone());
			if(isSubselectOptional) $('#'+child).prepend("<option selected value=''>-- Select --</option>");
			
			// Hide the sub list is if no child cat exist
			if($('#'+child + ' option').length > 1)
			{
				$('#'+child).show().focus();
				$('#subcategory-label').show();
			}	
			else
			{			 
				$('#'+child).hide();				
				$('#subcategory-label').hide();				   
			}	
		}
	);
	
	$('#'+parent).val(parentValue).trigger('change');
	childVal = (typeof childVal == 'undefined')? false : childVal ;
	if(childVal)
		$('#'+child).val(childVal);
}

// Bind event for removing default text of a text field
function removeDefaultText(field, DefaultText){
	$(field).focus(function(){
		if($(field).val() == DefaultText)
			$(field).val('');	
	})
	$(field).blur(function(){
		if($(field).val() == '')
			$(field).val(DefaultText);	
	})
}


//Create jQuery UI style message
function createUIMessasge(message, type, color)
{
	// Create variables
	var type	= type	  || 'success';
	var color	= color	  || '';
	var icon	= (type == 'error')? 'circle-close' : 'check';
	var state	= (type == 'error')? 'error' : 'highlight';

	// build the html string
	msg  = '<div class="ui-widget ui-msgbox ui-msg-'+ type +'">';
	msg += '<div class="ui-state-'+ state +' ui-corner-all">'; 
	msg += '<p><span class="ui-icon ui-icon-'+ icon +'"/>';
	msg += '<font color="' + color + '">' + message + '</font></p></div></div>';

	return msg;
}

// Change a group members status
function changeMemberStatus(memberId, status, groupUrl)
{
	$.post(
		"/groups/"+ groupUrl +"/admin/editstatus",
		{
			member: memberId,
			status: status
		},
		function(json) {

			if ( ! json || json.result != true) {

				fadeInMsg(json.message, 'error', 'red');

			} else {
						
				fadeInMsg(json.message, 'success', 'green');
				$(currentBox).addClass('ui-state-highlight');
			}			
		},
		"json"
	);
}

// Show message on dialog box with icons
function showCommonDialog(title, message, icon) {
	var title	= title	  || 'Error!';
	var message = message || 'Something was wrong! Please try again later.';
	var icon	= icon	  || 'info';
	var iconspan	= '<span style="margin: 0pt 7px 50px 0pt; float: left;" class="ui-icon ui-icon-'+ icon +'"> </span>';
	   
	$('#dialog').dialog('option', 'title', title);
	$('#dialog').html('<p>' + iconspan + message + '</p>').dialog('open');
}

function showCommonError(title, message)
{
	var title	 = title   || 'Error!';
	var message = message || 'Something was wrong! Please try again later.';
	showCommonDialog(title, message, 'circle-close');
}

function showCommonSuccess(title, message) {

	var title	 = title   || 'Success!';
	var message = message || 'Operation successfull!';
	showCommonDialog(title, message, 'check');
}

function showConfirmation(title, message) {

	var title	 = title   || 'Warning!';
	var message = message || 'Are you sure to do this?';
	var iconspan	= '<span style="margin: 0pt 7px 50px 0pt; float: left;" class="ui-icon ui-icon-alert"> </span>';
	
	$('#confirm-dialog').dialog('option', 'title', title);
	$('#confirm-dialog').html('<p>' + iconspan + message + '</p>').dialog('open');
}

function progressBar(title) {

	var title = title || 'Please Wait...';
	var iconspan = '<img src="/public/images/ajax-loader.gif" />';
	$('#confirm-dialog').dialog('option', 'buttons', {});
	$('#confirm-dialog').dialog('option', 'title', title);
	$('#confirm-dialog').html('<p>' + iconspan + '</p>').dialog('open');
}

function progressBarClose()
{
	$('#confirm-dialog').dialog('close');
}

function showDilogImage(url, title, msg) {
	var heading = '';
	if (msg && title) {
		heading = title + msg + '<br><br>';
	}	
	var html = heading+'<div class="large-indv-img"><img alt="" src="'+url+'"> </div>';
	$('#confirm-dialog').dialog('option', 'title', title);
	$('#confirm-dialog').html('<p>' + html + '</p>').dialog('open');
}

function addOddElementClass(parentElement, element, className) {

	if (element !='') {
	
		$(parentElement+":odd").find(element).addClass(className);		

	} else {
	
		$(parentElement+":odd").addClass(className);	
	}
}

function addEvenElementClass(parentElement, element, className) {

	$(parentElement+":even").find(element).addClass(className);

	if (element != '') {

		$(parentElement + ":even").find(element).addClass(className);		

	} else {

		$(parentElement + ":even").addClass(className);	

	}
}

function addCommentsBorder()
{
	addOddElementClass(".comment-tr",".comment-bg" ,"comment-bg-odd");
	addEvenElementClass(".comment-tr",".comment-bg" ,"comment-bg-even");
}

function addGroupCommentsBorder()
{
	addOddElementClass(".comment-tr","" ,"odd");
	addEvenElementClass(".comment-tr","" ,"even");
}
function addShoutsBorder()
{
	addOddElementClass(".shouts-tr","" ,"odd");
	addEvenElementClass(".shouts-tr","" ,"even");	
}
function fadeInMsg(message, type, color,element)
{
	var element   = element || "#fade_msg_cont";
	$(element).html(createUIMessasge(message, type, color));
	waitThenfadeOut($(element));
	
}
function uiProgressBar(obj)
{
	$(obj).progressbar({ value: 37 });

	var value = $($(obj)).progressbar('option', 'value');
	$($(obj)).progressbar('option', 'value', 47);
}
