/*
	Global JS defenitions
	Copyright, 2009 ObsoletePartFinder.com
*/

var ICL = {
	hash: {},
  include: function(libraryName) {
    document.write('<script type="text/javascript" src="'+libraryName+'"><\/script>');
  },
  init: function() {
		this.equalHeight($(".same-height"));

		// Default form values
		var submitForm = function(event){
			$("input.default", event.data.form).each(function(){
				if(this.value == this.title)	this.value='';
			});
			return true;
		}

		$("input.default").each(function(){
			var el = this;
			$(el).blur(function () {
				if(this.value == '') {
					$(this).removeClass('active');
					this.value = el.title;
				}
	    }).focus(function () {
				if(this.value == el.title) {
					this.value = '';
				}
				$(this).addClass('active');
			});
			if(this.value == '') this.value = el.title;
			if(this.value != el.title)$(el).addClass('active');

			// remove default values befor submission
			var form = $($(el).parents("form"));
			form.unbind("submit", submitForm).bind("submit", {form: form}, submitForm);
		});


		// Add valid attributes
		$("a.target-blank").attr({target: "_blank"});
		$(".autocomplete-off").attr({autocomplete: "off"});


		// Forms row hightlighting
		$(":input").each(function(){
			var el = $(this);
			el.blur(function () {
				$(this).removeClass('active-field');
	    }).focus(function () {
				$(this).addClass('active-field');
			});

			var parent = $(el.parents(".form-row"));
			el.blur(function () {
				parent.removeClass('active');
	    }).focus(function () {
				parent.addClass('active');
			});

		});

		// Focus RFQ field
		$("#top_rfq_part, #rfq_part").focus();

		// Callout
		$(".callout").append('<em style="display:none" class="iebgfix"></em>').hover(function(){
			ICL.cleardelay('delayhide');
			var em = $(this).find("em");

			ICL.hash.delayhide = setTimeout(function(){
				em.css({top: -em.height()-10}).animate({
					opacity: "show",
					top: -em.height()
				}, "normal", "linear", function(){
					em.removeClass('iebgfix');
				});
			}, 500);

		}, function(){

			var em = $(this).find("em");
			ICL.cleardelay('delayhide');

			ICL.hash.delayhide = setTimeout(function(){
				em.addClass('iebgfix');
				em.animate({opacity: "hide", top: -em.height()-10}, "normal");
			}, 200);

		});
  },


  cleardelay: function(name) {
		if (this.hash[name])
			clearTimeout(this.hash[name]);
  },


  load: function() {
//		this.include("js/nifty.js");
		$(document).ready(function() {
			ICL.init();
		});
		$(window).load(function () {
			ICL.equalHeight($(".same-height"));
		});

	},

/* Shadows */
	addShadows: function(){
		var blocks = $(".container");
		blocks.each(function(i, el){
			$(el).addClass('shadows').wrapInner('<div class="framed"><b class="f_r"><b class="f_b"><b class="f_l"><b class="f_c"></b><b class="f_ll"><b></b></b></b><b class="f_bb"><b></b></b></b><b class="f_rr"></b></b><b class="f_tt"></b></div><b class="clear">&nbsp;</b>');
		});
	},


/* Cookie tools */
	getCookie: function( name ) {
		var start = document.cookie.indexOf( name + "=" );
		var len = start + name.length + 1;
		if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
			return null;
		}
		if ( start == -1 ) return null;
		var end = document.cookie.indexOf( ';', len );
		if ( end == -1 ) end = document.cookie.length;
		return unescape( document.cookie.substring( len, end ) );
	},
 
	setCookie: function( name, value, expires, path, domain, secure ) {
		var today = new Date();
		today.setTime( today.getTime() );
		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=' + path : '' ) +
		( ( domain ) ? ';domain=' + domain : '' ) +
		( ( secure ) ? ';secure' : '' );*/
	},
 
	deleteCookie: function( name, path, domain ) {
		if ( getCookie( name ) ) document.cookie = name + '=' +
		( ( path ) ? ';path=' + path : '') +
		( ( domain ) ? ';domain=' + domain : '' ) +
		';expires=Thu, 01-Jan-1970 00:00:01 GMT';
	},

	gotoError: function (field) {
		$(":input[name='"+field+"']").addClass('fixerror').focus();
	},

	equalHeight: function (group) {
		tallest = 0;
		group.css({height: "auto"});
		group.each(function() {
			thisHeight = $(this).height();
			if(thisHeight > tallest) {
				tallest = thisHeight;
			}
		});
		group.height(tallest);
	},

	initMenus: function (link1, link2, title) {
		var alphabet = '0123456789';
		var catalog = '';
		var inv = '';
		var letter;
		title = title.length > 0 ? '<strong>'+title+'</strong>':'';

		var topNav = $("#top-nav");

		if(topNav.length == 0){
			return false;
		}


		ICL.hash.ul = {};
		for(i=0; i<alphabet.length; i++) {
			letter = alphabet.substr(i,1);
			catalog += '<li><a href="'+link1.replace('[0-9]',letter.toLowerCase())+'">'+letter+'</a></li>';
			inv += '<li><a href="'+link2.replace('{pageID}','stock_'+letter)+'">'+letter+'</a></li>';
		}
		topNav.find(".tn-catalog").after('<div class="tnm" style="display:none"><div class="bg">'+title+'<ul>'+catalog+'</ul></div></div>');

		topNav.find(".tn-inv").after('<div class="tnm" style="display:none"><div class="bg">'+title+'<ul>'+inv+'</ul></div></div>');


	topNav.find(".tnm").each(function(i){
//		this.style.filter = "progid:DXImageTransform.Microsoft.Shadow(color='#888888', Direction=135, Strength=10)"
//		this.style.filter = "progid:DXImageTransform.Microsoft.DropShadow(color='#888888', OffX=5, OffY=5, positive=10)"
//			this.style.filter = "progid:DXImageTransform.Microsoft.Shadow(color='#cccccc', Direction=135, Strength=3)";

		if ( $.browser.msie && $.browser.version <= 8 ){
//			$(this).css({filter:"progid:DXImageTransform.Microsoft.Shadow(color='#cccccc', Direction=135, Strength=3)"});
		}
	});

		topNav.find(".tn-catalog, .tn-inv").each(function(){
			var el = $(this);
			var elclass = el.attr('class').replace(/ |\./, '_');
			var ul = el.next('.tnm');
			var td = $(el.parents("td"));
			ICL.hash.ul[elclass] = ul;

			ul.hover(function(){
				ICL.cleardelay(elclass);
			},function(){
				ICL.hash[elclass] = setTimeout(function(){
					ul.fadeOut();
					td.removeClass("active");
				}, 100);
			});
			el.append('<em></em>').hover(function(){
				for(var item in ICL.hash.ul){
					if(ICL.hash.ul[item] != ul) {
						ICL.hash.ul[item].hide();
						$(ICL.hash.ul[item].parents("td")).removeClass("active");
					}
				}
				ICL.cleardelay(elclass);
				ul.fadeIn();
				td.addClass("active");

			},function(){
				ICL.hash[elclass] = setTimeout(function(){
					ul.fadeOut();
					td.removeClass("active");
				}, 300);
			});
		});
	}
}



ICL.load();




