/************************************************************************/
var url_search_g = '/fgruz/search_gruz.php';
var cur_progress = 1;
var search_req = new sack();
var intermed_req = new sack();
var search_ob = new Object();
var start_check = false;
var count_records = null;
var timerID = null;
var timerRunning = false;
var time_refresh = 20000;
var clear_search = true;

function search_form(type_query, cp, st){

if (cur_progress == 1){
	cur_progress = 0;
	search_req.reset();
	search_req.requestFile = url_search_g;
	search_req.setVar('search_ex',type_query);

	if (type_query == '1'){
	if (typeof cp!='undefined'){search_req.setVar('cur_p',cp);}
	if (typeof st!='undefined'){search_req.setVar('st',st);}
	search_req.setVar('dat_s_f',document.getElementById('dat_s_f').value);
	search_req.setVar('dat_po_f',document.getElementById('dat_po_f').value);
	search_req.setVar('sel_country_iz',document.getElementById('sel_country_iz').value);
	search_req.setVar('sel_country_v',document.getElementById('sel_country_v').value);
	search_req.setVar('sel_region_iz',document.getElementById('sel_region_iz').value);
	search_req.setVar('sel_region_v',document.getElementById('sel_region_v').value);
	search_req.setVar('sel_punkt_iz',document.getElementById('sel_punkt_iz').value);
	search_req.setVar('sel_punkt_v',document.getElementById('sel_punkt_v').value);
	search_req.setVar('tip_transporta',document.getElementById('tip_transporta').value);
	search_req.setVar('ves',document.getElementById('ves').value);
	search_req.setVar('obyem',document.getElementById('obyem').value);
	} else if (type_query == '2'){

	if (typeof cp!='undefined'){search_req.setVar('cur_p',cp);}
	if (typeof st!='undefined'){search_req.setVar('st',st);}

	search_req.setVar('dat_s_f',document.getElementById('dat_s_f_ex').value);
	search_req.setVar('dat_po_f',document.getElementById('dat_po_f_ex').value);
	search_req.setVar('clear_search',clear_search);

	if ((typeof totalPrice1=='undefined') || (totalPrice1=='')){
	search_req.setVar('totalPrice1',document.getElementById('sel_region_iz_ex').value+',0,'+document.getElementById('sel_country_iz_ex').value+',0,0');
	}else{
	search_req.setVar('totalPrice1',totalPrice1.join('|||'));}

	if ((typeof totalPrice2=='undefined') || (totalPrice2=='')){
	search_req.setVar('totalPrice2',document.getElementById('sel_region_v_ex').value+',0,'+document.getElementById('sel_country_v_ex').value+',0,0');
	}else{
	search_req.setVar('totalPrice2',totalPrice2.join('|||'));}
	
	search_req.setVar('tip_transporta',document.getElementById('tip_transporta_ex').value);

	search_req.setVar('ves',document.getElementById('ves_ex').value);
	search_req.setVar('obyem',document.getElementById('obyem_ex').value);

	}

  	search_req.onInteractive = waitLoad;

	search_req.onCompletion = function(){ complete_request(type_query);};
	search_req.runAJAX();
}

}
function complete_request(type_query){

showAjaxSearchContent(); 
cur_progress = 1;
if (start_check == true) {
stoptimer();
count_records = document.getElementById('res_word'+type_query).value;
timerID = setInterval("getcountrecords('"+type_query+"')",time_refresh); 
timerRunning = true;
clear_search = true;
}


}


function waitLoad()
{
stoptimer();
if (clear_search==true){
document.getElementById('new_arrival1').src="/images/green.gif";
document.getElementById('new_arrival2').src="/images/green.gif";}
search_ob = document.getElementById('search_table');
search_ob.innerHTML = '<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"><tr bgcolor="#6699CC"><td width="27%" class="tab"><div align="center" class="cl_Bottom"><strong>Откуда-Куда</strong></div></td><td width="18%" class="tab"><div align="center" class="cl_Bottom"><strong>Груз</strong></div></td><td width="27%" class="tab"><div align="center" class="cl_Bottom"><strong>Транспорт</strong></div></td><td width="10%" class="tab"><div align="center" class="cl_Bottom"><strong>Оплата</strong></div></td><td width="18%" class="tabright"><div align="center" class="cl_Bottom"><strong>Контактная информация</strong></div></td></tr><tr><td class="tabright" colspan="5"><div align="center"><br><img src="/images/load.gif"> Подождите, идет загрузка...<br></div><br></td></tr></table>';
}


