/**
 * HKIFF Widget Javascripts
 *
 * Copyright (c) 2009 Vizztech
 */
jQuery(document).ready(function() 
{
	var d = new Date();
	var time = d.getTime();

	var ref = window.location.href;
	var qsIdx = ref.indexOf('?');
	if (qsIdx > 0)
	{
		ref = ref.substring(0, qsIdx);
	}

	// initialize calendar and countdown widget
	$('#countdown_container').load('/widget/countdown.php?nocache='+time+'&ref='+encodeURI(window.location.href));
	$('#calendar_container').load('/widget/calendar.php?nocache='+time+'&ref='+encodeURI(window.location.href));
	$('#searchform input[type=text]').each(function () {
			$(this).data('default-value', this.lang == 'en_US'?'Search':'搜尋');
		})
		.focus(function() { 
			/*
			if (this.value == $(this).data('default-value')) 
				this.value = ''; 
			*/
			this.select();
		})
		.blur(function() { 
			if (this.value == '') 
				this.value = $(this).data('default-value'); 
		});
});

function update_calendar(year, month, lang)
{
	var d = new Date();
	var time = d.getTime();
	$('#calendar_container').load('/widget/calendar.php?y='+year+'&m='+month+'&nocache='+time+'&lang='+lang);
}

var special_dates = {};

function update_special_dates(data)
{
	special_dates = data;
	$('.cal_date a', $('#calendar')).each(function() {
		$(this).tooltip({
			id: 'jtooltip',
			opacity: 1,
			fixPNG: false,
			showURL: false,
			delay: 0
		});
	});
}

function update_special_dates_2(data)
{
	special_dates = data;
	$('.cal_date a', $('#calendar')).each(function() {
		$(this)
		 .data('tooltip', $(this).attr('title'))
		 .attr('title', '')
		 .mouseover(function (e) {
			var tip = $(this).data('tooltip');
			if (tip)
			{
				$('#tooltip-container').show().html(tip);
			}
			else
			{
				$('#tooltip-container').hide().html('');
			}
		 })
		 .mouseout(function(e){
			$('#tooltip-container').html('').hide();
		 });
	});
}

/* -- */

function getSWF(movieName)
{
	if (navigator.appName.indexOf("Microsoft") != -1)
	{
		return window[movieName];
	}
	else
	{
		return document[movieName];
	}
}

function load_trailer(URL)
{
	getSWF('societyplayer').playMovie(URL);
}

function shoppingcart_submit()
{
	$('#productform').submit();
	return false;
}
/* -- */

function generic_inputform_handle_submit(sform)
{
	var d = new Date();
	var time = d.getTime();

	if (sform.isValidated)
	{
	  return true;
	}

	var URL = sform.action;

	// $('#submit_btn').attr('disabled', true);
	
	var params = $(sform).serializeArray();

	// still need file field for validation
	$(':file[value!=]', $(sform)).each(function(){
		params.push({name: this.name, value: this.value});
	});

	// reset field status
	$('div.form_error', $(sform)).css('display', 'none');
	$('.ctrl_error', $(sform)).removeClass('ctrl_error');

	$.post(URL+'?rv=1&time='+time, params, function(json)
	{
		if (json['success'])
		{
			$('#submit_btn').attr('disabled', false);
			sform.onSubmit = null;
			sform.submit();
			return true;
		}
		else
		{
			var msg = '';
			$('#submit_btn').attr('disabled', false);

			var fc = null;
			var ctrls = json['controls'];

			for (var i = 0; i < ctrls.length; i++)
			{
				var ctrl = ctrls[i];

				var oCtrl = $('#'+ctrl['id']);
				var oErr = $('#err_'+ctrl['id']);

				if (ctrl['is_error'])
				{
					if (oCtrl)
					{
						oCtrl.addClass('ctrl_error');
						if (!fc)
						{
							fc = oCtrl;
						}
					}

					if (oErr)
					{
						oErr.html(ctrl['msg']);
						oErr.css('display', 'block');
					}

					msg += ctrl['msg'] + "\n";
				}
			}

			if (fc)
			{
				fc.focus();
			}
		}
	}, 'json');
	
	return false;
}
