var LOAD_ITEM_SCRIPT = "/ajax-scripts/item.php";
var ID                      = 0;
var IDENTIFIER              = 1;
var SHORT_NAME              = 2;
var FULL_SIZES              = 3;
var SHORT_PRICE             = 4;
var IMAGE                   = 5;
var ACTION_IMAGE_BACKGROUND = 6;
var SHORT_SIZES_DIV         = 7;
var OLD_PRICE               = 8;
var TITLE			        = 9;
var FREE_SHIPPING			= 10;

var KEY_RIGHT = 39;
var KEY_LEFT = 37;
var KEY_ENTER = 13;
var KEY_PAGE_DOWN = 34;
var KEY_PAGE_UP = 33;


var EMAIL_SCRIPT = "/ajax-scripts/sendmail.php";
var NEWSLETTER_SCRIPT = "/ajax-scripts/newsletter.php";
var BANNER_SCRIPT = "/cz/home/banner.php";
var WRONG_MAIL_SCRIPT = "/ajax-scripts/wrong-mail.php";

var currentIdentifier;
var currentIndex;

var loading = new Image();
loading.src = "/img/loading.gif"

function loadItem(idit, params, gender, targetUrl) {
  new Ajax.Request(
    LOAD_ITEM_SCRIPT,
    {
      method:'post',
      parameters: {idit: idit, params: params, gender: gender},
      encoding: 'windows-1250',
      onSuccess: function(result) {
				chnageItemElements(result.responseText, params, gender, targetUrl);
      },
      onFailure: function() {
        alert('Something went wrong...');
      }
    }
  );
}

function changeItem(idit, params, gender, targetUrl) {
	//$("thumb-" + currentIdentifier).parentNode.removeClassName("active");
  $("thumb-" + currentIdentifier).parentNode.className = "";
  $("item-list-cover-" + currentIdentifier).style.visibility = "hidden";
  $("shop-h1").style.visibility = "visible";
  $("item-short-info").style.visibility = "visible";
  newImage = new Image();
  newImage.onload = function() { 
	  $("item-image-img").src = newImage.src;
	  $("item-image-img").width = 50;
	  $("item-image-img").height = 50;
	  $("item-image-img").style.left = "336px";
	  $("item-image-img").style.top = "300px";
  }
  newImage.src = "/img/loading.gif"; 

  loadItem(idit, params, gender, targetUrl);
  $("item-image-link").focus();
  return false;
}

function changeItemByKey(e, params, gender) {
	key = e.which ? e.which : e.keyCode;
	if ((key == KEY_LEFT || key == KEY_PAGE_UP) && currentIndex > 0) {
		return changeItem(idits[currentIndex-1], params, gender, "");
	} else if ((key == KEY_RIGHT || key == KEY_PAGE_DOWN) && currentIndex < idits.length - 1) {
		return changeItem(idits[currentIndex+1], params, gender, "");
	} else {
    return e;
  }
}

Array.prototype.inArray = function (value) {
    for (i=0; i < this.length; i++) {
        if (this[i] == value) {
            return i;
        }
    }
    return -1;
}

function myalert() {
  alert(1);
}

