
var IE = document.all?true:false

function manageRollover(obj, hover_type){
    var item = document.getElementById(obj);
    var folder = '/framework/images/menu/'+GLOBAL_language+'/';
    switch (hover_type){
        case 'over':
            item.src = folder+obj+'_over.png';
            break;
        case 'out':
            item.src = folder+obj+'.png';
            break;
    }
}

var mouseX;
var mouseY;

function addMouseListener(){
	if (IE){
	  	document.attachEvent('onmousemove', setMouseCoordinates, true);
	} else {
	  	document.addEventListener('mousemove', setMouseCoordinates, true);
	}
}

function setMouseCoordinates(e){
  	if (!e){
	    e = window.event;
	}
  	if (e.pageX || e.pageY){
		mouseX = e.pageX;
		mouseY = e.pageY;
	} else if (e.clientX || e.clientY){
	  	mouseX = e.clientX;
		mouseY = e.clientY;
	} else if (event.clientX || event.clientY){
	 	mouseX = event.clientX;
		mouseY = event.clientY;
	}
	modifyDivPosition();
	//alert(mousePozX+' - '+mousePozY);
}

var t=0;

function modifyDivPosition(){
    var obj = document.getElementById('dynamic_div');
    if(!obj){
        var obj = document.getElementById('dynamic_detail_div');
    }
    if ((document.body.clientWidth - ((mouseX+10)+obj.offsetWidth)) < 0){
        imgX = mouseX - 10 - obj.offsetWidth;
    } else {
        imgX = mouseX + 10;
    }
    if ((document.body.clientHeight - ((mouseY+20)+obj.offsetHeight)) < 0){
        imgY = mouseY - 20 - obj.offsetHeight;
    } else {
        imgY = mouseY + 20;
    }
    obj.style.left = imgX+'px';
    obj.style.top = imgY+'px';
    
    if (IE){
        var field1 = document.getElementById('cat_sel');
        if (field1){
            if (detectColision(field1, obj)){
                field1.style.visibility='hidden';
            } else {
                field1.style.visibility='visible';
            }
        }
        field2 = document.getElementById('subcat_sel');
        if (field2){
            if (detectColision(field2, obj)){
                field2.style.visibility='hidden';
            } else {
                field2.style.visibility='visible';
            }
        }
    }
}

function findLeft(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
		}
	}
	return curleft;
}

function findTop(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curtop += obj.offsetTop
		}
	}
	return curtop;
}

function detectColision(obj1, obj2){
    var obj1_Top    = findTop(obj1);
    var obj1_Bottom = obj1_Top+obj1.offsetHeight;
    var obj1_Left   = findLeft(obj1);
    var obj1_Right  = obj1_Left+obj1.offsetWidth;
    
    var obj2_Top    = findTop(obj2);
    var obj2_Bottom = obj2_Top+obj2.offsetHeight;
    var obj2_Left   = findLeft(obj2);
    var obj2_Right  = obj2_Left+obj2.offsetWidth;
    
    var statement1 = (obj1_Bottom < obj2_Top) || (obj1_Top > obj2_Bottom);//ori mai sus ori mai jos
    var statement2 = (obj1_Right < obj2_Left) || (obj1_Left > obj2_Right);//ori mai stg ori mai dr
    var statement3 = (obj1_Bottom >= obj2_Top) || (obj1_Top <= obj2_Bottom);//potrivit vertical
    var statement4 = (obj1_Right >= obj2_Left) || (obj1_Left <= obj2_Right);//potrivit orizontal
    var condition = statement1 || statement2 || (statement3 && statement2) || (statement4 && statement1);
    
    return !condition;
}

function showDetailImage(image, det){
    if (image){
        addMouseListener();
        if (det){
            var obj = document.getElementById('dynamic_detail_div');
            var im = document.createElement("img");
            im.setAttribute("src", "/framework/images/gallery/details/"+image);
            im.setAttribute("id", "img_div");
            obj.appendChild(im);
        } else {
            var obj = document.getElementById('dynamic_div');
            var im = document.createElement("img");
            im.setAttribute("src", '/framework/images/services/'+image);
            im.setAttribute("id", "img_div");
            obj.appendChild(im);
        }
        obj.style.visibility = 'visible';
    }
}

