Open Social Gadget (Developer)
Google Gadgets are also compatible with Open Social Gadgets. This allows Google Gadgets integrated with Volusion API to be implemented with OpenSocial partners such as: MySpace, Friendster, Orkut, Hi5, FotoFlexer, iLike, RockYou, slide, viadeo, Ning, Linkedin, Flixster and many more.
Sample Social GadgetThis sample gadget retrieves and displays featured products.
author="" author_email=""
screenshot="" description="Featured Products" />
<br><br>  <style type="text/css"> <br>    body { <br>      width:200; <br>      height:230; <br>    }<br><br>    .regular { <br>      font-family: calibri; <br>      font-size: 12px; <br>      color: #000000; <br>    }<br><br>    .td1 {<br>      text-align: center;<br>      border-right: 1px solid #dddddd;<br>    }<br><br>    .td2 {<br>      font-family: verdana;<br>      font-size: 11px;<br>      text-align: left;<br>      border-bottom: 1px solid #dddddd;<br>    }<br><br>    .colors_productname {color:#0055bb}<br>    A.colors_productname:hover, A.colors_productname:visited {color:#0055bb}<br>    .pricecolor { FONT: bold 11px Verdana; }<br>    .colors_productprice {color:#cc0000}  <br>    .productnamecolor, A.productnamecolor {FONT: bold 11px Verdana; TEXT-DECORATION: none; }<br>  </style><br>  <br>   <script type="text/javascript"><br>     var chkConn; <br>     var s_url = "";<br>     var s_email = "";<br>     var s_password = "";<br>     var s_interval = "";<br> <br>     function vTrim(strInput) {<br>       while(strInput.charAt(0) == " ") {strInput = strInput.substr(1);}<br>       while(strInput.charAt(strInput.length-1) == " ") {strInput = strInput.substr(0,strInput.length-1);}<br>       return strInput.toString();<br>     }<br> <br>     function load_gadget() { <br>       if (isNaN(s_interval) == true || s_interval == "") {s_interval = 300;} <br>       load_settings(); <br>       download_products();<br>       chkConn = setInterval(download_products, 1000 * s_interval);<br>     }<br> <br>     function load_settings() { <br>       var prefs = new _IG_Prefs();<br>       s_url = prefs.getString("s_url"); <br>       s_email = prefs.getString("s_email"); <br>       s_password = prefs.getString("s_password"); <br>       s_interval = prefs.getString("s_interval");<br>     }<br> <br>     function download_products() { <br>       try { <br>         var api_url = "http://" + s_url + "/net/WebService.aspx?Login=" + s_email + <br>         "&EncryptedPassword=" + s_password + <br>         "&API_Name=Generic\\Products&SELECT_Columns=p.HomePage_Section,p.ProductCode,p.ProductID,<br>         p.ProductName,pd.ProductDescriptionShort,pe.Availability,pe.ListPrice,pe.PhotoURL_Small,<br>         pe.ProductPrice,pe.SalePrice&WHERE_Column=p.HomePage_Section&WHERE_Value=1";<br> <br>         var xmlhttp; <br>         var api_response = "";<br> <br>         _IG_FetchContent(api_url, function (response) { <br>           if (s_url == "" || s_email == "" || s_password == "") { <br>             content_area.innerHTML = "<font class=\"regular\">Check settings</font>"; <br>           } else { <br>             display_products(response); <br>           } <br>         }, <br>         1 <br>         );<br>       } catch(err) { <br>         if (s_url == "" || s_email == "" || s_password == "") { <br>           content_area.innerHTML = "<font class=\"regular\">Check settings</font>"; <br>         } else { <br>           content_area.innerHTML = "<font class=\"regular\">Unable to connect</font>"; <br>         } <br>       }<br>     }<br> <br>     function display_products(api_response) { <br>       var xml_api; <br>       var xml_product; <br>       var xml_product_detail;<br>       var node_products;<br>       var node_product_details; <br>       var i = 0, j = 0; <br> <br>       var product_id = "";<br>       var product_code = "";<br>       var product_name = "";<br>       var product_description_short = "";<br>       var product_list_price = "";<br>       var product_price = "";<br>       var product_photo_url_small = "";<br>       var html_products = ""; <br>  <br>       html_products = html_products + "<table border=0 cellpadding=10 cellspacing=0 width=\"100%\">"; <br> <br>       try { <br>         xml_api = new ActiveXObject("MSXML2.DOMDocument"); <br>         xml_api.loadXML(api_response); <br>         node_products = xml_api.getElementsByTagName("Products");<br> <br>         xml_product = new ActiveXObject("MSXML2.DOMDocument"); <br>         xml_product_detail = new ActiveXObject("MSXML2.DOMDocument");<br> <br>         if (node_products.length > 0) { <br>           for (i = node_products.length - 1; i > -1; i--) { <br>             xml_product.loadXML(node_products.item(i).xml);  <br>             product_id = get_node_text(xml_product, "Products/ProductID"); <br>             product_code = get_node_text(xml_product, "Products/ProductCode"); <br>             product_name = get_node_text(xml_product, "Products/ProductName"); <br>             product_description_short = get_node_text(xml_product, "Products/ProductDescriptionShort");<br>             product_list_price = get_node_text(xml_product, "Products/ListPrice");<br>             product_price = get_node_text(xml_product, "Products/ProductPrice");<br>             product_photo_url_small = get_node_text(xml_product, "Products/PhotoURL_Small");<br> <br>             html_products = html_products + "<tr>";<br>             html_products = html_products + "<td class=\"td1\">";<br>             if (product_photo_url_small != null && product_photo_url_small.length > 0) {<br>               html_products = html_products + "<a target=\"_blank\" <br>               href=\"http://" + s_url + "/productdetails.asp?ProductCode=" + <br>               escape(product_code) + "\" class=\"productnamecolor colors_productname\"><img src=\"" <br>               + product_photo_url_small + "\" border=0></a>";<br>             } else {<br>               html_products = html_products + "<a target=\"_blank\" <br>               href=\"http://" + s_url + "/productdetails.asp?ProductCode=" + escape(product_code) + "\"<br>               class=\"productnamecolor colors_productname\"><img border=0 src=\http://" + s_url<br>               + "/v/vspfiles/templates/110/images/nophoto.gif\></a>";<br>             }<br>  <br>             html_products = html_products + "</td>";<br>             html_products = html_products + "<td class=\"td2\">";<br>             html_products = html_products + "<a target=\"_blank\" href=\"http://" + s_url<br>             + "/productdetails.asp?ProductCode=" + escape(product_code) + "\" class=\"productnamecolor<br>             colors_productname\">" + product_name + "</a><br>";<br> <br>             if (product_list_price != null && vTrim(product_list_price) != "") {<br>               html_products = html_products + "<b>List Price:</b> " + product_list_price + "<br>";<br>             }<br>             if (product_price != null && vTrim(product_price) != "") {<br>               html_products = html_products + "<b>Our Price:</b> <font class=\"pricecolor <br>               colors_productprice\">" + product_price + "</font> ";<br>               html_products = html_products + "<a target=\"_blank\" class=\"productnamecolor <br>               colors_productname\" href=\"http://" + s_url + "/shoppingcart.asp?ProductCode="<br>               + escape(product_code) + "\"><img src=\"http://" + s_url  <br>               + "/v/vspfiles/templates/110/images/buttons/btn_addtocart_small.gif\" border=0></a><br>";<br>             }<br>             if (product_description_short != "" && vTrim(product_description_short) != "") {<br>               html_products = html_products + "" + product_description_short + "<br>";<br>             }<br>       <br>             html_products = html_products + "</td>";<br>             html_products = html_products + "</tr>"; <br>           } <br>         } <br>       } catch(err) { <br>         //error parsing xml <br>       }  <br>       html_products = html_products + "</table>"; <br>       content_area.innerHTML = html_products;<br>     }<br> <br>     function get_node_text(xml_doc, node_name) { <br>       var current_node; <br>       var node_text; current_node = xml_doc.getElementsByTagName(node_name); <br>       if (current_node.length > 0) {node_text = current_node.item(0).text;} <br>       return node_text;<br>     }<br>   </script><br>    <br>  <body onload="load_gadget()" style="margin:0px;" ><br>    <br>     <table border=0 cellpadding=0 cellspacing=0 style="margin:0px"><br>       <tr><br>         <td><div style="margin:0px;" x="1" y="1" id="content_area"><br>           <font style="color:#000000;font-family:calibri;font-size:12px;\">Loading...</font></div><br>         </td><br>       </tr><br>     </table><br>     <br>  </body><br>