/**
* @project talenthouse
* @package th.share
* @author  Dimitar Parouchev <dimitar@parouchev.com>
* @since   03.06.2009
*
*/

th.share = {

    /**
    * @param String id (the active id)
    * @param Array targetIds (array of the available target ids)
    * @param String importedContactsTargetId 
    * @param String loginContainerId 
    */
    switchTabs: function(id, targetIds, importedContactsTargetId, loginContainerId){
        $('#'+importedContactsTargetId).html(' ');

        if (loginContainerId != null)$('#'+loginContainerId).show();
        
        for(i=0; i < targetIds.length; i++){
            $("#"+targetIds[i]).hide();
            $("#tab_"+targetIds[i]).removeClass('active');
        }
        $("#tab_"+id).addClass('active');
        $("#"+id).show();
        
    }, 


    /** 
     * @param String value (
     */
    switchLoginForm: function(serviceId, targetClass, targetIds, iconsId)
    {
    	
    	var targetId = 'default';
    	serviceId = $('#' + serviceId).val().toString();
    	
		switch (serviceId)
		{
			// Facebook
			case 'facebook':
				targetId = 'facebook';
				th.log(serviceId + '; ' + targetId);
				break;
			
			// EMail / Password
			case 'myspace':
			case 'friendster': 
			case 'hi5':
			case 'orkut': 
			case 'bebo': 
			case 'meinvz':
			case 'linkedin': 
			case 'plaxo':
			// Login ID / Password			
			case 'twitter': 
			case 'xing':
			case 'blackplanet':
			case 'hyves':
				targetId = 'password';
				th.log(serviceId + '; ' + targetId);
				break;
				
		} 
    	
    	th.log(serviceId + '; ' + targetIds[targetId] + '; ' + targetClass);
    	
		// Set Icon Link class active
    	$('#' + iconsId + ' li a').removeClass('active');
    	$('#' + iconsId + ' li.' + serviceId + ' a').addClass('active');
		
		$('.'+ targetClass).hide();
		$('.'+ targetClass).removeClass('active');

		// Set Dropdown Element class actice - ERROR
		if (targetIds[targetId].indexOf('default') == -1) {
			th.log('show');
			$('#' + targetIds[targetId]).show();
			$('#' + targetIds[targetId]).addClass('active');
		}
    	
    },

    changeDropdown: function(serviceId, dropdownId, iconsId){
    	
    	$('#' + iconsId + ' li a').removeClass('active');
    	$('#' + iconsId + ' li.' + serviceId + ' a').addClass('active');
        $('#' + dropdownId).selectOptions(serviceId, true);
        $('#' + dropdownId).trigger('change');
        
    },


    /**
    *
    * @param String login (username || email)
    * @param String password
    * @param String mode String (facebook, friendster, myspace....) 
    * @param String type String (community || email) 
    * @param String loginButtonId
    * @param String loginContainerId
    * @param String targetId (optional) 
    * @param String section (optional) join | profile | create
    *
    * @see User CreateController contactimportconnectAction
    * @author Dimitar Parouchev <dimitar@kronomy.com>
    */
    importContacts: function(login, password, mode, type, loginButtonId, loginContainerId, targetId, section, loadingTargetId, playerNickname){
        if (login === undefined) return false;
        if (password === undefined) return false;
        if (type === undefined) return false;
        //some defaults
        if (targetId === undefined) targetId = 'imported_contacts';
        if (section === undefined) section = null;
        if (loadingTargetId === undefined) loadingTargetId = targetId;


        $("#"+loginButtonId).btOff();
        $(".error, .success").hide();

        th.ui.loadingAnimation.start("#"+loadingTargetId);
        $('#loadingMsg').html( th.params.tr_pleaseWaitCollectingData );
        $('#loadingMsg').css({'display':'block','color':'#fff','background-color':'#000' });



        var url = ''
        switch (type){
            case 'community':
                url = "/myprofile/contactimportconnect"; 
            break;
            
            case 'email':
                url = "/myprofile/addressbookimportconnect";
            break;
            
            default: 
            return false;
        }
        
        $.getJSON(url, { login: login, password: password, mode: mode, section: section, playerNickname: playerNickname}, function(json){
            if (typeof json.errors == 'object' && json.errors != '' ){
                jQuery.each(json.errors, function(i, val) {
                    $("#"+loginButtonId).bt(val,  th.params.bt_Error_Options);
                    $("#"+loginButtonId).focus();
                });  
            }else{
                //on success
                $("#"+loginContainerId).hide();
                $("#"+targetId).html(json.html);
                $("#"+targetId).show();
            }
            th.ui.loadingAnimation.stop()
        });
    },



    /**
    * @param String formId
    * @param String sendButtonId
    * @param String type (community || email || singleMail)
    * @param String section (optional) join | profile | create
    *
    */
    sendMessage: function (formId, sendButtonId, type, section, importedcontactsid, loginpanelid, inputids){
        if (section === undefined) section = null;
        
        $('#'+sendButtonId).btOff();
        $(".error, .success").hide();

        var url = ''
        switch (type){
            case 'community':
                url = "/myprofile/sendmessagetosncontacts"; 
            break;
            
            case 'email':
                url = "/myprofile/sendemailtosncontacts";
            break; 
             
            case 'singleMail':
                url = "/myprofile/sendemailsingleinvite";
            break;
            
            default: 
            return false;
        }

        $.getJSON(url, $('#'+formId).formSerialize(), function(json){
            if (typeof json.errors == 'object' && json.errors != '' ){
                jQuery.each(json.errors, function(i, val) {
                    $('#'+sendButtonId).bt(val,  th.params.bt_Error_Options);
                    $('#'+sendButtonId).focus();
                });  
            }else{
                //on success
                $('#'+sendButtonId).bt(th.params.tr_msgSent,  th.params.bt_Success_Options);
                $('#'+sendButtonId).focus();
                if (section == "join"){
                   t = setTimeout(  function(){$('#TB_ajaxContent').load('/user/creativeprofile')}  , 3000);
                }
                
                // reset inputfields and delete importedcontactscontent
                setTimeout( function() {
			        $(".error, .success, .bt-content").hide();
			        $('#'+sendButtonId).btOff();
		                
	                try {
						for each (var inputid in inputids) {
							$('#' + inputid).val('');
						}
		                $('#' + importedcontactsid).html('');
		                $('#' + loginpanelid).show();

	                } catch(e) { }
                }, 3000);
            }
        });


    },
    

	facebook_auth: function(_callback, _locale) 
	{
    	var callback = _callback;
    	FB.ensureInit(function () { 
    		FB.Connect.requireSession(function() {
    			FB.Connect.showPermissionDialog('publish_stream,offline_access', callback);
    		});
    		//FB.Connect.showPermissionDialog('publish_stream,offline_access', callback);
    	});
	},

	facebook_deauth: function() 
	{
		
	}

    
}