var shopImporter = {

	token: globalAjaxShopImporterToken,

	moduleName: $('#import_module_name').val(),

	server: $('#server').val(),

	user: $('#user').val(),

	password: $('#password').val(),

	database: $('#database').val(),

	prefix: $('#prefix').val(),

	url: $('#url').val(),

	loginws: $('#loginws').val(),

	apikey: $('#apikey').val(),

	specificOptions : '',

	imagesOptions : '',

	output : 1,

	hasErrors : 0,

	limit: 0,

	nbr_import: parseInt($('#nbr_import').val()),

	idMethod: 0,

	nbrMethod: 0,

	save : 0,

	srcError : '../modules/shopimporter/img/error.png',

	srcConf : '../modules/shopimporter/img/ok.png',

	srcImport : '../modules/shopimporter/img/ajax-loader.gif',

	srcWarn : '../modules/shopimporter/img/warn.png',

	srcDelete : '../modules/shopimporter/img/delete.gif',

	

	

	syncLangWS : function (onComplete)

	{

		$.ajax({

	       type: 'GET',

	       url: '../modules/shopimporter/ajax.php',

	       async: false,

	       cache: false,

	       dataType : "json",

	       data: 'ajax=true&syncLangWS&getMethod=getLangagues&token='+this.token+'&className=Language&moduleName='+this.moduleName+'&url='+this.url+'&loginws='+this.loginws+'&apikey='+this.apikey+'&nbr_import='+this.nbr_import ,

	       success: function (jsonData)

	       {

				if (jsonData.hasError)

	    		{

	    			$('#steps').html('<div id="lang_feedback" style="display:none;" class="error"><img src="'+shopImporter.srcError+'">'+jsonData.error+'</div>');

		    		$('#lang_feedback').fadeIn('slow');

		    		onComplete(false);

	    		}

	    		else

	    			onComplete(true);

	       },

	      error: function (XMLHttpRequest, textStatus, errorThrown) 

	       {

	       		$('#steps').html($('#steps').html()+'<div id="technical_error_feedback" style="display:none;" class="error"><img src="'+shopImporter.srcError+'">TECHNICAL ERROR<br><br>Details: '+XMLHttpRequest.responseText+'</div>');

	       		$('#technical_error_feedback').fadeIn('slow');

	       		onComplete(false);

	       }

	   });

	 

	},

	syncLang : function (onComplete)

	{

		$.ajax({

	       type: 'GET',

	       url: '../modules/shopimporter/ajax.php',

	       async: false,

	       cache: false,

	       dataType : "json",

	       data: 'ajax=true&syncLang&getMethod=getLangagues&token='+this.token+'&className=Language&moduleName='+this.moduleName+'&server='+this.server+'&user='+this.user+'&password='+this.password+'&database='+this.database+'&prefix='+prefix+this.specificOptions+'&nbr_import='+this.nbr_import ,

	       success: function (jsonData)

	       {

				if (jsonData.hasError)

	    		{

	    			$('#steps').html('<div id="lang_feedback" style="display:none;" class="error"><img src="'+shopImporter.srcError+'">'+jsonData.error+'</div>');

		    		$('#lang_feedback').fadeIn('slow');

		    		onComplete(false);

	    		}

	    		else

	    			onComplete(true);

	       },

	      error: function (XMLHttpRequest, textStatus, errorThrown) 

	       {

	       		$('#steps').html($('#steps').html()+'<div id="technical_error_feedback" style="display:none;" class="error"><img src="'+shopImporter.srcError+'">TECHNICAL ERROR<br><br>Details: '+XMLHttpRequest.responseText+'</div>');

	       		$('#technical_error_feedback').fadeIn('slow');

	       		onComplete(false);

	       }

	   });

	 

	},

	syncCurrencyWS : function (onComplete)

	{

		$.ajax({

	       type: 'GET',

	       url: '../modules/shopimporter/ajax.php',

	       async: false,

	       cache: false,

	       dataType : "json",

	       data: 'ajax=true&token='+this.token+'&syncCurrencyWS&getMethod=getCurrencies&className=Currency&moduleName='+this.moduleName+'&url='+this.url+'&loginws='+this.loginws+'&apikey='+this.apikey+'&nbr_import='+this.nbr_import ,

	       success: function (jsonData)

	       {

				if (jsonData.hasError)

	    		{

	    			$('#steps').html('<div id=\'currency_feedback\' style=\'display:none;\' class=\'error\'><img src=\''+shopImporter.srcError+'\'>'+jsonData.error+'</div>');

		    		$('#currency_feedback').fadeIn('slow');

					onComplete(false);

	    		}

	    		else

	    			onComplete(true);

	       },

	      error: function (XMLHttpRequest, textStatus, errorThrown) 

	       {

	       		$('#steps').html($('#steps').html()+'<div id="technical_error_feedback" style="display:none;" class="error"><img src="'+shopImporter.srcError+'">TECHNICAL ERROR<br><br>Details: '+XMLHttpRequest.responseText+'</div>');

	       		$('#technical_error_feedback').fadeIn('slow');

	       		onComplete(false);

	       }

	   });

	},

	syncCurrency : function (onComplete)

	{

		$.ajax({

	       type: 'GET',

	       url: '../modules/shopimporter/ajax.php',

	       async: false,

	       cache: false,

	       dataType : "json",

	       data: 'ajax=true&token='+this.token+'&syncCurrency&getMethod=getCurrencies&className=Currency&moduleName='+this.moduleName+'&server='+this.server+'&user='+this.user+'&password='+this.password+'&database='+this.database+'&prefix='+prefix+this.specificOptions+'&nbr_import='+this.nbr_import ,

	       success: function (jsonData)

	       {

				if (jsonData.hasError)

	    		{

	    			$('#steps').html('<div id="currency_feedback" style="display:none;" class="error"><img src="'+shopImporter.srcError+'">'+jsonData.error+'</div>');

		    		$('#currency_feedback').fadeIn('slow');

					onComplete(false);

	    		}

	    		else

	    			onComplete(true);

	       },

	      error: function (XMLHttpRequest, textStatus, errorThrown) 

	       {

	       		$('#steps').html($('#steps').html()+'<div id="technical_error_feedback" style="display:none;" class="error"><img src="'+shopImporter.srcError+'">TECHNICAL ERROR<br><br>Details: '+XMLHttpRequest.responseText+'</div>');

	       		$('#technical_error_feedback').fadeIn('slow');

	       		onComplete(false);

	       }

	   });

	 

	},

	checkAndSaveConfigWSDL : function (onComplete)

	{

		$('#checkAndSaveConfig').fadeOut('slow');

       	$('#steps').html($('#steps').html()+'<div id=\'database_feedback\' style=\'display:none;\' class=\'conf\'><img src=\''+shopImporter.srcConf+'\'>'+wsOk+'</div>');

    	$('#steps').html($('#steps').html()+'<input style=\'display:none\' type=\'submit\' name=\'next\' id=\'next\' class=\'button\' value="'+testImport+'">');

    	$('#next').fadeIn('slow', function () { 

	    	$('#next').unbind('click').click(function (){

				$('#next').fadeOut('fast', function () {

					shopImporter.nbrMethod = conf.length;

					shopImporter.getDatasWS(conf[shopImporter.idMethod]);

				});

				return false;

			});

		});

    	$('#database_feedback').fadeIn('slow');

	 

	},

	checkAndSaveConfigWS : function (save)

	{

		//sync languages and currency

		this.syncLangWS(function (isOk) {

			if (isOk)

			{

				shopImporter.syncCurrencyWS(function (isOk) {		

			       	if ($('#technical_error_feedback').length)

			       		$('#technical_error_feedback').fadeIn('slow');

			       

			       

				       	$('#checkAndSaveConfig').fadeOut('slow');

				       	$('#steps').html($('#steps').html()+'<div id=\'database_feedback\' style=\'display:none;\' class=\'conf\'><img src=\''+shopImporter.srcConf+'\'>'+databaseOk+'</div>');

				    	$('#steps').html($('#steps').html()+'<input style=\'display:none\' type=\'submit\' name=\'next\' id=\'next\' class=\'button\' value="'+testImport+'">');

				    	$('#database_feedback').fadeIn('slow', function () {

		    			if (save)

				    	{

				    		shopImporter.idMethod = 0;

				    		shopImporter.limit = 0;

				    		shopImporter.nbrMethod = conf.length;

				    		$('.truncateTable:checked').each(function (){ 

				    			shopImporter.truncatTable(this.id, 'add'); 

				    		});

							

							if($('#truncat_feedback').length != 0)

								$('#truncat_feedback').removeClass('import').addClass('conf');

							

				    		shopImporter.getDatasWS(conf[shopImporter.idMethod]);

				    	}

				    	else

				    	{

					    	$('#next').fadeIn('slow', function () { 

						    	$('#next').unbind('click').click(function (){

									$('#next').fadeOut('fast', function () {

										shopImporter.nbrMethod = conf.length;

										shopImporter.getDatasWS(conf[shopImporter.idMethod]);

									});

									

								});

							});

						}

			    	});

				});

			}

		});

	},

	checkAndSaveConfig : function (save)

	{

		//sync languages and currency

		this.syncLang(function (isOk) {

			if (isOk)

			{

				shopImporter.syncCurrency(function (isOk) {			

					if (isOk)

					{

					$.ajax({

					       type: 'GET',

					       url: '../modules/shopimporter/ajax.php',

					       async: true,

					       cache: false,

					       dataType : "json",

					       data: 'ajax=true&token='+this.token+'&checkAndSaveConfig&moduleName='+shopImporter.moduleName+'&server='+shopImporter.server+'&user='+shopImporter.user+'&password='+shopImporter.password+'&database='+shopImporter.database+'&prefix='+prefix+shopImporter.specificOptions+'&nbr_import='+shopImporter.nbr_import ,

					       success: function (jsonData)

					       {

						       	if ($('#technical_error_feedback').length)

						       		$('#technical_error_feedback').fadeIn('slow');

						       

						       	if (!jsonData.hasError)

					    		{

							       	$('#checkAndSaveConfig').fadeOut('slow');

							       	$('#steps').html($('#steps').html()+'<div id="database_feedback" style="display:none;" class="conf"><img src="'+shopImporter.srcConf+'">'+databaseOk+'</div>');

							    	$('#steps').html($('#steps').html()+'<input style="display:none" type="submit" name="next" id="next" class="button" value="'+testImport+'">');

							    	$('#database_feedback').fadeIn('slow', function () {

					    			if (save)

							    	{

							    		shopImporter.idMethod = 0;

							    		shopImporter.limit = 0;

							    		shopImporter.nbrMethod = conf.length;

							    		$('.truncateTable:checked').each(function (){ 

							    			shopImporter.truncatTable(this.id, 'add'); 

							    		});

										

										if($('#truncat_feedback').length != 0)

											$('#truncat_feedback').removeClass('import').addClass('conf');

										

							    		shopImporter.getDatas(conf[shopImporter.idMethod]);

							    	}

							    	else

							    	{

								    	$('#next').fadeIn('slow', function () { 

									    	$('#next').unbind('click').click(function (){

												$('#next').fadeOut('fast', function () {

													shopImporter.nbrMethod = conf.length;

													shopImporter.getDatas(conf[shopImporter.idMethod]);

												});

												return false;

											});

										});

									}

						    	});		    	

						    }

						    else

						    {

						    	$('#steps').html('<div id="database_feedback" style="display:none;" class="error"><img src="'+shopImporter.srcError+'">'+jsonData.error+'</div>');

						    	$('#database_feedback').fadeIn('slow');

						    }

					       },

					      error: function (XMLHttpRequest, textStatus, errorThrown) 

					       {

					       		$('#steps').html($('#steps').html()+'<div id=\'technical_error_feedback\' style=\'display:none;\' class=\'error\'><img src="'+shopImporter.srcError+'">TECHNICAL ERROR<br><br>Details: '+XMLHttpRequest.responseText+'</div>');

					       		$('#technical_error_feedback').fadeIn('slow');

					       }

					   });

					}

				});

			}

		});

	},

	

	getDatasWS : function (methodName)

	{		

		//check if method have to be call

		if (shopImporter.idMethod >= shopImporter.nbrMethod)

			shopImporter.displayEnd(false);

		else if ($('input[name='+methodName[0]+']:radio:checked').val() == 0)

		{

			shopImporter.idMethod ++;

			shopImporter.getDatasWS(conf[shopImporter.idMethod]);

			return;

		}

		if (typeof(methodName) != 'undefined')

		{

			

			$('#steps').html($('#steps').html()+'<div id=\'ok_feedback_'+methodName[0]+'\' style=\'display:none;\' class="import"><img src=\''+this.srcImport+'\'>'+methodName[1]+'<span id=\'display_error_'+methodName[0]+'\' style=\'display:none\'><span><div id=\'feedback_'+methodName[0]+'_errors_list\'></div></div>');

			$('#ok_feedback_'+methodName[0]).css('display', '');

		

		$('#checkAndSaveConfig').fadeIn('slow');

		$.ajax({

	       type: 'GET',

	       url: '../modules/shopimporter/ajax.php',

	       async: true,

	       cache: false,

	       dataType : "json",

	       data: 'ajax=true&token='+this.token+'&getDataWS&className='+methodName[2]+'&getMethod='+methodName[0]+'&moduleName='+this.moduleName+'&url='+this.url+'&loginws='+this.loginws+'&apikey='+this.apikey+'&limit='+this.limit+'&nbr_import='+this.nbr_import+'&save='+this.save+'&errors='+this.errors+'&hasErrors='+this.hasErrors+this.specificOptions+this.imagesOptions ,

	       success: function (jsonData)

	       {

	    	    var jsonError;

				if (jsonData.hasError)

				{

					jsonError = '';

					if (jsonData.error == 'not_exist')

					{

						$('#ok_feedback_'+methodName[0]).removeClass('conf').addClass(function () { 

							$('#ok_feedback_'+methodName[0]).html('<img src="'+shopImporter.srcWarn+'">'+methodName[1]+' '+notExist);

							return 'warn';

						});

					}

					else

					{

						for (i=0;i<jsonData.error.length;i++)

							jsonError = jsonError+'<li>Id : '+jsonData.error[i]+'</li>';

									

						if ($('#display_error_'+methodName[0]+'_link').length == 0)

						{

							$('#ok_feedback_'+methodName[0]).html($('#ok_feedback_'+methodName[0]).html()+'<span id="display_error_'+methodName[0]+'" style="float:right;"><a id="display_error_'+methodName[0]+'_link" class="display_error_link" rel="'+methodName[0]+'" href="#" onclick="enableShowErrors(\''+methodName[0]+'\'); return false;">'+showErrors+'(<span id="nbr_errors_'+methodName[0]+'">'+jsonData.error.length+'</span>)'+'</a></span><div style="display:none;" id="feedback_'+methodName[0]+'_errors_list"><ul>'+jsonError+'</ul></div>');

						}

						else

						{

							var nbrErrors = $('#nbr_errors_'+methodName[0]).html();

							var newNbrError = parseInt(jsonData.error.length) + parseInt(nbrErrors);

							$('#nbr_errors_'+methodName[0]).html(newNbrError);

							$('#feedback_'+methodName[0]+'_errors_list > ul').html($('#feedback_'+methodName[0]+'_errors_list > ul').html() + jsonError);

						}

					}

					

					if (jsonData.datas.length != parseInt(shopImporter.nbr_import))

					{

						if ($('#display_error_'+methodName[0]+'_link').length != 0)

							$('#ok_feedback_'+methodName[0]).removeClass('import').addClass( function () {

								$('#ok_feedback_'+methodName[0]+' >img:first').attr('src', shopImporter.srcError);

								return 'error';

							});

						shopImporter.idMethod ++;

						shopImporter.limit = 0;

					}

					else

						shopImporter.limit += parseInt(shopImporter.nbr_import);

					if ((shopImporter.idMethod < shopImporter.nbrMethod))

						shopImporter.getDatasWS(conf[shopImporter.idMethod]);

					else

						shopImporter.displayEnd(false);

				}

				else

				{

					if (jsonData.datas.length != parseInt(shopImporter.nbr_import))

					{

						if ($('#display_error_'+methodName[0]+'_link').length != 0)

						{

							$('#ok_feedback_'+methodName[0]).removeClass('import').addClass( function () {

								$('#ok_feedback_'+methodName[0]+' >img:first').attr('src', shopImporter.srcError);

								return 'error';

							});

						}else

						{

							$('#ok_feedback_'+methodName[0]).removeClass('import').addClass('conf');

							$('#ok_feedback_'+methodName[0]+'>img:first').attr('src', shopImporter.srcConf);

						}

						shopImporter.idMethod ++;

						shopImporter.limit = 0;

					

						shopImporter.getDatasWS(conf[shopImporter.idMethod]);

					}

					else

					{

						if (shopImporter.idMethod < shopImporter.nbrMethod)

						{

							shopImporter.limit += parseInt(shopImporter.nbr_import);

							shopImporter.getDatasWS(conf[shopImporter.idMethod]);

						}

						else	

							shopImporter.displayEnd(true);

					}	

				}

	       },

	       error: function (XMLHttpRequest, textStatus, errorThrown) 

	       {

	       		$('#technical_error_feedback').fadeIn('slow');

	       		$('#checkAndSaveConfig').fadeIn('slow');

	       }

	   });

	   }

	},

	getDatas : function (methodName)

	{		

		//check if method have to be call

		if (shopImporter.idMethod >= shopImporter.nbrMethod)

			shopImporter.displayEnd(false);

		else if ($('input[name='+methodName[0]+']:radio:checked').val() == 0)

		{

			shopImporter.idMethod ++;

			shopImporter.getDatas(conf[shopImporter.idMethod]);

			return;

		}

		if (typeof(methodName) != 'undefined')

		{

			

			$('#steps').html($('#steps').html()+'<div id="ok_feedback_'+methodName[0]+'" style="display:none;" class="import"><img src="'+this.srcImport+'">'+methodName[1]+'<span id="display_error_'+methodName[0]+'" style="display:none"><span><div id="feedback_'+methodName[0]+'_errors_list"></div></div>');

			$('#ok_feedback_'+methodName[0]).css('display', '');

		

		$('#checkAndSaveConfig').fadeIn('slow');

		$.ajax({

	       type: 'GET',

	       url: '../modules/shopimporter/ajax.php',

	       async: true,

	       cache: false,

	       dataType : "json",

	       data: 'ajax=true&token='+this.token+'&getData&className='+methodName[2]+'&getMethod='+methodName[0]+'&moduleName='+this.moduleName+'&server='+this.server+'&user='+this.user+'&password='+this.password+'&database='+this.database+'&prefix='+prefix+'&limit='+this.limit+'&nbr_import='+this.nbr_import+'&save='+this.save+'&errors='+this.errors+'&hasErrors='+this.hasErrors+this.specificOptions+this.imagesOptions ,

	       success: function (jsonData)

	       {	

		       	var jsonError;

		       	if (jsonData.hasError)

	    		{

					jsonError = '';

					if (jsonData.error == 'not_exist')

					{

						$('#ok_feedback_'+methodName[0]).removeClass('conf').addClass(function () { 

							$('#ok_feedback_'+methodName[0]).html('<img src="'+shopImporter.srcWarn+'">'+methodName[1]+' '+notExist);

							return 'warn';

						});

					}

					else

					{

						for (i=0;i<jsonData.error.length;i++)

							jsonError = jsonError+'<li>Id : '+jsonData.error[i]+'</li>';

									

						if ($('#display_error_'+methodName[0]+'_link').length == 0)

						{

							$('#ok_feedback_'+methodName[0]).html($('#ok_feedback_'+methodName[0]).html()+'<span id="display_error_'+methodName[0]+'" style="float:right;"><a id="display_error_'+methodName[0]+'_link" class="display_error_link" rel="'+methodName[0]+'" href="#" onclick="enableShowErrors(\''+methodName[0]+'\'); return false;">'+showErrors+'(<span id="nbr_errors_'+methodName[0]+'">'+jsonData.error.length+'</span>)'+'</a></span><div style="display:none;" id="feedback_'+methodName[0]+'_errors_list"><ul>'+jsonError+'</ul></div>');

						}

						else

						{

							var nbrErrors = $('#nbr_errors_'+methodName[0]).html();

							var newNbrError = parseInt(jsonData.error.length) + parseInt(nbrErrors);

							$('#nbr_errors_'+methodName[0]).html(newNbrError);

							$('#feedback_'+methodName[0]+'_errors_list > ul').html($('#feedback_'+methodName[0]+'_errors_list > ul').html() + jsonError);

						}

					}

					

					if (jsonData.datas.length != parseInt(shopImporter.nbr_import))

					{

						if ($('#display_error_'+methodName[0]+'_link').length != 0)

							$('#ok_feedback_'+methodName[0]).removeClass('import').addClass( function () {

								$('#ok_feedback_'+methodName[0]+' >img:first').attr('src', shopImporter.srcError);

								return 'error';

							});

						shopImporter.idMethod ++;

						shopImporter.limit = 0;

					}

					else

						shopImporter.limit += parseInt(shopImporter.nbr_import);

					if ((shopImporter.idMethod < shopImporter.nbrMethod))

						shopImporter.getDatas(conf[shopImporter.idMethod]);

					else

						shopImporter.displayEnd(false);

	    		}

	    		else

	    		{

    				if (jsonData.datas.length != parseInt(shopImporter.nbr_import))

    				{

						if ($('#display_error_'+methodName[0]+'_link').length != 0)

						{

							$('#ok_feedback_'+methodName[0]).removeClass('import').addClass( function () {

								$('#ok_feedback_'+methodName[0]+' >img:first').attr('src', shopImporter.srcError);

								return 'error';

							});

						}else

						{

							$('#ok_feedback_'+methodName[0]).removeClass('import').addClass('conf');

							$('#ok_feedback_'+methodName[0]+'>img:first').attr('src', shopImporter.srcConf);

						}

						shopImporter.idMethod ++;

						shopImporter.limit = 0;

						shopImporter.getDatas(conf[shopImporter.idMethod]);

					}

					else

					{

						if (shopImporter.idMethod < shopImporter.nbrMethod)

						{

							shopImporter.limit += parseInt(shopImporter.nbr_import);

							shopImporter.getDatas(conf[shopImporter.idMethod]);

						}

						else

							shopImporter.displayEnd(true);

					}	

				}

	       },

	       error: function (XMLHttpRequest, textStatus, errorThrown) 

	       {

	       		$('#steps').html($('#steps').html()+'<div id="technical_error_feedback" style="display:none;" class="error"><img src="'+shopImporter.srcError+'">TECHNICAL ERROR<br><br>Details: '+XMLHttpRequest.responseText+'</div>');

	       		$('#technical_error_feedback').fadeIn('slow');

	       		$('#checkAndSaveConfig').fadeIn('slow');

	       }

	   });

	   }

	},

	

	truncatTable : function (className)

	{

		if (!$('#truncat_feedback').length)

		{

			$('#steps').html($('#steps').html()+'<div id="truncat_feedback" style="display:none;" class="conf"><img src="'+this.srcConf+'">'+truncateTable+'</div>');

			$('#truncat_feedback').css('display', '');

		}

		

		$.ajax({

	       type: 'GET',

	       url: '../modules/shopimporter/ajax.php',

	       async: false,

	       cache: false,

	       dataType : "json",

	       data: 'ajax=true&token='+this.token+'&truncatTable&className='+className+this.specificOptions ,

	       success: function (jsonData)

	       {		      

		       	var jsonError;

		       	if (jsonData.hasError)

	    		{

	    			jsonError = '';

	    			for (i=0;i<jsonData.error.length;i++)

							jsonError = jsonError+'<li>Table : '+jsonData.error[i]+'</li>';

					$('#truncat_feedback').removeClass('import').addClass('error');

					$('#truncat_feedback >img:first').attr('src', shopImporter.srcError);

					if ($('#display_error_truncat_feedback_link').length == 0)

					{

						$('#truncat_feedback').html($('#truncat_feedback').html()+'<span id="display_error_truncat" style="float:right;"><a id="display_error_truncat_link" class="display_error_link" rel="truncat" href="#" onclick="enableShowErrorsTruncate(); return false;">'+showErrors+'</a></span><div style="display:none;" id="feedback_truncat_errors_list"><ul>'+jsonError+'</ul></div>');

					}

					else

					{

						var nbrErrors = $('#nbr_errors_'+methodName[0]).html();

						var newNbrError = parseInt(jsonData.error.length) + parseInt(nbrErrors);

						$('#nbr_errors_'+methodName[0]).html(newNbrError);

						$('#feedback_'+methodName[0]+'_errors_list > ul').html($('#feedback_'+methodName[0]+'_errors_list > ul').html() + jsonError);

					}

	    		}

	    	},

	    	error: function (XMLHttpRequest, textStatus, errorThrown) 

	       {

	       		$('#steps').html($('#steps').html()+'<div id="technical_error_feedback" style="display:none;" class="error"><img src="'+shopImporter.srcError+'">TECHNICAL ERROR<br><br>Details: '+XMLHttpRequest.responseText+'</div>');

	       		$('#technical_error_feedback').fadeIn('slow');

	       		$('#checkAndSaveConfig').fadeIn('slow');

	       }

	    	

		});

	},

	

	displayEnd : function (finish)

	{	

		

		if ((this.hasErrors != 0 || ($('.display_error_link').length == 0 && this.hasErrors == 0)) || (this.hasErrors == 1))

		{

			if (this.save)

			{

				$('#steps').html($('#steps').html()+'<div id=\'ok_feedback_end\' style=\'display:none;\' class=\'conf\'><img src=\''+shopImporter.srcConf+'\'>'+importFinish+'</div>');

				$('#ok_feedback_end').fadeIn('slow');

			}

			else

			{

				$('#steps').html($('#steps').html()+'<input style="display:none" type="button" name="submitImport" id="submitImport" class="button" value="'+runImport+'">');

				$('#submitImport').fadeIn('slow', function () {

					$(this).unbind('click').click(function () {

					$.scrollTo($("#steps"), 300 , {

						onAfter:function (){

							$('#steps').html('');

							shopImporter.save = 1;

							if(type_connector == 'ws')

								shopImporter.checkAndSaveConfigWS(shopImporter.save);

							else if (type_connector == 'db')

								shopImporter.checkAndSaveConfig(shopImporter.save);

							}

						});

					});

				});

			}

		}

		else

		{

			$('#steps').html($('#steps').html()+'<div id="technical_error_feedback" style="display:none;" class="error"><img src="'+shopImporter.srcError+'">'+importHasErrors+'</div>');

			$('#technical_error_feedback').fadeIn('slow');

		}

		$('#checkAndSaveConfig').fadeIn('slow');

	},	



};



