function showNameEditor(){
	var authornamecontrol = document.getElementById('authorNameDiv');
	if(authornamecontrol.style.display == 'none')
		authornamecontrol.style.display = 'block';
	else
		authornamecontrol.style.display = 'none';
}
function submitAuthorName(){
	var newAuthorName = document.getElementById('authorNameEdit').value;
	var mcid = document.getElementById('muzecontribid').value;
	document.getElementById('authorNameMsg').innerHTML = UPDATE_NAME_MSG;
	$.ajax({
		type: "POST",
		url: base_path+"ireadprofile/setname/"+mcid,
		data: {name:newAuthorName},
		success: function(msg){
			if(msg != '')
				authorNameCallback(msg);
		}
	});
}
function authorNameCallback(msg){
	document.getElementById('authorNameMsg').innerHTML = msg;
	document.getElementById('authorNameDisplay').innerHTML = document.getElementById('authorNameEdit').value;
}
function toggleImageUploadControl(){
	var imageuploadcontrol = document.getElementById('imageUploadControl');
	if(imageuploadcontrol.style.display == 'none')
		imageuploadcontrol.style.display = 'block';
	else
		imageuploadcontrol.style.display = 'none';
}
function toggleDOBControl(){
	var dobControl = document.getElementById('dobControl');
	if(dobControl.style.display == 'none')
		dobControl.style.display = 'block';
	else
		dobControl.style.display = 'none';
}
function submitDOBForm(){
	var year = document.getElementById('year').value;
	var month = document.getElementById('month').value;
	var day = document.getElementById('day').value;
	var dob  = month+'-'+day+'-'+year;
	var mcid = document.getElementById('muzecontribid').value;
	document.getElementById('dobMsg').innerHTML = UPDATING_YOUR_DOB_MSG; 
	$.ajax({
		type: "POST",
		url: base_path+"ireadprofile/setdob/"+mcid+"/"+dob,
		success: function(msg){
			if(msg != '')
				dobCallback(msg);
		}
	});
}
function dobCallback(msg){
	document.getElementById('dobMsg').innerHTML = msg;
}
function fancheck_callback(message){
	var message = jQuery.trim(message);
	var messageArray = message.split(",");
	for(var i=0;i<messageArray.length;i+=2){
		if(messageArray[i] == 'True') {
			$('#fan_'+messageArray[i+1])[0].innerHTML = getFanHTML(messageArray[i+1]);
		}
	}
} 
function getFanHTML(mcid){
	return "<span class='uHeaderText'>"+YOU_ARE_A_FAN_MSG+"<font color='gray'>[<a class='setOptStyle' href='javascript:deleteFan("+mcid+")' title='"+STOP_BEING_FAN_MSG+"'>x</a>]</font></span>";
}
function becomeFan(mcid){
	$.ajax({
			type: "POST",
			url: base_path+"ireadfans/add/"+mcid,
			success: function(msg){
				if(msg != '')
					becomeFanCallback(msg);
			}
		});
}
function becomeFanCallback(message){
	message = jQuery.trim(message);
	var messageArray = message.split(",");
	var fanElement = $('#fan_'+messageArray[1]);
	if(messageArray[0] == 'Success'){
		fanElement[0].innerHTML = getFanHTML(messageArray[1]);
	}
}
function deleteFan(mcid){
	$.ajax({
			type: "POST",
			url: base_path+"ireadfans/delete/"+mcid,
			success: function(msg){
				if(msg != '')
					deleteFanCallback(msg);
			}
		});
}
function deleteFanCallback(message){
	message = jQuery.trim(message);
	var messageArray = message.split(",");
	var fanElement = $('#fan_'+messageArray[1]);
	fanElement[0].innerHTML = becomeFanHTML(messageArray[1]);;
}
function becomeFanHTML(mcid){
	return "<a class='wcprofilelinktext' href='javascript:becomeFan("+mcid+");'>"+BECOME_FAN_MSG+"</a>";
}
function claimProfile(id){
	$('#profileClaimForm'+id).submit();
}
function db_callback(message){
	var arrayOfValues = eval(message);

	for(var i=0;i<arrayOfValues.length;i++){
		if(typeof(arrayOfValues[i].imageURL) != 'undefined') {
			var picId = document.getElementById('photo_'+muzeContribIds[i]);
			picId.innerHTML = '<img src="'+arrayOfValues[i].imageURL+'" width="100" />';
		}
		var fanId = $('#fancount_'+muzeContribIds[i])[0];
		fanId.innerHTML = arrayOfValues[i].fanCount;
		var discussionId = $('#discussioncount_'+muzeContribIds[i])[0];
		discussionId.innerHTML = arrayOfValues[i].discussionCount;

	}
}

