

/* OBSERVED ELEMENTS */


//34



//document.observe('dom:loaded', function () {
	//$('new_rvw_title').observe('keyup', calcStringLength);
	//$('new_rvw_title').observe('keydown', calcStringLength);
	
	//var reviewFlds = document.getElementsByClassName('new_review');
	



	//for (var i=0, len=reviewFlds.length; i < len; ++i) {
	//	Event.observe (reviewFlds[i], 'keyup', resizeTextarea, false);
	//}		
//}, false);

function getConfirm(n, s) 
{
  if (n) {
    var retvalue;
    retvalue = confirm("          Are you sure?               ");
    if (retvalue)
    {
      window.location="review_product.php?delid="+n+"&prodid="+s;
    }
  }
}

function alterSearchBtn(this_cat_id)
{
	if ( this_cat_id.value ) {
		$('btn_submit_id').value = 'Search Or View All';
	}
	else {
		$('btn_submit_id').value = 'Search'
	}
}

function calcStringLength(event)
{
	var elementId	= Event.element(event).id;
	
	if ( elementId != '-1' )	{
		var maxlen	= 40;
		var string 	= $F(elementId);
		
		//$('write_review_debug').innerHTML = string;
		
		if ( string.length > maxlen )
			$(elementId).value = string.substring(0, maxlen);
		else 
			$('debug_'+elementId).innerHTML = ( maxlen-string.length ) + " Characters Remaining" ;
	}
}


		
function resizeTextarea(event) 
{

	//$('write_review_debug').innerHTML = Event.element(event);
	var t = Event.element(event);
	
	if ( t != '-1' ) {
		a = t.value.split('\n');
		b	=	1;
		for (x=0;x < a.length; x++) {
			if (a[x].length >= t.cols) b+= Math.floor(a[x].length/t.cols);
		}
		b+= a.length;
		if (b > t.rows) t.rows = b;
	}
}



function limitReviewTitle(event)
{
	Event.element(event).value;

}




function toggleCategoryBox(this_cat_key)
{
	
	if ( $('links_'+this_cat_key).hasClassName('ExpandedSubs') )
	{
		$('expand_'+this_cat_key).innerHTML	= '+';
		$('links_'+this_cat_key).toggle().removeClassName('ExpandedSubs');
		$('expand_'+this_cat_key).removeClassName('ExpandedIcon');
		
		var expIcns	= document.getElementsByClassName('ExpandedIcon');
		
		expIcns.each( function (iconStr) {
			iconStr.innerHTML = '+';
		});
	}
	else
	{
		var expIcon = $('expand_'+this_cat_key).innerHTML;
		var expSubs	= document.getElementsByClassName('ExpandedSubs');

		expSubs.invoke('toggle').invoke('removeClassName', 'ExpandedSubs');


		var expIcns	= document.getElementsByClassName('ExpandedIcon');
		
		expIcns.each( function (iconStr) {
			iconStr.innerHTML = '+';
		});

		$('links_'+this_cat_key).toggle().addClassName('ExpandedSubs');

		if ( expIcon == '+' )	{
			$('expand_'+this_cat_key).innerHTML = '-';
		}
		else	{
			$('expand_'+this_cat_key).innerHTML = '+';
		}
	}
}



function updateFeatIndex(this_way)
{
	var indexFeat		= parseInt($('indexFeatInt').value);
	var totalFeat		= parseInt($('totalFeatInt').value);
	
	
	var indexAlter	= 1;
	
	if ( this_way=='prev' )
		indexFeat	= indexFeat - 1;	
	else
		indexFeat	= indexFeat + 1;	
		
	if ( indexFeat < 1 )
		indexFeat	= totalFeat;

	if ( indexFeat > totalFeat )
		indexFeat	= 1;
		
	$('indexFeatInt').value	= indexFeat;
	$('featureIndex').update(indexFeat + '/' + totalFeat);


}

Event.observe (window, 'load', function() {

	var starBoxes	= document.getElementsByClassName('StarBox');
  
  starBoxes.each(function() {
  	
  	
    $(starBox.id).observe('starbox:changed', starboxChangedText) // observe the mouseover
      .observe('starbox:rated', starboxRatedText) // observe the click
    		.observe('starbox:left', starboxLeftText);   // observe mouseout
		
	});
});


