function _set_mouse_cursor(event){ __current_mouse_cursor = _get_mouse_cursor(event); } function _get_mouse_cursor(event){ /* IE6 uses documentElement when DOCTYPE is strict */ var result = {x: null, y: null}; /*if (event.offsetX){ result.x = event.offsetX; } else */ if (document.documentElement.scrollLeft){ result.x= event.clientX + document.documentElement.scrollLeft; } else if (event.pageX){ result.x = event.pageX; } else if (window.scrollX){ result.x= event.clientX + window.scrollX; } else if (document.body.scrollLeft){ result.x= event.clientX + document.body.scrollLeft; } else { result.x = event.clientX; } /*if (event.offsetY){ result.y = event.offsetY; } else */ if (document.documentElement.scrollTop){ result.y= event.clientY + document.documentElement.scrollTop; } else if (event.pageY){ result.y = event.pageY; } else if (window.scrollY){ result.y= event.clientY + window.scrollY; } else if (document.body.scrollTop){ result.y= event.clientY + document.body.scrollTop; } else { result.y = event.clientY; } return result; } /* manage ie 6 quirks */ function ie6_replace_png(el, bg, sizingMethod){ if (typeof el == "string"){ el = document.getElementById(el); } if (el != null){ el.style.background = 'none'; el.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + bg + "', sizingMethod='" + sizingMethod + "')"; } } var fade_states = { 'opacity' : 0.0 } function fade_set_opacity(obj, opacity){ if (typeof obj == 'string'){ obj = document.getElementById(obj); } if (obj != null){ obj.style.opacity = opacity; fade_states.opacity = opacity; } } function fade_in(obj){ if (typeof obj == 'string'){ obj = document.getElementById(obj); } if (obj != null){ fade_set_opacity(obj, 0.0); fade_states.opacity = 0.0; obj.style.display = 'block'; var _t = setInterval( function(){ if (fade_states.opacity < 1.0){ fade_states.opacity += 0.3; if (fade_states.opacity > 1.0){ fade_states.opacity = 1.0; } fade_set_opacity(obj, fade_states.opacity); } else { clearInterval(_t); } }, 50 ); } } var zoom_states = { 'zooming' : false, 'zoomed_out' : false, 'zoomed_in' : false }; function zoom(z, obj, constraints){ if (typeof obj == 'string'){ obj = document.getElementById(obj); } if (obj != null){ var w, h; obj.style.width = parseInt((w = z * parseInt(constraints['max_width']))).toString() + 'px'; obj.style.height = parseInt((h = z * parseInt(constraints['max_height']))).toString() + 'px'; obj.style.top = parseInt(parseInt(__current_mouse_cursor.y) - h / 2).toString() + 'px'; obj.style.left = parseInt(parseInt(__current_mouse_cursor.x) - w / 2).toString() + 'px'; on_zoom(z, obj, constraints); } } function zoom_out(z, obj, constraints){ if (typeof obj == 'string'){ obj = document.getElementById(obj); } if (obj != null){ obj.style.display = 'block'; set_video(null); var _current_z = 1.0 var _z = z; var _obj = obj; var _constraints = constraints; on_zoom_out_start(z, obj, constraints); var _t = setInterval( function(){ if (_current_z > _z){ zoom_states.zooming = true; _current_z -= 0.5; if (_current_z < 0.0){ _current_z = 0.0; } zoom(_current_z, _obj, _constraints); } else { clearInterval(_t); zoom_states.zooming = false; zoom_states.zoomed_in = false; zoom_states.zoomed_out = true; } }, 50 ); } } function zoom_in(z, obj, constraints){ if (typeof obj == 'string'){ obj = document.getElementById(obj); } if (obj != null){ obj.style.display = 'block'; obj.style.width = '1px'; obj.style.height = '1px'; var _current_z = 0.0; var _z = z; var _obj = obj; var _constraints = constraints; var _t = setInterval( function(){ if (_current_z < _z){ zoom_states.zooming = true; _current_z += 0.3; if (_current_z > 1.0){ _current_z = 1.0; } _zoom_in(_current_z, _obj, _constraints); } else { clearInterval(_t); zoom_states.zooming = false; zoom_states.zoomed_in = true; zoom_states.zoomed_out = false; on_zoomed_in(_z, _obj, _constraints); } }, 50 ); } } function _zoom_in(z, obj, constraints){ zoom(z, obj, constraints); } //browser version function is_ie6() { var nav = navigator.userAgent.toLowerCase(); return ((/msie/.test(nav) || /microsoft/.test(nav)) && (parseInt(navigator.appVersion) <= 6)); } function on_zoom(z, obj, constraints){ fade_set_opacity(obj, z); } function on_zoomed_in(z, obj, constraints){ fade_in('movie_container'); document.getElementById('zoomer-btn-close').style.display = 'block'; } function on_zoom_out_start(z, obj, constraints){ var movie_container = document.getElementById('movie_container'); movie_container.style.display = 'none'; movie_container.innerHTML = ''; document.getElementById('zoomer-btn-close').style.display = 'none'; } function get_viewport_dimensions(){ var result = { width: 0, height: 0 } var viewportwidth; var viewportheight; /* http://andylangton.co.uk/articles/javascript/get-viewport-size-javascript/ */ if (typeof window.innerWidth != 'undefined') { viewportwidth = window.innerWidth, viewportheight = window.innerHeight } // IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document) else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) { viewportwidth = document.documentElement.clientWidth, viewportheight = document.documentElement.clientHeight } result.width = viewportwidth; result.height = viewportheight; return result; } function set_video(n) { var el = document.getElementById('movie_container'); if (el != null && (video_list[n] != null)){ /*var s = '';*/ var s =' '; el.innerHTML = s; } else { el.innerHTML = ''; } }