﻿function preload() {
	var a=arguments;
	for(var i in a)
	{
		(new Image()).src=a[i];
	}
}

window.onload = function()
{
	preload('../images/header_button_1_up.gif', '../images/header_button_2_up.gif', '../images/header_button_3_up.gif',
	 '../images/header_button_3_in.gif', '../images/logo_up.gif', '../images/select_bg_up.gif', '../images/select_bg_small_up.gif',
	  '../images/submit_bg_up.gif', '../images/search_more_bg_up.gif', '../images/search_bg_big.gif', '../images/search_bg_big_bottom.gif', 
	  '../images/search_bg_big_tile.gif', '../images/fmedia_up.gif');
};

function swap(a,b)
{
	if(b){document.c=a.src; a.src=b;}
	else { a.src=document.c;}
}


var WARN_CLASS = ['warn','none'];
var c1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
var c2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");

String.prototype.trim = function()
{
	return this.replace(/^\s+/,'').replace(/\s+$/,'');
};

function checkValue(obj,warn)
{
	var v=obj.value.trim();
	if( obj.id == 'mail')
	{
		chk=!c1.test(v) && c2.test(v) && v.length>6;
	} else
	{
		chk=v.length>0;
	}
	obj.className=WARN_CLASS[chk+0];
	if( warn && chk )
	{
		obj.onkeyup='';
		obj.onchange='checkValue(this)';
	} else if( !warn && !chk )
	{
		obj.onkeyup='checkValue(this,1)';
		obj.onchange='';
	}
	return chk;
}

function FormCheck(forma)
{
	if(!forma) { forma=0; }
	var f=document.forms[forma];
	var items=f.elements;
	var test=true,cnt=items.length,params='',AnD=false,i,t;
	for( var x=0; x<cnt; x++ )
	{
		t=(i=items[x]).type;
		if(i.id=='search_cat' || i.id=='search_mark' || i.id=='mail' || i.id=='sender_ime'|| i.id=='sender_mail' || i.id=='receiver_ime' || i.id=='receiver_mail')
		{
			
			if(!checkValue(i) && test)
			{	
				i.focus();
				test=false;
			} else if(test)
			{
				params=params+(AnD?'&':'')+i.id+'='+i.value;
				AnD=true;
			}
		}
	}
	if(test==false)
	{	
		return false;
	}
}


var ajax_tail = [];
function do_next_query()
{
	var http = window.ActiveXObject?new ActiveXObject('Microsoft.XMLHTTP'):new XMLHttpRequest();
	if(http)
	{
		var info = ajax_tail[0];
		http.onreadystatechange = function ()
		{
			if(http.readyState == 4)
			{
				var info = ajax_tail.shift();
				if(info[2])
				{
					if (http.status == 200)
					{
						info[2](true,http.responseText,info[4]);
					} else
					{
						info[2](false,'',info[4]);
					}
				}
				if(ajax_tail.length)
				{
					do_next_query();
				}
			}
		};
		if(info[3]=='GET')
		{
			if(info[1])
			{
				if(info[0].indexOf('?')==-1)
				{
					info[0]+='?';
				}
				info[0]+=info[1];
			}
			info[1]=null;
			http.open('GET', info[0], true);
		} else
		{
			http.open('POST', info[0], true);
			http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
			http.setRequestHeader('Content-length', info[1].length);
		}
		http.send(info[1]);
	}
}

function ajax_query(url,vars,state_func,method,guides)
{
	if(vars)
	{
		if(typeof(vars)=='object')
		{
			var tmp='',p=false;
			for(x in vars)
			{
				if(x)
				{
					tmp+='&';
				} else
				{
					x=true;
				}
				tmp+=x+'='+vars[x];
			}
			vars = tmp;
		}
	} else
	{
		vars = '';
	}
	ajax_tail.push([url,vars,state_func,method,guides]);
	if(method)
	{
		method = method.toUpperCase();
	} else
	{
		method = 'GET';
	}
	if(ajax_tail.length==1)
	{
		do_next_query();
	}
}


function Select_opt(id, span)
{
	var num=document.getElementById(id).selectedIndex;
	var selected=document.getElementById(id).options[num].innerHTML;
	document.getElementById(span).innerHTML=selected;
}

function View_first(id, span)
{	
	var selected=document.getElementById(id).options[0].innerHTML;
	document.getElementById(span).innerHTML=selected;
}

function display_more()
{

	if(document.getElementById('advanced_search').style.display=='block')
	{
		document.getElementById('advanced_search').style.display='none';
		document.getElementById('search').className='search';
		
	}else
	{
		document.getElementById('advanced_search').style.display='block';
		document.getElementById('search').className='search more';
	}
}
 
