
function changeElementDisplayStatus(element_id){
	if($(element_id) != undefined){
		if($(element_id).style.display == 'none'){
			$(element_id).style.display = '';
		}else $(element_id).style.display = 'none';
	}
}

function changeElementVisibility(element_id){
	if($(element_id) != undefined){
		if($(element_id).style.visibility == 'hidden'){
			$(element_id).style.visibility = 'visible';
		}else $(element_id).style.visibility = 'hidden';
	}
}

function popup(mylink, windowname, width, height, scrollbars){
    if (! window.focus) return true;
    
    var href;
    if (typeof(mylink) == 'string')
       href=mylink;
    else
       href=mylink.href;
    
    if(!width) width = 700;
    if(!height) height = 580;
    if(!scrollbars) scrollbars = 'no';
       
    popup_window = window.open(href, windowname, 'width=' + width + ',height=' + height + ',scrollbars=' + scrollbars);
    if (window.focus) popup_window.focus();
    return false;
}
function refreshParentWindow(close_window){
    window.opener.location.reload();
    
    if(close_window){
        window.close();
    }
}
    
function showFancyPopUpImage(imgFilepath, width, height){
   
    winWH = getWindowWidthHeight();
    winW = winWH[0];
    winH = winWH[1];
    
    srcOfXY = getScrollXY();
    srcOfY = srcOfXY[1];
    
    $('imgPopUp').style.width = width + 30 + 'px';
    $('imgPopUp').style.height = height + 50 + 'px';
    
    var top = ((winH - height) / 2)  + (srcOfY - 30);
    if(top < 0) top = 0;
    $('imgPopUp').style.top = top + 'px';

    var left = ((winW - width) / 2);
    if(left < 0) left = 0;
    
    $('imgPopUp').style.left = left + 'px';
    $('popUpImg').src = imgFilepath;
    
    $('imgPopUp').style.opacity= 0;
    setTimeout("$('imgPopUp').style.visibility = 'visible'", 100);
    new Effect.Opacity('imgPopUp', { from: 0, to: 1 });
}
function hideFancyPopUpImage(){
    new Effect.Opacity('imgPopUp', { from: 1, to: 0 });
    setTimeout("$('imgPopUp').style.visibility = 'hidden'", 1000);
}

function showPopUpImage(imgFilepath, width, height){
   
    winWH = getWindowWidthHeight();
    winW = winWH[0];
    winH = winWH[1];
    
    srcOfXY = getScrollXY();
    srcOfY = srcOfXY[1];
    
    $('imgPopUp').style.width = width + 30 + 'px';
    $('imgPopUp').style.height = height + 50 + 'px';
    
    var top = ((winH - height) / 2)  + (srcOfY - 30);
    if(top < 0) top = 0;
    $('imgPopUp').style.top = top + 'px';

    var left = ((winW - width) / 2);
    if(left < 0) left = 0;
    
    $('imgPopUp').style.left = left + 'px';
    $('popUpImg').src = imgFilepath;
    //$('imgPopUp').style.visibility = 'visible';
    setTimeout("$('imgPopUp').style.visibility = 'visible'", 500); //time for preloading image
}
function hidePopUpImage(){
    $('imgPopUp').style.visibility = 'hidden';
}

function getWindowWidthHeight() {
     /*
    if (parseInt(navigator.appVersion)>3) {
     if (navigator.appName=="Netscape") {
        winW = window.innerWidth;
        winH = window.innerHeight;
        scrOfY = window.pageYOffset;
     }
     if (navigator.appName.indexOf("Microsoft")!=-1) {
        winW = document.body.clientWidth;
        winH = document.documentElement.clientHeight;
        scrOfY = document.body.scrollTop;
     }
    }
    */
  var myWidth = 0, myHeight = 0;
    if( typeof( window.innerWidth ) == 'number' ) {
        //Non-IE
        myWidth = window.innerWidth;
        myHeight = window.innerHeight;
    } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
        //IE 6+ in 'standards compliant mode'
        myWidth = document.documentElement.clientWidth;
        myHeight = document.documentElement.clientHeight;
    } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
        //IE 4 compatible
        myWidth = document.body.clientWidth;
        myHeight = document.body.clientHeight;
    }
  return [ myWidth, myHeight ];
}
function getScrollXY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  return [ scrOfX, scrOfY ];
}
function randomString() {
	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
	var string_length = 8;
	var randomstring = '';
	for (var i=0; i<string_length; i++) {
		var rnum = Math.floor(Math.random() * chars.length);
		randomstring += chars.substring(rnum,rnum+1);
	}
	return randomstring;
}