function showAjaxSearchContent()
{
	search_ob = document.getElementById('search_table');
	search_ob.innerHTML = search_req.response;
}

function getcountrecords(type_query){


	intermed_req.reset();
	intermed_req.requestFile = 'intermed_req.php';
	intermed_req.setVar('search_ex',type_query);

if (type_query == '1'){
	intermed_req.setVar('dat_s_f',document.getElementById('dat_s_f').value);
	intermed_req.setVar('dat_po_f',document.getElementById('dat_po_f').value);
	intermed_req.setVar('sel_country_iz',document.getElementById('sel_country_iz').value);
	intermed_req.setVar('sel_country_v',document.getElementById('sel_country_v').value);
	intermed_req.setVar('sel_region_iz',document.getElementById('sel_region_iz').value);
	intermed_req.setVar('sel_region_v',document.getElementById('sel_region_v').value);
	intermed_req.setVar('sel_punkt_iz',document.getElementById('sel_punkt_iz').value);
	intermed_req.setVar('sel_punkt_v',document.getElementById('sel_punkt_v').value);
	intermed_req.setVar('tip_transporta',document.getElementById('tip_transporta').value);
	intermed_req.setVar('ves',document.getElementById('ves').value);
	intermed_req.setVar('obyem',document.getElementById('obyem').value);
}

if (type_query == '2'){


	intermed_req.setVar('dat_s_f',document.getElementById('dat_s_f_ex').value);
	intermed_req.setVar('dat_po_f',document.getElementById('dat_po_f_ex').value);

	if ((typeof totalPrice1=='undefined') || (totalPrice1=='')){
	intermed_req.setVar('totalPrice1',document.getElementById('sel_region_iz_ex').value+',0,'+document.getElementById('sel_country_iz_ex').value+',0,0');
	}else{
	intermed_req.setVar('totalPrice1',totalPrice1.join('|||'));}

	if ((typeof totalPrice2=='undefined') || (totalPrice2=='')){
	intermed_req.setVar('totalPrice2',document.getElementById('sel_region_v_ex').value+',0,'+document.getElementById('sel_country_v_ex').value+',0,0');
	}else{
	intermed_req.setVar('totalPrice2',totalPrice2.join('|||'));}
	
	intermed_req.setVar('tip_transporta',document.getElementById('tip_transporta_ex').value);

	intermed_req.setVar('ves',document.getElementById('ves_ex').value);
	intermed_req.setVar('obyem',document.getElementById('obyem_ex').value);

	}

	intermed_req.onCompletion = function(){complete_intermed(type_query); };
	intermed_req.runAJAX();

}

function complete_intermed(type_query){
count_records = intermed_req.response;
if (document.getElementById('res_word'+type_query).value!=count_records){
document.getElementById('new_arrival'+type_query).src="/images/blink.gif";
document.getElementById('my_sound').innerHTML = '<object data="/media/incoming.wav" type="video/x-ms-wmv" width="0" height="0"><param name="src" value="/media/incoming.wav"><param name="autostart" value="1"></object>';
clear_search = false;
search_form(type_query);

}


}


function check_new(type_search){
stoptimer();
if (document.getElementById('new_arrival_check'+type_search).checked == true){
start_check = true;
}else{
start_check = false;
document.getElementById('new_arrival'+type_search).src="/images/green.gif";
stoptimer()
}
}

function stoptimer(){
if(timerRunning)
	clearInterval(timerID);
	timerRunning = false;
}

function stoptimer2(){
start_check = false;
document.getElementById('new_arrival_check1').checked = false;
document.getElementById('new_arrival_check2').checked = false;
document.getElementById('new_arrival1').src="/images/green.gif";
document.getElementById('new_arrival2').src="/images/green.gif";
stoptimer();
}

