var elem = 0, menu_timer = 0, menu_id = "";
var menu_img = Array(4);
var menu_img_g = Array(4);
var arr1, arr2;
var lens_ex = 0, lens_ex_g = 0, lens = 0, lens_g = 0;

var posLeftOffset=-4;
var posTopOffset=39;
var hideDelay=3000;

// Menu  
function menuItemOver(_id)
{
	var id = "menu-item-" + _id;

	if(this.dom) _elem = document.getElementById(id);
	else if(this.ie4) _elem = document.all[id];
	else if(this.nn4) _elem = document.layers[id];

	if (_elem) _elem.className = "item-active";
}

function menuItemOut(_id)
{
	var id = "menu-item-" + _id;

	if(this.dom) _elem = document.getElementById(id);
	else if(this.ie4) _elem = document.all[id];
	else if(this.nn4) _elem = document.layers[id];

	if (_elem) _elem.className = "item";
}

function findPos(obj)
{
	var curleft = curtop = 0;

	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return Array(curleft, curtop);
} 

// Menu
function mouseOver(id,a)
{
	var open;
	var img = 0;

	if(!id) return;
	
	if(this.menu_timer){
		clearTimeout(this.menu_timer);
		this.menu_timer=0;
	}
	
	if(this.dom) open = document.getElementById(id);
	else if(this.ie4) open = document.all[id];
	else if(this.nn4) open = document.layers[id];

	if(!open)return;
	if(!this.nn4)open = open.style;

	if(this.elem && open!=this.elem)hideNow();
	this.menu_id = id;
	
	if(this.dom) img = document.getElementById(this.menu_id+"_img");
	else if(this.ie4) img = document.all[this.menu_id+"_img"];
	else if(this.nn4) img = document.layers[this.menu_id+"_img"];
	if (img) img.src = this.menu_img_g[this.menu_id].src;
	
	open.visibility = this.menu_visible;
	this.elem = open;
}

function mouseOut()
{
	this.menu_timer = setTimeout('hideNow()',hideDelay);
}

function hideNow()
{
	var img = 0;
	if(this.dom) img = document.getElementById(this.menu_id+"_img");
	else if(this.ie4) img = document.all[this.menu_id+"_img"];
	else if(this.nn4) img = document.layers[this.menu_id+"_img"];
	if (!img) return;
	img.src = this.menu_img[this.menu_id].src;

	if(this.elem) this.elem.visibility = menu_hidden;
	this.elem = 0;
	this.menu_id = "";
}

// Form items
function addLabelProperties(f){
	if(typeof f.getElementsByTagName == 'undefined') return;
	var labels = f.getElementsByTagName("label"), label, elem, i = j = 0;
	
	while (label = labels[i++]){
		if(typeof label.htmlFor == 'undefined') return;
		elem = document.getElementById(label.htmlFor);

		if(typeof elem == 'undefined' || elem == null){
			var inputs = label.getElementsByTagName("input");
			if(inputs.length==0){
				continue;
			} else {
				elem=inputs[0];
			}
		} else if(typeof elem.label != 'undefined') {
			continue;
		} else if(typeof elem.length != 'undefined' && elem.length > 1 && elem.nodeName != 'SELECT'){
			for(j=0; j<elem.length; j++){
				elem.item(j).label = label;
			}
		}
		elem.label = label;
	}
} 

function toggleLabelStyle(formId, label, onClass, offClass)
{
	if(!document.getElementById || !label) return;
		
	var form = document.getElementById(formId);
	if(!form) return;
	
	if(label.htmlFor) {
		var e = document.getElementById(label.htmlFor);
		
		if(e.type=="checkbox"){
			e.label.className = (e.label.className==onClass) ? offClass : onClass;
			e.checked = (e.label.className==onClass);
		} else if(e.type=="radio"){
			var radioGroup = form.elements[e.name];
			if(!radioGroup) return;
			
			for(var i=0; i<radioGroup.length; i++){
				if(radioGroup[i].label){
					radioGroup[i].label.className = ((radioGroup[i].checked=(radioGroup[i].id == e.id))
													 && radioGroup[i].label) ? onClass : offClass;
				}
			}
		}
	}
}

