var isMobileChecker= false;isMobileChecker=navigator.userAgent.match(/(iPad)|(iPhone)|(iPod)|(android)|(webOS)/i);
$(document).ready(function(){
if(isMobileChecker){$('.carpe_slider').draggable();
$('div.carpe_slider#your_slider_2').append('1');
$('div.carpe_slider#your_slider_3').append('1');
$('div.carpe_slider#your_slider_1').append('1');
}
});
/*==Credi Calculater Slider Script==*/
var carpemouseover = false;
var carpeDefaultSliderLength = 100;
var carpeSliderDefaultOrientation = 'horizontal';
var carpeSliderClassName = 'carpe_slider';
var carpeSliderDisplayClassName = 'carpe_slider_display';
var carpesliders = [];
var carpedisplays = [];
var carpeslider = {};
var carpedisplay = {};
function carpeAddLoadEvent(func) {
if(isMobileChecker){
var oldonload = window.onload;
if (typeof window.onload != 'function') {
func();
} else {
window.onload = function () {
oldonload();
func();
};
}
}
else{
$(document).ready(function(){ func(); });
}
}
function carpeGetElementsByClass(className) {
var classElements = new Array();
var els = document.getElementsByTagName("*");
var elsLen = els.length;
var pattern = new RegExp("\\b" + className + "\\b");
for (var i = 0, j = 0; i < elsLen; i++) {
if (pattern.test(els[i].className)) {
classElements[j] = els[i];
j++;
}
}
return classElements;
}
function carpeLeft(elmnt, pos) {
if (!(elmnt = document.getElementById(elmnt))) return 0;
if (elmnt.style && (typeof (elmnt.style.left) == 'string')) {
if (typeof (pos) == 'number') elmnt.style.left = pos + 'px';
else {
pos = parseInt(elmnt.style.left);
if (isNaN(pos)) pos = 0;
}
} else if (elmnt.style && elmnt.style.pixelLeft) {
if (typeof (pos) == 'number') elmnt.style.pixelLeft = pos;
else pos = elmnt.style.pixelLeft;
}
return pos;
}
function carpeTop(elmnt, pos) {
if (!(elmnt = document.getElementById(elmnt))) return 0;
if (elmnt.style && (typeof (elmnt.style.top) == 'string')) {
if (typeof (pos) == 'number') elmnt.style.top = pos + 'px';
else {
pos = parseInt(elmnt.style.top);
if (isNaN(pos)) pos = 0;
}
} else if (elmnt.style && elmnt.style.pixelTop) {
if (typeof (pos) == 'number') elmnt.style.pixelTop = pos;
else pos = elmnt.style.pixelTop;
}
return pos;
}
function moveSlider(evnt) {
var evnt = (!evnt) ? window.event : evnt;
if (carpemouseover) {
carpeslider.x = carpeslider.startOffsetX + evnt.screenX;
carpeslider.y = carpeslider.startOffsetY + evnt.screenY;
if (carpeslider.x > carpeslider.xMax) carpeslider.x = carpeslider.xMax;
if (carpeslider.x < 0) carpeslider.x = 0;
if (carpeslider.y > carpeslider.yMax) carpeslider.y = carpeslider.yMax;
if (carpeslider.y < 0) carpeslider.y = 0;
carpeLeft(carpeslider.id, carpeslider.x);
carpeTop(carpeslider.id, carpeslider.y);
var sliderVal = carpeslider.x + carpeslider.y;
var sliderPos = (carpeslider.distance / carpedisplay.valuecount) * Math.round(carpedisplay.valuecount * sliderVal / carpeslider.distance);
var v = Math.round((sliderPos * carpeslider.scale + carpeslider.from) * Math.pow(10, carpedisplay.decimals)) / Math.pow(10, carpedisplay.decimals);
carpedisplay.value = v;
fontAyarla(v, carpeslider.id);
var id_ = carpeslider.id.replace("your_slider_", "");
$('#your_slider_' + id_).css('background', 'url(/_layouts/ziraat/theme/images/sliderScrol.png) no-repeat right 0');
$('.your_slider_mobile').show();
return false;
}
return
}
function slide(evnt) {
try {
if (!evnt) evnt = window.event;
carpeslider = (evnt.target) ? evnt.target : evnt.srcElement;
var dist = parseInt(carpeslider.getAttribute('distance'));
carpeslider.distance = dist ? dist : carpeDefaultSliderLength;
var ori = carpeslider.getAttribute('orientation');
var orientation = ((ori == 'horizontal') || (ori == 'vertical')) ? ori : carpeSliderDefaultOrientation;
var displayId = carpeslider.getAttribute('display');
carpedisplay = document.getElementById(displayId);
carpedisplay.sliderId = carpeslider.id;
var dec = parseInt(carpedisplay.getAttribute('decimals'));
carpedisplay.decimals = dec ? dec : 0;
var val = parseInt(carpedisplay.getAttribute('valuecount'));
carpedisplay.valuecount = val ? val : carpeslider.distance + 1;
var from = parseFloat(carpedisplay.getAttribute('from'));
from = from ? from : 0;
var to = parseFloat(carpedisplay.getAttribute('to'));
to = to ? to : carpeslider.distance;
carpeslider.scale = (to - from) / carpeslider.distance;
if (orientation == 'vertical') {
carpeslider.from = to;
carpeslider.xMax = 0;
carpeslider.yMax = carpeslider.distance;
carpeslider.scale = -carpeslider.scale;
} else {
carpeslider.from = from;
carpeslider.xMax = carpeslider.distance;
carpeslider.yMax = 0;
}
carpeslider.startOffsetX = carpeLeft(carpeslider.id) - evnt.screenX;
carpeslider.startOffsetY = carpeTop(carpeslider.id) - evnt.screenY;
carpemouseover = true;
document.onmousemove = moveSlider;
document.onmouseup = sliderMouseUp;
}
catch (e) { }
return false;
}
function sliderMouseUp(evnt) {
if (!evnt) evnt = window.event;
var s = (evnt.target) ? evnt.target : evnt.srcElement;
var id_ = s.id.replace("your_slider_", "");
if (carpemouseover) {
var v = (carpedisplay.value) ? carpedisplay.value : 0;
var pos = (v - carpeslider.from) / (carpeslider.scale);
if (carpeslider.yMax == 0) {
pos = (pos > carpeslider.xMax) ? carpeslider.xMax : pos;
pos = (pos < 0) ? 0 : pos;
carpeLeft(carpeslider.id, pos);
}
if (carpeslider.xMax == 0) {
pos = (pos > carpeslider.yMax) ? carpeslider.yMax : pos;
pos = (pos < 0) ? 0 : pos;
carpeTop(carpeslider.id, pos);
}
if (document.removeEventListener) {
document.removeEventListener('mousemove', moveSlider, false);
document.removeEventListener('mouseup', sliderMouseUp, false);
} else if (document.detachEvent) {
document.detachEvent('onmousemove', moveSlider);
document.detachEvent('onmouseup', sliderMouseUp);
document.releaseCapture();
}
yazdir(v, carpeslider.id);
}
carpemouseover = false;
$('#your_slider_' + id_).css('background', 'url(/_layouts/ziraat/theme/images/sliderScrol.png) no-repeat');
$('span.vade').css('color', '#fff');
$('.your_slider_mobile').hide();
}
function focusDisplay(evnt) {
if (!evnt) evnt = window.event;
var carpedisplay = (evnt.target) ? evnt.target : evnt.srcElement;
var lock = carpedisplay.getAttribute('typelock');
if (lock == 'on') {
carpedisplay.blur();
}
return;
}
function carpeInit() {
carpesliders = carpeGetElementsByClass(carpeSliderClassName);
for (var i = 0; i < carpesliders.length; i++) {
carpesliders[i].onmousedown = slide;
}
carpedisplays = carpeGetElementsByClass(carpeSliderDisplayClassName);
for (var i = 0; i < carpedisplays.length; i++) {
carpedisplays[i].value = carpedisplays[i].defaultValue;
carpedisplays[i].onfocus = focusDisplay;
}
}
carpeAddLoadEvent(carpeInit);
function fontAyarla(gelenDeger, id) {
$('#' + id + " span.vade").html(gelenDeger);
return false;
}
function TaksitHesapla1(Tutar, Vade, faizOrani, KKDF, BMV) {
Tutar = parseInt(Tutar);
Vade = parseInt(Vade);
faizOrani = parseFloat(faizOrani);
KKDF = parseInt(KKDF);
BMV = parseInt(BMV);
var Faiz = 0;
var Sonuc = 0;
for (i = 1; i < Vade + 1; i++) {
Faiz = Faiz + (1 / Vade) / Math.pow(1 + faizOrani / 100 + faizOrani / 100 * KKDF / 100 + faizOrani / 100 * BMV / 100, i);
}
Sonuc = Tutar / Faiz * (1 / Vade);
return CurrencyFormat(TaksitFormatla(Sonuc));
}
function TaksitHesapla2(Tutar, Vade, faizOrani, KKDF, BMV) {
Tutar = parseInt(Tutar);
Vade = parseInt(Vade);
faizOrani = parseFloat(faizOrani);
KKDF = parseInt(KKDF);
BMV = parseInt(BMV);
var Faiz = 0;
var Sonuc = 0;
for (i = 1; i < Vade + 1; i++) {
Faiz = Faiz + (1 / Vade) / Math.pow(1 + faizOrani / 100 + faizOrani / 100 * KKDF / 100 + faizOrani / 100 * BMV / 100, i);
};
Sonuc = Tutar / Faiz * (1 / Vade);
return CurrencyFormat(TaksitFormatla(Sonuc));
}
function TaksitHesapla3(Tutar, Vade, faizOrani, KKDF, BMV) {
Tutar = parseInt(Tutar);
Vade = parseInt(Vade);
faizOrani = parseFloat(faizOrani);
KKDF = parseInt(KKDF);
BMV = parseInt(BMV);
var Faiz = 0;
var Sonuc = 0;
for (i = 1; i < Vade + 1; i++) {
Faiz = Faiz + (1 / Vade) / Math.pow(1 + faizOrani / 100 + faizOrani / 100 * KKDF / 100 + faizOrani / 100 * BMV / 100, i);
}
Sonuc = Tutar / Faiz * (1 / Vade);
return CurrencyFormat(TaksitFormatla(Sonuc));
};
function TaksitFormatla(taksit) {
var i = parseFloat(taksit);
if (isNaN(i)) {
i = 0.00;
}
var minus = '';
if (i < 0) {
minus = '-';
};
i = Math.abs(i);
i = parseInt((i + .005) * 100);
i = i / 100;
s = new String(i);
if (s.indexOf('.') < 0) {
s += '.00';
};
if (s.indexOf('.') == (s.length - 2)) {
s += '0';
}
s = minus + s;
return s;
}
function GetInterestFromRange(v) {
var va = _KrediTuru == 1 ? _faizDegisimNoktalariVade.split(",") : _KrediTuru == 2 ? _faizDegisimNoktalariVade2.split(",") : _faizDegisimNoktalariVade3.split(",");
var oa = _KrediTuru == 1 ? _oranlar.split(",") : _KrediTuru == 2 ? _oranlar2.split(",") : _oranlar3.split(",");
var fz = 0;
for (var i = 0; i < va.length; i++) {
var alt = i == 0 ? 1 : parseInt(va[i - 1]) + 1;
var ust = parseInt(va[i]);
if (v >= alt && v <= ust) fz = parseFloat(oa[i]);
}
return fz;
}
function CurrencyFormat(_elementValue) {
var elementValue = new String(_elementValue);
var afterSeperator;
var beforeSeperator;
var newBefore = '';
if (elementValue.toString().indexOf(',') > -1) elementValue = elementValue.replace(',', '');
if (elementValue.toString().indexOf('.') > -1) {
afterSeperator = elementValue.split('.')[1];
beforeSeperator = elementValue.split('.')[0];
} else {
beforeSeperator = elementValue;
afterSeperator = '';
}
var count = 0;
for (var i = 0; i < beforeSeperator.length; i++) {
count++;
newBefore = beforeSeperator.substring(beforeSeperator.length - i - 1, beforeSeperator.length - i) + newBefore;
if (count == 3) {
if (i != beforeSeperator.length - 1) {
newBefore = ',' + newBefore;
count = 0;
}
}
}
return afterSeperator != "" ? newBefore + '.' + afterSeperator : newBefore;
}
function VirgulAyirici(deger) {
if (deger.value.length >= 3) {
deger.value = new String(deger.value + "1");
EditedTutar(deger);
a = deger.value;
b = deger.value.length - 1;
deger.value = deger.value.substring(0, b);
}
}
function VirgulKoy(deger) {
deger.value = Comma(deger.value)
}
function Comma(SS) {
var T = '',
S = String(SS),
L = S.length - 1,
C, j;
for (j = 0; j <= L; j++) {
T += C = S.charAt(j);
if ((j < L) && ((L - j) % 3 == 0) && (C != '-')) T += '.'
}
return T
}
function Trim(s) {
while ((s.substring(0, 1) == ',') || (s.substring(0, 1) == ' ') || (s.substring(0, 1) == '\n') || (s.substring(0, 1) == '\r')) {
s = s.substring(1, s.length);
}
while ((s.substring(s.length - 1, s.length) == ' ') || (s.substring(s.length - 1, s.length) == '\n') || (s.substring(s.length - 1, s.length) == '\r')) {
s = s.substring(0, s.length - 1);
}
return s;
}
function IsNumeric(strString) {
var strValidChars = "0123456789.";
var strChar;
var blnResult = true;
if (strString.length == 0) return false;
for (i = 0; i < strString.length && blnResult == true; i++) {
strChar = strString.charAt(i);
if (strValidChars.indexOf(strChar) == -1) {
blnResult = false;
}
}
return blnResult;
};
function SayiKontrol(e, t) {
olay = document.all ? window.event : e;
tus = document.all ? olay.keyCode : olay.which;
if ((tus < 48 || tus > 57) && (tus != 8)) {
if (document.all) {
olay.returnValue = false;
} else {
olay.preventDefault();
}
} else {
if (t) {
VirgulAyirici(t);
}
}
}
function VirgulleriAt(deger, x) {
try {
if (x != 1) var TmpStr, z, sonuc, j, y = deger.value;
else var TmpStr, z, sonuc, j, y = deger;
sonuc = false;
for (z = 0; z < y.length; z++) if (y.charAt(z) >= '1' && y.charAt(z) <= '9') {
TmpStr = y.charAt(z);
j = z + 1;
sonuc = true;
z = y.length;
}
if (sonuc) {
for (z = j; z < y.length; z++) if (y.charAt(z) >= '0' && y.charAt(z) <= '9') TmpStr = new String(TmpStr + y.charAt(z));
str = TmpStr;
if (x == null) deger.value = TmpStr;
else return TmpStr;
}
}
catch (e)
{ }
}
function EditedTutar(a) {
var str, str1, b, x, y, z, i, j, sonuc = false;
var dolu = true;
b = a.value;
for (z = 0; z < b.length; z++) {
if (b.charAt(z) >= '1' && b.charAt(z) <= '9') {
str1 = b.charAt(z);
j = z + 1;
sonuc = true;
z = b.length;
}
}
if (sonuc) {
for (z = j; z < b.length; z++) {
if (b.charAt(z) >= '0' && b.charAt(z) <= '9') str1 = new String(str1 + b.charAt(z));
}
x = str1;
y = x.length;
z = y % 3;
y = (y - z) / 3 + 1;
if (z != 0);
str = x.substring(0, z);
for (i = 1; i < y; i++) if (str != null) str = new String(str + "." + x.substring((z + (i - 1) * 3), (z + i * 3)));
else str = x.substring(0, 3);
a.value = new String(str);
} else {
sonuc = true;
a.value = 0;
}
return sonuc;
}
function FormatTextBox(o) {
if (o.value != "" && o.value != null && parseInt(o.value) != 0) {
o.value = Comma(VirgulleriAt(o.value, 1));
} else {
o.value = "0";
}
};
function FormatTextBoxCredit(o) {
if (o.value != "" && o.value != null) {
if (parseInt(o.value) == 0 || o.value == ".000")
o.value = "1.000";
else
o.value = Comma(VirgulleriAt(o.value, 1));
}
};
function log(obj) {
var val = obj.value;
var count = 0;
for (var i = 0; i < val.length; i++) {
if (val[i] == ".") {
count++;
}
}
for (var i = 0; i < count; i++) {
val = val.replace(".", "");
}
var test = val.replace(/\./g, "");
if (test != "") {
val = test;
obj.value = FormatNumberBy3(val, ",", ".")
}
}
function FormatNumberBy3(num, decpoint, sep) {
if (arguments.length == 2) {
sep = ",";
}
if (arguments.length == 1) {
sep = ",";
decpoint = ".";
}
num = num.toString();
a = num.split(decpoint);
x = a[0];
y = a[1];
z = "";
if (typeof (x) != "undefined") {
var i = x.length - 1;
for (i = x.length - 1; i >= 0; i--) z += x.charAt(i);
z = z.replace(/(\d{3})/g, "$1" + sep);
if (z.slice(-sep.length) == sep) z = z.slice(0, -sep.length);
x = "";
for (i = z.length - 1; i >= 0; i--) x += z.charAt(i);
if (typeof (y) != "undefined" && y.length > 0) x += decpoint + y;
}
return x;
}
function numbersonly(myfield, e, dec) {
var key;
var keychar;
if (window.event) key = window.event.keyCode;
else if (e) key = e.which;
else return true;
keychar = String.fromCharCode(key);
if ((key == null) || (key == 0) || (key == 8) || (key == 9) || (key == 13) || (key == 27)) return true;
else if ((("0123456789").indexOf(keychar) > -1)) return true;
else if (dec && (keychar == ".")) {
myfield.form.elements[dec].focus();
return false;
} else return false;
}
function MM_openBrWindow(theURL, winName, features) {
window.open(theURL, winName, features);
}
/*Credi inputs*/
var _KrediTuru = 1;
var _tutarMin = 0;
var _tutarMax = 0;
var _vadeMin = 0;
var _vadeMax = 0;
var _FaizOrani = 0;
var _KKDF = 0;
var _BMV = 0;
var _vadeGun = 0;
var _faizDegisimNoktalariVade = "";
var _faizDegisimNoktalariMiktar = "";
var _dipNot = "";
var _vadeTip = "";
var _degisim = 0;
var _oranlar = "";
var _Tutar = 0;
var _Vade = 0;
var _tutarMin2 = 0;
var _tutarMax2 = 0;
var _vadeMin2 = 0;
var _vadeMax2 = 0;
var _FaizOrani2 = 0;
var _KKDF2 = 0;
var _BMV2 = 0;
var _vadeGun2 = 0;
var _faizDegisimNoktalariVade2 = "";
var _faizDegisimNoktalariMiktar2 = "";
var _dipNot2 = "";
var _vadeTip2 = "";
var _degisim2 = 0;
var _oranlar2 = "";
var _Tutar2 = 0;
var _Vade2 = 0;
var _tutarMin3 = 0;
var _tutarMax3 = 0;
var _vadeMin3 = 0;
var _vadeMax3 = 0;
var _FaizOrani3 = 0;
var _KKDF3 = 0;
var _BMV3 = 0;
var _vadeGun3 = 0;
var _faizDegisimNoktalariVade3 = "";
var _faizDegisimNoktalariMiktar3 = "";
var _dipNot3 = "";
var _vadeTip3 = "";
var _degisim3 = 0;
var _oranlar3 = "";
var _Tutar3 = 0;
var _Vade3 = 0;
var _KampanyaIdArray = [];
var _KampanyaBaslikArray = [];
var _KampanyaCount = 0;
var _KampanyaCurrent = 0;
jQuery(document).ready(function () {
GetXmlDataBireysel();
GetXmlDataTasit();
GetXmlDataKonut();
if (jQuery.browser.safari && document.readyState != "complete") {
setTimeout(arguments.callee, 100);
return;
}
});
function yardim_kapat() {
jQuery('#yardim_gizle').css('visibility', 'hidden');
};
function kredi_hesaplayici() {
jQuery('#b_kredi_hesaplayici').css('display', 'block');
jQuery('#yardim_gizle').css('visibility', 'hidden');
};
function kredi_hesaplayici_kapat() {
jQuery('#b_kredi_hesaplayici').css('display', 'none');
};
var k_h_ay = 12;
var k_h_ay_bitis = 60;
var k_h_tl = 10000;
var k_h_ay_2 = 1;
var k_h_ay_bitis_2 = 240;
var k_h_tl_2 = 100000;
var k_h_ay_3 = 1;
var k_h_ay_bitis_3 = 240;
var k_h_tl_3 = 100000;
function KrediTutariSliding(event) {
/*if (jQuery('#creditSelect').val() == "")
return;*/
//alert(jQuery('#creditSelect').val());
//document.getElementById('creditSelect')
/*if (jQuery('#krediAy_1').val() == "Kredi Tutary") {
jQuery('#krediAy_1').val("10000");
}
if (jQuery('#krediAy_1').val() == "")
return;*/
// if (document.getElementById('creditSelect').value != "" && document.getElementById('krediAy_1').value != "") {
// slide(event, 'horizontal', 100, k_h_ay, k_h_ay_bitis, 100, 0, 'value_display_1');
// }
//slide(event, 'horizontal', 100, k_h_ay, k_h_ay_bitis, 100, 0, 'value_display_1');
var evnt = event;
try {
if (!evnt) evnt = window.event;
carpeslider = (evnt.target) ? evnt.target : evnt.srcElement;
var dist = parseInt(carpeslider.getAttribute('distance'));
carpeslider.distance = dist ? dist : carpeDefaultSliderLength;
var ori = carpeslider.getAttribute('orientation');
var orientation = ((ori == 'horizontal') || (ori == 'vertical')) ? ori : carpeSliderDefaultOrientation;
var displayId = carpeslider.getAttribute('display');
carpedisplay = document.getElementById(displayId);
carpedisplay.sliderId = carpeslider.id;
var dec = parseInt(carpedisplay.getAttribute('decimals'));
carpedisplay.decimals = dec ? dec : 0;
var val = parseInt(carpedisplay.getAttribute('valuecount'));
carpedisplay.valuecount = val ? val : carpeslider.distance + 1;
var from = parseFloat(carpedisplay.getAttribute('from'));
from = from ? from : 0;
var to = parseFloat(carpedisplay.getAttribute('to'));
to = to ? to : carpeslider.distance;
carpeslider.scale = (to - from) / carpeslider.distance;
if (orientation == 'vertical') {
carpeslider.from = to;
carpeslider.xMax = 0;
carpeslider.yMax = carpeslider.distance;
carpeslider.scale = -carpeslider.scale;
} else {
carpeslider.from = from;
carpeslider.xMax = carpeslider.distance;
carpeslider.yMax = 0;
}
carpeslider.startOffsetX = carpeLeft(carpeslider.id) - evnt.screenX;
carpeslider.startOffsetY = carpeTop(carpeslider.id) - evnt.screenY;
carpemouseover = true;
document.onmousemove = moveSlider;
document.onmouseup = sliderMouseUp;
}
catch (e) { }
return false;
}
function KrediTutariSliding2(event) {
// if (jQuery('#krediAy_2').val() == "Kredi Tutary") {
// jQuery('#krediAy_2').val("10000");
// }
slide(event, 'horizontal', 100, k_h_ay_2, k_h_ay_bitis_2, 100, 0, 'value_display_2');
}
function KrediTutariSliding3(event) {
// if (jQuery('#krediAy_3').val() == "Kredi Tutary") {
// jQuery('#krediAy_3').val("10000");
// }
slide(event, 'horizontal', 100, k_h_ay_3, k_h_ay_bitis_3, 100, 0, 'value_display_3');
}
function yazdir(gelenDeger, id) {
var id_;
if (id != null) {
id_ = id.replace("your_slider_", "");
}
var gelenID = "#goster_" + id + "";
if (id == null) {
id = "horizontal_slider_1";
}
var frm_deger = VirgulleriAt(jQuery('#krediAy_' + id_).val(), 1);
if (frm_deger == 0) {
if (id_ == "1") {
frm_deger = k_h_tl;
jQuery('#krediAy_' + id_).val(Comma(k_h_tl));
}
if (id_ == "2") {
frm_deger = k_h_tl_2;
jQuery('#krediAy_' + id_).val(Comma(k_h_tl_2));
}
if (id_ == "3") {
frm_deger = k_h_tl_3;
jQuery('#krediAy_' + id_).val(Comma(k_h_tl_3));
}
};
var yeniDeger = gelenDeger;
if (gelenDeger == null) {
yeniDeger = jQuery('#krediAy').html();
};
//console.log(yeniDeger);
CreditCalculationParam(yeniDeger, id_);
if($('#your_slider_1_mobile'))$('#your_slider_1_mobile').html(yeniDeger);
}
function GetXmlDataBireysel() {}
function GetXmlDataTasit() {}
function GetXmlDataKonut() {}
/*===iDrag====*/
(function ($) {
$.support.touch = 'ontouchend' in document;
if (!$.support.touch) { return;}
var mouseProto = $.ui.mouse.prototype,
_mouseInit = mouseProto._mouseInit,
touchHandled;
function simulateMouseEvent (event, simulatedType) {
if (event.originalEvent.touches.length > 1) {
return;
}
event.preventDefault();
var touch = event.originalEvent.changedTouches[0],
simulatedEvent = document.createEvent('MouseEvents');
simulatedEvent.initMouseEvent( simulatedType, true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false,false,0, null);
event.target.dispatchEvent(simulatedEvent);
}
mouseProto._touchStart = function (event) {
var self = this;
if (touchHandled || !self._mouseCapture(event.originalEvent.changedTouches[0])) {
return;
}
touchHandled = true;
self._touchMoved = false;
simulateMouseEvent(event, 'mouseover');
simulateMouseEvent(event, 'mousemove');
simulateMouseEvent(event, 'mousedown');
};
mouseProto._touchMove = function (event) {
if (!touchHandled) {
return;
}
this._touchMoved = true;
simulateMouseEvent(event, 'mousemove');
};
mouseProto._touchEnd = function (event) {
if (!touchHandled) { return; }
simulateMouseEvent(event, 'mouseup');
simulateMouseEvent(event, 'mouseout');
if (!this._touchMoved) { simulateMouseEvent(event, 'click'); }
touchHandled = false;
};
mouseProto._mouseInit = function () {
var self = this;
self.element
.bind('touchstart', $.proxy(self, '_touchStart'))
.bind('touchmove', $.proxy(self, '_touchMove'))
.bind('touchend', $.proxy(self, '_touchEnd'));
_mouseInit.call(self);
};
})(jQuery);