var tinyMCEmode = false;

function doLoad(path,arr,elm){
    if (!path) return;
    /*tinyMCEmode = false;*/
    // Создаем новый объект JSHttpRequest.
    var req = new Subsys_JsHttpRequest_Js();
    // Код, АВТОМАТИЧЕСКИ вызываемый при окончании загрузки.
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            if (req.responseJS) {
                // Записываем в <div> или в другой элемент результат работы.
                if (!elm || elm=='none' || !$(elm)) elm = 'result';
                //new Element.show(elm);
                $(elm).innerHTML = req.responseJS.wf_main;
                if (req.responseJS.message) alert(req.responseJS.message);
                if (tinyMCEmode == true) tinyMCE.updateContent(elm);
            }
            // Отладочная информация
            if (req.responseText.length > 0) {
                //new Element.show('debug');
                //$('debug').innerHTML = req.responseText;
                alert(req.responseText);
            }
        }
    }
    // Разрешаем кэширование (чтобы при одинаковых запросах не обращаться к серверу несколько раз).
    req.caching = false;
    // Подготавливаем объект.
    req.open('POST', path, true);
    // Посылаем данные запроса (задаются в виде хэша): req.send({ q:query, test:303 });
    req.send(arr);
}

function popUp(path,arr){
    if (!arr) var arr = {};
    if (!arr['updatetext']){
        tinyMCEmode = false;
        tinyMCE.execCommand('mceRemoveControl',false,'text');
    }
    new Element.update('popUpContent','');
    new Effect.Opacity('body',{
        duration: 0.1,
        transition: Effect.Transitions.linear,
        from: 1.0,
        to: 0.5
    });
    popupDrag = new Draggable('popUp',{
        'handle':'popUpIface'
    });
    new Element.show('popUp');
    // Создаем новый объект JSHttpRequest.
    var req = new Subsys_JsHttpRequest_Js();
    // Код, АВТОМАТИЧЕСКИ вызываемый при окончании загрузки.
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            if (req.responseJS) {
                // Записываем в <div> результат работы.
                $('popUpContent').innerHTML = req.responseJS.wf_main;
                $('popUpTitle').innerHTML = req.responseJS.iface_title;
            /*if (tinyMCEmode==true) {
					var script = document.createElement('script');
					script.type = "text/javascript";
					script.src = "/editor/tiny_mce_gzip.php";
					var head = document.getElementsByTagName('head')[0];
					head.insertBefore(script,$('scljs'));
					
					var script = document.createElement('script');
					script.type = "text/javascript";
					script.src = "/editor/pwe_config.js";
					head.insertBefore(script,$('jsjs'));
				}*/
            }
            // Отладочная информация
            if (req.responseText.length > 0){
                //new Element.show('popUpDebug');
                //$('popUpDebug').innerHTML = req.responseText;
                alert(req.responseText);
            }
        }
    }
    // Разрешаем кэширование (чтобы при одинаковых запросах не обращаться к серверу несколько раз).
    req.caching = false;
    // Подготавливаем объект.
    req.open('POST', path, true);
    req.send(arr);
}

function popUpClose(id){
    tinyMCEmode = false;
    tinyMCE.execCommand('mceRemoveControl',false,'text');
    popupDrag.destroy();
    new Element.update('popUpContent','');
    new Effect.Opacity('body',{
        duration: 0.1,
        transition: Effect.Transitions.linear,
        from: 0.5,
        to: 1.0
    });
    new Element.hide('popUp');
}

function form2hash(form){
    var hash = new Object();
    for (var i=0; i<form.elements.length; i++){
        el = form.elements[i];
        if (!el.name) continue;
        switch (el.type){
            case "text":
            case "textarea":
            case "hidden":
            case "password":
            case "button":
                hash[el.name] = el.value;
                break;
            case "checkbox":
            case "radio":
                if (el.checked)
                    hash[el.name] = el.value;
                break;
            case "select-one":
                hash[el.name] = el.options[el.selectedIndex].value;
                break;
            case "select-multiple":
                hash[el.name] = {};
                for (var j=0; j<el.length; j++){
                    if (el.options[j].selected)
                        hash[el.name][j] = el.options[j].value;
                }
                break;
            case "file":
                hash['file'] = el.value;
                break;
        }
    }
    /*alert(Dump(hash));*/
    return hash;
}

function formElements2Hash(formElements){
    var hash = new Object();
    for (var i=0; i<formElements.length; i++){
        if (isArray(formElements[i])) formElements2Hash(formElements[i]);
        else {
            if (!formElements[i].name) continue;
            hash[formElements[i].name] = formElements[i].value;
        //alert(formElements[i].name + "=" + formElements[i].value);
        }
    }
    return hash;
}

function isArray(a) {
    return isObject(a) && a.constructor == Array;
}
function isFunction(a) {
    return typeof a == 'function';
}
function isObject(a) {
    return (a && typeof a == 'object') || isFunction(a);
}

function new_win(w,h,n)	{
    if (!n) n="new_window";
    w1=window.open("",n,"resizable=yes, menubar=no, status=yes, scrollbars=yes, width="+w+", height="+h);
    w1.focus();
}

function feedback(){
    document.location.href='mail'+'to:'+'dap'+'@'+'parapet'+'.'+'ru';
}

