//Google Friend Connect
function auth_using_gfc() {
	//Request GFC to send extra profile data
	
	var params = {};
      	params[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS] =
      	[opensocial.Person.Field.URLS];
      
  	// Create a request to grab the current viewer.
  	var req = opensocial.newDataRequest();
  	req.add(req.newFetchPersonRequest('VIEWER', params), 'viewer_data');
  	
	// Sent the request
  	req.send(function(data) {
  		
    	// If the view_data had an error, then user is not signed in
    	if (!data.get('viewer_data').hadError()) {
      		//get the users data from GFC
      		var viewer = data.get('viewer_data').getData();
      		update_userbox( viewer.getDisplayName(),
                      viewer.getField(opensocial.Person.Field.THUMBNAIL_URL),
                      viewer.getField(opensocial.Person.Field.URLS)[0].getField('address'),
                      'google.friendconnect.requestSignOut()' );
    	} 
  
  	});
}






/// NEWS MORE  ///
function more(page, ncat, item){
	var url = '../index.php';
	new Ajax.Request(url, {
		   method : 'get',
		   parameters : {
		   		page  : page,
				item : item,
				ncat : ncat,
				media : 'ajax'
		   },
		    onLoading : function(out){
				preloader('insert',	$('more_bar'));
		   },
		   onSuccess : function(out){
		   		if(out.responseText != ''){
					var new_div = Element('div');
					new_div.innerHTML = out.responseText;
					new_div.style.display = "none";
					new_div.style.backgroundColor = "#cccccc";
					$('newscontainer').insert( new_div );
					new_div.morph('background:#FFFFFF');
					new_div.appear();
					preloader('remove');
					Effect.ScrollTo('more_bar');

				} else {
					$('more_bar').style.visibility = "hidden";
					$('newscontainer').insert('<b>Prišli ste do konco seznama novic.</b>');
				}
				
			}
		});


}

function preloader(mode,elem){
	if(mode == 'insert'){
		var preloader_div = Element('div');
		preloader_div.id = 'preload';
		preloader_div.innerHTML = '<img name="" src="/sites/podpalmo_si/imgs/ajax-loader.gif" />';
		preloader_div.style.position = 'absolute';
		elem.insert( {top:preloader_div} );
	} else if(mode == 'remove'){
			$('preload').remove();
	}
	

}


function better_more(page, ncat, item){
	var url = '../index.php';
	new Ajax.Request(url, {
		   method : 'get',
		   parameters : {
		   		page  : page,
				item : item,
				ncat : ncat,
				media : 'ajax'
		   },
		   onLoading : function(out){
				preloader('insert',	$('evenmore'));
		   },
		   onSuccess : function(out){
		   		preloader('remove');
				if(out.responseText != ''){
					var new_div = Element('div');
					new_div.innerHTML = out.responseText;
					new_div.style.display = "none";
					new_div.style.backgroundColor = "#cccccc";
					$('newscontainer').insert( new_div );
					new_div.morph('background:#FFFFFF');
					new_div.appear();
					Effect.ScrollTo($('evenmore'));

				} else {
					$('evenmore').style.visibility = "hidden";
					$('newscontainer').insert('<b>Prišli ste do konco seznama novic.</b>');
				}
				
			}
		});


}


//// COMMENTS  ////

function get_comments(doc_id){
	if($('comments_container').firstDescendant()){
	var test = $('comments_container').firstDescendant().id;
	//alert(test);
	}
	
	if($('comments_container').childElements()){
		var tmp = $('comments_container').childElements();
		try{
		var last_timestamp = tmp[tmp.length - 1].id;
		} catch(e) {};
	}
	var url = baseurl + 'index.php';
	new Ajax.Request(url, {
		   method : 'get',
		   parameters : {
		   		page  : 'comments',
				id : doc_id,
				mode : 'get_more',
				last_timestamp : last_timestamp,
				media : 'ajax'
		   },
		   onSuccess : function(out){
		   		if(out.responseText != ''){
					var json = out.responseText.evalJSON();
					var json_fields = Object.keys(json);
					json_fields.each(function(val){
						var new_div = Element('div');
						new_div.id = json[val].time_stamp
						new_div.innerHTML = json[val].html;
						new_div.style.display = "none";
						new_div.style.backgroundColor = "#cccccc";
						$('comments_container').insert(  new_div  );
						new_div.morph('background:#FFFFFF');
						new_div.appear({  duration: 0.3 });
							
					});

				}
			}
		});
	
}

function updater(doc_id){
	//alert('g');
	var url = baseurl + 'index.php';
	if($('comments_container').firstDescendant()){
		var first_timestamp = $('comments_container').firstDescendant().id;
	}
	//alert( first_timestamp);
	var commentsUpdater = new Ajax.Request( url, {
	  method: 'get', 
	  parameters : {
		   		page  : 'comments',
				id : doc_id,
				mode : 'get_more',
				 first_timestamp :  first_timestamp,
				media : 'ajax'
		   }
		   
		 ,
		   onSuccess : function(out){
			   //alert( out.responseText );
			  
		   		if(out.responseText != ''){
					var json = out.responseText.evalJSON();
					var json_fields = Object.keys(json);
					json_fields.each(function(val){
						var new_div = Element('div');
						new_div.id = json[val].time_stamp
						//alert(new_div.id);
						new_div.innerHTML = json[val].html;
						new_div.style.display = "none";
						new_div.style.backgroundColor = "#cccccc";
						$('comments_container').insert( {top: new_div } );
						new_div.morph('background:#FFFFFF');
						new_div.appear({ queue: 'end', duration: 0.5 });
							
					});

				} 
			}
	  
	});
	

}
var com_komentar = '';