function hideDetailImage(){
    if (IE) {
        document.detachEvent("onmousemove", setMouseCoordinates);
    } else {
        document.removeEventListener("mousemove", setMouseCoordinates,   true);
    }
    var obj = document.getElementById('dynamic_div');
    if (obj){
        obj.style.left = '-2000px';
        obj.style.top = '-2000px';
        obj.style.visibility = 'hidden';
        var child = document.getElementById('img_div');
        if(child){
            obj.removeChild(child);
        }
    }
    var obj = document.getElementById('dynamic_detail_div');
    if (obj){
        obj.style.left = '-2000px';
        obj.style.top = '-2000px';
        obj.style.visibility = 'hidden';
        var child = document.getElementById('img_div');
        if(child){
            obj.removeChild(child);
        }
    }
    field1 = document.getElementById('cat_sel');
    if (field1){
        field1.style.visibility='visible';
    }
    field2 = document.getElementById('subcat_sel');
    if (field2){
        field2.style.visibility='visible';
    }
}

function fixPosition(obj){
    var parentHeight = obj.parentNode.parentNode.offsetHeight;
    var childHeight = obj.offsetHeight;
    obj.style.top = (parentHeight-childHeight)/2 + 'px';
}

function fixPosition2(obj){
    var parentHeight = obj.parentNode.offsetHeight;
    var childHeight = obj.offsetHeight;
    obj.style.top = (parentHeight-childHeight)/2 + 'px';
}

function openLargeImage(img){
    window.open('/detail.php?img='+img+'&lang='+GLOBAL_language, 'new', 'toolbar=no, scrollbars=1');
}

function removeDiv(obj){
    obj.parentNode.previousSibling.style.visibility='hidden';
}

function removeDiv2(obj){
    document.getElementById('det_loading_div').style.visibility='hidden';
}

function showDiv(id){
    if (document.getElementById(id)){
        document.getElementById(id).style.visibility='visible';
    } else {
        //get the container
        var container = document.getElementById('img_container');
        //create the loading div for detail image
        var img_loading_div = document.createElement("div");
        img_loading_div.setAttribute("id", "det_loading_div");
        detLoadingText = document.createTextNode(messages['loading'][GLOBAL_language]);
        //assign the text to the div
        img_loading_div.appendChild(detLoadingText);
        //add the loading div
        container.insertBefore(img_loading_div,container.firstChild);
    }
}

function borderIt(obj){
    obj.style.border='1px solid #ff6600';
}

function unBorderIt(obj){
    obj.style.border='1px solid #555';
}

function showContactDiv(){
    document.getElementById('contact_div').className = 'contactDivOn';
}

function hideContactDiv(){
    document.getElementById('contact_div').className = 'contactDivOff';
}

function displayMainLoadingDiv(mod){
    document.getElementById("loader").innerHTML = messages[mod][GLOBAL_language];
    document.getElementById("loader").style.visibility='visible';
}

var pos;
var dif_left;

function addMouseDragListener(){
    pos=0;
    dif_left=0;
	if (IE){
	  	document.attachEvent('onmousemove', setMouseDragCoordinates, true);
	} else {
	  	document.addEventListener('mousemove', setMouseDragCoordinates, true);
	}
}

function setMouseDragCoordinates(e){
  	if (!e){
	    e = window.event;
	}
  	if (e.pageX || e.pageY){
		mouseX = e.pageX;
		mouseY = e.pageY;
	} else if (e.clientX || e.clientY){
	  	mouseX = e.clientX;
		mouseY = e.clientY;
	} else if (event.clientX || event.clientY){
	 	mouseX = event.clientX;
		mouseY = event.clientY;
	}
	dragElement();
}

