window.addEvent('domready', function(){
	if( $("cancelTags") ) {
		$( "cancelTags" ).addEvent( 'click', function( ) {
			cancelEdit( );
			return false;
		});
	}
	if( $("saveTags") ) {
		$( "saveTags" ).addEvent( 'click', function(e) {
			new Event(e).stop();
			submitNewTags( );

			return false;
		});
	}
	if( $("editTag") ) {
		$( "editTag" ).addEvent( 'click', function( ) {
			showEdit( );
		});
	}
	if( $('shareBMForm') ){
		$('shareBMForm').getElement('input[name=subject]').addEvent('click', function(e){
			this.value="";
		});
	}
	
	acomments = $$('.ac');
	$each(acomments,function(element){
		element.slide = new Fx.Slide(element.getAttribute("pcid"),{
			onComplete:function(){
				if(element.getElement('a[name=replyarrow]').getText()=="↓"){
					element.getElement('a[name=replyarrow]').setText("↑");
				}else{
					element.getElement('a[name=replyarrow]').setText("↓");
				}
			}});
		element.addEvent("click",function(e){
			if($('fl'+element.getAttribute("pcid").replace("pc",""))){
				$('fl'+element.getAttribute("pcid").replace("pc","")).addEvent("click",function(e){
					new Event(e).stop();
					element.fireEvent("click");
				});
			}
			/*if($('flr'+element.getAttribute("pcid").replace("pcl",""))){
				$('flr'+element.getAttribute("pcid").replace("pcl","")).addEvent("click",function(e){
					new Event(e).stop();
					element.fireEvent("click");
				});
			}*/
			element.slide.toggle();
			new Event(e).stop();
		});
		element.slide.hide();
	});
	
	var error=$('ErrorPopup');
	var ErrorNoPopup=$('ErrorNoPopup');
	
	var SuccesPopup=$('SuccesPopup');
	var SuccesNoPopup=$('SuccesNoPopup');
		
	if(error && ErrorNoPopup)
	{
		error.setStyle('display','none');
		ErrorNoPopup.setStyle('display','block');
	}
	if(SuccesPopup && SuccesNoPopup)
	{
		SuccesPopup.setStyle('display','none');
		SuccesNoPopup.setStyle('display','block');		
	}
	var Updated = $('Updated');
	var message = $('message');
	if(message && Updated && Updated.value=="1"){
		ShowAlert(message.value,"correct");
	}
	else if(message && Updated && Updated.value!="1"){
		ShowAlert(message.value,"error");
	}
});


function cancelEdit( ) {
	$( 'tagBox' ).setStyle( "display", "block" );
	$( 'editTagsFormBox' ).setStyle( "display", "none" );
}
function showEdit( ) {
	$( 'tagBox' ).setStyle( "display", "none" );
	$( 'editTagsFormBox' ).setStyle( "display", "block" );
}

function submitNewTags( ) {


	sURL = "/bookmarks/ajaxSaveFavTags.php?" + $( 'editTagsFormBox' ).toQueryString( ) ;

	var jSonRequest = new Json.Remote( sURL, {onComplete: function(req){
		switch( req.status ){
			case "ERROR":
				ShowAlert("Oops! There was an error. Please wait a couple of minutes and refresh the page to try again","error");
				break;
			case "NOLOGIN":
				ShowAlert("Please login, your session has expired","error");
				break;
			default:
				// short por ahora
				var x = req.newtags;

				$('FavTags').setHTML( x );
				if($('tagRef'))
				{

					$('tagRef').innerHTML='<span>categorized by: </span>';
					$('tagRef').innerHTML=$('tagRef').innerHTML+x;
				}


				break;
		}

	}}).send( );

	$( 'tagBox' ).setStyle( "display", "block" );
	$( 'editTagsFormBox' ).setStyle( "display", "none" );

}

/*------------------------Edward----------------------------*/
window.addEvent('domready', function() {
	ajaxCommentOrder();

	$(document).getElements("input[type=submit]").each(
		function(element){
			element.removeEvents();
			if(element.getParent().getAttribute("name")=="sendComment" || element.getParent().getAttribute("name")=="commentsForm")
				element.addEvent('click',identifyYourself);
		});
});

function getSortOrder(){
	if($('sort-div')){
		var oSortDiv=$('sort-div');
		oSortDesc=oSortDiv.getElement('a[name=sort-desc]');
		if(oSortDesc.hasClass('sorting')){
			return 'desc';
		}
	}
	return 'asc';
}


