﻿var myBox = new Object();

myBox.h = '480';
myBox.w = '680';
myBox.isImg = false;
myBox.isLoaded = false;
myBox.isOpened = false;
myBox.topOffset = 0;
myBox.formHtml = '<div id="myBox-close"></div><h3>Оставьте ваше сообщение:</h3><form action="ajax-mail.php"><label for="name">Имя:</label><input type="text" name="name" id="myBox-name" /><label for="email" id="myBox-email-label">Электронная почта:</label><input type="text" name="email" id="myBox-email" /><label for="phone" id="myBox-phone-label">Телефон:</label><input type="text" name="phone" id="myBox-phone" /><label for="message" id="myBox-message-label">Сообщение:</label><textarea name="message" id="myBox-message" wrap="on"></textarea><input type="button" id="myBox-submit" /></form>';
myBox.padding = 0;
myBox.imgArray = Array();
myBox.currentEvent = 0;
myBox.browserHeight = jQuery(window).height();
myBox.browserWidth = jQuery(window).width();
myBox.topTemp = 0;

myBox.openHandler = function (){
	if (!myBox.isOpened) {
		jQuery('#feedback-wrapper').css('top', myBox.browserHeight/2);
		jQuery('#feedback-wrapper').css('left', myBox.browserWidth/2);
		if (myBox.isImg) {
			jQuery('#feedback-wrapper').css('overflow', 'visible');
			myBox.preOpen();
			myBox.imagePath = myBox.getImgPath();
			myBox.image = jQuery('<img />').attr('src', myBox.imagePath).load(function(){
				jQuery('#loading').remove();
				jQuery('#feedback-wrapper').append(jQuery(myBox.image));
				jQuery('#feedback-wrapper img').css('display', 'none');
				myBox.isLoaded = true;
				myBox.open();
			});
		}
		if (myBox.isForm) {
			jQuery('#shading').css('opacity', '0');
			jQuery('#shading').css('display', 'block');
			jQuery('#shading').animate({opacity: 0.6},1000);
			jQuery('#feedback-wrapper').css('padding', '0');
			jQuery('#feedback-wrapper').css('display', 'block');
			jQuery('#feedback-wrapper').css('opacity', '1');
			myBox.isLoaded = true;
			myBox.open();
		}
		myBox.isOpened = true;
	}
}

myBox.preOpen = function(){
	jQuery('#shading').css('opacity', '0');
	jQuery('#shading').css('display', 'block');
	jQuery('#shading').animate({opacity: 0.6},1000);
	jQuery('#feedback-wrapper').css('display', 'block');
	jQuery('#feedback-wrapper').css('opacity', '1');
	jQuery('#feedback-wrapper').animate({
		left: '-=50',
		top: '-=50',
		width: '100',
		height: '100'
	},500, function(){
		if ((myBox.isImg)&&(!myBox.isLoaded)) jQuery('#feedback-wrapper').html('<div id="loading"></div>');
	});
};

myBox.getImgPath = function(){
	var str = jQuery(myBox.event).html();
	str = str.substr(str.indexOf('<!--')+4, str.indexOf('-->')-4);
	return str;
}

myBox.closeHandler = function (event){
	if ((myBox.isOpened)&&(myBox.isLoaded)) {
		if (myBox.isForm) {
			jQuery('#feedback-wrapper').css('padding', '0');
			jQuery('#feedback-wrapper').css('width', '640px');
			jQuery('#feedback-wrapper').css('height', '465px');
			if ((jQuery.browser.msie)&&(jQuery.browser.version == '6.0' || jQuery.browser.version == '7.0' )) jQuery('#feedback-wrapper').css('height', '485px');
		}
		jQuery('#shading').animate({opacity: 0},1000);
		jQuery('#feedback-wrapper').animate({
			opacity: 0,
			width: '0',
			height: '0',
			left: '+='+parseInt(myBox.w/2+myBox.padding),
			top: '+='+parseInt(myBox.h/2+myBox.topOffset)
			}, 1000);
		jQuery('#feedback-wrapper').html(' ');
		jQuery('#feedback-wrapper img').css('display', 'none');
		setTimeout(function(){
			jQuery('#shading').css('display', 'none');
			}, 1000);
		myBox.isOpened = false;
		myBox.isImg = false;
		myBox.isForm = false;
		myBox.isLoaded = false;
		myBox.imgArray.length = 0;
	}
	return false;
}

