$(function(){

	slideBlock();

	clearFormFields({
		clearInputs: true,
		clearTextareas: true,
		passwordFieldText: true,
		addClassFocus: "focus",
		filterClass: "default"
	});

	initCustomFile();
//init popups
	initPopup({
		openEvent:'click'
	});
	initPopup({
		popupHolderClass:'popup-hover'
	});

	imageMap();
//fade Gallery inex.html
	jQuery('div.f-gallery').fadeGallery({
		listSelector: ' > ul > li',
		prev: false,
		next: false,
		delay: 900,
		swichTime:9000
	});

//scroll Gallery
	jQuery('#gallery').vvGalleryScroll({
		holderList: 'div.holder',
		scrollElParent: '> ul',
		scrollEl: '> li',
		thumbs: 'div.swicher',
		thumbsCreate: true,
		autoSlide:5000
	});
//back buttons
	jQuery('.back a[href=\#].link').click(function(){
		history.go(-1);
		return false;
	});
	
	// "Go" Buttons
	jQuery('a.btn').click(function(){
		jQuery(this).parent().parent().parent().submit();
		return false;
	});

});


//****************************************************************** scroll Gallery
jQuery.fn.vvGalleryScroll = function(_options){
	// defaults options	
	var _options = jQuery.extend({
		btnPrev: 'a.link-prev',
		btnNext: 'a.link-next',
		holderList: 'div',
		scrollElParent: 'ul',
		scrollEl: 'li',
		thumbs: false,
		thumbsCreate: false,
		duration : 700,
		step: false,
		pause: false,
		event: 'click',
		circleSlide: true,
		disableClass: 'disable',
		autoSlide:false,
		onBeforeChange: null,
		onChange: null
	},_options);

	return this.each(function(){
		var _this = this;

		var _holderBlock = jQuery(_options.holderList,_this);
		var _moover = jQuery(_options.scrollElParent,_holderBlock).css('position','relative');
		var _liWidth = jQuery(_options.scrollEl,_moover).outerWidth(true);
		var _gWidth = _holderBlock.width();
		var _liSum = jQuery(_options.scrollEl,_moover).length * _liWidth;
		var _thumbs = _options.thumbs ? (jQuery(_options.thumbs,_this).length ? jQuery(_options.thumbs,_this): false) : false;
		var _step = 0, _t = null, _mM=0;
		var _pause =  _options.pause ? jQuery(_options.pause,_this) : false;
		var _play = _options.play ? jQuery(_options.play,_this) : false;
		var _a = 0;
		if(_options.thumbsCreate){
			var _html = '<ul>';
			for(var i=0; i<jQuery(_options.scrollEl,_moover).length; i++) {
				_html+='<li><a href="#">'+(i+1)+'</a></li>';
			};
			_html += '</ul>';
			_thumbs.html(_html);
			_thumbs = _thumbs.find('a');
		}
		if(_thumbs) _thumbs.removeClass('active').eq(_a).addClass('active');
//step
		if(typeof(_options.step)=='number') _step = _options.step;
		else if (!_options.step) _step = _gWidth; else _step = _options.step*_liWidth;
		if(!_options.circleSlide){
			if(_mM == 0) jQuery(_options.btnPrev,_this).addClass(_options.disableClass);
			else if(_mM ==_liSum-_gWidth) jQuery(_options.btnNext,_this).addClass(_options.disableClass);
		};
//prev btn
		if(jQuery(_options.btnPrev, _this)){
			jQuery(_options.btnPrev, _this).bind(_options.event, function(){
				if(!jQuery(this).hasClass(_options.disableClass)){
					jQuery(_options.btnNext,_this).removeClass(_options.disableClass);
					if(_mM - _step<0) (_mM!=0) ? _mM=0 : (_options.circleSlide ? _mM = _liSum - _gWidth : jQuery(_options.btnPrev,_this).addClass(_options.disableClass));
					else _mM -= _step;
					if(_a!= 0) _a--;
					else _a =jQuery(_options.scrollEl,_moover).length-1;
					_this.rotate(_mM);
				}
				return false;
			});
		};
//next btn
		if(jQuery(_options.btnNext, _this)){
			jQuery(_options.btnNext, _this).bind(_options.event, function(){
				if(!jQuery(this).hasClass(_options.disableClass)){
					jQuery(_options.btnPrev,_this).removeClass(_options.disableClass);
					if(_mM + _step >_liSum - _gWidth) (_mM!= _liSum - _gWidth) ? (_mM = _liSum - _gWidth) : (_options.circleSlide ? _mM = 0 : jQuery(_options.btnNext,_this).addClass(_options.disableClass));
					else _mM += _step;
					if(_a!= jQuery(_options.scrollEl,_moover).length-1) _a++;
					else _a =0;
					_this.rotate(_mM);
				}
				return false;
			});
		};
//animate
		_this.rotate = function(_mM){
			if(_t) clearTimeout(_t);
			if (jQuery.isFunction(_options.onBeforeChange)) {
				_options.onBeforeChange.apply(_this);
			}
			if(!_options.circleSlide){
				if(_mM == 0) jQuery(_options.btnPrev,_this).addClass(_options.disableClass);
				else if(_mM ==_liSum-_gWidth) jQuery(_options.btnNext,_this).addClass(_options.disableClass);
			};
			if(_thumbs) _thumbs.removeClass('active').eq(_a).addClass('active');
			_moover.animate({left: -_mM},{duration: _options.duration, queue: false, complete: function(){
				if (jQuery.isFunction(_options.onChange)) {
					_options.onChange.apply(_this);
				}
				_this.autoslide();
			}});
		};
//autoslide
		_this.autoslide = function(){
			if(_options.autoSlide && _liSum >= _gWidth){
				if(_t) clearTimeout(_t);
				_t = setTimeout(function(){
					jQuery(_options.btnPrev,_this).removeClass(_options.disableClass);
					if(_mM + _step >_liSum - _gWidth) (_mM!= _liSum - _gWidth) ? (_mM = _liSum - _gWidth) : (_options.circleSlide ? _mM = 0 : jQuery(_options.btnNext,_this).addClass(_options.disableClass));
					else _mM += _step;
					if(_a!= jQuery(_options.scrollEl,_moover).length-1) _a++;
					else _a =0;
					_this.rotate(_mM);
				}, _options.autoSlide);
			};
		};
		_this.autoslide();
//disable btns next/prev if need
		if (_liSum <= _gWidth) {
			jQuery(_options.btnPrev,_this).addClass(_options.disableClass).unbind(_options.event).click(function(){return false;});
			jQuery(_options.btnNext,_this).addClass(_options.disableClass).unbind(_options.event).click(function(){return false;});
		};
//thumbs
		if(_thumbs){
			_thumbs.click(function(){
				var _ind = _thumbs.index(this);
				_a = _ind;
				_thumbs.removeClass('active').eq(_a).addClass('active');
				_mM = _step*_ind;
				_this.rotate(_mM);
				return false;
			});
		}
	//play|pause
		if(_pause && _pause.length){
			_pause.click(function(){
				_play.removeClass('active');
				jQuery(this).addClass('active');
				if(_t) clearTimeout(_t);
				return false;
			});
		};
		if(_play && _play.length){
			_play.click(function(){
				_pause.removeClass('active');
				jQuery(this).addClass('active');
				_this.autoslide();
				return false;
			});
		};
	});
};