/************************************************************************/
var flyingSpeed = 25;
var url_addProductToBasket = 'addproduct.php';
var url_removeProductFromBasket = 'removeproduct.php';
var txt_totalPrice = 'Total: ';
var totalPrice1 = new Array();
var totalPrice2 = new Array();

var shopping_cart_div = false;
var flyingDiv = false;
var currentProductDiv = false;

var shopping_cart_x = false;
var shopping_cart_y = false;

var slide_xFactor = false;
var slide_yFactor = false;

var diffX = false;
var diffY = false;

var currentXPos = false;
var currentYPos = false;

var ajaxObjects = new Array();


function shoppingCart_getTopPos(inputObj)
{		
  var returnValue = inputObj.offsetTop;
  while((inputObj = inputObj.offsetParent) != null){
  	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetTop;
  }
  return returnValue;
}

function shoppingCart_getLeftPos(inputObj)
{
  var returnValue = inputObj.offsetLeft;
  while((inputObj = inputObj.offsetParent) != null){
  	if(inputObj.tagName!='HTML')returnValue += inputObj.offsetLeft;
  }
  return returnValue;
}
	

function addToBasket(productId, elem, res_table, my_countr)
{

	if(!shopping_cart_div)shopping_cart_div = document.getElementById('shopping_cart'+res_table);
	if(!flyingDiv){
		flyingDiv = document.createElement('DIV');
		flyingDiv.style.position = 'absolute';
		document.body.appendChild(flyingDiv);
	}
	
	shopping_cart_x = shoppingCart_getLeftPos(shopping_cart_div);
	shopping_cart_y = shoppingCart_getTopPos(shopping_cart_div);

	currentProductDiv = document.getElementById(elem);
	
	currentXPos = shoppingCart_getLeftPos(currentProductDiv);
	currentYPos = shoppingCart_getTopPos(currentProductDiv);
	
	diffX = shopping_cart_x - currentXPos;
	diffY = shopping_cart_y - currentYPos;
	

	
	var shoppingContentCopy = currentProductDiv.cloneNode(true);
	shoppingContentCopy.id='';
	flyingDiv.innerHTML = '';
	flyingDiv.style.left = currentXPos + 'px';
	flyingDiv.style.top = currentYPos + 'px';
	flyingDiv.appendChild(shoppingContentCopy);
	flyingDiv.style.display='block';
	flyingDiv.style.width = currentProductDiv.offsetWidth + 'px';
	shopping_cart_div = false;

	flyToBasket(productId, res_table, my_countr);
	
	
}


function flyToBasket(productId, res_table, my_countr)
{
	var maxDiff = Math.max(Math.abs(diffX),Math.abs(diffY));
	var moveX = (diffX / maxDiff) * flyingSpeed;;
	var moveY = (diffY / maxDiff) * flyingSpeed;	
	
	currentXPos = currentXPos + moveX;
	currentYPos = currentYPos + moveY;
	
	flyingDiv.style.left = Math.round(currentXPos) + 'px';
	flyingDiv.style.top = Math.round(currentYPos) + 'px';	
	
	
	if(moveX>0 && currentXPos > shopping_cart_x){
		flyingDiv.style.display='none';		
	}
	if(moveX<0 && currentXPos < shopping_cart_x){
		flyingDiv.style.display='none';		
	}

	if(flyingDiv.style.display=='block'){
		setTimeout('flyToBasket("' + productId + '","'+res_table+'","'+my_countr+'")',10); 
	}else {
		flyingDiv = false;
		ajaxAddProduct(productId, res_table,my_countr);
	}
	}