function span_hover(span_id)
{
	
	if(document.getElementById(span_id).className=="small")
	{
		document.getElementById(span_id).className='select_up_small';
	}else
	{
		document.getElementById(span_id).className='select_up';
	}
	//alert(document.getElementById(span_id).className);
}
function span_hover_remove(span_id)
{
		if(document.getElementById(span_id).className=="select_up_small")
	{
		document.getElementById(span_id).className='small';
	}else
	{
		document.getElementById(span_id).className='';
	}
}
function view_models(span_name)
{
	var id=document.getElementById('search_mark').value;
	type=document.getElementById('search_type').value;
	document.getElementById('span_model').innerHTML='Всички модели';
	ajax_query('/?ajax=1', 'id='+id+'&type='+type, display_models, 'POST', span_name);
}

function display_models(succ, object_info, cfg)
{
		var str=object_info;
		var result=str.split( '||' );
		
		document.getElementById(cfg).length = 1;
		for(var x=0; x<result.length-1; x++ )
		{
			var opt=result[x].split( '&&' );
			
			document.getElementById(cfg).options[x+1]=new Option(opt[1], opt[0]);
		}
}


function view_models_2(span_name)
{	
	
	var id=document.getElementById('request_search_mark').value;
	var type=document.getElementById('request_search_type').value;
	document.getElementById('request_span_model').innerHTML='Всички модели';
	ajax_query('/?ajax=1', 'id='+id+'&type='+type, display_models_2, 'POST', span_name);
	
	
}

function display_models_2(succ, object_info, cfg)
{
		var str=object_info;
		var result=str.split( '||' );
		document.getElementById(cfg).length = 1;
		for(var x=0; x<result.length-1; x++ )
		{
			var opt=result[x].split( '&&' );
			
			document.getElementById(cfg).options[x+1]=new Option(opt[1], opt[0]);
		}
}

function view_marks(span_name,  cat)
{
	var type=document.getElementById('search_type').value;
	if(type==1 || type==4)
	{
		document.getElementById('car_checks').style.display='block';
		document.getElementById('bike_checks').style.display='none';
		document.getElementById('caravan_checks').style.display='none';
		document.getElementById('heat').style.display='none';
		document.getElementById('cooler').style.display='none';
		document.getElementById('conditioner').style.display='none';
		document.getElementById('wc').style.display='none';
		document.getElementById('hang').style.display='block';
		document.getElementById('cubics_from').style.display='block';
		document.getElementById('cubics_to').style.display='block';
		document.getElementById('bike_cubics_from').style.display='none';
		document.getElementById('bike_cubics_to').style.display='none';
		
	}else if(type==2)
	{
		document.getElementById('car_checks').style.display='none';
		document.getElementById('bike_checks').style.display='block';
		document.getElementById('caravan_checks').style.display='none';
		document.getElementById('hang').style.display='none';
		document.getElementById('cooler').style.display='none';
		document.getElementById('conditioner').style.display='none';
		document.getElementById('wc').style.display='none';
		document.getElementById('heat').style.display='block';
		document.getElementById('cubics_from').style.display='none';
		document.getElementById('cubics_to').style.display='none';
		document.getElementById('bike_cubics_from').style.display='block';
		document.getElementById('bike_cubics_to').style.display='block';
		
	}else if(type==3)
	{
		document.getElementById('car_checks').style.display='none';
		document.getElementById('bike_checks').style.display='none';
		document.getElementById('caravan_checks').style.display='block';
		document.getElementById('hang').style.display='none';
		document.getElementById('heat').style.display='none';
		document.getElementById('conditioner').style.display='block';
		document.getElementById('cooler').style.display='block';
		document.getElementById('wc').style.display='block';
		document.getElementById('cubics_from').style.display='none';
		document.getElementById('cubics_to').style.display='none';
		document.getElementById('bike_cubics_from').style.display='none';
		document.getElementById('bike_cubics_to').style.display='none';

	}
	document.getElementById('span_mark').innerHTML='Всички марки';
	document.getElementById('span_cat').innerHTML='Всички категории';
	ajax_query('/?ajax=3', 'type='+type, display_marks, 'POST', [span_name, cat] );
}