function enableShowErrors(methodName)

{

	$(document).find('#feedback_'+methodName+'_errors_list').slideToggle();

	return false;

}



function enableShowErrorsTruncate()

{

	$(document).find('#feedback_truncat_errors_list').slideToggle();

	return false;

}



function displaySpecificOptions(moduleName, server, user, password, database, prefix, token)

{

	$.ajax({

	       type: 'GET',

	       url: '../modules/shopimporter/ajax.php',

	       async: false,

	       cache: false,

	       dataType : "html",

	       data: 'ajax=true&token='+token+'&displaySpecificOptions&moduleName='+moduleName+'&server='+ server+'&user='+user+'&password='+password+'&database='+database+'&prefix='+prefix ,

	       success: function (htmlData)

	       {

	       		if (htmlData != 'not_exist')

	       		{

	       			$('#specificOptionsContent').html(htmlData);

	       			$('#specificOptions').show();

	       			$('#importOptions').show();

	       		}

	       },

	       error: function (XMLHttpRequest, textStatus, errorThrown)

		   {

		   		alert('TECHNICAL ERROR\nDetails:\nError thrown: ' + XMLHttpRequest + '\n' + 'Text status: ' + textStatus);

		   }

	   });

}

function initConnexion (moduleName, url, loginws, apikey, token)

