var request = false;
try {
	request = new XMLHttpRequest();
} catch (trymicrosoft) {
	try {
		request = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (othermicrosoft) {
	    try {
	      request = new ActiveXObject("Microsoft.XMLHTTP");
	    } catch (failed) {
	      request = false;
	    }
	}
}
if (!request)
  alert("Error initializing XMLHttpRequest!");
var request2 = false;
try {
	request2 = new XMLHttpRequest();
} catch (trymicrosoft) {
	try {
		request2 = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (othermicrosoft) {
	    try {
	      request2 = new ActiveXObject("Microsoft.XMLHTTP");
	    } catch (failed) {
	      request2 = false;
	    }
	}
}

function ShowBlock ( id, show ) {
	if ( show )
		document.getElementById ( id ).style.display = 'block';
	else
		document.getElementById ( id ).style.display = 'none';
}

function SwapImage ( img_num ) {

	var img = document.getElementById ( 'bigimg' );
	//var img2 = document.getElementById ( 'big-img' );
	//var img3 = document.getElementById ( 'big-img-td' );
	var sel_img = document.getElementById ( 'sel-images' );
	//var text1 = document.getElementById ( 'bigimg_text1' );
	//var text2 = document.getElementById ( 'bigimg_text2' );
	var img_val = document.getElementById ( 'img_val' + img_num );
	var text_val = document.getElementById ( 'img_text' + img_num );
	var img_div = document.getElementById ( 'img_div' + img_num );
	var img_width = document.getElementById ( 'img_width' + img_num );
	if ( !img || !img_div || !img_val || !text_val ) return;
	img.src = img_val.value;
	img.alt = text_val.value;
	img.title = text_val.value;
	img.style.width = img_width.value + 'px';
	//img2.style.width = img_width.value + 'px';
	//img3.style.width = img_width.value + 'px';
	sel_img.style.width = img_width.value - 20 - 2 + 'px';
	//if ( text1 )	
	//	text1.innerHTML = text_val.value;
	//if ( text2 )
	//	text2.innerHTML = text_val.value;
	for ( var i = 1; i < 5; i++ ) {
		img_div_ = document.getElementById ( 'img_div' + i );
		if ( img_div_ )
			img_div_.className = 'small-img';
	}
	if ( img_div )
		img_div.className = 'small-img-sel';
}

function ChangeCount ( type, mode, num, obj_id ) {
	var inp;
	if ( type == 'opt' ) {
		inp = document.getElementById ( 'opt' + num );	
		id =  document.getElementById ( 'opt_id' + num );
		ch =  document.getElementById ( 'opt_check' + num );
	}
	else if ( type == 'comp' ) {
		inp = document.getElementById ( 'comp' + num );
		id =  document.getElementById ( 'comp_id' + num );
		ch =  document.getElementById ( 'comp_check' + num );		
	}
	if ( inp && id && ch ) {
		if ( mode == 1 )
			inp.value = inp.value*1 + 1;
		else if ( mode == 0 ) {
			inp.value = inp.value*1 - 1;
			if ( inp.value < 0 ) inp.value = 0;			
		}		
		if ( ch.checked ) 
			cur_comp_count = inp.value;
		if ( ch.checked ) {
			request.open ( "POST", "/includes/ajax-add-ext-to-basket.php", true );
			request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");	
			request.onreadystatechange = ExtToBasket;
			var params = 'edit_mode=edit&obj_id=' + obj_id + '&id=' + id.value + '&count=' + inp.value + '&type=' + type;
			request.send( params );
		}

		CalcPrice ();
	}
}

function SetCountActive ( type, num, obj_id ) {
	var ch, inp, id;
	var ch2, inp2, id2;
	if ( type == 'opt' ) {
		ch =  document.getElementById ( 'opt_check' + num );		
		inp = document.getElementById ( 'opt' + num );		
		id =  document.getElementById ( 'opt_id' + num );
	}
	else if ( type == 'comp' ) {
		ch =  document.getElementById ( 'comp_check' + num );		
		inp = document.getElementById ( 'comp' + num );
		id =  document.getElementById ( 'comp_id' + num );
		if ( cur_checkbox != -1 ) {
			ch2 =  document.getElementById ( 'comp_check' + cur_checkbox );		
			inp2 = document.getElementById ( 'comp' + cur_checkbox );
			id2 =  document.getElementById ( 'comp_id' + cur_checkbox );
		}
	}
	if ( ch && inp ) {
		if ( ch.checked == 1 && inp.value == 0 ) {
			if ( type == 'opt' && cur_comp_count != '0' && cur_comp_count ) {
				inp.value = cur_comp_count;
			}
			else
				inp.value = 1;
		}
		else if ( ch.checked == 0 ) {
			inp.value = 0;		
		}
		if ( ch.checked == 1 && type == 'comp' ) {
			 cur_comp_count = inp.value;
		}
	}
	
	CalcPrice ();			

	if ( type == 'opt' ) {
		UpdateBasketExt ( num, type, obj_id );
	}
}

function OutputPrice ( value ) {
	/*
	var flag = 0; var new_value = ''; var s = '';
	while ( value ) {
		if ( value.length < 3 ) {
			s = value.substr ( -value.length );			
			flag = 1;
		}
		else {
			s = value.substr ( -3 );
		}	
		if ( new_value ) new_value = s;
		else
			new_value = s + ' ' + new_value;
		if ( flag ) {
			break;
		}
		else {
			var l = value.length - 3;
			value = value.substr ( 0, l );
		}
	}
	if ( new_value )
		return new_value;
	else
		return 0;
	*/
	var v1 = value % 1000;
	var v2 = Math.floor ( value / 1000 );
	if ( v1 < 10 )
		v1 = '00' + v1;
	else if ( v1 < 100 )
		v1 = '0' + v1;
	if ( v1 && v2 )
		return v2 + ' ' + v1;
	else
		return 0;
}

function CalcPrice () {
	var inp, cost, ch;
	var total = 0;	
	for ( var i = 1; i <= total_comps; i++ ) {
		ch =  document.getElementById ( 'comp_check' + i );
		inp = document.getElementById ( 'comp' + i );
		cost = document.getElementById ( 'comp_cost' + i );
		var cost_value = '';
		var arr = cost.value.split ( ' ' );
		for ( z = 0; z < arr.length; z++ ) {
			cost_value += arr[z];
		}	
		cost_value = cost_value * 1;
		if ( inp && cost && ch ) {
			if ( inp.value > 0 && ch.checked ) {
				total += inp.value * cost_value;
			}
		}
	}
	for ( i = 1; i <= total_opts; i++ ) {
		ch =  document.getElementById ( 'opt_check' + i );
		inp = document.getElementById ( 'opt' + i );
		cost = document.getElementById ( 'opt_cost' + i );
		var arr = cost.value.split ( ' ' );
		var cost_value = '';
		for ( z = 0; z < arr.length; z++ ) {
			cost_value += arr[z];
		}
		cost_value = cost_value * 1;
		if ( inp && cost && ch ) {
			if ( inp.value > 0 && ch.checked ) {
				total += inp.value * cost_value;
			}
		}
	}
	var tinp = document.getElementById ( 'total_cost' );
	if ( tinp )
		tinp.innerHTML = OutputPrice ( total );
	document.getElementById ( 'total_cost' ).value = total;
}

function UpdateBasketExt ( num, type, obj_id ) {
	var ch, inp, id;
	var ch2, inp2, id2;
	if ( type == 'opt' ) {
		ch =  document.getElementById ( 'opt_check' + num );		
		inp = document.getElementById ( 'opt' + num );		
		id =  document.getElementById ( 'opt_id' + num );
	}
	else if ( type == 'comp' ) {
		ch =  document.getElementById ( 'comp_check' + num );		
		inp = document.getElementById ( 'comp' + num );
		id =  document.getElementById ( 'comp_id' + num );
		if ( cur_checkbox != -1 ) {
			ch2 =  document.getElementById ( 'comp_check' + cur_checkbox );		
			inp2 = document.getElementById ( 'comp' + cur_checkbox );
			id2 =  document.getElementById ( 'comp_id' + cur_checkbox );
		}
	}	
	if ( id && inp ) {	
		request.open ( "POST", "/includes/ajax-add-ext-to-basket.php", true );
		request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");	
 		request.onreadystatechange = ExtToBasket;		
		
		var params;
		if ( ch.checked  ) {
			params	= 'edit_mode=add&obj_id=' + obj_id + '&id=' + id.value + '&count=' + inp.value + '&type=' + type;
			request.send( params );
		}
		else {			
			params	= 'edit_mode=del&obj_id=' + obj_id + '&id=' + id.value + '&count=' + inp.value + '&type=' + type;		
			request.send( params );
		}
	}
	if ( id2 && inp2 && !ch2.checked ) {
		request2.open ( "POST", "/includes/ajax-add-ext-to-basket.php", true );
		request2.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");	
 		request2.onreadystatechange = ExtToBasket2;
		params	= 'edit_mode=del&obj_id=' + obj_id + '&id=' + id2.value + '&count=' + inp2.value + '&type=' + type;
		request2.send( params );
	}
}

function ExtToBasket () {
	if (request.readyState == 4) {
	 	if (request.status == 200) {			
			var res = request.responseText;
			//alert ( res );
		}
	}
}
function ExtToBasket2 () {
	if (request2.readyState == 4) {
	 	if (request2.status == 200) {			
			var res = request2.responseText;
		}
	}
}

function CheckComp ( num, obj_id ) {
	var ch; var flag = 0;
	for ( var i = 1; i <= total_comps; i++ ) {
		//alert ( i );
		ch =  document.getElementById ( 'comp_check' + i );
		id =  document.getElementById ( 'comp_id' + i );	
		if ( ch && i != num ) {
			ch.checked = 0;				
		}		
		else if ( i == num && ch.checked )
			flag = 1;
		SetCountActive ( 'comp', i, obj_id );
	}
	cur_checkbox = num;
	UpdateBasketExt ( num, 'comp', obj_id );
	if ( !flag )
		cur_comp_count = 0;
}

function ToBasket ( id ) {
	request.open ( "POST", "/includes/ajax-add-to-basket.php", true );
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");	
	request.onreadystatechange = ToBasketResult;
	var params = 'id=' + id;
	request.send( params );
}

function ToBasketResult () {
	if (request.readyState == 4) {
	 	if (request.status == 200) {		
			var data = request.responseText.split ( '||' );
			var bt = document.getElementById ( 'basket_text' );
			if ( bt ) {
				bt.innerHTML = data[1];
			}
				document.getElementById ( 'overlay' ).style.display = 'block';
				document.getElementById ( 'message-form' ).style.display = 'block';
				document.getElementById ( "msg-title" ).innerHTML = 'Корзина';
				document.getElementById ( "msg-text" ).innerHTML = data[0];
				document.getElementById ( "msg-reload" ).value = 1;
				//document.location.reload (1);
		}
	}
}

function CalcBasketPrice () {
	var inp, cost, ch, c_html;
	var total = 0;
	for ( k = 1; k <= total_objs; k++ ) {
		var obj_total = 0;
		for ( var i = 1; i <= obj_comps[k]; i++ ) {		
			inp = document.getElementById ( 'comp_' + k + '_' + i );
			cost = document.getElementById ( 'comp_cost_' + k + '_' + i );
			var cost_value = '';
			var arr = cost.value.split ( ' ' );
			for ( z = 0; z < arr.length; z++ ) {
				cost_value += arr[z];
			}	
			cost_value = cost_value * 1;

			if ( inp && cost ) {
				if ( inp.value > 0 ) {
					obj_total += inp.value * cost_value;
				}
			}
		}
		for ( i = 1; i <= obj_opts[k]; i++ ) {
			inp = document.getElementById ( 'opt_' + k + '_' + i );
			cost = document.getElementById ( 'opt_cost_' + k + '_' + i );
			var cost_value = '';
			var arr = cost.value.split ( ' ' );
			for ( z = 0; z < arr.length; z++ ) {
				cost_value += arr[z];
			}	
			cost_value = cost_value * 1;
			if ( inp && cost ) {
				if ( inp.value > 0 ) {
					obj_total += inp.value * cost_value;
				}
			}
		}
		inp = document.getElementById ( 'obj' + k );
		cost = document.getElementById ( 'obj_cost' + k );
		c_html = document.getElementById ( 'obj_cost_html' + k );
		var cost_value = '';
		var arr = cost.value.split ( ' ' );
		for ( z = 0; z < arr.length; z++ ) {
			cost_value += arr[z];
		}	
		cost_value = cost_value * 1;
		var obj_cost = cost_value;

		if ( obj_comps[k] || obj_opts[k] ) {		
			if ( c_html ) c_html.innerHTML = OutputPrice ( obj_total );
			obj_cost = cost.value = obj_total;			
		}
		else {
			if ( c_html ) c_html.innerHTML = OutputPrice ( inp.value * cost_value );
		}

		if ( inp && cost ) {
			if ( inp.value > 0 ) {
				total += inp.value * obj_cost;				
			}
		}
	}	
	
	var tinp = document.getElementById ( 'total_cost' );
	if ( tinp )
		tinp.innerHTML = OutputPrice ( total );
	document.getElementById ( 'total_cost' ).value = total;
}

function ChangeBasketCount ( type, mode, obj_num, num ) {
	var inp;
	if ( type == 'opt' ) {
		inp = document.getElementById ( 'opt_' + obj_num + '_' + num );		
	}
	else if ( type == 'comp' ) {
		inp = document.getElementById ( 'comp_' + obj_num + '_' + num );
	}
	else if ( type == 'obj' ) {
		inp = document.getElementById ( 'obj' + num );
	}
	if ( inp ) {
		if ( mode == 1 )
			inp.value = inp.value*1 + 1;
		else {
			inp.value = inp.value*1 - 1;
			if ( inp.value < 0 ) inp.value = 0;			
		}
		CalcBasketPrice ();
	}
}

function DelBasketItem ( type, obj_num, num ) {
	var id, obj_id;
	var id_val = 0; var obj_id_val = 0;
	obj_id = document.getElementById ( 'obj_id_' + obj_num );		
	if ( obj_id ) {
		obj_id_val = obj_id.value;
	}
	if ( type == 'opt' ) {
		id = document.getElementById ( 'opt_id_' + obj_num + '_' + num );
		id_val = id.value;
	}
	else if ( type == 'comp' ) {
		id = document.getElementById ( 'comp_id_' + obj_num + '_' + num );
		id_val = id.value;
	}
	if ( (obj_id_val && id) || (obj_id_val && type == 'obj') ) {
		request.open ( "POST", "/includes/ajax-del-from-basket.php", true );
		request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");	
		request.onreadystatechange = DelFromBasketResult;
		var params = 'obj_id=' + obj_id_val + '&type=' + type + '&id=' + id_val;
		request.send( params );
	}
}

function DelFromBasketResult () {
	if (request.readyState == 4) {
	 	if (request.status == 200) {			
			var res = request.responseText;						
			document.location.href = '';
		}
	}
}

function SetSort ( type, dir ) {
	request.open ( "POST", "/includes/ajax-set-sort.php", true );
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");	
	request.onreadystatechange = SetSortResult;
	var params = 'type=' + type + '&dir=' + dir;
	request.send( params );
}
function SetSortResult () {
	if (request.readyState == 4) {
	 	if (request.status == 200) {			
			var res = request.responseText;		
			var ua = navigator.userAgent.toLowerCase();
			var isOpera = (ua.indexOf("opera")  != -1); 
			if ( ! isOpera )
				document.location.href = '';
			else
				document.location.reload ();
		}
	}
}
function Register () {
	document.getElementById('reg-box').style.display='none';
	document.getElementById('auth-box').style.display='none';
	document.getElementById('pass-box').style.display='none';

	request.open ( "POST", "/includes/ajax-reg.php", true );
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");	
	request.onreadystatechange = RegisterResult;
	var params = 'login=' + document.reg_form.login.value + '&fio=' + document.reg_form.fio.value + '&email=' + document.reg_form.email.value + '&password=' + document.reg_form.password.value;
	request.send( params );
}
function RegisterResult () {
	if (request.readyState == 4) {
	 	if (request.status == 200) {			
			var data = request.responseText;	
			document.getElementById ( 'overlay' ).style.display = 'block';
			document.getElementById ( 'message-form' ).style.display = 'block';
			document.getElementById ( "msg-title" ).innerHTML = 'Регистрация';
			document.getElementById ( "msg-text" ).innerHTML = data;
		}
	}	
}
function HideMsgBlock () {
	document.getElementById ( 'overlay' ).style.display = 'none';
	document.getElementById ( 'message-form' ).style.display = 'none';
	if ( document.getElementById ( "msg-reload" ).value == 1 )
		document.location.href = '';
}

function Enter () {
	document.getElementById('reg-box').style.display='none';
	document.getElementById('auth-box').style.display='none';
	document.getElementById('pass-box').style.display='none';

	request.open ( "POST", "/includes/ajax-enter.php", true );
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");	
	request.onreadystatechange = EnterResult;
	var params = 'login=' + document.auth_form.login.value + '&password=' + document.auth_form.password.value;	
	request.send( params );
}
function EnterResult () {
	if (request.readyState == 4) {
	 	if (request.status == 200) {			
			var data = request.responseText;			
			var test = data.substr ( 0, 1 );
			if ( test == '0' ) {
				document.getElementById ( 'auth-icon-box' ).style.display = 'none';
			}
			document.getElementById ( 'overlay' ).style.display = 'block';
			document.getElementById ( 'message-form' ).style.display = 'block';
			document.getElementById ( "msg-title" ).innerHTML = 'Авторизация';
			document.getElementById ( "msg-text" ).innerHTML = data.substr ( 1, data.length - 1 );
		}
	}	
}
function RestorePass () {
	document.getElementById('reg-box').style.display='none';
	document.getElementById('auth-box').style.display='none';
	document.getElementById('pass-box').style.display='none';

	request.open ( "POST", "/includes/ajax-restore-pass.php", true );
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");	
	request.onreadystatechange = RestorePassResult;
	var params = 'login=' + document.pass_form.login.value + '&email=' + document.pass_form.email.value;	
	request.send( params );
}
function RestorePassResult () {
	if (request.readyState == 4) {
	 	if (request.status == 200) {			
			var data = request.responseText;						
			document.getElementById ( 'overlay' ).style.display = 'block';
			document.getElementById ( 'message-form' ).style.display = 'block';
			document.getElementById ( "msg-title" ).innerHTML = 'Восстановление пароля';
			document.getElementById ( "msg-text" ).innerHTML = data;
		}
	}	
}
function SendOrder () {
	var fio = document.order_form.fio.value;
	var email = document.order_form.email.value;
	var phone = document.order_form.phone.value;
	var address = document.order_form.address.value;
	var comment = document.order_form.text.value;
	var disc = document.order_form.disc.value;
	var total_cost = document.getElementById ( 'total_cost_dig' ).value;
	var msg = document.order_form.msg.value;
	
	if ( !fio || !email || !phone || !address ) {
		document.getElementById ( 'overlay' ).style.display = 'block';
		document.getElementById ( 'message-form' ).style.display = 'block';
		document.getElementById ( "msg-title" ).innerHTML = 'Отправка заказа';
		document.getElementById ( "msg-text" ).innerHTML = msg;
		return;
	}

	request.open ( "POST", "/includes/ajax-order.php", true );
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");	
	request.onreadystatechange = SendOrderResult;
	var params = 'fio='+fio+'&email='+email+'&phone='+phone+'&address='+address+'&text='+comment+'&total_cost='+total_cost+'&disc='+disc;
	var k = 0;
	for ( var i = 0; i < total_objs; i++ ) {
		params += '&names['+k+']=' + document.getElementById ( 'obj_name'+(i+1) ).value;
		params += '&costs['+k+']=' + document.getElementById ( 'obj_cost'+(i+1) ).value;
		params += '&counts['+k+']=' + document.getElementById ( 'obj'+(i+1) ).value;
		params += '&types['+k+']=obj';
		k++;
		for ( var j = 0; j < obj_comps[i+1]; j++ ) {
			params += '&names['+k+']=' + document.getElementById ( 'comp_name_'+(i+1)+'_'+(j+1) ).value;
			params += '&costs['+k+']=' + document.getElementById ( 'comp_cost_'+(i+1)+'_'+(j+1) ).value;
			params += '&counts['+k+']=' + document.getElementById ( 'comp_'+(i+1)+'_'+(j+1) ).value;
			params += '&types['+k+']=comp';
			k++;
		}
		for ( var j = 0; j < obj_opts[i+1]; j++ ) {
			params += '&names['+k+']=' + document.getElementById ( 'opt_name_'+(i+1)+'_'+(j+1) ).value;
			params += '&costs['+k+']=' + document.getElementById ( 'opt_cost_'+(i+1)+'_'+(j+1) ).value;
			params += '&counts['+k+']=' + document.getElementById ( 'opt_'+(i+1)+'_'+(j+1) ).value;
			params += '&types['+k+']=opt';
			k++;
		}
	}
	request.send( params );
}
function SendOrderResult () {
	if (request.readyState == 4) {
	 	if (request.status == 200) {			
			var data = request.responseText;
			document.getElementById ( 'overlay' ).style.display = 'block';
			document.getElementById ( 'message-form' ).style.display = 'block';
			document.getElementById ( "msg-title" ).innerHTML = 'Отправка заказа';
			document.getElementById ( "msg-text" ).innerHTML = data;
			document.getElementById ( "msg-reload" ).value = 1;
		}
	}	
}
function ShowSubGroup ( id ) {
	document.getElementById ( 'group' + id ).style.display = 'block';
	document.getElementById ( 'group-img-r' + id ).style.display = 'none';
	document.getElementById ( 'group-img-l' + id ).style.display = 'inline';
}
function HideSubGroup ( id ) {
	document.getElementById ( 'group' + id ).style.display = 'none';
	document.getElementById ( 'group-img-r' + id ).style.display = 'inline';
	document.getElementById ( 'group-img-l' + id ).style.display = 'none';
}

function ShowBrandsBox () {
	var div = document.getElementById ( 'brands-box' );
	var div2 = document.getElementById ( 'series-box' );
	var span = document.getElementById ( 'brands-span' );
	var span2 = document.getElementById ( 'series-span' );
	if ( !div ) return;
	if ( div.style.display != 'block' ) {
		div.style.display = 'block';
		div2.style.display = 'none';
		span.className = '';
		span2.className = 'box-link';
	}	
	else {
		div.style.display = 'none';
		span.className = 'box-link';
	}
}

function ShowSeriesBox () {
	var div = document.getElementById ( 'series-box' );
	var div2 = document.getElementById ( 'brands-box' );
	var span = document.getElementById ( 'series-span' );
	var span2 = document.getElementById ( 'brands-span' );	
	if ( !div ) return;
	if ( div.style.display != 'block' ) {
		div.style.display = 'block';
		div2.style.display = 'none';
		span.className = '';
		span2.className = 'box-link';
	}	
	else {
		div.style.display = 'none';
		span.className = 'box-link';
	}
}
function ShowBrandsForLetter ( letter, type ) {	
	request.open ( "POST", "/includes/ajax-get-brands-for-letter.php", true );
	request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");	
	request.onreadystatechange = BrandsForLetterResult;
	var params = 'name=' + letter + '&type_id=' + type;
	request.send( params );
}
function BrandsForLetterResult () {
	if (request.readyState == 4) {
	 	if (request.status == 200) {			
			var data = request.responseText;						
			document.getElementById ( 'brand-table-div' ).innerHTML = data;
		}
	}	
}