function moreless()
{
	if($('advancedSearchContainer').style.display == "block") {
		$('advancedSearchContainer').style.display = "none";
		$('moreLink').style.display = "inline";
		$('lessLink').style.display = "none";
	} else {
		$('advancedSearchContainer').style.display = "block";
		$('moreLink').style.display = "none";
		$('lessLink').style.display = "inline";
	}
}

function doTri(element)
{
	var url = location.href;
	var servlet = url.substring(url.lastIndexOf('/')+1, 0);
	var params = url.substring(url.lastIndexOf('/')+1, url.length);
	var newParams = "?";
	
	params = params.replace(new RegExp('\\?', 'gi'), '');
	
	//alert(url);
	//alert(servlet);
	//alert("params = "+params);
	
	if(params != '') {
		var reg = new RegExp("[&]+", "g");
		var regNV = new RegExp("[=]+", "g");
		
		var nameValue = params.split(reg);
		for (var i=0; i<nameValue.length; i++) {
			// alert("name value = "+ nameValue[i]);
			var nv = nameValue[i].split(regNV);
			if(nv[0] != 'start' && nv[0] != 'sort') {
				if(nv[1] != null) {
					newParams += nv[0]+"="+nv[1]+"&";
				} else {
					newParams += nv[0]+"="+""+"&";
				}
			}
		}
	}
	
	window.location.href = servlet + newParams + 'sort='+element.value;
}

function doTimeframe(element)
{
	var url = location.href;
	var servlet = url.substring(url.lastIndexOf('/')+1, 0);
	var params = url.substring(url.lastIndexOf('/')+1, url.length);
	var newParams = "?";
	
	params = params.replace(new RegExp('\\?', 'gi'), '');
	
	//alert(url);
	//alert(servlet);
	//alert("params = "+params);
	
	if(params != '') {
		var reg = new RegExp("[&]+", "g");
		var regNV = new RegExp("[=]+", "g");
		
		var nameValue = params.split(reg);
		for (var i=0; i<nameValue.length; i++) {
			// alert("name value = "+ nameValue[i]);
			var nv = nameValue[i].split(regNV);
			if(nv[0] != 'start' && nv[0] != 'timeframe') {
				if(nv[1] != null) {
					newParams += nv[0]+"="+nv[1]+"&";
				} else {
					newParams += nv[0]+"="+""+"&";
				}
			}
		}
	}
	
	window.location.href = servlet + newParams + 'timeframe='+element.value;
}

function deleteFilters(filters)
{
	var url = location.href;
	var servlet = url.substring(url.lastIndexOf('/')+1, 0);
	var params = url.substring(url.lastIndexOf('/')+1, url.length);
	var newParams = "?";
	
	params = params.replace(new RegExp('\\?', 'gi'), '');
	
	//alert(url);
	//alert(servlet);
	//alert("params = "+params);
	
	if(params != '') {
		var reg = new RegExp("[&]+", "g");
		var regNV = new RegExp("[=]+", "g");
		
		var nameValue = params.split(reg);
		for (var i=0; i<nameValue.length; i++) {
			// alert("name value = "+ nameValue[i]);
			var nv = nameValue[i].split(regNV);
			var toDelete = 0;
			for(var j=0; j<filters.length; j++) {
				if(nv[0] == filters[j]) {
					toDelete = 1;
				}
			}
			if(toDelete == 0) {
				if(nv[1] != null) {
					newParams += nv[0]+"="+nv[1]+"&";
				} else {
					newParams += nv[0]+"="+""+"&";
				}
			}
		}
	}
	
	//alert(servlet + newParams);
	window.location.href = servlet + newParams;
}

/** 
 * utility function to help positionning on a option element of a select element
 * by using the value of the option element
 *
 */

indicateSelected = function(element, value)
{
	var i;
	for (i=0; i<element.childNodes.length; i++) {
		// if match found between form element value and cookie value
		if (element.childNodes[i].value == value) { 
			//if this is a select menu
			if (element.childNodes[i].tagName == "OPTION") 
				element.childNodes[i].selected = true
			else //else if it's a radio button
				element.childNodes[i].checked = true
			break
		}
	}
}

function txtBlur(ele, act, defaultVal)
{  
	if (act == "b") {          
		ele.value = ele.value.replace(/^\s+/,'');          
		ele.value = ele.value.replace(/\s+$/,'');          
			if (ele.value=="") {            
				ele.value=defaultVal; 
				ele.className += " grytxt";          
			}        
	} else if (act == "f" && ele.value == defaultVal) {		
		ele.value=""; 
		ele.className = ele.className.replace(/grytxt/, '');	
	}
}

