/*
  $Id: common.js, v 1.3 2011/06/15 16:46:27 $
  
  @author 	Samad kushan (samad1983<at>gmail.com) 		
  @copyright 	Copyright 2009-2011, Tavrizh	I.T	
  
  Virtu, Open Source E-Commerce
  http://www.e-virtu.com/  
  
  Copyright (c) 2007-2011 Virtu E-Commerce
  Released under the GNU General Public License
  powered by JQuery
*/

$(document).ready(function() {
  /* seo images BEGIN */
  $("a[rel='colorboxpics']").each(function(index){
    $(this).attr("href",$(this).parent().find("span.image_light_box_url_holder").text());
  });
  /* seo images END */

  /* messageBox BEGIN*/
  $(".colorbox_action_message_close_button a, .colorbox_error_message_close_button a").click(function(event) {
    event.stopPropagation();
    event.preventDefault();
    $.colorbox.close();
  });
  /* messageBox END*/

  $(".pagination_counts_container .counts_text").click(function() {
    $(this).hide();
    $(this).parent().find(".counts_select").show();
  });

  $(".pagination_counts_container .counts_select_back").click(function() {
    $(this).parent().parent().parent().parent().parent().hide();
    $(this).parent().parent().parent().parent().parent().parent().find(".counts_text").show();
  });

  // iranmc Begin
  $("#iranmc_selection").show();
  if(!$("input[value=iranmc_express]").attr("checked") || $("input[value=iranmc_common]").attr("checked") || $("input[value=iranmc_peak]").attr("checked")) {
    $("#iranmc_selection").hide();
  }

  $(".moduleRow, #defaultSelected").click(function(event) {
    if($(this).find("input[type=radio]").attr("value") != "iranmc_express" || $(this).find("input[type=radio]").attr("value") != "iranmc_common" || $(this).find("input[type=radio]").attr("value") != "iranmc_peak" ) {
      $("#iranmc_selection").hide();
    }
  });
  
  $("#iranmc_express_price, #iranmc_common_price, #iranmc_peak_price").parent().parent().click(function(event) {
    $("#iranmc_selection").show();
    if ($("input[name=iranmc_calculated]").attr("value") == 0) {
      $("#iranmc_express_price").parent().find(".shipping_inprocess").show();
      $("#iranmc_common_price").parent().find(".shipping_inprocess").show();
      $("#iranmc_peak_price").parent().find(".shipping_inprocess").show();

      $("#iranmc_express_price").hide();
      $("#iranmc_common_price").hide();
      $("#iranmc_peak_price").hide();

      $("#iranmc_error_holder").hide();
      $.ajax({
        type: "GET",
        url: "iranmc_price_calculate.php",
        data: "Vsid=" + session_id,
        timeout: 60000,
        dataType:'json',
        success: function(data){
          $("#iranmc_express_price").parent().find(".shipping_inprocess").hide();
          $("#iranmc_common_price").parent().find(".shipping_inprocess").hide();
          $("#iranmc_peak_price").parent().find(".shipping_inprocess").hide();
          $("#iranmc_express_price").show();
          $("#iranmc_common_price").show();
          $("#iranmc_peak_price").show();

          $("#iranmc_calculate").show();
          $("#iranmc_error_holder").hide();
          if (data['error'] == 1) {
            $("#iranmc_error_holder").html(data['error_description']);
            $("#iranmc_error_holder").show();
          } else {
            $("#iranmc_express_price").parent().parent().show();
            $("#iranmc_express_price").html(data['iranmc_express_price']);
            $("input[name=iranmc_calculated]").attr("value",1);
            if (data['iranmc_common_price'] != 0) {
              $("#iranmc_common_price").parent().parent().show();
              $("#iranmc_common_price").html(data['iranmc_common_price']);
              $("#iranmc_common_price").show();
            }
            if (data['iranmc_peak_price'] != 0) {
              $("#iranmc_peak_price").parent().parent().show();
              $("#iranmc_peak_price").html(data['iranmc_peak_price']);
              $("#iranmc_peak_price").show();
            }
          }
        },
        error: function(request, errorType, errorThrown) {
          $("#iranmc_express_price").parent().find(".shipping_inprocess").hide();
          $("#iranmc_common_price").parent().find(".shipping_inprocess").hide();
          $("#iranmc_peak_price").parent().find(".shipping_inprocess").hide();
          $("#iranmc_express_price").show();
          $("#iranmc_common_price").show();
          $("#iranmc_peak_price").show();

          $("#iranmc_calculate").show();
          $("#iranmc_error_holder").hide();

          if(request.status==0) {
            $("#iranmc_error_holder").html(js_text_ajax_offline_mode);
          } else if(request.status==404) {
            $("#iranmc_error_holder").html(js_text_ajax_url_not_found);
          } else if(request.status==500) {
            $("#iranmc_error_holder").html(js_text_ajax_internal_server_error);
          } else if (errorType == "timeout") {
            $("#iranmc_error_holder").html(js_text_ajax_timeout);
          } else {
            $("#iranmc_error_holder").html(js_text_ajax_unknown_error);
          }

          $("#iranmc_error_holder").show();
        }
      });
    }
  });
  // if in the beggining, there is only iranmc shipping module or selected radio is iranmc so trigger the click and calculate the price
  if(($(".moduleRow, #defaultSelected").size()==1) || (($(".moduleRow, #defaultSelected").find("input[type=radio]:checked").attr('value')=="iranmc_express" || $(".moduleRow, #defaultSelected").find("input[type=radio]:checked").attr('value')=="iranmc_common" || $(".moduleRow, #defaultSelected").find("input[type=radio]:checked").attr('value')=="iranmc_peak") && $("input[name=iranmc_calculated]").attr("value") == 0)) {
    $("#iranmc_express_price, #iranmc_common_price, #iranmc_peak_price").parent().parent().trigger('click');
  }
// iranmc END
// dpay Begin

  $("#dpay_selection").show();
  if(!$("input[value=dpay_express]").attr("checked") || $("input[value=dpay_common]").attr("checked")) {
    $("#dpay_selection").hide();
  }

  $(".moduleRow, #defaultSelected").click(function(event) {
    if($(this).find("input[type=radio]").attr("value") != "dpay_express" || $(this).find("input[type=radio]").attr("value") != "dpay_common" ) {
      $("#dpay_selection").hide();
    }
  });
  $("#dpay_express_price, #dpay_common_price").parent().parent().click(function(event) {
    $("#dpay_selection").show();
    if ($("input[name=dpay_calculated]").attr("value") == 0) {
      $("#dpay_express_price").parent().find(".shipping_inprocess").show();
      $("#dpay_common_price").parent().find(".shipping_inprocess").show();
      $("#dpay_express_price").hide();
      $("#dpay_common_price").hide();
      $("#dpay_error_holder").hide();
      $.ajax({
        type: "GET",
        url: "dpay_price_calculate.php",
        data: "Vsid=" + session_id,
        timeout: 60000,
        dataType:'json',
        success: function(data) {
          $("#dpay_express_price").parent().find(".shipping_inprocess").hide();
          $("#dpay_common_price").parent().find(".shipping_inprocess").hide();
          $("#dpay_express_price").show();
          $("#dpay_common_price").show();

          $("#dpay_calculate").show();
          $("#dpay_error_holder").hide();
          if (data['error'] == 1) {
            $("#dpay_error_holder").html(data['error_description']);
            $("#dpay_error_holder").show();
          } else {
            $("#dpay_express_price").parent().parent().show();
            $("#dpay_express_price").html(data['dpay_express_price']);
            $("input[name=dpay_calculated]").attr("value",1);
            if (data['dpay_common_price'] != 0) {
              $("#dpay_common_price").parent().parent().show();
              $("#dpay_common_price").html(data['dpay_common_price']);
              $("#dpay_common_price").show();
            }
          }
        },
        error: function(request, errorType, errorThrown) {
          $("#dpay_express_price").parent().find(".shipping_inprocess").hide();
          $("#dpay_common_price").parent().find(".shipping_inprocess").hide();
          $("#dpay_express_price").show();
          $("#dpay_common_price").hide();
          $("#dpay_calculate").show();
          $("#dpay_error_holder").hide();
          if(request.status==0) {
            $("#dpay_error_holder").html(js_text_ajax_offline_mode);
          } else if(request.status==404) {
            $("#dpay_error_holder").html(js_text_ajax_url_not_found);
          } else if(request.status==500) {
            $("#dpay_error_holder").html(js_text_ajax_internal_server_error);
          } else if (errorType == "timeout") {
            $("#dpay_error_holder").html(js_text_ajax_timeout);
          } else {
            $("#dpay_error_holder").html(js_text_ajax_unknown_error);
          }

          $("#dpay_error_holder").show();
        }
      });
     }
  });
  // if in the beggining, there is only dpay shipping module or selected radio is dpay so trigger the click and calculate the price

  if(($(".moduleRow, #defaultSelected").size()==1) || (($(".moduleRow, #defaultSelected").find("input[type=radio]:checked").attr('value')=="dpay_express" || $(".moduleRow, #defaultSelected").find("input[type=radio]:checked").attr('value')=="dpay_common") && $("input[name=dpay_calculated]").attr("value") == 0)) {
    $("#dpay_express_price, #dpay_common_price").parent().parent().trigger('click');
  }

// dpay END
/* order tracking box */

  $("#order_tracking_box_backlink").click(function(event) {
    $("#order_tracking_box_backlink").hide();
    $("#order_tracking_box_text1, #order_tracking_box_text2").show();
    $("input[name=order_tracking_code]").show();
    $("#order_tracking_button").show();
    $("#order_tracking_status_holder").hide();
    $("input[name=order_tracking_code]").attr("value","");
  });

  $("input[name=order_tracking_code]").keypress(function(event) {
    if(event.keyCode==13 && $("input[name=order_tracking_code]").attr("value")!="") {
      $("#order_tracking_button").trigger('click');
    }
  });

  $("#order_tracking_button").click(function(event) {

    $("#order_tracking_status_holder").parent().parent().show();
    $("#order_tracking_status_holder").hide();
    $("#order_tracking_status_inprocess").show();
    $("#order_tracking_button").hide();
    $("#order_tracking_status_error_holder").hide();
    $("#order_tracking_box_text1, #order_tracking_box_text2").hide();
    $("#order_tracking_box_backlink").hide();
    order_tracking_code_value = $("input[name=order_tracking_code]").attr("value");

    if (order_tracking_code_value == "") {

      $("#order_tracking_status_inprocess").hide();
      $("input[name=order_tracking_code]").show();
      $("#order_tracking_button").show();
      $("#order_tracking_box_backlink").hide();
      $("#order_tracking_status_error_holder").show();
      $("#order_tracking_box_text1, #order_tracking_box_text2").show();
      $("#order_tracking_status_error_holder").html(js_error_tracking_code_empty);

    }else {

      $("input[name=order_tracking_code]").hide();

      $.ajax({
        type: "GET",
        url: "order_tracking_system.php",
        data: "order_tracking_code=" + order_tracking_code_value + "&Vsid=" + session_id,
        timeout: 60000, /* 60 sec */
        dataType: 'json',
        success: function(data){
          $("#order_tracking_status_inprocess").hide();
          if (data['error'] == 1) {
            $("input[name=order_tracking_code]").show();
            $("#order_tracking_button").show();
            $("#order_tracking_box_backlink").hide();
            $("#order_tracking_status_error_holder").show();
            $("#order_tracking_box_text1, #order_tracking_box_text2").show();
            $("#order_tracking_status_error_holder").html(data['error_description']);
          }
          else {
            //$("input[name=order_tracking_code]").show();
            //$("#order_tracking_button").show();
            $("#order_tracking_box_backlink").show();
            $("#order_tracking_status_holder").show();
            $("#order_tracking_status_holder").html(data['order_status_description']);
          }
        },
        error: function(request, errorType, errorThrown) {
          $("#order_tracking_status_inprocess").hide();
          $("input[name=order_tracking_code]").show();
          $("#order_tracking_button").show();
          $("#order_tracking_box_text1, #order_tracking_box_text2").show();
          
          if (errorType == "timeout") {
            $("#order_tracking_status_error_holder").html(js_text_status_ajax_timeout);
          }
          else 
            if (request.status == 0) {
              $("#order_tracking_status_error_holder").html(js_text_ajax_offline_mode);
            }
            else 
              if (request.status == 404) {
                $("#order_tracking_status_error_holder").html(js_text_status_ajax_url_not_found);
              }
              else 
                if (request.status == 500 || errorType == "parsererror") {
                  $("#order_tracking_status_error_holder").html(js_text_ajax_internal_server_error);
                }
                else {
                  $("#order_tracking_status_error_holder").html(js_text_status_ajax_unknown_error);
                }
          $("#order_tracking_status_error_holder").show();
        }
      });
    }
	});
 /* order tracking account_history_info.php */
  $("#history_info_order_tracking_button").click(function(event) {
    event.preventDefault();
    $("#history_info_order_tracking_status_holder").parent().parent().show();
    $("#history_info_order_tracking_status_holder").hide();
    $("#history_info_order_tracking_status_inprocess").show();
    $("#history_info_order_tracking_button").hide();
    $("#history_info_order_tracking_status_error_holder").hide();

    order_tracking_code_value = $("input[name=history_info_order_tracking_code]").attr("value");
    $("#history_info_order_tracking_button").hide();
    $.ajax({
      type: "GET",
      url: "order_tracking_system.php",
      data: "order_tracking_code=" + order_tracking_code_value + "&Vsid=" + session_id,
      timeout: 60000, /* 60 sec */
      dataType:'json',
			success: function(data) {
        $("#history_info_order_tracking_status_inprocess").hide();
        if(data['error']==1) {
          $("#history_info_order_tracking_status_error_holder").show();
          $("#history_info_order_tracking_status_error_holder").html(data['error_description'] );
        } else {
          $("#history_info_order_tracking_status_holder").show();
          $("#history_info_order_tracking_status_holder").html(data['order_status_description']);
        }
      },
      error: function(request, errorType, errorThrown) {
        $("#history_info_order_tracking_status_inprocess").hide();
        if (errorType == "timeout") {
          $("#history_info_order_tracking_status_error_holder").html(js_text_status_ajax_timeout);
        } else if(request.status==0) {
          $("#history_info_order_tracking_status_error_holder").html(js_text_ajax_offline_mode);
        } else if(request.status==404) {
          $("#history_info_order_tracking_status_error_holder").html(js_text_status_ajax_url_not_found);
        } else if(request.status==500 || errorType == "parsererror") {
          $("#history_info_order_tracking_status_error_holder").html(js_text_ajax_internal_server_error);
        } else {
          $("#history_info_order_tracking_status_error_holder").html(js_text_status_ajax_unknown_error);
        }
        $("#history_info_order_tracking_status_error_holder").show();
      }
	  });
  });
// Order Tracking END
// compare 	

  $(".add_compare_button").click(function() {
    $(".in_processing").show();
    $.get("compare_list_script.php", {product_id: $(this).attr("id"), Vsid: session_id}, function(data) {
      $(".in_processing").hide();
      if(data == 'too_many') {
        alert(text_too_many_products_added);
      } else if(data == 'exist') {
        
      } else if(data == 'not_found') {
        alert(text_not_found_products);
      } else {
        $("#compare_list_holder").replaceWith(data);
        $(".clear_compare_list_button").show();
        $(".button_compare").show();
      }
    });
  });

	$(".clear_compare_list_button").click(function() {
    $(".in_processing").show();
    $.get("compare_list_script.php", {clear_compare_list: true, Vsid: session_id }, function(data) {
      $(".in_processing").hide();
      if (data == 'empty') {
        $("#compare_list_holder").replaceWith('<div id="compare_list_holder" style="clear:both;">' + text_no_compare_products_added + '</div>');
        $(".clear_compare_list_button").hide();
        $(".button_compare").hide();
      }
    });
  });
});
// parspeyk Begin
function parspeyk_ldMenu(state_id) {
  var cities_json_str,cities_json;
  $("input[name=parspeyk_calculated]").attr("value",0);
  cities_json_str =  $('#parspeyk_cities_json').text();
  if ( cities_json_str != '' ){
    //cities_json ( "cities_json = " + cities_json_str);
    cities_json = eval ( '(' + cities_json_str + ')');
    if ( state_id == 0 ) {
      $('#parspeyk_shahr').empty();
      $('#parspeyk_shahr').append ( $("<option></option>" ) . attr ( "value",0 ). text( 'لطفا استان خود را انتخاب کنید' ) );
    } else {
      $('#parspeyk_shahr').empty();
      $('#parspeyk_shahr').append ( $("<option></option>" ) . attr ( "value",0 ). text( 'لطفا شهر خود را انتخاب کنید' ) );
      $.each( cities_json [ state_id ], function( key,value ) {
        $('#parspeyk_shahr').append ( $("<option></option>" ) .attr ( "value",value.city_id ).text( value.city_name ) );
      });
    }
  }
}