//****************************************************************** fade Gallery
jQuery.fn.fadeGallery = function(_options){
	var _options = jQuery.extend({
		listSelector: ' > li',
		navHolder:		false,
		navCreate:		false,
		thumbsSelector: 'li',
		prev:			'a.prev',
		next:			'a.next',
		swichTime:		false,
		delay:			900,
		fadeIEfix:		false,
		onChange:		null
	},_options);
	return this.each(function(){
		var _swichTime = _options.swichTime;
		var _d = (_options.fadeIEfix) ? ($.browser.msie ? 0 : _options.delay) : (_options.delay);
		var _this = $(this);
		var _list = $(_options.listSelector, _this);
		var _linksHold = $(_options.navHolder, _this);

		if(_options.navCreate){
			var _htmlNav ='<ul>';
			for(var i=0; i<_list.length; i++) {
				_htmlNav += '<li><a href="#">'+(i+1)+'</a></li>';
			}
			_htmlNav +='</ul>';
			_linksHold.html(_htmlNav);
		}
		if(_options.navHolder) var _links = jQuery(_options.thumbsSelector, _linksHold);
		else var _links = jQuery(_options.thumbsSelector, _this);
		var _btnPrev = $(_options.prev , _this);
		var _btnNext = $(_options.next , _this);
		var _a = _list.index(_list.filter('.active:eq(0)'));
		if(_a == -1) _a = 0;
		var _t;
		_list.removeClass('active').css({display: 'none', opacity: 0}).eq(_a).addClass('active').css({display: 'block', opacity: 1}).css('opacity', 'auto');
		_links.eq(_a).addClass('active');

		autoSwitch();
		function autoSwitch(){
			if (_swichTime){
				_t = setTimeout(function(){
					if(_a < _list.length - 1) changeEl(_a + 1);
					else changeEl(0);
				}, _swichTime);
			}
		}

		if (_btnPrev){
			_btnPrev.click(function(){
				var _prevItem = 0;
				if (_a > 0) _prevItem = _a-1;
				else _prevItem = _list.length-1;
				changeEl(_prevItem);
				return false;
			})
		}
		if (_btnNext){
			_btnNext.click(function(){
				var _nextItem = 0;
				if (_a < _list.length - 1) _nextItem = _a+1;
				else _nextItem = 0;
				changeEl(_nextItem);
				return false;
			})
		}

		if(_links){
			_links.click(function(){
				var _ind = _links.removeClass('active').index($(this).addClass('active'));
				changeEl(_ind);
				return false;
			})
		}
		function changeEl(_ind){
			if(_t) clearTimeout(_t);
			if(_list.is(':animated')) _list.stop(true, true);
			if(_ind != _a){
				_links.removeClass('active').eq(_ind).addClass('active');
				_list.eq(_a).removeClass('active').animate({opacity: 0}, {queue:false, duration:_d, complete: function(){$(this).css({display:'none'})}});
				_list.eq(_ind).addClass('active').css({opacity: 0, display:'block'}).animate({opacity: 1}, {queue:false, duration:_d,complete:function(){
					$(this).css('opacity', 'auto');
					_a = _ind;
					autoSwitch();
					if (jQuery.isFunction(_options.onChange)) {
						_options.onChange.apply(_this);
					};
				}});
			}
		}
	});
};

