var AjaxErrFunc = function(t) {
	alert('Error ' + t.status + ' -- ' + t.statusText);
}

DL = function(){
	window.location=arguments[0];
}

changeItemOrder = function(table, field) {
	setCookie(table + '_ord', field, 100, '/');

	var no_virz_change	= arguments[2];
	var virz_cookie		= getCookie(table + '_virz');
			
	if (!no_virz_change) {
		setCookie(table + '_virz', (virz_cookie == 'desc' || !virz_cookie ? 'asc' : 'desc'), 100, '/');
	}
	
	if (location.hash == '#rates') {
		var loc = window.location.href;
		loc = loc.split("?");
		loc = loc[0];
		
		var pos = loc.indexOf("#");
		
		loc = loc.substring(0, pos);
		
		loc = loc + "?sort=" + field + "_" + virz_cookie + "#rates";
		
		DL(loc);

	} else {
 		DL(window.location);
	}
}

changeItemView = function() {
	var view_cookie=getCookie('items_view_type');
	
	setCookie('items_view_type', (view_cookie == 1 ? 0 : 1), 100, '/');
	
	DL(window.location);
}

rateComment = function(rateid, helpful) {
	var handlerFunc = function(t) {
		Element.hide($('rates_' + rateid));
	}

	var myAjax = new Ajax.Request('/rates.php', {parameters: 'rateid=' +rateid+'&helpful=' + helpful, onSuccess:handlerFunc, onFailure:AjaxErrFunc});
}

ratePost = function(itemid) {
	var form = $('comment_form');
	
	var postStr = Form.serialize(form);
	
	var handlerFunc = function(t) {
		Element.hide($('rate_yours'));
		Element.show($('rate_thanks'));
		
		$('comment_form').reset();
	}

	var myAjax = new Ajax.Request('/rates.php', {parameters: postStr +'&item_id=' +itemid, onSuccess:handlerFunc, onFailure:AjaxErrFunc});
}

LC = function(task) {

	var block=$(task+'-box');
	if(!task){
		block=$('information-box');
	}
	
	if(!block){
		block=$('specification-box');
	}
	
	var task_=block.id.replace('-box',''); 
	
	if(task)task_=task;

	var id = arguments[1];
	var dontRegisterHistory = arguments[2];
	var id2 = arguments[3];

	var taskTab = $(task_+'-li');
	
	if(taskTab) {
		$$('ul#desc-menu li').each(function(node) {
		Element.removeClassName(node,'active');
		Element.addClassName($(node.id.replace('-li','-box')),'hidden');
		});
		Element.addClassName(taskTab,'active');
		Element.removeClassName(block,'hidden');
	}

	// Add to history
	if (!dontRegisterHistory && task) {
		var historyStore = new Object();
		historyStore.task = task;
		historyStore.id = id;
		historyStore.id2 = id2;
		dhtmlHistory.add(task + (id?','+id:'') + (id2?','+id2:''), historyStore);
	}
}

/* 
History handling functions :: RSH 
*/


historyChange = function(newLocation,historyData){
	if(typeof historyData == "object" && historyData != null){
		LC(historyData.task,historyData.id,1,historyData.id2);
	} else{
		LC('',0,1,0);
	}
}

extractPath = function() {
	tmp		= document.location.toString();
	ftask	= "";
	fid		= 0;
	fid2	= 0;
	
	if (tmp.indexOf('#') != -1) {
		tmp = tmp.split('#');
		tmp = tmp[1];
		tmp = tmp.toString();
		
		if (tmp.indexOf(',') != -1) {
			t		= tmp.split(',');
			ftask	= t[0].toString();
			fid		= t[1];
			fid2	= t[2];
			
		} else {
			ftask=tmp;
		}
	}

	var str=new Array(3);
	str[0]=ftask;
	str[1]=fid;
	str[2]=fid2;
	return str;
}

historyInit = function(firstTask){
 dhtmlHistory.initialize();
 dhtmlHistory.addListener(historyChange);
 if(dhtmlHistory.isFirstLoad()){
  tmp=document.location.toString();
  ftask=firstTask;
  fid=0;
  fid2=0;
  if(tmp.indexOf('#')!=-1){
   tmp=tmp.split('#');
   tmp=tmp[1];
   tmp=tmp.toString();
   if(tmp.indexOf(',')!=-1){
    t=tmp.split(',');
    ftask=t[0].toString();
    fid=t[1];
    fid2=t[2];
   }
  }
  var historyStoreList = new Object();
  historyStoreList.task = ftask;
  historyStoreList.id = fid;
  historyStoreList.id2 = fid2;
  historyStorage.put(ftask, historyStoreList);
  LC(ftask,fid,0,fid2);
 }
}


/* 
END
History handling functions :: RSH 
*/


showMaskBox = function(html){
	box=$('mask-box');
	$('html-container').innerHTML=html;
	box.show();
}

hideMaskBox=function(){
	$('mask-box').hide();
}