function display(img, el)
{
	document.getElementById("viewer").setAttribute("src", img);
	//document.getElementsByClassName("activeThumb")[0].className = "thumb";
	$(".activeThumb").attr("class", "thumb");
	el.className = "activeThumb";
}

function fillDependentSelect(source, target, datasource)
{
	try {
		//var id = $(source)[0].options[$(source)[0].selectedIndex].value;
		var mods = eval(datasource);
		//console.dir(mods);
	
		//$(target)[0].innerHTML = "<option value=''>Tout</option>";
		var options = "<option value=''> ... </option>";
		for(var i=0; i<mods.length; i++) {
			//alert(mods[i]);
			//console.info(mods[i]);
			/*
			var el = document.createElement("option");
			el.setAttribute('value', mods[i]["id"]);
			el.appendChild(document.createTextNode(mods[i]["name"]));
			$(target)[0].appendChild(el);
			*/
			options += "<option style='background-color:#FFF' value='"+mods[i]["id"]+"'>"+mods[i]["name"]+"</option>";
		}
		$(target).html(options);
	} catch(e) {
		console.dir(e);
	}
}

window.onload = function(e) 
{
	//$("#home-what").focus();
	
	/*
	$("input#home-where").autocomplete(
										"/formWizard/autocompleteLocation", 
										{
											minChars:3,
											timeout:300,
											validSelection:false,
											parameters:{
												'countryId':$("#countryId").val()
											}
										}
									);
	*/
	//$("input#city").autocomplete("/formWizard/autocompleteCity", {minChars:3,timeout:1000,validSelection:false,parameters:{'countryId':$("#countryId")[0].value},before : function(input,text) {},after : function(input,text) {}});

	
	if($('region') != null) {
	$('region').onchange = function ()
	{
		$('city').setAttribute("disabled", "true");
		var url = '/account/formWizard?ACTION=dependantSelect&type=region_city&regionId=' + $('region').options[$('region').selectedIndex].value;;
		var datasource;
		
		new Ajax.Request(url, {
		  method: 'get',
		  onComplete: function(originalRequest) {
				datasource = eval(originalRequest.responseText);	
				fillDependentSelect('region', 'city', datasource);
				$('city').removeAttribute("disabled");
			}
		});
		
	}
	}
	
	
	if($('make') != null) {
		$('make').onchange = function ()
		{
			try {
			var url = '/account/formWizard?ACTION=dependantSelect&type=make_model&makeId=' + $('make').options[$('make').selectedIndex].value;
			var datasource;
			
				new Ajax.Request(url, {
				  method: 'get',
				  onComplete: function(originalRequest) {
						datasource = eval(originalRequest.responseText);	
						fillDependentSelect('make', 'model', datasource);
					}
				});
			} catch(e) { console.dir(e); }
			
		}
	}
	
	if($('city') != null) {
		
		$('city').onchange = function ()
		{
			try {
				var city = "";
				var country = "";
				
				var cityValue = $('city').options[$('city').selectedIndex].innerHTML;
				var url = ""+document.location;
				
				// detecting city
				var firstCountryCityIndex = url.indexOf("cinase.com/")+"cinase.com/".length;
				var endCountryCityIndex = url.indexOf("/", firstCountryCityIndex);
				if(firstCountryCityIndex > 0 && endCountryCityIndex > 0) {
					var countryCity = url.substring(firstCountryCityIndex, endCountryCityIndex);
					var dashIndex = countryCity.indexOf("-");
					if(dashIndex > 0) {
						city = countryCity.substring(dashIndex+1);
						country = countryCity.substring(0, dashIndex);
					} else {
						country = countryCity;
					}
				}
				
				if(cityValue != 'Tout') {
					if(city != null && city != '') {
						$('searchForm').action = url.replace(city, escape(cityValue))+"search";
					} else {
						$('searchForm').action = url.replace(country, country+'-'+escape(cityValue))+"search";
					}
				} else {
					$('searchForm').action = url.replace('-'+city, '')+"search";
				}
			} catch(e) { console.dir(e); }
		}
	}
	
	// addAdCountryField
	if($('#addAdCountryField') != null) {
		$('#addAdCountryField').change( function ()
		{
				//alert('on change');
				try {
					var url = 'formWizard?ACTION=dependantSelect&type=country_city&countryId=' + $('#addAdCountryField')[0].options[$('#addAdCountryField')[0].selectedIndex].value;
					var datasource;
					
					/*
					new Ajax.Request(url, {
					  method: 'get',
					  onComplete: function(originalRequest) {
							datasource = eval(originalRequest.responseText);	
							fillDependentSelect('#addAdCountryField', '#addAdCityField', datasource);
						}
					});
					*/
					
					$.get(url, 
							  function(data){
								fillDependentSelect('#addAdCountryField', '#addAdCityField', data);
							  });
				} catch(e) { console.dir(e); }
				
			
		});
	}
	
	
	// addAdCountryField
	if($('#addAdMakeField') != null) {
		$('#addAdMakeField').change( function ()
		{
				//alert('on change');
				try {
					var url = '/account/formWizard/autofillModel?typeId=' + $('#vehicleTypeField').val() + '&makeId=' + $('#addAdMakeField')[0].options[$('#addAdMakeField')[0].selectedIndex].value;
					var datasource;
					
					/*
					new Ajax.Request(url, {
					  method: 'get',
					  onComplete: function(originalRequest) {
							datasource = eval(originalRequest.responseText);	
							fillDependentSelect('#addAdCountryField', '#addAdCityField', datasource);
						}
					});
					*/
					
					$.get(url, 
							  function(data){
								fillDependentSelect('#addAdMakeField', '#addAdModelField', data);
							  });
				} catch(e) { console.dir(e); }
				
			
		});
	}
	
	if($('#vehicleTypeField') != null) {
		$('#vehicleTypeField').change( function ()
		{
				//alert('on change');
				try {
					var url = '/account/formWizard/autofillBodyStyle?typeId=' + $('#vehicleTypeField')[0].options[$('#vehicleTypeField')[0].selectedIndex].value;
					var datasource;
					
					
					$.get(url, 
							  function(data){
								fillDependentSelect('#vehicleTypeField', '#bodyStyleField', data);
							  });
				} catch(e) { console.dir(e); }
				
				try {
					var url = '/account/formWizard/autofillMake?typeId=' + $('#vehicleTypeField')[0].options[$('#vehicleTypeField')[0].selectedIndex].value;
					var datasource;
					
					
					$.get(url, 
							  function(data){
								fillDependentSelect('#vehicleTypeField', '#addAdMakeField', data);
							  });
				} catch(e) { console.dir(e); }
				
				$("#addAdModelField").empty();
			
		});
	}
	
	// 
	if($('#qHousing')[0] != null) {
		alert("exist");
		$('#qHousing')[0].value = 'Enter Keywords (e.g., java, sales, nursing)';
		$('#qHousing').focus( function ()
		{
			alert("focus");
			txtBlur(this, 'f', 'Enter Keywords (e.g., java, sales, nursing)');
		});
		
		$('#qHousing').blur( function ()
		{
			txtBlur(this, 'b', 'Enter Keywords (e.g., java, sales, nursing)');
		});


	}
	
	$(".formErrorField").keypress(
		function(evt){
			this.className = "formField";
		}
	);
	
	$(".formErrorField").change(
		function(evt){
			this.className = "formField";
		}
	);
	
	$("#accountType").change(
			/*
			function(evt){
				if(this.value == 1) {
					$("#personName")[0].style.display = "block";
					$("#organization")[0].style.display = "none";
				} else if(this.value == 2) {
					$("#organization")[0].style.display = "block";
					$("#personName")[0].style.display = "none";
				}
			}
			*/
			function(evt){
				if(this.value == 1) {
					$("#organization")[0].style.display = "none";
					$("#moreinfos")[0].style.display = "none";
				} else {
					$("#organization")[0].style.display = "block";
					$("#moreinfos")[0].style.display = "block";
				}
			}
		);
	
	
	////////////
	
	/*
	$(document).ready(function() {
		document.domain = "cinase.ma";
		try {
			alert("test");
			var url = 'http://fr.cinase.ma/sessionInfos';
			
			$.get(url, 
					  function(data){
						$('#sessionInfosContainer').html(data);
					  });
		} catch(e) { console.dir(e); }
	});
	*/
	
	
}

