function show_hide(x,y){
	$("#"+x).hide();
	$("#"+y).show();
}

jQuery.preloadImages = function(){
  for(var i = 0; i<arguments.length; i++){
    jQuery("<img>").attr("src", arguments[i]);
  }
}

function prepareGallery(){
	var gallery = document.getElementById("menu");
	var links = gallery.getElementsByTagName("a");
	for( i=0; i<links.length; i++){
		links[i].onclick = function(){
			copy = $('#'+this.id).attr('title');
			nav(this.id,copy);
			return false;
		}
	}
}

function nav(id,copy){
	var navigation = document.getElementById("menu");
	var nonLinkId = $("span.nonlink").attr("id");
	var nonLinkName = $("span.nonlink").attr("title");
  //changes cookie if you switch category
  Set_Cookie( 'category', copy, 1, '/', '', '' );
	var newnonlinkName = nonLinkName.replace('_and_',' & ');
  newnonlinkName = nonLinkName.replace('_',' ');
	$("span.nonlink").replaceWith("<a id='"+nonLinkId+"' href='#' title='"+nonLinkName+"'>"+newnonlinkName+"</a>");
	var newcopy = copy.replace('_and_',' & ');
  newcopy = copy.replace('_',' ');
	$("a#"+id).replaceWith("<span class='nonlink' title='"+copy+"' id='"+id+"''>"+newcopy+"</span>");
	$('span#'+nonLinkName).addClass('hide');
	$('span#'+copy).removeClass('hide');
	prepareGallery();
}

function showpic(url,text,hash) {
  //window.scrollTo(0,0);
  var maximum = {width: 466, height: 448};
  var newImg = new Image();
  newImg.onload=function() {
      var height = newImg.height;
      var width = newImg.width;
      var placeholder = document.getElementById("placeholder");
      $("#vimeo_embed").empty();
      placeholder.style.display = 'block';
      if(width > maximum.width) {
          placeholder.style.width = maximum.width + "px";
          placeholder.style.height = "auto";
      } else if(height > maximum.height) {
          placeholder.style.width = "auto";
          placeholder.style.height = maximum.height + "px";
      } else {
          placeholder.style.width = width+"px";
          placeholder.style.height = height+"px";
      }
      placeholder.src = this.src;
      if(width>=580) {
        placeholder.className = hash+' enlarge';
        $("#enlargetxt").show();
        $("#enlarged-image").attr("src",url);
        //resize large image
        var max_w = 810;
        var ws = windowSize();
        if(width<max_w) 
        {
          if(height>ws[1]) $("#enlarged-image").css({"width":"auto","height":height+"px"});
          else $("#enlarged-image").css({"width":width+"px","height":"auto"});
        }
        else
        {
          if(width*ws[1]/height>max_w) $("#enlarged-image").css({"width":max_w+"px","height":"auto"});
          else $("#enlarged-image").css({"width":"auto","height":ws[1]+"px"});
        }
      }
      else {
        placeholder.className = hash;
        $("#enlargetxt").hide();
        $("#enlarged-image").hide();
      }
      text = stripslashes(text);
      $("#caption").empty();
      $("#caption").html(text);
  }
  newImg.src = url;
  var base_url = document.location.href.split('#');
  document.location.href = base_url[0]+'#'+hash;
  return false;
}


function showvid(url,hash) {
  $("#enlargetxt").hide();
  $("#enlarged-image").hide();
  window.scrollTo(0,0);
  $.ajax({
		type:"POST",
		url: '/artists/render_video',
		data: 'url='+url,
		dataType: "html",
		success: function(responseText){
			$("#dialog").append(responseText);
			$.ui.dialog.defaults.bgiframe = true;
			$(function() {
				$("#dialog").dialog({ 
					bgiframe: true,
					resizable: false,
					modal: true,
					width: 372,
					height: 320,
					position: [265,195],
					draggable: false,
					close: function(event, ui){
						$(".photo_module").append("<div id='dialog' class='hide' title='Video Box'></div>");
					}
				});
			});
		}
	});
  var placeholder = document.getElementById("placeholder");
  $("#vimeo_embed").empty();
  placeholder.style.display = 'block';
  placeholder.className = hash;
  var base_url = document.location.href.split('#');
  document.location.href = base_url[0]+'#'+hash;
  return false;
}

function showvimeo(vimeo_embed_code,text,hash) {
  $("#enlargetxt").hide();
  $("#enlarged-image").hide();
  window.scrollTo(0,0);
  
  //hide the placeholder image
  var placeholder = document.getElementById("placeholder");
  placeholder.className = hash;
  placeholder.style.display = 'none';
  
  //append the embed code
  $("#vimeo_embed").empty();
  vimeo_embed_code2= '<object width="466" height="'+imageDetails[hash][2]+'"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="'+vimeo_embed_code+'" /><embed src="'+vimeo_embed_code+'" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="466" height="'+imageDetails[hash][2]+'"></embed></object>';
  $("#vimeo_embed").html(vimeo_embed_code2);
  
  //add caption
  var text = stripslashes(text);
  $("#caption").empty();
  $("#caption").html(text);
  var base_url = document.location.href.split('#');
  document.location.href = base_url[0]+'#'+hash;
  return false;
}