function chnageItemElements(s, params, gender, targetUrl) {
  var item = s.split("\n");
  currentIndex = idits.inArray(item[ID]);
  currentIdentifier = item[IDENTIFIER];
  setCookie("currentIdentifier", currentIdentifier, 1, "/", "", "");
	
  imageName = IMG_SOURCE + "evelyn/modules/goods/images/" + parseInt(item[ID]) + "-img1-big.jpg";
  //imageName = "/img/zvukon.gif";
  
  newImage = new Image();
  newImage.onload = function() { 
	  $("item-image-img").src = newImage.src;
	  $("item-image-img").width = 382;
	  $("item-image-img").height = 382;
	  $("item-image-img").style.left = "160px";
	  $("item-image-img").style.top = "144px";
  }
  newImage.src = imageName; 
  
  $('item-image-banner').style.visibility = "visible";
  $('item-image-banner-text').style.visibility = "visible";
  $('item-image-img').style.cursor = "pointer";
  $('item-image-link').style.cursor = "pointer";
  
  $("idit").value = item[ID];
  $("item-identifier").value = item[IDENTIFIER];
  $("shop-h1").innerHTML = item[TITLE];
  $("item-price-value").innerHTML = item[SHORT_PRICE] + " Kč";
  if (item[SHORT_PRICE] != item[OLD_PRICE]) {
    $("old-price").innerHTML = item[OLD_PRICE] + " Kč";
  } else {
    $("old-price").innerHTML = "";
  }
  if (item[FREE_SHIPPING] == "1") {
	  $("free-shipping").style.display = 'inline';
  } else {
	  $("free-shipping").style.display = 'none';
  }
  if (item[FULL_SIZES] == "<option value='-1'>vybrat</option>" || item[FULL_SIZES].toUpperCase().match("ONESIZE")) {
    $("item-size-list").style.display = "none";
    $("item-size-onesize").style.display = "inline";
  } else {
    //$("item-detail-size").innerHTML = item[FULL_SIZES];
    replaceSelectOptions("item-detail-size", item[FULL_SIZES]);
    $("item-size-list").style.display = "inline";
    $("item-size-onesize").style.display = "none";
  }
  $("item-image-img").setAttribute("alt", item[SHORT_NAME]);
  $("action-img").style.backgroundImage = item[ACTION_IMAGE_BACKGROUND];
  $("thumb-" + item[IDENTIFIER]).parentNode.className = "active";
  $("item-list-cover-text-" + currentIdentifier).style.visibility = "hidden";
  $("item-list-cover-" + currentIdentifier).style.visibility = "visible";
  if (currentIndex > 0) {
    $("item-image-arrow-left").style.display = "block";
    $("item-image-arrow-left").onclick = function() { return changeItem(idits[currentIndex-1], params, gender, "")};
  } else {
    $("item-image-arrow-left").style.display = "none";
  }
  if (currentIndex < idits.length - 1) {
    $("item-image-arrow-right").style.display = "block";
    $("item-image-arrow-right").onclick = function() { return changeItem(idits[currentIndex+1], params, gender, "")};
  } else {
    $("item-image-arrow-right").style.display = "none";
  }
  $('item-size-label').removeClassName('warning');
  if (targetUrl != "") {
	  _gaq.push(['_trackPageview', 'targetUrl']);
  }
  
}

function detailLink(base, params) {
  var scrollPos = document.getElementById("scroll_pos").value;

  var link = base + currentIdentifier + "/" + "?scroll_pos=" + scrollPos;
  if (params != "") {
    link += "&" + params;
  }
  window.location.href = link;
  return false;
}

function sendMail(message, addresses, from, fromName, subject, resultSuccessFunction, resultFailFunction) {
	new Ajax.Request(
    EMAIL_SCRIPT,
    {
      method:'post',
      parameters: {message: message, addresses: addresses, from: from, from_name: fromName, subject: subject},
      onSuccess: function(result) {
    	  if (result.responseText.indexOf('error') < 0) {
        	  resultSuccessFunction(result.responseText);
    	  } else {
    		  resultFailFunction(result.responseText);  
    		  
    	  }
      },
      onFailure: function() {
    	  alert(result.responseText);
    	  resultFailFunction(result.responseText);  
      }
    }
  );
}

function validateMail(email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   if(reg.test(email) == false) {
      return false;
   }
   return true;
}

function clearSendquestionMessages() {
  $('sendquestion-warning').style.display = "none";
  $('sendquestion-warning').innerHTML = "";
  $('sendquestion-info').style.display = "none";
  $('sendquestion-info').innerHTML = "";
  return false;
}

function sendQuest(from, to, message, subject,link) {
  if (!validateMail(from) || message == "") {
    $('sendquestion-warning').style.display = "block";
    $('sendquestion-warning').innerHTML = "Je třeba vyplnit platný E-mail a vyplnit dotaz.";
    return;
  };  
  to = to + ',' + from;
  message = message + "\n\n" + link;


  new Ajax.Request(
    EMAIL_SCRIPT,
    {
      method:'post',
      parameters: {message: message, addresses: to, from: from, from_name: from, subject: subject},
      onSuccess: function(result) {
        $('sendquestion-warning').style.display = "none";
        $('sendquestion-normal-content').style.display = "none";
        $('sendquestion-successful').style.display = "block";
        var t = setTimeout("closeSendQuest();",2000);
      },
      onFailure: function() {
        $('sendquestion-warning').style.display = "block";
        $('sendquestion-warning').innerHTML = "Dotaz se nepodařilo odeslat.";
      }
    }
  );
                                                
}

