function checkEmailsingle() { var result = true; var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$"; var regex = new RegExp(emailReg); var result = regex.test(document.contact_frm.email.value); if(document.contact_frm.email.value=="" || document.contact_frm.email.value.indexOf(" ",0)==0 || result==false) { alert('Please enter a valid e-mail address.'); document.contact_frm.email.select(); document.contact_frm.email.focus(); result = false; } return result; } function checkEmail() { var result = checkEmailsingle(); if (result) if ((document.contact_frm.email.value != document.contact_frm.email1.value)) { alert('Both e-mail address entries must match.'); document.contact_frm.email1.focus(); result = false; } return result; } function checkContactForm() { var result = checkEmail(); if (result != false) { var codeReg = "\\d\\d\\d\\d"; var regex = new RegExp(codeReg); var result = regex.test(document.contact_frm.code.value); if (document.contact_frm.code.value=="" || document.contact_frm.code.value.indexOf(" ",0)==0 || result==false) { alert('Please enter the verification code.'); document.contact_frm.code.focus(); result = false; } } return result; } function checkContactFields() { var result = checkEmail(); if (result) { var elm1 = document.contact_frm.existing_client; if (elm1) if (elm1.options.selectedIndex == 0) { alert('Please fill in all mandatory fields.'); elm1.focus(); result = false; } } if (result) { var flag= true; for (var i=0; iHelp"); hwnd.document.writeln(text); hwnd.document.writeln(""); hwnd.focus(); return false; } function PopupOver(msg, bgcolor) { if (!bgcolor) bgcolor = "#FEFEFE"; var content="

"+msg+"

"; Yoffs=Yoffset; if(ns4) { swnd.document.write(content); swnd.document.close(); swnd.visibility="visible"; } if(ns6) { document.getElementById("popup").innerHTML=content;swnd.display=''; } if(ie4) { document.all("popup").innerHTML=content;swnd.display=''; } } function GetMouse(e) { var x=(ns4||ns6)?e.pageX:event.x+document.body.scrollLeft; swnd.left=x+Xoffset; var y=(ns4||ns6)?e.pageY:event.y+document.body.scrollTop; swnd.top=y+Yoffs; } function PopupHide(){ Yoffs=-1000; if(ns4) { swnd.visibility="hidden"; } else if (ns6||ie4) swnd.display="none"; } function dropFile(node){ if(!document.getElementById) { alert('DOM is not available'); return; } Tr = node; btns = document.getElementsByName('drop'); if(btns.length == 1) { checkForLast(); } else { while (Tr.tagName != 'TR') Tr = Tr.parentNode; Tr.parentNode.removeChild(Tr); checkForLast(); } return false; } function addFile(node){ if(!document.getElementById) { alert('DOM is not available'); return; } Tr = node; while (Tr.tagName != 'TR') Tr = Tr.parentNode; Tbl = Tr.parentNode; var new_node = Tr.cloneNode(true); Tbl.insertBefore(new_node, Tr.nextSibling); checkForLast(); return false; } function checkForLast(){ btns = document.getElementsByName('drop'); for (i = 0; i < btns.length; i++) { btns[i].disabled = (btns.length == 1) ? true : false; } btns = document.getElementsByName('add'); for (i = 0; i < btns.length; i++) { btns[i].disabled = (btns.length == 6) ? true : false; } } function showDomain() { document.contact_frm.domain_name.disabled = (document.contact_frm.existing_client.selectedIndex == 1) ? false : true; document.contact_frm.domain_name.focus(); return true; } function setDeadline() { var deadline1 = document.getElementById("deadline1"); var deadline2 = document.getElementById("deadline2"); if (document.getElementById("service1").checked || document.getElementById("service3").checked || document.getElementById("service4").checked || document.getElementById("service5").checked) { deadline1.style.display = "none"; deadline2.style.display = ""; } else { deadline1.style.display = ""; deadline2.style.display = "none"; } } var popup_wnd; var isIE = /*@cc_on!@*/false; function OpenPopupWindow(url,img,width,height,status) { var isOpera = navigator.userAgent.toLowerCase().indexOf('opera') != -1 ? 1 : 0; if (popup_wnd) { if (isOpera) { if (popup_wnd.toString()!="[object Object]") if (popup_wnd!=null) if (!popup_wnd.closed) popup_wnd.close(); } else if (popup_wnd!=null) if (!popup_wnd.closed) popup_wnd.close(); } if (!width) width = 800; else width+=2; if (!height) height = 600; else height+=2; if (!status) status='status=no,menubar=no,scrollbars=no,resizable=yes'; var wleft = (screen.width - width)/2; var wtop = (screen.height - height)/2; if (wleft < 0) wleft = 0; if (wtop < 0) wtop = 0; if (img == 'Y') { popup_wnd = window.open("","popup","width="+width+",height="+height+",left="+wleft+",top="+wtop+","+status); popup_wnd.document.clear(); popup_wnd.document.write(); popup_wnd.document.writeln("Shopping Cart Software & Ecommerce Solutions: X-Cart."); } else { if (isIE) width += 34; else { width += 20; if (height > 600) width+=10; } popup_wnd = window.open(url,"popup","width="+width+",height="+height+",left="+wleft+",top="+wtop+","+status); } popup_wnd.moveTo(wleft, wtop); popup_wnd.focus(); return false; } function visibleBox(id) { var elm1 = document.getElementById("open"+id); var elm2 = document.getElementById("close"+id); if (elm1) { if (elm1.style.display == "") elm1.style.display = "none"; else elm1.style.display = ""; } if (elm2) { if (elm2.style.display == "") elm2.style.display = "none"; else elm2.style.display = ""; } } function HideBox(id) { var elm1 = document.getElementById("open"+id); var elm2 = document.getElementById("close"+id); if (elm1) elm1.style.display = ""; if (elm2) elm2.style.display = "none"; } function THints (a_items, a_cfg) { if (!a_items) a_items = []; if (!a_cfg) a_cfg = []; this.a_cfg = a_cfg; this.a_elements = []; this.a_hints = []; this.show = f_hintShow; this.showD = f_hintShowNow; this.hide = f_hintHide; this.hideD = f_hintHideNow; // register the object in global collection this.n_id = A_HINTS.length; A_HINTS[this.n_id] = this; if (!b_ie5 && !b_ie6) a_cfg.IEfix = false; // generate HTML for (var s_id in a_items) { s_id = String(s_id).replace(/\W/g,''); document.write( '' ); if (a_cfg.IEfix) document.write( '' ); } // assign mouseover event if (document.addEventListener) { document.addEventListener('mousemove', f_onMouseMove, true); window.addEventListener('scroll', f_onwindowChange, true); window.addEventListener('resize', f_onwindowChange, true); } else { document.onmousemove = f_onMouseMove; window.onscroll = f_onwindowChange; window.onresize = f_onwindowChange; } } function f_hintShow(s_id, e_element) { // cancel previous delay if (this.e_timer) { clearTimeout(this.e_timer); this.e_timer = null; } var s_id = String(s_id).replace(/\W/g,''); if (!this.a_hints[s_id]) this.a_hints[s_id] = getElement('h' + this.n_id + '_' + s_id); if (!this.a_hints[s_id]) this.a_hints[s_id] = getElement(s_id); if (!this.a_hints[s_id]) throw new Error('001', 'Can not find the hint with ID=' + s_id); this.a_elements[s_id] = e_element; var n_showDelay = this.a_cfg.show_delay == null ? 200 : this.a_cfg.show_delay; if (!n_showDelay) return this.showD(s_id, e_element); this.e_timer = setTimeout('A_HINTS[' + this.n_id + '].showD("' + s_id + '")', n_showDelay); } function f_hintShowNow(s_id, e_element) { if (s_id == this.o_lastHintID) return; if (e_element) this.a_elements[s_id] = e_element; if (this.o_lastHintID != null) this.hideD(this.o_lastHintID); f_hintPosition(this.a_elements[s_id], this.a_hints[s_id], this.a_cfg); this.o_lastIframe = getElement('h' + this.n_id + '_' + s_id + '_if'); if (this.o_lastIframe) this.o_lastIframe.style.visibility = 'visible'; // Transition in IE if (this.a_cfg.IEtrans && this.a_cfg.IEtrans[0]) { try { var e_currTrans = this.a_hints[s_id].filters.item(0); e_currTrans.apply(); this.a_hints[s_id].style.visibility = 'visible'; e_currTrans.play(); } catch(e) { this.a_hints[s_id].style.visibility = 'visible'; }; } else this.a_hints[s_id].style.visibility = 'visible'; this.o_lastHintID = s_id; } function f_hintHide(s_id) { if (this.e_timer) { clearTimeout(this.e_timer); this.e_timer = null; } if (s_id != null) s_id = String(s_id).replace(/\W/g,''); else if (this.o_lastHintID) s_id = this.o_lastHintID; else return; if (!this.a_hints[s_id]) throw new Error('001', 'Can not find the hint with ID=' + s_id); var n_hideDelay = this.a_cfg.hide_delay == null ? 200 : this.a_cfg.hide_delay; if (!n_hideDelay) return this.hideD(s_id); this.e_timer = setTimeout('A_HINTS[' + this.n_id + '].hideD("' + s_id + '")', n_hideDelay); } function f_hintHideNow(s_id) { // Transition in IE if (this.a_cfg.IEtrans && this.a_cfg.IEtrans[1]) { try { var e_currTrans = this.a_hints[s_id].filters.item(this.a_cfg.IEtrans[0] ? 1 : 0); e_currTrans.apply(); this.a_hints[s_id].style.visibility = 'hidden'; e_currTrans.play(); } catch(e) { this.a_hints[s_id].style.visibility = 'hidden'; }; } else this.a_hints[s_id].style.visibility = 'hidden'; this.o_lastHintID = null; if (this.o_lastIframe) { this.o_lastIframe.style.visibility = 'hidden'; this.o_lastIframe = null; } } function f_hintPosition (e_element, e_hint, a_params) { // validate params if (!e_hint) throw new Error('001', 'hint object reference is missing in parameters'); if (!a_params) a_params = []; var a_ = { n_elementWidth: e_element ? e_element.offsetWidth : 0, n_elementHeight: e_element ? e_element.offsetHeight : 0, n_elementLeft: e_element ? f_getPosition(e_element, 'Left') : n_mouseX, n_elementTop: e_element ? f_getPosition(e_element, 'Top') : n_mouseY, n_hintWidth: e_hint.offsetWidth, n_hintHeight: e_hint.offsetHeight, n_hintLeft: 0, n_hintTop : 0, n_clientWidth: f_clientWidth(), n_clientHeight: f_clientHeight(), n_scrollTop: f_scrollTop(), n_scrollLeft: f_scrollLeft(), s_align: a_params.align ? a_params.align : 'tlbl', n_gap: a_params.gap == null ? 5 : a_params.gap, n_margin: a_params.margin == null ? 10 : a_params.margin }; f_applyAlign(a_); // smart positioning is on by default if (a_params.smart || a_params.smart == null) f_checkFit(a_); e_hint.style.left = a_.n_hintLeft + 'px'; e_hint.style.top = a_.n_hintTop + 'px'; // synchronize iframe if exists var e_iframe = getElement(e_hint.id + '_if'); if (e_iframe) { e_iframe.style.left = a_.n_hintLeft + 'px'; e_iframe.style.top = a_.n_hintTop + 'px'; e_iframe.style.width = a_.n_hintWidth + 'px'; e_iframe.style.height = a_.n_hintHeight + 'px'; } } /* corrects hints positioning to maximize the visibility */ function f_checkFit (a_) { // check if correction is required if (a_.n_spaceT >= 0 && a_.n_spaceR >= 0 && a_.n_spaceB >= 0 && a_.n_spaceL >= 0) return; // determine if hint clears element for horisontal shifting var b_horShift = (a_.n_hintTop + a_.n_hintHeight + a_.n_gap <= a_.n_elementTop) || (a_.n_elementTop + a_.n_elementHeight + a_.n_gap <= a_.n_hintTop); // resolve by horizontal shifting if (b_horShift) { if (a_.n_spaceL < 0 || (a_.n_spaceL + a_.n_spaceR < 0)) a_.n_hintLeft = a_.n_scrollLeft + a_.n_margin; else if (a_.n_spaceR < 0) a_.n_hintLeft = a_.n_scrollLeft + a_.n_clientWidth - a_.n_margin - a_.n_hintWidth; } // determine if hint clears element for vertical shifting var b_verShift = (a_.n_hintLeft + a_.n_hintWidth + a_.n_gap <= a_.n_elementLeft) || (a_.n_elementLeft + a_.n_elementWidth + a_.n_gap <= a_.n_hintLeft); // resolve by vertical shifting if (b_verShift) { if (a_.n_spaceT < 0 || (a_.n_spaceT + a_.n_spaceB < 0)) a_.n_hintTop = a_.n_scrollTop + a_.n_margin; else if (a_.n_spaceB < 0) a_.n_hintTop = a_.n_scrollTop + a_.n_clientHeight - a_.n_margin - a_.n_hintHeight; } // resolve horisontal collision by mirroring if (!b_horShift && (a_.n_spaceL < 0 || a_.n_spaceR < 0)) { // save current overlap var n_overlap = a_.n_spaceL + a_.n_spaceR, n_hintLeft = a_.n_hintLeft, n_hintTop = a_.n_hintTop; // mirror the align a_.s_align = a_.s_align.replace('r', '-'); a_.s_align = a_.s_align.replace('l', 'r'); a_.s_align = a_.s_align.replace('-', 'l'); f_applyAlign(a_); // restore old coordinate if mirrored hint is less visible if (Math.min(a_.n_spaceL, a_.n_spaceR) < n_overlap) a_.n_hintLeft = n_hintLeft; a_.n_hintTop = n_hintTop; } // resolve vertical collision by mirroring if (!b_verShift && (a_.n_spaceT < 0 || a_.n_spaceB < 0)) { var n_overlap = Math.min(a_.n_spaceT, a_.n_spaceB), n_hintLeft = a_.n_hintLeft, n_hintTop = a_.n_hintTop; // mirror the align a_.s_align = a_.s_align.replace('t', '-'); a_.s_align = a_.s_align.replace('b', 't'); a_.s_align = a_.s_align.replace('-', 'b'); f_applyAlign(a_); // restore old coordinate if mirrored hint is less visible if (Math.min(a_.n_spaceT, a_.n_spaceB) < n_overlap) a_.n_hintTop = n_hintTop; a_.n_hintLeft = n_hintLeft; } } /* decodes the align parameter and calculates the coordinates of the hint */ function f_applyAlign (a_) { if (!re_align.exec(a_.s_align)) throw new Error('001', 'Invalid format of align parameter: ' + a_.s_align); // decode alignment var n_align = RegExp.$1, n_top = a_.n_elementTop; // element vertical align if (n_align == 'm') n_top += Math.round(a_.n_elementHeight / 2); else if (n_align == 'b') n_top += a_.n_elementHeight + a_.n_gap; else n_top -= a_.n_gap; // hint vertical align n_align = RegExp.$3; if (n_align == 'm') n_top -= Math.round(a_.n_hintHeight / 2); else if (n_align == 'b') n_top -= a_.n_hintHeight; // element horizontal align var n_left = a_.n_elementLeft; n_align = RegExp.$2; if (n_align == 'c') n_left += Math.round(a_.n_elementWidth / 2); else if (n_align == 'r') n_left += a_.n_elementWidth + a_.n_gap; else n_left -= a_.n_gap; // hint horisontal align n_align = RegExp.$4; if (n_align == 'c') n_left -= Math.round(a_.n_hintWidth / 2); else if (n_align == 'r') n_left -= a_.n_hintWidth; a_.n_spaceT = n_top - a_.n_scrollTop - a_.n_margin, a_.n_spaceB = a_.n_clientHeight + a_.n_scrollTop - a_.n_margin - n_top - a_.n_hintHeight, a_.n_spaceL = n_left - a_.n_scrollLeft - a_.n_margin, a_.n_spaceR = a_.n_clientWidth + a_.n_scrollLeft - a_.n_margin - n_left - a_.n_hintWidth; a_.n_hintLeft = n_left; a_.n_hintTop = n_top; } function f_onMouseMove(e_event) { if (!e_event && window.event) e_event = window.event; if (!e_event) return true; n_mouseX = e_event.pageX ? e_event.pageX : e_event.clientX + f_scrollLeft(); n_mouseY = e_event.pageY ? e_event.pageY + 2 : e_event.clientY + f_scrollTop(); return f_onwindowChange(); } function f_onwindowChange() { var o_hint; for (var i = 0; i < A_HINTS.length; i++) o_hint = A_HINTS[i]; if (o_hint.a_cfg.follow && o_hint.o_lastHintID) f_hintPosition(o_hint.a_elements[o_hint.o_lastHintID], o_hint.a_hints[o_hint.o_lastHintID], o_hint.a_cfg); return true; } /* browser abstraction layer */ function f_getPosition (e_elemRef, s_coord) { var n_pos = 0, n_offset, e_elem = e_elemRef; while (e_elem) { n_offset = e_elem["offset" + s_coord]; n_pos += n_offset; e_elem = e_elem.offsetParent; } // margin correction in some browsers if (b_ieMac) n_pos += parseInt(document.body[s_coord.toLowerCase() + 'Margin']); else if (b_safari && (!this.o_block.b_relative || this.n_depth)) n_pos -= n_offset; e_elem = e_elemRef; while (e_elem != document.body) { n_offset = e_elem["scroll" + s_coord]; if (n_offset && e_elem.style.overflow == 'scroll') n_pos -= n_offset; e_elem = e_elem.parentNode; } return n_pos; } function f_clientWidth() { if (typeof(window.innerWidth) == 'number') return window.innerWidth; if (document.documentElement && document.documentElement.clientWidth) return document.documentElement.clientWidth; if (document.body && document.body.clientWidth) return document.body.clientWidth; return null; } function f_clientHeight() { if (typeof(window.innerHeight) == 'number') return window.innerHeight; if (document.documentElement && document.documentElement.clientHeight) return document.documentElement.clientHeight; if (document.body && document.body.clientHeight) return document.body.clientHeight; return null; } function f_scrollLeft() { if (typeof(window.pageXOffset) == 'number') return window.pageXOffset; if (document.body && document.body.scrollLeft) return document.body.scrollLeft; if (document.documentElement && document.documentElement.scrollLeft) return document.documentElement.scrollLeft; return 0; } function f_scrollTop() { if (typeof(window.pageYOffset) == 'number') return window.pageYOffset; if (document.body && document.body.scrollTop) return document.body.scrollTop; if (document.documentElement && document.documentElement.scrollTop) return document.documentElement.scrollTop; return 0; } getElement = document.all ? function (s_id) { return document.all[s_id] } : function (s_id) { return document.getElementById(s_id) }; // global variables var A_HINTS = [], n_mouseX = 0, n_mouseY = 0, s_userAgent = navigator.userAgent.toLowerCase(), re_align = /^([tmb])([lcr])([tmb])([lcr])$/; var b_mac = s_userAgent.indexOf('mac') != -1, b_ie5 = s_userAgent.indexOf('msie 5') != -1, b_ie6 = s_userAgent.indexOf('msie 6') != -1 && s_userAgent.indexOf('opera') == -1, b_ieMac = b_mac && b_ie5, b_safari = b_mac && s_userAgent.indexOf('safari') != -1, b_opera6 = s_userAgent.indexOf('opera 6') != -1; function func_go_hosting(name) { if (document.bg) { document.bg.src='imgx/bg.gif'+'?'+name; } } function SubmitOrder() { var result = false; var products = document.contactform.direction; for (i=0; i• web-design creation and integration;
• integration of a pre-made design template into selected platform;
• filling in the product catalog;
• developing desired features;
• installation onto the web-hosting;
• etc.', 'Select this service if you want us to customize software you are using as platform for your web-site. This means adding new and changing existing features of the platform software.', 'You have a web-site already, but does not like it or want to improve its appearance. We can create a new look for your existing web-site, adapt your current design to make it more "e-commerce" and suitable for shopping cart software.', 'You do not want to change design of your web-site a lot, but want to enhance it a bit by adding some new graphic design elements, improve layout of pages, set new styles and fonts, etc.', 'This service is useful for startups companies and companies willing to change the way their customers recognize them by logo and corporate style.', 'You have a web-site which visitors recognize by unique and outstanding design and want to integrate some software (e.g. shopping cart software) into it seamlessly.', 'Complex ecommerce solutions (like shopping cart software) have strict requirements for installed web server components. Choosing X-Cart hosting from our company ensures that you obtain a server configured in full accordance with X-Cart software requirements and may forget about any compatibility-related issues.', 'Provided to X-Cart shopping cart license owners only, our X-Cart hosting service ensures that no hacker/spam accounts are sharing our hardware and that all users are equally interested in top-notch security.', 'You may forget about server-side issues. Any technical problems with our X-Cart hosting servers are fixed at no charge under our guarantee. "Ecommerce Premium" plan includes free technical support for X-Cart-based online stores.', 'For quick and easy moving to X-Cart hosting service, we offer a free, no-downtime shopping cart transfer from any other existing hosting account (you will only need to provide access details).', 'The hosting overload is often caused by the extensive server resource overuse. To avoid such situations, our shopping cart hosting has very strict limits on number of accounts per server in order to preserve resources for safety reasons.', 'X-Cart hosting servers meet the Payment Card Industry Data Security Standard (PCI DSS) required by Visa and MasterCard. The up-to-date set of security features ensures the protection of all sensitive data.', 'Loss of sensitive data can seriously damage your business and cost days (even months) of work. To prevent possible data loss, backup of our customers\' information is performed each day.

Files and databases on X-Cart hosting are transferred and stored on a separate archive server. If any problem occurs, the data restoration can be performed immediately.', 'If you purchase one year of Enterprise or Premium packages, you\'ll get SSL certificate for free. Also any customer of our hosting use shared SSL certificate for free.', 'This add-on enables the store owner to run an affiliate program, i.e. solicit their visitors to advertise their products and pay commission per referred sale. This is a popular advertising method and X-Affiliate add-on enables store owner launch affiliate program instantly.', 'If you plan to run regular advertising campaigns including numerous discounts applicable in various conditions this add-on is for you.', 'Advanced Order Management add-on enables store admin to alter order details after an order is placed. It is useful when say customers reconsider or business specifics do not let to determine all order conditions until actual fulfillment.', 'It is a decorative add-on, which enables to place Java Script based fly out category menu in X-Cart based store. Simplest way to check this add-on is to view online demonstration.', 'This add-on is suitable for stores featuring products, which consist of multiple parts, e.g. computers. Computers can be fitted with different processors, mother boards, graphic adapters, etc. and X-Configurator enables to configure the set of required component types and define compatibility rules for actual component sets, so a customer could define computer configuration step by step.', 'As goes from the name, this add-on enables store customers to create gift registries for their special events, then invite other people via email to buy the registered items out.', 'Return Merchandise Authorization add-on comes handy when you need to handle an order return request from customer. X-RMA automates the process to save your time and keep accurate records in order history.', 'This add-on features functionality for the seller to define set of comparison criteria for every group of similar products, so a customer could compare item characteristics in a simple and convenient way.', 'It features a flash based tool for a customer to view products closely, i.e. zoom in to a product image.', 'This is a tool to survey customers regarding any questions a store administrator finds suitable to analyse store performance, e.g. whether the customers like store design or wish any addition to the inventory.', 'It is not actually an add-on, yet an additional software which can work for any website and beneficial to any online store. In a nutshell this software tracks visitors of online store in real time, enables store owner communicate with website visitors via text or voice chat and builds up complete statistics on store performance. Free version is available and it integrates with X-Cart based store seamlessly at no extra cost.', 'key pages include home page, product details, products listings (categories, manufacturers, search results), cart and checkout pages', 'for example, e-mail notifications, image pop-up window', 'LiteSpeed Web Server is a high- performance and high-scalability web server. It is completely Apache interchangeable and more than 6 times faster than Apache. LiteSpeed Web Server\'s rewrite engine is fully compatible with Apache mod_rewrite, commonly used directives in a .htaccess file work exactly the same.', 'Free technical support for "General questions", "Consultation on Software features", "Incident Solving" and "Consultation on simple modification" support issue categories', 'Internet:', 'Printing purpose:', 'The number of possible iterations for the chosen concept (in order to finalize details and produce the final outcome).', 'A vector image of your logo (meaning you can resize it as you like without compromising print quality and manipulate it should you ever need to make changes to your logo).', 'A high-definition raster format (used in various raster image editors).', 'A document specifying the CMYK model of a logo (along with PANTONE color table, if possible).', 'A document containing examples of logo usage in business cards, brochures, letter-heads, greeting cards, envelopes etc.', 'Purchasing at the regular price means that other people can buy the graphic prototype after you order it.

Purchasing at the "unique price" guarantees that you are the last person who orders the graphic template and it will be permanently removed from our website after your purchase.', 'Tick this box if you would like us to integrate the graphic prototype with your online store based on LiteCommerce or X-Cart shopping cart software.', 'The number of provided concepts on the first step. If none of the sketches is chosen, we will create a new set of sketches from a scratch one more time, based on your corrections and remarks.', 'We will develop a graphic prototype of the flyout menu that can be used later during integration of the design with your store.', 'illustrations with dimensions greater than 250x250 pixels' ]; var EXTLINKS_ITEMS = [ 'www.qtmsoft.com', 'secure.qtmsoft.com', 'www.litecommerce.com', 'www.sales-n-stats.com','forum.x-cart.com', 'open in a new window', 'www.webceo.com', 'bugs.mysql.com','www.litespeedtech.com','en.wikipedia.org','www.paypal.com','www.paypal-promo.com', 'marketplace.x-cart.com' ]; var GP_CFG = { 'wise' : true, // don't go off screen, don't overlap the object in the document 'margin' : 0, // minimum allowed distance between the hint and the window edge (negative values accepted) 'gap' : 0, // minimum allowed distance between the hint and the origin (negative values accepted) 'align' : 'bctl', // bctl - align of the hint and the origin (by first letters origin's top|middle|bottom left|center|right to hint's top|middle|bottom left|center|right) 'css' : 'hintsClass', // a style class name for all hints, applied to DIV element (see style section in the header of the document) 'show_delay' : 10, // a delay between initiating event (mouseover for example) and hint appearing 'hide_delay' : 200, // a delay between closing event (mouseout for example) and hint disappearing 'follow' : true, // hint follows the mouse as it moves 'z-index' : 100, // a z-index for all hint layers 'IEfix' : false, // fix IE problem with windowed controls visible through hints (activate if select boxes are visible through the hints) 'IEtrans' : false, // ['blendTrans(DURATION=.3)', 'blendTrans(DURATION=.3)'], // [show transition, hide transition] - nice transition effects, only work in IE5+ 'opacity' : 100 // opacity of the hint in %% }; var GP_ITEMS = [ 'Purchasing at the regular price means that other people can buy the graphic prototype after you order it.

Purchasing at the "unique price" guarantees that you are the last person who orders the graphic template and it will be permanently removed from our website after your purchase.', 'Tick this box if you would like us to integrate the graphic prototype with your online store based on LiteCommerce or X-Cart shopping cart software.' ] var myHint = new THints (HINTS_ITEMS, HINTS_CFG); var myExtLinks = new THints (EXTLINKS_ITEMS, EXTLINKS_CFG); var gpHint = new THints (GP_ITEMS, GP_CFG); function Notify(text) { alert('In order to continue you must fill in '+text+'.'); } function TrialFormSubmit() { if (document.downloadform.name.value == "") { Notify('\'Name\' field'); document.downloadform.name.focus(); return false } if (document.downloadform.email.value == "") { Notify('\'E-mail\' field'); document.downloadform.email.focus(); return false } if (document.downloadform.email1.value != document.downloadform.email.value) { Notify('\'E-mail confirmation\''); document.downloadform.email.focus(); return false } if (!document.downloadform.agreement.checked) { alert('In order to continue you must accept the Evaluation Agreement.'); document.downloadform.agreement.focus(); return false; } if (document.downloadform.code.value == "") { Notify('\'Image code\''); document.downloadform.code.focus(); return false } document.downloadform.submit(); return true; } function DemoCheckAll() { for(i=0;i 47 && charCode < 58)) { return true; } else { return false; } } } } function checkProducts(thisform) { var elements = thisform.elements; for (i=0; i]*)?$/i; if (!urlReg.test(arr_fields[i].value)) { arr_fields[i].focus(); alert("'"+arr_names[i]+"' field is invalid! Please correct."); res = false; break; } } if (i==7) { var emailReg = "^[\\w-_\.]*[\\w-_\.]\@[\\w]\.+[\\w]+[\\w]$"; var regex = new RegExp(emailReg); var result = regex.test(arr_fields[7].value); if (!result) { alert("Incorrect format of '"+arr_names[7]+"' field! Please coorect."); arr_fields[7].focus(); res = fasle; break; } } if (i==8) { if (arr_fields[7].value != arr_fields[8].value) { alert("Both e-mail address entries must match! Please correct"); res = false; arr_fields[i].focus(); break; } } if (i==9) { if (!arr_fields[i].checked) { arr_fields[i].focus(); alert(arr_names[i]); res = false; break; } } } return res; } function textLimit(field, limit) { if (field.value.length > limit) { field.value = field.value.substring(0, limit); alert("Sorry, the field with maximum length of 800 characters only."); } } if ((document.all) && (document.getElementById)) { function MenuListElementHoverFix() { var _this = this; if (typeof(Array.prototype.push) == 'undefined') { // IE < 5.5 does not support push/pop function push() { var j = this.length; for (var i = 0; i < push.arguments.length; ++i) { this[j] = push.arguments[i]; j++; } } function pop() { var i = this[this.length - 1]; this.length--; return i; } Array.prototype.push = push; Array.prototype.pop = pop; } this.className = 'sfhover1'; // change the class name to use here if you are not happy with it this.classNameSuffix = ' ' + this.className; this.removeClassNameRegExp = new RegExp("\\b ?" + this.className + "\\b"); this.hoverElementStack = new Array(); this.onmouseover = function() { if (!_this.isHover(this)) { if (this.getAttribute('is_hover_class_removing') != 'true') { this.className += _this.classNameSuffix; } this.setAttribute('is_hover', 'true'); } } this.isHover = function(element) { return (element.getAttribute('is_hover') == 'true'); } this.checkNonHoverState = function(element) { if (!_this.isHover(element)) { element.className = element.className.replace(_this.removeClassNameRegExp, ''); } element.removeAttribute('is_hover_class_removing'); } this.checkLastNonHoverState = function() { var hoverElement = null; if (_this.hoverElementStack.length > 0) { hoverElement = _this.hoverElementStack.pop(); } for (var i = _this.hoverElementStack.length - 1; i >= 0; i--) { // we need to apply the "non-hover" class to the children first - else the result is mixed in the IE var o = _this.hoverElementStack[i]; while (o != null) { o = o.offsetParent; if (o == hoverElement) { _this.checkNonHoverState(_this.hoverElementStack[i]); break; } } } if (hoverElement != null) { _this.checkNonHoverState(hoverElement); } } this.onmouseout = function() { // all this mess to not change the class immediately (which would cause flickering in the IE) this.setAttribute('is_hover', 'false'); if (this.getAttribute('is_hover_class_removing') != 'true') { this.setAttribute('is_hover_class_removing', 'true'); _this.hoverElementStack.push(this); window.setTimeout(_this.checkLastNonHoverState, 100); } } this.fixElement = function(elementRoot) { for (var i=0; i < elementRoot.childNodes.length; i++) { var node = elementRoot.childNodes[i]; if (node.nodeName == "LI") { node.onmouseover = this.onmouseover; node.onmouseout = this.onmouseout; } this.fixElement(node); } }; this.findElement = function(elementRoot) { for (var i=0; i< elementRoot.childNodes.length; i++) { var node = elementRoot.childNodes[i]; if (node.nodeName == "UL") { if ((node.id != '') && ((node.id.indexOf("menu") >= 0) || (node.id.indexOf("nav") >= 0))) { this.fixElement(node); continue; // do not iterate through children of already fixed element } } this.findElement(node); } }; this.fix = function() { var node = document.body; if (node) { _this.findElement(node); } } this.addOnLoad = function() { if (window.attachEvent) { window.attachEvent("onload", this.fix); } else { window.onload = this.fix; } } } (new MenuListElementHoverFix()).addOnLoad(); } function TrackAction(action) { if (_gat) { var pageTracker = _gat._getTracker("UA-5826167-1"); var prefix = "/ga_"; var action1 = ""; var action2 = ""; if (action == 'try2buy' || action == 'contact' || action == 'rfq' || action == 'download') { action1 = prefix + 'lead'; if (action != 'try2buy') action2 = prefix + action; } if (action1) pageTracker._trackPageview(action1); if (action2) pageTracker._trackPageview(action2); } return true; } var prices = new Array(); prices['gold'] = new Array(); prices['pro'] = new Array(); prices['gold']['price'] = '229.00'; prices['gold']['inst'] = '57.00'; prices['gold']['price1'] = '115.00'; prices['pro']['price'] = '575.00'; prices['pro']['inst'] = '57.00'; prices['pro']['price1'] = '431.00'; var total = 0; function funcChangeProduct() { var new_total = 0; var product = ''; if (document.getElementById('xc_gold1').checked == true) { new_total += Number(prices['gold']['price1']); product = 'gold'; } if (document.getElementById('xc_gold').checked == true) { new_total += Number(prices['gold']['price']); product = 'gold'; } if (document.getElementById('xc_pro1').checked == true) { new_total += Number(prices['pro']['price1']); product = 'pro'; } if (document.getElementById('xc_pro').checked == true) { new_total += Number(prices['pro']['price']); product = 'pro'; } if (document.getElementById('xc_install').checked == true) { new_total += Number(prices['gold']['inst']); } new_total = new_total+'.00'; UpdateById(new_total, 'total'); return true; } function changeProductPrice(product) { var elm = document.getElementById('PriceValue'); if (document.getElementById('points').checked) UpdateById(prices[product]['price'], 'PriceValue') else UpdateById(prices[product]['price1'], 'PriceValue'); }