//****************************************************************** image map
function imageMap(){
	var _d = 500;
	$('div.map-box').each(function(){
		var _items = $('div.map-item',this);
		_items.css({zIndex:2}).not('.active').css({opacity: 0, left:'-9999px',top:'-9999px'});
		var btn = $('div.link a',this);
		var _a = _items.index(_items.filter('.active'));
		btn.click(function(){
			var _i = btn.index(this);
			if(_i < _items.length-1) _i++;
			else _i = 0;
			_items.stop(true, true);
			_items.eq(_a).css({zIndex:2}).animate({opacity: 0},_d,function(){
				$(this).css({left: '-9999px', top:'-9999px'});
			});
			_items.eq(_i).css({zIndex:3, left: '', top: ''}).animate({opacity: 1},_d);
			_a = _i;
			return false;
		});
		$('div.image-map-holder', this).each(function(){
			var _map = $('.image-map', this);
			var _mapHovers = $('ul.map-hover', this);
			_map.find('area').each(function(i){
				if(this.alt){
					this._node = document.getElementById(this.alt);
					$(this).mouseenter(function(){
						if(this._node && this._node.className.indexOf("activestate") == -1){
							this._node.className += " activestate";
						};
					}).mouseleave(function(){
						if(this._node && this._node.className.indexOf("activestate") != -1){
							this._node.className = this._node.className.replace("activestate", "");
						};
					});
				};
			});
		});
	})
	
	$('div.kids-box').each(function(){
		var _items = $('div.kids-item',this);
		_items.css({zIndex:2}).not('.active').css({opacity: 0, left:'-9999px',top:'-9999px'});
		var btn = $('div.link a',this);
		var _a = _items.index(_items.filter('.active'));
		btn.click(function(){
			var _i = btn.index(this);
			if(_i < _items.length-1) _i++;
			else _i = 0;
			_items.stop(true, true);
			_items.eq(_a).css({zIndex:2}).animate({opacity: 0},_d,function(){
				$(this).css({left: '-9999px', top:'-9999px'});
			});
			_items.eq(_i).css({zIndex:3, left: '', top: ''}).animate({opacity: 1},_d);
			_a = _i;
			return false;
		});
		$('div.image-kids-holder', this).each(function(){
			var _map = $('.kids-map', this);
			var _mapHovers = $('ul.kids-hover', this);
			_map.find('area').each(function(i){
				if(this.alt){
					this._node = document.getElementById(this.alt);
					$(this).mouseenter(function(){
						if(this._node && this._node.className.indexOf("activestate") == -1){
							this._node.className += " activestate";
						};
					}).mouseleave(function(){
						if(this._node && this._node.className.indexOf("activestate") != -1){
							this._node.className = this._node.className.replace("activestate", "");
						};
					});
				};
			});
		});
	})
	
	
}