manageCompareItem = function(id){
 data=arguments[1];
 checkbox=$('compc'+id);
 checka=$('compa'+id);
 if(checka)Element.toggle(checka);
 block=$('compare-right');
 container=$('compare-right-container');
 var handlerFunc = function(t) {
  if(t.responseText){
   container.innerHTML = t.responseText;
   Element.setStyle(block,{display:'block'});
   tooltip.init();
  }else{
   Element.setStyle(block,{display:'none'});
  }
 }
 remove=arguments[2];
 if(remove && checkbox){
  checkbox.checked=false;
 }
 var myAjax = new Ajax.Request('/xml/comparePre.php', {parameters:'ItemID='+id+'&remove='+((remove?1:checkbox.checked==true?0:1))+'&data='+data, onSuccess:handlerFunc, onFailure:AjaxErrFunc});
}

removeCompareItems = function(){
 $$('div.options input').each(function(node){
  node.checked=false;
 });
 Element.setStyle($('compare-right'),{display:'none'});
 var myAjax = new Ajax.Request('/xml/comparePre.php', {parameters:'removeAll=1'});
}

compareWindow = function(){
 var data='';
 $$('div#compare-right-container a.close').each(function(node) {
  iid=node.id.replace('comp_item_','');
  data+='.'+iid;
 });
 data=data.substring(1);
 var win = window.open('/compare.php?data='+data,'compare','width=800,height=600,scrollbars=yes,resizable=yes');
 win.focus();
}

hideSimilarCompareItems = function(){
 var show = false;
 var tmp = '';
 $$('tr.identical').each(function(node){
  if(node.style.display=='none')show = true; else show = false;
  Element.toggle(node);
 });
 $$('a.hideSimilar').each(function(node){
  Element.toggle(node);
 });
 $$('a.showSimilar').each(function(node){
  Element.toggle(node);
 });
 
}

searchSubmit = function(){
 qs=$('stext');
 form=$('search');
 if(qs.value.length>1){
  var str = qs.value;
  str = str.replace('/','_d_');
  str = str.replace('#','%2523');
  DL('/q/'+str);
 }else{
  alert('Ievadiet vismaz 2 simbolus!');
  return false;
  qs.focus();
 }
}

filterItems = function(){
 var str='';
 var cookie_str='';
 var range_str = '';
 var brands_str = '';
 var colors_str = '';
 var custom_str = '';

 // brands
 $$('#f-brands input').each(function(node){
  if(node.checked==true){
   brands_str+='.'+parseInt(node.value);
  }
 });
 brands_str = brands_str.substring(1);
 if(brands_str)str+=(str?'&':'?')+'fb='+brands_str;
 cookie_str+='|'+brands_str;
 
 // price range
 $$('#f-price input').each(function(node){
  if(node.checked==true){
   range_str+='.'+node.value;
  }
 });
 range_str = range_str.substring(1);
 if(range_str)str+=(str?'&':'?')+'fp='+range_str;
 cookie_str+='|'+range_str;
 
 // colors
 $$('#f-type input').each(function(node){
  if(node.checked==true){
   colors_str+='.'+parseInt(node.value);
  }
 });
 colors_str = colors_str.substring(1);
 if(colors_str)str+=(str?'&':'?')+'fc='+colors_str;
 cookie_str+='|'+colors_str;
 
 //
 // custom 
  $$('.custom_filters input').each(function(node){
  if(node.checked==true){
   custom_str+='.'+node.value;
  }
 });
 custom_str = custom_str.substring(1);
 if(custom_str)str+=(str?'&':'?')+'fcus='+custom_str;
 cookie_str+='|'+custom_str;
 
 if(cookie_str)setCookie('items_filter', CategoryID+cookie_str);
 loc=CategoryFPATH+str;
 DL(loc);

 return false;
}

resetOneFilter = function(id){
 if($(id)){
  $(id).checked=false;
  filterItems();
 }
}
resetBoxFilters = function(boxid){
 $$('#'+boxid+' input').each(function(node){
  if(node.checked==true){
   node.checked=false;
  }
 });
 filterItems();
}
resetFilters = function(){
 setCookie('items_filter','');
 DL(CategoryFPATH);
}
resetFilterChain = function(box){
 $$('.'+(!box?'main_filters':'custom_filters')+' input').each(function(node){
  if(node.checked==true){
   node.checked=false;
  }
 });
 filterItems();
}

switchRegUser = function(wh,radio){
 block=$('individual');
 block2=$('legal-person');
 block.style.display=(!wh?'block':'none');
 block2.style.display=(wh?'block':'none');
 radio.focus();
}

