//custom, override media_shared.js
var star_txt = [];
star_txt[1] = 'Yuck!';
star_txt[2] = 'Nothing Special';
star_txt[3] = 'Cute';
star_txt[4] = 'Stud';
star_txt[5] = 'Fucking Hot!';
var did_rate = false;
var rate_txt = 'Rate my photo';
var img_loaded = 0;
var params = [];
				
//custom, overrides the one in media_shared.js
var tmp_id = '';
rate = function(val, pid, media, id) {
	//ignore 'media'
	if (!did_rate) {
		did_rate = true;
		
		if (rtr == null) rtr = new Ajax();
		if (rtr && !rtr.in_request) {
			if ($('rate_spinner')) $('rate_spinner').style.visibility = 'visible';
			rtr.send('/members/photo_request.php', 'post', 'handleRateResponse', "op=rate&id="+pid+"&r="+val);
	    	tmp_id = id;
			pic[id]['rated'] = 1;
		}
	}
};

//override
handleRateResponse = function() {
 	if (rtr.request.readyState == 4) {
 		if ($('rate_spinner')) $('rate_spinner').style.visibility = 'hidden';
        if (rtr.request.status == 200) {
	        var response = rtr.request.responseText;
	        if (response) {
				rtr.in_request = false;
	        	if (response != '') {
	        		if (response == 'Already rated.')
	        			$('num_ratings').innerHTML = response + ' '+ $('num_ratings').innerHTML;
	        		else {
	        			$('num_ratings').innerHTML = response;
	        			pic[tmp_id]['trated'] = response;
	        		}
	        	}
	        }
		}
		else {
			alert("Error occurred. Try again later.");
			rtr.in_request = false;
		}
    }    
};

addSubscriptionByForm = function() {
	if ($('subscribe_data') && trim($('subscribe_data').value) == '') return false;

	if (subscrp == null) subscrp = new Ajax();
	if (subscrp && !subscrp.in_request) {
    	tags = $('radio_tags').checked ? 1 : 0;
    	var data = new_sub_data = $('subscribe_data').value;
    	data = escape(data);

		$('subscribe_btn').value = 'Adding...';
		subscrp.send('/members/photo_request.php', 'post', 'handleAddSubscription2Response', 'op=add_sub&s='+data+'&t='+tags);
	}	
	return false;
};

removeSubscriptionByMulti = function() {
	if ($('subscriptions_multi').selectedIndex == -1) return false;	
	$('unsub_multi').action = '/members/photo_subscriptions.php';
	return true;
};