var oOrdAjax=new Ajax();
function ajaxCommentOrder(){
	if($('sort-div')){
		var oSortDiv=$('sort-div');
		var oSortDesc=oSortDiv.getElement('a[name=sort-desc]');
		var oSortAsc=oSortDiv.getElement('a[name=sort-asc]');

		$each([oSortDesc,oSortAsc],function(oSort){
			oSort.removeEvents();
			oSort.addEvent('click', function(e){
				e = new Event(e).stop();
				
				oSortAsc.removeClass('sorting');
				oSortDesc.removeClass('sorting');
				oSort.addClass('sorting');
				$('workingordimg').setStyle('display','inline');
				oOrdAjax.cancel();
				if($E('a.pagS[href]')){
					var sUrl=$E('a.pagS[href]').getProperty('href');
				}else{
					var sUrl=window.location.href;
				}
				oOrdAjax = new Ajax(sUrl,{
					data: {'c-sort':getSortOrder(),'cmdAjax':'cmdAjax'},
					method: 'post',
					update: $('comments_section'),
					onComplete: function(){$('workingordimg').setStyle('display','none');window.fireEvent("domready");}
				});
				oOrdAjax.request();
		});
	});

	}
}

function query2obj(query) {
	var obj = new Object();
	var pairs = new Array();

	// error checking
	if (typeof(query) != 'string') { error("query2obj: query value must be a string, not '" +typeof(query)+ "'!"); }

	// remove ? from query string
	if (query.charAt(0) == '?') { query = query.substring(1, query.length); }

	pairs = query.split("&");

	for (var i=0; i < pairs.length; i++) {
		var thispair = pairs[i];
		thispair = thispair.replace(/\+/g, " "); // URL_Decode: Replace + chars with ' '
		var namevalue = thispair.split("="); // split into name and value
		
		// set field name/value values. set undefined values to zero length string
		var fname = (namevalue[0] == null) ? '' : decodeURIComponent( namevalue[0] );
		var fvalue = (namevalue[1] == null) ? '' : decodeURIComponent( namevalue[1] );
		
		if (fname.length) { obj[fname] = fvalue; } // set object value
	}

	return obj;
} 

function json_decode(str_json){var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;var j;var text=str_json;var walk=function(holder,key){var k,v,value=holder[key];if(value&&typeof value==='object'){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v;}else{delete value[k];}}}}return reviver.call(holder,key,value);};cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);});}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,''))){j=eval('('+text+')');return typeof reviver==='function'?walk({'':j},''):j;}return false;}

