﻿// Cookies - Write, Read, Array support
function cookieWrite(name, value, hours) {
  var expire = "";
  if(hours != null) {
    expire = new Date((new Date()).getTime() + hours * 3600000);
    expire = "; expires=" + expire.toGMTString();
  }
  var path="; path=/";
  document.cookie = name + "=" + escape(value) + expire + path;
}

function cookieRead(name) {
  var cookieValue = "";
  var searchString = name + "=";
  if(document.cookie.length > 0) {
    offset = document.cookie.indexOf(searchString);
    if (offset != -1) {
      offset += searchString.length;
      end = document.cookie.indexOf(";", offset);
      if (end == -1) end = document.cookie.length;
      cookieValue = unescape(document.cookie.substring(offset, end));
    }
  }
  return cookieValue;
}

function cookieArrayWrite(name, v, hours) {
	var valueArray=new Array();
	var a=0;
	var i;
	for (i in v) {
		valueArray.push(i+"^"+v[i]);
	};
	var valueJoined=valueArray.join("~");
	cookieWrite(name, valueJoined, 750);
}

function cookieArrayRead(name) {
	var v=""+cookieRead(name);
	var newValue=new Array();
	if (v.length>0) {
		v=v.split("~");
		for (var i in v) {
			v[i]=v[i]+"";
			if (v[i].length>0){
				temp=v[i].split("^");
				newValue[temp[0]]=temp[1];
			}
		}
	}
	return newValue;
}

$(document).ready(function(){
	( function( $ ) {
		$.dequeue = function( a , b ){
		return $(a).dequeue(b);
		};
	})( jQuery ); 
 
	// Language Selection
	$(".dropdown_flag").click(function() {
		$(".languages").slideToggle("fast");
		$(this).toggleClass("open");
		return false;
	});

	// Currency Selection
	$(".dropdown_currency").click(function() {
		$(".currencies").slideToggle("fast");
		$(this).toggleClass("open");
		return false;
	});

	// Filter Selection
	$(".order_by a").click(function() {
		$(".filterOptions").slideToggle("fast");
		$(this).toggleClass("open");
		return false;
	});

	// Dropdown Options
	$(".order_by > span > a, .green_cell_our_cottage > a").each( function (i) {
		$(this).mouseover(function() {
			$(this).parent().parent().find(".roll_over").show().bind("mouseleave",function(){
				$(this).hide();
			});
		});
	});

	var lastAutohide="";
	// AutoHide value of INPUT field
	$("input[autohide]").each( function (i) {
		$(this)
		.focus(function() {
			lastAutohide=this.value
			this.value='';
		})
		.blur(function() {
			if (this.value=='') this.value=lastAutohide;
		});
	});
	
	// Main Form validation
	$('form.main :text, form.main :password, form.main textarea, form.main select').bind("blur change", formValidateField);
	$('form.main :file').bind("change", formValidateField);
	$('form.main input:radio, form.main input:checkbox').bind("change click", formValidateField);

	// Quick Search
	$("#searchForm select, #searchForm input").bind("change keyup", function() {
		$.ajax({
			type: "GET",
			url: "http://"+thisDomain+"/ajax/search_results.php",
			data: $("#searchForm").serialize(),
			dataType: "text",
			success: function(msg, status){
				if (msg.length>5) {
					$("#searchForm #resultsResponse").html(msg).show();
				} else {
					$("#searchForm #resultsResponse").html('').hide();
				}
			}
		});
	});

	// DatePicker

	$('[datepicker=1]').bind("focus", function() {
		if(self.gfPop2) {
			gfPop2.fPopCalendar(this);
		}
	});

	$('[datepicker=1]').bind("blur", function() {
		if(self.gfPop2 && document.activeElement.nodeName!="BODY" && document.activeElement.nodeName!="IFRAME") gfPop2.fHideCal();
	});

	$(document).bind("click", function(ev) {
		var t=$(ev.target);
		if (t.attr("datepicker")!="1" && t.attr("class")!="calendar") {
			if(self.gfPop2) gfPop2.fHideCal();
		}
	});


	$(".scroller .items a").bind("click", function() {
		$(this).addClass("active");
	});

	$("[idealized=1]").each(function() {
		$(this).autocomplete("http://www.delia.sk/a/ajax/idealize_get.php", {
			infoType: $(this).attr("infoType"),
			multiple: true,
			multipleSeparator: ", ",
			mustMatch: false,
			autoFill: false,
			minChars: 1,
			delay: 0,
			selectFirst: true
		});
	});

	$('div.gallery div.description').hide();
	$("div.gallery").bind("mouseover", function() {
		$(this).find('div.description').show();
		return false;
	});
	$("div.gallery").bind("mouseleave", function() {
		$(this).find('div.description').hide();
		return false;
	});

	$("img[longdesc]").fullsize({shadow: false, iconOffset: 2, shadow: true});
/*
	tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
	imgLoader = new Image();// preload image
	imgLoader.src = tb_pathToImage;
*/

	// AFF solution - open all links in whole window
    var url=document.location.href;
	var setAff=url.indexOf("#"); setAff=url.substr(setAff+1);
	var setAffSplit=setAff.split("_");
	if (setAff.length>2 && setAff.indexOf("_")>0 && parseInt(setAffSplit[0])>0 && parseInt(setAffSplit[1])>0) {
		var setAffValid=1;
	} else {
		var setAffValid=0;
	}
	if ((url.indexOf("aff=")>0 && url.indexOf("aff_prog")>0) || setAffValid==1){
		if (url.indexOf("#")==-1) {
			var setAff=gup("aff")+"_"+gup("aff_prog");
		} else {
	        var setAff=url.indexOf("#"); setAff=url.substr(setAff+1);
		}

		$("a").attr("target", "_top");
		$("a").each(function() {
			var href= $(this).attr("href");
			if (href.indexOf("aff=")==-1 && href!="#") {
				if (href.indexOf("?")>0) {
					$(this).attr("href", href+"&setAff="+setAff);
				} else {
					$(this).attr("href", href+"?setAff="+setAff);
				}
			}
		});
		$("form").attr("target", "_top");
		$("#searchForm #setAff").val(setAff);
	}
});