/* дерево */
var cImg = new Image();
cImg.src = '/pic/plus.gif';
var eImg = new Image();
eImg.src = '/pic/minus.gif';	
var ssel = false;
	
function toggleState(node) {
    var node;
    if(ssel) resetAll(node);
    doToggle(node);
}

function toggleGroup(str){
    var arr = str.split(',');
    for(var i = 0; i < arr.length; i++){
        toggleState(arr[i]);
    }
}
	
function doToggle(node, reset) {
    var n;
    var node;
    var n = document.getElementById(node);
    if (n){
        /*m = document.getElementById(ode);*/
        if(!reset) reset = "inline";
        n.style.display = (n.style.display!='none'?'none':reset);
        /*m.style.background = (n.style.display=="inline"?'url(/pic/d2/item1_abg.gif)':'url(/pic/d2/item1_bg.gif)');*/
        document.images[node+'Img'].src = (n.style.display=="inline"?eImg.src:cImg.src);
    }
}
	
function resetAll(node) {
    var node;
    var n;
    var nIdx = getIdx(node);
    /*var d = document.getElementsByTagName("img");*/
    var n = document.getElementById(node);
    if (n){
        if(n.style.display=="none") {
            for(var i=0; i<d.length; i++)
                if(d[i].onclick) {
                    node = d[i].onclick.toString();
                    node = node.substr(node.lastIndexOf("(")+2);
                    node = node.substr(0, node.lastIndexOf(")")-1);
                    if(getIdx(node)==nIdx) doToggle(node, "none");
                }
        }
    }
}
	
function getIdx(node) {
    var i = 0;
    var n = document.getElementById(node);
    if(n)
        while(n.parentNode) {
            n = n.parentNode;
            i++;
        }
    return i;
}

function checkCart(href){
    var span = null;
    if (navigator.appName == 'Microsoft Internet Explorer'){
        span = document.getElementById('js').appendChild(document.createElement("SPAN"));
    } else {
        span = document.body.appendChild(document.createElement("SPAN"));
    }
    span.style.display = 'none';
    span.innerHTML = 'Text for stupid IE.<s'+'cript></' + 'script>';
    var scr = span.getElementsByTagName("script")[0];
    scr.language = "JavaScript";
    if (scr.setAttribute) scr.setAttribute('src', href); else scr.src = href;
}

function checkPosInCart(arr){
    for (var k in arr){
        parent.document.getElementById('c'+k).innerHTML = '<div class="cQ"><a href="/cart/">'+arr[k]+'</a></div>';
    /*<img src="/pic/check.gif" width="16" height="16" hspace="6" border="0" alt="отложено" />*/
    }
}

pY = 0;
pX = 0;

/*function a2cD(ID){
	new Insertion.Top('c'+ID, "<div id=a2c class=a2c align=center><table cellpadding=1 cellspacing=0 border=0 class=sm>"+
                                     "<form name=a2cForm method=post onSubmit=\"return a2cSubmit(document.a2cForm.quant.value)\">"+
                                     "<tr><td align=center>Введите количество:</td></tr><tr><td align=center><input type=text name=quant size=10 value=1/>"+
                                     "</td></tr><tr><td align=center><a onClick=a2cSubmit(document.a2cForm.quant.value) class=link>Принять</a>&#160;&#160;<a onClick=\"$('a2c').style.display = 'none'\" class=link>Отмена</a>"+
                                     "</td></tr></form></table></div>");
	Position.clone('c'+ID, 'a2c', {'setWidth':false, 'setHeight':false, 'offsetLeft':1, 'offsetTop':1});
}*/

function showPosition(e) {
    /*alert("Your mouse is at " + pX + " x " + pY);*/
    pX = Event.pointerX(e);
    pY = Event.pointerY(e);
}

function a2cD(id){
    var id;
    var a2c = $('a2c');
    if (a2c.style.display == 'none' || a2c.style.display == ''){
        a2c.style.display = 'block';
        a2c.style.top = pY +'px';
        a2c.style.left = (pX-170) + 'px';
        document.add2cart.id.value = id;
        document.a2cForm.quant.focus();
    } else {
        a2c.style.display = 'none';
    }
    /*if (navigator.appName == 'Microsoft Internet Explorer'){
        alert("Извините, браузер Microsoft Internet Explorer не поддерживается");
    }*/
}

function a2cSubmit(quant){
    $('a2c').style.display = 'none';
    document.add2cart.quant.value = quant;
    document.add2cart.submit();
    return false;
}

function toogleMCE(ID) {
    try {
        if(tinyMCEmode==true) {
            tinyMCE.execCommand('mceRemoveControl',false,ID);
            //tinyMCE.removeMCEControl(tinyMCE.getEditorId(ID));
            tinyMCEmode = false;
        } else {
            TinyMCE.idCounter = 0;
            var inst = tinyMCE.getInstanceById(ID);
            if (inst){
				
            }
            tinyMCE.execCommand('mceAddControl',false,ID);
            //tinyMCE.addMCEControl(document.getElementById(ID), ID);
            tinyMCEmode = true;
        }
    } catch(e) {
        //error handling
        alert('Ошибка при попытке переключения режима редактора.\n tinyMCEmode='+tinyMCEmode+'\n TinyMCE.idCounter='+TinyMCE.idCounter+'\nInstance='+tinyMCE.getInstanceById(ID)+'\n'+e);
    }
}

