﻿function addEvent( obj, type, fn ) {
	if (obj.addEventListener) {
		obj.addEventListener( type, fn, false );
		EventCache.add(obj, type, fn);
	}
	else if (obj.attachEvent) {
		obj["e"+type+fn] = fn;
		obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
		obj.attachEvent( "on"+type, obj[type+fn] );
		EventCache.add(obj, type, fn);
	}
	else {
		obj["on"+type] = obj["e"+type+fn];
	}
}

var EventCache = function(){
	var listEvents = [];
	return {
		listEvents : listEvents,
		add : function(node, sEventName, fHandler){
			listEvents.push(arguments);
		},
		flush : function(){
			var i, item;
			for(i = listEvents.length - 1; i >= 0; i = i - 1){
				item = listEvents[i];
				if(item[0].removeEventListener){
					item[0].removeEventListener(item[1], item[2], item[3]);
				};
				if(item[1].substring(0, 2) != "on"){
					item[1] = "on" + item[1];
				};
				if(item[0].detachEvent){

					item[0].detachEvent(item[1], item[2]);
				};
				item[0][item[1]] = null;
			};
		}
	};
}();

addEvent(window,'unload',EventCache.flush);

jQuery.fn.labelify = function(settings) {
  settings = jQuery.extend({
    text: "title",
    labelledClass: ""
  }, settings);
  var lookups = {
    title: function(input) {
      return $(input).attr("title");
    },
    label: function(input) {
      return $("label[for=" + input.id +"]").text();
    }
  };
  var lookup;
  var jQuery_labellified_elements = $(this);
  return $(this).each(function() {
    if (typeof settings.text === "string") {
      lookup = lookups[settings.text];
    } else {
      lookup = settings.text;
    };
    if (typeof lookup !== "function") { return; }
    var lookupval = lookup(this);
    if (!lookupval) { return; }
    	
    $(this).data("label",lookup(this).replace(/\n/g,''));
    $(this).focus(function() {
      if (this.value === $(this).data("label")) {
        this.value = this.defaultValue;
        $(this).removeClass(settings.labelledClass);
      }
    }).blur(function(){
      if (this.value === this.defaultValue) {
        this.value = $(this).data("label");
        $(this).addClass(settings.labelledClass);
      }
    });
    
    var removeValuesOnExit = function() {
      jQuery_labellified_elements.each(function(){
        if (this.value === $(this).data("label")) {
          this.value = this.defaultValue;
          $(this).removeClass(settings.labelledClass);
        }
      })
    };
    
    $(this).parents("form").submit(removeValuesOnExit);
    $(window).unload(removeValuesOnExit);
    
    if (this.value !== this.defaultValue) {
      return;
    }
    this.value = $(this).data("label");
    $(this).addClass(settings.labelledClass);

  });
};
	
$(document).ready(function() {

$("input.sm").labelify({ labelledClass: "labelHighlight" });

$(".videolink").click(function() {
	$.fancybox({
			'padding'		: 0,
			'autoScale'		: false,
			'transitionIn'	: 'none',
			'transitionOut'	: 'none',
			'title'			: this.title,
			'width'		: 680,
			'height'		: 495,
			'href'			: this.href.replace(new RegExp("watch\\?v=", "i"), 'v/'),
			'type'			: 'swf',
			'swf'			: {
			   	 'wmode'		: 'transparent',
				'allowfullscreen'	: 'true'
			}
		});

	return false;
});

$("a.zoom").fancybox();

$('#showForm').live('click', function() {
if( $('.loginform').is(':visible') ) {
  $('.loginform').fadeOut(120);
}
else {
  $('.loginform').fadeIn(120);
}

});

$('.js .userLogout').live('click', function() {
$('body').css('cursor','progress');
$(this).css('cursor','progress');
$.get('/js/', {logout: "1"}, function(data) {
  $('#userForm').html(data);
  $('body').css('cursor','default');
  $(this).css('cursor','default');
  $("input.sm").labelify({ labelledClass: "labelHighlight" });
});
return false;
});

$('.js .loginform form').live('submit', function() {
$('body').css('cursor','progress');
$(this).css('cursor','progress');
$.post('/js/', {site_user_login: $("#siteLogin").val(), site_user_password: $("#sitePassword").val() }, function(data) {
if (data!='0') {
  $('#userForm').html(data);
  $('body').css('cursor','default');
  $(this).css('cursor','default');
  $('.loginform form').css('cursor','default');
}
else {
  $('.loginform').animate({left: "457px"}, 50).animate({left: "445px"}, 50).animate({left: "457px"}, 50).animate({left: "445px"}, 50).animate({left: "457px"}, 50).animate({left: "451px"}, 50);
  $('body').css('cursor','default');
  $(this).css('cursor','default');
  $('.loginform form').css('cursor','default');
}

});
return false;
});

});
