
/*****************************
*(c) 2007 Flixya.com 
* @Author: Florian Cervenka
*******************************/


/**********************
*
* edit title and description
* add user comment
* edit user comment
* delete user comment
* delete photo + everything in connection
*
***********************/




/***********************
 * edit title and description
 **********************/
		var title_orig;
		var desc_orig;
		var desc_orig_html;
		var box_desc;
		var box_desc_preview;
		var box_title;
		
		
		function set_variables(){
			box_desc = document.getElementById('v_desc');
			box_desc_preview = document.getElementById('v_desc_preview');
			box_title = document.getElementById('v_title');
		}
		
		function title_start_editing(){
			box_title.className = 'v_title_focus';
			title_orig = box_title.value;
			document.getElementById('v_title_editing').style.display = 'block';
		}
		
		function title_stop_editing(){
			
			box_title.className = 'v_title';
			document.getElementById('v_title_editing').style.display = 'none';
			if(box_title.value!=title_orig){
				var murl = 'http://www.flixya.com/ajax/edit_title_photo.php';
							var formName = 'form_title';
							var pars = Form.serialize(formName);
							box_title.disabled = true;
							var myAjax = new Ajax.Request( murl, {method: 'post', parameters: pars, onLoading: loadbar(1), onComplete: title_saved} );
							
			}
			
		}
		
		
		function title_saved(request){
			var newData = request.responseText;
			if(newData==''){
				alert('Please enter a title. You may not leave it blank.');
				newData = title_orig;
			}
			box_title.value = newData;
			box_title.disabled = false;
			loadbar(0);
			
		}
		
		
		
		function desc_start_editing(){
			box_desc.className = 'v_desc_focus';
			box_desc_preview.style.display='none';
			box_desc.style.display='block';
			desc_orig = box_desc.value;
			desc_orig_html = box_desc_preview.innerHTML;
			document.getElementById('v_desc_editing').style.display = 'block';
			box_desc.focus();
		}
		
		function desc_stop_editing(){
			box_desc.className = 'v_desc';
			document.getElementById('v_desc_editing').style.display = 'none';
			if(box_desc.value!=desc_orig){
				var murl = 'http://www.flixya.com/ajax/edit_desc_photo.php';
							var formName = 'form_desc';
							var pars = Form.serialize(formName);
							box_desc.disabled = true;
							var myAjax = new Ajax.Request( murl, {method: 'post', parameters: pars, onLoading: loadbar(1), onComplete: desc_saved} );
			}else{
				box_desc.value = desc_orig;
				box_desc_preview.innerHTML = desc_orig_html;
				box_desc_preview.style.display='block';
				box_desc.style.display='none';
			}
		}
		
		
		function desc_saved(request){
			var newData = request.responseText;
			newData = newData.split('<>');
			if(newData[1]==''){
				alert('Please enter a desc. You may not leave it blank.');
				newData[1] = desc_orig;
				newData[0] = desc_orig_html;
			}
			box_desc.value = newData[1];
			box_desc_preview.innerHTML = newData[0];
			box_desc.disabled = false;
			loadbar(0);
			box_desc_preview.style.display='block';
			box_desc.style.display='none';
		}


/*************
 * user comment
 ************/
	
	function addMyComment(){
		var murl = 'http://www.flixya.com/ajax/comment_add_photo.php';
		var formName = 'user_comment';
		var pars = Form.serialize(formName);
		var myAjax = new Ajax.Request( murl, {method: 'post', parameters: pars, onLoading: loadbar(1), onComplete: comment_saved} );
	}
	
	
	function comment_saved(request){
		var newData = request.responseText;
		loadbar(0);
		if(newData=='ERROR'){
			alert('An error has occured.');
		}else{
			document.getElementById('comment_container').innerHTML = '';
			document.getElementById('comment_container').className = '';
			document.getElementById('comment_container').innerHTML = newData;
			
		}
	}

/*******************
 * edit previous comments
 ******************/

	// to see if user is already editing a comment
	var editing = false;
	var container;
	var original;
	var textfield;
	var form;
	var buttons;
	var comment;
	
	function editMyComment(ID){
		if(editing){
			alert('Please finish editing the other comment first.');
		}else{
			editing=true;
			comment = document.getElementById('comment_comment_'+ID);
			buttons = document.getElementById('comment_buttons_'+ID);
			form = document.getElementById('comment_edit_form_container_'+ID);
			container = document.getElementById('comment_container_'+ID);
			original = document.getElementById('comment_nohtml_'+ID);
			textfield = document.getElementById('comment_edit_input_'+ID);
			// insert value into textfield
			
			buttons.style.display = 'none';
			container.style.display='none';
			textfield.value = original.innerHTML;
			form.style.display = 'block';
		}
	}
	
	function cancelMyComment(ID){
		textfield.value='';
		form.style.display='none';
		container.style.display='block';
		buttons.style.display='block';
		editing=false;
	}
	
	
	function saveMyComment(ID){
		var murl = 'http://www.flixya.com/ajax/comment_edit_photo.php';
		var formName = 'comment_edit_form_'+ID;
		var pars = Form.serialize(formName);
		var myAjax = new Ajax.Request( murl, {method: 'post', parameters: pars, onLoading: loadbar(1), onComplete: comment_save_return} );
	
	}	
		
	function comment_save_return(request){
		var newData = request.responseText;
		loadbar(0);
		if(newData=='ERROR'){
			alert('An error has occured.');
			return;
		}
		
		newData = newData.split('<>');
		comment.innerHTML = newData[1];
		original.innerHTML = newData[0];
		form.style.display='none';
		container.style.display='block';
		buttons.style.display='block';
		editing = false;
		
		
	}