zv = function(){
 return document.createTextNode('*');
}
hideAllFields = function(){
 $$('p').each(function(node){
  if(node.id)node.hide();
 });
 $$('h1').each(function(node){
  if(node.id)node.hide();
 });
}
manageFields = function(){
 var pt = $('last_payment_typeid');
 var ngalv = $('need-galv');
 var ptype = pt.options[pt.selectedIndex].value;
 hideAllFields();
 // ### private person
 if($('usertype0').checked==true){
  $('p-priv-name').show();
  $('p-priv-surname').show();
  $('p-priv-phone').show();
  // cash
  if(ptype == 0){
  
  // transfer
  }else if(ptype == 3){
   $('p-priv-bank-account').show();
   $('p-priv-pers-code').show();
   $('p-priv-email').show();
  
  // leasing
  }else if(ptype == 10){
   $('p-priv-pers-code').show();
   $('p-priv-passport').show();
   $('p-priv-passport-date').show();
   $('p-priv-real-adr').show();
   $('job-title').show();
   $('p-priv-job').show();
   $('p-priv-job-title').show();
   $('p-priv-job-time').show();
   $('p-priv-job-income').show();
   $('p-priv-job-adr').show();
   $('p-priv-job-phone').show();
   $('p-need-galv').show();
   $('leasing-title').show();
   $('p-leasing_company').show();
   $('p-leasing_first_proc').show();
   $('p-leasing_period').show();
   // enabling first leasing day
   if($('leasing_hansa') && ($('leasing_hansa').checked==true || $('leasing_ge_money').checked==true)){
    $('p-leasing_day').show();
    if($('leasing_hansa').checked==true){
     $('leasing_day_hansa').show();
     $('leasing_day_ge_money').hide();
		}else if($('leasing_ge_money').checked==true){
		 $('leasing_day_hansa').hide();
     $('leasing_day_ge_money').show();
		}
	 }
	 // enabling data for hansa leasing
	 if($('leasing_hansa') && $('leasing_hansa').checked==true){
	  $('hansa-data-title').show();
	  $('p-hansa-data-people').show();
	  $('p-hansa-data-place').show();
	  $('p-hansa-data-family').show();
	  $('p-hansa-data-education').show();
	  $('p-hansa-data-job-type').show();
	  $('p-hansa-data-job-position').show();
	  $('p-hansa-data-region').show();
	  
	  $('p-hansa-reward').show();
	 }else if($('leasing_nelss').checked==true){
	  
	  $('nelss_data_title').show();
	  $('p-nelss_data_friend').show();
	  if($('nelss-data-friend').checked==true){
		  $('p-nelss_data_friend_name').show();
		  $('p-nelss_data_friend_surname').show();
		  $('p-nelss_data_friend_phone').show();
		  $('p-nelss_data_friend_phone_work').show();
		  $('p-nelss_data_friend_work').show();
		  $('p-nelss_data_friend_work_pos').show();
		  $('p-nelss_data_friend_work_time').show();
		  $('p-nelss_data_friend_work_money').show();
		}
	  $('p-nelss_data_dalas').show();
	  if($('nelss-data-dalas').checked==true){
	  	$('p-nelss_data_dalas_where').show();
		}
	  
	  $('nelss_data_kpers_title').show();
	  $('p-nelss_data_kpers_name').show();
	  $('p-nelss_data_kpers_surname').show();
	  $('p-nelss_data_kpers_phone').show();
	  
	  
	 /* $('p-').show();
	  $('p-hansa-data-place').show();
	  $('p-hansa-data-family').show();
	  $('p-hansa-data-education').show();
	  $('p-hansa-data-job-type').show();
	  $('p-hansa-data-job-position').show();
	  $('p-hansa-data-region').show();*/
	  
	  //$('p-hansa-reward').show();
	 }
	 
   if(ngalv.checked==true){
    $('galv-title').show();
    $('galv-job-title').show();
    $('p-priv-galv-name').show();
    $('p-priv-galv-surname').show();
    $('p-priv-galv-phone').show();
    $('p-priv-galv-real-adr').show();
    $('p-priv-galv-passport').show();
    $('p-priv-galv-passport-date').show();
    $('p-priv-galv-pers-code').show();
    $('p-priv-galv-job').show();
    $('p-priv-galv-job-title').show();
    $('p-priv-galv-job-time').show();
    $('p-priv-galv-job-income').show();
    $('p-priv-galv-job-adr').show();
    $('p-priv-galv-job-phone').show();
   }
   

  }
  
 	 pt.options[2].disabled = false;
 	 
 }else{
 	 
 	 // forbid to choose leasing
 	 pt.options[2].disabled = true;
 	 
 // ### jurid person
  $('p-uzn-title').show();
  $('p-uzn-pvn').show();
  $('p-uzn-phone').show();
  $('p-uzn-fax').show();
  $('p-uzn-jur-adr').show();
  $('p-uzn-real-adr').show();
  //cash
  if(ptype == 0){

  // transfer
  }else if(ptype == 3){
   $('p-uzn-bank-account').show();
  
  // leasing
  }else if(ptype == 10){
   //$('p-uzn-name').show();
   //$('p-uzn-surname').show();
   pt.selectedIndex = 0;
  }

 }
}

markFieldErrors = function(errors) {
	$$('#profile-info label').each(function(node) {
		attrValue = node.getAttribute('htmlFor');
		
		if (!attrValue)attrValue=node.getAttribute('for');
		
		Element.removeClassName(node,'error');
		
		if (errors.length > 0) {
			if(errors.indexOf(attrValue)!=-1)	{
				Element.addClassName(node,'error');
			}
		}
	});
}
