//DD_belatedPNG.fix('div,img');
CreatoorSN.namespace('survey');
CreatoorSN.survey = {


    /**
     * Set of methods for manipulation with Survey's.
     * -> allFriends, friendRequests and mySentRequests
     * 
     * @method checkAllMessages
     * @method unCheckAllMessages
     * @method checkReadMessages
     * @method checkInverseMessages
     * 
     * @param {String} elementClass
     *
     */

	
	 /**
     * Send friend request to selected user
     *
     */
    
    answerCounter : 2,
    
    addNewAnswer : function (index) {
           
             
		//Construct answer element
		var answerDiv = new creaDomObject({
			tag: 'div',
			className: 'defaultPlaceHolder defaultBorder',
			id: 'answer_' + CreatoorSN.survey.answerCounter
		});
		
		var addImage = new creaDomObject({
			tag: 'img',
			alt: CreatoorSN.common.translate('add new answer'),
			src: '/images/new.gif'
		});
		
		addImage.domElement.onclick = function () {
			CreatoorSN.survey.addNewAnswer();
		}
				
		var removeImage = new creaDomObject({
			tag: 'img',
			alt: CreatoorSN.common.translate('delete answer'),
			src: '/images/delete.gif'
		});
		
		removeImage.domElement.onclick = function () {
			answerDiv.remove();
		}
		
		var answerTa = new creaDomTextarea({
	        name: 'answer_' + CreatoorSN.survey.answerCounter,              
	        label: {
	            tag: 'label',
	            params: {className: 'standardLabel', labelFor: 'answer_' + CreatoorSN.survey.answerCounter, html: 'Odgovor:'}
	        },
	        className: 'default_TextArea',
	        cols: 1,
	        rows: 2		
		});

		
 		answerDiv.setElements([answerTa, addImage, removeImage]);	        
	        
	    // append new created element    
	    var answersContainer = _$('answersContainer');
	    answerDiv.addTo(answersContainer);

	    CreatoorSN.survey.answerCounter++;	        
    },

     /**
     * Vote on survey
     *
     * 
     * @param {String} survey
     * 
     */
    surveyVoteCheck : function (formName) {

 		answer = '';
 		var form = _$('form-' + formName);
 		
 		if (form){		
			for (var i=0;i<form.length;i++){
			
				if (form.elements[i].name == 'answer' && form.elements[i].checked == true) {
					answer = form.elements[i].value;
					continue;
				}
				if (form.elements[i].name == 'urlIdentifier') { survey = form.elements[i].value; }
			}
		}
		
		if (answer == '') return false;
		return true;  
    }, 
             
    surveyVote : function (form, ajaxPlaceholderID) {
	

		// check for selected answer
		survey = answer = '';
		
		if (form){		
			for (var i=0;i<form.length;i++){
			
				if (form.elements[i].name == 'answer' && form.elements[i].checked == true) {
					answer = form.elements[i].value;
					continue;
				}
				if (form.elements[i].name == 'urlIdentifier') { survey = form.elements[i].value; }
			}
		}
		
		
		
  		//
  		// ajax call to database
  		//   			
  		var target = _$(ajaxPlaceholderID);
		//target.innerHTML = '<img src="/images/ajax-loader.gif" alt="nalagam..." style="margin-top: 1px; margin-left: 20px;" />'
		
		var oCallback = {                
            success : function (o) {
				target.innerHTML = o.responseText
            },
            
            failure : function (o) {
            	target.innerHTML = CreatoorSN.common.translate('Sorry, something went wrong. Please try again later.') + '<br />'    
            }
            
            //timeout: CreatoorSN.common.iAjaxTimeout
            
        };
        
        YAHOO.util.Connect.asyncRequest(
            "POST",
            "/default/ajax/survey-vote",
            oCallback,
			'urlIdentifier=' + survey + '&answer=' + answer
        );
	 	
     }, 

     /**
     * Save curent element settings
     *
     * 
     * @param {String} survey
     * 
     */        
    surveySaveElement : function (token) {


  		//
  		// ajax call to database
  		//   			
  		var target = _$('ajaxWorkingStatus');
		target.innerHTML = '<img src="/images/ajax-loader.gif" alt="nalagam..." style="margin-top: 1px; margin-left: 20px;" />';
		
		
		if (_$('selectType_' + token)) {
				
			surveyType = _$('selectType_' + token);
			surveyType = surveyType.options[surveyType.selectedIndex].text;
			
		} else surveyType = _$('type_' + token).innerHTML;
		

		if (_$('selectCount_' + token)) {
		
			surveyCount = _$('selectCount_' + token);
			surveyCount = surveyCount.options[surveyCount.selectedIndex].text;
			
		} else surveyCount = _$('count_' + token).innerHTML;
		
		
		var oCallback = {                
            success : function (o) {
            	var response = YAHOO.lang.JSON.parse(o.responseText);
				if (response.noAuth) {
                    var login = new noAuth(function(noAuthObj){
                        CreatoorSN.survey.surveySaveElement(token);
                    }, response.message);
                    return;
                }
            	var target = _$('ajaxRequestSent');
				target.innerHTML = response.message;
				
				//set all fields to default view
				_$('saveButton_' + token).style.display = 'none';
				_$('type_' + token).innerHTML = surveyType;
				_$('type_' + token).parentNode.onclick = function(){CreatoorSN.survey.selectSurveyTypes(this, token);}
				
				_$('count_' + token).innerHTML = surveyCount;
				_$('count_' + token).parentNode.onclick = function(){CreatoorSN.survey.selectSurveyCount(this, token);}
				
				var target = _$('ajaxWorkingStatus');
				target.innerHTML = '';
            },
            
            failure : function (o) {
            	var target = _$('ajaxRequestSent');
            	target.innerHTML = CreatoorSN.common.translate('Sorry, something went wrong. Please try again later.') + '<br />'
            	var target = _$('ajaxWorkingStatus');
				target.innerHTML = ''; 
            }
            
            //timeout: CreatoorSN.common.iAjaxTimeout
            
        };
        
        YAHOO.util.Connect.asyncRequest(
            "POST",
            "/members/ajax/survey-save-element",
            oCallback,
			'surveyType=' + surveyType + '&surveyCount=' + surveyCount + '&identifier=' + token
        );
	 	
     },
     
     surveyTypesElements : '',
     
     selectSurveyTypes : function (element, token) {
	
		_$('ajaxRequestSent').innerHTML = '&nbsp;';
						
		var output = '<select id="selectType_' + token + '" onChange="CreatoorSN.survey.enableSaveButton(\'' + token + '\')">';
		var countTypes = CreatoorSN.survey.surveyTypesElements.length;
		var curentType = _$('type_' + token).innerHTML;
		
		for (i=0; i<countTypes; i++) {
		
			if (CreatoorSN.survey.surveyTypesElements[i] == curentType) selected = 'selected="selected"'; else selected = '';
			output += '<option ' + selected + '>' + CreatoorSN.survey.surveyTypesElements[i] + '</option>';			
		}
		
		output += '</select>';		
		_$('type_' + token).innerHTML = output;		
		element.onclick = '';

	},
	
	enableSaveButton : function (token) {
		
		_$('saveButton_' + token).style.display= 'inline';	
	},

	surveyCountElements : [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],
	
    selectSurveyCount : function (element, token) {
	
		_$('ajaxRequestSent').innerHTML = '&nbsp;';
						
		var output = '<select id="selectCount_' + token + '" onChange="CreatoorSN.survey.enableSaveButton(\'' + token + '\')">';
		var countTypes = CreatoorSN.survey.surveyCountElements.length;
		var curentType = _$('count_' + token).innerHTML;
		
		for (i=0; i<countTypes; i++) {
		
			if (CreatoorSN.survey.surveyCountElements[i] == curentType) selected = 'selected="selected"'; else selected = '';
			output += '<option ' + selected + '>' + CreatoorSN.survey.surveyCountElements[i] + '</option>';			
		}
		
		output += '</select>';		
		_$('count_' + token).innerHTML = output;		
		element.onclick = '';

	},

	generateSearchResults : function(formName) {
	

		_$('ajaxWorkingStatus').innerHTML = '<img src="/images/ajax-loader.gif" alt="nalagam..." style="margin-top: 1px; margin-left: 20px;" />';
		var searchString = _$('search_box').value;
		
	
		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.survey.generateSearchResults(formName);
	                    }, response.message);
	                    return;
	                }
				}
				_$('messagesInner').innerHTML = o.responseText;
				_$('ajaxWorkingStatus').innerHTML = '';
            },
            
            failure : function (o) {

            	_$('ajaxRequestSent').innerHTML = CreatoorSN.common.translate('Sorry, something went wrong. Please try again later.') + '<br />';
				_$('ajaxWorkingStatus').innerHTML = '';
            }
            
            //timeout: CreatoorSN.common.iAjaxTimeout
            
        };
        
        YAHOO.util.Connect.asyncRequest(
            "POST",
            "/members/ajax/survey-search-user",
            oCallback,
			'searchString=' + searchString
        );	
	
	}






}

