var pages = new Array('viewCategoryPage', 'viewEcardPage', 'sendEcardPage', 'homePage');

var order = 'id';
var order_type = 'DESC';
var current_page = 'viewCategoryPage';
var current_ecard;
var current_back;
var current_back_image;
var current_category = '0';

var x = 0;
var errors = new Array();
function toTop() {
	//$('html, body').animate({scrollTop:0}, 'slow');
}
// admin
function edit(id, img, title) {
	jQuery("#editDiv").show();
	jQuery("#editTitle").val(title);
	jQuery("#editID").val(id);
	jQuery("#editImg").attr('src', "file/pic/ecards/thumb_" + img);
}

// main page

function changePage(id) {
	if(id == 'homePage') {
		current_ecard = '';
		current_category = '';
	}
	bCrumb();
	for(i = 0; i < pages.length; i++) {
		if(pages[i] != id) {
			jQuery('#'+pages[i]).hide();
		} else {
			jQuery('#'+pages[i]).show();
		}
	}
}

function jsonDecode(jO) {
	return eval('(' + jO + ')');
}
function addBox(id, image, title, viewed) {
	if(title.length > 10 ) {
		title = title.substr(0, 10) + " ...";
	}
	var box = '<div class="ecardBox"><a href="javascript:void(0)" onclick="viewEcard(' + id + ')"><img src="file/pic/ecards/' + image + '" width="100" height="75" /></a><h3><a href="javascript:void(0)" onclick="viewEcard(' + id + ')">' + title + '</a></h3><span style="text-align:center; font-size:80%">view : '+ viewed +'</span></div>';
	jQuery("#ecardBoxes").append(box);
}
function updatePagination($html) {
	jQuery("#pagination").html($html);
}
function loading() {
	jQuery("#ecardLoading").show();
	jQuery("#ecardMainContent").hide();
}
function floading() {
	jQuery("#ecardLoading").hide();
	jQuery("#ecardMainContent").show();
}
function updateBoxes(jO) {
	ecards = jsonDecode(jO);
	jQuery("#ecardBoxes").html(' ');
	if(ecards.length == 0) {
		jQuery("#ecardBoxes").html('<h3>No E-Card found !</h3>');
	}
	for(i = 0; i < ecards.length; i ++) {
		addBox(ecards[i]['id'], ecards[i]['image'], ecards[i]['title'], ecards[i]['viewed']);
	}
}
function updateOrder(new_order) {
	if(order == new_order) {
		if(order_type == 'DESC') {
			order_type = 'ASC';
		} else {
			order_type = 'DESC';
		}
	} else {
		order = new_order;
		order_type = 'DESC';
	}
	getEcardsFromCategory(current_category, 1);
}
function getEcardsFromCategory(id, page) {
	loading();
	current_category = id+'';
	current_ecard = '';
	current_page = 'viewCategoryPage';
	changePage("viewCategoryPage");
	xajax_getEcardsFromCategory(id, page, order + " " + order_type);
	toTop();
}
// view ecard

function showFile(ecard, P) {
	x++;
	$('#ecardFile').html('');
	if(ecard['file'].substring(ecard['file'].length - 3) == 'swf') {
		$('#ecardFile' + P).flash({
			src: 'file/pic/ecards/'+ecard['file'],
			width: ecard['width'],
			height: ecard['height']
		});
	} else {
		img = new Image();
		img.src = 'file/pic/ecards/' + ecard['file'];
		$(img).ready(
			function () {
				$('#ecardFile' + P).html('<img id="xImg' + x + '" src="file/pic/ecards/' + ecard['file'] + '" />');
			}
		);
	}
}
function viewEcard(id) {
	current_ecard = id;
	loading();
	xajax_viewEcard(id);
	tinyMCE.activeEditor.setContent('');
	toTop();
}

function updateEcard(jO) {
	ecard = jsonDecode(jO);
	showFile(ecard, '');
	current_ecard_name = ecard['title'];
	current_page = 'viewEcardPage';
	changePage("viewEcardPage");
	jQuery("#ecardSender").hide();
	jQuery("#ecardPreviewButton").hide();
	jQuery("#ecardBacksDiv").hide();
	jQuery("#ecardMessageEditor").hide();
	jQuery("#ecardMessage").show();
	jQuery("#ecardTitle").show().html(ecard['title']);
	jQuery("#ecardTitleData").html(ecard['title']);
	jQuery("#ecardData").show();
	jQuery("#makeButton").show();
	jQuery("#ecardViewed").html(ecard['viewed']);
	jQuery("#ecardSent").html(ecard['sent']);
	jQuery("#ecardRatedData").html(ecard['rated']);
	jQuery("#ecardPoint").html(ecard['point']);
	jQuery("#ecardBackImg").attr('style', 'background-image:none');
	jQuery("#starRating").stars("select", Math.round(ecard['point']*10)/10);
	floading();
}

// makeItem
function makeItem() {
	jQuery("#ecardSender").hide();
	jQuery("#ecardBacksDiv").show();
	jQuery("#ecardData").hide();
	jQuery("#makeButton").hide();
	jQuery("#ecardTitle").hide();
	jQuery("#ecardMessageEditor").show();
	toTop();
}
function choseBack(id, image) {
	current_back = id;
	current_back_image = image;
	jQuery("#ecardBackImg").attr('style', 'background-image:url(file/pic/ecards/'+ image +')');
}
function ecardPreview() {
	jQuery("#ecardSender").show();
	jQuery("#ecardBacksDiv").hide();
	jQuery("#ecardMessageEditor").hide();
	jQuery("#ecardPreviewButton").show();
	jQuery("#ecardMessage").show().html(tinyMCE.activeEditor.getContent({format : 'raw'}));
	showFile(ecard, '');
	toTop();
}
function ecardEdit() {
	changePage("viewEcardPage");
	jQuery("#ecardSender").hide();
	jQuery("#ecardBacksDiv").show();
	jQuery("#ecardMessageEditor").show();
	jQuery("#ecardPreviewButton").hide();
	jQuery("#ecardData").hide();
	showFile(ecard, '');
	toTop();
}