$(document).ready(function(){
	
	try {
	$("#langContainer").tabs();
	
	$(".numeric").keydown(
	    function(evt)
    	{
        	//applyNumbersMask(this, 6);
        	return onKeyDownPerformed(evt);
    		//return false; 
    	}
    );

	$(".numeric").keyup(
   	    function(evt)
	    	{
	        	return onKeyUpPerformed(evt);
	    	}
	);
	} catch(e) {}
});

function deleteImage(id)
{
	// imageUploader?id='+image.id
	$('#container_'+id).remove();
}

$(document).ready(function() {
	
	try {
	new Ajax_upload('#mainImageUploadButton', 
					{ 
						action: '/imageUpload',
						name: 'file',
						data: {
						    type : 'vehicles'
						  },
						onSubmit: function(file , ext) { 
									this.disable();
									if (! (ext && /^(jpg|png|jpeg|gif)$/.test(ext))){
										alert('Error: invalid file extension');
										this.enable();
										return false; // cancel upload
									}
									$("#mainImage").html("<img src='/imgs/icons/upload/indicator.gif'/> Chargement en cours ...");
						},
						onComplete: function(file, response) { 
										this.enable();
										//$('#mainImage').innerHTML = "";
										$("#mainImage").text("");
										var image = eval("(" + response + ")");

										var content = '';
										content += '<div id="container_'+image.id+'">';
										content += '<table style="border-bottom: 1px dashed #CCC;" width="100%" cellpadding="3" cellspacing="2"><tr>';
										content += '<td><img src="/imgs/icons/upload/image.gif" align="top"/>&nbsp;<a style="text-decoration:none;" href="'+image.url+'">' + image.fileName + '</a></td>';
										content += '<td align="right"><a href="javascript:deleteImage('+image.id+')"><img src="/imgs/icons/upload/delete.png" align="top"/></a></td>';
										content += '</tr></table>';
										content += '<input type="hidden" name="mainImageId" value="' + image.id + '"/>';
										content += '<input type="hidden" name="mainImageUrl" value="' + image.url + '"/>';
										content += '<input type="hidden" name="mainImageName" value="' + image.fileName + '"/>';
										content += '</div>';

										$('#mainImage').append(content);
										//$('#mainImage').append('<div id="container_'+image.id+'"><table style="border-bottom: 1px dashed #CCC;" width="100%" cellpadding="3" cellspacing="2"><tr><td><img src="/imgs/icons/upload/image.gif" align="top"/>&nbsp;<a style="text-decoration:none;" href="'+image.url+'">' + image.fileName + '</a></td><td align="right"><a href="javascript:deleteImage('+image.id+')"><img src="/imgs/icons/upload/delete.png" align="top"/></a></td></tr></table><input type="hidden" name="mainImageId" value="' + image.id + '"/></div>');
						}
					}
	);

	new Ajax_upload('#additionalImagesUploadButton', 
			{ 
				action: '/imageUpload',
				name: 'file',
				data: {
				    type : 'vehicles'
				  },
				onSubmit: function(file , ext) { 
							this.disable();
							if (! (ext && /^(jpg|png|jpeg|gif)$/.test(ext))){
								alert('Error: invalid file extension');
								this.enable();
								return false; // cancel upload
							}
							//<div id="container_'+image.id+'">
							$("#additionalImages").append("<div id='loading_container' style='padding:2px;'><img src='/imgs/icons/upload/indicator.gif'/> Chargement en cours ...</div>");
				},
				onComplete: function(file, response) { 
								this.enable();
								$('#loading_container').remove();
								var image = eval("(" + response + ")");
								var content = '';
								content += '<div id="container_'+image.id+'">';
								content += '<table id="container_'+image.id+'" style="border-bottom: 1px dashed #CCC;" width="100%" cellpadding="3" cellspacing="2"><tr><td><img src="/imgs/icons/upload/image.gif" align="top"/>&nbsp;<a style="text-decoration:none;" href="'+image.url+'">' + image.fileName + '</a></td><td align="right"><a href="javascript:deleteImage('+image.id+')"><img src="/imgs/icons/upload/delete.png"  align="top"/></a></td></tr></table>';
								content += '<input type="hidden" name="additionalImagesIds" value="' + image.id + '">';
								content += '<input type="hidden" name="additionalImagesUrls" value="' + image.url + '"/>';
								content += '<input type="hidden" name="additionalImagesNames" value="' + image.fileName + '"/>';
								content += '</div>';
								$('#additionalImages').append(content);
				}
			}
);
	
	} catch(e) {}
	
	//alert("hello");
});


$(document).ready(function() {
	
	try {
	new Ajax_upload('#profileUploadButton', 
					{ 
						action: '/profileImageUpload',
						name: 'file',
						onSubmit: function(file , ext) { 
							this.disable();
							/*
							if (! (ext && /^(jpg|png|jpeg|gif)$/.test(ext))){
								alert('Error: invalid file extension');
								this.enable();
								return false; // cancel upload
							}
							$("#profileImage").css("background", "gray url(/imgs/icons/upload/bigloader.gif) no-repeat scroll 50%");
							*/
							//alert("begin");
							$("#profileImage").attr("src", "/imgs/icons/upload/bigloader.gif");
						},
						onComplete: function(file, response) { 
							this.enable();
							//$('#mainImage').innerHTML = "";
							var image = eval("(" + response + ")");
							//$("#profileImage").css("background", "white url("+image.url+") no-repeat scroll 50%");
							$("#profileImage").attr("src", image.url);
							//alert(image.id);
							$("#imageInputForm").val(image.id);
						}
					}
	);
	
	} catch(e) { }
});
