function lhg_scan_update_ajax()
{
    $pid = $_REQUEST['postid'];
    $id = $_REQUEST['id'];
    $session = $_REQUEST['session'];
    $asinURL = $_REQUEST['asinURL'];
    $comment = $_REQUEST['comment'];
    // get image URL
    $pos = strpos($asinURL, "/B0");
    $asin = substr($asinURL, $pos + 1, 10);
    if (strpos($asinURL, ".com/") > 1) {
        $amz_region = "com";
    }
    if (strpos($asinURL, ".fr/") > 1) {
        $amz_region = "fr";
    }
    if (strpos($asinURL, ".de/") > 1) {
        $amz_region = "de";
    }
    if (strpos($asinURL, ".co.uk/") > 1) {
        $amz_region = "co.uk";
    }
    $output = lhg_aws_get_price($asin, $amz_region);
    list($image_url_com, $product_url_com, $price_com, $product_title) = split(";;", $output);
    $image_url_com = str_replace("Image: ", "", $image_url_com);
    # update article data by ASIN data
    $mode = lhg_get_autocreate_mode($pid);
    lhg_update_tags_by_string($pid, $product_title, $mode);
    lhg_update_categories_by_string($pid, $product_title, $mode);
    lhg_update_title_by_string($pid, $product_title, $mode);
    if ($mode == "drive") {
        lhg_correct_drive_name($pid, $session);
    }
    # extract new Properties and new title coming from ASIN data
    $newtitle = get_the_title($pid);
    $posttags = get_the_tags($pid);
    $properties_array = array();
    if ($posttags) {
        foreach ($posttags as $tag) {
            array_push($properties_array, $tag->name);
            #error_log("TAG: ".$tag->name);
        }
    }
    $properties = join(", ", $properties_array);
    #error_log("PID: $pid - Title: $newtitle - Prop: $properties");
    // Write extracted data to DB
    global $lhg_price_db;
    $myquery = $lhg_price_db->prepare("UPDATE `lhghwscans` SET usercomment = %s WHERE id = %s ", $comment, $id);
    $result = $lhg_price_db->query($myquery);
    $myquery = $lhg_price_db->prepare("UPDATE `lhghwscans` SET url = %s WHERE id = %s ", $asinURL, $id);
    $result = $lhg_price_db->query($myquery);
    $myquery = $lhg_price_db->prepare("UPDATE `lhghwscans` SET imgurl = %s WHERE id = %s ", $image_url_com, $id);
    $result = $lhg_price_db->query($myquery);
    # And Store asin in WPDB
    $key = "amazon-product-single-asin";
    $value = $asin;
    if (get_post_meta($pid, $key, FALSE)) {
        //if the custom field already has a value
        update_post_meta($pid, $key, $value);
    } else {
        //if the custom field doesn't have a value
        add_post_meta($pid, $key, $value);
    }
    $response = new WP_Ajax_Response();
    $response->add(array('data' => 'success', 'supplemental' => array('text' => "Debug: {$pid} - {$id} - {$asin} - {$comment} - SID: {$session} -- END", 'imgurl' => "{$image_url_com}", 'properties' => "{$properties}", 'newtitle' => "{$newtitle}")));
    $myquery = $lhg_price_db->prepare("UPDATE `lhghwscans` SET usercomment = %s WHERE id = %s ", $comment, $id);
    #$sql = "SELECT id FROM `lhgshops` WHERE region <> \"de\"";
    $result = $lhg_price_db->query($myquery);
    $response->send();
    //var_dump($response);
    exit;
    //die();
}
function lhg_amazon_update_ajax()
{
    $pid = absint($_REQUEST['post_id']);
    $asin = $_REQUEST['asin'];
    if ($asin == "" or substr($asin, 0, 5) == "00000") {
        # No ASIN of no valid ASIN provided - spare us the hazzle
        print "ASIN not valid";
        print '<a id="more-image-options-link" class="thickbox more-image-options button" href="#TB_inline?width=700&height=550&inlineId=more-image-options">Show more options</a>';
        die;
    }
    $output = lhg_aws_get_price($asin, "com");
    list($image_url_com, $product_url_com, $price_com, $product_title, $label, $brand, $image_url_com2, $image_url_com3, $image_url_com4, $image_url_com5) = split(";;", $output);
    $product_title = str_replace("Title: ", "", $product_title);
    $output = lhg_aws_get_price($asin, "fr");
    list($image_url_fr, $product_url_fr, $price_fr) = split(";;", $output);
    $output = lhg_aws_get_price($asin, "de");
    list($image_url_de, $product_url_de, $price_de) = split(";;", $output);
    $image_url_com = str_replace("Image: ", "", $image_url_com);
    $image_url_com2 = str_replace("Image2: ", "", $image_url_com2);
    $image_url_com3 = str_replace("Image3: ", "", $image_url_com3);
    $product_url_com = str_replace("URL: ", "", $product_url_com);
    $price_com = str_replace("Price: ", "", $price_com);
    $product_url_de = str_replace("URL: ", "", $product_url_de);
    $price_de = str_replace("Price: ", "", $price_de);
    $product_url_fr = str_replace("URL: ", "", $product_url_fr);
    $price_fr = str_replace("Price: ", "", $price_fr);
    $success_image_com = $price_com != "" ? '<span class="amz-ajax-found">found</div>' : '<div class="amz-ajax-not-found">not found</div>';
    $success_image_fr = $price_fr != "" ? '<span class="amz-ajax-found">found</div>' : '<div class="amz-ajax-not-found">not found</div>';
    $success_image_de = $price_de != "" ? '<span class="amz-ajax-found">found</div>' : '<div class="amz-ajax-not-found">not found</div>';
    #
    #### add image to article, if icon empty
    #
    if ($image_url_com == "") {
        $scaled_image_url = "/wp-uploads/2013/03/noimage130.jpg";
    } else {
        $scaled_image_url = lhg_create_article_image($image_url_com, $product_title);
        $si_filename = str_replace("/wp-uploads/", "", $scaled_image_url);
        if (!has_post_thumbnail($pid)) {
            $file = "/var/www/wordpress" . $scaled_image_url;
            #print "PID: $pid";
            #print "<br>Store Thumbnail!";
            #print "<br>SIURL: $scaled_image_url";
            $wp_filetype = wp_check_filetype($file, null);
            $attachment = array('post_mime_type' => $wp_filetype['type'], 'post_title' => sanitize_title($product_title), 'post_content' => '', 'post_status' => 'inherit');
            #  var_dump($attachment);
            $attach_id = wp_insert_attachment($attachment, $si_filename, $pid);
            #print "AID: ".$attach_id;
            require_once ABSPATH . 'wp-admin/includes/image.php';
            $attach_data = wp_generate_attachment_metadata($attach_id, $si_filename);
            wp_update_attachment_metadata($attach_id, $attach_data);
            set_post_thumbnail($pid, $attach_id);
        }
    }
    echo '<div class="amz-ajax-image"><a href="' . $product_url_com . '"><img src="' . $scaled_image_url . '"/></a>';
    print '<a id="more-image-options-link" class="thickbox more-image-options button" href="#TB_inline?width=700&height=550&inlineId=more-image-options">Show more options</a>';
    echo '</div>';
    echo '
                 <div class="ajax-amazon-table">
                 <table ><tr>

                 <td>Region</td> <td>status</td>  <td>Price</td> <td> URL </td>

                 </tr>
                 <td>com</td> <td><span class="amz-ajax-return">' . $success_image_com . '</span></td>
                 <td> ' . $price_com . '</td>
                 <td> ';
    if ($product_url_com != "") {
        print '(<a href="' . $product_url_com . '">visit</a>)';
    }
    print '</td>
                 </tr>

                 </tr>
                 <td>fr</td> <td><span class="amz-ajax-return">' . $success_image_fr . '</span></td>
                 <td> ' . $price_fr . '</td>
                 <td> ';
    if ($product_url_fr != "") {
        print '(<a href="' . $product_url_fr . '">visit</a>)';
    }
    print '</td>
                 </tr>

                 </tr>
                 <td>de</td> <td><span class="amz-ajax-return">' . $success_image_de . '</span></td>
                 <td> ' . $price_de . '</td>
                 <td>';
    if ($product_url_de != "") {
        print '(<a href="' . $product_url_de . '">visit</a>)';
    }
    print '</td>
                 </tr>

                 </table>
                 </div>';
    // exchange images in Amazon image selector popup
    print '

                <script type="text/javascript">
                /* <![CDATA[ */

                jQuery(document).ready( function($) {
                ';
    if ($image_url_com != "") {
        print ' $("#imgsrc-1").attr("src","' . $image_url_com . '");';
    } else {
        print ' $("#imgsel-1").hide();';
    }
    if ($image_url_com2 != "") {
        print ' $("#imgsrc-2").attr("src","' . $image_url_com2 . '");';
    } else {
        print ' $("#imgsel-2").hide();';
    }
    if ($image_url_com3 != "") {
        print ' $("#imgsrc-3").attr("src","' . $image_url_com3 . '");';
    } else {
        print ' $("#imgsel-3").hide();';
    }
    if ($image_url_com4 != "") {
        print ' $("#imgsrc-4").attr("src","' . $image_url_com4 . '");';
    } else {
        print ' $("#imgsel-4").hide();';
    }
    #error_log(' $("#imgsrc-2").attr("src","'.$image_url_com2.'");');
    print '
                });



                /*]]> */

                </script>';
    die;
}
function lhg_amazon_finder_ajax()
{
    #global $lhg_amazon_title; #stores the title received from AMAZON
    $search_region = "com";
    #which AMAZON server to ask
    $pid = absint($_REQUEST['pid']);
    $id = absint($_REQUEST['id']);
    $session = $_REQUEST['session'];
    # type is identified by article category
    # i.e. "cpu", "mainboard",...
    $type = lhg_get_autocreate_mode($pid);
    #error_log("Type: $type");
    if ($type == "") {
        $type = "drive";
    }
    #ToDo: set correct type
    #$type = "cpu";
    #$output = lhg_aws_get_price($asin,"com");
    #list($image_url_com, $product_url_com, $price_com , $product_title) = split(";;",$output);
    #print "Search results for TITLE HERE<br>...";
    #print "PID: $pid - ID: $id - Session: $session<br>";
    $title = get_the_title($pid);
    # drive titles are sometimes shortened -> repair them
    if ($type == "drive") {
        $searchstring = lhg_search_string_from_drive_title($title, $session);
        $title_mod = str_replace(" ", "__", $searchstring);
    }
    if ($type == "cpu") {
        $title_mod = str_replace(" ", "__", $title);
    }
    $tmp = explode("(", $title_mod);
    #$title_mod = $tmp[0];
    #error_log("Tit: $title_mod");
    $returnarray = lhg_amazon_search_by_title($title_mod, $search_region);
    #var_dump($returnarray);
    if (isset($returnarray[0])) {
        $asin1 = $returnarray[0];
    }
    if (isset($returnarray[1])) {
        $title1 = $returnarray[1];
    }
    if (isset($returnarray[2])) {
        $asin2 = $returnarray[2];
    }
    if (isset($returnarray[3])) {
        $title2 = $returnarray[3];
    }
    if (isset($returnarray[4])) {
        $asin3 = $returnarray[4];
    }
    if (isset($returnarray[5])) {
        $title3 = $returnarray[5];
    }
    $output1 = lhg_aws_get_price($asin1, $search_region);
    $output2 = lhg_aws_get_price($asin2, $search_region);
    $output3 = lhg_aws_get_price($asin3, $search_region);
    #var_dump($output1);
    list($image_url_com1, $product_url_com1, $price_com1, $product_title) = split(";;", $output1);
    list($image_url_com2, $product_url_com2, $price_com2, $product_title) = split(";;", $output2);
    list($image_url_com3, $product_url_com3, $price_com3, $product_title) = split(";;", $output3);
    $image_url_com1 = str_replace("Image: ", "", $image_url_com1);
    $image_url_com2 = str_replace("Image: ", "", $image_url_com2);
    $image_url_com3 = str_replace("Image: ", "", $image_url_com3);
    $product_url_com1 = str_replace("URL: ", "", $product_url_com1);
    $product_url_com2 = str_replace("URL: ", "", $product_url_com2);
    $product_url_com3 = str_replace("URL: ", "", $product_url_com3);
    $price_com1 = str_replace("Price: ", "", $price_com1);
    $price_com2 = str_replace("Price: ", "", $price_com2);
    $price_com3 = str_replace("Price: ", "", $price_com3);
    #, $title1, $asin2, $title2, $asin3, $title3) = $returnarray;
    print "\n  <input type=\"hidden\" id=\"PID-{$id}\" value=\"{$pid}\">\n<table id=\"amazon-finder-{$id}\">\n";
    #  <tr>
    #  	<td>Image</td>
    #        <td>Title</td>
    #        <td>Price</td>
    #        <td>ASIN</td>
    #        <td>select</td>
    #  </tr>
    print "<tr><td><a href=\"{$product_url_com1}\"><img src=\"{$image_url_com1}\" width=\"100\"></a></td><td>{$title1}\n                <br>Price: {$price_com1}<br>ASIN: {$asin1}</td>\n<td>\n  <input type=\"hidden\" id=\"ASIN1-{$id}\" value=\"{$asin1}\">\n  <input type=\"hidden\" id=\"IMGURL1-{$id}\" value=\"{$image_url_com1}\">\n  <input type=\"hidden\" id=\"PRODURL1-{$id}\" value=\"{$product_url_com1}\">\n  <input type=\"hidden\" id=\"TITLE1-{$id}\" value=\"{$title1}\">\n  <a href=\"\" id=\"autocreate-1-{$id}\">select</a>\n</td></tr>";
    #, $title1<br>";
    if ($asin2 != "") {
        print "<tr><td><a href=\"{$product_url_com2}\"><img src=\"{$image_url_com2}\" width=\"100\"></a></td><td>{$title2}\n\t\t<br>Price: {$price_com2}<br>ASIN: {$asin2}</td>\n\n<td>\n  <input type=\"hidden\" id=\"ASIN2-{$id}\" value=\"{$asin2}\">\n  <input type=\"hidden\" id=\"IMGURL2-{$id}\" value=\"{$image_url_com2}\">\n  <input type=\"hidden\" id=\"PRODURL2-{$id}\" value=\"{$product_url_com2}\">\n  <input type=\"hidden\" id=\"TITLE2-{$id}\" value=\"{$title2}\">\n  <a href=\"\" id=\"autocreate-2-{$id}\">select</a>\n</td></tr>";
    }
    #, $title1<br>";
    if ($asin2 != "") {
        print "<tr><td><a href=\"{$product_url_com3}\"><img src=\"{$image_url_com3}\" width=\"100\"></a></td><td>{$title3}\n<br>Price: {$price_com3}<br>ASIN: {$asin3}</td>\n\n<td>\n  <input type=\"hidden\" id=\"ASIN3-{$id}\" value=\"{$asin3}\">\n  <input type=\"hidden\" id=\"IMGURL3-{$id}\" value=\"{$image_url_com3}\">\n  <input type=\"hidden\" id=\"PRODURL3-{$id}\" value=\"{$product_url_com3}\">\n  <input type=\"hidden\" id=\"TITLE3-{$id}\" value=\"{$title3}\">\n  <a href=\"\" id=\"autocreate-3-{$id}\">select</a>\n</td></tr>";
    }
    #, $title1<br>";
    #print "ASIN2: $asin2, $title2<br>";
    #print "ASIN3: $asin3, $title3<br>";
    #print "Searchresult: $result<br>";
    print "</table>";
    die;
}