var default_actions	= null;

$( document ).ready ( function (  ) { 
	default_actions = new DefaultActions (  );
} );

function DefaultActions (  ) {
	var self = this;
	
	self.entriesLoadedCounter = 10;
	// self.orderSaved = "showAll";
	self.orderSaved = "defaultOnStart";
	self.blockedLoadNext = false;
};

DefaultActions.prototype = {
	checkTextAreaHeight : function( tarea ) {
		var self 		= this;
		var nCounter 	= 1;
		var sNeedle 	= "\n";
		
		for ( var i = 0; i < tarea.value.length; i++ ) {
			if ( sNeedle == tarea.value.substr ( i, sNeedle.length ) ) {
				nCounter++;
			}
		};
		
		if ( nCounter < 2 ) return;
		
		tarea.rows = nCounter;
	},
	inputActive : function ( inputField, defaulttext ) {
		var self = this;
		
		if ( inputField.value == defaulttext ) {
			inputField.value = "";
			
			var id = inputField.id.substring ( 13, inputField.id.length );

			$("#commentField_"+id).css ( { height: "auto" } );
			
			inputField.rows=2;
			inputField.focus();
			
			$("#pic_"+id).show (  );
			
			// alert ( jQuery.browser.version );
			
			if ( $.browser.msie && ( jQuery.browser.version == "6.0" || jQuery.browser.version == "7.0" ) ) {
				switch ( $("#commentField_"+id).css ( "width" ) ) {
					case "373px":
						$("#commentField_"+id).css ( { width: "333px" } );	
					break;
					default:
						$("#commentField_"+id).css ( { width: "100%" } );	
					break;
				}
			} else {
				$("#commentField_"+id).css ( { width: "348px" } );
			};
			
			self.showButton ( id );
		};
	},
	inputClear : function ( inputField, defaulttext ) {
		var self = this;
		
		if ( inputField.value == "" ) {
		  inputField.value = defaulttext;
		  
		  var id = inputField.id.substring ( 13, inputField.id.length );
		  
		  inputField.rows = 1;
		  
		  $("#pic_"+id).hide (  );
		  
		 if ( $.browser.msie && ( jQuery.browser.version == "6.0" || jQuery.browser.version == "7.0" ) ) {
		  		if ( $("#commentField_"+id).css ( "width" ) == "333px" && ( $("#commentField_"+id).css ( "height" ) == "6px" || $("#commentField_"+id).css ( "height" ) == "14px" ) ) {
		  			$("#commentField_"+id).css ( { width: "373px" } );	
		  			$("#commentField_"+id).css ( { height: "15px" } );	
		  		} else {
		  			$("#commentField_"+id).css ( { width: "100%" } );
		  			$("#commentField_"+id).css ( { height: "25px" } );
		  		}
			} else {
				$("#commentField_"+id).css ( { width: "100%" } );
		  		$("#commentField_"+id).css ( { height: "25px" } );
			};
		  
		  self.hideButton ( id );
		};
	},
	showButton : function ( id ) {
		var self = this;
		
		$("#sendButton_"+id).show (  );
	},
	hideButton : function ( id ) {
		var self = this;
		
		$("#sendButton_"+id).hide (  );
	},
	sortContent : function ( sortOrderType ) {
		var order = "";
		switch ( sortOrderType ) {
			case "ORDER_BY_DATES":
				order = "date";
			break;
			case "ORDER_BY_LIKES":
				order = "likes";
			break;
			case "ORDER_BY_COMMENTS":
				order = "comments";
			break;
			case "ORDER_BY_NAMES":
				return false;
			break;
		}
		
		var mylist = $("#holderContent");
		var listitems = mylist.children(".post_holder").get();
		
		// ddd mmm dd yyyy HH:MM:ss
		// October 13, 1975 11:13:00
		// 2011-03-16 14:24:58
		// 03-16-2011 14:24:58
		
		listitems.sort(function(a, b) {
		  switch ( order ) {
		  	case "date":
		  		// OLD
		  		// new Date(year, month, day, hours, minutes, seconds, milliseconds)
		  		
		  		// NEW
		  		// // new Date(day, month, year, hours, minutes, seconds, milliseconds)
		  		
		  		var myDateA = $(a).attr ( order ).split ( " " );
		  		var myDateADate	= myDateA[0].split ( "-" );
		  		var myDateATime = myDateA[1].split ( ":" );
		  		
				var compA = new Date ( 
					myDateADate[0], myDateADate[1], myDateADate[2],
					myDateATime[0], myDateATime[1], myDateATime[2]
				); 
				
				var myDateB = $(b).attr ( order ).split ( " " );
		  		var myDateBDate	= myDateB[0].split ( "-" );
		  		var myDateBTime = myDateB[1].split ( ":" );
		  		
				var compB = new Date ( 
					myDateBDate[0], myDateBDate[1], myDateBDate[2],
					myDateBTime[0], myDateBTime[1], myDateBTime[2]
				);
		  		
		  	break;
		  	case "likes":
		  	case "comments":
		  		var compA = $(a).attr ( order );
		  		var compB = $(b).attr ( order );
		  	break;
		  }
		  
		   return ( compB - compA );
		});
		
		$.each ( listitems, function ( idx, itm ) {
			var item = $(listitems[idx]);
			mylist.append ( $(listitems[idx]) );
		});
	},
	showLanguage : function ( sortOrderType, language ) {
		default_actions.entriesLoadedCounter = 5;
		
		if ( default_actions.isLoadNextBar ) {
			$( "#loadNextBar" ).hide (  );
		}
		
		switch ( language ) {
			case "global":
				default_actions.orderSaved = "showAll";
				
				$( "#BUTTON_OWN_LANGUAGE" )
					.css ( "background-color", "#c7cddb" )
				
				$( "#BUTTON_OWN_LANGUAGE a" )
					.css ( "color", "#48629f" )
				
				$( "#BUTTON_OWN_LANGUAGE div:first-child" )
					.css ( "background-image", "url( 'img/box_sort_bar_button_corner_left.gif' )" )
					.css ( "background-repeat", "no-repeat" )
				
				$( "#BUTTON_OWN_LANGUAGE div:first-child div:first-child" )
					.css ( "background-image", "url( 'img/box_sort_bar_button_corner_right.gif' )" )
					.css ( "background-repeat", "no-repeat" )
					
				//#########
				
				$( "#BUTTON_ALL_LANGUAGE" )
					.css ( "background-color", "#dd2f6e" )
				
				$( "#BUTTON_ALL_LANGUAGE a" )
					.css ( "color", "#fff" )
				
				$( "#BUTTON_ALL_LANGUAGE div:first-child" )
					.css ( "background-image", "url( 'img/box_post_bar_button_corner_left_pink.gif' )" )
					.css ( "background-repeat", "no-repeat" )
				
				$( "#BUTTON_ALL_LANGUAGE div:first-child div:first-child" )
					.css ( "background-image", "url( 'img/box_post_bar_button_corner_right_pink.gif' )" )
					.css ( "background-repeat", "no-repeat" )
			break;
			default:
				default_actions.orderSaved = "showAll";
				
				$( "#BUTTON_ALL_LANGUAGE" )
					.css ( "background-color", "#c7cddb" )
				
				$( "#BUTTON_ALL_LANGUAGE a" )
					.css ( "color", "#48629f" )
				
				$( "#BUTTON_ALL_LANGUAGE div:first-child" )
					.css ( "background-image", "url( 'img/box_sort_bar_button_corner_left.gif' )" )
					.css ( "background-repeat", "no-repeat" )
				
				$( "#BUTTON_ALL_LANGUAGE div:first-child div:first-child" )
					.css ( "background-image", "url( 'img/box_sort_bar_button_corner_right.gif' )" )
					.css ( "background-repeat", "no-repeat" )
					
				//#########
				
				$( "#BUTTON_OWN_LANGUAGE" )
					.css ( "background-color", "#dd2f6e" )
				
				$( "#BUTTON_OWN_LANGUAGE a" )
					.css ( "color", "#fff" )
				
				$( "#BUTTON_OWN_LANGUAGE div:first-child" )
					.css ( "background-image", "url( 'img/box_post_bar_button_corner_left_pink.gif' )" )
					.css ( "background-repeat", "no-repeat" )
				
				$( "#BUTTON_OWN_LANGUAGE div:first-child div:first-child" )
					.css ( "background-image", "url( 'img/box_post_bar_button_corner_right_pink.gif' )" )
					.css ( "background-repeat", "no-repeat" )
			break;
		}
		
		// alert ( $( "#BUTTON_OWN_LANGUAGE div:first-child div:first-child" ).attr('class') );
		
		postCommentObject.setContentCountryCode ( language.toLowerCase() );
		
		/*
		if ( selectBox.value != 0 ) {
			postCommentObject.setContentCountryCode ( selectBox.value.toLowerCase() );
		};
		*/
		
		$( "#holderContent" ).html ( "<div id=\"loading\"><img src=\"http://campaign.sloggi.com/iv/img/ajax-loader-fb-magenta.gif\" /></div>" );
		$( "#holderContent" ).load (
			postCommentObject.campaignUrl + "class/LoadOrderedContent.class.inc.php", { 
				countryCode		: language.toLowerCase(),
				sortOrderType	: sortOrderType,
				cmsData			: postCommentObject.cmsData,
				TMPL_DIR		: tmplDir
			}, function ( response, status, xhr ) {
			if ( status == "error" ) {
				// alert ( xhr.status + " " + xhr.statusText );
			};
			
			if ( response != "" ) {
				FB.XFBML.parse ( document.getElementById ( "holderContent" ), function ( evt ) {
					
				} );
				
				if ( default_actions.isLoadNextBar ) {
					$( "#loadNextBar" ).show (  );
					$( "#loadNextBar" ).html ( "<span>" + postCommentObject.cmsData.texts_basic[16] + "</span>" );	
				} else {
					$( "#loadNextBar" ).hide (  );
				}
				
				$( ".comment_action_bar_textinput_holder" ).css ( "display", "block" );
				$( ".post_action_bar_holder" ).css ( "display", "block" );
				$( "#post_bar_container" ).css ( "display", "block" );
				
				$( "#FRIENDS" ).css ( "display", "inline" );
				$( "#OWN" ).css ( "display", "none" );
				$( "#ALL" ).css ( "display", "none" );
				
				postCommentObject.setHandler (  );
				
				$( ".like_holder" ).css ( "display", "block" );
				$( ".link_holder" ).css ( "display", "block" );
				$( ".invite_holder[rel="+"invite_holder_" + postCommentObject.postObject.jsonObjectFBData.id+"]" ).css ( "display", "block" );
				// $( "#invite_holder_" + postCommentObject.postObject.jsonObjectFBData.id ).css ( "display", "block" );
			};
		} );
	},
	showFriendsOnly : function (  ) {
		default_actions.entriesLoadedCounter = 5;
		default_actions.orderSaved = "showFriendsOnly";
		
		$( "#holderContent" ).html ( "<div id=\"loading\"><img src=\"http://campaign.sloggi.com/iv/img/ajax-loader-fb-magenta.gif\" /></div>" );
		var tmpFriendList = {};
		var tmpFriendsArray = new Array (  );
		
		$( "#holderContent" ).load (
			postCommentObject.campaignUrl + "class/LoadOrderedContent.class.inc.php", 
			{ 
				countryCode		: postCommentObject.contentCountryCode,
				sortOrderType	: "ORDER_BY_FRIENDS",
				friendsList		: postCommentObject.postObject.jsonObjectFBData.friends,
				cmsData			: postCommentObject.cmsData,
				TMPL_DIR		: tmplDir
			}, function ( response, status, xhr ) {
			if ( status == "error" ) {
				// alert ( xhr.status + " " + xhr.statusText );
			};
			
			if ( response != "" ) {
				FB.XFBML.parse ( document.getElementById ( "holderContent" ), function ( evt ) {
					
				} );
				
				if ( default_actions.isLoadNextBar ) {
					$( "#loadNextBar" ).show (  );
					$( "#loadNextBar" ).html ( "<span>" + postCommentObject.cmsData.texts_basic[16] + "</span>" );	
				} else {
					$( "#loadNextBar" ).hide (  );
				}
				
				$( ".comment_action_bar_textinput_holder" ).css ( "display", "block" );
				$( ".post_action_bar_holder" ).css ( "display", "block" );
				$( "#post_bar_container" ).css ( "display", "block" );
								
				// postCommentObject.init (  );
				postCommentObject.setHandler (  );
				
				$( ".like_holder" ).css ( "display", "block" );
				$( ".link_holder" ).css ( "display", "block" );
				$( ".invite_holder[rel="+"invite_holder_" + postCommentObject.postObject.jsonObjectFBData.id+"]" ).css ( "display", "block" );
				// $( "#invite_holder_" + postCommentObject.postObject.jsonObjectFBData.id ).css ( "display", "block" );
			} else {
				$( "#loadNextBar" ).hide (  );
				var noFriendsSTring = postCommentObject.cmsData.texts_basic[17];
				var linkage = /\{ (.*) \}/;
				linkage.exec(noFriendsSTring);
				var replaceString = noFriendsSTring.replace(/\{ (.*) \}/g, "<a href=\"#\" onclick=\"postCommentObject.streamInviteObject.inviteStream (  ); return false;\">" + RegExp.$1 + "</a>");
				$( "#holderContent" ).html ( replaceString );
				// $( "#holderContent" ).html ( "There aren't any entries of your friends yet. <a href=\"#\" onclick=\"postCommentObject.streamInviteObject.inviteStream (  );\">Invite some</a>" );
			};
		} );
	},
	showOwnOnly : function (  ) {
		default_actions.entriesLoadedCounter = 5;
		default_actions.orderSaved = "showOwnOnly";
		
		$( "#holderContent" ).html ( "<div id=\"loading\"><img src=\"http://campaign.sloggi.com/iv/img/ajax-loader-fb-magenta.gif\" /></div>" );
		$( "#holderContent" ).load (
			postCommentObject.campaignUrl + "class/LoadOrderedContent.class.inc.php", 
			{ 
				countryCode		: postCommentObject.contentCountryCode,
				sortOrderType	: "ORDER_BY_OWN",
				userFbId		: postCommentObject.postObject.jsonObjectFBData.id,
				cmsData			: postCommentObject.cmsData,
				TMPL_DIR		: tmplDir
			}, function ( response, status, xhr ) {
			if ( status == "error" ) {
				// alert ( xhr.status + " " + xhr.statusText );
			};
			
			if ( response != "" ) {
				FB.XFBML.parse ( document.getElementById ( "holderContent" ), function ( evt ) {
					
				} );
				
				if ( default_actions.isLoadNextBar ) {
					$( "#loadNextBar" ).show (  );
					$( "#loadNextBar" ).html ( "<span>" + postCommentObject.cmsData.texts_basic[16] + "</span>" );	
				} else {
					$( "#loadNextBar" ).hide (  );
				}
				
				$( ".comment_action_bar_textinput_holder" ).css ( "display", "block" );
				$( ".post_action_bar_holder" ).css ( "display", "block" );
				$( "#post_bar_container" ).css ( "display", "block" );
					
				// postCommentObject.init (  );
				postCommentObject.setHandler (  );
				
				$( ".like_holder" ).css ( "display", "block" );
				$( ".link_holder" ).css ( "display", "block" );
				$( ".invite_holder[rel="+"invite_holder_" + postCommentObject.postObject.jsonObjectFBData.id+"]" ).css ( "display", "block" );
				// $( "#invite_holder_" + postCommentObject.postObject.jsonObjectFBData.id ).css ( "display", "block" );
			};
		} );
	},
	loadNextEntriesByAmount : function (  ) {
		if ( default_actions.blockedLoadNext ) return false;
		
		var self = this;
		$( "#loadNextBar" ).show (  );
		if ( $( "#loadNextBar" ).css ( "display" ) == "block" ) {
			$( "#loadNextBar" ).html ( "<img src=\"http://campaign.sloggi.com/iv/img/ajax-loader-fb-magenta.gif\" style=\"padding: 7px 0px 0px 0px;\"/>" );
		};
		
		ajaxObject.doAjax ( {
			type			: "POST",
			url				: postCommentObject.campaignUrl + "class/LoadOrderedContent.class.inc.php",
			dataType		: "html",
			data			: {
				sortOrderType	: "LOAD_NEXT_ENTRIES_BY_AMOUNT",
				// countryCode		: ( ( default_actions.orderSaved == "showAll" && default_actions.isLoadNextBar ) ? "global" : postCommentObject.contentCountryCode ),
				countryCode		: ( ( default_actions.isLoadNextBar == true || default_actions.orderSaved == "defaultOnStart" ) ? postCommentObject.contentCountryCode : "global" ),
				TMPL_DIR		: tmplDir,
				userFbId		: postCommentObject.postObject.jsonObjectFBData.id,
				friendsList		: postCommentObject.postObject.jsonObjectFBData.friends,
				cmsData			: postCommentObject.cmsData,
				orderSaved		: default_actions.orderSaved,
				startSeaarchPoint	: default_actions.entriesLoadedCounter
			},
			callBackFunc	: function ( data ) {
				if ( data.error ) {
					// alert ( "Error" );
				};
				
				if ( data != "" ) {
					
					if ( default_actions.isLoadNextBar ) {
						$( "#loadNextBar" ).show (  );
						$( "#loadNextBar" ).html ( "<span>" + postCommentObject.cmsData.texts_basic[16] + "</span>" );	
					} else {
						$( "#loadNextBar" ).hide (  );
					}
					
					$( "#holderContent" ).append (
						data
					);
					
					
					FB.XFBML.parse ( document.getElementById ( "holderContent" ), function ( evt ) {
						
					} );
					
					$( ".comment_action_bar_textinput_holder" ).css ( "display", "block" );
					$( ".post_action_bar_holder" ).css ( "display", "block" );
					$( "#post_bar_container" ).css ( "display", "block" );
						
					postCommentObject.setHandler (  );
					
					$( ".like_holder" ).css ( "display", "block" );
					$( ".link_holder" ).css ( "display", "block" );
					$( ".invite_holder[rel="+"invite_holder_" + postCommentObject.postObject.jsonObjectFBData.id+"]" ).css ( "display", "block" );
					// $( "#invite_holder_" + postCommentObject.postObject.jsonObjectFBData.id ).css ( "display", "block" );
					
					default_actions.entriesLoadedCounter += 5;
					
					setTimeout ( function (  ) {
						default_actions.blockedLoadNext = false;
					}, 2000 );
				} else {
					$( "#loadNextBar" ).hide (  );
					if ( !default_actions.isLoadNextBar ) {
						default_actions.blockedLoadNext = true;	
					}
				};
			}
		} );
		
		/*
		$( "#holderContent" ).load (
			postCommentObject.campaignUrl + "class/LoadOrderedContent.class.inc.php", 
			{ 
				countryCode		: postCommentObject.contentCountryCode,
				sortOrderType	: "ORDER_BY_OWN",
				userFbId		: postCommentObject.postObject.jsonObjectFBData.id,
				cmsData			: postCommentObject.cmsData,
				TMPL_DIR		: tmplDir
			}, function ( response, status, xhr ) {
			if ( status == "error" ) {
				alert ( xhr.status + " " + xhr.statusText );
			};
			
			if ( response != "" ) {
				FB.XFBML.parse ( document.getElementById ( "holderContent" ), function ( evt ) {
					
				} );
				
				$( ".comment_action_bar_textinput_holder" ).css ( "display", "block" );
				$( ".post_action_bar_holder" ).css ( "display", "block" );
				$( "#post_bar_container" ).css ( "display", "block" );
					
				// postCommentObject.init (  );
				postCommentObject.setHandler (  );
			};
		} );
		*/
	},
	toggleFriendsAndOwn : function ( elementID ) {
		var self = this;
		
		var ausdruck = /TOOGLE_(.*)/;
		ausdruck.exec(elementID);
		
		var parentID = RegExp.$1;
		
		switch ( parentID ) {
			case "FRIENDS":
				default_actions.blockedLoadNext = false;
				$( "#loadNextBar" ).hide (  );
				self.showFriendsOnly (  );
				$( "#OWN" ).css ( "display", "inline" );
				$( "#FRIENDS" ).css ( "display", "none" );
				$( "#ALL" ).css ( "display", "none" );
			break;
			case "OWN":
				default_actions.blockedLoadNext = false;
				$( "#loadNextBar" ).hide (  );
				self.showOwnOnly (  );
				$( "#FRIENDS" ).css ( "display", "none" );
				$( "#OWN" ).css ( "display", "none" );
				$( "#ALL" ).css ( "display", "inline" );
			break;
			case "ALL":
				default_actions.blockedLoadNext = false;
				default_actions.entriesLoadedCounter = 5;
				default_actions.orderSaved = "showAll";
				
				$( "#loadNextBar" ).hide (  );
				
				$( "#FRIENDS" ).css ( "display", "inline" );
				$( "#OWN" ).css ( "display", "none" );
				$( "#ALL" ).css ( "display", "none" );
				// alert ( default_actions.isLoadNextBar + " - " + postCommentObject.contentCountryCode );
				$( "#holderContent" ).html ( "<div id=\"loading\"><img src=\"http://campaign.sloggi.com/iv/img/ajax-loader-fb-magenta.gif\" /></div>" );
				$( "#holderContent" ).load (
					postCommentObject.campaignUrl + "class/LoadOrderedContent.class.inc.php", { 
						countryCode		: ( ( default_actions.isLoadNextBar == true ) ? postCommentObject.contentCountryCode : "global" ),
						sortOrderType	: "ORDER_BY_LANGUAGES",
						cmsData			: postCommentObject.cmsData,
						TMPL_DIR		: tmplDir
					}, function ( response, status, xhr ) {
					if ( status == "error" ) {
						// alert ( xhr.status + " " + xhr.statusText );
					};
					
					if ( response != "" ) {
						FB.XFBML.parse ( document.getElementById ( "holderContent" ), function ( evt ) {
							
						} );
						
						if ( default_actions.isLoadNextBar ) {
							$( "#loadNextBar" ).show (  );
							$( "#loadNextBar" ).html ( "<span>" + postCommentObject.cmsData.texts_basic[16] + "</span>" );	
						} else {
							$( "#loadNextBar" ).hide (  );
						}
						
						$( ".comment_action_bar_textinput_holder" ).css ( "display", "block" );
						$( ".post_action_bar_holder" ).css ( "display", "block" );
						$( "#post_bar_container" ).css ( "display", "block" );
										
						// default_actions.entriesLoadedCounter += 5;
										
						// postCommentObject.init (  );
						postCommentObject.setHandler (  );
						
						$( ".like_holder" ).css ( "display", "block" );
						$( ".link_holder" ).css ( "display", "block" );
						$( ".invite_holder[rel="+"invite_holder_" + postCommentObject.postObject.jsonObjectFBData.id+"]" ).css ( "display", "block" );
						// $( "#invite_holder_" + postCommentObject.postObject.jsonObjectFBData.id ).css ( "display", "block" );
					};
				} );
			break;
			case "LOGIN":
				fb_connect.logIn (  );
			break;
		}
	}
};
