/* Common JS lib. v1.0.2/319 */

// Global variables
var isCSS, isW3C, isIE4, isNN4, isIE6CSS, isOpera;
function initDHTMLAPI() {
    if (document.images) {
        isCSS = (document.body && document.body.style) ? true : false;
        isW3C = (isCSS && document.getElementById) ? true : false;
        isIE4 = (isCSS && document.all) ? true : false;
        isNN4 = (document.layers) ? true : false;
		isOpera = (window.opera) ? true : false;
        isIE6CSS = (document.compatMode && document.compatMode.indexOf("CSS1") >= 0) ? true : false;
		if (isIE6CSS==true){ isCSS=true; }
    }
}
initDHTMLAPI();

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function MM_changeProp(objName,x,theProp,theValue) { //v6.0
  var obj = MM_findObj(objName);
  if (obj && (theProp.indexOf("style.")==-1 || obj.style)){
    if (theValue == true || theValue == false)
      eval("obj."+theProp+"="+theValue);
    else eval("obj."+theProp+"='"+theValue+"'");
  }
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// swap menus
function spy_menu_open(menuid,ar_close,dont_force){
// close
	if (ar_close){ for (var i in ar_close) { spy_menu_close(ar_close[i]); }}
// open
	var menu_obj=getRawObject(menuid);
	if (menu_obj.style.display=='' && dont_force!=1){
		spy_menu_close(menuid);
	} else {
		menu_obj.style.display='';
		menu_obj.style.visibility='visible';
	}
}
function spy_menu_open_array(m_array,arr_pfix,dont_force){
	for (var i in m_array) {
		if (arr_pfix){ var el=arr_pfix + m_array[i]; } else { var el=m_array[i]; }
		spy_menu_open(el,new Array(),dont_force);
	}
}
function spy_menu_close_array(m_array,arr_pfix,dont_force){
	for (var i in m_array) {
		if (arr_pfix){ var el=arr_pfix + m_array[i]; } else { var el=m_array[i]; }
		spy_menu_close(el);
	}
}
function spy_menu_close(menuid){
	var menu_obj=getRawObject(menuid);
	if (menu_obj){
		menu_obj.style.display='none';
		menu_obj.style.visibility='hidden';
	}
}
function spy_stills_open(menuid,callertblid,callertdid,frameid,menu_width,framesrc){
	var menu_obj=getRawObject(menuid);
	if (menu_obj.style.display==''){
		spy_menu_close(menuid);
	} else{
		var frame_obj=getRawObject(frameid);
		var caller_tbl_obj=getRawObject(callertblid);
		var caller_td_obj=getRawObject(callertdid);
	// - properties
		if (frame_obj.src!=framesrc) { frame_obj.src=framesrc; }
		menu_obj.style.display='';
		menu_obj.style.visibility='visible';
		menu_obj.style.width=menu_width;
	// - positioning
		var off=fetch_offset(caller_td_obj);
		var tbl_height=getObjectHeight(caller_tbl_obj);
		shiftTo(menu_obj, off['left'], off['top']+tbl_height);
	}
}
function spy_layer_open(menuid,callertblid,callertdid,menu_width,ar_close){
// close
	for (var i in ar_close) { spy_menu_close(ar_close[i]); }
// open download
	var menu_obj=getRawObject(menuid);
	if (menu_obj.style.display==''){
		spy_menu_close(menuid);
	} else{
		var caller_tbl_obj=getRawObject(callertblid);
		var caller_td_obj=getRawObject(callertdid);
	// - properties
		menu_obj.style.display='';
		menu_obj.style.visibility='visible';
		menu_obj.style.width=menu_width;
	// - positioning
		var off=fetch_offset(caller_td_obj);
		var tbl_height=getObjectHeight(caller_tbl_obj);
		shiftTo(menu_obj, off['left'], off['top']+tbl_height);
	}
}
function spy_switch_backgrounds(current_id,all_ids,current_color,other_colors){
	for (var i in all_ids) {
		var obj=getRawObject(all_ids[i]);
		if (all_ids[i]!=current_id){
			obj.style.background=other_colors
		} else {
			obj.style.background=current_color
		}
	}	
}

//checkboxes
function spy_switch_checkboxes(ar_list,prefix,postfix){
	for (var i in ar_list) {
		var menu_obj=getRawObject(prefix + ar_list[i] + postfix);
		if (menu_obj.checked==true) { menu_obj.checked=false;
		} else { menu_obj.checked=true; }
	}
}


// images
function spy_show_image(imgid,loaderid){
	var image_obj=getRawObject(imgid);
	//var loader_obj=getRawObject(loaderid);
	image_obj.style.display='';
	image_obj.style.visibility='visible';
	/*loader_obj.style.display='none';
	loader_obj.style.width=0;
	loader_obj.style.height=0;*/
}
function spy_show_bg(bg_td_id,image_src){
	var td_obj=getRawObject(bg_td_id);
	td_obj.style.backgroundImage='url('+image_src+')';
}
function spy_image_gamma(imageid,gamme_imageid,value,src_black,src_white){
	//if (isOpera!==true && isIE6CSS==true){
		value=parseInt(value);
		var gamma_image_obj=getRawObject(gamme_imageid);
		var image_obj=getRawObject(imageid);
		if (value>0) {
			gamma_image_obj.src=src_white;
		} else if (value==0){
			gamma_image_obj.src='';
		} else if (value<=0) {
			gamma_image_obj.src=src_black;
		}
		gamma_image_obj.style.width=getObjectWidth(image_obj);
		gamma_image_obj.style.height=getObjectHeight(image_obj);
		gamma_image_obj.style.filter='alpha(opacity=' + Math.abs((value * 5)) + ')';
	//}
}
function spy_set_iframe_size(frameid,sampleid,more_height,width){
	var frame_obj=getRawObject_inparent('stills_frame')
	var height=getObjectHeight(sampleid);
	if (width=="") { width=getObjectWidth(sampleid); }
//	alert(height);
	frame_obj.width=width;
	frame_obj.height=parseInt(height)+parseInt(more_height);
}
function spy_swap_scale(action,current){
	var cur_obj=getRawObject(current);
	var color_over=scale_ar_colors[0];
	var color_out=scale_ar_colors[1];
	var	color_sel=scale_ar_colors[2];
	if (action=='over' && cur_obj.style.background!=color_sel){
		cur_obj.style.background=color_over;
	} else if(action=='out' && cur_obj.style.background!=color_sel){
		cur_obj.style.background=color_out;
	} else if(action=='select'){
		for (var i in scale_ar_all) {
			var all_obj=getRawObject(scale_ar_all[i]);
			if (all_obj.style.background==color_sel){ all_obj.style.background=color_out; }
		}
		cur_obj.style.background=color_sel;
	}
}


// AJAX
function ajax_createRequestObject(){
	var request_o;
	var userAgent = navigator.userAgent.toLowerCase();
	var is_opera  = (userAgent.indexOf('opera') != -1);
	var is_saf    = ((userAgent.indexOf('applewebkit') != -1) || (navigator.vendor == 'Apple Computer, Inc.'));
	var is_webtv  = (userAgent.indexOf('webtv') != -1);
	var is_ie     = ((userAgent.indexOf('msie') != -1) && (!is_opera) && (!is_saf) && (!is_webtv));
	var is_ie4    = ((is_ie) && (userAgent.indexOf('msie 4.') != -1));
	var is_moz    = ((navigator.product == 'Gecko') && (!is_saf));
	var is_kon    = (userAgent.indexOf('konqueror') != -1);
	var is_ns     = ((userAgent.indexOf('compatible') == -1) && (userAgent.indexOf('mozilla') != -1) && (!is_opera) && (!is_webtv) && (!is_saf));
	var is_ns4    = ((is_ns) && (parseInt(navigator.appVersion) == 4));
	var is_mac    = (userAgent.indexOf('mac') != -1);
	if(is_ie==true){
		request_o = new ActiveXObject("Microsoft.XMLHTTP");
	} else if (is_ie4==true){
		request_o = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		request_o = new XMLHttpRequest();
	}
	return request_o;
}
function ajax_send(url,replaceobj,debug){
	var http = ajax_createRequestObject();
	var randval = new Date().getTime();
	url=url + '&randval=' + randval;
	if (debug==1) { alert(url); }
	http.open('get', url);
	http.onreadystatechange = function(){
		if(http.readyState == 4){
			var response = http.responseText;
			document.getElementById(replaceobj).innerHTML = response;
		}
	} 
	http.send(null);
	delete http;
}


// object related
function fetch_offset(obj){
	var left_offset = obj.offsetLeft;
	var top_offset = obj.offsetTop;
	while ((obj = obj.offsetParent) != null){
		left_offset += obj.offsetLeft;
		top_offset += obj.offsetTop;
	}
	return { 'left' : left_offset, 'top' : top_offset };
}
function shiftTo(obj, x, y) {
    var theObj = getObject(obj);
    if (theObj) {
        if (isCSS) {
            // equalize incorrect numeric value type
            var units = (typeof theObj.left == "string") ? "px" : 0 
            theObj.left = x + units;
            theObj.top = y + units;
        } else if (isNN4) {
            theObj.moveTo(x,y)
        }
    }
}
function getRawObject(obj) {
    var theObj;
    if (typeof obj == "string") {
        if (isW3C) {
            theObj = document.getElementById(obj);
        } else if (isIE4) {
            theObj = document.all(obj);
        } else if (isNN4) {
            theObj = seekLayer(document, obj);
		} else if (isIE6CSS) {
			theObj = document.getElementById(obj);
        } else {
			theObj = document.getElementById(obj);
		}
    } else {
        theObj = obj;
    }
    return theObj;
}
function getRawObject_inparent(obj) {
    var theObj;
    if (typeof obj == "string") {
        if (isW3C) {
            theObj = parent.document.getElementById(obj);
        } else if (isIE4) {
            theObj = parent.document.all(obj);
        } else if (isNN4) {
            theObj = seekLayer(parent.document, obj);
		} else if (isIE6CSS) {
			theObj = parent.document.getElementById(obj);
        }
    } else {
        theObj = obj;
    }
    return theObj;
}
function getObject(obj) {
    var theObj = getRawObject(obj);
    if (theObj && isCSS) {
        theObj = theObj.style;
    }
    return theObj;
}
function getObjectHeight(obj)  {
    var elem = getRawObject(obj);
    var result = 0;
    if (elem.offsetHeight) {
        result = elem.offsetHeight;
    } else if (elem.clip && elem.clip.height) {
        result = elem.clip.height;
    } else if (elem.style && elem.style.pixelHeight) {
        result = elem.style.pixelHeight;
    }
    return parseInt(result);
}
function getObjectWidth(obj)  {
    var elem = getRawObject(obj);
    var result = 0;
    if (elem.offsetWidth) {
        result = elem.offsetWidth;
    } else if (elem.clip && elem.clip.width) {
        result = elem.clip.width;
    } else if (elem.style && elem.style.pixelWidth) {
        result = elem.style.pixelWidth;
    }
    return parseInt(result);
}

function mp_toogle(id) {
	 el=getRawObject(id);
	 el.style.display=(el.style.display=='none'? 'block':'none');
	 return false;
}

