
// SSL or plain http protocol
var api_script_protocol = parent.location.protocol + '//';

//the URL of the API
var url = api_script_protocol+'support.image-line.com/api.php';


function get_url_param(name){
  var res = "";
  var href = window.location.href;
  if ( href.indexOf("?") > -1 ){
    var qry = href.substr(href.indexOf("?")).toLowerCase();
    var a_qry = qry.split("&");
    for ( var param = 0; param < a_qry.length; param++ ){
      if (a_qry[param].indexOf(name.toLowerCase() + "=") > -1 ){
        var a_param = a_qry[param].split("=");
        res = a_param[1];
        break;
      }
    }
  }
  return unescape(res);
} 

function call_api(api_method, callback) {

  var script = document.createElement('script');
  var final_url = url + '?call=' + encodeURIComponent(api_method) + '&' + 'callback=' + encodeURIComponent(callback);
  if (arguments.length > 0) {
    // skip the first 2 parameters - defined and known
    for (var i = 2; i < arguments.length; i++) {
      final_url += "&" + encodeURI(arguments[i]);
    }
  }

  script.setAttribute('src', final_url);
  document.getElementsByTagName('head')[0].appendChild(script);
}
 

function il_check_login_cb(data) {

  login_panel = '';
  logged = false;

  if (data.result) {
    if (data.signedin) {
      login_panel += "<a href='" + data.profile_url + "'>" + data.name + "</a>";
      login_panel += "&nbsp;|&nbsp;";
      login_panel += "<a href='" + data.signout_url + "'>Sign Out</a>";
      logged = true;
    }
    else {
      login_panel += "<a href='" + data.signin_url + "'>Sign In</a>";
      login_panel += "&nbsp;|&nbsp;";
      login_panel += "<a href='" + data.join_url + "'>Join</a>";
    }
  }
  else {
    login_panel = "Error: " + data.error
  }

  $('show_login_state').innerHTML = login_panel;
  if(!logged) $('show_login_state').addClass('unlogged');
}

function il_check_login() {
  call_api('check_login','il_check_login_cb','return_path='+location.href);
}


function il_check_product_cb(data){

  product_panel = '';
   
  if (data.result) {
    if (data.own_product) {
      product_panel += "<a href='" + data.profile_url + "'>";
      product_panel += "<img src='images/own_product.png' style=\"vertical-align: bottom; width: 168px; height: 40px; border:0px;\" />";
      product_panel += "</a>";
    }
    else {
      product_panel += "<a href=\""+api_script_protocol+"shop.image-line.com\">";
      product_panel += "<img src='dx10_files/Order19.gif' style=\"vertical-align: bottom; width: 161px; height: 40px; border:0px;\">";
      product_panel += "</a>";
    }
  }
  else {
    product_panel = "Error: " + data.error
  }

  $('show_price_or_profile').innerHTML = product_panel;
}


function il_check_product(product_id) {
  call_api('check_product','il_check_product_cb','product_id='+product_id);
}


function il_product_description_cb(data){

  product_panel = '';
   
  if (data.result) {
      if (data.image_url != 'none') {
        product_panel += "<div><img src='" + api_script_protocol + "support.image-line.com" + data.image_url + "' style=\"border:0px;\"></div>";
      }
      product_panel += '<div>' + data.description + '</div>';
      product_panel += '<div><b>Price:</b>&nbsp;$' + data.price + '</div>';
  }
  else {
    product_panel = "Error: " + data.error;
  }

  $('product_description').innerHTML = product_panel;
}


function il_product_description() {  
  call_api('get_product_description','il_product_description_cb','product_id='+get_url_param('ID'));
}


