var GADGET_ID_TITLE_BASE = "_gadget_id_title_"; var GADGET_ID_IFRAME_BASE = "_gadget_id_iframe_"; var SC_GADGETCONTAINER = "gadgetContainer"; var SC_GADGETWINDOW = "gadgetWindow"; var SC_TEMPLATE_ACTIVITIES = "activities"; var SC_ACTIVITY_OBJECT = "ownerActivities"; var TEMPLATE_FRIENDS_PROFILE = "FriendsProfile"; var SC_FIELD_MESSAGE_RECIPIENT = "msgr"; var SC_FIELD_MESSAGE_SUBJECT = "msgs"; var SC_FIELD_MESSAGE_BODY = "msgb"; var SC_TEMPLATE_LISTS_PRODUCTS_PROFILE = "ListsProductsProfile"; var SC_TEMPLATE_LISTS_STORES_PROFILE = "ListsStoresProfile"; var SC_TEMPLATE_LISTS_CATEGORIES_PROFILE = "ListsCategoriesProfile"; var SC_SERVICE_FAVORITES = "favorites"; /* SHOP.COM Javascript utilities by Jordan Zimmerman (c)2006 by SHOP.COM All rights reserved worldwide */ var sc_data_map = new Array(); var sc_ajax_data_tab = new Array(); var sc_ajax_data_callback_tab = new Array(); var SC_DISPLAY_MODE_STANDARD = 0; var SC_DISPLAY_MODE_FADE = 1; var SC_DISPLAY_MODE_SLIDE_DOWN = 2; var SC_DISPLAY_MODE_SLIDE_UP = 3; var SC_DISPLAY_MODE_SLIDE_LEFT = 4; var SC_DISPLAY_MODE_SLIDE_RIGHT = 5; var SC_DISPLAY_MODE_ZOOM = 6; var SC_SLIDE_INCREMENT = 5; var SC_SLIDE_INTERVAL = 10; var SC_FADE_IN_RATES = Array(1, 1, 1, 1, 1, 5, 5, 5, 10, 25); var SC_FADE_OUT_RATES = Array(1, 1, 1, 1, 1, 1, 1, 1, 5); var SC_FADE_INTERVAL = 50; var SC_ZOOM_STEP = 5; var SC_ZOOM_MIN = 25; var SC_ZOOM_STEP_QTY = 25; var SC_POPUP_CLOSE_TIME = 2500; var SC_TRANSPORT_STOP = 0; var SC_TRANSPORT_NEXT = 1; var SC_TRANSPORT_PREVIOUS = 2; var SC_TRANSPORT_PLAY = 3; var SC_POPUP_WINDOW_LEFT_OFFSET = 150; var SC_POPUP_WINDOW_TOP_OFFSET = 150; var SC_IMMEDIATE_SCRIPT_HEADER_PREFIX = "AMOS_IMMEDIATE_SCRIPT_"; var SC_REDIRECT_HEADER = "AMOS_AJAX_REDIRECT"; var SC_HREF_HEADER = "AMOS_AJAX_HREF"; var SC_VEIL_ID = 'veil'; var HTTP_STATUS_NO_CONTENT = 204; var HTTP_STATUS_NO_CONTENT_IE = 1223; function sc_is_array(obj) { return obj && !(obj.propertyIsEnumerable('length')) && typeof obj === 'object' && typeof obj.length === 'number'; } function sc_is_defined(obj_name) { try { return typeof(eval(obj_name)) != "undefined"; } catch ( err ) { // ignore } return false; } function sc_is_ssl() { return (document.location.protocol == "https:") || (document.location.toString().indexOf('https://') >= 0); } function sc_on_load(script) { var local_on_load = function() { eval(script); }; sc_add_listener(window,"load",local_on_load); } function sc_change_via_form_request(id, url, form_name, prefix, caller) { var item = document.getElementById(id); var data = sc_get_data(id); var form = document.forms[form_name]; var values = sc_get_form_data(form,prefix); if( caller.id ) eval("values['" + caller.id + "'] = true"); sc_disable_return_key_override(); sc_force_change_via_request(id,url,sc_url_encode_object(values)); } function sc_get_form_data(form,prefix) { var map = new Object(); for (i=0; i < form.elements.length; ++i ) { if( form.elements[i].name.indexOf(prefix) == 0 ) { var value; if( form.elements[i].type == 'checkbox' && !form.elements[i].checked ) continue; else if( form.elements[i].type == 'radio' && !form.elements[i].checked ) continue; else if( form.elements[i].type == 'select-multiple' ) { value = ''; var element = form.elements[i]; for (j=0; j < element.childNodes.length; ++j ) { var this_var = element.childNodes[j]; if( this_var && this_var.selected ) value +=','+element.childNodes[j].value; } } else value = form.elements[i].value; map[form.elements[i].name] = value; } } return map; } function sc_url_encode(plaintext) { // I found this at http://www.albionresearch.com/misc/urlencode.php -- JZ // The Javascript escape and unescape functions do not correspond // with what browsers actually do... var SAFECHARS = "0123456789" + // Numeric "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + // Alphabetic "abcdefghijklmnopqrstuvwxyz" + "-_.!~*'()"; // RFC2396 Mark characters var HEX = "0123456789ABCDEF"; var encoded = ""; for (var i = 0; i < plaintext.length; i++ ) { var ch = plaintext.charAt(i); if (ch == " ") { encoded += "+"; // x-www-urlencoded, rather than %20 } else if (SAFECHARS.indexOf(ch) != -1) { encoded += ch; } else { var charCode = ch.charCodeAt(0); if (charCode > 255) { encoded += "+"; } else { encoded += "%"; encoded += HEX.charAt((charCode >> 4) & 0xF); encoded += HEX.charAt(charCode & 0xF); } } } // for return encoded; } function sc_url_encode_object(obj) { var str = new String(); for (var i in obj) { str += escape(i) + "=" + escape(obj[i]) + "&"; } return str + ""; // for IE append the empty string } function sc_add_listener(obj, evType, fn) { if (obj.addEventListener) { obj.addEventListener(evType, fn, false); return true; } else if (obj.attachEvent) return obj.attachEvent('on' + evType, fn); else return false; } function sc_hide_on_click(id) { function _process_clicks() { var item = document.getElementById(id); if ( !sc_is_invisible(item) ) { sc_hide_show(id, false); document.onclick = null; } return true; } document.onclick = _process_clicks; } var SC_VEIL_PAD = 10; function sc_show_hide_veil(show_it) { var veilOverlay = document.getElementById(SC_VEIL_ID); if( show_it ) { if( veilOverlay ) //Already up return; veilOverlay = document.createElement('div'); veilOverlay.id = SC_VEIL_ID; veilOverlay.style.zIndex = 1000; veilOverlay.innerHTML = ' '; var setVeilWidth = function() { veilOverlay.style.width = (document.body.scrollWidth+SC_VEIL_PAD) + "px"; veilOverlay.style.height = (document.body.scrollHeight+SC_VEIL_PAD) + "px"; } setVeilWidth(); sc_add_listener(window, "resize", setVeilWidth); document.body.appendChild(veilOverlay); veilOverlay.style.display = "block"; sc_z_compare_and_enable_all(veilOverlay,false); } else { if( !veilOverlay ) //Already down return; sc_z_compare_and_enable_all(veilOverlay,true); veilOverlay.parentNode.removeChild(veilOverlay); } } var SC_SELECT_BOX_STATE = new Object(); function sc_z_compare_and_enable_all(item, enable) { if( !sc_is_ie_6_or_earlier() ) return; var selects = document.getElementsByTagName("select"); for (var i in selects) { var select = selects[i]; if( sc_z_compare(item, select) ) { if( SC_SELECT_BOX_STATE[select.name] ) { select.disabled = SC_SELECT_BOX_STATE[select.name]; SC_SELECT_BOX_STATE[select.name] = null; } else { SC_SELECT_BOX_STATE[select.name] = select.disabled; select.disabled = !enable; } } } var inputs = document.getElementsByTagName("input"); for (var i in inputs) { var input = inputs[i]; if( sc_z_compare(item, input) ) { input.disabled = !enable; } } var as = document.getElementsByTagName("a"); for (var i in as) { var a = as[i]; a.disabled = !enable; } } function sc_hide_selects(item) { if( !sc_is_ie_6_or_earlier() ) return; var selects = document.getElementsByTagName("select"); for ( var j = 0; j < selects.length; ++j ) { var select = selects[j]; if( sc_is_overlapping(item, select) && !sc_is_parent(item, select) ) { select.style.visibility = "hidden"; } } } function sc_show_selects(item) { if( !sc_is_ie_6_or_earlier() ) return; // If the veil is up never ignore var veilOverlay = document.getElementById(SC_VEIL_ID); if( veilOverlay != null ) return; var selects = document.getElementsByTagName("select"); for ( var i = 0; i < selects.length; ++i ) { var select = selects[i]; if( sc_is_overlapping(item, select) && !sc_is_parent(item, select) ) { select.style.visibility = "visible"; } } } function sc_child_has_style(item,style) { if( item && item.nodeType && item.nodeType == 1 ) { var value; if( item.style ) { value = eval("item.style." + style); if( value ) return value; } for(var c in item.childNodes ) { if( (value = sc_child_has_style(item.childNodes[c],style)) ) { return value; } } } return null; } function sc_z_compare(item1, item2) { var item1_z_index = sc_has_style(item1,"zIndex"); var item2_z_index = sc_has_style(item2,"zIndex"); if( !item1_z_index && item2_z_index ) return false; if( item1_z_index && !item2_z_index ) return true; if( !item1_z_index && !item2_z_index ) return false; if( item1_z_index && item2_z_index ) return (item1_z_index*1) > (item2_z_index*1); } var SC_MAX_PARENT_DEPTH = 25; function sc_is_parent(parent, child) { // Clip this depth test var depth = 0; var is_parent = false; if (child.parentNode) { while (child.parentNode) { if( depth > SC_MAX_PARENT_DEPTH ) return false; if( child.parentNode == parent ) return true; child = child.parentNode; depth += 1; } } return false; } function sc_has_style(item, style) { // Clip this depth test var depth = 0; var is_parent = false; if (item.offsetParent) { while (item.offsetParent) { if( depth > SC_MAX_PARENT_DEPTH ) return null; if( item && item.nodeType && item.nodeType == 1 ) { value = eval("item.style." + style); if( value ) return value; item = item.offsetParent; depth += 1; } } } return null; } function sc_is_overlapping(obj1, obj2) { var pos1 = sc_get_pos(obj1); var pos2 = sc_get_pos(obj2); // get the radi of each rect var width1 = pos1.width/2; var height1 = pos1.height/2; var width2 = pos2.width/2; var height2 = pos2.height/2; // compute center of each rect var cx1 = pos1.left + width1; var cy1 = pos1.top + height1; var cx2 = pos2.left + width2; var cy2 = pos2.top + height2; // compute deltas var dx = Math.abs(cx2 - cx1); var dy = Math.abs(cy2 - cy1); // test if rects overlap if (dx < (width1+width2) && dy < (height1+height2)) return true; else // else no collision return false; } function sc_get_pos(obj) { var pos = new Object(); var x = sc_get_posx(obj,false); var y = sc_get_posy(obj,false); pos.top = y; pos.left = x; pos.width = obj.offsetWidth; pos.height = obj.offsetHeight; return pos; } function sc_get_posx(obj1) { var curleft = 0; if (obj1.offsetParent) { while (obj1.offsetParent) { curleft += obj1.offsetLeft obj1 = obj1.offsetParent; } } else if (obj1.x) curleft += obj1.x; return curleft; } function sc_get_posy(obj1) { var curtop = 0; if( !sc_is_ie() ) curtop -= obj1.offsetHeight; if (obj1.offsetParent) { while (obj1.offsetParent) { curtop += obj1.offsetTop obj1 = obj1.offsetParent; } } else if (obj1.y) curtop += obj1.y; return curtop; } function sc_attach(objName1, objName2, offsetx, offsety, side) { var obj1 = document.getElementById(objName1); var obj2 = document.getElementById(objName2); var x = sc_get_posx(obj1); var y = sc_get_posy(obj1); var display = obj2.style.display; if( display == 'none' ) { sc_set_opacity(obj2, 0) obj2.style.display = ''; } if( side == "TOP" ) { obj2.style.left = (x + offsetx + "px"); obj2.style.top = (y - obj2.clientHeight + offsety + "px"); } else if( side == "RIGHT" ) { if( sc_is_absolute(obj1) ) { obj2.style.left = (obj1.offsetWidth + offsetx + "px"); obj2.style.top = (offsety + "px"); } else { obj2.style.left = (x + obj1.offsetWidth + offsetx + "px"); obj2.style.top = (y + offsety + "px"); } } else if( side == "BELOW" ) { obj2.style.left = (x + offsetx + "px"); obj2.style.top = (y + (obj1.offsetHeight + offsety) + "px"); } else if( side == "LEFT" ) { obj2.style.left = (x - obj2.clientWidth + offsetx + "px"); obj2.style.top = (y + offsety + "px"); } else if( side == "PAGE_CENTER" ) { sc_center_section_scrolled(objName2, true); } if( display == 'none' ) { obj2.style.display = display; sc_remove_opacity(obj2); } } function sc_center_section(id) { sc_center_section_scrolled(id, false); } function sc_center_section_scrolled(id, scroll_adjust) { var item = document.getElementById(id); var display = item.style.display; if( display == 'none' ) { sc_set_opacity(item, 0) item.style.display = ''; } var width = sc_window_width(); var scrollLeft = scroll_adjust ? document.documentElement.scrollLeft : 0; item.style.left = (width / 2) - (item.clientWidth / 2) + scrollLeft + "px"; var height = sc_window_height(); var scrollTop = scroll_adjust ? document.documentElement.scrollTop : 0; item.style.top = Math.abs((height / 2) - (item.clientHeight / 2)) + scrollTop + "px"; if( display == 'none' ) { item.style.display = display; } } function sc_center_section_horiz(id, scroll_adjust) { if( top != undefined ) scroll_adjust = false; var item = document.getElementById(id); var display = item.style.display; if( display == 'none' ) { sc_set_opacity(item, 0) item.style.display = ''; } var width = sc_window_width(); var scrollLeft = scroll_adjust ? document.documentElement.scrollLeft : 0; item.style.left = (width / 2) - (item.clientWidth / 2) + scrollLeft + "px"; if( display == 'none' ) { item.style.display = display; } } function sc_delayed_reload(ticks) { window.setTimeout(_reload, ticks); function _reload() { window.location.reload(true); } } function sc_iframe_reload(id) { var iframe = document.getElementById(id); if (iframe) { //noinspection SillyAssignmentJS iframe.src = iframe.src; } } function sc_get_data(id) { var data = sc_data_map[id]; if ( !data ) { var item = document.getElementById(id); data = new Object(); sc_data_map[id] = data; data.request_key = ""; data.request_in_progress = false; data.display_method = 0; data.display_method_arguments = null; data.has_been_faded = false; data.has_been_slid = false; data.is_busy = false; data.is_in_popup = false; data.rotate_data = null; data.on_show_inset_id = null; data.on_show_inset_padding = null; data.toggle_id = null; data.wait_timeout = null; if (!item) data.style_display = ""; else { data.style_display = item.style.display; if ( data.style_display == "none" ) { data.style_display = ""; } } data.opacity = 100; data.delete_on_fade_out = false; data.fade_in_rates = SC_FADE_IN_RATES; data.fade_out_rates = SC_FADE_OUT_RATES; data.fade_interval = SC_FADE_INTERVAL; } return data; } function sc_change_visibility(item, data, visible_flag) { if ( visible_flag ) { item.style.display = data.style_display; } else { item.style.display = "none"; } } function sc_is_absolute(item) { if( item != null ) { if( item.style == undefined || item.style.position == 'absolute' ) return true; else return sc_is_absolute(item.parentElement); } return false; } function sc_is_invisible(item) { if ( item ) { return (item.style.display == "none") || (item.style.visibility == "hidden"); } else return true; } function sc_reset(item, data) { if ( sc_is_invisible(item) ) { if ( data.has_been_slid ) { item.style.left = 0; item.style.top = 0; } } else { if ( data.has_been_faded ) { sc_set_opacity(item, data.opacity); } } } function sc_get_top_left(item) { var top_left = new Object(); top_left.top = 0; top_left.left = 0; while ( item ) { top_left.top += item.offsetTop; top_left.left += item.offsetLeft; item = item.offsetParent; } return top_left; } function sc_make_width_height(width, height, wait) { var o = new Object(); o.width = width; o.height = height; o.wait = wait; return o; } function sc_make_zoom_data(zoom_id, zoom_point_left, zoom_point_top) { var o = new Object(); o.zoom_id = zoom_id; o.zoom_point_left = zoom_point_left; o.zoom_point_top = zoom_point_top; return o; } function sc_make_zoom_data_alt(zoom_id, from_id) { var from_item = document.getElementById(from_id); var from_top_left = sc_get_top_left(from_item); return sc_make_zoom_data(zoom_id, from_top_left.left, from_top_left.top); } function sc_set_toggle_id(id, toggle_id) { var data = sc_get_data(id); data.toggle_id = toggle_id; } function sc_set_on_show_inset_id(id, inset_id) { var data = sc_get_data(id); data.on_show_inset_id = inset_id; var inset_item = document.getElementById(inset_id); data.on_show_inset_padding = inset_item.style.padding; } function sc_set_display_method(id, method, arguments) { var data = sc_get_data(id); data.display_method = method; data.display_method_arguments = arguments; } function sc_unescape(str) { if ( !str || !str.length ) { return ""; } while ( true ) { var i = str.indexOf('+'); if ( i < 0 ) { break; } str = str.substring (0, i) + '%20' + str.substring (i + 1, str.length); } return unescape(str); } function sc_parse_query_string(str) { var map = new Array(); var items = str.split("&"); for ( var i = 0; i < items.length; ++i ) { var spec = items[i].split("="); map[sc_unescape(spec[0])] = sc_unescape(spec[1]); } return map; } function sc_parse_structured(str) { var map = new Array(); do { var index = str.indexOf("\r\n"); if ( index < 0 ) { break; } var separator = "\r\n" + str.substring(0, index) + "\r\n"; var split_map = str.substring(index + 2).split(separator); for ( var i = 0; i < split_map.length; ++i ) { var work_str = split_map[i]; index = work_str.indexOf("\r\n"); if ( index < 0 ) { break; } var field_name = work_str.substring(0, index); var value = work_str.substring(index + 2); map[field_name] = value; } } while ( false ); return map; } function sc_process_callbacks(name) { var callback_tab = sc_ajax_data_callback_tab[name]; sc_ajax_data_callback_tab[name] = null; if ( callback_tab ) { for ( var i = 0; i < callback_tab.length; ++i ) { var callback = callback_tab[i]; callback(); } } } function sc_set_loaded_data(name, structured_data) { sc_ajax_data_tab[name] = sc_parse_structured(structured_data); sc_process_callbacks(name); } function sc_clear_ajax_data(name) { sc_ajax_data_tab[name] = null; } function sc_load_via_request(name, url, post_data) { var is_post = post_data != undefined; sc_clear_ajax_data(name); function _handler(xmlhttp) { var redirect_url = sc_get_xmlhttp_redirect_url(xmlhttp); if ( redirect_url && (redirect_url.length > 0) ) { window.location.href = redirect_url; } else { sc_set_loaded_data(name, sc_get_xmlhttp_text(xmlhttp)); } } sc_make_xmlhttp(_handler, url, is_post, post_data); } function sc_trim(str) { return str.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); } function sc_parse_xml(text) { text = sc_trim(text); while ( text.substring(0, 2) == "" ) { var index = text.indexOf("?>"); if ( index < 0 ) { break; } text = sc_trim(text.substring(index + 2)); } var xmlparser; try //Internet Explorer { xmlparser = new ActiveXObject("Microsoft.XMLDOM"); xmlparser.async = "false"; xmlparser.loadXML(text); } catch(e) { try //Firefox, Mozilla, Opera, etc. { parser = new DOMParser(); xmlparser = parser.parseFromString(text, "text/xml"); } catch(e) { } } return xmlparser; } function sc_is_gadget() { return false; // document.getElementById(SC_GADGETCONTAINER) != null; TBD } function sc_make_xmlhttp(the_handler, url, is_post, post_data) { if( sc_is_gadget() ) { // Gadgets need to use their own gadgetized version of the ajax context (essentially JSON) url = url.replace(/ajax/,'gadjax'); url = url.replace(/staging.shop.com/,'staging-amos.shop.com'); url = url.replace(/http:/, 'https:'); var params = {}; params[gadgets.io.RequestParameters.REFRESH_INTERVAL] = 0; // no caching whilst we're deving params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.JSON; params[gadgets.io.RequestParameters.POST_DATA] = post_data; params[gadgets.io.RequestParameters.METHOD] = is_post ? "POST" : "GET"; params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.OAUTH; params["OAUTH_USE_TOKEN"] = "never"; gadgets.io.makeRequest(url, the_handler, params); } else { var xmlhttp = window.XMLHttpRequest ? (new XMLHttpRequest()) : (new ActiveXObject("Msxml2.XMLHTTP.3.0")); function _handler() { if ( xmlhttp && (xmlhttp.readyState == 4) && the_handler ) { the_handler(xmlhttp); } } xmlhttp.onreadystatechange = _handler; xmlhttp.open(is_post ? "POST" : "GET", url, true); xmlhttp.setRequestHeader(SC_HREF_HEADER, window.location.href); if ( is_post ) { xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); } xmlhttp.send(is_post ? post_data : ""); } } function sc_get_data_loaded_via_request(name, object_name) { if ( sc_ajax_data_tab[name] ) { var value_map = sc_ajax_data_tab[name]; var value = value_map[object_name]; return value ? value : ""; } return ""; } function sc_execute_when_loaded_data_arrives(name, callback) { if ( !sc_ajax_data_callback_tab[name] ) { sc_ajax_data_callback_tab[name] = new Array(); } var callback_tab = sc_ajax_data_callback_tab[name]; callback_tab[callback_tab.length] = callback; if ( sc_ajax_data_tab[name] ) { sc_process_callbacks(name); } } function sc_eval_when_loaded_data_arrives(name, object_name) { function _callback() { eval(sc_get_data_loaded_via_request(name, object_name)); } sc_execute_when_loaded_data_arrives(name, _callback); } function sc_change_when_loaded_data_arrives(id, name, object_name) { function _callback() { sc_change(id, sc_get_data_loaded_via_request(name, object_name)); } sc_execute_when_loaded_data_arrives(name, _callback); } function sc_force_change_via_request(id, url,post_data) { sc_internal_change_via_request(id, url, post_data, true); } function sc_change_via_request(id, url, post_data) { sc_internal_change_via_request(id, url, post_data, false); } function sc_get_xmlhttp_response_code(xmlhttp) { return sc_is_gadget() ? xmlhttp.rc : xmlhttp.status; } function sc_get_xmlhttp_text(xmlhttp) { return sc_is_gadget() ? xmlhttp.data.gadget.text : xmlhttp.responseText; } function sc_get_xmlhttp_script(xmlhttp, i) { return sc_is_gadget() ? eval('xmlhttp.data.scripts.'+ (SC_IMMEDIATE_SCRIPT_HEADER_PREFIX + i)) : xmlhttp.getResponseHeader(SC_IMMEDIATE_SCRIPT_HEADER_PREFIX + i); } function sc_get_xmlhttp_redirect_url(xmlhttp) { try { return sc_is_gadget() ? xmlhttp.data.redirect : xmlhttp.getResponseHeader(SC_REDIRECT_HEADER); } catch ( ignore ) { } return null; } function sc_internal_change_via_request(id, url, post_data, force_it) { var item = document.getElementById(id); var data = sc_get_data(id); var is_post = (post_data != undefined) && (post_data != null); function _handler(xmlhttp) { // There's an open bug where IE status comes back as 1223 instead of 204. Have to check both for now var response_code = sc_get_xmlhttp_response_code(xmlhttp); if( response_code == HTTP_STATUS_NO_CONTENT || response_code == HTTP_STATUS_NO_CONTENT_IE ) return; var redirect_url = sc_get_xmlhttp_redirect_url(xmlhttp); if ( redirect_url && (redirect_url.length > 0) ) { window.location.href = redirect_url; } else { item.innerHTML = sc_get_xmlhttp_text(xmlhttp); for ( var i = 0; /* no check */; ++i ) { try { var script = sc_get_xmlhttp_script(xmlhttp,i); if ( !script || (script.length == 0) ) { break; } eval(script); } catch ( e ) { // ignore any errors break; } } } data.request_in_progress = false; } var ok_to_request = false; if ( (data.request_key == url) && data.request_in_progress ) { ok_to_request = false; } else if ( (data.request_key != url) || force_it ) { ok_to_request = true; } if ( ok_to_request ) { data.request_key = force_it ? null : url; data.request_in_progress = true; sc_make_xmlhttp(_handler, url, is_post, post_data); } } function sc_change_after_time(url, milliseconds) { function _change() { window.location.href = url; } if ( milliseconds == 0 ) { _change(); } else { setTimeout(_change, milliseconds); } } function sc_valueof(id) { var item = document.getElementById(id); return item.value ? item.value : ""; } function sc_connect_to(id, script, event_name) { var item = document.getElementById(id); function _runner() { eval(script); } eval("item." + event_name + " = _runner"); } function sc_check_add_force(url) { var query = window.location.search; var q_index = query.indexOf("?"); if ( q_index >= 0 ) { query = query.substring(q_index + 1); } var parameters = sc_parse_query_string(query); if ( parameters["force"] ) { if ( url.indexOf("?") < 0 ) { url = url + "?"; } else { url = url + "&"; } url = url + "force=1"; } return url; } function sc_change_src(id, url) { var item = document.getElementById(id); if ( item ) { if ( item.contentWindow && item.contentWindow.location ) { item.contentWindow.location.replace(url); } else { item.src = url; } } } function sc_eval_onload(script) { var parent_on_load = window.onload; function _handler() { if ( parent_on_load ) { parent_on_load(); } eval(script); } window.onload = _handler; } function sc_change(id, new_content) { var item = document.getElementById(id); item.innerHTML = new_content; } function sc_make_rollover_area(image_id, rollover_image_src) { // pre-load rollover image var rollover_image = new Image(); rollover_image.src = rollover_image_src; var rollover_item = document.getElementById(image_id); var standard_image_src = rollover_item.src; rollover_item.onmouseover = _mouseover; rollover_item.onmouseout = _mouseout; function _mouseover() { rollover_item.src = rollover_image_src; } function _mouseout() { rollover_item.src = standard_image_src; } } function sc_make_popup_area(area_id, popup_id) { sc_make_popup_area_with_delay(area_id, popup_id, 0); } function sc_make_popup_area_with_delay(area_id, popup_id, delay) { var area_item = document.getElementById(area_id); var popup_item = document.getElementById(popup_id); var popup_interval = null; var area_item_mouseover_proc = area_item.onmouseover; if ( delay != 0 ) { area_item.onmouseover = _delay_mouseover; } else { area_item.onmouseover = _mouseover; } area_item.onmouseout = _mouseout; area_item.style.cursor = "pointer"; function _clear_interval() { if ( popup_interval != null ) { window.clearInterval(popup_interval); popup_interval = null; } } function _close() { _clear_interval(); sc_hide_show(popup_id, false); popup_item.onmouseover = null; popup_item.onmouseout = null; } function _popup_mouseover() { _clear_interval(); sc_hide_show(popup_id, true); } function _popup_mouseout() { _clear_interval(); popup_interval = window.setInterval(_close, 100); } function _delay_mouseover() { _clear_interval(); window.setTimeout(_mouseover, delay); } function _mouseover() { if ( area_item_mouseover_proc ) { area_item_mouseover_proc(); } popup_item.onmouseover = _popup_mouseover; popup_item.onmouseout = _popup_mouseout; sc_hide_show(popup_id, true); } function _mouseout() { _clear_interval(); popup_interval = window.setInterval(_close, 100); } } function sc_rotate_allocate(id) { var data = sc_get_data(id); if ( !data.rotate_data ) { data.rotate_data = new Object(); data.rotate_data.entries = new Array(); data.rotate_data.index = -1; data.rotate_data.is_playing = false; data.rotate_data.current_nested_id = null; } return data; } function sc_rotate_add_content(id, transition_ticks, content) { sc_rotate_add_internal(id, transition_ticks, null, null, content); } function sc_rotate_add_id(id, transition_ticks, source_id) { sc_rotate_add_internal(id, transition_ticks, source_id, null, null); } function sc_rotate_add_nested_id(id, transition_ticks, nested_id) { var item = document.getElementById(nested_id); var data = sc_get_data(id); sc_change_visibility(item, data, false); item.style.position = "absolute"; item.style.top = 0; item.style.left = 0; var parent = document.getElementById(id); if ( parent.offsetHeight < item.offsetHeight ) { parent.style.height = item.offsetHeight + "px"; } sc_rotate_add_internal(id, transition_ticks, null, nested_id, null); } function sc_rotate_add_internal(id, transition_ticks, source_id, nested_id, content) { var data = sc_rotate_allocate(id); var entry_data = new Object(); entry_data.transition_ticks = transition_ticks; entry_data.source_id = source_id; entry_data.nested_id = nested_id; entry_data.content = content; entry_data.interval = null; data.rotate_data.entries[data.rotate_data.entries.length] = entry_data; } function sc_rotate_change_content(id, index, transition_ticks, content) { sc_rotate_change_internal(id, index, transition_ticks, null, content); } function sc_rotate_change_id(id, index, transition_ticks, source_id) { sc_rotate_change_internal(id, index, transition_ticks, source_id, null); } function sc_rotate_change_internal(id, index, transition_ticks, source_id, content) { var data = sc_rotate_allocate(id); if ( (index >= 0) && (index < data.rotate_data.entries.length) ) { var entry_data = data.rotate_data.entries[index]; entry_data.transition_ticks = transition_ticks; entry_data.source_id = source_id; entry_data.content = content; } } function sc_rotate_transport(id, opcode) { var item = document.getElementById(id); var data = sc_rotate_allocate(id); function _rotate_interval() { if ( data.rotate_data.interval ) { window.clearInterval(data.rotate_data.interval); data.rotate_data.interval = null; } if ( data.rotate_data.current_nested_id ) { var nested_item = document.getElementById(data.rotate_data.current_nested_id); var nested_data = sc_get_data(data.rotate_data.current_nested_id); sc_change_visibility(nested_item, nested_data, false); data.rotate_data.current_nested_id = null; } ++data.rotate_data.index; if ( data.rotate_data.index >= data.rotate_data.entries.length ) { data.rotate_data.index = 0; } else if ( data.rotate_data.index < 0 ) { data.rotate_data.index = data.rotate_data.entries.length - 1; } if ( (data.rotate_data.index >= 0) && (data.rotate_data.index < data.rotate_data.entries.length) ) { var this_entry = data.rotate_data.entries[data.rotate_data.index]; if ( this_entry.nested_id ) { var nested_item = document.getElementById(this_entry.nested_id); var nested_data = sc_get_data(this_entry.nested_id); sc_change_visibility(nested_item, nested_data, true); data.rotate_data.current_nested_id = this_entry.nested_id; } else if ( this_entry.content ) { item.innerHTML = this_entry.content; } else { var source_item = document.getElementById(this_entry.source_id); item.innerHTML = source_item.innerHTML; } if ( data.rotate_data.is_playing ) { data.rotate_data.interval = window.setInterval(_rotate_interval, this_entry.transition_ticks); } } } sc_hide_show(id, true); data.rotate_data.is_playing = (opcode == SC_TRANSPORT_PLAY); if ( opcode == SC_TRANSPORT_STOP ) { --data.rotate_data.index; } else if ( opcode == SC_TRANSPORT_PREVIOUS ) { if ( data.rotate_data.index <= 0 ) { data.rotate_data.index = data.rotate_data.entries.length - 2; } else { data.rotate_data.index -= 2; } } _rotate_interval(); } function sc_pre_show_hide(item, data, show_it) { if ( data.toggle_id && show_it ) { var toggle_item = document.getElementById(data.toggle_id); var toggle_data = sc_get_data(data.toggle_id); sc_change_visibility(toggle_item, toggle_data, false); } } function sc_post_show_hide(item, data, show_it) { sc_check_on_show_inset(item, data, show_it); if ( data.toggle_id && !show_it ) { var toggle_item = document.getElementById(data.toggle_id); var toggle_data = sc_get_data(data.toggle_id); sc_change_visibility(toggle_item, toggle_data, true); } data.is_busy = false; if( data.callback != undefined ) { data.callback(); } } function sc_check_on_show_inset(item, data, show_it) { if ( data.on_show_inset_id ) { var inset_item = document.getElementById(data.on_show_inset_id); if ( show_it ) { inset_item.style.padding = "0px 0px 0px " + item.offsetWidth + "px"; } else { inset_item.style.padding = data.on_show_inset_padding; } } } function sc_wait_hide_show(id, show_it, ticks) { var data = sc_get_data(id); if ( data.wait_timeout ) { return; } data.wait_timeout = window.setTimeout(_hide_show, ticks); function _hide_show() { data.wait_timeout = null; var item = document.getElementById(id); var should_be_invisible = !show_it; if ( sc_is_invisible(item) != should_be_invisible ) { sc_hide_show(id, show_it); } } } function sc_force_hide_show(id,show_it) { var item = document.getElementById(id); var data = sc_get_data(id); var prev_method = data.display_method; data.display_method = SC_DISPLAY_MODE_STANDARD; sc_hide_show(id,show_it); data.display_method = prev_method; } function sc_hide_show(id, show_it) { var item = document.getElementById(id); var data = sc_get_data(id); if ( data.is_busy || data.is_in_popup ) { return; } sc_hide_show_internal(id, item, data, show_it); } function sc_toggle_hide_show(id) { var item = document.getElementById(id); if (item != null) { var data = sc_get_data(id); if ( data.is_busy || data.is_in_popup ) { return; } sc_hide_show_internal(id, item, data, sc_is_invisible(item)); } } function sc_toggle_visibility(id) { var item = document.getElementById(id); if (item != null) { var data = sc_get_data(id); if ( data.is_busy || data.is_in_popup ) { return; } sc_hide_show_internal(id, item, data, sc_is_invisible(item)); } } function sc_hide_show_internal(id, item, data, show_it) { if (item == null) return; if ( data.wait_timeout ) { window.clearTimeout(data.wait_timeout); data.wait_timeout = null; } data.is_busy = true; sc_pre_show_hide(item, data, show_it); switch ( data.display_method ) { default: case SC_DISPLAY_MODE_STANDARD: { if( !show_it ) sc_show_selects(item); sc_reset(item, data); sc_change_visibility(item, data, show_it); sc_post_show_hide(item, data, show_it); if( show_it ) sc_hide_selects(item); break; } case SC_DISPLAY_MODE_FADE: { sc_fade(id, show_it); break; } case SC_DISPLAY_MODE_SLIDE_DOWN: case SC_DISPLAY_MODE_SLIDE_UP: case SC_DISPLAY_MODE_SLIDE_LEFT: case SC_DISPLAY_MODE_SLIDE_RIGHT: { if( data.display_method_arguments.wait && show_it) { sc_slide_wait(id, data.display_method_arguments.width, data.display_method_arguments.height, data.display_method, show_it,data.display_method_arguments.wait); } else sc_slide(id, data.display_method_arguments.width, data.display_method_arguments.height, data.display_method, show_it); break; } case SC_DISPLAY_MODE_ZOOM: { sc_zoom(id, data.display_method_arguments.zoom_id, data.display_method_arguments.zoom_point_left, data.display_method_arguments.zoom_point_top, show_it); break; } } } function sc_slide_wait(id, width, height, mode, show, wait) { var item = document.getElementById(id); item.slide_wait_id = id; item.slide_wait_width = width; item.slide_wait_height = height; item.slide_wait_mode = mode; item.slide_wait_show = show; setTimeout('sc_slide_wait_internal(\''+id+'\');',wait); } function sc_slide_wait_internal(id) { var item = document.getElementById(id); sc_slide(item.slide_wait_id,item.slide_wait_width,item.slide_wait_height,item.slide_wait_mode,item.slide_wait_show); } function sc_slide(id, width, height, mode, show) { var item = document.getElementById(id); var data = sc_get_data(id); sc_reset(item, data); data.has_been_slid = true; var current_top = 0; var current_left = 0; switch ( mode ) { case SC_DISPLAY_MODE_SLIDE_DOWN: { current_top = show ? (-1 * height) : 0; break; } case SC_DISPLAY_MODE_SLIDE_UP: { current_top = show ? sc_window_height() : sc_window_height() - height; current_left = 100; break; } case SC_DISPLAY_MODE_SLIDE_RIGHT: { current_left = show ? (-1 * width) : 0; break; } case SC_DISPLAY_MODE_SLIDE_LEFT: { current_left = show ? width : 0; break; } } var interval = window.setInterval(_slide, SC_SLIDE_INTERVAL); function _slide() { var is_done = false; switch ( mode ) { case SC_DISPLAY_MODE_SLIDE_DOWN: { if ( show ) { current_top += SC_SLIDE_INCREMENT; if ( current_top >= 0 ) { is_done = true; } } else { current_top -= SC_SLIDE_INCREMENT; if ( current_top <= (-1 * height) ) { is_done = true; } } break; } case SC_DISPLAY_MODE_SLIDE_UP: { if ( show ) { current_top -= SC_SLIDE_INCREMENT; if ( current_top <= (sc_window_height() - height) ) { is_done = true; } } else { current_top += SC_SLIDE_INCREMENT; if ( current_top >= sc_window_height() ) { is_done = true; } } break; } case SC_DISPLAY_MODE_SLIDE_RIGHT: { if ( show ) { current_left += SC_SLIDE_INCREMENT; if ( current_left >= 0 ) { is_done = true; } } else { current_left -= SC_SLIDE_INCREMENT; if ( current_left <= (-1 * width) ) { is_done = true; } } break; } case SC_DISPLAY_MODE_SLIDE_LEFT: { if ( show ) { current_left -= SC_SLIDE_INCREMENT; if ( current_left <= 0 ) { is_done = true; } } else { current_left += SC_SLIDE_INCREMENT; if ( current_left >= width ) { is_done = true; } } break; } } if ( is_done ) { window.clearInterval(interval); if ( !show ) { sc_change_visibility(item, data, false); } if( mode != SC_DISPLAY_MODE_SLIDE_UP ) { item.style.top = "0px"; item.style.left = "0px"; } sc_post_show_hide(item, data, show); } else { item.style.top = current_top + "px"; item.style.left = current_left + "px"; sc_change_visibility(item, data, true); } } } function sc_set_opacity(item, percent) { percent = (percent >= 100) ? 100 : percent; var firefox_percent = (percent >= 100) ? 99.999 : percent; // IE/Win item.style.filter = "alpha(opacity=" + percent + ")"; // Safari<1.2, Konqueror item.style.KHTMLOpacity = percent / 100; // Older Mozilla and Firefox item.style.MozOpacity = firefox_percent / 100; // Safari 1.2, newer Firefox and Mozilla, CSS3 item.style.opacity = firefox_percent / 100; } function sc_remove_opacity(item) { // IE/Win item.style.filter = null; // Safari<1.2, Konqueror item.style.KHTMLOpacity = null; // Older Mozilla and Firefox item.style.MozOpacity = null; // Safari 1.2, newer Firefox and Mozilla, CSS3 item.style.opacity = null; } function sc_fade(id, fade_in) { var item = document.getElementById(id); var data = sc_get_data(id); var fade_rates = fade_in ? data.fade_in_rates : data.fade_out_rates; var rate = 0; var percent = fade_in ? 0 : data.opacity; var direction = fade_in ? 1 : -1; sc_reset(item, data); data.has_been_faded = true; sc_set_opacity(item, percent); sc_change_visibility(item, data, true); if( !data.is_veil ) sc_hide_selects(item); var interval = window.setInterval(_fade, data.fade_interval); function _fade() { percent += direction * fade_rates[rate]; if ( ++rate >= fade_rates.length ) { rate = fade_rates.length - 1; } sc_set_opacity(item, percent); if ( (percent >= data.opacity) || (percent <= 0) ) { if ( percent <= 0 ) { data.has_been_faded = false; if( data.delete_on_fade_out && item.parentNode ) item.parentNode.removeChild(item); if( !data.is_veil ) sc_show_selects(item); sc_change_visibility(item, data, false); sc_set_opacity(item, data.opacity); } else { sc_show_selects(item); } window.clearInterval(interval); sc_post_show_hide(item, data, fade_in); } } } function sc_zoom(id, zoom_id, zoom_point_left, zoom_point_top, show_it) { var item = document.getElementById(id); var data = sc_get_data(id); var zoom_item = document.getElementById(zoom_id); var zoom_data = sc_get_data(zoom_id); sc_reset(item, data); var item_top_left = sc_get_top_left(item); var zoom_left = show_it ? zoom_point_left : item_top_left.left; var zoom_top = show_it ? zoom_point_top : item_top_left.top; var zoom_width = show_it ? SC_ZOOM_MIN : item.offsetWidth; var zoom_height = show_it ? SC_ZOOM_MIN : item.offsetHeight; var zoom_end_left = show_it ? item_top_left.left : zoom_point_left; var zoom_end_top = show_it ? item_top_left.top : zoom_point_top; var number_of_steps = SC_ZOOM_STEP_QTY; var needed_width_change = item.offsetWidth - SC_ZOOM_MIN; var needed_height_change = item.offsetHeight - SC_ZOOM_MIN; var width_change = Math.max(Math.round(needed_width_change / SC_ZOOM_STEP_QTY), 1); var height_change = Math.max(Math.round(needed_height_change / SC_ZOOM_STEP_QTY), 1); var needed_left_change = Math.abs(zoom_point_left - item_top_left.left); var needed_top_change = Math.abs(zoom_point_top - item_top_left.top); var left_change = Math.max(Math.round(needed_left_change / SC_ZOOM_STEP_QTY), 1); var top_change = Math.max(Math.round(needed_top_change / SC_ZOOM_STEP_QTY), 1); if ( show_it ) { if ( zoom_point_left > item_top_left.left ) { left_change = -1 * left_change; } if ( zoom_point_top > item_top_left.top ) { top_change = -1 * top_change; } } else { width_change = -1 * width_change; height_change = -1 * height_change; if ( item_top_left.left > zoom_point_left ) { left_change = -1 * left_change; } if ( item_top_left.top > zoom_point_top ) { top_change = -1 * top_change; } } sc_change_visibility(item, data, false); var interval = window.setInterval(_zoom, 1); function _zoom() { zoom_item.style.left = zoom_left + "px"; zoom_item.style.top = zoom_top + "px"; zoom_item.style.width = zoom_width + "px"; zoom_item.style.height = zoom_height + "px"; sc_change_visibility(zoom_item, zoom_data, true); if ( number_of_steps <= 0 ) { sc_change_visibility(zoom_item, zoom_data, false); sc_change_visibility(item, data, show_it); window.clearInterval(interval); sc_post_show_hide(item, data, show_it); } else { zoom_left += left_change; zoom_top += top_change; zoom_width += width_change; zoom_height += height_change; if ( zoom_width > item.offsetWidth ) { zoom_width = item.offsetWidth; } else if ( zoom_width < SC_ZOOM_MIN ) { zoom_width = SC_ZOOM_MIN; } if ( zoom_height > item.offsetHeight ) { zoom_height = item.offsetHeight; } else if ( zoom_height < SC_ZOOM_MIN ) { zoom_height = SC_ZOOM_MIN; } if ( left_change < 0 ) { if ( zoom_left < zoom_end_left ) { zoom_left = zoom_end_left; } } else { if ( zoom_left > zoom_end_left ) { zoom_left = zoom_end_left; } } if ( top_change < 0 ) { if ( zoom_top < zoom_end_top ) { zoom_top = zoom_end_top; } } else { if ( zoom_top > zoom_end_top ) { zoom_top = zoom_end_top; } } } number_of_steps--; } } function sc_window_height() { return document.documentElement.clientHeight == 0 ? document.documentElement.offsetHeight : document.documentElement.clientHeight; } function sc_window_width() { return document.documentElement.clientWidth == 0 ? document.documentElement.offsetWidth : document.documentElement.clientWidth; } function sc_match_height(resize_id, source_id) { var resize_item = document.getElementById(resize_id); var source_item = document.getElementById(source_id); resize_item.style.height = source_item.offsetHeight + "px"; } function sc_match_width(resize_id, source_id) { var resize_item = document.getElementById(resize_id); var source_item = document.getElementById(source_id); resize_item.style.width = source_item.offsetWidth + "px"; } function sc_is_ie() { return navigator.platform == "Win32" && navigator.appName == "Microsoft Internet Explorer" && window.attachEvent; } function sc_is_ie_6_or_earlier() { var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, ''); return sc_is_ie() && (rslt != null && Number(rslt[1]) < 7); } function sc_resize_window_content(width, height) { var isXPSP2 = (navigator.userAgent.indexOf("NT 5.1")!=-1 && navigator.appMinorVersion.indexOf("SP2")!=-1); if ( isXPSP2 ) { height += 30; } if ( document.all ) { width += 12; height += 31; } window.resizeTo(width, height); } // --- popup stuff window.onunload = popup_close; var popup_image_window = null; var popup_scroll_window = new Array(); var popup_depth = 0; function popup_close() { if ( popup_image_window != null ) { if ( !popup_image_window.closed ) { try { popup_image_window.close(); popup_image_window.opener = null; } catch ( ignore ) { } } } if ( popup_scroll_window != null ) { for ( var i = 0; i < popup_scroll_window.length; i++ ) { if ( !popup_scroll_window[i].closed ) { try { popup_scroll_window[i].close(); popup_scroll_window[i].opener = null; } catch ( ignore ) { } } } } return false; } function popup_open_scroll(url, width, height, under) { if ( popup_depth == 0 && window.opener != null ) { try { popup_depth = window.opener.popup_depth + 1; } catch(err) { popup_depth = 0; } } var depth = popup_depth + 1; var popup_name; var index = popup_scroll_window.length; if ( popup_depth > 0 ) popup_name = 'cc_scroll' + depth; else popup_name = 'cc_scroll'; var popup_window = window.open(url, popup_name, 'status=no,directories=no,location=no,toolbar=no,menubar=no,scrollbars=yes,resizable=yes,width=' + width + ',height=' + height); if (typeof popup_window == "undefined" || popup_window == null) return; popup_scroll_window[index] = popup_window; window.name='the_opener'; if ( popup_scroll_window != null ) { if ( under == 1 ) { popup_scroll_window[index].blur(); } else { popup_scroll_window[index].focus(); } } else { window.href = url; } } function popup_open_nonscroll(url, width, height, under) { if ( popup_depth == 0 && window.opener != null ) popup_depth = window.opener.popup_depth + 1; var depth = popup_depth + 1; var popup_name; var index = popup_scroll_window.length; if ( popup_depth > 0 ) popup_name = 'cc_scroll' + depth; else popup_name = 'cc_scroll'; popup_scroll_window[index] = window.open(url, popup_name, 'status=no,directories=no,location=no,toolbar=no,menubar=no,scrollbars=no,resizable=no,width=' + width + ',height=' + height); window.name='the_opener'; if ( under == 1 ) { popup_scroll_window[index].blur(); } else { popup_scroll_window[index].focus(); } } function popup_blank_offset(url) { popup_named_offset(url, "_blank"); } function popup_named_offset(url, name) { var screen_fraction_x = 2 * (screen.width / 3); var screen_fraction_y = 2 * (screen.height / 3); var position_left = screen_fraction_x; var position_top = screen_fraction_y; var width = screen_fraction_x - 25; var height = screen_fraction_x - 25; var w = window.open ( url, name, 'status=yes,directories=yes,location=yes,toolbar=yes,menubar=yes,scrollbars=yes,resizable=yes,fullscreen=no' + ',left=' + position_left + ',top=' + position_top + ',width=' + width + ',height=' + height ); w.focus(); } // --- end popup stuff function no_close_window(window_id, url, width, height) { my_window = window.open(url, window_id,'status=no,directories=no,status=no,directories=no,location=no,toolbar=no,menubar=no,scrollbars=yes,resizable=yes,width=' + width + ',height=' +height); my_window.focus(); } function make_tag(tag_name) { return '<' + tag_name + '>'; } function popup_open_image(title, image, width, height, under, scrollable) { var url = "/op/img-" + sc_url_encode(image) + '-' + width + '-' + height + '-' + sc_url_encode(title); popup_image_window = window.open(url, 'cc_image', 'status=no,directories=no,status=no,directories=no,location=no,toolbar=no,menubar=no,scrollbars='+scrollable+',resizable=yes,width=' + width + ',height=' + height); if ( under == 1 ) { popup_image_window.blur(); } else { popup_image_window.focus(); } } function set_domain(domain_str) { // Don't do this for IE. if ( !document.all ) { document.domain = domain_str; } } function load_from_popup(url) { window.location=url; } function load_opener(url) { if ( document.all ) { window.open(url,'the_opener'); } else { window.opener.load_from_popup(url); } window.close(); } // text submit stuff function ccts_clear_all_fields(the_field, the_form) { the_elements = the_form.elements; for ( j = 0; j < the_elements.length; ++j ) { this_element = the_elements[j]; if ( this_element != the_field ) { this_element_name = this_element.name; if ( this_element_name.length > 6 ) { this_element_base_name = this_element_name.substring(0, 6); if ( this_element_base_name == "_ccts_" ) { this_element.value = ""; } } } } return true; } function ccts_text_submit(the_field) { the_form = the_field.form; ccts_clear_all_fields(the_field, the_form); the_field.value = the_field.name; the_form.submit(); } // don't go stuff.... var sc_dg_cleared = false; function sc_dg_set() { sc_dg_cleared = true; } function sc_dg_check() { if ( !sc_db_cleared ) { window.alert("If you go away..."); } } function sc_init_dg() { if ( window.onunload ) { window.onunload = window.onunload + ";sc_dg_check();"; } else { window.onunload = "sc_dg_check();"; } var anchors = document.getElementsByTagName("A"); for ( var i = 0; i < anchors.length; i++ ) { if ( anchors[i].onclick ) { anchors[i].onclick = anchors[i].onclick + ";sc_dg_set();"; } else { anchors[i].onclick = "sc_dg_set();"; } } var forms = document.getElementsByTagName("FORM"); for ( var i = 0; i < forms.length; i++ ) { if ( forms[i].onsubmit ) { forms[i].onsubmit = forms[i].onsubmit + ";sc_dg_set();"; } else { forms[i].onsubmit = "sc_dg_set();"; } } } // ..................Transparent PNG fix for IE if (sc_is_ie()) { window.attachEvent("onload", fnLoadPngs); } function fnLoadPngs() { var rslt = navigator.appVersion.match(/MSIE (\d+\.\d+)/, ''); var itsAllGood = (rslt != null && Number(rslt[1]) >= 5.5); for (var i = document.all.length - 1, obj = null; (obj = document.all[i]); i--) { if (itsAllGood && obj.currentStyle.backgroundImage.match(/\.png/i) != null) { this.fnFixPng(obj); obj.attachEvent("onpropertychange", this.fnPropertyChanged); } } } function fnPropertyChanged() { if (window.event.propertyName == "style.backgroundImage") { var el = window.event.srcElement; if (!el.currentStyle.backgroundImage.match(/x\.gif/i)) { var bg = el.currentStyle.backgroundImage; var src = bg.substring(5,bg.length-2); el.filters.item(0).src = src; el.style.backgroundImage = "url(/ps.gif)"; } } } function fnFixPng(obj) { var bg = obj.currentStyle.backgroundImage; var src = bg.substring(5,bg.length-2); obj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "', sizingMethod='scale')"; obj.style.backgroundImage = "url(/ps.gif)"; } function select_country(the_form,prefix) { var selected_index = the_form[prefix +'.field_state'].selectedIndex; var country_index = state_to_country_tab[selected_index]; if ( country_index != -1 ) { the_form[prefix +'.field_country'].selectedIndex = country_index; } var region_element = the_form[prefix +'.field_region'] if( region_element ) { region_element.readOnly = selected_index != 0; region_element.disabled = selected_index != 0; if( region_element.readOnly ) region_element.value = ''; } } function select_state(the_form, prefix) { var state_index = country_to_state_tab[the_form[prefix +'.field_country'].selectedIndex]; the_form[prefix +'.field_state'].selectedIndex = state_index; var region_element = the_form[prefix +'.field_region'] if( region_element ) { region_element.readOnly = state_index != 0; region_element.disabled = state_index != 0; if( region_element.readOnly ) region_element.value = ''; } } function region_check_for_change(the_form, prefix) { if ( the_form[prefix +'.field_region'].value.length != 0 ) { the_form[prefix +'.field_state'].selectedIndex = 0; } } function cc_checkout_single_new_user_ship_calc(zip_id,country_id,state_id,javascript_eval_str) { var zip = document.getElementById(zip_id); var state = document.getElementById(state_id); var country = document.getElementById(country_id); if( ((state && state.selectedIndex != 0) || (country.value != 334 && country.selectedIndex > 0 )) && zip.value.length > 0 ) { eval(javascript_eval_str); } } function cc_checkout_single_new_user_add_payment(account_number_id,javascript_eval_str) { var account_number = document.getElementById(account_number_id); if( account_number && account_number.value.length > 0 ) { eval(javascript_eval_str); } } function sc_hide_class_pair(className, childClassName) { var divs = document.getElementsByTagName("div"); for (var i in divs) { var div = divs[i]; if( div.className && div.className.toLowerCase() == className.toLowerCase() ) { for( var k in div.childNodes ) { var child = div.childNodes[k]; if( child.className && child.className.toLowerCase() == childClassName.toLowerCase() ) { sc_force_hide_show(child.id,false); } } } } } function sc_hide_class(tagName,className,showit) { var tags = document.getElementsByTagName(tagName); for (var i in tags) { var tag = tags[i]; if( tag.className && tag.className.toLowerCase() == className.toLowerCase() ) { if( !showit ) tag.style.display = 'none'; else tag.style.display = ''; } } } function sc_intra_page_scroll(anchor_name) { window.location.href = "#" + anchor_name; } function sc_set_focus(form_id, field_id) { if ( form_id ) { var form = document.forms[form_id]; if( form ) { var field = form.elements[field_id]; if( field ) field.focus(); } } else { var f = document.getElementById(field_id); if ( f ) { f.focus(); } } } function sc_get_form_by_name(name) { var the_form = document.getElementById(name); if( !the_form ) { // May have given the form a name and not an ID var forms = window.document.getElementsByTagName('form'); for (var i in forms) { var local_form = forms[i]; if( local_form.name && local_form.name == name ) { the_form = local_form; break; } } } return the_form; } function sc_submit_form(form_id) { var form = sc_get_form_by_name(form_id); if( form ) form.submit(); } function sc_delayed_input_disable(obj) { function _disable() { if( obj ) obj.disabled = true; } window.setInterval(_disable, 500); } function sc_index_of(the_array, search_for) { for ( var i = 0; i < the_array.length; ++i ) { if ( the_array[i] == search_for ) { return i; } } return -1; } function sc_form_field_values(form_name, field_name, separator, current_values) { var current_values_tab = (current_values && (current_values.length > 0)) ? current_values.split(separator) : new Array(); var form = sc_get_form_by_name(form_name); if ( form && form.elements ) { for ( var i = 0; i < form.elements.length; ++i ) { var e = form.elements.item(i); if ( e.name && e.value && (e.name == field_name) ) { var encoded_value = sc_url_encode(e.value); var current_index = sc_index_of(current_values_tab, encoded_value); if ( current_index >= 0 ) { current_values_tab.splice(current_index, 1); } if ( (e.type == "checkbox") || (e.type == "radio") ) { if ( e.checked ) { current_values_tab.push(encoded_value); } } else { current_values_tab.push(encoded_value); } } } } return current_values_tab.join(separator); } function sc_form_field_values_click(base_url, form_name, field_name, separator, current_values) { window.location.href = base_url + sc_form_field_values(form_name, field_name, separator, current_values); } function sc_submit_form_click(form_name, field_name) { var form = document.forms[form_name] form.action = sc_safe_append_url_parameter(sc_safe_append_url_parameter(form.action,field_name + ".y",1),field_name + ".x",1); form.submit(); } function sc_safe_append_url_parameter(url, name, value) { if( url.indexOf('?') > -1 ) return url + '&' + name + '=' + sc_url_encode(value); else return url + '?' + name + '=' + sc_url_encode(value); } function sc_bgcolor(item, bgcolor) { item.style.backgroundColor=bgcolor; } function sc_get_style_top(item) { return item.style.top.substring(0,item.style.top.indexOf('px')) * 1; } function sc_get_style_left(item) { return item.style.left.substring(0,item.style.left.indexOf('px')) * 1; } function sc_select_element(the_form, field_name, field_value) { for (var i = 0; i < the_form.elements.length; ++i) { var element = the_form.elements[i]; if ( element.name.toLowerCase() == field_name.toLowerCase() ) { if ( element.tagName.toLowerCase() == "select" ) { for ( var j = 0; j < element.options.length; ++j ) { var option = element.options[j]; if ( option.value.toLowerCase() == field_value.toLowerCase() ) { element.selectedIndex = j; break; } } break; } if ( element.tagName.toLowerCase() == "input" && element.type.toLowerCase() == "checkbox" ) { element.checked = true; break; } else if ( element.value.toLowerCase() == field_value.toLowerCase() ) { element.checked = true; break; } } } } var SC_CHAR_COUNTER_ID = "char_counter" function sc_textarea_char_counter(field_name, max) { var field = sc_find_field(field_name); if( field == null ) return; var size = field.value.length; if(size > max ) { field.value = field.value.substring(0,max); size = max; } var element = document.getElementById(SC_CHAR_COUNTER_ID+ "." + field_name); element.innerHTML = '('+Math.max(max - size,0)+' Chars. left)'; } function sc_find_field(field_name) { for ( var i = 0; i < document.forms.length; ++i ) { if ( document.forms[i].elements[field_name] != null ) { return document.forms[i].elements[field_name]; } } return null; } function sc_return_key_override(id) { function _overridden_event(event) { var keynum; var is_text_area = false; if (window.event) // eg. IE { keynum = window.event.keyCode; is_text_area = window.event.srcElement.type.toLowerCase() == "textarea"; } else if (event.which) // eg. Firefox { keynum = event.which; is_text_area = event.target.type.toLowerCase() == "textarea"; } if ( keynum == 13 && !is_text_area) { var element = document.getElementById(id); if( element == null ) return true; var elements = element.getElementsByTagName("input"); for ( var j = 0; j < elements.length; ++j ) { var innerElement = elements[j]; if ( innerElement.type == 'image' ) { innerElement.parentNode.onclick(); return false; } } } return true; } function _trap_function(event) { var keynum; if (window.event) // eg. IE { keynum = window.event.keyCode; } else if (event.which) // eg. Firefox { keynum = event.which; } return keynum != 13; } document.onkeyup = _overridden_event; document.onkeydown = _trap_function; // IE, Firefox, Safari document.onkeypress = _trap_function; // only Opera needs the backspace nullifying in onkeypress } function sc_disable_return_key_override() { function _normal_event(event) { return true; } document.onkeyup = _normal_event; document.onkeydown = _normal_event; // IE, Firefox, Safari document.onkeypress = _normal_event; // only Opera needs the backspace nullifying in onkeypress } //---------- hint stuff start var SC_HINT_ID_PREFIX = "hint_"; var SC_HINT_DATA_NAME = "__snhints"; var SC_HINT_MAX = 10; function sc_unselect_hint(text_field_id) { var data = sc_get_data(text_field_id); if ( data.hint.selected_index >= 0 ) { var hint_div = document.getElementById(SC_HINT_ID_PREFIX + data.hint.selected_index); if ( hint_div != null ) { hint_div.setAttribute("class", data.hint.unselected_class_name); hint_div.setAttribute("className", data.hint.unselected_class_name); hint_div.style.backgroundColor = '#fff'; } } data.hint.selected_index = -1; } function sc_select_hint(text_field_id, new_index, update_text_field, submit_form) { sc_unselect_hint(text_field_id); var data = sc_get_data(text_field_id); var text_field = document.getElementById(text_field_id); var record = null; if ( data.hint.selected_index != new_index ) { data.hint.selected_index = new_index; record = data.hint.narrowed_word_tab[data.hint.selected_index]; var hint_div = document.getElementById(SC_HINT_ID_PREFIX + data.hint.selected_index); if ( hint_div != null ) { hint_div.setAttribute("class", data.hint.selected_class_name); hint_div.setAttribute("className", data.hint.selected_class_name); } if ( update_text_field) { if ( hint_div != null ) hint_div.style.backgroundColor = '#e9eef8'; if ( (record != null) && (record != undefined) && record.redirect_url == null ) { text_field.value = record.display_word; } } } else { record = data.hint.narrowed_word_tab[data.hint.selected_index]; } if ( submit_form && (record != null) ) { if ( record.redirect_url != null ) { window.location.href = record.redirect_url; } else { text_field.form.submit(); } } } function sc_fetch_hints(data, text_field_id) { var text_field = document.getElementById(text_field_id); data.hint.current_loaded_hint_prefix = text_field.value.slice(0, 1).toUpperCase(); data.hint.word_tab = new Array(); data.hint.redirect_tab = new Array(); var url = data.hint.base_url.replace(data.hint.url_replacement, sc_url_encode(data.hint.current_loaded_hint_prefix)); sc_load_via_request(SC_HINT_DATA_NAME, url, null); sc_eval_when_loaded_data_arrives(SC_HINT_DATA_NAME, text_field_id); } function sc_update_hint(text_field_id, force_clear) { var data = sc_get_data(text_field_id); sc_unselect_hint(text_field_id); var text_field = document.getElementById(text_field_id); if ( force_clear || (text_field.value.length == 0) ) { data.hint.current_loaded_hint_prefix = ""; } else if ( data.hint.current_loaded_hint_prefix != text_field.value.slice(0, 1).toUpperCase() ) { sc_fetch_hints(data, text_field_id); } var local_redirect_tab = force_clear ? new Array() : sc_hint_search_word_tab(text_field.value, SC_HINT_MAX, data.hint.redirect_tab); var local_word_tab = force_clear ? new Array() : sc_hint_search_word_tab(text_field.value, SC_HINT_MAX - local_redirect_tab.length, data.hint.word_tab); data.hint.redirect_qty = local_redirect_tab.length; data.hint.narrowed_word_tab = local_redirect_tab.concat(local_word_tab); data.hint.found_qty = data.hint.narrowed_word_tab.length; var new_content = "
| " + data.hint.narrowed_word_tab[i].display_word + " |