function gup( name ) {
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	var regexS = "[\\?&]"+name+"=([^&#]*)";
	var regex = new RegExp( regexS );
	var results = regex.exec( window.location.href );
	if( results == null )
		return "";
	else
		return results[1];
}

function next(a) {
	for (var i=0; i<a; i++) {
		if (scrollCurrent<(scrollTotal-scrollVisible)) {
			$(".scroller .items a:eq("+(scrollCurrent)+")").hide();
			scrollCurrent++;
		}
	}
}

function previous(a) {
	for (var i=0; i<a; i++) {
		if (scrollCurrent>0) {
			scrollCurrent--;
			$(".scroller .items a:eq("+(scrollCurrent)+")").show();
		}
	}
}

// Form Validation
function validateForm(formObject, valData, resultObject) {
	var formData=new Object();
	$(formObject).find("input, textarea").each(function(i) {
		formData[$(this).attr("name")]=$(this).val();
	});
	var problems=new Array();
	for (i in valData) {
		var v=formData[i];
		eval('var result='+valData[i].cond+';');
		if (result==true) {
			$(formObject).find("#"+i).removeClass("inv");
		} else {
			$(formObject).find("#"+i).addClass("inv");
			problems[problems.length]=valData[i].text;

		}
	}
	if (problems.length>0) {
		$(resultObject).css("display", "block").html(lang.reserve.wrong);
		//$(resultObject).css("display", "block").html(problems.join("<br/>"));
		return false;
	} else {
		return true;
	}
}

function formIsEmail(value) {
	var regex = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	return regex.test(value);
}

function formValidateField(event, t) {
	if (t) {
		var el=t;
	} else {
		var el=$(this);
	}

	if (el.attr("type")=="checkbox" || el.attr("type")=="radio") {
		var parentDiv=el.parents("div.row");
		var c=parentDiv.find(":checked").length;
		if (!parentDiv.attr("valCond")) return;
		eval('var result='+parentDiv.attr("valCond")+';');
		if (result==true) {
			parentDiv.find("label.form_help").html("").hide();
			parentDiv.find(".radio_group").removeClass("inv");
		} else {
			parentDiv.find("label.form_help").html(parentDiv.attr("valText")).show();
		}
	} else if (el.attr("type")=="file") {
		if (!el.attr("valCond")) return;
		var v=el.val();
		var types=el.attr("valCond").split(",");
		var matched=0;
		for (i in types) {
			if (v.indexOf("."+types[i])>0) matched++
		}
		if (matched>0) {
			el.parent().find("label.form_help").html("");
			el.removeClass("inv");
			if (formtext.autosubmit==1) {
				$("form.main").find("#mainFormResponse").html(formtext.sending);
				$("form.main").submit();
			}
		} else {
			el.parent().find("label.form_help").html(el.attr("valText"));
		}
	} else {
		//alert(el.attr("name"));
		if (!el.attr("valCond")) return;
		var v=el.val();
		eval('var result='+el.attr("valCond")+';');
		if (result==true) {
			el.parent().find("label.form_help").html("");
			el.removeClass("inv");
			if ((el.attr("type")=="text" || el.attr("type")=="password") && event.keyCode==13) formValidateMain() ;
		} else {
			el.parent().find("label.form_help").html(el.attr("valText"));
			el.addClass("inv");
		}
	}
}