/*******************
 * delete user comment
 ******************/
	
	var delID;
	
	function deleteMyComment(ID){
		delID = ID;
		var murl = 'http://www.flixya.com/ajax/comment_delete_photo.php';
		var pars = 'ID='+ID;
		var myAjax = new Ajax.Request( murl, {method: 'post', parameters: pars, onLoading: loadbar(1), onComplete: comment_delete_return} );
	}

	function comment_delete_return(request){
		var newData = request.responseText;
		loadbar(0);
		if(newData=='ERROR'){
			alert('An error has occured.');
			return;
		}
		document.getElementById('comment_container_'+delID).parentNode.innerHTML = 'COMMENT DELETED';
	}


/*********************
 * delete photo
 ********************/
	function deletePhoto(ID){
		Check = confirm("Are you sure you want remove this photo and all comments made about it from Flixya? This can not be undone!");
					
		if(Check){
			var murl = 'http://www.flixya.com/ajax/delete_photo.php';
			var pars = 'ID='+ID;
			var myAjax = new Ajax.Request( murl, {method: 'post', parameters: pars, onLoading: loadbar(1), onComplete: delete_return} );
	
		}
		
	}
	
	function delete_return(request){
		var newData = request.responseText;
		loadbar(0);
		
		if(newData=='ERROR'){
			alert("Video not removed. An error has occured.");
		}else{
			//alert(newData);
			document.getElementById('master_container').innerHTML = "<div class='box'>Photo Deleted, <a class='blue' href='http://www.flixya.com/photos/u/"+related_nick+"'>Return to My Photos</a></div>";
		}
	}
	
	
	
	
	

/***************************
 * edit tags
 **************************/

	var tags_orig;

	function edit_tags(){
		document.getElementById('tags_edit_container').style.display='block';
		document.getElementById('tags_visible').style.display='none';
		document.getElementById('tags_edit_button').style.display='none';
		tags_orig = document.getElementById('tags_invisible').value;
	}
	
	function edit_tags_save(ID){
		tags_new = document.getElementById('tags_invisible').value;
		if(tags_new!=tags_orig){
			var murl = 'http://www.flixya.com/ajax/edit_tags_photo.php';
			var pars = 'ID='+ID+'&tags='+tags_new;
			var myAjax = new Ajax.Request( murl, {method: 'post', parameters: pars, onLoading: loadbar(1), onComplete: edit_tags_return} );
	
		}else{
			document.getElementById('tags_edit_container').style.display='none';
			document.getElementById('tags_visible').style.display='inline';
			document.getElementById('tags_edit_button').style.display='block';
		}
		
	}
	
	function edit_tags_return(request){
		loadbar(0);
		var newData = request.responseText;
		if(newData!='ERROR'){
			document.getElementById('tags_visible').innerHTML = newData;
		}else{
			alert("An error has occured.");
		}
		document.getElementById('tags_edit_container').style.display='none';
		document.getElementById('tags_visible').style.display='inline';
		document.getElementById('tags_edit_button').style.display='block';
	}
	
	
	function show_comment_container(){
		Effect.Appear('comment_container');
		document.getElementById('comment_button').style.display='none';
	}
	
	
	
/******************************
* HIT rating
******************************/

	function hit_up(ID){
		
		var murl = 'http://www.flixya.com/ajax/hit_photo.php';
		var pars = 'what=up&ID='+ID;
		murl = murl+'?'+pars;
		loadbar(1);
		new Ajax.Updater('updater_hit', murl, {onComplete:function(){loadbar(0);},asynchronous:true, evalScripts:true});
		
	}
	
	function hit_down(ID){
		var murl = 'http://www.flixya.com/ajax/hit_photo.php';
		var pars = 'what=down&ID='+ID;
		murl = murl+'?'+pars;
		loadbar(1);
		new Ajax.Updater('updater_hit', murl, {onComplete:function(){loadbar(0);},asynchronous:true, evalScripts:true});
		
	}
	
	function hit_counter_up(){
		document.getElementById('hit_button_r_current').style.display='none';
		Effect.Appear('hit_button_r_up');
	}
	
	function hit_counter_down(){
		document.getElementById('hit_button_r_current').style.display='none';
		Effect.Appear('hit_button_r_down');
	}

	
/****************************
* realted photos
*****************************/	
	var related_ID;
	var related_nick;
	function show_related(offset){
		var murl = 'http://www.flixya.com/ajax/images_box_related.php';
		var pars = 'nick='+related_nick+'&ID='+related_ID+'&offset='+offset;
		murl = murl+'?'+pars;
		loadbar(1);
		new Ajax.Updater('updater_related', murl, {onComplete:function(){loadbar(0);},asynchronous:true, evalScripts:true});
		
		
	}