{

	$.ajax({

	       type: 'GET',

	       url: '../modules/shopimporter/ajax.php',

	       async: false,

	       cache: false,

	       dataType : "json",

	       data: 'ajax=true&token='+token+'&connexionWs&moduleName='+moduleName+'&url='+ url+'&loginws='+loginws+'&apikey='+apikey ,

	       success: function (jsonData)

	       {	

	    	   var jsonError = '';

	    	   $('#connectionInformation').removeAttr('style');

	    	   	if (jsonData.hasError)

	    		{

	    	   		$('#connectionInformation').attr('style','width: 400px;background-color: #FAE2E3;border: 1px solid #EC9B9B');

	    			for (i=0;i<jsonData.error.length;i++)

							jsonError = jsonError+'<li>'+jsonData.error[i]+'</li>';

	    			$('#connectionInformation').slideDown('slow');

	    			$('#connectionInformation').html('<ul>'+jsonError+'</ul>');

	     			$('#connectionInformation').show();

				}else

				{

					

					$('#connectionInformation').attr('style','width: 400px;background-color: #DFFAD3;border: 1px solid #72CB67');

					$('#connectionInformation').slideDown('slow');

	    			$('#connectionInformation').html('<ul>Connection successful</ul>');

	     			$('#connectionInformation').show();

					$('#importOptions').show();

					displaySpecificOptionsWsdl(moduleName, token);

				}

	       },

	       error: function (XMLHttpRequest, textStatus, errorThrown)

		   {

		   		alert('TECHNICAL ERROR\nDetails:\nError thrown: ' + XMLHttpRequest + '\n' + 'Text status: ' + textStatus);

		   }

	   });

}