function display_marks(succ, object_info, cfg)
{
		
		var str=object_info;
		var resulta=str.split( '$$' );
		var result=resulta[0].split( '||' );
		document.getElementById(cfg[0]).length = 1;
		for(var x=0; x<result.length-1; x++ )
		{
			var opt=result[x].split( '&&' );
			
			document.getElementById(cfg[0]).options[x+1]=new Option(opt[1], opt[0]);
		}
		
		var result2=resulta[1].split( '||' );
		document.getElementById(cfg[1]).length = 1;
		for(var x=0; x<result2.length-1; x++ )
		{
			var opt=result2[x].split( '&&' );
			
			document.getElementById(cfg[1]).options[x+1]=new Option(opt[1], opt[0]);
		}
}

function view_marks_2(span_name)
{
	var type=document.getElementById('request_search_type').value;
	document.getElementById('request_span_mark').innerHTML='Всички марки';
	ajax_query('/?ajax=3', 'type='+type, display_marks_2, 'POST', span_name);
}

function display_marks_2(succ, object_info, cfg)
{
		var str=object_info;
		var result=str.split( '||' );
		
		document.getElementById(cfg).length = 1;
		for(var x=0; x<result.length-1; x++ )
		{
			var opt=result[x].split( '&&' );
			
			document.getElementById(cfg).options[x+1]=new Option(opt[1], opt[0]);
		}
}


function compare(ch)
{
	var num=document.getElementById('compare'+ch).selectedIndex;
	var selected=document.getElementById('compare'+ch).options[num].value;
	//alert(selected);
	Select_opt('compare'+ch, 'span_compare'+ch);
	if(selected!=0)
	{
		ajax_query('/?ajax=2', 'id='+selected, display_compare, 'POST', [ch, selected]);
	}else if(selected==0)
	{
		document.getElementById('price'+ch).innerHTML='Моля изберете кола за сравнение'; //cena
		document.getElementById('data'+ch).innerHTML=''; //danni
		document.getElementById('more'+ch).innerHTML=''; //more
		document.getElementById('seller'+ch).innerHTML=''; //seller
		document.getElementById('details'+ch).innerHTML=''; //details
		document.getElementById('pic'+ch).innerHTML='';	

	}
}

function display_compare(succ, object_info, cfg)
{
	var img;
	var result=String(object_info).split( '||' );
	if(result[0]!=0)
	{
		document.getElementById('price'+cfg[0]).innerHTML=result[0]+' лв.'; //cena
	}else
	{
		document.getElementById('price'+cfg[0]).innerHTML='По договаряне'; //cena
	}
	document.getElementById('data'+cfg[0]).innerHTML=result[1]; //danni
	document.getElementById('more'+cfg[0]).innerHTML=result[2]; //more
	document.getElementById('seller'+cfg[0]).innerHTML=result[3]; //seller
	document.getElementById('details'+cfg[0]).innerHTML=result[4]; //details
	//document.getElementById('pic'+ch).innerHTML='';
	var car_type=String(cfg[1]).split( '/' );
	if(car_type[1]==1)
	{
		var pic='/photos/cars/'+car_type[0]+'/1_t3.jpg';
	}else if(car_type[1]==2)
	{
		var pic='/photos/bikes/'+car_type[0]+'/1_t3.jpg';
	}else if(car_type[1]==3)
	{
		var pic='/photos/karavans/'+car_type[0]+'/1_t3.jpg';
	}else if(car_type[1]==4)
	{
		var pic='/photos/jeeps/'+car_type[0]+'/1_t3.jpg';
	}
	
	
	if((img = document.getElementById('pix'+cfg[0])))
	{
		img.setAttribute('src', pic);
	} else
	{
		img = document.createElement('IMG');
		img.setAttribute('src', pic);
		img.setAttribute('id', 'pix'+cfg[0]);
		document.getElementById('pic'+cfg[0]).appendChild(img);
	}
}
	
function show_pix(num)
{
	var old=String(document.getElementById('car_main_pic').src).split('_');
	var new_pic=String(document.getElementById('car_'+num).src).split('_');
	document.getElementById('car_main_pic').src=new_pic[0]+'_t1.jpg';
	document.getElementById('car_main').href=new_pic[0]+'.jpg';
	document.getElementById('car_'+num).src=old[0]+'_t2.jpg';
}

function search()
{
	//alert('aaaaaaaaaa');
	if(document.getElementById('search_type').selectedIndex==0)
	{
		document.getElementById('span_type').className='warn';
		//alert(document.getElementById('span_type').className);
		return false;
	}
	
}

function friend()
{
	
	if(document.getElementById('send_friend').style.display=='block')
	{
		document.getElementById('send_friend').style.display='none';
		
	}else
	{
		document.getElementById('send_friend').style.display='block';
	}
}
