// Swaps 2 images in Re-oreder module
var downID='';
var upID='';

function drag(FromID) 
{
	downID=FromID;
}
function drop(ToID) 
{
	upID=ToID;
	if(downID!='') swap(downID,upID);
}
function swap(FromID,ToID) 
{
	from_obj=document.getElementById("obj_"+FromID);
	to_obj=document.getElementById("obj_"+ToID);
	hid_from=document.getElementById("hid_"+FromID);
	hid_to=document.getElementById("hid_"+ToID);
	from_obj.src = eval("img_"+hid_to.value + ".src")
	to_obj.src = eval("img_"+hid_from.value + ".src")
	tmp=hid_from.value;
	hid_from.value=hid_to.value;
	hid_to.value=tmp;

	alt_from=document.getElementById("alt_"+FromID);
	alt_to=document.getElementById("alt_"+ToID);
	tmp=alt_from.value;
	alt_from.value=alt_to.value;
	alt_to.value=tmp;

	id_from=document.getElementById("img_id_"+FromID);
	id_to=document.getElementById("img_id_"+ToID);
	tmp=id_from.value;
	id_from.value=id_to.value;
	id_to.value=tmp;
	
	upID='';
	downID='';	
}

function dpSmartLink(u,n,w,h,p) { // v1.4
  var a,j,k,x,y,f='',ref='';
  ref=window.location.href;
  if(!n){n='';}
  if(w){f+='width='+w+',';}
  if(h){f+='height='+h+',';}
  if(p)
  {
    p=p.split(':');
    if(p[0]!='z'){p[0]=='c'?(x=(screen.width-w)/2):x=p[0];f+='left='+x+',';}
    if(p[1]!='z')
    {
      if(p[0]=='c')
      {
        y=(screen.height-h-p[1])/2;
        if(navigator.appName.indexOf('Op')!=-1)
        {
          y-=96;y=y<0?0:y;
        }
      }
      else
      {
        y=p[1];
      }
      f+='top='+y+',';
    }
  }
  a=arguments.length;
  if(a>5)
  {
    for (k=5;k<a;k++)
    {
      switch(arguments[k])
      {
        case 'all':f+='toolbar,menubar,location,scrollbars,status,resizable,';break;
        case 't':f+='toolbar,';break; 
        case 'm':f+='menubar,';break;
        case 'l':f+='location,';break;
        case 'sc':f+='scrollbars,';break;
        case 's':f+='status,';break;
        case 'r':f+='resizable,';
      }
    }
  }
  if(f.charAt(f.length-1)==',')
  {
    f=f.slice(0,-1);
  }
  j=window.open(u+'?ref='+escape(ref),n,f);j.focus();
  document.MM_returnValue=false;
}
function isEmail(who) {
	if (who.value='') return true;
	var email=/^[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*@[A-Za-z0-9]+([_\.-][A-Za-z0-9]+)*\.([A-Za-z]){2,4}$/i;
	return(email.test(who));
}

function opacity(id, opacStart, opacEnd, millisec) {
	//speed for each frame
	var speed = Math.round(millisec / 100);
	var timer = 0;

	//determine the direction for the blending, if start and end are the same nothing happens
	if(opacStart > opacEnd) {
		for(i = opacStart; i >= opacEnd; i--) {
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	} else if(opacStart < opacEnd) {
		for(i = opacStart; i <= opacEnd; i++)
			{
			setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	}
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
	var object = document.getElementById(id).style; 
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}

function shiftOpacity(id, millisec) {
	//if an element is invisible, make it visible, else make it ivisible
	if(document.getElementById(id).style.opacity == 0) {
		opacity(id, 0, 100, millisec);
	} else {
		opacity(id, 100, 0, millisec);
	}
}

function blendimage(divid, imageid, imagefile, millisec) {
	var speed = Math.round(millisec / 100);
	var timer = 0;
	
	//set the current image as background
	document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")";
	
	//make image transparent
	changeOpac(0, imageid);
	
	//make new image
	document.getElementById(imageid).src = imagefile;

	//fade in image
	for(i = 0; i <= 100; i++) {
		setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed));
		timer++;
	}
}

function currentOpac(id, opacEnd, millisec) {
	//standard opacity is 100
	var currentOpac = 100;
	
	//if the element has an opacity set, get it
	if(document.getElementById(id).style.opacity < 100) {
		currentOpac = document.getElementById(id).style.opacity * 100;
	}

	//call for the function that changes the opacity
	opacity(id, currentOpac, opacEnd, millisec)
}


function getOffsetLeft (el) {
  var sl = el;
  var ol = el.offsetLeft;
  var sh = 0;
  while ((el = el.offsetParent) != null){
    ol += el.offsetLeft;
     if(el.offsetParent && el.offsetParent.offsetParent){
     var scrollLeft = el.offsetParent.scrollLeft;
       if(!isNaN(scrollLeft)){
         sh -= scrollLeft;
       }
    }
  }

   el = sl;
   if(document.all){
        while((el = el.parentNode) != null){
             if(el.parentNode && el.parentNode.parentNode
                && !(el.parentNode.tagName && el.parentNode.tagName.toUpperCase() == "BODY")){
      	        var scrollLeft = el.parentNode.scrollLeft;
                if(!isNaN(scrollLeft) && scrollLeft > 0 ){
                   sh -= scrollLeft;
                }
            }
        }
   }
  return ol+sh;
}

function getOffsetTop (el) {
  var ot = el.offsetTop;
  var sl = el;
  var sh = 0;
  while((el = el.offsetParent) != null){
       ot += el.offsetTop;
       if(el.offsetParent && el.offsetParent.offsetParent){
	     var scrollTop = el.offsetParent.scrollTop;
         if(!isNaN(scrollTop)) sh -= scrollTop;
      }
   }
   el = sl;
   if(document.all){
        while((el = el.parentNode) != null){
             if(el.parentNode && el.parentNode.parentNode
                && !(el.parentNode.tagName && el.parentNode.tagName.toUpperCase() == "BODY")){
      	        var scrollTop = el.parentNode.scrollTop;
                if(!isNaN(scrollTop) && scrollTop > 0 ){
                   sh -= scrollTop;
                }
            }
        }
   }
  return ot + sh;
}
function infoHide(el)
{
	opacity(el.id, 100, 0, 500)
}

function infoShow(el, id)
{
	var divs = document.getElementsByTagName('div');
	for (var i = 0; i<divs.length; i++)
	{
		if (!divs[i].id) continue;
		if (divs[i].id.substring(0,6) != 'contri') continue;
		if (divs[i].id == id) continue;
		divs[i].style.display='none';
		divs[i].style.opacity='0';
	}

	var x = getOffsetLeft(el);
	var y = getOffsetTop(el);
	
	var contriDiv = document.getElementById(id);
	if (contriDiv.style.opacity > 0 && contriDiv.style.display=='') {
		return infoHide(contriDiv);
	}		
	contriDiv.style.position='absolute';
	contriDiv.style.top = y+30;
	contriDiv.style.left = x+30;
	contriDiv.style.display='';
	opacity(id, 0, 100, 500)
}