//******************************************************************* slideBlock
function slideBlock(){
	// Slide effect
	var _parentSlide = 'div.slide-block';
	var _linkSlide = 'a.open-close';
	var _slideBlock = 'div.block';
	var _openClassS = 'active';
	var _textOpenS = 'View Job Description';
	var _textCloseS = 'Hide Job Description';
	var _durationSlide = 500;
	
	$(_parentSlide).each(function(){
		if (!$(this).is('.'+_openClassS)) {
			$(this).find(_slideBlock).css('display','none');
		}

		$(_linkSlide, this).click(function(){
			if ($(this).parents(_parentSlide).is('.'+_openClassS)) {
				$(this).parents(_parentSlide).removeClass(_openClassS);
				$(this).parents(_parentSlide).find(_slideBlock).slideUp(_durationSlide);
				$(this).text(_textOpenS);
			} else {
				$(this).parents(_parentSlide).addClass(_openClassS);
				$(this).parents(_parentSlide).find(_slideBlock).slideDown(_durationSlide);
				$(this).text(_textCloseS);
			}
			return false;
		});
	});
}
//******************************************************************** custom file upload button
function initCustomFile()
{
	var inputs = document.getElementsByTagName("input");
	for (var i= 0; i < inputs.length; i++)
	{
		if(inputs[i].className.indexOf("file-input-area") != -1)
		{
			inputs[i].file = inputs[i].parentNode.getElementsByTagName("input").item(1);
			inputs[i].file.readOnly = true;
			inputs[i].onchange = function()
			{
				this.file.value = this.value;
			}
			inputs[i].onmouseover = function()
			{
				this.parentNode.className += " hover";
			}
			inputs[i].onmouseout = function()
			{
				this.parentNode.className = this.parentNode.className.replace(" hover", "");
			}
		}
	}
}

//*********************************************************************** clear inputs
function clearFormFields(o)
{
	if (o.clearInputs == null) o.clearInputs = true;
	if (o.clearTextareas == null) o.clearTextareas = true;
	if (o.passwordFieldText == null) o.passwordFieldText = false;
	if (o.addClassFocus == null) o.addClassFocus = false;
	if (!o.filter) o.filter = "default";
	if(o.clearInputs) {
		var inputs = document.getElementsByTagName("input");
		for (var i = 0; i < inputs.length; i++ ) {
			if((inputs[i].type == "text" || inputs[i].type == "password") && inputs[i].className.indexOf(o.filterClass)) {
				inputs[i].valueHtml = inputs[i].value;
				inputs[i].onfocus = function ()	{
					if(this.valueHtml == this.value) this.value = "";
					if(this.fake) {
						inputsSwap(this, this.previousSibling);
						this.previousSibling.focus();
					}
					if(o.addClassFocus && !this.fake) {
						this.className += " " + o.addClassFocus;
						this.parentNode.className += " parent-" + o.addClassFocus;
					}
				}
				inputs[i].onblur = function () {
					if(this.value == "") {
						this.value = this.valueHtml;
						if(o.passwordFieldText && this.type == "password") inputsSwap(this, this.nextSibling);
					}
					if(o.addClassFocus) {
						this.className = this.className.replace(o.addClassFocus, "");
						this.parentNode.className = this.parentNode.className.replace("parent-"+o.addClassFocus, "");
					}
				}
				if(o.passwordFieldText && inputs[i].type == "password") {
					var fakeInput = document.createElement("input");
					fakeInput.type = "text";
					fakeInput.value = inputs[i].value;
					fakeInput.className = inputs[i].className;
					fakeInput.fake = true;
					inputs[i].parentNode.insertBefore(fakeInput, inputs[i].nextSibling);
					inputsSwap(inputs[i], null);
				}
			}
		}
	}
	if(o.clearTextareas) {
		var textareas = document.getElementsByTagName("textarea");
		for(var i=0; i<textareas.length; i++) {
			if(textareas[i].className.indexOf(o.filterClass)) {
				textareas[i].valueHtml = textareas[i].value;
				textareas[i].onfocus = function() {
					if(this.value == this.valueHtml) this.value = "";
					if(o.addClassFocus) {
						this.className += " " + o.addClassFocus;
						this.parentNode.className += " parent-" + o.addClassFocus;
					}
				}
				textareas[i].onblur = function() {
					if(this.value == "") this.value = this.valueHtml;
					if(o.addClassFocus) {
						this.className = this.className.replace(o.addClassFocus, "");
						this.parentNode.className = this.parentNode.className.replace("parent-"+o.addClassFocus, "");
					}
				}
			}
		}
	}
	function inputsSwap(el, el2) {
		if(el) el.style.display = "none";
		if(el2) el2.style.display = "inline";
	}
}

