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

	
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));

function show_hide_image_pane(temp)
{
    var pane = document.getElementById('image_pane');
    var label = document.getElementById('width_label');
    if(temp.value == 2)
    {
        pane.style.display = 'block';
        label.innerHTML = '175'
    }
    else if(temp.value == 3)
    {
        pane.style.display = 'block';
        label.innerHTML = '430'
    }
    else
    {
        pane.style.display = 'none';
    }
}

function set_image_info(id, path, object)
{
    var win = window.parent;
    var image = win.document.getElementById(object + '_image_id');
    var image_tag = win.document.getElementById('uploaded_image');
    image_tag.style.display = 'block';
    image.value = id;
    var file_name = path.substr(path.lastIndexOf("/") + 1)
    image_tag.src = "/system/image/file_name/development/" + id + "/thumb/" + file_name;
}

function load_elements(value, object)
{
    template = document.getElementById(object + '_template_' + value);
    if(template)
    {
        show_hide_image_pane(template);
    }

}

function fi_active(token) {
    var items = document.getElementsByName('featured_item');
    var selected_items = [];
    var item_array = [];
    var length = items.length;
    var selected_length = 0;
    for(var i=0;i<length;i++)
    {
        if(items[i].checked == true)
        {
            selected_length++;
            selected_items.push(items[i].value)            
        }
    }
    if(selected_length > 5)
    {
        alert("You can only set up to 5 featured items active at a time");
        return;
    }    
    new Ajax.Updater('item_list','/webadmin/featured_items/set_active', {asynchronous:true, evalScripts:true, parameters: { items : ''+ selected_items +'', authenticity_token : encodeURIComponent(token) }});
}

function open_folder (div, token, controller, page) {
    var id = div.id.substr(div.id.indexOf("_") + 1);
    new Ajax.Updater('image_browser','/webadmin/pages/'+ page +'/'+ controller +'/order_list', {asynchronous:true, evalScripts:true, parameters: { method: 'get', id : ''+ id +'', authenticity_token : encodeURIComponent(token) }});
}

function choose_folder(id, resource, hidden_name) {
    var folder = document.getElementById('folder_' + id);
    folder.onmousedown = folder.onselectstart = function(){return false;}
    var hidden_element = document.getElementById(resource + "_" + hidden_name);
    var parent = folder.parentNode;
    var children = parent.childNodes;
    for(var i=0;i<children.length;i++)
    {
        if(children[i].tagName == "DIV")
        {
            children[i].style.backgroundColor = "#fbf4ec";
        }
        
    }
    folder.style.backgroundColor = "#8bafca";
    hidden_element.value = id;
}

function stripcode(oldstring)
{
    var newstring = "";
    var tag = false;
    for(var x = 0; x < oldstring.length; x++)
    {
        if(oldstring.charAt(x) == '<')
        {
        tag = true;
        }
        if(oldstring.charAt(x) == '>')
        {
            tag = false;
            x++;
        }
        if(tag==false)
        {
            newstring += oldstring.charAt(x);
        }
    }
    return newstring;
}

function set_char_count(element_name) {
    var tiny_ID; //This is the ID of your tinyMCE content ID
    var strip=stripcode(tinyMCE.activeEditor.getContent());
    strip=stripcode(strip);
    tinyMCE.activeEditor.char_count = function () {
        if(strip.length == 20){
            alert("You have entered over #enter number# characters the suggsted length of content is #enter number# characters");
        }
    }
}
function changeAction(form_name, action) {	
	window.open("","preview_pane","scrollbars=1,menubar=0,toolbar=0,location=0,resizable=1,width=1060,height=761");
	var form = document.getElementById(form_name);
	var put = Form.getInputs(form, 'hidden', '_method');
	if(put[0]){put[0].disabled = true}
    form.action = action;
    form.target = "preview_pane";
    form.method = "post"
}

function reset_values(raction, form_name, action) {
    form = document.getElementById(form_name);
    if(raction == 'edit')
    {
        var put = Form.getInputs(form, 'hidden', '_method');
        if(put[0]){put[0].disabled = false}
    }
    form.action = action;
    form.target = "";
    form.method = "post"
}

function close_pane () {
    $('slide_show_overlay').visualEffect('Fade');
    $('slide_show_ajaxContent').visualEffect('Fade');
}

function set_close () {
    $('slide_show_overlay').onclick = close_pane;
}

function set_buttons (toggle) {
    if(toggle == 1 )
    {
        show_move_buttons();
        $('done_moving').style.display = 'inline';
        $('move_pages').style.display = 'none'
    }
    else
    {
        $('done_moving').style.display = 'none';
        $('move_pages').onclick = show_move_buttons;
        $('done_moving').onclick = hide_move_buttons;
    }
}