function formValidateMain() {
	var checkedFields=new Object();
	var invalidFields=0;
	var formEl=$("form.main");
	formEl.find(":text, :checkbox, :radio, :file, textarea, select, :password").map( function (i) {
		var el=$(this);
		if (checkedFields[el.attr("name")]==1) {
			return false;
		} else {
			checkedFields[el.attr("name")]=1;
			if (el.attr("type")=="checkbox" || el.attr("type")=="radio") {
				var parentDiv=el.parents("div.row");
				var c=parentDiv.find(":checked").length;
				if (!parentDiv.attr("valCond")) return false;
				eval('var result='+parentDiv.attr("valCond")+';');
				if (result==true) {
					parentDiv.find("label.form_help").html("").hide();
					parentDiv.find(".radio_group").removeClass("inv");
				} else {
					parentDiv.find("label.form_help").html(parentDiv.attr("valText")).show();
					parentDiv.find(".radio_group").addClass("inv");
					invalidFields++
				}
			} else if (el.attr("type")=="file") {
				if (!el.attr("valCond")) return false;
				var v=el.val();
				var types=el.attr("valCond").split(",");
				var matched=0;
				for (i in types) {
					if (v.indexOf("."+types[i])>0) matched++
				}
				if (matched>0) {
					el.parent().find("label.form_help").html("");
					el.removeClass("inv");
				} else {
					el.parent().find("label.form_help").html(el.attr("valText"));
					invalidFields++
				}
			} else {
				if (!el.attr("valCond")) return false;
				var v=el.val();
				eval('var result='+el.attr("valCond")+';');
				if (result==true) {
					el.parent().find("label.form_help").html("");
					el.removeClass("inv");
				} else {
					el.parent().find("label.form_help").html(el.attr("valText"));
					el.addClass("inv");
					invalidFields++
				}
			}
		}
		return false;
	});
	if (invalidFields>0) {
		formEl.find("#mainFormResponse").html(formtext.wrongCount)
         formEl.find(".inv:first").focus();
	} else {
		var t=formEl.find("#mainFormResponse");
		if (formtext.sending) {
			formEl.find("#mainFormResponse").html(formtext.sending);
		} else {
			formEl.find("#mainFormResponse").html("Posielam dáta...");
		}
		formEl.submit();
	}
	return false;
}

function onlyChars(text, validChars) {
	var Char;
	for (i = 0; i < text.length; i++) {
		Char = text.charAt(i);
		if (validChars.indexOf(text.charAt(i)) == -1) return false;
	}
	return true;
}

function toggleAdvancedSearch() {
	$(".advancedSearchRow").slideToggle();
	$("#advancedOpen").toggle();
	$("#advancedClose").toggle();
}

function keepLogged() {
	$.ajax({
		type: "GET",
		url: "http://"+thisDomain+"/?keepLogged",
		dataType: "text"
	});
}

function initKeepLogged() {
	setInterval("keepLogged();", 60000);
}

function updateAutocomplete(t, field) {
	var text=$("#"+field).val().replace(/^\s\s*/, '').replace(/\s\s*$/, '');
	var text1=$("#"+field).val();
	var lastChar=text.charAt(text.length-1);
	if (lastChar=="," || text.length==0) {
		$("#"+field).val(text1+$(t).val()+", ");
	} else {
		$("#"+field).val(text1+", "+$(t).val()+", ");
	}
	$(t).val("");
}

function questionSubmit() {
	var valData=new Object();
	var fields=new Array("question", "email");

	for (i in fields) {
		formValidateField(true, $("#questionForm #"+fields[i]));
	}

	var wrongCount=$("#questionForm .inv").length;
	if (wrongCount==0) {
		$("#questionForm #questionsResponse").css("display", "block").html(lang.question.sending);
		$.ajax({
			type: "GET",
			url: "http://www.delia.sk/ajax/send_question.php",
			data: $("#questionForm").serialize(),
			dataType: "text",
			success: function(msg, status){
				$("#questionForm #questionsResponse").css("display", "block").html(lang.question.sent);
				$("#questionForm #question, #questionForm #email").val("");
			}
		});
	} else {
		alert(lang.question.wrong);
	}
	return false;
}