function initPopup(_popup) {
	if (!_popup.popupHolderTag) _popup.popupHolderTag = 'div';
	if (!_popup.popupTag) _popup.popupTag = 'div';
	if (!_popup.popupHolderClass) _popup.popupHolderClass = 'popup-holder';
	if (!_popup.popupClass) _popup.popupClass = 'popup';
	if (!_popup.linkOpenClass) _popup.linkOpenClass = 'open';
	if (!_popup.linkCloseClass) _popup.linkCloseClass = 'close';
	if (!_popup.openClass) _popup.openClass = 'active';
	if (!_popup.openEvent) _popup.openEvent = 'hover';
	
	var timer = [];	
	var _popupHolderTag = document.getElementsByTagName(_popup.popupHolderTag);
	if (_popupHolderTag) {
		for (var i=0; i<_popupHolderTag.length; i++) {
			if (_popupHolderTag[i].className.indexOf(_popup.popupHolderClass) != -1) {
				var _popupLink = _popupHolderTag[i].getElementsByTagName('a');
				for (var j=0; j<_popupLink.length; j++) {
					_popupLink[j].parent = _popupHolderTag[i];
					if (_popupLink[j].className.indexOf(_popup.linkOpenClass) != -1) {
						if (_popup.openEvent == 'click') {
							_popupLink[j].onclick = function(){
								if (this.parent.className.indexOf(_popup.openClass) != -1) {
									this.parent.className = this.parent.className.replace(_popup.openClass,'');
								} else {
									this.parent.className += ' '+_popup.openClass;
								}
								return false;
							}
						} else {
							var _popupTag = _popupHolderTag[i].getElementsByTagName(_popup.popupTag);
							for (var k=0; k<_popupTag.length; k++) {
								if (_popupTag[k].className.indexOf(_popup.popupClass) != -1) {
									_popupTag[k].parent = _popupHolderTag[i];
									_popupTag[k].onmouseover = function(){
										if (timer[j]) clearTimeout(timer[j]);
										if (this.parent.className.indexOf(_popup.openClass) == -1) {
											this.parent.className += ' '+_popup.openClass;
										}
									}
									_popupTag[k].onmouseout = function(){
										var _this = this;
										timer[j] = setTimeout(function(){
											_this.parent.className = _this.parent.className.replace(_popup.openClass,'');
										},2);
									}	
								}
							}
							_popupLink[j].onmouseover = function(){
								if (timer[j]) clearTimeout(timer[j]);
								if (this.parent.className.indexOf(_popup.openClass) == -1) {
									this.parent.className += ' '+_popup.openClass;
								}
							}
							_popupLink[j].onmouseout = function(){
								var _this = this;
								timer[j] = setTimeout(function(){
									_this.parent.className = _this.parent.className.replace(_popup.openClass,'');
								},2);
							}
						}
					} else if (_popupLink[j].className.indexOf(_popup.linkCloseClass) != -1) {
						_popupLink[j].onclick = function(){
							if (this.parent.className.indexOf(_popup.openClass) != -1) {
								this.parent.className = this.parent.className.replace(_popup.openClass,'');
							} else {
								this.parent.className += ' '+_popup.openClass;
							}
							return false;
						}
					}
				}
			}
		}
	}
}

function sendFriend(link)
{
	//jQuery('#card').load('email_directions.php');
	document.getElementById('card').style.display='block'; 
	document.getElementById('page').value = link; 

	return false;
}