function show_move_buttons () {
    var move = document.getElementsByName('move_btns');
    var manage = document.getElementsByName('manage_btns');
    var count = move.length
    for(var i=0;i<count;i++)
    {
        move[i].style.display = 'inline';
    }
    var count = manage.length
    for(var i=0;i<count;i++)
    {
        manage[i].style.display = 'none';
    }
    $('move_pages').style.display = 'none'
    $('done_moving').style.display = 'inline'
}

function hide_move_buttons () {
    var move = document.getElementsByName('move_btns');
    var manage = document.getElementsByName('manage_btns');
    var count = move.length
    for(var i=0;i<count;i++)
    {
        move[i].style.display = 'none';
    }
    count = manage.length
    for(var i=0;i<count;i++)
    {
        manage[i].style.display = 'inline';
    }
    $('move_pages').style.display = 'inline'
    $('done_moving').style.display = 'none'
}

function show_image () {
    $('slide_spinner').visualEffect('Appear')
    setTimeout("$('slide_spinner').visualEffect('Fade')", 1000);
    setTimeout("$('slide_show').visualEffect('Appear')",2000);
}

function set_url (url) {
    href = document.getElementById('link_url');
    href.value = url;
}

function openDiv (div) {
    $('page_' + div + '_sub').visualEffect('BlindDown');
    $('collapse_link_' + div).style.display = 'inline';
    $('open_link_' + div).style.display = 'none';
}

function hideDiv (div) {
    $('page_' + div + '_sub').visualEffect('BlindUp');
    $('collapse_link_' + div).style.display = 'none';
    $('open_link_' + div).style.display = 'block';
}

function checkEmail(str) {
    var at="@"
    var dot="."
    var lat=str.indexOf(at)
    var lstr=str.length
    var ldot=str.indexOf(dot)
    var error = "Invalid Email Address"
    if (str.indexOf(at)==-1){
       alert(error)
       return false
    }

    if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
       alert(error)
       return false
    }

    if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
        alert(error)
        return false
    }

     if (str.indexOf(at,(lat+1))!=-1){
        alert(error)
        return false
     }

     if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
        alert(error)
        return false
     }

     if (str.indexOf(dot,(lat+2))==-1){
        alert(error)
        return false
     }

     if (str.indexOf(" ")!=-1){
        alert(error)
        return false
     }

    	 return true					
}

function putEmailUrl (email, path) {
    if(checkEmail(email))
    {
        set_url(path + "/?"+ encodeURI('email') +"="+ escape(email));
    }
    else
    {
        return false
    }
}

function setFieldValueOn (element, defaultText) {
    if(element.value == defaultText)
    {
        element.value = '';
    }
}

function setFieldValueOff (element, defaultText) {
    if (element.value == '')
    {
        element.value = defaultText;
    }
}

function goto (value) {
    if(value.length>1){location = value;}
}

function changeTab (name) {
    $('name_li').writeAttribute("class", "");
    $('location_li').writeAttribute("class", "");
    $('advanced_li').writeAttribute("class", "");
    $(name + '_li').writeAttribute("class", "active");
    $('name_form').hide();
    $('location_form').hide();
    $('advanced_form').hide();
    $(name + '_form').show();
}

function initOverLabels () {
  if (!document.getElementById) return;  	

  var labels, id, field;

  // Set focus and blur handlers to hide and show 
  // LABELs with 'overlabel' class names.
  labels = document.getElementsByTagName('label');
  for (var i = 0; i < labels.length; i++) {
	
    if (labels[i].className == 'overlabel') {

      // Skip labels that do not have a named association
      // with another field.
      id = labels[i].htmlFor || labels[i].getAttribute('for');
      if (!id || !(field = document.getElementById(id))) {
        continue;
      }

      // Change the applied class to hover the label 
      // over the form field.
      labels[i].className = 'overlabel-apply';

      // Hide any fields having an initial value.
      if (field.value !== '') {
        hideLabel(field.getAttribute('id'), true);
      }

      // Set handlers to show and hide labels.
      field.onfocus = function () {
        hideLabel(this.getAttribute('id'), true);
      };
      field.onblur = function () {
        if (this.value === '') {
          hideLabel(this.getAttribute('id'), false);
        }
      };

      // Handle clicks to LABEL elements (for Safari).
      labels[i].onclick = function () {
        var id, field;
        id = this.getAttribute('for');
        if (id && (field = document.getElementById(id))) {
          field.focus();
        }
      };

    }
  }
};

function hideLabel (field_id, hide) {
  var field_for;
  var labels = document.getElementsByTagName('label');
  for (var i = 0; i < labels.length; i++) {
    field_for = labels[i].htmlFor || labels[i].getAttribute('for');
    if (field_for == field_id) {
      labels[i].style.textIndent = (hide) ? '-1000px' : '0px';
      return true;
    }
  }
}