function displaySpecificOptionsWsdl(moduleName,token)

{



	$.ajax({

	       type: 'GET',

	       url: '../modules/shopimporter/ajax.php',

	       async: false,

	       cache: false,

	       dataType : 'html',

	       data: 'ajax=true&token='+token+'&displaySpecificOptionsWsdl&moduleName='+moduleName ,

	       success: function (htmlData)

	       {

	    	   	$('#specificOptionsContent').html(htmlData);

	    	   	$('#specificOptions').hide();

				$('#importOptions').show();

	       },

	       error: function (XMLHttpRequest, textStatus, errorThrown)

		   {

		   		alert('TECHNICAL ERROR\nDetails:\nError thrown: ' + XMLHttpRequest + '\n' + 'Text status: ' + textStatus);

		   }

	   });

}

function validateSpecificOptions(moduleName, specificOptions)

{

	$.ajax({

	       type: 'GET',

	       url: '../modules/shopimporter/ajax.php',

	       async: false,

	       cache: false,

	       dataType : 'json',

	       data: 'ajax=true&token='+token+'&validateSpecificOptions&moduleName='+moduleName+specificOptions ,

	       success: function (jsonData)

	       {

	       		var jsonError = '';

	       		if (jsonData.hasError)

	    		{

	    			for (i=0;i<jsonData.error.length;i++)

							jsonError = jsonError+'<li>'+jsonData.error[i]+'</li>';

	    			$('#specificOptionsErrors').html('<ul>'+jsonError+'</ul>');

	    			$('#specificOptionsErrors').fadeIn('slow');

				}

	       },

	       error: function (XMLHttpRequest, textStatus, errorThrown)

		   {

		   		alert('TECHNICAL ERROR\nDetails:\nError thrown: ' + XMLHttpRequest + '\n' + 'Text status: ' + textStatus);

		   }

	   });

	   

	    if ($('#specificOptionsErrors').html().length != 0)

	 		return false;

		else

	 		return true;

}



