﻿/***************************/
//@Author: Adrian "yEnS" Mato Gondelle
//@website: www.yensdesign.com
//@email: yensamg@gmail.com
//@license: Feel free to use it, but keep this credits please!					
/***************************/

//SETTING UP OUR POPUP
//0 means disabled; 1 means enabled;
var popupStatus = 0;

//loading popup with jQuery magic!
function loadPopup(){
	//loads popup only if it is disabled
	if(popupStatus==0){
		$("#backgroundPopup").css({
			"opacity": "0.7"
		});
		$("#backgroundPopup").fadeIn("slow");
		$("#popupContact").fadeIn("slow");
		popupStatus = 1;
	}
}

//disabling popup with jQuery magic!
function disablePopup(){
	//disables popup only if it is enabled
	if(popupStatus==1){
		$("#backgroundPopup").fadeOut("slow");
		$("#popupContact").fadeOut("slow");
		popupStatus = 0;
	}
}

//centering popup
function centerPopup(){
	//request data for centering
	
	
	var windowState = (function(){
	var readScroll = {scrollLeft:0,scrollTop:0};
	var readSize = {clientWidth:0,clientHeight:0};
	var readScrollX = 'scrollLeft';
	var readScrollY = 'scrollTop';
	var readWidth = 'clientWidth';
	var readHeight = 'clientHeight';
	function otherWindowTest(obj){
	if((document.compatMode)&&
	(document.compatMode == 'CSS1Compat')&&
	(document.documentElement)){
	return document.documentElement;
	}else if(document.body){
	return document.body;
	}else{
	return obj;
	}
	};
	if((typeof this.innerHeight == 'number')&&
	(typeof this.innerWidth == 'number')){
	readSize = this;
	readWidth = 'innerWidth';
	readHeight = 'innerHeight';
	}else{
	readSize = otherWindowTest(readSize);
	}
	if((typeof this.pageYOffset == 'number')&&
	(typeof this.pageXOffset == 'number')){
	readScroll = this;
	readScrollY = 'pageYOffset';
	readScrollX = 'pageXOffset';
	}else{
	readScroll = otherWindowTest(readScroll);
	}
	return {
	getScrollX:function(){
	return (readScroll[readScrollX]||0);
	},
	getScrollY:function(){
	return (readScroll[readScrollY]||0);
	},
	getWidth:function(){
	return (readSize[readWidth]||0);
	},
	getHeight:function(){
	return (readSize[readHeight]||0);
	}
	};
	})();
	
	var viewPortWidth = windowState.getWidth();
	var viewPortHeight = windowState.getHeight();
	var horizontalScroll = windowState.getScrollX();
	var verticalScroll = windowState.getScrollY();
	
	var popupHeight = $("#popupContact").height();
	var popupWidth = $("#popupContact").width();
	
	var hPos = Math.round(horizontalScroll+((viewPortWidth-popupWidth)/2));
	var vPos = Math.round(verticalScroll+((viewPortHeight-popupHeight)/2));
	hPos = (hPos < 0)?0:hPos;
	vPos = (vPos < 0)?0:vPos;
	
	$("#popupContact").css({
		"position": "absolute",
		"top": vPos,
		"left": hPos
	});
	
	/*
	var windowWidth = document.documentElement.clientWidth;
	var windowHeight = document.documentElement.clientHeight;
	//var windowHeight = window.innerHeight;
	var popupHeight = $("#popupContact").height();
	var popupWidth = $("#popupContact").width();
	//centering
	$("#popupContact").css({
		"position": "absolute",
		"top": 100,
		"left": windowWidth/3.5-popupWidth/3.5
	});
	//only need force for IE6
	
	$("#backgroundPopup").css({
		"height": windowHeight
	});
	*/
	
}


//CONTROLLING EVENTS IN jQuery
$(document).ready(function(){
	
	//LOADING POPUP
	//Click the button event!
	$("#button").click(function(){
		//centering with css
		centerPopup();
		//load popup
		loadPopup();
	});
				
	//CLOSING POPUP
	//Click the x event!
	$("#popupContactClose").click(function(){
		disablePopup();
	});
	//Click out event!
	$("#backgroundPopup").click(function(){
		disablePopup();
	});
	//Press Escape event!
	$(document).keypress(function(e){
		if(e.keyCode==27 && popupStatus==1){
			disablePopup();
		}
	});

});
