/* определение браузера (вызов: Browser.IE)
 * return true|false 
 */
var Browser = {
	IE:     !!(window.attachEvent && !window.opera),
	Opera:  !!window.opera,
	WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,
	Gecko:  navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1,
	MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)
}
/* сокращение для document.getElementById()
 * return Object 
 */
function $(element) {
    if (typeof element == "string") {
        element = document.getElementById(element);
    }
    return element;
}

Element = function(tag){
    this.tag = tag;
	if(typeof this.tag == "string"){
		return document.createElement(this.tag);
	}
}

// удаление узла DOM
Element.prototype.remove = function(element) {
	if (element){
		element = $(element);
	    element.parentNode.removeChild(element);
	    return element;
	}
	else{
		this.parentNode.removeChild(this);
	}
}

// удаление дочерних элементов узла DOM
Element.prototype.clear = function(element) {
    if (element) {
		while (element.firstChild) {
            element.removeChild(element.firstChild);
        }
	}
	else {
		while (this.firstChild) {
			this.removeChild(this.firstChild);
		}
	}
}

// получение размера видимой области окна браузера 
function getWindowSize(){
    var width = 0;
    var height = 0;
    if (window.innerHeight) {
        width = window.innerWidth;
        height = window.innerHeight;
    }
    else {
        width = document.body.clientWidth;
        height = document.body.clientHeight;
    }
    return {width: width, height: height};
}

// открытие нового окна заданного размера и установка его по центру экрана
function openwin(w, h){
    var winSize = getWindowSize();
    var left = winSize.width / 2 - w / 2;
    var top = winSize.height / 2 - h / 2;
    var win = window.open('', '', 'width=' + w + ', height=' + h + ', left=' + left + ', top=' + top + ', toolbar=no,menubar=no, location=no, status=no, resizable=no, scrollbars=no');
    return win;            
}

function validateEmail (email){
    var re = /^[A-Za-z0-9\.\_]{1,32}\@[A-Za-z0-9\.\_]{1,32}\.[a-zA-Z]{2,6}$/;
    if (!email.match(re)){
        return false;
    }
    return true;
} 
