CreatoorSN.namespace('friends');
CreatoorSN.friends = {


    /**
     * Set of methods for manipulation with Friends.
     * -> allFriends, friendRequests and mySentRequests
     * 
     * @method checkAllMessages
     * @method unCheckAllMessages
     * @method checkReadMessages
     * @method checkInverseMessages
     * 
     * @param {String} elementClass
     *
     */

	
	 /**
     * Send friend request to selected user
     *
     */
    
    getContactDetails : function (element) {
    
   		var target = _$('workingStatus');
		target.innerHTML = '<img src="/images/ajax-loader.gif" alt="nalagam..." style="margin-top: 1px; margin-left: 20px;" />';

    },
         
	/**
     * friend defined vars
     *
     * tab holders for friend's html
     *
     */
     allFriendsTabHolder : '',
     friendRequestsTabHolder : '',
     mySentRequestsTabHolder : '',
     
     
	/**
     * friend method's
     */
    allFriends : function (page, buttonObject) {
 		
 		
		if (!CreatoorSN.friends.toogleFriendButton(buttonObject, 'allFriendsTabHolder')){
		
			//ajax call for tab data
			var oCallback = {
				
	            success : function (o) {
					
					var response = YAHOO.lang.JSON.parse(o.responseText);
					if (response.noAuth) {
						var login = new noAuth(function(noAuthObj){
							CreatoorSN.friends.allFriends(page, buttonObject);
						}, response.message);
						return;
					} 				
					_$('messagesInner').innerHTML = response.message;
					CreatoorSN.friends.allFriendsTabHolder = response.message;
					
	            },
	            
	            failure : function (o) {	            
	            	_$('messagesInner').innerHTML = CreatoorSN.common.translate('Sorry, something went wrong. Please try again later.') + '<br />';	   
	            },
	            
	            timeout: CreatoorSN.common.iAjaxTimeout
				
	        };
			
			_$('messagesInner').innerHTML = '';
			
	        YAHOO.util.Connect.asyncRequest(
	            "GET",
	            "/members/ajax/all-friends/?page=" + parseInt(page, 10),
	            oCallback
	        );	
			
		} else { 
            _$('messagesInner').innerHTML = CreatoorSN.friends.allFriendsTabHolder;
		}

    },


    friendRequests : function (page, buttonObject) {
 		
		if (!CreatoorSN.friends.toogleFriendButton(buttonObject, 'friendRequestsTabHolder')){
		
			//ajax call for tab data
			var oCallback = {
				
	            success : function (o) {
									
					var response = YAHOO.lang.JSON.parse(o.responseText);
					if (response.noAuth) {
						var login = new noAuth(function (noAuthObj){
							CreatoorSN.friends.friendRequests(page, buttonObject);
						}, response.message);
						return;
					} 				
					_$('messagesInner').innerHTML = response.message;
					CreatoorSN.friends.friendRequestsTabHolder = response.message;	
					
	            },
	            
	            failure : function (o) {	            
	            	_$('messagesInner').innerHTML = CreatoorSN.common.translate('Sorry, something went wrong. Please try again later.') + '<br />';	   
	            },
	            
	            timeout: CreatoorSN.common.iAjaxTimeout	            
	        };
			
			_$('messagesInner').innerHTML = '';
			
	        YAHOO.util.Connect.asyncRequest(
	            "GET",
	            "/members/ajax/friend-requests/?page=" + parseInt(page, 10),
	            oCallback
	        );
			
		} else {
            _$('messagesInner').innerHTML = CreatoorSN.friends.friendRequestsTabHolder;		
		}

    },
    
    
    mySentRequests : function (page, buttonObject) {
 		
		if (!CreatoorSN.friends.toogleFriendButton(buttonObject, 'mySentRequestsTabHolder')) {
		
			//ajax call for tab data
			var oCallback = {
				
				success: function(o) {

					var response = YAHOO.lang.JSON.parse(o.responseText);
					if (response.noAuth) {
						var login = new noAuth(function(noAuthObj){
							CreatoorSN.friends.mySentRequests(page, buttonObject);
						}, response.message);
						return;
					}
					_$('messagesInner').innerHTML = response.message;
					CreatoorSN.friends.mySentRequestsTabHolder = response.message;
					
				},
				
				failure: function(o) {				
					_$('messagesInner').innerHTML = CreatoorSN.common.translate('Sorry, something went wrong. Please try again later.') + '<br />';
				},
				
			    timeout: CreatoorSN.common.iAjaxTimeout
					            
			};
			
			_$('messagesInner').innerHTML = '';
			
			YAHOO.util.Connect.asyncRequest(
                "GET",
				"/members/ajax/my-sent-requests/?page=" + parseInt(page, 10),
				oCallback
			);
			
		} else {
			_$('messagesInner').innerHTML = CreatoorSN.friends.mySentRequestsTabHolder;
		}

    },


	toogleFriendButton : function (buttonObject, tab) {	
		

		var elements = YAHOO.util.Dom.getElementsByClassName('messageBatoon');		    	
    	for (x=0;x<elements.length;x++){
			elements[x].className = 'messageBatoon messageBatoonActivePermanent';
		}
				
		buttonObject.className = 'messageBatoon messageBatoonLeftActive';


		//insert tab's holder data
		if (CreatoorSN.friends[tab] != ''){		 
			_$('messagesInner').innerHTML = CreatoorSN.friends[tab];
			return true;
			
		} else return false;
		
	},
     
	/**
     * Remove friend
     *
     */

    removeFriend : function (element) {
    
    	var stringElement = element;
		element = element.split('id_');
    	target = _$('ajaxWorkingStatus');
    	
    	
    	if (typeof(element[1]) != 'undefined' && element[1].length == 10) {
    	
    		
    		var oCallback = {                
	            success : function (o) {
	                 if (YAHOO.lang.JSON.isSafe(o.responseText)) {
					 	var response = YAHOO.lang.JSON.parse(o.responseText);
						if (response.noAuth) {
	                        var login = new noAuth(function (noAuthObj){
	                            CreatoorSN.friends.removeFriend(stringElement);
	                        }, response.message);
	                        return;
	                    } 
					 }
	            	//remove curent element
	            	if (o.responseText == 1) {
	            	
	            		_$('myFriendsList').removeChild(_$('friend_' + element[1]));
	            		target.innerHTML = '';
	            		CreatoorSN.friends.allFriendsTabHolder = _$('myFriendsList').innerHTML;

	            	} else target.innerHTML = CreatoorSN.common.translate('Sorry, something went wrong. Please try again later.') + '<br />';

	
	            },
	            
	            failure : function (o) {
	            
	            	target.innerHTML = CreatoorSN.common.translate('Sorry, something went wrong. Please try again later.'); 
	            }
	            
	            //timeout: CreatoorSN.common.iAjaxTimeout
            
        	};
        	
        	
        	YAHOO.util.Connect.asyncRequest(
	            "POST",
	            "/members/ajax/remove-friend/",
	            oCallback,
	            'id=' + element[1]
        	);  		
    	}
    },
     
	/**
     * friend defined vars
     *
     */

    confirmFriend : function (id) {
    
    	var target = _$('request' + id);    	
    	if (target) {
    		var overlay = disableElement(target);
    		var oCallback = {                
	            success : function (o) {
    			   removeElement(overlay);
	               if (YAHOO.lang.JSON.isSafe(o.responseText)) {
                        var response = YAHOO.lang.JSON.parse(o.responseText);
                        if (response.noAuth) {
                            var login = new noAuth(function (noAuthObj){
                                CreatoorSN.friends.confirmFriend(stringElement);
                            }, response.message);
                            return;
                        }
                        if (response.success) {
                        	var newFriend = YAHOO.util.Dom.getElementsByClassName('bold', 'div', target);
                        	newFriend = newFriend.shift();
                        	var msg = new creaDomObject({
                        		tag: 'div',
                        		className: 'left',
                        		html: CreatoorSN.common.translate('has been added to your friends list') + '.',
                        		style: {
                        			paddingTop: '10px',
                        			marginLeft: '5px'
                        		}
                        	});
                        	var clear = new creaDomObject({tag: 'div', className: 'clear'});
                        	target.innerHTML = '';
                        	target.style.backgroundColor = '#D7E2A3';
                        	target.appendChild(newFriend);
                        	msg.addTo(target);
                        	clear.addTo(target);
                        } else {
                        	CreatoorSN.common.showErrorAlert(response.message);
                        }
                     } else {
                    	 CreatoorSN.common.showErrorAlert(CreatoorSN.common.translate('Sorry, something went wrong. Please try again later.'));
                     }	
	            },
	            
	            failure : function (o) {
	            	removeElement(overlay);
	            	CreatoorSN.common.showErrorAlert(CreatoorSN.common.translate('Sorry, something went wrong. Please try again later.'));    
	            },	            
	            timeout: CreatoorSN.common.iAjaxTimeout
            
        	};        	
        	
        	YAHOO.util.Connect.asyncRequest(
	            "POST",
	            "/members/ajax/confirm-friend/",
	            oCallback,
	            'id=' + id
        	);   		
    	}    	
    },	
     
     
	/**
     * remove friend request
     *
     */

    removeFriendRequest : function (id) {
    
    	var target = _$('request' + id);
    	
    	if (target) {
    		var overlay = disableElement(target);
    		var oCallback = {                
	            success : function (o) {
    			   removeElement(overlay);
	               if (YAHOO.lang.JSON.isSafe(o.responseText)) {
                        var response = YAHOO.lang.JSON.parse(o.responseText);
                        if (response.noAuth) {
                            var login = new noAuth(function (noAuthObj){
                                CreatoorSN.friends.removeFriendRequest(stringElement);
                            }, response.message);
                            return;
                        }
                        if (response.success) {
                        	var newFriend = YAHOO.util.Dom.getElementsByClassName('bold', 'div', target);
                        	newFriend = newFriend.shift();
                        	var msg = new creaDomObject({
                        		tag: 'div',
                        		className: 'left',
                        		html: CreatoorSN.common.translate('has been removed from your friend requests') + '.',
                        		style: {
                        			paddingTop: '10px',
                        			marginLeft: '5px'
                        		}
                        	});
                        	var clear = new creaDomObject({tag: 'div', className: 'clear'});
                        	target.innerHTML = '';
                        	target.style.backgroundColor = '#FFC4C4';
                        	target.appendChild(newFriend);
                        	msg.addTo(target);
                        	clear.addTo(target);
    	            	} else {
    	            		CreatoorSN.common.showErrorAlert(response.message);
    	            	}
                     } else {
                    	 CreatoorSN.common.showErrorAlert(CreatoorSN.common.translate('Sorry, something went wrong. Please try again later.'));
                     }
	            	

	
	            },
	            
	            failure : function (o) {
	            	removeElement(overlay);
	            	CreatoorSN.common.showErrorAlert(CreatoorSN.common.translate('Sorry, something went wrong. Please try again later.'));
	            },	            
	            timeout: CreatoorSN.common.iAjaxTimeout
            
        	};
        	
        	
        	YAHOO.util.Connect.asyncRequest(
	            "POST",
	            "/members/ajax/remove-friend-request/",
	            oCallback,
	            'id=' + id
        	);   		
    	}    	
    },
    
    removeSentRequest : function (id) {
        
    	var target = _$('request' + id);
    	
    	if (target) {
    		var overlay = disableElement(target);
    		var oCallback = {                
	            success : function (o) {
    			   removeElement(overlay);
	               if (YAHOO.lang.JSON.isSafe(o.responseText)) {
                        var response = YAHOO.lang.JSON.parse(o.responseText);
                        if (response.noAuth) {
                            var login = new noAuth(function (noAuthObj){
                                CreatoorSN.friends.removeFriendRequest(id);
                            }, response.message);
                            return;
                        }
                        if (response.success) {
                        	var newFriend = YAHOO.util.Dom.getElementsByClassName('bold', 'div', target);
                        	newFriend = newFriend.shift();
                        	newFriend.style.marginLeft = '0px';
                        	var preMsg = new creaDomObject({
                        		tag: 'div',
                        		className: 'left',
                        		html: CreatoorSN.common.translate('Request sent to'),
                        		style: {
                        			paddingTop: '10px',
                        			marginRight: '5px'
                        		}
                        	});
                        	var msg = new creaDomObject({
                        		tag: 'div',
                        		className: 'left',
                        		html: CreatoorSN.common.translate('has been removed from your sent friend requests') + '.',
                        		style: {
                        			paddingTop: '10px',
                        			marginLeft: '5px'
                        		}
                        	});
                        	var clear = new creaDomObject({tag: 'div', className: 'clear'});
                        	target.innerHTML = '';
                        	target.style.backgroundColor = '#FFC4C4';
                        	preMsg.addTo(target);
                        	target.appendChild(newFriend);
                        	msg.addTo(target);
                        	clear.addTo(target);
    	            	} else {
    	            		CreatoorSN.common.showErrorAlert(response.message);
    	            	}
                     } else {
                    	 CreatoorSN.common.showErrorAlert(CreatoorSN.common.translate('Sorry, something went wrong. Please try again later.'));
                     }
	            	

	
	            },
	            
	            failure : function (o) {
	            	removeElement(overlay);
	            	CreatoorSN.common.showErrorAlert(CreatoorSN.common.translate('Sorry, something went wrong. Please try again later.'));
	            },	            
	            timeout: CreatoorSN.common.iAjaxTimeout
            
        	};
        	
        	
        	YAHOO.util.Connect.asyncRequest(
	            "POST",
	            "/members/ajax/remove-sent-friend-request/",
	            oCallback,
	            'id=' + id
        	);   		
    	}    	
    },

	/**
     * manipulations with checkboxes
     *
     */
    checkAllRecipients : function (elementClass) {
 		
 		//alert(elementClass);
		var elements = YAHOO.util.Dom.getElementsByClassName(elementClass);
		//alert(elements);    	
    	for (x=0;x<elements.length;x++){
			elements[x].checked = true;
		}

    },
       
    unCheckAllRecipients : function (elementClass) {
 		//alert(elementClass);
 		var elements = YAHOO.util.Dom.getElementsByClassName(elementClass);
		//alert(elements);    	
    	for (x=0;x<elements.length;x++){
			elements[x].checked = false;
		}

    },

    checkInverseRecipients : function (elementClass) {
 		//alert(elementClass);
 		var elements = YAHOO.util.Dom.getElementsByClassName(elementClass);
		//alert(elements);    	
    	for (x=0;x<elements.length;x++){
    		
    		if (elements[x].checked) { elements[x].checked = false; }
    		else {elements[x].checked = true; } 					
		}
		
    },

	/**
     * Generate search results
     *
     */
    generateSearchResults : function () {
 		
		
		var searchString = _$('search_box').value;

		if (searchString !== '') {
		
				
    		var oCallback = {                
	            success : function (o) {

					var response = YAHOO.lang.JSON.parse(o.responseText);
					if (response.noAuth) {
                        var login = new noAuth(function (noAuthObj){
                            CreatoorSN.friends.generateSearchResults();
                        }, response.message);
                        return;
                    } 				
					_$('AjaxFriendsInner').innerHTML = '<br />' + response + '<div class="messageContainer"><br />&nbsp;<br /></div>';
					document.location.replace('/search-users#AjaxFriendsInner');	            	

	            },
	            
	            failure : function (o) {
	            
	            	target.innerHTML = CreatoorSN.common.translate('Sorry, something went wrong. Please try again later.');
	            }
	            
	            //timeout: CreatoorSN.common.iAjaxTimeout
            
        	};
        	
        	
        	YAHOO.util.Connect.asyncRequest(
	            "POST",
	            "/members/ajax/generate-search-results/",
	            oCallback,
	            'searchString=' + searchString
        	); 
        	
        }


    },
    
       
    /**
     * Send friend request to selected recipient
     *
     */
    
    sendFriendRequest : function (recipientId) { 
       	  
       	var composeMessageInner = _$('composeMessageInner'); 
       	if (composeMessageInner !== null) return; 
       	     	
  		var content = new creaDomObject(
			{
				tag: 'div',
				id: 'friendRequest'
			}
		);	
			
		// create message content div
		CreatoorSN.messages.composeMessageWindow = new creaDomWindow(
		    {
				width: 402,
				header: {title: CreatoorSN.common.translate('Friend request')},
				content: {elements: [content]}
			}
		);
		
		CreatoorSN.messages.composeMessageWindow.open();
		var composeMessageInner = _$('friendRequest');
		//libraryWindow.onclose(enableMenuItem, {menuObject: config.menuObject, index: config.index, submenuIndex: 0});			
		CreatoorSN.messages.composeMessageWindow.disable();
		
		var oCallback = {                
            success : function (o) {
				if (YAHOO.lang.JSON.isSafe(o.responseText)) {
					var response = YAHOO.lang.JSON.parse(o.responseText);
					if (response.noAuth) {
                        var login = new noAuth(function (noAuthObj){
                            CreatoorSN.friends.sendFriendRequest(recipientId);
                        }, response.message);
                        return;
                    }
				}
				CreatoorSN.messages.composeMessageWindow.enable();
				composeMessageInner.innerHTML = o.responseText;
				//CreatoorSN.messages.autoComplete();   
            },
            
            failure : function (o) {
            	composeMessageInner.innerHTML = CreatoorSN.common.translate('Sorry, something went wrong. Please try again later.') + '<br />';
            }
            
            //timeout: CreatoorSN.common.iAjaxTimeout
            
        };
        
        YAHOO.util.Connect.asyncRequest(
            "GET",
            "/members/ajax/friend-request/?" + 're=' + recipientId,
            oCallback
        );

    },    
    
    closeMessageWindow : function () {     
    	CreatoorSN.messages.composeMessageWindow.close();
    },

    /**
     * Show message content and remove 
     * message onclick event
     *
     */
    
    showMessageContent : function (element) { 

		YAHOO.util.Dom.addClass(element, 'displayNone');
		element = _$('friendMessageContent');
		YAHOO.util.Dom.removeClass(element, 'displayNone');

	},
		
    /**
     * Send friend request to selected user
     *
     */
    
    submitFriendRequest : function (element) { 


		target = _$('error_report');
		
		if (typeof(element) != 'undefined' && element !=='') {
		
		    var oCallback = {                
	            success : function (o) {
	            
	            	if (YAHOO.lang.JSON.isSafe(o.responseText)) {
	                    var response = YAHOO.lang.JSON.parse(o.responseText);
	                    if (response.noAuth) {
	                        var login = new noAuth(function (noAuthObj){
	                            CreatoorSN.friends.submitFriendRequest(element);
	                        }, response.message);
	                        return;
	                    }
	                }
	            
	            	//remove curent element
	            	if (o.responseText == 1) {
	            	
	            		target.innerHTML = '<span class="green">' + CreatoorSN.common.translate('Your request was successfully sent.') + '</span>';
	            		setTimeout("CreatoorSN.messages.closeMessageWindow();",2600);	

	            	} else switch (o.responseText){
	            	
	            		case '-11' : 	            			
	            			target.innerHTML = CreatoorSN.common.translate('Selected user is already your friend.');
	            			setTimeout("CreatoorSN.messages.closeMessageWindow();",2600);	            					 
	            			break;
	            		case '-19' : 	            			
	            			target.innerHTML = CreatoorSN.common.translate('Invitation can not be sent to yourself.');
	            			setTimeout("CreatoorSN.messages.closeMessageWindow();",2600);	            					 
	            			break;
					    case '-31':						    
						    target.innerHTML = CreatoorSN.common.translate('You already sent an invitation to selcetd user.');
                            setTimeout("CreatoorSN.messages.closeMessageWindow();",2600);                                    
                            break;
					    case '-15'://removed restored						    
						    target.innerHTML = CreatoorSN.common.translate('You restored a friend that you removed from your friend list earlier');
                            setTimeout("CreatoorSN.messages.closeMessageWindow();",2600);                                    
                            break;
					    case '-12'://removedc from friends						    
						    target.innerHTML = CreatoorSN.common.translate('Friend request cant be sent because you have been removed from specified users friend list');
                            setTimeout("CreatoorSN.messages.closeMessageWindow();",2600);                                    
                            break;
					    case '-14'://rejected restored						    
						    target.innerHTML = CreatoorSN.common.translate('You confirmed a friend whose request you rejected earlier');
                            setTimeout("CreatoorSN.messages.closeMessageWindow();",2600);                                    
                            break;
					    case '-13'://request already rejected						    
						    target.innerHTML = CreatoorSN.common.translate('Friend request cant be sent because it was already rejected');
                            setTimeout("CreatoorSN.messages.closeMessageWindow();",2600);                                    
                            break;
	            		default : 
	            			target.innerHTML = CreatoorSN.common.translate('Sorry, something went wrong. Please try again later.');
	            			break;	            	
	            	} 

	
	            },
	            
	            failure : function (o) {
	            
	            	target.innerHTML = CreatoorSN.common.translate('Sorry, something went wrong. Please try again later.');
	            }
	            
	            //timeout: CreatoorSN.common.iAjaxTimeout
            
        	};
        	
        	var message = _$('composeMessagesText').value;
        	
        	YAHOO.util.Connect.asyncRequest(
	            "POST",
	            "/members/ajax/submit-friend-request/",
	            oCallback,
	            'id=' + element + '&message=' + message
        	);
        } 

	},
	
	sendInvitationMails: function(listID) {
	 
		if(listID !='')
			var recipenList = YAHOO.util.Dom.get(listID);
    
		data = recipenList.value;
     
		var url="members/ajax/send-invitation-mails";
		var calback = {
				
			success: function(o) {
			
				if (YAHOO.lang.JSON.isSafe(o.responseText)) {
					var r = YAHOO.lang.JSON.parse(o.responseText);
					if (r.success) {
						CreatoorSN.common.showErrorAlert(r.message,CreatoorSN.common.translate('Message'));
					} else {
						CreatoorSN.common.showErrorAlert(r.message,CreatoorSN.common.translate('Message'));
					} 
				} else {
					CreatoorSN.common.showErrorAlert(r.message,CreatoorSN.common.translate('Message'));
				}        
			},
			failure: function(o) {}
		}  
		
		if (data != '') {
			var postData = 'contacts='+encodeURIComponent(data);
			YAHOO.util.Connect.asyncRequest( "POST", url, calback,postData);
		}  
	  
	},
	
	sendInvitationViaMail: function(){
	  var html = '';
    html += '<div style="padding:20px;" class="invitationContent">';  
    html += '<span style="font-size:1.4em;font-weight:bold;">'+CreatoorSN.common.translate('Write your friends\' e-mails and send them invitation.')+'</span><br>';
    html += '<span >'+CreatoorSN.common.translate('Contact shuld be seperated with comma (,).')+' </span>';
    html += '<textarea id="recipenList" onfocus="this.select();" style="width:95%;height:150px;"></textarea>';
    html += '<span class="submitBotton right" onclick="CreatoorSN.friends.sendInvitationMails(\'recipenList\')" onclick="return false">'+CreatoorSN.common.translate('Send invitations')+'</span>';
    html += '<div class="clear"></div>';
	  var content = new creaDomObject(
      {
        tag: 'div',
        id:'content',
        html: html
                       
      }
    );   
    var postButton = new creaDomObject(
      {
        tag: 'div',
        id:'postBotton',
        className: 'submitBotton',
        width:84,
        html: CreatoorSN.common.translate('Send invitations'),
        style:{cssCursor:'pointer',cssCursor:'hand',cssFloat:'none',cssMargin:'10px auto 0'}
                       
      }
    );  
    var closeButton = new creaDomObject(
      {
        tag: 'div',
        id:'closeBotton',
        className: 'submitBotton',
        width:84,
        html: CreatoorSN.common.translate('Close'),
        style:{cssCursor:'pointer',cssCursor:'hand',cssFloat:'none',cssMargin:'10px auto 0'}
                       
      }
    );  
  
    postButton.domElement.onclick = function(){      
        selectBox.close();      
      return false;
    }
    closeButton.domElement.onclick = function(){      
        selectBox.close();      
      return false;
    }
    showInvitationBox = new creaDomWindow(
        {
        width:500,
        header: {title: CreatoorSN.common.translate('Invite friends via mail')},
        content: {elements: [content]}
      }
    );  
    showInvitationBox.open();
	},
	showInvitesBoxForomAll: function(){
	  
	  var url="members/ajax/show-open-inviter-form";
    var calback = {
      success: function(o){
        if (YAHOO.lang.JSON.isSafe(o.responseText)) {
          var r = YAHOO.lang.JSON.parse(o.responseText);
          if (r.success) {
            
            var html = r.html;
            var content = new creaDomObject({
              tag: 'div',
              id:'content',
              html: r.html                       
            });  
            getContactBox = new creaDomWindow({
              width:250,
              header: {title: 'Invite friends'},
              content: {elements: [content]}
            });  
            getContactBox.open();
          }else{
            CreatoorSN.common.showErrorAlert(r.html,CreatoorSN.common.translate('Message'));
          } 
        }else{
          CreatoorSN.common.showErrorAlert(r.html,CreatoorSN.common.translate('Message'));
        }        
      },
      failure: function(o){
      
      }
    }  
   
    YAHOO.util.Connect.asyncRequest( "GET", url, calback);
    	  
	  
	},
	showAllInInvitationBox: function(){
	   var html = '';
	   html += '<div style="padding:20px;" class="invitationContent">';
     html += '<span style="font-size:1.4em;font-weight:bold;">'+CreatoorSN.common.translate('Invite friends from below listed contacts')+'</span><br/>';
     html +=  CreatoorSN.common.translate('(click on contact)');
     html += '<div id="autoExport" style="margin-top:20px;">';
     html += '  <form name="openinviter" method="post" id="importForm" action="" onsubmit="CreatoorSN.promotion.importContacts(this);return false;">';
     html += '  <table class="importTable">';
     html += '   <tr >';
     html += '     <td><input type="radio"  onclick="CreatoorSN.promotion.getContactsBox(\'gmail\')"/><img title="Gmail" src="/images/gmail.png" onclick="CreatoorSN.friends.getContactsBox(\'gmail\')" style="cursor:hand;cursor:pointer;"></td>';
     html += '     <td><input type="radio"  onclick="CreatoorSN.promotion.getContactsBox(\'yahoo\')" /><img title = "Yahoo" src="/images/YahooMailLogo.png" onclick="CreatoorSN.friends.getContactsBox(\'yahoo\')" style="cursor:hand;cursor:pointer;"></td>';
     html += '     <td><input type="radio"  onclick="CreatoorSN.promotion.getContactsBox(\'hotmail\')"/><img  title = "Hotmail" src="/images/hotmail.png" onclick="CreatoorSN.friends.getContactsBox(\'hotmail\')" style="cursor:hand;cursor:pointer;"></td>';
     html += '     <td><input type="radio"  onclick="CreatoorSN.promotion.getContactsBox(\'facebook\')"/><img  title = "Facebook" src="/images/facebook.png" onclick="CreatoorSN.friends.getContactsBox(\'facebook\')" style="cursor:hand;cursor:pointer;"></td>';
     html += '   </tr>';         
     html += '  </table>';
     html += ' </form>';
     html += '</div>';
     html += '</div>';
     
     html += '<span style="margin:10px 0px;width:100%;text-align:center;display:block;">ali</span>'; 
     html += '<div style="padding:20px;" class="invitationContent">';  
     html += '<span style="font-size:1.4em;font-weight:bold;">'+CreatoorSN.common.translate('Write your friends\' e-mails and send them invitation.')+'</span><br>';
     html += '<span >'+CreatoorSN.common.translate('Contact shuld be seperated with comma (,).')+' </span>';
     html += '<textarea id="boXrecipenList" onfocus="this.select();" style="width:95%;height:150px;"></textarea>';
     html += '<span class="submitBotton right" onclick="CreatoorSN.friends.sendInvitationMails(\'boXrecipenList\')" onclick="return false">'+CreatoorSN.common.translate('Send invitations')+'</span>';
     html += '<div class="clear"></div>';
     html += '</div>';
	   var content = new creaDomObject({
                 tag: 'div',
                 id:'content',
                 html: html                       
      });
      showInvitationBox = new creaDomWindow( {
        width:500,
        header: {title: CreatoorSN.common.translate('Invite friends')},
        content: {elements: [content]}
      });
      showInvitationBox.open(); 
	},
	importContacts: function(elID,provider){
	  var el = document.getElementById(elID);
    var sub = el.getElementsByTagName('input');
    var query = new Array();
    var data =''; 
    var first = true;
    
    for(i in sub){
      if (sub[i].name) {
        query.push(sub[i].name + '=' + sub[i].value);
        if((sub[i].type == 'radio')&&(sub[i].checked)){
          if(first) first = false; else data = data +"&";
          data = data +sub[i].name+"="+sub[i].value;            
        }
        if ((sub[i].type == 'text')||((sub[i].type == 'password'))||((sub[i].type == 'hidden')) ) {
          if(first) first = false; else data = data +"&";
          data = data + sub[i].name + "=" + sub[i].value ;          
        }
        
      }
    } 
    if(provider != null){
       data = data+'&provider='+provider;
    }else{
      if(document.getElementById("provider")){
        data = data+'&provider='+document.getElementById("provider").value;
         provider = document.getElementById("provider").value;
      }  
    }
        
    
    
    var url="members/ajax/get-email-contacts";
    getContactBox.disable();
    var calback = {
      success: function(o){
        
        if (YAHOO.lang.JSON.isSafe(o.responseText)) {
          var r = YAHOO.lang.JSON.parse(o.responseText);
          if (r.success) {
            getContactBox.enable();
           
           
             CreatoorSN.friends.selectContacts(r.message,provider,r.alreadyMembers);
          }
          else {
            getContactBox.enable();
            CreatoorSN.common.showErrorAlert(r.message, 'Napaka pri uvozu kontaktov');
          }
        }else{
          getContactBox.enable();
          CreatoorSN.common.showErrorAlert(r.message, 'Napaka pri uvozu kontaktov');
        } 
        
      },
      failure: function(o){
      
      }
    }  
    YAHOO.util.Connect.asyncRequest( "POST", url, calback,data);     
    
  },/*
   * Selection of required contacts and sending of invetations
   */
  selectContacts: function (data,provider,members){
    
      var alreadyMembers = new creaDomObject(
        {
          tag: 'div',
          id:'selectOptions',
          html: members

        }
      );
      
    
    var selectOptions = new creaDomObject(
      {
        tag: 'div',
        id:'selectOptions',
        html: 'Izberi: <a onclick="CreatoorSN.friends.checkAllRecipients(\'thCheckbox\');return false;" href="javascript:CreatoorSN.friends.checkAllRecipients(\'thCheckbox\');">Vsi</a>, <a onclick="CreatoorSN.friends.checkInverseRecipients(\'thCheckbox\');return false;" href="javascript:CreatoorSN.friends.checkInverseRecipients(\'thCheckbox\');">Neoznačeni</a>, <a onclick="CreatoorSN.friends.unCheckAllRecipients(\'thCheckbox\');return false;" href="javascript:CreatoorSN.friends.unCheckAllRecipients(\'thCheckbox\');">Nič</a>'

      }
    );
    
    var contacts = new creaDomObject(
      {
        tag: 'div',
        id:'contacts',
        height:400,
        style:{overflow:'auto',border:'1px solid black'},
        html: data
                       
      }
    );  
    var postButton = new creaDomObject(
      {
        tag: 'div',
        id:'submitBotton',
        className: 'submitBotton',
        width:84,
        html: CreatoorSN.common.translate('Send invitations'),
        style:{cssCursor:'pointer',cssCursor:'hand',cssFloat:'none',cssMargin:'10px auto 0'}
                       
      }
    );  
  
  
    postButton.domElement.onclick = function(){
        if (CreatoorSN.friends.sendInvitation('thCheckbox',provider)) {
          selectBox.close();
        }
        return false;
    }
    selectBox = new creaDomWindow(
        {
      
        header: {title: CreatoorSN.common.translate('Select friends witch you want to invite')},
        position: {top: 'none', left: 'none'},
        content: {elements: [alreadyMembers,selectOptions,contacts,postButton]}
      }
    );
    
    selectBox.open();
    getContactBox.close();
  },

	/**
	 * Selection of required contacts and sending of invetations
	 * 
	 * @param {String} elementClass
	 * @param {String} provider
	 * @return boolean
	 */
  	sendInvitation: function (elementClass, provider) {
	  
	  	var elements = YAHOO.util.Dom.getElementsByClassName(elementClass);
        var contacts ='';
        for (i in elements) {
        	if ((elements[i].type == 'checkbox') && (elements[i].checked)) { 
        		contacts = contacts +','+ elements[i].value;        
        	}
        }
        var oiSessionId = _$('oiSessionId');
    
        var url = "members/ajax/send-invitation-mails2";
        var calback = {
        		
    		success: function(o){
        		var r = YAHOO.lang.JSON.parse(o.responseText);
        		if (r.success) {
        			CreatoorSN.common.showErrorAlert(r.message,'Povabila so bila uspešno poslana');
        		}else{
        			CreatoorSN.common.showErrorAlert(r.message,'Napaka pri uvozu kontaktov');
        		} 
        
        	},
        	failure: function(o){
      
        	}
        }  
        
        if (contacts != '') {
        	YAHOO.util.Connect.asyncRequest(
    			"POST", 
    			url, 
    			calback,
    			'contacts=' + encodeURIComponent(contacts.substr(1))
    						+ '&provider=' + provider
    						+ '&oiId=' +oiSessionId.value
			);
  		}
        return false;
  	},
  	
  	/*
     * Getting contact from selected provider, loginbox
     */
  getContactsBox: function(provider){
    var ProvText='';
    switch(provider){
      case 'gmail':
          ProvText = 'Gmail';
        break;
      case 'yahoo':
          ProvText = 'Yahoo mail';
      break;  
      case 'hotmail':
        ProvText = 'Hotmail'; 
        break;
      case 'facebook':
        ProvText = 'Facebook'; 
        break;          
    }
    
    var info = new creaDomObject(
      {
        tag: 'div',
        id:'info',
        html: CreatoorSN.common.translate('Insert password and user name for your')+' <b>'+ProvText +'</b>.<br/><br/>'+CreatoorSN.common.translate('Your data wount be saved and invitation will be send only to selected contacts.')
                       
      }
    );  
    var formElements='<table style="margin:20px 0px;">';
     formElements +='<tr>';
     formElements += '<td style="margin:10px 0px;"><label for="email">'+ CreatoorSN.common.translate('Email') + '</label></td>';
     formElements += '<td style="margin:10px 0px;"><input type="text" onfocus="this.select();" value="" name="email" class="thTextbox"/></td>';
     formElements +='</tr><tr ><td colspan=2><div class="clear" style="height:10px;margin:0;"></div></td></tr><tr>';
     formElements += '<td style="margin:10px 0px;"><label for="password">' + CreatoorSN.common.translate('Password')+'</label></td>';
     formElements += '<td style="margin:10px 0px;"><input type="password" onfocus="this.select();" value="" name="password" class="thTextbox"/></td>';
     formElements +='</tr></table>';
     formElements+= '<input type="hidden" name="provider" value="'+provider+'">';
     
    var content = new creaDomObject(
      {
        tag: 'div',
        id:  'getContactForm',
        html: formElements
                       
      }
    );      
    var postButton = new creaDomObject(
      {
        tag: 'div',
        id:'submitBotton',
        className: 'submitBotton',
        html: CreatoorSN.common.translate('Import contacts'),
        style:{cssCursor:'pointer',cssCursor:'hand'}
                       
      }
    );
    var cancelButton = new creaDomObject(
      {
        tag: 'div',
        id:'cancelBotton',
        className: 'submitBotton right',
        html: CreatoorSN.common.translate('Cancel'),
        style:{cssCursor:'pointer',cssCursor:'hand'}
                       
      }
    );  
    postButton.domElement.onclick = function(){
      
      CreatoorSN.friends.importContacts('getContactForm',provider);
      
      return false;
    }
    
    
    var titleTxt = CreatoorSN.common.translate('Insert your user name and password for ')+" <b>"+ProvText+ "</b> "+CreatoorSN.common.translate('account');
    getContactBox = new creaDomWindow(
        {
        width:400,      
        header: {title: titleTxt},
        position: {top: 'none', left: 'none'},
        content: {elements: [info,content,cancelButton,postButton]}
      }
    );
    cancelButton.domElement.onclick = function(){
            getContactBox.close();
            return false;
        }
    getContactBox.open();
  } 

};

