function getElementsByClass(searchClass, node, tag){
    var classElements = new Array();
    if (node == null) 
        node = document;
    if (tag == null) 
        tag = '*';
    var els = node.getElementsByTagName(tag);
    var elsLen = els.length;
    var pattern = new RegExp('(^|\\\\s)' + searchClass + '(\\\\s|$)');
    for (i = 0, j = 0; i < elsLen; i++) {
        if (pattern.test(els[i].className)) {
            classElements[j] = els[i];
            j++;
        }
    }
    return classElements;
}
/*
 * Provides a basic Pop Up Window. 
 * Usage piPop.init('Here comes a name(type) of pop up \form\ for forms',event);
 */
var piPop = {
	boxHead: 'Форма замовлення',
	textIn: new String(),
	width: new Number(),
	feedbackFormText: new String(),
	setImagesClass: new String(),
	box: document.getElementById('contentBox'),
	contentBox: document.createElement('div'),
    boxInner: document.createElement('div'),
	dark: document.createElement('div'),
	blueTab: document.createElement('div'),
    boxHeader: document.createElement('div'),
    closeButton: document.createElement('div'),
    closeButtonA: document.createElement('a'),
	roundcont: document.createElement('div'),
	roundcontB: document.createElement('div'),
	scrollWY: (window.innerHeight) ? document.documentElement.scrollHeight : document.body.scrollHeight,
    scrollWX: (window.innerHeight) ? document.documentElement.scrollWidth : document.body.scrollWidth,
	init: function(type,event){
		if(piPop.box == null){
			var contentBox = piPop.contentBox;
	        var boxInner = piPop.boxInner;
	        var dark = piPop.dark;
	        var blueTab = piPop.blueTab;
	        var boxHeader = piPop.boxHeader;
	        var closeButton = piPop.closeButton;
	        var closeButtonA = piPop.closeButtonA;
			var roundcont = piPop.roundcont;
			var roundcontB = piPop.roundcontB;
	        document.getElementById('wrapper').appendChild(dark);
			contentBox.appendChild(roundcont);
	        contentBox.appendChild(boxInner);
			contentBox.appendChild(roundcontB);
	        boxInner.appendChild(boxHeader);
			boxInner.appendChild(blueTab);
	        boxInner.appendChild(closeButton);
	        document.getElementById('wrapper').appendChild(contentBox);
	        closeButton.appendChild(closeButtonA);
	        contentBox.style.opacity = 0;
	        dark.style.opacity = 0;
	        contentBox.id = 'contentBox';
	        dark.id = 'dark';
			roundcont.className = 'roundcont';
			roundcontB.className = 'roundcont';
			roundcont.innerHTML = '<em class="ctl"><b>&bull;</b></em><em class="ctr"><b>&bull;</b></em>';
			roundcontB.innerHTML = '<em class="cbl"><b>&bull;</b></em><em class="cbr"><b>&bull;</b></em>'
	        boxInner.className = 'boxInner';
	        blueTab.className = 'blueTab';
	        boxHeader.className = 'boxHeader';
	        boxHeader.innerHTML = piPop.boxHead;
	        closeButton.className = 'closeButton';
	        closeButtonA.id = 'close';
			closeButtonA.innerHTML = 'закрити';

			closeButtonA.onclick = function(){
				piPop.closeContentBox();
				return false;
			}
        	closeButtonA.href = '#close';
			
			if (type == 'form') {
				piPop.form();
			}
			setTimeout(
				function(){
					dark.style.opacity = 1;
					contentBox.style.opacity = 1;
				},200);
			piPop.contentBoxPos();
			window.onscroll = function(){
				setTimeout(function(){
					piPop.contentBoxPos();
				},400);
			}
	        dark.style.position = 'absolute';
	        dark.style.top = '0px';
	        dark.style.left = '0px';
	        dark.style.width = piPop.scrollWX + 'px';
	        dark.style.height = piPop.scrollWY + 'px';
	        return false;
		}
	},
	
	form: function(){
		var feedbackForm = document.createElement('div');
        var tabBottom = document.createElement('div');
        piPop.boxInner.appendChild(feedbackForm);
        piPop.boxInner.appendChild(tabBottom);
        feedbackForm.className = 'feedbackForm';
        var form = document.getElementById('form');
        feedbackForm.appendChild(form);
        form.style.display = 'block'
        tabBottom.className = 'tabBottom';
	},
	
	closeContentBox: function(){
		document.getElementById('wrapper').appendChild(document.getElementById('form'));
        document.getElementById('wrapper').removeChild(piPop.contentBox);
        document.getElementById('form').style.display = 'none';
        document.getElementById('wrapper').removeChild(piPop.dark);
	},
	
	contentBoxPos: function(){
		var contentBoxWidth = piPop.contentBox.offsetWidth;
        var contentBoxHeight = piPop.contentBox.offsetHeight;
        var scrollPositionY = (self.pageYOffset) ? window.pageYOffset:document.documentElement.scrollTop;
        var scrollx = (window.innerHeight) ? (window.innerWidth/2 - contentBoxWidth/2) : (document.body.clientWidth/2 - contentBoxWidth/2);
        var scrolly = (window.innerHeight) ? (window.innerHeight/2 - contentBoxHeight/2 + scrollPositionY) : (document.body.clientHeight/2 - contentBoxHeight/2 + scrollPositionY/2);
        piPop.contentBox.style.top = scrolly + 'px';
        piPop.contentBox.style.left = scrollx  + 'px';
	}
}