function customiseInputs(formId, onClassRadio, offClassRadio, onClassCheckbox, offClassCheckbox)
{
	if(!document.getElementById) return;

	var pf = document.getElementById(formId);
	if(!pf) return;
		
	pf.onreset = function() { customiseInputs(formId, onClassRadio, offClassRadio, onClassCheckbox, offClassCheckbox); }
	
	addLabelProperties(pf);

	var inputs = pf.getElementsByTagName('input');
	for (var i=0; i < inputs.length; i++) {
		if( (inputs[i].type=="radio") && inputs[i].label && onClassRadio && offClassRadio){
			inputs[i].style.position="absolute"; inputs[i].style.left = "-1000px";
			inputs[i].label.className=offClassRadio;
			inputs[i].label.onclick = function (){ toggleLabelStyle(formId, this, onClassRadio, offClassRadio); return false; };
			inputs[i].onclick = function (){ toggleLabelStyle(formId, this.label, onClassRadio, offClassRadio); };
			if(inputs[i].defaultChecked || inputs[i].checked){ toggleLabelStyle(formId, inputs[i].label, onClassRadio, offClassRadio); }
		}
		
		if( (inputs[i].type=="checkbox") && inputs[i].label && onClassCheckbox && offClassCheckbox){
			inputs[i].style.position="absolute"; inputs[i].style.left = "-1000px";
			inputs[i].label.className=offClassCheckbox;
			inputs[i].checked = false;
			inputs[i].label.onclick = function (){ toggleLabelStyle(formId, this, onClassCheckbox, offClassCheckbox); return false; };
			inputs[i].onclick = function (){ toggleLabelStyle(formId, this.label, onClassCheckbox, offClassCheckbox); };
			if(inputs[i].defaultChecked || inputs[i].checked){ toggleLabelStyle(formId, inputs[i].label, onClassCheckbox, offClassCheckbox); }
		}

		if( (inputs[i].type=="checkbox") || (inputs[i].type=="radio") && inputs[i].label ){
			if(!this.ie){
				if (inputs[i].label != null&&typeof inputs[i].label != 'undefined') {
					inputs[i].label.style.margin = "1px";
					inputs[i].onfocus = function (){ this.label.style.border = "1px dotted #333"; this.label.style.margin="0px"; return false; };
					inputs[i].onblur  = function (){ this.label.style.border = "none"; this.label.style.margin="1px"; return false; };
				}
			}
		}
	}
}

// Catalog funcitons
function catalog_menu_over(id)
{
	var elem = document.getElementById("c_m_" + id);
	if (!elem) return;
	elem.style.background = "url('./img/catalog/menu_grad_big.gif')";
	elem.style.backgroundPosition = "0px"
	elem.style.backgroundRepeat = "no-repeat";
}

function catalog_menu_out(id)
{
	var elem = document.getElementById("c_m_" + id);
	if (!elem) return;
	elem.style.background = "";
}

function catalog_menulm_over(id)
{
	var elem = document.getElementById("c_ml_" + id);
	if (!elem) return;
	elem.style.background = "url('./img/catalog/menu_grad_2.gif')";
	elem.style.backgroundRepeat = "no-repeat";
}

function catalog_menulm_out(id)
{
	var elem = document.getElementById("c_ml_" + id);
	if (!elem) return;
	elem.style.background = "";
}

function catalog_menul_over(id)
{
	var elem = document.getElementById("c_ml_" + id);
	if (!elem) return;
	elem.style.background = "url('./img/arr2.gif')";
	elem.style.backgroundPosition = "5px";
	elem.style.backgroundRepeat = "no-repeat";
}

function catalog_menul_out(id)
{
	var elem = document.getElementById("c_ml_" + id);
	if (!elem) return;
	elem.style.background = "";
}

function catalog_menuc_over(id)
{
	var elem = document.getElementById("menu-" + id);
	//if (elem) elem.src = arr2.src;

	elem = document.getElementById("menu-back-" + id);
	if (elem)
	{
		elem.style.background = "url('./img/catalog/gradient.gif')";
		elem.style.backgroundRepeat = "repeat-y";
	}
}                                                               	

function catalog_menuc_out(id)
{
	var elem = document.getElementById("menu-" + id);
	//if (elem) elem.src = arr1.src;

	elem = document.getElementById("menu-back-" + id);
	if (elem) 
	{
	  elem.style.background = "";
	}
}