function closeSendQuest() {
  $('sendquestion-successful').style.display="none";
  $('sendquestion-normal-content').style.display="block";
  $('sendquestion').style.display="none";
  clearSendquestionMessages();
  showDetailSelects();
  return false;
}


function sendToFriend(from, to, message, subject) {
  to = to + ',' + from;
  new Ajax.Request(
    EMAIL_SCRIPT,
    {
      method:'post',
      parameters: {message: message, addresses: to, from: from, from_name: from, subject: subject},
      onSuccess: function(result) {
        showDetailSelects()
        $('sendlink').style.display = 'none';
      },
      onFailure: function() {
        alert('Something went wrong...');
      }
    }
  );
}

function addNewsletter() {
  mail = $('email').value;
  //$('email').value = '@';
  form = $('email').form;
  content = form.innerHTML;
  form.innerHTML = '<p>Odesílám...</p>';
  
  new Ajax.Request(
    NEWSLETTER_SCRIPT,
    {
      method:'post',
      parameters: {add: 1, mail: mail},
      onSuccess: function(result) {
        if (result.responseText.indexOf('error') < 0) {
          handleNewsletterResponse(form, content, '<p id="newsletter-info">E-mail byl v pořádku vložen.</p>'); 
          _gaq.push(['_trackPageview', '/newsletter-ok']);
        } else {
          handleNewsletterResponse(form, content, '<p id="newsletter-info">Nepodařilo se vložit E-mail.</p>'); 
        };
      },
      onFailure: function() {
          handleNewsletterResponse(form, content, '<p id="newsletter-info">Nepodařilo se vložit E-mail.</p>'); 
      }
    }
  );
}

function handleNewsletterResponse(form, content, message) {
  form.innerHTML = message;
  setTimeout("form.innerHTML = content", 3*1000);
}

function replaceSelectOptions(id, s) {
  $(id).options.length=0;
  var options = s.split("</option>");
  for (i=0; i<options.length-1; i++) {
    indexk = options[i].search('=');
    index = options[i].substr(indexk + 2,1);
    if (index == "-") {
      index = -1;
    }
    k = options[i].search('>');
    c = options[i].substr(k+1);
    $(id).options[i]=new Option(c, index, false, false);
  }
}

function addBannerVisit(idbn) {
  new Ajax.Request(
    BANNER_SCRIPT,
    {
      method:'post',
      parameters: {idbn: idbn},
      onSuccess: function(result) {
      },
      onFailure: function() {
      }
    }
  );
}

function wrongMail() {
	ido = $('ido').value;
	mail = $('new-mail').value;
	form = $('new-mail').form;
	content = form.innerHTML;
	form.innerHTML = '<p>Odesílám...</p>';
	
	sendMail(
			"Uzivatel, ktery prave provedl objednavku c. " + ido + " se spletl pri zadavani sveho emailu. Rad by ho opravil na " + mail + ". Podivej se na to prosim.", 
			"filip.majda@impaladesign.cz,info@freshlabels.cz", 
			"info@freshlabels.cz", 
			"www.freshlabels.cz", 
			"Zadost o zmenu e-mailu", 
			handleWrongMailResponseSuccess, 
			handleWrongMailResponseFail
		);
}

function handleWrongMailResponse(form, content, message) {
	  form.innerHTML = message;
	  setTimeout("form.innerHTML = content", 5*1000);
}

function handleWrongMailResponseSuccess(response) {
	form = $('new-mail-form');
	form.innerHTML = '<p>ŽÁDOST O ZMĚNU EMAILU BYLA ODESLÁNA.</p>'; 
	
}

function handleWrongMailResponseFail(response) {
	form = $('new-mail-form');
	content = form.innerHTML;
	handleWrongMailResponse(form, content, '<p class="errorMessage">NEPODAŘILO SE ODESLAT ŽÁDOST. ZKUSTE TO JEŠTĚ JEDNOU NEBO NÁS KONTAKTUJTE TELEFONICKY.</p>'); 
}