myBox.open = function(){
	if (myBox.isLoaded) {
		var top_ = jQuery(window).scrollTop()+35;
		if (myBox.isImg) {
			myBox.h = myBox.image.height();
			myBox.w = myBox.image.width();
			myBox.topOffset = 0;
			jQuery('#feedback-wrapper').css('padding', '0');
			myBox.getImgArray();
			myBox.preOpenW = 50;
			myBox.preOpenH = 50;
			myBox.padding = 0;
		}
		if (myBox.isForm) {
			jQuery('#feedback-wrapper').addClass('feedback-transparent');
			myBox.h = '465';
			if ((jQuery.browser.msie)&&(jQuery.browser.version == '6.0' || jQuery.browser.version == '7.0' )) myBox.h = '485';
			myBox.w = '640';
			top_ = myBox.browserHeight/2-myBox.h/2;
			myBox.padding = 0;
			myBox.preOpenW = 0;
			myBox.preOpenH = 0;
		}
		jQuery('#feedback-wrapper').animate({
			width: ''+parseInt(myBox.w),
			height: ''+parseInt(myBox.h),
			left: '-='+(parseInt(myBox.w/2)+myBox.padding-myBox.preOpenW),
			top: top_
			},1000, function(){
				jQuery('#feedback-wrapper img').css('display', 'block');
				if (myBox.isImg) {
					myBox.imgHtml = myBox.getLightboxHtml();
					jQuery('#feedback-wrapper').html(myBox.imgHtml);
					if ((jQuery.browser.msie)&&(jQuery.browser.version == '6.0')) 
						jQuery('#myBox-close').css('background','url(../images/close.gif) no-repeat'); 
					jQuery('#myBox-close').click(function(){myBox.closeHandler();});
					jQuery('#myBox-prev-wrapper').css('height',myBox.h+'px');
					if (!((jQuery.browser.msie)&&(jQuery.browser.version <= '7.0'))) jQuery('#myBox-prev-wrapper').hover(function(){
						jQuery('#myBox-prev-wrapper').addClass('myBox-prev-wrapper-bg');
					}, function(){
						jQuery('#myBox-prev-wrapper').removeClass('myBox-prev-wrapper-bg');
					}); else jQuery('#myBox-prev-wrapper').css('background','url(../images/prev.gif) no-repeat 3% 50%');
					jQuery('#myBox-next-wrapper').css('height',myBox.h+'px');
					if (!((jQuery.browser.msie)&&(jQuery.browser.version <= '7.0'))) jQuery('#myBox-next-wrapper').hover(function(){
						jQuery('#myBox-next-wrapper').addClass('myBox-next-wrapper-bg');
					}, function(){
						jQuery('#myBox-next-wrapper').removeClass('myBox-next-wrapper-bg');
					}); else jQuery('#myBox-next-wrapper').css('background','url(../images/next.gif) no-repeat 97% 50%');
					jQuery('#myBox-prev-wrapper').click(function(){myBox.showPrev();});
					jQuery('#myBox-next-wrapper').click(function(){myBox.showNext();});
					jQuery('#myBox-image').attr('src',myBox.imagePath);
					jQuery('#myBox-image').attr('width',myBox.w);
					jQuery('#myBox-image').attr('height',myBox.h);
				}
				if (myBox.isForm) {
					jQuery('#feedback-wrapper').css('padding', '30px 70px 0 70px');
					jQuery('#feedback-wrapper').css('width', '500px');
					jQuery('#feedback-wrapper').css('height', '435px');	
					if ((jQuery.browser.msie)&&(jQuery.browser.version == '6.0' || jQuery.browser.version == '7.0' )) jQuery('#feedback-wrapper').css('height', '455px');
					jQuery('#feedback-wrapper').css('overflow', 'visible');
					jQuery('#feedback-wrapper').html(myBox.formHtml);
					jQuery('#myBox-close').click(function(){myBox.closeHandler();});
					/*jQuery('#myBox-submit').click(function(){
						myBox.sendMail();
					})*/
				}
		});
	} else {
		setTimeout(myBox.open(),50);
	};
};

myBox.getImgArray = function() {
	var str = jQuery(myBox.event).attr('class');
	var startIndex = str.indexOf(' __')+3;
	if (startIndex == -1) return false;
	var strClass = str.substr(startIndex, str.length-1)+' ';
	strClass = strClass.substr(0,strClass.indexOf(' ', 0));
	jQuery('div.__'+strClass).each(function(){
		if (myBox.event == this) myBox.currentEvent = myBox.imgArray.length;
		myBox.imgArray[myBox.imgArray.length] = this;
	});
}

myBox.getLightboxHtml = function(){
	var resultHtml = '<div id="myBox-close"></div><img id="myBox-image" src="" alt="" />';
	if (myBox.imgArray.length == 0) return resultHtml;
	var prevCode = '<div id="myBox-prev-wrapper"></div>';
	var nextCode = '<div id="myBox-next-wrapper"></div>';
	if (myBox.currentEvent != 0) resultHtml += prevCode;
	if ((myBox.imgArray.length - 1) != myBox.currentEvent) resultHtml += nextCode;
	return resultHtml;
}

myBox.showNext = function() {
	jQuery('#feedback-wrapper').html('<div id="loading"></div>');
	jQuery('#feedback-wrapper').css('overflow', 'visible');
	jQuery('#loading').css('top', parseInt(myBox.h/2-16));
	myBox.currentEvent += 1;
	myBox.event = myBox.imgArray[myBox.currentEvent];
	myBox.imagePath = myBox.getImgPath();
	myBox.image = jQuery('<img />').attr('src', myBox.imagePath).load(function(){
		jQuery('#loading').remove();
		jQuery('#feedback-wrapper').append(jQuery(myBox.image));
		jQuery('#feedback-wrapper img').css('display', 'none');
		myBox.isLoaded = true;
		myBox.openAnother();
	});
}