function showAjaxBasketContent(ajaxIndex, res_table)
{
	var el_table = 'shopping_cart_items'+res_table;
	var itemBox = document.getElementById(el_table);

	var productItems = ajaxObjects[ajaxIndex].response.split('|||');
	
	if(document.getElementById('shopping_cart_items_product' + res_table + productItems[0])){	// A product with this id is allready in the basket - just add number items

	}else{	
		var z = eval('totalPrice'+res_table).length;
		
		eval('totalPrice'+res_table)[z]= new Array(2);
		eval('totalPrice'+res_table)[z][0] = productItems[0];
		eval('totalPrice'+res_table)[z][1] = productItems[1];
		eval('totalPrice'+res_table)[z][2] = productItems[2];
		eval('totalPrice'+res_table)[z][3] = productItems[3];
		eval('totalPrice'+res_table)[z][4] = productItems[4];
		var tr = itemBox.insertRow(-1);
		tr.id = 'shopping_cart_items_product' + res_table + productItems[0]
		
		var td = tr.insertCell(-1);
		td.innerHTML = "<span title='"+productItems[4]+"' class='tabtext2b'>"+productItems[3]+"</span>"; 	// Description

		
		var td = tr.insertCell(-1);
		td.innerHTML = productItems[1]; 
		
		var td = tr.insertCell(-1);
		var a = document.createElement('A');
		td.appendChild(a);
		//a.href = '#';
		a.onclick = function(){ stoptimer2();removeProductFromBasket(productItems[0], res_table); };
		var img = document.createElement('IMG');
		img.src = '/images/remove.gif';
		img.width = '15';
		img.height = '15';
		a.appendChild(img);
	} 


	updateTotalPrice();
	
	ajaxObjects[ajaxIndex] = false;		
	
}

function updateTotalPrice()
{
	var itemBox = document.getElementById('shopping_cart_items');

	if(document.getElementById('shopping_cart_totalprice')){
		for(var no=1;no<itemBox.rows.length;no++){
		}		
	}	
}

function removeProductFromBasket(productId, res_table)
{
	var productRow = document.getElementById('shopping_cart_items_product' + res_table + productId);
		productRow.parentNode.removeChild(productRow);
		for(var no=0;no<eval('totalPrice'+res_table).length;no++){
		if (eval('totalPrice'+res_table)[no][0] == productId){
			eval('totalPrice'+res_table).splice(no,1);
		}
		}

}

function ajaxValidateRemovedProduct(ajaxIndex)
{
	if(ajaxObjects[ajaxIndex].response!='OK')alert('Error while removing product from the database');
	
}
function ShowArray(){
	var myBox = new Object();
	var myBox = document.getElementById('my_array');
	var myz = "";
	if(document.getElementById('my_array')){
		for (var i in totalPrice){
			if(document.getElementById('my_obl' + totalPrice[i][0])){
			document.getElementById('my_obl' + totalPrice[i][0]).parentNode.removeChild(document.getElementById('my_obl' + totalPrice[i][0]));
			}
			}
		for (var i in totalPrice){
		var tr = myBox.insertRow(-1);
		tr.id = 'my_obl' + totalPrice[i][0];
		
		var td = tr.insertCell(-1);
		td.innerHTML = totalPrice[i][0]; 	// Number of items
		
		var td = tr.insertCell(-1);
		td.innerHTML = totalPrice[i][1]; 	// Description
		
		var td = tr.insertCell(-1);
		td.style.textAlign = 'right';
		td.innerHTML = totalPrice[i][2]; 	// Price	
		
		var td = tr.insertCell(-1);
		var a = document.createElement('A');
		td.appendChild(a);
			
	}
	}	

}
function ajaxRemoveProduct(productId)
{
	var ajaxIndex = ajaxObjects.length;
	ajaxObjects[ajaxIndex] = new sack();
	ajaxObjects[ajaxIndex].requestFile = url_removeProductFromBasket;
	ajaxObjects[ajaxIndex].setVar('productIdToRemove',productId);
	ajaxObjects[ajaxIndex].onCompletion = function(){ ajaxValidateRemovedProduct(ajaxIndex); };
	ajaxObjects[ajaxIndex].runAJAX();
}

function ajaxAddProduct(productId, res_table, my_countr)
{
	var ajaxIndex = ajaxObjects.length;

	ajaxObjects[ajaxIndex] = new sack();
	ajaxObjects[ajaxIndex].requestFile = url_addProductToBasket;
	ajaxObjects[ajaxIndex].setVar('productId',productId);
if (productId == '0'){
var my_count = document.getElementById(my_countr);	
	ajaxObjects[ajaxIndex].setVar('my_countr',my_count.value);
}
	ajaxObjects[ajaxIndex].onCompletion = function(){ showAjaxBasketContent(ajaxIndex, res_table); };
	ajaxObjects[ajaxIndex].runAJAX();
}