view = function(id) {
	if (current_pic == id) return;

	toggleEditorButtons(true);	
	if ($('photo_src')) {
		var w = $('photo_src').width;
		var h = $('photo_src').height;		
		//try to keep the window from being 'bouncy' when img disappears then next one loads
		$('photo_div').innerHTML = '<img id="photo_src" src="/images/spacer.gif" width="'+w+'" height="'+h+'" border="0" />';
	}
	
	if ($('comments_num')) $('comments_num').innerHTML = '';
	if (comments_cache[id] != undefined && comments_cache[id][1] != undefined) {
		//$('comments_status').innerHTML = '<strong>Comments.</strong>';
        $('comments_frame').innerHTML = comments_cache[id][1];
		if ($('comments_num')) $('comments_num').innerHTML = comments_cache[id][0];
		toggleEditorButtons(false);
	}
	else {
		if (cmmts == null) cmmts = new Ajax();
		if (cmmts) { 
			if (!cmmts.in_request) {
				$('spinner').style.visibility = 'visible';
				params['pid'] = id;
				cmmts.send('/members/photo_request.php', 'post', 'handleCommentsFetchResponse', 'op=show2&id='+pic[id]['id']+'&page=1&u='+escape(username)+'&a='+pic[id]['comment'], params);
			}
			//else  
			//	return;
		}
	}

	if ($('pic_tviewed')) $('pic_tviewed').innerHTML = '';
		//$('comments_frame').innerHTML = '';		
		//$('photo_div').innerHTML = 'Loading...';
	var rate_html = (pic[id]['rate'] == '1') ? getRating(pic[id]['rating'], pic[id]['id'], pic[id]['trated'], pic[id]['rated'], id) : '';
	$('rater').innerHTML = rate_html;
	
	var left = parseInt(id) - 1;
	var right= parseInt(id) + 1;
	var prev = (left != -1) ? '<a href="javascript:view('+(parseInt(id)-1)+')"><img src="/image.php?n='+pic[(parseInt(id)-1)]['n']+'&t=1" width="45" height="45" border="1" alt="" /></a>'
				   		  : '<img src="/images/nav_photo_first.jpg" alt="" border="0" />';
	$('prev_pic').innerHTML = prev;
	var next = (right != pic.length) ? '<a href="javascript:view('+(parseInt(id)+1)+')"><img src="/image.php?n='+pic[(parseInt(id)+1)]['n']+'&t=1" width="45" height="45" border="1" alt="" /></a>'
				   		  : '<img src="/images/nav_photo_last.jpg" alt="" border="0" />';
	$('next_pic').innerHTML = next;		
	setTimeout('loadPic('+id+')', 300);
	//$('photo_div').innerHTML = '<img id="photo_src" src="/image.php?n='+pic[id]['n']+'&nid='+pic[id]['id']+'" border="0" alt="" onload="img_loaded=1;imageDefaults();" />';
	current_pic = id;

	if (trim(pic[id]['caption']) == '') { pic[id]['caption'] = '<em>No caption</em>'; }
	$('pic_caption').innerHTML = pic[id]['caption'];
	if ($('pic_added')) $('pic_added').innerHTML = pic[id]['date'];
	if ($('pic_desc')) $('pic_desc').innerHTML = replaceString("\\", "", pic[id]['desc']);
	if ($('pic_tags')) $('pic_tags').innerHTML = getTags(pic[id]['tags']);
	$('pic_id').value = "http://www.billyspervwebsite.com/photos/"+username+"/"+pic[id]['id'];
	//setCookie('bpwPhotoId', pic[id]['id']); //to fix refresh
};

loadPic = function(id) {
	$('photo_div').innerHTML = '<img id="photo_src" src="/image.php?n='+pic[id]['n']+'&nid='+pic[id]['id']+'" border="0" alt="" onload="img_loaded=1;imageDefaults();" onclick="viewWhich(\'next\')" />';
};

handleCommentsFetchResponse = function() {    
	if (cmmts.request.readyState == 4) {
		if (cmmts.request.status == 200) {
			var response = cmmts.request.responseText;
		    if (response !='') {
				var data_line = response.split("\n");
				if (data_line.length) {
					var parts = data_line[0].split('|');
					var com_num = 0;
					if ($('comments_num')) {
						$('comments_num').innerHTML = com_num = replaceString("<!-- ", '', parts[0]);
					}
					if ($('pic_tviewed')) $('pic_tviewed').innerHTML = replaceString(" -->", '', parts[1]);
				}
				$('comments_frame').innerHTML = response;
				var pid = cmmts.params['pid'];
				if (comments_cache[pid] == undefined)
	        		comments_cache[pid] = [];
	
	        	comments_cache[pid][0] = com_num;
				comments_cache[pid][1] = response;				
			}
			cmmts.in_request = false;
			toggleEditorButtons(false);
		}
		else {
			alert("Error occurred. Try again later.");
			toggleEditorButtons(false);
			cmmts.in_request = false;
		}
	}
};

viewWhich = function(which) {	
	if (which == 'prev') {
		var left = parseInt(current_pic) - 1;
		if (left != -1)
			view(left);
	}
	else {
		var right= parseInt(current_pic) + 1;
		if (right != pic.length)
			view(right);
	}
};

imageDefaults = function() {
	if (img_loaded) {
		iobj = $('photo_src');
		if (iobj) {
			ox = iobj.width;
			oy = iobj.height;
		}
		img_loaded = 0;
		do_fit = 0;
		$('spinner').style.visibility = 'hidden';
	}
};