function reloadComments(ssid,entry){
	oCommentsForm=$$('form[name=sendComment]')[0];
	
	if(entry=='comment'){
		if(getSortOrder()=='asc'){
			var sPage='last';
		}else{
			var sPage='first';
		}
	}else{
		var sPage='current';
	}
	if(oCommentsForm){
		if($E('a.pagS[href]')){
			var sUrl=$E('a.pagS[href]').getProperty('href');
		}else{
			var sUrl=window.location.href;
		}
		new Ajax(sUrl,{
			update: $('comments_section'),
			method:'POST',
			data:{'cmdAjax':'cmdAjax','c-sort':getSortOrder(),'sPage':sPage},
			onComplete:function(){
				oCommentsForm.getElement('#commentSubmit').removeProperty('disabled');
		        try{
			        $('sort-div').setStyle('display','block');
					oComentCount= $$('a.commentcount');
					if(oComentCount){
						$each(oComentCount,function(oCount){
							var iComentCount=(oCount.getText().split('(')[1].split(')')[0].toInt()+1);
							oCount.setText('Comments ('+iComentCount+')');
						});
					}
				}catch(err){}
				$('workingimg').setStyle('display','none');
				try{
					window.fireEvent("domready");
				}catch(err){}
				if(ssid){
					focusComment(ssid);
				}
			}
		}).request();
	}
}
/****************************************************/
function identifyYourself(e, bMsg){
	var oSubmitBtn=this;
	new Event(e).stop();
	//Forma
	var eCommentForm = oSubmitBtn.getParent();
	var sComment = eCommentForm.getElement("textarea[name=content]");
	eCommentForm.getElement('img[name=workingimg]').setStyle('display','block');
	if(sComment.value==""){
		ShowAlert("Comment box can't be blank","error");
		eCommentForm.getElement('img[name=workingimg]').setStyle('display','none');
		return;
	}
	oSubmitBtn.setProperty('disabled','disabled');
	//--------------------
	if(!$('userGuest')){
		var sParams=eCommentForm.toQueryString()+'&cmdAjax=cmdAjax&json=json';
		if($E('a.pagS[href]')){
			var sUrl=$E('a.pagS[href]').getProperty('href');
		}else{
			var sUrl=window.location.href;
		}
		new Ajax(sUrl,{
			evalScripts:false,
			data: sParams,
			method: 'post',
			onComplete: function(html){
				var req=json_decode(html);
				if(req.status=="error"){
					eCommentForm.getElement('img[name=workingimg]').setStyle('display','none');
					oSubmitBtn.removeProperty('disabled');
				}else{
					sComment.value='';
					reloadComments(req.entry_id,req.entry);
				}
			}
		}).request();
	}else{
	//-----------------------
		sURL = '/bookmarks/ajaxGuestIdentification.php';
		if( bMsg ) sURL += '?bMsg';
		//new Modal({
		new newModal({
			evalScripts:true,
			width: 620,
			contentURL:sURL,
			title:'Are you human?',
			method:'post',
			onContentLoaded:function(sHtml){
				if(window.ie){
			    	$('recaptcha_image').style.width = '225px';
				}
				eCommentForm.getElement('img[name=workingimg]').setStyle('display','none');
				oSubmitBtn.removeProperty('disabled');
				if ($('captchaForm')){
					$('captchaForm').removeEvents();
					$('captchaForm').addEvent('submit', function(e){
						e = new Event(e).stop();
						var oSubmitCaptcha = $('captchaForm').getElement('input[name=submit]');
						oSubmitCaptcha.setProperty('disabled','disabled');
						
						var oWorkingImg = $('captchaForm').getElement('img[name=workingimg]');
						oWorkingImg.setStyle('display','block');
						
						if($E('a.pagS[href]')){
							var sUrl=$E('a.pagS[href]').getProperty('href');
						}else{
							var sUrl=window.location.href;
						}
						var sParams=$('captchaForm').toQueryString()+"&"+eCommentForm.toQueryString()+"&cmdAjax=cmdAjax&json=json&withcaptcha=withcaptcha";
						var jSonRequest = new Ajax(sUrl, {
							evalScripts:false,
							data: sParams,
							method: "post",
							onComplete: function(html){
								var req=json_decode(html);
								if(req.status == "error"){
									errors = req.errors;
									if($('reCaptchaErr')){
									 	$('reCaptchaErr').setHTML(errors);
									  	$('reCaptchaErr').setStyle("display","block");
									}
									oWorkingImg.setStyle('display','none');
									oSubmitCaptcha.removeProperty('disabled');
									this.windowAdjust();
								  	Recaptcha.reload();
								}else{
									Recaptcha.destroy();
									reloadComments(req.entry_id,req.entry);
									eCommentForm.getElement('img[name=workingimg]').setStyle('display','none');
									sComment.value='';
									this.autoClose(0);
								}	
						}.bind(this)}).request();
					}.bind(this));
				}
			}
		});
	}
}
/****************************************************/
function focusComment(ssid){
	if(!ssid && ssid<0){
		return false;
	}
	try{
		var scroll = new Fx.Scroll(window, {
			wait: false,
			offset: {'x': 0, 'y': -50},
			//transition: Fx.Transitions.Quad.easeInOut,
			onComplete: function(){
				var sDiv='div[ssid='+ssid+']';
				var sLi='li[ssid='+ssid+']';
				var element=[];
				if(!(element=$E(sDiv))){
					element=$E(sLi);
				}
				element.setStyle('background-color','#cccccc');
				setTimeout(function(){
					var sDiv='div[ssid='+ssid+']';
					var sLi='li[ssid='+ssid+']';
					var element=[];
					if(!(element=$E(sDiv))){
						element=$E(sLi);
					}
					element.setStyle('background-color','#FFFFFF');
				},1000);
			}
		});
		var sDiv='div[ssid='+ssid+']';
		var sLi='li[ssid='+ssid+']';
		var element=[];
		if(!(element=$E(sDiv))){
			element=$E(sLi);
		}
		scroll.toElement(element);
	}catch(err){}
}