var default_on = '';
/*
var roller_off = false;
function browse_rollover_delay(){
  if (roller_off){
    $('img.offy').fadeTo('fast', 1);
    $(default_on).addClass('on');
    $(default_on).addClass('on');
    roller_off = false;
  }
}
*/
function browse_rollover_on(val){
  $("."+val).addClass("on");
  /*
  $('.'+val).removeClass("offy");
  $('.'+val).addClass("on");
  $('.'+val).fadeTo('fast', 1);
  if ( ! roller_off){
    var thumb_imgs = document.getElementById('cat-thumbs').getElementsByTagName("img");
    for(var i=0,j=thumb_imgs.length; i<j; i++){
      if(thumb_imgs[i].className != val) $('.'+thumb_imgs[i].className).addClass("offy");
    }
    $('img.offy').fadeTo('slow', 0.3, function() { });
  }
  roller_off = false;
  */
}
function browse_rollover_off(val){
  if(val != default_on) $('.'+val).removeClass("on");
  /*
  roller_off = true;
  $('.'+val).addClass("offy");
  $('img.'+val).fadeTo('fast', 0.3, function() { });
  setTimeout("browse_rollover_delay()",800);
  */
}

function addslashes(str) {
str = str.replace(/\'/g,'\\\'');
str=str.replace(/\"/g,'\\"');
str=str.replace(/\\/g,'\\\\');
str=str.replace(/\0/g,'\\0');
return str;
}

function stripslashes(str) {
str = str.replace('+','\'');
str = str.replace(/\\'/g,'\'');
str = str.replace(/\\"/g,'"');
str = str.replace(/\\\\/g,'\\');
str = str.replace(/\\0/g,'\0');
str = str.replace(/\\0/g,'\0');
return str;
}


// COOKIES | from http://techpatterns.com/downloads/javascript_cookies.php

function Get_Cookie( check_name ) {
  // first we'll split this cookie up into name/value pairs
  // note: document.cookie only returns name=value, not the other components
  var a_all_cookies = document.cookie.split( ';' );
  var a_temp_cookie = '';
  var cookie_name = '';
  var cookie_value = '';
  var b_cookie_found = false; // set boolean t/f default f
  
  for ( i = 0; i < a_all_cookies.length; i++ )
  {
    // now we'll split apart each name=value pair
    a_temp_cookie = a_all_cookies[i].split( '=' );
    // and trim left/right whitespace while we're at it
    cookie_name = a_temp_cookie[0].replace(/^\s+|\s+$/g, '');
    // if the extracted name matches passed check_name
    if ( cookie_name == check_name )
    {
      b_cookie_found = true;
      // we need to handle case where cookie has no value but exists (no = sign, that is):
      if ( a_temp_cookie.length > 1 )
      {
        cookie_value = unescape( a_temp_cookie[1].replace(/^\s+|\s+$/g, '') );
      }
      // note that in cases where cookie is initialized but no value, null is returned
      return cookie_value;
      break;
    }
    a_temp_cookie = null;
    cookie_name = '';
  }
  if ( !b_cookie_found ) 
  {
    return null;
  }
}

function Set_Cookie( name, value, expires, path, domain, secure ) {
  var today = new Date();
  today.setTime( today.getTime() );
  // if the expires variable is set, make the correct expires time, the
  // current script below will set it for x number of days, to make it
  // for hours, delete * 24, for minutes, delete * 60 * 24
  if ( expires )
  {
    expires = expires * 1000 * 60 * 60 * 24;
  }
  var expires_date = new Date( today.getTime() + (expires) );

  document.cookie = name + "=" +escape( value ) +
    ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) + //expires.toGMTString()
    ( ( path ) ? ";path=" + path : "" ) + 
    ( ( domain ) ? ";domain=" + domain : "" ) +
    ( ( secure ) ? ";secure" : "" );
}

function Delete_Cookie( name, path, domain ) {
  if ( Get_Cookie( name ) ) document.cookie = name + "=" +
      ( ( path ) ? ";path=" + path : "") +
      ( ( domain ) ? ";domain=" + domain : "" ) +
      ";expires=Thu, 01-Jan-1970 00:00:01 GMT";
}

function windowSize()
{
  var w = 0;
  var h = 0;
  if(!window.innerWidth)
  {
    if(!(document.documentElement.clientWidth == 0))
    {
      w = document.documentElement.clientWidth;
      h = document.documentElement.clientHeight;
    }
    else
    {
      w = document.body.clientWidth;
      h = document.body.clientHeight;
    }
  }
  else
  {
    w = window.innerWidth;
    h = window.innerHeight;
  }
  return [w,h];
}
