// Place your applicafdion-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults

var chat_messages_updating = true;


//NOT WORKING//
function toggle_content(div, initial_content, toggled_content){
	initial_content = unescape(initial_content)
	toggled_content = unescape(toggled_content)
	try{
		if($(div).innerHTML == initial_content){
			$(div).innerHTML = toggled_content;
		}else{
			$(div).innerHTML = initial_content;
		}
	}catch(e){
		//alert(e);
	}
	return(false);
}

function clear_form_value(input, initial_value){
	try{
		input_value = input.value
		if(input_value == initial_value){
		 	input.value = '';
		}
	}catch(e){
		//alert(e);
	}
}



function reset_form_value(input, initial_value){
	try{
		input_value = input.value;
		if(input_value == ''){
			input.value = initial_value
		}
	}catch(e){
		//alert(e);
	}
}


function opera_stylesheet(){
	try{
		if(navigator.userAgent.indexOf("Opera")> -1){
			document.write("<link href=\"/stylesheets/screen-opera.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />");
		}
	}catch(e){
		//alert(e);
	}	
}

function webkit_stylesheet(){
	try{
		if(navigator.userAgent.indexOf("AppleWebKit")> -1){
			document.write("<link href=\"/stylesheets/screen-webkit.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />");
		}	
	}catch(e){
		//alert(e);
	}	
}

// Salesforce evil code
function submitSupportForm(){	
	document.forms['mailform'].elements['description'].value = document.forms['mailform'].elements['subject'].value;
}



function toggle_custom_topic(){
  if($('custom_topic').visible()){
    $('custom_topic').hide();
    $('riscotti_notifier_message_topic').enable();
    $('riscotti_notifier_message_channel').enable();
  }else{
   $('custom_topic').show();
   $('riscotti_notifier_message_topic').disable();
   $('riscotti_notifier_message_channel').disable();
  }
}

function toggle_buzz_parameters(){
   toggle_generic_element("buzz_parameters");
}
function toggle_mms_parameters(){
  toggle_generic_element("mms_parameters");
}

function toggle_user_details(element){
	Effect.toggle("user_details", 'blind', {});
	Element.toggleClassName(element.up(), 'open');
	return false;
}

function toggle_publish_fields(){
	toggle_generic_element("publish_fields");
}

function toggle_generic_element(element_id){
	$(element_id).toggle();
}

// This accepts the chat message element in full
function show_chat_message_options_for(element_id){
	hide_all_chat_message_options();
	$(element_id).down('.chat_message_options').show();
	stop_chat_messages_periodical_executer();
}

// This accepts the chat message options element directly
function show_chat_message_options_element(element_id){
	hide_all_chat_message_options();
	$(element_id).show();
	stop_chat_messages_periodical_executer();
}

// This accepts the chat message element in full
function hide_chat_message_options_for(element_id){
	$(element_id).down('.chat_message_options').hide();
	start_chat_messages_periodical_executer();
}

// This accepts the chat message options element directly
function hide_chat_message_options_element(element_id){
	$(element_id).hide();
	start_chat_messages_periodical_executer();
}


function hide_all_chat_message_options(){
	$$(".chat_message_options").each(function(item){ 
		result_elem = item.down('.chat_message_options_result')
		Element.update(result_elem,'');
		item.hide(); 
	})
	start_chat_messages_periodical_executer();
}

function start_chat_messages_periodical_executer(){
	chat_messages_updating = true;
}

function stop_chat_messages_periodical_executer(){
	chat_messages_updating = false;
}

function clear_all_chat_message_error_messages(){
	$$('.chat_message_options_result').each(function(item){
		Element.update(item,'');
	})
}


function captureMediaPlayerNetworkInfo(){
	new PeriodicalExecuter(function(pe){
		try{
			$('received_packets').value = $(mediaPlayer).network.receivedPackets;
			$('lostPackets').value = $(mediaPlayer).network.lostPackets;
			$('recoveredPackets').value = $(mediaPlayer).network.recoveredPackets;
		}catch(e){
			//alert(e);
		}
		
	},5);
}


function setupSponsorshipsValidation(){
	var fTitle = new LiveValidation("sponsorship_title");
	vTitle.add(Validate.Presence, { failureMessage: "Please enter a title"});
	
	var fDescription = new LiveValidation("sponsorship_description");
	fDescription.add(Validate.Presence, {failureMessage: "PLease enter a description"});
	
	var fWebsiteUrl = new LiveValidation("sponsorship_website_url");
	fWebsiteUrl.add(Validate.Presence, {failureMessage: "Please enter a web address"});
	
}

function chat_messages_periodical_executer(request_url, parameters, update_frequency){
	new PeriodicalExecuter(function(pe){
		if(chat_messages_updating){
			new Ajax.Request(request_url, {asynchronous:true, evalScripts:true, method:'get', parameters:parameters});
		}
	}, update_frequency);
}

function autoReload(duration){
	duration_in_ms = duration * 1000
	setTimeout("document.location.reload()", duration_in_ms);
}

function hideObjects(){
	toggleObjects('hidden');
}

function showObjects(){
	toggleObjects('visible');
}

function toggleObjects(visibility){
	hideFlash = true;
	hideIFrame = false;
	
	if (hideFlash){
		var objects = document.getElementsByTagName('object');
		for (i = 0; i != objects.length; i++) {
			objects[i].style.visibility = visibility;
		}
		var embeds = document.getElementsByTagName('embed');
		for (i = 0; i != embeds.length; i++) {
			embeds[i].style.visibility = visibility;
		}
	}
	if(hideIFrame){
		var iframes = document.getElementsByTagName('iframe');
		for (i = 0; i != iframes.length; i++) {
			iframes[i].style.visibility = visibility;
		}
	}
}


function activateCardFields(element, object){
  cardType = $F(element);
  elementsToToggle = [$('card_starts_on'),$('card_issue_number')];
  
  switch(cardType){    
  case 'switch':
    elementsToToggle.each(function(elem){elem.show();});
    break; 
  case 'solo':
    elementsToToggle.each(function(elem){elem.show();});  
    break;    
    
  default:
    $(object + '_card_starts_on_2i').clear();
    $(object + '_card_starts_on_1i').clear();
    $(object + '_card_issue_number').clear();
    elementsToToggle.each(function(elem){elem.hide();});
    break;
  }
}

function preactivateCardFields(object){
  cardType = object + '_card_type';
  activateCardFields(cardType,object);
}

function loadTwitterFriendFeed(element){
  var url = '/twitter_statuses';
  var elem = $(element);
  new Ajax.Updater(elem, url, {
    method: 'get'
  });  
}

function initHorizontalCarousel(element){
  //var elem = $(element);
  //var desc = elem.descendants();
  //desc.each(function(item){
  //  item.hide()
  //});
  //desc.first().show();
}

function carouselNext(element){
  //var elem = $(element);
  //var desc = elem.descendants();
 //// desc.each(function(item){    
  //})
}

// IE6 Selective PngFixer
Global = {
	FixPng: function( img ){
		try{
			if(document.all && navigator.userAgent.indexOf("Opera") == -1){
				img.parentNode.style.width = img.offsetWidth;
				img.parentNode.style.height = img.offsetHeight;
				img.parentNode.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale src='"+ img.src +"')";
			    img.style.visibility = "hidden";
			} else {
				img.style.visibility = "visible";
			}
		}catch(e){
			//alert(e);
		}
	}
}