function showMore(id){
	var elementToShow = document.getElementById('long'+id);
	var elementToHide = document.getElementById('short_'+id);
	var lessElement = document.getElementById('less_'+id);
	if(elementToHide == null) {
		//Definitely a case where the element is smaller than the short length
		return;
	}
	elementToShow.style.display = '';
	lessElement.style.display = '';
	elementToHide.style.display = 'none';
}
function showLess(id){
	var elementToShow = document.getElementById('short_'+id);
	var elementToHide = document.getElementById('long'+id);
	var lessElement = document.getElementById('less_'+id);
	elementToShow.style.display = '';
	elementToHide.style.display = 'none';
	lessElement.style.display = 'none';
}
function showAddDetailsControl(){
	document.getElementById('detailsControl').style.display = '';
}
function hideDetailsControl(){
	document.getElementById('detailsControl').style.display = 'none';
}

function hideEditInPlace(id){
	var elementToShow = document.getElementById('long'+id);
	var elementToHide = document.getElementById(id+'_edit');
	elementToShow.style.display = '';
	elementToHide.style.display = 'none';
	var editElement = document.getElementById(id+"_editbutton");
	editElement.style.display = '';
	var lessElement = document.getElementById('less_'+id);
      if(lessElement!=null)
        lessElement.style.display = '';
}
function saveEditInPlace(id){
	var elementToShow = document.getElementById('long'+id);
	var elementToHide = document.getElementById(id+'_edit');
	elementToShow.innerHTML = elementToHide.getElementsByTagName('textarea')[0].value;
	$.ajax({
		type: "POST",
		url: base_path+"ireadprofile/edit",
		data: "value="+elementToShow.innerHTML+"&id="+id,
		success: function(msg){
			if(msg == '')
				alert(ERROR_IN_PROCESSING_MSG);
		}
	});
	elementToShow.style.display = '';
	elementToHide.style.display = 'none';
	var editElement = document.getElementById(id+"_editbutton");
	editElement.style.display = '';
	
}
function deleteInfo(id, user){
	var confirmation = confirm(DELETENOTEMSG);
	if(user == false){
		var callbackUrl = base_path+"ireadprofile/delete/"+id;
	} else {
		var callbackUrl = base_path+"ireadprofile/usernotedelete/"+id
	}
	if(confirmation == false)
		return;
	$.ajax({
		type: "POST",
		url: callbackUrl,
		success: function(msg){
			if(msg == '' || msg == 'Error')
				alert(ERROR_IN_PROCESSING_MSG);
			else
				window.location.reload();
		}
	});
}

function renderItems(feedItems){
	var callbackUrl = app_deploy_url+"authors/ireadfeeds/get/feeddetails/";
	for(i=0;i<feedItems.length;i++){
		$.ajax({
			type: "GET",
			url: callbackUrl+'?url='+encodeURIComponent(feedItems[i]['url'])+'&id='+encodeURIComponent(feedItems[i]['id']),
			success: function(feedmsg){
				if(feedmsg == "" || feedmsg == "Error")
					alert(ERROR_IN_PROCESSING_MSG);
				else
					renderFeed(feedmsg);
			}
		});
	}
}

function enterLink(link, desc, addUrl, trId, tableId, msContID, i18ndict){
	link.value = trim(link.value);
	desc.value = trim(desc.value);
	if(link_id < trId){
		link_id = trId;
	}
	link_id++;
	trId = link_id;
	if(desc.value == '' || desc.value == i18ndict["description"]){
		alert(i18ndict["Enter a valid description"]);
		desc.value = '';
		desc.focus();
		return false;
	}
	if(link.value == '' || link.value == i18ndict["link"]){
		alert(i18ndict["Enter a valid link"]);
		link.value = '';
		link.focus();
		return false;
	}
	$.ajax({
		type: 'POST',
		url: addUrl,
		data: 'action=insert&msid=' + encodeURI(msContID) + '&desc=' + encodeURI(desc.value) + '&link=' + encodeURI(link.value) + '&rowId=linkrow_' + trId + '&tableId=' + tableId,
		success: function(response){
			response = eval('(' + response + ')');
			addRow(response);
		}
	});
}

function trim(str){
	if(str){
		return str.replace(/^[\s\r\n]+|[\s\r\n]+$/g, '');
	}
	return "";
}

function deleteRow(response){
	response = eval('(' + response + ')');
	if(response["msg"] == 'success'){
		document.getElementById(response["tableId"]).deleteRow(document.getElementById(response["rowId"]).rowIndex);
	}else{
		alert(response["msg"]);
	}
}

function addRow(response){
	if(response["msg"] == 'success'){
		var table = document.getElementById(response["tableId"]);
		var row=table.insertRow(0);
		if(response["rowId"]){
			row.id = response["rowId"];
		}
		if(response["class"]){
			row.className = response["class"];
		}
		var cell;
		for(var i = 0; i < response["tds"].length; i++){
			cell=row.insertCell(i);
			cell.innerHTML=response["tds"][i]["html"];
			if(response["tds"][i]["id"]){
				cell.id = response["tds"][i]["id"];
			}
			if(response["tds"][i]["class"]){
				cell.className = response["tds"][i]["class"];
			}
		}
	}else{
		alert(response["msg"]);
	}
}