$(document).ready(function() {
  $("#parspeyk_selection").show();
  if((!$("input[value=parspeyk_express]").attr("checked") && !$("input[value=parspeyk_common]").attr("checked")) && $("input[name=shipping]").size()>1) {
    // hide if parspeyk not selected
    $("#parspeyk_selection").hide();
  }

  // hide if another module select
  $(".moduleRow, #defaultSelected").click(function(event) {
    if($(this).find("input[type=radio]").attr("value") != "parspeyk_express" || $(this).find("input[type=radio]").attr("value") != "parspeyk_common" ) {
      $("#parspeyk_selection").hide();
    }
  });

  // show states if parspeyk selected
  $("#parspeyk_express_price, #parspeyk_common_price").parent().parent().click(function() {
    $("#parspeyk_selection").show();
  });

  $("#parspeyk_price_calculate_button").click(function(event) {
    if ($("input[name=parspeyk_calculated]").attr("value") == 0) {
      $("#parspeyk_express_price").parent().find(".shipping_inprocess").show();
      $("#parspeyk_common_price").parent().find(".shipping_inprocess").show();
      parspeyk_shahr = $("#parspeyk_shahr").val();
      parspeyk_id_ostan = $("#parspeyk_id_ostan").val();
      $("#parspeyk_express_price").hide();
      $("#parspeyk_common_price").hide();
      $("#parspeyk_error_holder").hide();
      $.ajax({
        type: "GET",
        url: "parspeyk_price_calculate.php",
        data: "Vsid=" + session_id + "&pp_ostan_id="+parspeyk_id_ostan+"&pp_shahr_id="+parspeyk_shahr,
        timeout: 60000,
        dataType:'json',
        success: function(data) {
          $("#parspeyk_express_price").parent().find(".shipping_inprocess").hide();
          $("#parspeyk_common_price").parent().find(".shipping_inprocess").hide();
          $("#parspeyk_express_price").show();
          $("#parspeyk_common_price").hide();

          $("#parspeyk_calculate").show();
          $("#parspeyk_error_holder").hide();
          if(data['parspeyk_redirect']==1) {
            window.location = login_redirect_url;
          } else if (data['error'] == 1) {
            $("#parspeyk_error_holder").html(data['error_description']);
            $("#parspeyk_error_holder").show();
          } else {
            $("#parspeyk_express_price").parent().parent().show();
            $("#parspeyk_express_price").html(data['parspeyk_express_price']);
            $("input[name=parspeyk_calculated]").attr("value",1);
            if (data['parspeyk_common_price'] != -1) {
              $("#parspeyk_common_price").parent().parent().show();
              $("#parspeyk_common_price").html(data['parspeyk_common_price']);
              $("#parspeyk_common_price").show();
            }
          }
        },
        error: function(request, errorType, errorThrown) {
                 $("#parspeyk_express_price").parent().find(".shipping_inprocess").hide();
                 $("#parspeyk_common_price").parent().find(".shipping_inprocess").hide();
                 $("#parspeyk_express_price").show();
                 $("#parspeyk_common_price").hide();
                 $("#parspeyk_calculate").show();
                 $("#parspeyk_error_holder").hide();
                 if(request.status==0) {
                   $("#parspeyk_error_holder").html(js_text_ajax_offline_mode);
                 } else if(request.status==404) {
                   $("#parspeyk_error_holder").html(js_text_ajax_url_not_found);
                 } else if(request.status==500) {
                   $("#parspeyk_error_holder").html(js_text_ajax_internal_server_error);
                 } else if (errorType == "timeout") {
                   $("#parspeyk_error_holder").html(js_text_ajax_timeout);
                 } else {
                   $("#parspeyk_error_holder").html(js_text_ajax_unknown_error);
                 }
                 $("#parspeyk_error_holder").show();
               }
      });
    }
  });
  // if in the beggining, there is only parspeyk shipping module or selected radio is parspeyk so trigger the click and calculate the price
  /*
    if(($(".moduleRow, #defaultSelected").size()==1) || (($(".moduleRow, #defaultSelected").find("input[type=radio]:checked").attr('value')=="parspeyk_express" || $(".moduleRow, #defaultSelected").find("input[type=radio]:checked").attr('value')=="parspeyk_common") && $("input[name=parspeyk_calculated]").attr("value") == 0)){
    $("#parspeyk_express_price, #parspeyk_common_price").parent().parent().trigger('click');
    }
  */
});
/* add to shopping cart */
function add_shopping_card(id, redirect_url) {
  $("#shopping_card_list_holder").hide();
  $(".in_processing_add_shopping_card").show();
  $.ajax({
    type: "GET",
    url: "add_to_shopping_card_script.php",
    data: "ajax=true&action=buy_now&products_id=" + id + "&Vsid=" + session_id,
    timeout: 60000, /* 60 sec */
    dataType:'json',
    success: function(data) {
      $(".in_processing_add_shopping_card").hide();
      $("#shopping_card_list_holder").show();
      if(data['redirect']==1) {
        window.location = redirect_url;
      } else if(data['error']==1) {
        alert_error_message(data['error_header_title'],data['error_description']);
      } else {
        $("#shopping_card_list_holder").replaceWith('<div id="shopping_card_list_holder">'+ data['cart_content'] + '</div>');
        $("#shopping_card_total_holder").replaceWith('<div id="shopping_card_total_holder">'+ data['cart_total'] + '</div>');
        $.colorbox({inline:true,href:'#colorbox_add_to_cart_action_message_container',transition:'elastic', initialWidth: 0, initialHeight: 0, opacity:0.0,speed:500, maxWidth: '90%',maxHeight: '80%'});
        $('DIV#colorbox').addClass("color_box_message");
        $('DIV#cboxTitle').hide();
        $('DIV#cboxClose').hide();
      }
      return false;
    },error: function(request, errorType, errorThrown) {
       $(".in_processing_add_shopping_card").hide();
       $("#shopping_card_list_holder").show();
       if (errorType == "timeout") {
         alert_error_message(js_text_ajax_error_header,js_text_status_ajax_timeout);
       } else if(request.status==0) {
         alert_error_message(js_text_ajax_error_header,js_text_ajax_offline_mode);
       } else if(request.status==404) {
         alert_error_message(js_text_ajax_error_header,js_text_status_ajax_url_not_found);
       } else if(request.status==500 || errorType == "parsererror") {
         alert_error_message(js_text_ajax_error_header,js_text_ajax_internal_server_error);
       } else {
         alert_error_message(js_text_ajax_error_header,js_text_status_ajax_unknown_error);
       }
       return false;
    }
  });
  return false;
}

function rowOverEffect(object) {
  if (object.className == 'moduleRow') object.className = 'moduleRowOver';
}

function rowOutEffect(object) {
  if (object.className == 'moduleRowOver') object.className = 'moduleRow';
}

function alert_error_message(error_header, error_content) {
  $("#colorbox_error_message_container .colorbox_error_message_inner").html(error_content);
  $("#colorbox_error_message_container .colorbox_error_message_header").html(error_header);
  $.colorbox({inline:true, href:'#colorbox_error_message_container',transition:'elastic', initialWidth: '200px', initialHeight: 200, opacity:0.0,speed:500, maxWidth: '90%',maxHeight: '80%'});
  $('DIV#colorbox').addClass("color_box_message");
  $('DIV#cboxTitle').hide();
  $('DIV#cboxClose').hide();
}