function dragElement(obj){
    obj = document.getElementById('contact_div');
    if(obj){
        if(!pos){
            dif_left = mouseX - findLeft(obj);
            dif_top = mouseY - findTop(obj);
            pos = 1;
        }
        imgX = mouseX - dif_left;
        imgY = mouseY - dif_top;
        obj.style.left = imgX+'px';
        obj.style.top = imgY+'px';
        var field1 = document.getElementById('cat_sel');
        if (field1){
            if (detectColision(field1, obj)){
                field1.style.visibility='hidden';
            } else {
                field1.style.visibility='visible';
            }
        }
        var field2 = document.getElementById('subcat_sel');
        if (field2){
            if (detectColision(field2, obj)){
                field2.style.visibility='hidden';
            } else {
                field2.style.visibility='visible';
            }
        }
    }
}

function unDragElement(){
    if (IE) {
        document.detachEvent("onmousemove", setMouseDragCoordinates);
    } else {
        document.removeEventListener("mousemove", setMouseDragCoordinates,   true);
    }
}

document.onmouseup = function(){
    if (IE) {
        document.detachEvent("onmousemove", setMouseDragCoordinates);
        field1 = document.getElementById('cat_sel');
        if (field1){
            field1.style.visibility='visible';
        }
        field2 = document.getElementById('subcat_sel');
        if (field2){
            field2.style.visibility='visible';
        }
    } else {
        document.removeEventListener("mousemove", setMouseDragCoordinates,   true);
    }
}

var tmp_id;

function showDetailDynamicDiv(img, id){
    if (img){
        tmp_id = id;
        addMouseListenerNew();
        var obj = document.getElementById('dynamic_detail_div_'+id);
        obj.style.visibility = 'visible';
    }
}

function hideDetailDynamicDiv(id){
    if (IE) {
        document.detachEvent("onmousemove", setMouseCoordinatesNew);
    } else {
        document.removeEventListener("mousemove", setMouseCoordinatesNew,   true);
    }
    var obj = document.getElementById('dynamic_detail_div_'+id);
    if (obj){
        obj.style.left = '-2000px';
        obj.style.top = '-2000px';
        obj.style.visibility = 'hidden';
    }
    field1 = document.getElementById('cat_sel');
    if (field1){
        field1.style.visibility='visible';
    }
    field2 = document.getElementById('subcat_sel');
    if (field2){
        field2.style.visibility='visible';
    }
}

function addMouseListenerNew(){
	if (IE){
	  	document.attachEvent('onmousemove', setMouseCoordinatesNew, true);
	} else {
	  	document.addEventListener('mousemove', setMouseCoordinatesNew, true);
	}
}

function setMouseCoordinatesNew(e){
  	if (!e){
	    e = window.event;
	}
  	if (e.pageX || e.pageY){
		mouseX = e.pageX;
		mouseY = e.pageY;
	} else if (e.clientX || e.clientY){
	  	mouseX = e.clientX;
		mouseY = e.clientY;
	} else if (event.clientX || event.clientY){
	 	mouseX = event.clientX;
		mouseY = event.clientY;
	}
	modifyDivPositionNew();
}

function modifyDivPositionNew(){
    var obj = document.getElementById('dynamic_detail_div_'+tmp_id);
    if ((document.body.clientWidth - ((mouseX+10)+obj.offsetWidth)) < 0){
        imgX = mouseX - 10 - obj.offsetWidth;
    } else {
        imgX = mouseX + 10;
    }
    if ((document.body.clientHeight - ((mouseY+20)+obj.offsetHeight)) < 0){
        imgY = mouseY - 20 - obj.offsetHeight;
    } else {
        imgY = mouseY + 20;
    }
    obj.style.left = imgX+'px';
    obj.style.top = imgY+'px';

    if (IE){
        var field1 = document.getElementById('cat_sel');
        if (field1){
            if (detectColision(field1, obj)){
                field1.style.visibility='hidden';
            } else {
                field1.style.visibility='visible';
            }
        }
        field2 = document.getElementById('subcat_sel');
        if (field2){
            if (detectColision(field2, obj)){
                field2.style.visibility='hidden';
            } else {
                field2.style.visibility='visible';
            }
        }
    }
}

function removeDivClass(obj){
    obj.parentNode.parentNode.className='thumb';
}
