var detect = navigator.userAgent.toLowerCase();
var OS,browser,version,total,thestring;
function str_checkIt(string)
{
place = detect.indexOf(string) + 1;
thestring = string;
return place;
}
if (str_checkIt('konqueror'))
{
browser = "Konqueror";
OS = "Linux";
}
else if (str_checkIt('safari')) browser = "Safari"
else if (str_checkIt('omniweb')) browser = "OmniWeb"
else if (str_checkIt('opera')) browser = "Opera"
else if (str_checkIt('webtv')) browser = "WebTV";
else if (str_checkIt('icab')) browser = "iCab"
else if (str_checkIt('msie')) browser = "Internet Explorer"
else if (!str_checkIt('compatible'))
{
browser = "Netscape Navigator"
version = detect.charAt(8);
}
else browser = "An unknown browser";
if (!version) version = detect.charAt(place + thestring.length);
if (!OS)
{
if (str_checkIt('linux')) OS = "Linux";
else if (str_checkIt('x11')) OS = "Unix";
else if (str_checkIt('mac')) OS = "Mac"
else if (str_checkIt('win')) OS = "Windows"
else OS = "an unknown operating system";
}
function get_form_elements(form)
{
el = {};
len = form.elements.length;
for (i=0;i<len;i++)
{
if (form.elements[i].type=='checkbox' )
{
if ( form.elements[i].checked)
{
el[form.elements[i].name] = form.elements[i].value;
}
}
else
if (form.elements[i].type=='radio' )
{
if ( form.elements[i].checked)
el[form.elements[i].name] = form.elements[i].value;
}
else
if(form.elements[i].type != 'button' && form.elements[i].type != 'submit')
el[form.elements[i].name] = form.elements[i].value;
}
return el;
}
function getBodyScrollTop()
{
return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
}
function getBodyScrollLeft()
{
return self.pageXOffset || (document.documentElement && document.documentElement.scrollLeft) || (document.body && document.body.scrollLeft);
}
function start_progress()
{
document.getElementById("progress").style.top = getBodyScrollTop();
document.getElementById("progress").style.left = getBodyScrollLeft();
document.getElementById("progress").style.display="block";
}
function finish_progress()
{
document.getElementById("progress").style.display="none";
window.scrollTo(0,0);
}
function finish_progress_no_scroll()
{
document.getElementById("progress").style.display="none";
}
function load_content(url, div, params, func, no_scroll)
{
var req = new Subsys_JsHttpRequest_Js();
req.onreadystatechange = function() {
if (req.readyState == 4) {
if (req.responseText) {
if (func) func(req);
insertHTML( req.responseText, div );
if (no_scroll)
{ finish_progress_no_scroll(); }
else
finish_progress();
//document.getElementById(div).innerHTML = req.responseText;
}
//document.getElementById("debug").innerHTML=req.responseText;
}
}
start_progress();
req.caching = false;
req.open( 'GET' , url , true );
req.send( params );
}
function load_inner_content(url, div, params, func, no_scroll)
{
var req = new Subsys_JsHttpRequest_Js();
req.onreadystatechange = function() {
if (req.readyState == 4) {
if (req.responseText) {
if (func) func(req);
insert_html_with_script( req.responseText, div );
//				document.getElementById(div).innerHTML=req.responseText;
if (no_scroll)
{ finish_progress_no_scroll(); }
else
finish_progress();
//document.getElementById(div).innerHTML = req.responseText;
}
//document.getElementById("debug").innerHTML=req.responseText;
}
}
start_progress();
req.caching = false;
req.open( 'GET' , url , true );
req.send( params );
}
function convert_cm_to_feet_inch(cm)
{
feet = Math.floor(cm / 30.48);
new_cm = cm - feet * 30.48;
inch = Math.floor(new_cm / 2.54);
return {feet: feet, inch: inch};
}
//!!!!!!!!!!!!!!!!!!!!
//  не воспринимает адресов .info , в общем нужно выбросить нахер и поставить нормальную валидацию
function valid_email(email) {
email=email.replace(/^(\s*)$/gi,"");
//var goodEmail = email.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi);
var goodEmail = email.match(/^((\"[^\"\f\n\r\t\v\b]+\")|([\w\!\#\$\%\&'\*\+\-\~\/\^\`\|\{\}]+(\.[\w\!\#\$\%\&'\*\+\-\~\/\^\`\|\{\}]+)*))@((\[(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))\])|(((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9]))\.((25[0-5])|(2[0-4][0-9])|([0-1]?[0-9]?[0-9])))|((([A-Za-z0-9\-])+\.)+[A-Za-z\-]+))$/gi);
if (goodEmail) {
good = true;
}
else {
good = false;
}
return good;
}
function MultiMessage()
{
var messages;
var messages_count=0;
messages=new Array();
this.add_message = function(message)
{
messages[messages_count++]=message;
}
this.show_message = function()
{
if (messages_count)
{
msg="Please fill out the following Required Fields:";
msg+= '\n';
for (i=0;i<messages_count;i++)
{
msg+=' - ' + messages[i] + '\n';
}
alert(msg);
return true;
}
else
{
return false;
}
}
}
function getkey(e)
{
var code;
if (!e) var e = window.event;
if (e.keyCode) { code = e.keyCode; }
else if (e.which) code = e.which;
return code;
}
function onEnter(e,func)
{
if(getkey(e)==13)
{
func();
}
}
function hide_msg(e,id)
{
if  (getkey(e) != 13)
document.getElementById(id).style.display="none";
}