// my = newClass();
function newClass(){
	var newo=true;
	return new newo.constructor();
}
// detect браузера
function browsers(){
	this.ver   = navigator.appVersion.toLowerCase();
	this.agent = ''+navigator.userAgent.toLowerCase();
	this.dom   = document.getElementById ? 1 : 0;
	this.opera = (this.agent.indexOf("opera")>-1 && this.dom) ? 1 : 0;
	this.ie    = (this.ver.indexOf("msie") > -1 && this.dom && !this.opera) ? 1 : 0;
	this.macOS = this.agent.indexOf("mac") > -1;
	this.mac   = (this.macOS && parseInt(this.ver) >= 7) ? 1 : 0;
	this.moz   = (this.agent.indexOf("gecko")>-1)
	this.ns6   = (this.dom && this.agent.indexOf("netscape")>-1 && parseInt(this.ver) >= 5) ? 1 : 0;
	//this.safari = (hnav.search(/macintosh/gmi)!=-1&&hnav.search(/safari/gmi)!=-1);
	//this.opera7 = (this.opera && parseInt(navigator.appVersion) >= 7);
	return this;
}
browser = new browsers();

//---------функция отдачи элемента по его id
function EID(eid){return document.getElementById(eid);}

//---------удаляем необходимый элемент
function DEL(id){document.body.removeChild(EID(id));}

//--обрезает пробелы в начале и в конце строки
function trim(s){
	while (s.substring(0,1) == ' ') {
		s = s.substring(1,s.length);
	}
	while (s.substring(s.length-1,s.length) == ' ') {
		s = s.substring(0,s.length-1);
	}
	return s;
}

//--Функции вывода описания ввода, пример: onFocus="foc(this)" onBlur="blu(this)" value="описание"
function foc(obj){
         if(obj.alt=='' || typeof(obj.alt)=='undefined'){obj.alt=obj.value;}
         if(obj.value==obj.alt){obj.value='';}
}
function blu(obj){
        if(obj.value==''){obj.value=obj.alt;}
}

//---------Проверка полей
function check_field(form, type_check, name_field, message){
		//-------------регулярки отдают true если срабатывает условие, и null в обратном случае
		
		//--регулярка на мыло
        var mail = /^([\w\.\-]+)@([a-z0-9\-]+)\.([a-z0-9\-\.]+)$/i;//--условие: обязательное сопостовление указанной регулярке

        //--регулярка на цирфру
        var inte = /[0-9\-\(\)\s]+/i;//--условие: обязательное присутствие хотябы 1 цифры

        //--регулярка на букву
        var text = /[a-zа-я\-\.\s]+/i;//--условие: присутствие хотябы 1 буквы

        //--регулярка на пробел
        var blank = /\s+/;//--условие: присутсвие хотябы 1 пробела, включая space, tab, form feed, line feed. Эквивалентно [ \f\n\r\t\v].
        
        var obj = form[name_field];
        if(obj!=null && typeof(obj)!='undefined'){
        	var obj_value = trim(obj.value);
	        /*
	        Примеры:
	        if(obj.value.match(blank)!=null){//--если хотябы один пробел найден - выдаем сообещине:
	        	alert("пробел найден="+obj.value.match(blank)+"=");
	        }
	        if(obj.value.match(blank)==null){//--если хотябы один пробел не найден - выдаем сообещине:
	        	alert('пробел не найден');
	        }
	        if(obj.value.match(blank)){//--если хотябы один пробел найден - выдаем сообещине:
	        	alert("пробел найден="+obj.value.match(blank)+"=");
	        }
	        */
	        //alert("="+obj.value.match(eval(type_check))+"=");
	        if(obj_value.match(eval(type_check))==null || obj_value==''){
	            obj.value = obj_value;
	            obj.style.border='#FF0000 1px solid';
	            return "- Вы не указали "+message+". Исправьте, пожалуйста!\n";
	    	}else{
	    		obj.value = obj_value;
	    		obj.style.border='#cccccc 1px solid';
	    		return "";
	    	}
    	}else{
    		alert("- Поле с id: "+name_field+" не найдено\n");
    		return "+";
    	}
}