myBox.showPrev = function() {
	jQuery('#feedback-wrapper').html('<div id="loading"></div>');
	jQuery('#feedback-wrapper').css('overflow', 'visible');
	jQuery('#loading').css('top', parseInt(myBox.h/2-16));
	myBox.currentEvent -= 1;
	myBox.event = myBox.imgArray[myBox.currentEvent];
	myBox.imagePath = myBox.getImgPath();
	myBox.image = jQuery('<img />').attr('src', myBox.imagePath).load(function(){
		jQuery('#loading').remove();
		jQuery('#feedback-wrapper').append(jQuery(myBox.image));
		jQuery('#feedback-wrapper img').css('display', 'none');
		myBox.isLoaded = true;
		myBox.openAnother();
	});
}

myBox.openAnother = function() {
	jQuery('#feedback-wrapper').css('left', myBox.browserWidth/2-parseInt(myBox.w)/2);
	myBox.newH = myBox.image.height();
	myBox.newW = myBox.image.width();
	jQuery('#feedback-wrapper').animate({
		width: ''+parseInt(myBox.newW),
		height: ''+parseInt(myBox.newH),
		left: '-='+parseInt(myBox.newW/2-myBox.w/2),
		top: jQuery(window).scrollTop()+35
		},1000, function(){
			jQuery('#feedback-wrapper img').css('display', 'block');
			myBox.imgHtml = myBox.getLightboxHtml();
			jQuery('#feedback-wrapper').html(myBox.imgHtml);
			if ((jQuery.browser.msie)&&(jQuery.browser.version == '6.0')) 
				jQuery('#myBox-close').css('background','url(../images/close.gif) no-repeat'); 
			jQuery('#myBox-close').click(function(){myBox.closeHandler();});
			jQuery('#myBox-prev-wrapper').css('height',myBox.newH+'px');
			if (!((jQuery.browser.msie)&&(jQuery.browser.version <= '7.0'))) jQuery('#myBox-prev-wrapper').hover(function(){
				jQuery('#myBox-prev-wrapper').addClass('myBox-prev-wrapper-bg');
			}, function(){
				jQuery('#myBox-prev-wrapper').removeClass('myBox-prev-wrapper-bg');
			}); else jQuery('#myBox-prev-wrapper').css('background','url(../images/prev.gif) no-repeat 3% 50%');
			jQuery('#myBox-next-wrapper').css('height',myBox.newH+'px');
			if (!((jQuery.browser.msie)&&(jQuery.browser.version <= '7.0'))) jQuery('#myBox-next-wrapper').hover(function(){
				jQuery('#myBox-next-wrapper').addClass('myBox-next-wrapper-bg');
			}, function(){
				jQuery('#myBox-next-wrapper').removeClass('myBox-next-wrapper-bg');
			}); else jQuery('#myBox-next-wrapper').css('background','url(../images/next.gif) no-repeat 97% 50%');
			jQuery('#myBox-prev-wrapper').click(function(){myBox.showPrev();});
			jQuery('#myBox-next-wrapper').click(function(){myBox.showNext();});
			jQuery('#myBox-image').attr('src',myBox.imagePath);
			jQuery('#myBox-image').attr('width',myBox.newW);
			jQuery('#myBox-image').attr('height',myBox.newH);
			myBox.h = myBox.newH;
			myBox.w = myBox.newW;
		}
	);
}

myBox.sendMail = function() {
	var name = jQuery('#myBox-name').attr('value');
	var email = jQuery('#myBox-email').attr('value');
	var phone = jQuery('#myBox-phone').attr('value');
	var message = jQuery('#myBox-message').attr('value');
	var emailExp = new RegExp("[a-zA-Z0-9_.]+@[a-zA-Z0-9_.]+\\.[a-zA-Z0-9_.]+");
	//alert(emailExp);
	if (!emailExp.test(email) && (email != ''))
		{
		alert('Ваш почтовый адрес не введён либо введён неверно');
		return false;
		};
	if ((email == '') && (phone == ''))
		{
		alert('Заполните хотя бы одно из полей:\nЭлектронная почта\nТелефон');
		return false;
		};
	if (message.length <= 3) 
		{
		alert('Сообщение не должно содержать меньше трёх символов');
		return false;
		};
	/*
	jQuery.ajax({
		type: 'POST',
		url: 'http://127.0.0.1/sendmail.php',
		data: 'name='+name+'&email='+email+'&phone='+phone+'&message='+message,
		success: function(reply){
			alert('!'+reply);
		}
	})*/
	return true;
}

myBox.resize = function() {
	myBox.browserHeight = jQuery(window).height();
	myBox.browserWidth = jQuery(window).width();
	if (!myBox.isOpened) {
		jQuery('#feedback-wrapper').css('top',myBox.browserHeight/2);
		jQuery('#feedback-wrapper').css('left',myBox.browserWidth/2);
	} else {
		jQuery('#feedback-wrapper').css('top',jQuery(window).scrollTop()+35);
		jQuery('#feedback-wrapper').css('left',myBox.browserWidth/2-parseInt(myBox.w/2));
	}
}