//init configuration connector (database or webservice)

function initConfigConnector()

{

	if($('#choose_module_name').attr('value'))

	{

		$('#db_config').hide();

		$('#importOptions').hide();

		$('#steps').html('');



		if ($('#import_module_name').attr('value') != 0)

		{

			$('#displayOptions').show();

			$.ajax({

			       type: 'GET',

			       url: '../modules/shopimporter/ajax.php',

			       async: false,

			       cache: false,

			       dataType : 'html',



			       data: 'ajax=true&token='+globalAjaxShopImporterToken+'&displayConfigConnector&moduleName='+$('#import_module_name').val() ,

			       success: function (html)

			       {

						$('#config_connector').html(html);

						$('#config_connector').show();	

						$('#db_config').slideDown('slow');

						$('#displayOptions').show();

						$('#checkAndSaveConfig').show();

			       },

			       error: function (XMLHttpRequest, textStatus, errorThrown)

				   {

				   		alert('TECHNICAL ERROR\nDetails:\nError thrown: ' + XMLHttpRequest + '\n' + 'Text status: ' + textStatus);

				   }

			   });

		}

		else

		{

			$('#db_config').slideUp('slow');

			$('#checkAndSaveConfig').show();

			

		}		

	}

}



$(document).ready(function (){

	$('#displayOptions').hide();

	$('#db_input input').each(function () {

		$(this).keyup(function () {

			$('#steps').fadeOut(200, function () {

				$(this).html('');

				$('#steps').fadeIn();

			});

			$('#importOptions').fadeOut('slow');

			$('#displayOptions').show();

			$('#checkAndSaveConfig').show();

		})

	});

	

	$('input[name=hasErrors]:radio').change(function () {

		if ($(this).val() == 1)

			$('#warnSkip').fadeIn('slow');

		else

			$('#warnSkip').fadeOut('slow');

	});

	

	$('#choose_module_name').unbind('click').click(function (){

		initConfigConnector();

	});

	

	$('#displayOptions').unbind('click').click(function (){

		$('#displayOptions').show();

		if(type_connector == 'ws')

		{

			if($('#loginws').val() == '' || $('#apikey').val() == '' || $('#url').val() == '')

			{

				$('#connectionInformation').slideDown('slow');

    			$('#connectionInformation').html('Url wsdl, User name,API key are required fields');

     			$('#connectionInformation').show();

				return false;

			}else{

				$('#connectionInformation').hide();

			}

			token = globalAjaxShopImporterToken;

			initConnexion($('#import_module_name').val(), $('#url').val(), $('#loginws').val(), $('#apikey').val(), token);



			return false;

		}

		else if (type_connector == 'db')

		{

			moduleName = $('#import_module_name').val();

			server = $('#server').val();

			user = $('#user').val();

			password = $('#password').val();

			database = $('#database').val();

			prefix = $('#prefix').val();

			token = globalAjaxShopImporterToken;

			displaySpecificOptions(moduleName, server, user, password, database, prefix, token);

		}

		$(this).fadeOut('slow');

		$('#importOptions').slideDown('slow');

		

		return false;

	});	

	

	$('#checkAndSaveConfig').unbind('click').click(function (){

		$('#steps, #specificOptionsErrors').html('');

		$('#specificOptionsErrors').hide();

		shopImporter.specificOptions = '';

		$('#specificOptionsContent :input').each(function (){

			shopImporter.specificOptions = shopImporter.specificOptions+'&'+$(this).attr('name')+'='+$(this).attr('value');

		});

		shopImporter.imagesOptions = '';

		$('.importImages:input:checked').each(function (){

			shopImporter.imagesOptions = shopImporter.imagesOptions+'&'+$(this).attr('name');

		});

		moduleName = $('#import_module_name').val();

		if (validateSpecificOptions(moduleName, shopImporter.specificOptions) == true)

		{

			if(type_connector == 'ws')

			{

				$.scrollTo($('#steps'), 300 , {

					onAfter:function (){

						shopImporter.specificOptions = '';

						$('#specificOptionsContent :input').each(function (){

							shopImporter.specificOptions = shopImporter.specificOptions+'&'+$(this).attr('name')+'='+$(this).attr('value');

						});

							shopImporter.idMethod = 0;

							shopImporter.limit = 0;

							shopImporter.nbr_import = parseInt($('#nbr_import').val());

							shopImporter.save = 0;

	

							shopImporter.moduleName = $('#import_module_name').val();

							shopImporter.url = $('#url').val();

							shopImporter.loginws = $('#loginws').val();

							shopImporter.apikey = $('#apikey').val();

	

							shopImporter.token = globalAjaxShopImporterToken;

							shopImporter.hasErrors = $('input[name=hasErrors]:radio:checked').val();

							

							shopImporter.checkAndSaveConfigWS(shopImporter.save);

							shopImporter.checkAndSaveConfigWSDL();

						return false;

					}

				});

			}else if (type_connector == 'db')

			{

				$.scrollTo($('#steps'), 300 , {

					onAfter:function (){

						shopImporter.specificOptions = '';

						$('#specificOptionsContent :input').each(function (){

							shopImporter.specificOptions = shopImporter.specificOptions+'&'+$(this).attr('name')+'='+$(this).attr('value');

						});

							shopImporter.idMethod = 0;

							shopImporter.limit = 0;

							shopImporter.nbr_import = parseInt($('#nbr_import').val());

							shopImporter.save = 0;

							shopImporter.moduleName = $('#import_module_name').val();

							shopImporter.server = $('#server').val();

							shopImporter.user = $('#user').val();

							shopImporter.password = $('#password').val();

							shopImporter.database = $('#database').val();

							shopImporter.prefix = $('#prefix').val();

							shopImporter.token = globalAjaxShopImporterToken;

							shopImporter.hasErrors = $('input[name=hasErrors]:radio:checked').val();

							shopImporter.checkAndSaveConfig(shopImporter.save);

						return false;

					}

				});

			}

		}

	});	

	

	$('#importOptionsYesNo :radio').change( function () {

		$('#steps').html('');

		onThing = false;

		

		$('#importOptionsYesNo :radio:checked').each( function () {

			if ($(this).attr('value') == 1)

				onThing = true;

		});

		if (onThing)

			$('#checkAndSaveConfig').fadeIn();

		else

		{

			$('#checkAndSaveConfig').fadeOut();

			$('#steps').html('<div id=\'one_thing_error_feedback\' style=\'display:none;\' class=\'error\'><img src=\''+shopImporter.srcError+'\'>'+oneThing+'</div>');

			$('#one_thing_error_feedback').fadeIn('slow');

		}			

	});

});