// новое виртуальное окно с изображением
function openIMG(w,h,puth,title){
	var valLeft = (screen.width) ? (screen.width-w)/2 : 0;//--отступ слева
	var valTop = (screen.height) ? (screen.height-h)/2 : 0;//--отступ сверху
	var features = 'width='+w+',height='+h+',left='+valLeft+',top='+valTop+',';
	myWin = window.open("pic.htm", 'name_up', features+'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0');
	myWin.document.write("<html><head><title>"+title+"</title><body topmargin=0 leftmargin=0><img src="+puth+" border=0></body></html>");
	return false;
}

// функция открывает новое виртуальное окно
function OpenWindow(w,h,puth){
	var valLeft = (screen.width) ? (screen.width-w)/2 : 0;//--отступ слева
	var valTop = (screen.height) ? (screen.height-h)/2 : 0;//--отступ сверху
	var features = 'width='+w+',height='+h+',left='+valLeft+',top='+valTop+',';
	window.open(puth, 'name_up', features+'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0');
	return false;
}

//--Функция определения позиции элемента
function PosElement(thisitem){
	if(typeof(thisitem) != 'object') {thisitem = document.getElementById(thisitem);}
	var ww = thisitem.offsetWidth, hh = thisitem.offsetHeight;
	for (var xx = 0,yy = 0; thisitem != null; xx += thisitem.offsetLeft,yy += thisitem.offsetTop,thisitem = thisitem.offsetParent);
	return {Left:xx, Top:yy, Right:xx + ww, Bottom:yy + hh}//--левый, верхний, правый, нижний
}
// чтобы ослик не делал бордер на флэшь-элементах
function Write(str){
	document.write(str);
}
// функция определения значения определенной куки
function GetCookie(name){
    var cookie_pair;
    var cookie_name;
    var cookie_value;
    //--Разбиваем куку в массив
    var cookie_array = document.cookie.split('; ')
    //--Пробегаем по массиву кук
    for (var counter = 0; counter < cookie_array.length; counter++) {
            //--Разбиваю куку на имя/значение
        cookie_pair = cookie_array[counter].split('=');
        cookie_name = cookie_pair[0];
        cookie_value = cookie_pair[1];
        //--Сравниваем имя куки с тем именем, которое нужно нам
        if (cookie_name == name) {
                 //--Если нашли нужную нам куку, то возвращаем её значение
            return cookie_value;
        }
    }
    //--Если куку не нашли, возвращаем null
    return "";
}

// отправляем все данные определенной формы в Ajax-запросе. Пример: onsubmit="return AjaxForm('/inner.php', '&x=1', 'my_function(form)');"
function AjaxForm(e, form_data, eval_data){
	if(typeof(e) == "object"){ action = e.action; }else if(typeof(e) == "string"){ action = e; }else{ return false; }
	if(action && form_data!=""){
		$.ajax({
			type: "POST",
			url: action,
			data: "ajax=1"+form_data,
			success: function(msg){
				if(typeof(eval_data)=="string"){
					eval(eval_data);
				}else{
					if(msg){ alert(msg); }
				}
		 	}
		});
	}
	return false;
}
// накрывает словем загрузки текущую страницу
function AjaxWindowLoad(hide){
	if(hide){
		$("#AjaxWindowLoad").hide();
	}else{
		var e = $("#AjaxWindowLoad").get(0);
		if(e){
			$("#AjaxWindowLoad").show();
		}else{
		      $(document.body).prepend('<table id="AjaxWindowLoad" align="center" border="0" width="100%" height="3000" style="position:absolute; z-index:7777777; left: 0%; top: 0%; background-color:#CCCCCC; filter: Alpha(Opacity=50, Style=0); opacity:0.50;"><tr><td style="text-align: center"><img src="http://kf-forex.ru/js/progress.gif" border="0"></td></tr></table>');
		}
	}
}