//**********************************************************************************************************
function getConfigurationsGallery(containerDiv){
	$.post('../include/configurations.php', { mtd: 'getConfigurationsGallery', containerDiv: containerDiv },
	function(data){
		$('#'+containerDiv).empty();
		$('#'+containerDiv).append(data);
		$('#'+containerDiv).append('<input name="configurationsGalleryContainer" type="hidden" id="configurationsGalleryContainer" value="'+containerDiv+'" />');
	});
	return false;
}
//**********************************************************************************************************
function pagerConfigurationsGallery(srt, rpp, page){
	addLoader('#configurationGallerySearchStatusDiv');
	if(rpp != $('#cg_rp').val()){
		page = 1;
	}
	$('#cg_rp').val(rpp);
	$('#cg_rpp').val(rpp);
	$('#cg_page').val(page);
	$('#cg_srt').val(srt);
	$.post('../include/configurations.php', { mtd: 'configurationsGalleryPager', srt: srt, rpp: rpp, page: page, srch: $('#searchConfigurationsGallery').val() },
	function(data){
		$('#configurationsGalleryContent').fadeOut(300, function(){
			$('#configurationsGalleryContent').empty();
			$('#configurationsGalleryContent').prepend(data).fadeIn(300, function(){
				fadeOutLoader('#configurationGallerySearchStatusDiv');
			});
		});
	});
	return false;
}
//**********************************************************************************************************
function getConfigurationsModule(containerDiv){
	$.post('../include/configurations.php', { mtd: 'getConfigurationsModule', containerDiv: containerDiv },
	function(data){
		$('#'+containerDiv).empty();
		$('#'+containerDiv).append(data);
		$('#'+containerDiv).append('<input name="configurationsContainer" type="hidden" id="configurationsContainer" value="'+containerDiv+'" />');
		$('#configurationsListContentDiv').animate({ 
			height: '650px'
		}, 500 );
	});
	return false;
}
//**********************************************************************************************************
function getConfigurationsList(){
	$('#configurationsListContent').empty();
	addLoader('#configurationsListContent');
	$.post('../include/configurations.php', { mtd: 'getConfigurationsList' },
	function(data){
		$('#configurationsListContent').empty();
		$('#configurationsListContent').append(data);
	});
	return false;
}
//**********************************************************************************************************
function pagerConfigurations(srt, rpp, page){
	addLoader('#configurationSearchStatusDiv');
	if(rpp != $('#c_rp').val()){
		page = 1;
	}
	$('#c_rp').val(rpp);
	$('#c_rpp').val(rpp);
	$('#c_page').val(page);
	$('#c_srt').val(srt);
	$.post('../include/configurations.php', { mtd: 'configurationsListPager', srt: srt, rpp: rpp, page: page, srch: $('#searchConfigurations').val() },
	function(data){
		$('#configurationsListContent').fadeOut(300, function(){
			$('#configurationsListContent').empty();
			$('#configurationsListContent').prepend(data).fadeIn(300, function(){
				if($('#mainEditConfigurationDiv').css('display') == 'none'){
					$('#configurationsListContentDiv').animate({ 
						height: '650px'
					}, 500 );
				}
				fadeOutLoader('#configurationSearchStatusDiv');
			});
		});
	});
	return false;
}
//**********************************************************************************************************
function editConfiguration(cid){
	if(cid != 'Add'){
		addLoader('#configurationRowLoadingStatusDiv'+cid);
	}
	$('#mainEditConfigurationDiv').empty();
	addLoader('#mainEditConfigurationDiv');
	if($('#mainEditConfigurationDiv').css('display') == 'none'){
		$('#mainEditConfigurationDiv').slideDown(500);
		$('#configurationsListContentDiv').animate({ 
			height: '400px'
		  }, 500 );
	}
	$.post('../include/configurations.php', { mtd: 'getConfigurationModule', cid: cid },
	function(data){
		$('#mainEditConfigurationDiv').empty();
		$('#mainEditConfigurationDiv').append(data);
		if(cid != 'Add' && $('#configurationImgUploadDiv_plan').css('display') != 'none'){
			initConfigurationImageUpload(cid, '_plan');
		}
		if(cid != 'Add' && $('#configurationImgUploadDiv_3d').css('display') != 'none'){
			initConfigurationImageUpload(cid, '_3d');
		}
		fadeOutLoader('#configurationRowLoadingStatusDiv'+cid);
	});
	return false;
}
//**********************************************************************************************************
function initConfigurationImageUpload(cid, type){
	upConfigurationImgBtn = initSwfUpload('configurationImageUploadBtn'+type, 'configurationImageUploadQueue'+type, 'configurationImageUploadCancelBtn'+type, 'u/psd/configurations/', 800, 800, 'yes', 150, 150, 'configurationImageAdded'+type, cid);
}
//**********************************************************************************************************
function configurationImageAdded_plan(data){
	configurationImageAdded(data, '_plan');
	return false;
}
//**********************************************************************************************************
function configurationImageAdded_3d(data){
	configurationImageAdded(data, '_3d');
	return false;
}
//**********************************************************************************************************
function configurationImageAdded(data, type){
	var dat = String(data).split(':');
	switch(dat[0]){
		case 'Success':
			switch(dat[1]){
				case 'SuccessfullyAddedConfigurationImage':
					var dims = scaleImgDims(dat[5], dat[6], 400, 800);
					var dim = dims.split(':');
					$('#configurationImgUploadDiv'+type).hide();
					$('#ConfigurationImg'+type).attr('src', 'u/psd/configurations/'+dat[4]);
					$('#ConfigurationImg'+type).attr('width', dim[0]);
					$('#ConfigurationImg'+type).attr('height', dim[1]);
					$('#ConfigurationImg'+type).show();
					$('#configurationImgDiv'+type).show();
					$('#remConfigurationImgBtn'+type).show();
					showResponse(dat[3]);
				break;
			}
		break;
		case 'Failure':
			switch(dat[1]){
				case 'NoConfigurationToAddImageTo':
					showResponse(dat[3]);
				break;
			}
		break;
		default:
			alert('An error occured: '+data);
		break;
	}
	return false;
}
//**********************************************************************************************************
function remConfigurationImage(type){
	addLoader('#configurationLoader');
	$.post('../include/configurations.php', { mtd: 'remConfigurationImage', cid: $('#cid').val(), type: type },
	function(data){
		var dat = data.split(':');
		switch(dat[0]){
			case 'Success':
				switch(dat[1]){
					case 'SuccessfullyRemovedConfigurationImg':
						$('#ConfigurationImg'+type).attr('src', 'graphics/noimg.png');
						$('#ConfigurationImg'+type).attr('width', 96);
						$('#ConfigurationImg'+type).attr('height', 96);
						$('#ConfigurationImg'+type).hide();
						$('#remConfigurationImgBtn'+type).hide();
						$('#configurationImgUploadDiv'+type).show();
						try{
							initConfigurationImageUpload($('#cid').val(), type);
						}catch(ex){}
					break;
				}
			break;
			case 'Failure':
				switch(dat[1]){
					case 'NoConfigurationImage':
					case 'ConfigurationNotFound':
						showResponse(dat[3]);
					break;
				}
			break;
			default:
				alert('An error occured: '+data);
			break;
		}
		fadeOutLoader('#configurationLoader');
	});
	return false;
}
//**********************************************************************************************************
function validateConfiguration(doBlink){
	if($('#configurationFields').val()==undefined){

	}else{
		var missingInfo = false;
		var configurationFields = String($('#configurationFields').val()).split(':');	
		for(var i=1; i < configurationFields.length; i = i + 5){
			if(configurationFields[(i+3)]=='true'){
				switch(configurationFields[(i+2)]){
					case 'hidden':
					case 'textbox':
					case 'textarea':
						if($('#'+configurationFields[i]).val()==''){
							missingInfo = true;
						}
					break;
					case 'numeric':
						if(parseFloat($('#'+configurationFields[i]).val())<=0 || parseFloat($('#'+configurationFields[i]).val()).toString()=='NaN'){
							missingInfo = true;
						}
					break;
					case 'dropdown':
					case 'dropdownVal':
						if($('#'+configurationFields[i]).val()=='' || $('#'+configurationFields[i]).val()=='-10'){
							missingInfo = true;
						}
					break;
					case 'dropdownText':
						if($('#'+configurationFields[i]+' :selected').text()==''){
							missingInfo = true;
						}
					break;
				}
			}
		}
		//***********************/
		if(missingInfo == false){
			var newStatus = '';
			if(doBlink=='no'){
				newStatus = 'Active';
			}else{
				newStatus = 'InActive';
				$('#configurationsSaveBtn').attr('disabled', '');
			}
			if($('#configurationEditStatus').val() != newStatus){
				$('#configurationEditStatus').val(newStatus);
				$('#configurationEditStatusDiv').flashembed(
					{src: '../flex/StatusLight/StatusLight.swf', wmode: 'transparent'},
					{CurrentStatus: $('#configurationEditStatus').val(), doBlink: doBlink }
				);
			}
		}else{
			if($('#configurationEditStatus').val()!='NotReady'){
				$('#configurationEditStatus').val('NotReady');
				$('#configurationEditStatusDiv').flashembed(
					{src: '../flex/StatusLight/StatusLight.swf', wmode: 'transparent'},
					{CurrentStatus: $('#configurationEditStatus').val(), doBlink: doBlink }
				);
			}
			$('#configurationsSaveBtn').attr('disabled', 'diabled');
		}
	}
	return false;
}
//***************************************************************************
function saveConfiguration(){
	if($('#configurationsSaveBtn').attr('disabled')==false){
		$('#configurationsSaveBtn').attr('disabled', 'disabled');
		addLoader('#configurationLoader');
		var configurationFields = $('#configurationFields').val().split(':');
		var c = Array();
		var v = Array();
		for(var i = 1; i < configurationFields.length; i = i + 5){
			switch(configurationFields[(i+2)]){
				case 'hidden':
				case 'textbox':
				case 'textarea':
				case 'numeric':
				case 'dropdown':
				case 'dropdownVal':
					c.push(configurationFields[(i+1)]);
					v.push($('#'+configurationFields[i]).val());
				break;
				case 'dropdownText':
					c.push(configurationFields[(i+1)]);
					v.push($('#'+configurationFields[i]+' :selected').text());
				break;
			}
		}
		$.post('../include/configurations.php', { mtd: 'saveConfiguration', cid: $('#cid').val(), c: c.join(':'), v: v.join(':||:') },
		function(data){
			var doBlink = 'no';
			var dat = data.split(':');
			switch(dat[0]){
				case 'Success':
					switch(dat[1]){
						case 'Added':
							$('#cid').val(dat[2]);
							$('#configurationImgUploadDiv').show();
							initConfigurationImageUpload(dat[2], '_plan');
							initConfigurationImageUpload(dat[2], '_3d');
						case 'Updated':
							$('#configurationEditStatus').val('Active');
							pagerConfigurations($('#c_srt').val(), $('#c_rpp').val(), $('#c_page').val());
							//getConfigurationsList();
						break;
					}
				break;
				case 'Failure':
				default:
					switch(dat[1]){
						case 'AccessDenied':
						case 'NoMethodRequested':
							$('#configurationEditStatus').val('NotReady');
							doBlink = 'yes';
							alert(dat[3]);
						break;
						default:
							$('#configurationEditStatus').val('NotReady');
							doBlink = 'yes';
							alert('An error occured while saving: '+data);
						break;
					}
				break;
			}
			$('#configurationEditStatusDiv').flashembed(
				{src: '../flex/StatusLight/StatusLight.swf', wmode: 'transparent'},
				{CurrentStatus: $('#configurationEditStatus').val(), doBlink: doBlink }
			);
			fadeOutLoader('#configurationLoader');
		});
	}
	return false;
}
//**********************************************************************************************************
function remConfiguration(row){
	addLoader('#configurationRowLoadingStatusDiv'+row);
	var rem = confirm('Are you sure that you want to remove this Configuration?');
	if(rem != true){
		fadeOutLoader('#configurationRowLoadingStatusDiv'+row);
		return false;
	}
	$.post('../include/configurations.php', { mtd: 'remConfiguration', cid: $('#cid'+row).val() },
	function(data){
		var doBlink = 'no';
		var dat = data.split(':');
		switch(dat[0]){
			case 'Success':
				switch(dat[1]){
					case 'Removed':
						fadeOutLoader('#configurationRowLoadingStatusDiv'+row);
						$('#configurationsRow'+row).remove();
						return false;
					break;
				}
			break;
			case 'Failure':
				switch(dat[1]){
					case 'AccessDenied':
					case 'InUse':
						alert(dat[2]);
					break;
					default:
						alert('An error occured while saving: '+data);
					break;
				}
			break;
			default:
				alert('An error occured while saving: '+data);
			break;
		}
		fadeOutLoader('#configurationRowLoadingStatusDiv'+row);
	});
	return false;
}
//***************************************************************************