function starboxLeftText() {
  this.down('.indicator').update(this.starboxResetText || '');
}


function starboxChangedText(event) {
  var indicator = this.down('.indicator'),
  pick = (event.memo.rating || 0).round() - 1,
  indicator = this.down('.indicator');
  
  // for restoring, store the indicator text on the star if it was not set before.
  this.starboxResetText = this.starboxResetText || indicator.innerHTML;
  
  this.down('.indicator').update([
    '<br />Terrible',
		'<br />Ok, Needs Help',
		'<br />Average',
		'<br />Pretty Good',
		'<br />Excellent'
  ][pick]);  
}


function starboxRatedText(event) {
	
	
		var xhrUrl    = '/reviews/rvw_xhr_rate.php';
		var params    = 'rate_int='+event.memo.rated+'&prd_id='+this.id;

		new Ajax.Updater('rate_'+this.id, 
											xhrUrl, 
											{
												method: 'post', 
												postBody: params																							                  	
											}); 

		$(this.id).setAttribute('onclick','');

		if ( $('rate_starbox_write') ) {
			pick = (event.memo.rated || 0).round() - 1,


			$('rate_starbox_write').insert([
				'<br /><span style="font-size:20px">Terrible</span>',
				'<br /><span style="font-size:20px">Ok, Needs Help</span>',
				'<br /><span style="font-size:20px">Average</span>',
				'<br /><span style="font-size:20px">Pretty Good</span>',
				'<br /><span style="font-size:20px">Excellent</span>'
			][pick], { position: 'bottom'});  	
		}	
	
	
	
	
}
// here we restore the indicator on mouseout, if needed
function starboxLeftText() {
  this.down('.indicator').update(this.starboxResetText || '');
}





function getProductReviews(this_prd_id, this_order, this_sort, this_id)  
{
	var	xhrDiv	= 'RvwContainer';
	var xhrUrl	= '/reviews/rvw_xhr_reviews.php';
	var params	= 'prd_id='+this_prd_id+'&rvw_order='+this_order+'&rvw_sort='+this_sort;

	
	
	sortBtns 		= document.getElementsByClassName('sortBtn');
	
	
	sortBtns.invoke("removeClassName", 'boldHref');
	
	$(this_id).addClassName('boldHref');
	
	
	new Ajax.Updater(xhrDiv, 
	                 xhrUrl, 
	                 {
	                 	method: 'get',
	                 	parameters: params
	                 });

	
}



function setHelpful(this_rvw_id, this_rvw_div, this_val)
{
	
	var xhrUrl	= '/reviews/rvw_xhr_helpful.php';
	var params	= 'rvw_id='+this_rvw_id+'&hf_int='+this_val;


	

	new Ajax.Updater( this_rvw_div,
										xhrUrl, 
	                 {
	                 	method: 'get',
	                 	parameters: params
	                 });
	
}


function togglePost(click_id, post_id)
{
	var displayText	= 'expand';
	var shrinkBtns 	= $A($$('.Shrink'));
	
	if ( $(click_id+'_0').innerHTML == 'expand' ) 
		displayText = 'shrink';

	for ( var i = 0; i < 2 ; i++ ) {
		var clickBtn = click_id+'_'+i;
		$(clickBtn).innerHTML = displayText;
	}
	
	$(post_id).toggle();
}

function toggleBlock(click_id, block_id)
{

	$(block_id).toggle();
	
	if ( $(click_id).innerHTML == 'click to hide' ) 
		$(click_id).innerHTML = 'click to show';
	else
		$(click_id).innerHTML = 'click to hide';
}




function runModalDialog(this_img_src)	{

	return drawModalDialog(this_img_src);

}