// send ecard
function choseSendType(a) {
	jQuery("input:radio[name=sendType]").each(
				  function(i){
				 	 if(jQuery(this).attr('value') == a) {
							jQuery(this).attr('checked','checked');
					 } else {
							jQuery(this).removeAttr('checked');
					 }
				  }
			);
}
function ecardContinue() {
	if(logged_in == 0) {
		xajax_tmpSave(current_ecard, current_ecard_name, tinyMCE.activeEditor.getContent({format : 'raw'}), current_back, current_back_image);
		return;
	}
	$("#pickupEcard").hide();
	$("#makeEcard").show();
	jQuery("#ecardMainSend").show();
	jQuery("#ecardMessageE").hide();
	jQuery("#ecardMessageOK").hide();
	changePage("sendEcardPage");
	$('#ecardFile').html('');
	$('#ecardFileP').html('');
	toTop();
}
function showError() {
	var a = '';
	for(i = 0; i < errors.length; i++) {
		a += "<li>"+errors[i]+"</li>";
	}
	jQuery("#ecardMessageE").show().html(a);
}
function ecardDone() {
	jQuery("#ecardMessageE").hide();
	jQuery("#ecardMainSend").hide();
	jQuery("#ecardMessageOK").show();
}
function ecardSend() {
	jQuery("#ecardMessageE").hide();
	errors = new Array();
	var ecardFrom = jQuery("#ecardFrom").val();
	var sendType = jQuery("input[name=sendType]:checked").val();
	var sendTime = jQuery("input[name=sendTime]:checked").val();
	var sendTo = '';
	//var hour = jQuery("#ecardHour").val();
	//var minute = jQuery("#ecardMin").val();
	var hour = 1;
	var minute = 1;
	
	var date = jQuery("#ecardSendTime").val();
	var notify = jQuery("input[name=ecardNotify]:checked").val();
	if(notify != 1) {
		notify = 0;
	}
	if(sendType == 'email') {
		sendTo = jQuery("#ecardToEmail").val();
	} else if(sendType == 'user') {
		sendTo = jQuery("#ecardToUser").val();
	} else {
		errors[errors.length] = 'Enter receiver\'s email or username';
	}
	if((sendType == 'email' || sendType == 'user') && sendTo.length == 0) {
		errors[errors.length] = 'Enter receiver\'s email or username';
	}
	if(sendTime != 'date' && sendTime != 'now') {
		errors[errors.length] = 'Chose when to send this ecard';
	}
	if((hour == '' || minute == '' || hour == 0 || minute == 0 || date == '') && sendTime == 'date') {
		errors[errors.length] = 'Chose when to send this ecard';
	}
	if(errors.length == 0) {
		loading();
		if(sendTime == 'date') {
			var time = hour + "|" + minute + "|" + date;
		} else {
			var time = 'now';
		}
		xajax_createItem(current_ecard, tinyMCE.activeEditor.getContent({format : 'raw'}), current_back, sendType, sendTo, time, notify, ecardFrom);
	} else {
		showError();
	}
}
function watchEcard(message, image, file, width, height, ecard_id, ecard_name, back_id) {
	current_ecard = ecard_id;
	current_ecard_name = ecard_name;
	current_back = back_id;
	current_back_image = image;
	$("#pickupEcard").show();
	$("#makeEcard").hide();
	ecard = new Array();
	ecard['file'] = file;
	ecard['width'] = width;
	ecard['height'] = height;
	current_page = 'pickupEcardPage';
	jQuery("#ecardMessageP").show().html(message);
	jQuery("#ecardBackImgP").attr('style', 'background-image:url(file/pic/ecards/'+ image +')');
	showFile(ecard, 'P');
}
function bCrumb() {
	var breadcrumb = '<a href="javascript:void(0)" onclick="changePage(\'homePage\')">Home</a>';
	if(current_category != '' && current_category != null) {
		title = jQuery("a#link_to_category_"+current_category).html();
		breadcrumb += ' >> <a href="javascript:void(0)" onclick="getEcardsFromCategory(' + current_category + ')">' + title + '</a>';
	}
	if(current_ecard != '' && current_ecard != null) {
		breadcrumb += ' >> <a href="javascript:void(0)" onclick="viewEcard(' + current_ecard + ')">' + current_ecard_name + '</a>';
	}
	jQuery("#breadcrum").html(breadcrumb);
}
function viewAll(type) {
	if(type == 'most_viewed') {
		order = 'viewed';
		order_type = 'DESC';
		getEcardsFromCategory(0);
	} else if(type == 'featured') {
		order = 'id';
		order_type = 'DESC';
		getEcardsFromCategory(-1);
	} else if(type == 'popular') {
		order = 'popular';
		order_type = 'DESC';
		getEcardsFromCategory(0);
	} else if(type == 'rated') {
		order = 'rated';
		order_type = 'DESC';
		getEcardsFromCategory(0);
	} else if(type == 'id') {
		order = 'rated';
		order_type = 'DESC';
		getEcardsFromCategory(0);
	}
}
function addAllFriends() {
	xajax_addAllFriends(jQuery('#ecardToUser').val());
}
function updateRate(msg, rated, point) {
	alert(msg);
	jQuery("#ecardRatedData").html(rated);
	jQuery("#ecardPoint").html(point);
	jQuery("#starRating").stars("select", Math.round(point*10)/10);
}