/*
 * main js functions ...
 *
 */

var demand = {

	data:             undefined,
	quick:            false,
	url:              null,
	selectedUse:      0,
	selectedService:  0,
	selectedMaterial: 0,
	lang: '/si',
	i18n_else: 'Drugo',
	i18n_choose_field: 'Izberi področje uporabe ...',
	i18n_choose_wide_field: 'Izberi ožje področje uporabe ...',
	i18n_choose_meterial: 'Izberi material  ...',
	i18n_js_else: 'Drugo',

	init: function(){

		$.getJSON(demand.lang+"/demand_data.js", demand.getData);

		$('#services > #other').hide();

		switch(demand.selectedService){
			case 0  : /*$('#services > select').hide();*/ break;
			case -1 : $('#services > #other').show(); break;
		}

		switch(demand.selectedMaterial){
			//case 0  : $('#materials').hide(); break;
			case 0  : $('#materials > #other').hide(); break;
			case -1 : $('#materials > #other').show(); break;
		}

		if (demand.selectedService != 0 &&
				demand.selectedUse     != 0
		){
			//console.log('pokazemo materialse ...');
			$('#materials').show();
			$('#materials > #other').hide();
		}

		if (demand.selectedUse      == 0 ||
				demand.selectedService  == 0 ||
				demand.selectedMaterial == 0
		){
			//$('#data').hide();
		}
	},

	getData: function(obj){

		demand.data = obj;

		/*
		 * uses ...
		 *
		 */
		$('#uses > select')
			.each(demand.fillUses)
			.change(function(){

				$('#other').hide();
				//$('#data').hide();
				//$('#materials').hide();
				$('#services > select').show();

				demand.selectedUse      = this.value;
				demand.selectedService  = 0;
				demand.selectedMaterial = 0;

				$('#services > select')
					.empty()
					.append('<option value="0">'+demand.i18n_choose_field+'</option>')
					.each(demand.fillServices)
					.append('<option value="-1">'+demand.i18n_else+'</option>')
					//.attr('value', demand.selectedService)
					.change(function(){
						if (demand.quick){
							$('#submit').show();
							if (demand.url != null){
								var tmp = demand.url;
								tmp += '?u=' + demand.selectedUse + '&s=' + this.value;
								$('#submit > .link > a').attr('href', tmp);
							}
						}
						if (this.value == '-1'){
							$('#other').show();
						}
					})
					.attr('value', demand.selectedService) // ff issues
					.find('option').each(function() {
						// ie issues
						$(this).attr('selected', this.value == demand.selectedService);
					});
			})
			.attr('value', demand.selectedUse) // ff issues
			.find('option').each(function() {
				// ie issues
				$(this).attr('selected', this.value == demand.selectedUse);
			});


		/*
		 * services ...
		 *
		 */
		$('#services > select')
			.append('<option value="0">'+demand.i18n_choose_wide_field+'</option>')
			.each(demand.fillServices)
			.append('<option value="-1">'+demand.i18n_else+'</option>')
			.change(function(){
				if (this.value != -1){
					$('#services > #other').hide();
				}
				//$('#materials').show();
				//$('#materials > #other').hide();
			})
			.attr('value', demand.selectedService) // ff issues
			.find('option').each(function() {
				// ie issues
				$(this).attr('selected', this.value == demand.selectedService);
			})

		/*
		 * materials ...
		 *
		 */
		$('#materials > select')
			.empty()
			.append('<option value="0">'+ demand.i18n_choose_material +'</option>')
			.each(demand.fillMaterials)
			.append('<option value="-1">'+ demand.i18n_js_else +'</option>')
			.change(function(){
				if (this.value == '-1'){
					$('#materials > #other').show();
				} else {
					$('#materials > #other').hide();
				}
				//$('#data').show();
			})
			.attr('value', demand.selectedMaterial) // ff issues
			.find('option').each(function() {
				// ie issues
				$(this).attr('selected', this.value == demand.selectedMaterial);
			})
	},

	fillUses: function(){
		for (var i = 0; i < demand.data.uses.length; i++){
			$(this).append('<option value="'+demand.data.uses[i].id+'">'+demand.data.uses[i].title+'</option>');
		}
	},

	fillServices: function(){

		if (demand.selectedUse != null && demand.data.services.length > 0){
			for (var i = 0; i < demand.data.services.length; i++){
				if (demand.data.services[i].f_id == demand.selectedUse){
					$(this).append('<option value="'+demand.data.services[i].id+'">'+demand.data.services[i].title+'</option>');
				}
			}
		}
	},

	fillMaterials: function(){
		for (var i = 0; i < demand.data.materials.length; i++){
			$(this).append('<option value="'+demand.data.materials[i].id+'">'+demand.data.materials[i].title+'</option>');
		}
	}
}
// Pier cutting edge technology web 3.0 ready !
function swapImage(me, img){
	me.src = img;
	return true;
}