//custom
resetPic = function() {
	if (!do_fit) return;
	var pSrc = $('photo_src').src;
	pSrc = pSrc.split('&');
	$('photo_div').innerHTML = '<img id="photo_src" src="'+pSrc[0]+'" border="0" alt="" onload="img_loaded=1;imageDefaults();" />';
};

getRating = function(avg_rating, mid, trated, pdid_rate, id) {
	rating = avg_rating;
	did_rate = pdid_rate;
	var rate_html = '<div id="rate_txt" class="small"><strong>'+ ((pdid_rate) ? 'Already rated' : 'Rate my photo')+'</strong></div>'+
			'<div id="stars">';

	var parts = avg_rating.split(".");
	var dec = (parts.length == 2) ? parts[1] : 0;
	var star_html = "<span title=\""+avg_rating+"\">";
	for (i = 1; i <= 5; i++) {
		if (i <= parseInt(avg_rating))
			star_img = '/images/star.gif';
		else {
			if (i > parseInt(avg_rating) && dec >= 5) {
				dec = 0;
				star_img = '/images/halfstar.gif';
			}
			else {
				star_img = (pdid_rate) ? '/images/blank.gif' : '/images/emptystar.gif';
			}
		}
		star_html += (pdid_rate) ? '<img id="star_'+i+'" src="'+star_img+'" width="20" height="18" alt="" border="0" />'
								 : '<a href="javascript:rate('+i+', '+mid+', \'photo\', '+id+')" onmouseover="doStar('+i+', 1)" onmouseout="doStar('+i+', 0)" title="'+i+' star(s)"><img id="star_'+i+'" src="'+star_img+'" width="20" height="18" alt="" border="0" /></a>';
		star_html += '</span>';
	}

	rate_html += star_html;
	rate_html += '<div align="center"><span id="num_ratings">'+trated+'</span> ratings</div>'+
			'</div>';

	return rate_html;
};

getTags = function(tags) {
	var tag_html = '';
	if (tags != '') {
		tags = tags.substring(1, tags.length-1);
		tags = replaceString('\"', '"',tags);
		tags_array = tags.split('|');
		for(a_tag in tags_array) {
			tag_html += '<a href="/members/photos.php?b=search&amp;s='+escape(tags_array[a_tag])+'"><img src="/images/tag.gif" width="14" height="14" border="0" alt="" /> '+tags_array[a_tag]+'</a><br />';
		}
	}
	else {
		tag_html += '<em>None</em>';
	}
	
	return tag_html;
};

toggleThumbnails = function() {
	if ($('thumbnail_nav').style.display == 'none') {
		$('thumbnail_nav').style.display = 'block';
		//$('thumbnail_nav').style.visibility = 'visible';
		setCookie('bpwthumbnav', 1, expiration, '/');
	}
	else {
		$('thumbnail_nav').style.display = 'none';
		//$('thumbnail_nav').style.visibility = 'hidden';
		delCookie('bpwthumbnav', '/');
	}
};

var _slideshow_timerID = null;
var _slideshow_duration = 10000;
var _slideshow_isStopped = false;

controlSlideshow = function() {
	var pb = $('tool_slideshow_cntrl');
	if (!_slideshow_isStopped) {
		if (_slideshow_timerID != null) {
			clearTimeout(_slideshow_timerID);
			_slideshow_timerID = null;
			pb.src = '/images/play_show.gif';
			pb.title = 'Play';
		}
		else {
			pb.src = '/images/pause_show.gif';
			pb.title = 'Pause';
			slideShow();
		}
	}
};

slideShow = function() {
	if (pic[parseInt(current_pic)+1] != undefined) {
		view(parseInt(current_pic)+1);
		_slideshow_duration = $('duration').options[$('duration').selectedIndex].value;
		_slideshow_timerID = setTimeout("slideShow()", _slideshow_duration);
	}
	else {
		clearTimeout(_slideshow_timerID);
		_slideshow_timerID = null;
		$('tool_slideshow_cntrl').src = '/images/play_show.gif';
		$('tool_slideshow_cntrl').title = 'Play';
		_slideshow_isStopped = true;
	}
};

clearCookie = function() {
	if (getCookie('bpwPhotoId')) {
		delCookie('bpwPhotoId');
	}
};