function hide_login(){
	$('notlogged_div').style.display = 'none';
	$('com_komentar').value = com_komentar;
	grayOut(false);
}


function ajax_submit_form(pp_user_id,doc_id){
	
	
	if(!pp_user_id){
		/// set user comment in session for reload
		com_komentar = $F('com_komentar');
		var url = baseurl + 'index.php';
		new Ajax.Request(url, {
			   method : 'get',
			   parameters : {
					page  	: 'comments',
					doc_id  : doc_id,
					mode 	: 'set_comment_session',
					comment : $F('com_komentar'),
					
					media 	: 'ajax'
			   },
			   onSuccess : function(out){
					//$('debug').innerHTML = out.responseText;
				}
			});
	
		////
		//grayOut(true);
		$('notlogged_div').style.display = '';
		
		return false;
	}
	
	
	$('comments_form').request({
	  onComplete: function(out){ 

		  if(out.responseText == 'no_way'){
				alert('Vpisujete lahko le 1 komentar na minuto.');	
				return false;
		   }
		 updater($F('comments_doc_id'));
			if( $('no_comments_yet' ) != undefined ) {
				$('no_comments_yet').update('');
				
			}
		 }
	})
}


function priodical_comments_updater(doc_id){
	new PeriodicalExecuter(function(pe) {
	  //alert('test');
	  updater(doc_id);
	}, 10);

}

var cnt = 1;
function obvestila(){
	
	// dobimo zadnji  id
	if($('obvestila_container').childElements()){
		var tmp = $('obvestila_container').childElements();
		
		var last_div_id = tmp[tmp.length - 1].id;
		var lad_div_id_array = last_div_id.split("_");
		var last_cnt = lad_div_id_array[1];

	}
	if(tmp.length > 1){
		var old_div = $('obvestilo_' + cnt);
		if(parseInt(cnt) + 1 > parseInt(last_cnt)){
			cnt = 1;
		} else {
			cnt++;	
		}
		//alert(cnt);
		var new_div = $('obvestilo_' + cnt);
		
		Effect.Fade(old_div);
		Effect.Appear(new_div);
	}

	
}
function stop_pe(){
	pe.stop();
}

function priodical_obvestila_updater(){
	pe = new PeriodicalExecuter(function(pe) {
	  //alert('test');
	  obvestila();
	}, 15);

}

function oceni(vote,doc_id){
	
	var url = site_baseurl+'index.php';
	new Ajax.Request(url, {
		   method : 'get',
		   parameters : {
		   		page  : 'ocena',
				vote  : vote,
				doc_id : doc_id
		   },
		   onSuccess : function(out){
			    if(out.responseText != 'xxx'){
					$('ocena').innerHTML = out.responseText;
					if(vote == 1){
						window.open('http://www.facebook.com/share.php?u='+this_page,'share','width=500,height=400,scrollbars=no');
					}
				} else {
					alert('Posamezno sliko lahko ocenjujete enkrat na uro.');	
				}
				
			}
		});
}

function grayOut(vis, options) {
  // Pass true to gray out screen, false to ungray
  // options are optional.  This is a JSON object with the following (optional) properties
  // opacity:0-100         // Lower number = less grayout higher = more of a blackout 
  // zindex: #             // HTML elements with a higher zindex appear on top of the gray out
  // bgcolor: (#xxxxxx)    // Standard RGB Hex color code
  // grayOut(true, {'zindex':'50', 'bgcolor':'#0000FF', 'opacity':'70'});
  // Because options is JSON opacity/zindex/bgcolor are all optional and can appear
  // in any order.  Pass only the properties you need to set.
  var options = options || {}; 
  var zindex = options.zindex || 50;
  var opacity = options.opacity || 70;
  var opaque = (opacity / 100);
  var bgcolor = options.bgcolor || '#000000';
  var dark=document.getElementById('darkenScreenObject');
  if (!dark) {
    // The dark layer doesn't exist, it's never been created.  So we'll
    // create it here and apply some basic styles.
    // If you are getting errors in IE see: http://support.microsoft.com/default.aspx/kb/927917
    var tbody = document.getElementsByTagName("body")[0];
    var tnode = document.createElement('div');           // Create the layer.
        tnode.style.position='absolute';                 // Position absolutely
        tnode.style.top='0px';                           // In the top
        tnode.style.left='0px';                          // Left corner of the page
        tnode.style.overflow='hidden';                   // Try to avoid making scroll bars            
        tnode.style.display='none';                      // Start out Hidden
        tnode.id='darkenScreenObject';                   // Name it so we can find it later
    tbody.appendChild(tnode);                            // Add it to the web page
    dark=document.getElementById('darkenScreenObject');  // Get the object.
  }
  if (vis) {
    // Calculate the page width and height 
    if( document.body && ( document.body.scrollWidth || document.body.scrollHeight ) ) {
        var pageWidth = document.body.scrollWidth+'px';
        var pageHeight = document.body.scrollHeight+'px';
    } else if( document.body.offsetWidth ) {
      var pageWidth = document.body.offsetWidth+'px';
      var pageHeight = document.body.offsetHeight+'px';
    } else {
       var pageWidth='100%';
       var pageHeight='100%';
    }   
    //set the shader to cover the entire page and make it visible.
    dark.style.opacity=opaque;                      
    dark.style.MozOpacity=opaque;                   
    dark.style.filter='alpha(opacity='+opacity+')'; 
    dark.style.zIndex=zindex;        
    dark.style.backgroundColor=bgcolor;  
    dark.style.width= pageWidth;
    dark.style.height= pageHeight;
    dark.style.display='block';                          
  } else {
     dark.style.display='none';
  }
}