function set_url_data (data,value) {
        var url = window.location;
        var new_url;
        url = String(url);
        new_url = url.substr(0,url.lastIndexOf("#"));
        window.location = new_url + "#?" + data + "=" + value
}

// error handler taken from google maps api tutorial
// gdir - the google maps direction onject
function handleErrors(gdir){
        var directionsPanel = $('route');
	   if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
		{
	     	directionsPanel.innerHTML = "<div class='gmaperror'>We're sorry, we were unable to find your location.</div>"
		}
	   else
	{
	    	directionsPanel.innerHTML = "<div class='gmaperror'>We're sorry, an error has occurred please try again later.</div>"
	 } // commented out to only show two types of error, bad address and all other errors 
	   // else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
	   // 	     alert("The HTTP q parameter was either missing or had no value. For geocoder requests, this means that an empty address was specified as input. For directions requests, this means that no query was specified in the input.\n Error code: " + gdir.getStatus().code);
	   // 
	   // 	//   else if (gdir.getStatus().code == G_UNAVAILABLE_ADDRESS)  <--- Doc bug... this is either not defined, or Doc is wrong
	   // 	//     alert("The geocode for the given address or the route for the given directions query cannot be returned due to legal or contractual reasons.\n Error code: " + gdir.getStatus().code);
	   // 	     
	   // 	   else if (gdir.getStatus().code == G_GEO_BAD_KEY)
	   // 	     alert("The given key is either invalid or does not match the domain for which it was given. \n Error code: " + gdir.getStatus().code);
	   // 
	   // 	   else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
	   // 	     alert("A directions request could not be successfully parsed.\n Error code: " + gdir.getStatus().code);
	   // 	    
	   // 	   //else alert("An unknown error occurred.");
	   
}

function disableEndTime(){
	$('event_end_date-dd').disabled = !$('event_end_date-dd').disabled;
	$('event_end_date-mm').disabled = !$('event_end_date-mm').disabled;
	$('event_end_date').disabled = !$('event_end_date').disabled;
	$('event_end_date_4i').disabled = !$('event_end_date_4i').disabled;
	$('event_end_date_5i').disabled = !$('event_end_date_5i').disabled;
	$('event_end_date_6s').disabled = !$('event_end_date_6s').disabled;
}

function allDay(){
	if ($('event_all_day').checked){
		$('event_show_time').checked = false;
		//$('event_show_time').disabled = true;
	}
	else{
		//$('event_show_time').disabled = false;
		$('event_show_time').checked = false;
	}
	if ($('event_no_end_time').checked){
		$('event_no_end_time').checked = false;
	}
	else{
		$('event_no_end_time').checked = false;
	}

}

function showTime(){
	if ($('event_all_day').checked){
		$('event_all_day').checked = false;
		//$('event_all_day').disabled = true;
	}
	else{
		//$('event_all_day').disabled = false;
		$('event_all_day').checked = false;
	}
}

function disableCheck(){
	if(!$('event_show_time').disabled){
	$('event_show_time').checked = false;
	//$('event_show_time').disabled = true;
	$('event_all_day').checked = (!$('event_show_time').checked);
	$('event_all_day').disabled = (!$('event_all_day').disabled);
	$('event_show_time').disabled = (!$('event_show_time').disabled);
	$('event_location').disabled = (!$('event_location').disabled);
	$('event_building').disabled = (!$('event_building').disabled);
	$('event_address').disabled = (!$('event_address').disabled);
	$('event_city').disabled = (!$('event_city').disabled);
	$('event_state').disabled = (!$('event_state').disabled);
	$('event_zip').disabled = (!$('event_zip').disabled);	
	$('event_description').disabled = (!$('event_description').disabled);
	$('event_has_registration').checked = false;
	$('event_has_registration').disabled = (!$('event_has_registration').disabled);
	}
	else{
		$('event_show_time').disabled = (!$('event_show_time').disabled);
		$('event_all_day').disabled = (!$('event_all_day').disabled);
		$('event_location').disabled = (!$('event_location').disabled);
		$('event_building').disabled = (!$('event_building').disabled);
		$('event_address').disabled = (!$('event_address').disabled);
		$('event_city').disabled = (!$('event_city').disabled);
		$('event_state').disabled = (!$('event_state').disabled);
		$('event_zip').disabled = (!$('event_zip').disabled);	
		$('event_description').disabled = (!$('event_description').disabled);
		$('event_has_registration').disabled = (!$('event_has_registration').disabled);
	}
}

function toggle_date_selects (box, select) {
    $(select + '-mm').disabled = !$(select + '-mm').disabled
    $(select + '-dd').disabled = !$(select + '-dd').disabled
    $(select).disabled = !$(select).disabled
}