function uploadFile(name, file, muzeId, trId, uploadUrl, i18ndict){
	name.value = trim(name.value);
	if(upload_id < trId){
		upload_id = trId;
	}
	upload_id++;
	trId = upload_id;
	if(name.value == '' || name.value == i18ndict["chapter name"]){
		alert(i18ndict["Enter a chapter name"]);
		name.value = '';
		name.focus();
		return false;
	}
	if(fileID == null){
		alert(i18ndict["Enter a file"]);
		return false;
	}
	uploadData = "rowId=uploadrow_" + trId + "&cName=" + encodeURI(name.value);
	uploader.upload(fileID, uploadUrl, "POST", {"fileName":(muzeId + "_" + name.value)});
	uploader.disable();
	fileID = null;
}

function onFileSelect(event) {
	for (var item in event.fileList) {
	    if(YAHOO.lang.hasOwnProperty(event.fileList, item)) {
			fileID = event.fileList[item].id;
			fileName = event.fileList[item].name;
		}
	}
	document.getElementById("upload_file").value = event.fileList[fileID].name;
}

function onUploadComplete(event) {
	uploader.clearFileList();
	uploader.enable();
	document.getElementById("upload_file").value = FILE_LOC_MSG;
	if(event.data == "error"){
		alert(UPLOAD_ERR_MSG);
		return false;
	}
	uploadData += "&fType=" + encodeURI(event.data) + "&fName=" + encodeURI(fileName);
	$.ajax({
		type: 'POST',
		url: uploadAddUrl,
		data: uploadData,
		success: function(response){
			response = eval('(' + response + ')');
			addRow(response);
		}
	});
}

function onUploadError(event) {
	uploader.clearFileList();
	uploader.enable();
	document.getElementById("upload_file").value = FILE_LOC_MSG;
	alert(UPLOAD_ERR_MSG);
}

function renderFeed(msg){
	var jsonItems = eval(msg);
	var html = '';
	html = "<div style='float:left;width:100%'>";
	html += createLink(jsonItems[0]['link'], jsonItems[0]['title'], 'feed_title');
	if(jsonItems[0]['editable'] == true)
		html += "<a class='feed_delete' href='javascript:void(0);' onclick='javascript:deleteFeed("+jsonItems[0]['id']+")'>"+DELETE_MSG+"</a>"
	html += "</div>";
	var items = jsonItems[1];
	for(i=0;i<items.length;i++){
		html += createLink(items[i]['link'], items[i]['title'], 'feed_item')+"<br/>";
	}
	document.getElementById('feed_container_'+jsonItems[0]['id']).innerHTML = html;
}

function createLink(url, title, className){
	return "<a class='"+className+"' target='_blank' href='"+app_deploy_url+'simple_redirect.php?next='+url+"'>"+title+"</a>";
}

function validateFeed(url){
	var id = 'new_feed';
	var callbackUrl = app_deploy_url+"authors/ireadfeeds/get/feeddetails/";
	document.getElementById('feed_msg').style.display = 'block';
	$.ajax({
		type: "GET",
		url: callbackUrl+'?url='+encodeURIComponent(url)+'&id='+encodeURIComponent(id),
		success: function(feedmsg){
			feedmsg = jQuery.trim(feedmsg);
			if(feedmsg == "" || feedmsg == "Error")
				alert(INVALID_FEED_MSG);
			else
				addFeed(url);
		}
	});
}

function addFeed(url){
	var callbackUrl = app_deploy_url+"authors/ireadfeeds/add/"
	document.getElementById('feed_msg').innerHTML = ADDING_FEED_MSG;
	$.ajax({
		type: "POST",
		data: {url:url},
		url: callbackUrl+'?url='+encodeURIComponent(url),
		success: function(feedmsg){
			feedmsg = jQuery.trim(feedmsg);
			if(feedmsg == "" || feedmsg == "Error")
				alert(FEED_ADDITION_FAILED_MSG);
			else {
				document.getElementById('feed_msg').style.display = "none";
				document.location.reload();
			}
		}
	});

}



function deleteFeed(id){
	var confirmation = confirm(DELETE_FEED_CONFIRMATION_MSG);
	if(confirmation == false)
		return;
	var callbackUrl = app_deploy_url+"authors/ireadfeeds/delete/"
	$.ajax({
		type: "POST",
		data: {id:id},
		url: callbackUrl+'?id='+id,
		success: function(feedmsg){
			feedmsg = jQuery.trim(feedmsg);
			if(feedmsg == "" || feedmsg == "Error")
				alert(FEED_DELETION_FAILED_MSG);
			else
				document.location.reload();
		}
	});
}