function drawModalDialog(img_src)
{
		var body = document.getElementsByTagName('body')[0];
		var offs = document.viewport.getScrollOffsets();


		body.appendChild(Builder.node('div', {id:'overlayBackId', className:'overlayBack'  }));


		$('overlayBackId').style.height = ( document.viewport.getHeight() + (offs.top*2)) +'px';

		body.appendChild(Builder.node('div', {id:'overlayForeId', className:'overlayFore'  }));

		var fore 				= $('overlayForeId');
				fore.appendChild(Builder.node('div', {id:'overlayForeHeader', className:'overlayForeHeader'  }));

		var foreHeader 	= $('overlayForeHeader');
				foreHeader.appendChild(Builder.node('a', { id: 'overlayClose', href: 'javascript:;', className: 'option_x_16', onclick: 'closeModalDialog();' }, ' '));



		fore.appendChild(Builder.node('div', { id: 'overlayForeIdInner', className:'overlayForeInner'  }));
		fore.appendChild(Builder.node('div', { id: 'bottomMsg',          className:'overlayForeFooter'  } ));

		var params = 'img_src='+img_src;

		new Ajax.Updater('overlayForeIdInner',
											'/reviews/rvw_xhr_imagemodal.php',
											{
												method: 'get',
												parameters: params
											});



		var xPos	= document.viewport.getWidth()/6;
		var yPos	= document.viewport.getHeight()/4;
		$('overlayForeId').style.left 	= xPos+'px';
		$('overlayForeId').style.top 		= (offs.top + yPos)+'px';



		return 'overlayForeIdInner';
}

function closeModalDialog()
{


		$('overlayBackId').remove();
		
		if ( $('overlayForeId') ) 
			$('overlayForeId').remove();
		else
			$('wrap_new_product').hide();

}










function openModalNewItemDialog() {


			var body = document.getElementsByTagName('body')[0];
			var offs = document.viewport.getScrollOffsets();

			body.appendChild(Builder.node('div', {id:'overlayBackId', className:'overlayBack', onclick: 'closeModalDialog();'  }));

			$('overlayBackId').style.height = ( document.viewport.getHeight() + (offs.top*2)) +'px';

			var xPos	= document.viewport.getWidth()/4;
			//var yPos	= document.viewport.getHeight()/8;
			var yPos	= 50;
			$('wrap_new_product').style.left 	= xPos+'px';
			$('wrap_new_product').style.top 	= (offs.top + yPos)+'px';


			$$('div.RoundTop').each(function(el) {
				new Effect.Corner(el, "top 10px");
			});
			$$('div.RoundBot').each(function(el) {
				new Effect.Corner(el, "bottom 10px");
			});

			$('wrap_new_product').show();
			
			
			new Draggable('wrap_new_product', {handle: 'modal_drag_handle'});
			$('wrap_new_product').addClassName('hyperCursor');
			

}			











function saveProduct()
{
	location.href=location.href;

}

function collectProductCategories()
{
	var arg_serialized		= $('prd_category').serialize();	
	
	
	new Ajax.Request(
		'/reviews/rvw_xhr_admin_product_category.php', 
		{
			method: 'post',
			postBody: arg_serialized, 
			onComplete: function (transport)
			{
				$('wrap_debug_category').update(transport.responseText);
				$('btn_post_review').hide();
				//$('btn_post_review').onclick = "location.href=location.href";
				$('btn_post_save').show();
			}
		}
	);
	
	//$('wrap_debug_category').update(arg_serialized);

}

function postNewProductReview(review_form) 
{
	var arg_serialized		= $(review_form).serialize();	

	//new Ajax.Updater('write_review_debug', '/reviews/rvw_xhr_post_member_review.php', {
	new Ajax.Request(
		'/reviews/rvw_xhr_admin_new_product.php', 
		{
			method: 'post',
			postBody: arg_serialized,
			onComplete: function (transport) 
			{

				if ( transport.responseText != 'failure' ) {
					
					//$('wrap_left_debug').update(transport.responseText);
					var iframe_src = '/reviews/_iframe.upload_image.php?pr_prd_id='+transport.responseText;
					//alert(iframe_src);
					
					
					
					$('iframe_upload').src 	= iframe_src;
					$('prd_id').value				= transport.responseText;
					
					
					
					$('h_upload').highlight().pulsate();
					
					$('btn_post_review').value= 'SAVE COMPLETE';
					
					$('btn_post_review').disable();
					//alert($('iframe_upload').src);
					
				}
				else	{

					$('write_review_debug').update(transport.responseText);

				}
			}
		}
	);
}


