﻿/// <reference path="jquery-1.2.6.js" />

function OnClientButtonClicking(sender, args) {
    cancel = true;
    var button = args.get_item();
	switch (button.get_commandName()) {
		case 'modele':
			eval('jsoe' + button.get_commandArgument()).showModeleDialog();
			break;
        case 'Import':
			eval('jsoe' + button.get_commandArgument()).showImportDialog();
			break;
	}
}

function nodeImportCatWSEvent_Success(rtnHtml) {
    $('.contentHtmlCat').html(rtnHtml.message);
}

function onErrornodeImportCatWSEvent() {
    $('.contentHtmlCat').html(rtnHtml.message);
}

function nodeImportCatClicking(sender, args) {
    var node = args.get_node();
    var id_Item = node.get_value();
    optavis.catalog.wsOptavisCatalogAdmin.getItemHtml(parseInt(id_Item), nodeImportCatWSEvent_Success, onErrornodeImportCatWSEvent);
}

function nodeImportCatMouseOver(sender, args) {
    var node = args.get_node();
    var id_Item = node.get_value();
    optavis.catalog.wsOptavisCatalogAdmin.getItemHtml(parseInt(id_Item), nodeImportCatWSEvent_Success, onErrornodeImportCatWSEvent);
}

function nodeImportCatMouseLeave(sender, args) {
    var tv = args.get_node().get_treeView();
    if (tv.get_selectedNode() != null) {
        var selectedNodeID = tv.get_selectedNode().get_value();

        if (selectedNodeID != null)
            optavis.catalog.wsOptavisCatalogAdmin.getItemHtml(parseInt(selectedNodeID), nodeImportCatWSEvent_Success, onErrornodeImportCatWSEvent);    
    }
   
}



function jsOptaEditor(aRadeditorClientID, awinModeleClientID, acbModeleReplace, awinImportClientID, artvCatalogClientID) {



//     this.nodeImportCatClicking = function(sender, args) {
//        var node = args.get_node();
//        //var test = eval('jsoe' +test(node));
//    }

//    this.nodeImportCatMouseOver = function(sender, args) {
//        var node = args.get_node();
//    }

//    this.nodeImportCatMouseLeave = function(sender, args) {
//        var node = args.get_node();
//    }

	//    radEditorClientID = aRadeditorClientID;
	//    cRadEditor = $find(aRadeditorClientID);
   
	winModeleClientID = awinModeleClientID;
	//    cWinModele = $find(awinModeleClientID);
    
	cbModeleReplace = acbModeleReplace;
	replaceMode = false;

	//Import HTML d'une Item
	this.rtvCatalog_OnImport = function () {
		if ($find(artvCatalogClientID).get_selectedNode() == null) {
			alert('Vous devez sélectionner un élément');
		}
		else {
			id_Item = $find(artvCatalogClientID).get_selectedNode().get_value();
			optavis.catalog.wsOptavisCatalogAdmin.getItemHtml(id_Item, this.ongetOptavisImportCatalogHtml_Success, onErrorOptaEditorHtml);
		}
	}
	this.ongetOptavisImportCatalogHtml_Success = function (rtnHtml) {
		$find(aRadeditorClientID).pasteHtml(rtnHtml.message);
	}

	//Modèles
	this.getOptavisEditorModele = function (idPortal, idModele, onSuccess) {
		optavis.wsEditorHtml.getHtmlModele(idPortal, idModele, this.ongetOptavisEditorModele_Success, onErrorOptaEditorHtml);
	}

	this.ongetOptavisEditorModele_Success = function (rtnHtml) {
		if (replaceMode)
			$find(aRadeditorClientID).set_html(rtnHtml);
		else
			$find(aRadeditorClientID).pasteHtml(rtnHtml);
    }
    
	this.delOptavisEditorModele = function (idPortal, idModele, onSuccess) {
		if (confirm('Ce modèle sera supprimer pour l\'ensemble du site.\n\nEtes-vous sûr de vouloir supprimer ce modèle ?'))
			optavis.wsEditorHtml.delHtmlModele(idPortal, idModele, this.ondelOptavisEditorModele_Success, onErrorOptaEditorHtml);
	}
	this.ondelOptavisEditorModele_Success = function (idModele) {
		$('#li_' + aRadeditorClientID + '_' + idModele).hide();
	}

	this.setReplaceMode = function (checkbox) {
		replaceMode = checkbox.checked;
	}

	// This is the failed callback function.
	function onErrorOptaEditorHtml(error) {
		var stackTrace = error.get_stackTrace();
		var message = error.get_message();
		var statusCode = error.get_statusCode();
		var exceptionType = error.get_exceptionType();
		var timedout = error.get_timedOut();

		// Display the error.    
		var RsltElem = document.getElementById("Results");
		RsltElem.innerHTML =
            "Stack Trace: " + stackTrace + "<br/>" +
        "Service Error: " + message + "<br/>" +
        "Status Code: " + statusCode + "<br/>" +
        "Exception Type: " + exceptionType + "<br/>" +
        "Timedout: " + timedout;
	}

	//Window Modele
	this.showModeleDialog = function () {
		$find(awinModeleClientID).show();
	}

	//Window Import
	this.showImportDialog = function () {
	    $find(awinImportClientID).show();
	}

	//Window Import
	this.showHistoriqueDialog = function () {
		$find(this.awinHistoriqueClientID).show();
	}

	this.getHtmlCatalog = function (id_Item) {

		alert(id_Item);
		//getHtmlPhotos
	}

}