function lens_change_over(id,ex)
{
	if (!this.lens_ex) {
		this.lens_ex = new Image;
		this.lens_ex.src = "./img/shops/lens_ex.jpg";
	}
	if (!this.lens) {
		this.lens = new Image;
		this.lens.src = "./img/shops/lens.jpg";
	}
	var elem = document.getElementById("lens" + id);
	if (elem) {
		if (ex) elem.src = this.lens_ex.src;
		else elem.src = this.lens.src;
	}
}

function lens_change_out(id,ex)
{
	if (!this.lens_ex_g) {
		this.lens_ex_g = new Image;
		this.lens_ex_g.src = "./img/shops/lens_ex_g.jpg";
	}
	if (!this.lens_g) {
		this.lens_g = new Image;
		this.lens_g.src = "./img/shops/lens_g.jpg";
	}
	var elem = document.getElementById("lens" + id);
	if (elem) {
		if (ex) elem.src = this.lens_ex_g.src;
		else elem.src = this.lens_g.src;
	}
}

function zakaz_chg()
{
	var _elem = document.getElementById("zakaz");

	_elem.scrollTop = 0;

	if (_elem.value.length > 180) _elem.value = _elem.value.substr(0,180);
}

function zakaz_check()
{
	var _elem = document.getElementById("zakaz");
	var buf = "";

	for (i=0;i<_elem.value.length;i++) {
		if (_elem.value.charAt(i) == '\n' || _elem.value.charAt(i) == '\r')
			buf += "";
		else buf += _elem.value.charAt(i);
	}
	if (buf!=_elem.value) _elem.value = buf;

	zakaz_chg();
}

function input_enter(id,f,text)
{
	var _elem = document.getElementById(id);
	if (!_elem) return;

	if (f && _elem.value == text) {
		_elem.value = "";
	}
	if (!f && _elem.value.length == 0) {
		_elem.value = text;
	}
}

// Init funciton
function init()
{
	var agt=navigator.userAgent.toLowerCase();

	this.menu_img['menu_1'] = new Image;
	this.menu_img['menu_1'].src = "./img/menu/menu_ru/company.gif";
	this.menu_img_g['menu_1'] = new Image;
	this.menu_img_g['menu_1'].src = "./img/menu/menu_ru/company_gray.gif";
	this.menu_img['menu_2'] = new Image;
	this.menu_img['menu_2'].src = "./img/menu/menu_ru/produce.gif";
	this.menu_img_g['menu_2'] = new Image;
	this.menu_img_g['menu_2'].src = "./img/menu/menu_ru/produce_gray.gif";
	this.menu_img['menu_3'] = new Image;
	this.menu_img['menu_3'].src = "./img/menu/menu_ru/network.gif";
	this.menu_img_g['menu_3'] = new Image;
	this.menu_img_g['menu_3'].src = "./img/menu/menu_ru/network_gray.gif";
	this.menu_img['menu_4'] = new Image;
	this.menu_img['menu_4'].src = "./img/menu/menu_ru/service.gif";
	this.menu_img_g['menu_4'] = new Image;
	this.menu_img_g['menu_4'].src = "./img/menu/menu_ru/service_gray.gif";
	this.menu_img['menu_5'] = new Image;
	this.menu_img['menu_5'].src = "./img/menu/menu_ru/internet.gif";
	this.menu_img_g['menu_5'] = new Image;
	this.menu_img_g['menu_5'].src = "./img/menu/menu_ru/internet_gray.gif";



	this.arr1 = new Image;
	this.arr1.src = "./img/arr1.gif";

	this.arr2 = new Image;
	this.arr2.src = "./img/arr2.gif";

	this.dom = (document.getElementById)?(true):(false);
	this.nn4 = document.layers;

	this.menu_visible = (this.nn4)?('show'):('visible');
	this.menu_hidden = (this.nn4)?('hide'):('hidden');

    this.major = parseInt(navigator.appVersion);
    this.ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
    this.ie3    = (this.ie && (this.major < 4));
    this.ie4    = (this.ie && (this.major == 4) && (agt.indexOf("msie 4")!=-1) );
	this.iemac  = (this.ie && (agt.indexOf("mac")!=-1));

	if( !(this.iemac || ie3 || ie4) ){
		var i = 0;
		for (i=0;(buf=document.forms[i]);i++)
			customiseInputs(buf.id,'radioOn','radioOff','checkOn','checkOff');
	}
}