function postNewReview(review_form, review_type) 
{
	var argSerial		= Form.serializeElements( $(review_form).getElements() );	

	//$('btn_post_review').disable();
	
	//$('write_review_debug').update(argSerial);
	
	//$('write_review_debug').update(argSerial);
	
	
	//alert(review_type);
	
	

	//new Ajax.Updater('write_review_debug', '/reviews/rvw_xhr_post_member_review.php', {
	new Ajax.Request('/reviews/rvw_xhr_post_member_review.php', {
		method: 'post',
		postBody: argSerial,
		onComplete: function (transport) {

			if ( transport.responseText == 'success' ) {
					
					if ( review_type == 1 ) {
						location.href=window.location;
					}
					else	{
						$('RvwContainer').update('<center><img src="/gather/img/ajax-loader.gif"></center>');
					}
					
					
					$('RvwContainer').update('<center><img src="/gather/img/ajax-loader.gif"></center>');

					getProductReviews($('new_rvw_prd_id').value, 'rvw_date', 'de', 'sortDateD');

					$('wrap_review_form').remove();
					$('empty_column_header').remove();

					//alert(window.location.host);

			}
			else	{

				$('write_review_debug').update(transport.responseText);

			}
		}
	});
}





function getTopReviewerList(reviewer_id)
{
	var params			= 'rvw_user_id=' + reviewer_id;

	var reviewDivs 	= $A($$('.topReviewers'));
	
	for ( var i = 0; i < reviewDivs.length ; i++ ) {
		$(reviewDivs[i].id).hide();
	}	
	
	$('wrap_top_reviewer_'+reviewer_id).toggle();				
	
	new Ajax.Updater(
		'wrap_top_reviewer_'+reviewer_id, 
		'/reviews/rvw_xhr_topreviewers.php', {
			method: 'get',
			parameters: params //,
			//onComplete: function () {
			//$('wrap_top_reviewer_'+reviewer_id).toggle();				
			//}             
	});
}






function keyListener(key) 
{
	if (key == 13) {
		// temp shut off keyListener
		//postNewReview();
	}
}



function closeModalDialogAlt()
{
		$('overlayBackId').remove();
		$('wrap_modal_window').hide();
}


function openModalDialogAlt(xhr_url, type)	
{

		var body = document.getElementsByTagName('body')[0];
		var offs = document.viewport.getScrollOffsets();

		body.appendChild(Builder.node('div', {id:'overlayBackId', className:'overlayBack', onclick: 'closeModalDialog();'  }));

		$('overlayBackId').style.height = ( document.viewport.getHeight() + (offs.top*2)) +'px';

		var xPos	= document.viewport.getWidth()/3;
		//var yPos	= document.viewport.getHeight()/8;
		var yPos	= 50;
		$('wrap_modal_window').style.left 	= xPos+'px';
		$('wrap_modal_window').style.top 		= (offs.top + yPos)+'px';


		$$('div.RoundTop').each(function(el) {
			new Effect.Corner(el, "top 10px");
		});
		$$('div.RoundBot').each(function(el) {
			new Effect.Corner(el, "bottom 10px");
		});	




		$('wrap_modal_window').show();
		$('modal_header').update(xhr_url);




		if ( type=='ifr' )	{

			$('modal_header').update("Tell A Friend!");	
			$('wrap_contents').hide();


			$('tell_friend_frame').setAttribute('src', '/tellfriend/');

			$('tell_friend_frame').setStyle({ width: '400px', height: '500px', border: 'none' }).show();



		}
		else	{


			// ajax transport


		}









}





function checkTextLength(text_id)
{
	var fldHeight = $(text_id).getHeight();


	var fldRows		= $(text_id).rows;

	$('write_review_debug').update(fldRows);


		if ($F(text_id).length > 100) $(text_id).rows = 4; return;			
}




function pageResults(args)
{
		alert(args);

}




