var isc_request = new Object();

isc_request.get = function()
{
	if (!checkBankNames("payform","BankNames")){
		alert('Lutfen kredi kartinizi seciniz.');
		return false;	
	} else if (document.getElementById('cc_name').value =="" ){
		alert('Lutfen kartinizin uzerindeki ad ve soyad bilgisini giriniz.');
		document.getElementById('button').disabled = false;
		document.getElementById('cc_name').focus();
		document.getElementById('cc_name').select();
		return false;
	}  else if (document.getElementById('cc_cctype').selectedIndex == 0){
		alert('Lutfen kredi kartinizin Visa/MasterCard secimini yapiniz.');
		document.getElementById('button').disabled = false;
		document.getElementById('cc_cctype').focus();
		return false;		
	} else if (isNaN(document.getElementById('cc_ccno1').value) || document.getElementById('cc_ccno1').value =="" || isNaN(document.getElementById('cc_ccno2').value) || document.getElementById('cc_ccno2').value =="" || isNaN(document.getElementById('cc_ccno3').value) || document.getElementById('cc_ccno3').value =="" || isNaN(document.getElementById('cc_ccno4').value) || document.getElementById('cc_ccno4').value ==""){
		alert('Lutfen 16 haneli kredi karti numaranizi sadece rakam kullanarak eksiksiz giriniz.');
		document.getElementById('button').disabled = false;
		document.getElementById('cc_ccno1').focus();
		document.getElementById('cc_ccno1').select();
		return false;
	} else if (isNaN(document.getElementById('cc_cvv2').value) || document.getElementById('cc_cvv2').value =="" ){
		alert('Lutfen kartinizin arkasinda bulunan 3 haneli guvenlik kodunu giriniz.');
		document.getElementById('button').disabled = false;
		document.getElementById('cc_cvv2').focus();
		document.getElementById('cc_cvv2').select();
		return false;
	} else if (document.getElementById('cc_ccexpm').selectedIndex == 0){
		alert('Lutfen son kullanim tarihinin ay bilgisini seciniz.');
		document.getElementById('button').disabled = false;
		document.getElementById('cc_ccexpm').focus();
		return false;
	} else if (document.getElementById('cc_ccexpy').selectedIndex == 0){
		alert('Lutfen son kullanim tarihinin yil bilgisini seciniz.');
		document.getElementById('button').disabled = false;
		document.getElementById('cc_ccexpy').focus();
		return false;
	} else {
	
		// detect browser
		var ua = window.navigator.userAgent;
		var msie = ua.indexOf ( "MSIE " );
		
		// get instalments
		if ( parseInt (ua.substring (msie+5, ua.indexOf (".", msie))) == 6) {			
			if (document.payform.Insts.length > 1){
				for (var i=0; i < document.payform.Insts.length; i++) {
				   if (document.payform.Insts[i].checked) {
					  var taksit = document.payform.Insts[i].value;
					}
				}
			} else {
				var taksit = document.payform.Insts.value;
			}
		} else {
			if (document.payform.Insts.length > 1) {
				for (var i=0; i < document.payform.Insts.length; i++) {
				   if (document.payform.Insts[i].checked) {
					  var taksit = document.payform.Insts[i].value;
					}
				}
			} else {
				var taksit = document.payform.Insts.value;
			}
		}
		
		// get bankid
		if ( parseInt (ua.substring (msie+5, ua.indexOf (".", msie))) == 6) {			
			if (document.payform.BankNames.length > 1){
				for (var i=0; i < document.payform.BankNames.length; i++) {
				   if (document.payform.BankNames[i].checked) {
					  var bankid = document.payform.BankNames[i].value;
					}
				}
			} else {
				var bankid = document.payform.BankNames.value;
			}
		} else {
			if (document.payform.BankNames.length > 1) {
				for (var i=0; i < document.payform.BankNames.length; i++) {
				   if (document.payform.BankNames[i].checked) {
					  var bankid = document.payform.BankNames[i].value;
					}
				}
			} else {
				var bankid = document.payform.BankNames.value;
			}
		}
		
		document.getElementById('button').disabled = true;

		var cc_ccno = document.getElementById('cc_ccno1').value.toString() + document.getElementById('cc_ccno2').value.toString() + document.getElementById('cc_ccno3').value.toString() + document.getElementById('cc_ccno4').value.toString();
		
		var cc_cvv2 = document.getElementById('cc_cvv2').value;
		var cc_ccexpy = document.getElementById('cc_ccexpy').value;
		var cc_ccexpm = document.getElementById('cc_ccexpm').value;
		var cc_cctype = document.getElementById('cc_cctype').value;
		if (cc_cctype == "VISA"){
			cc_cctype = 1;
		} else if (cc_cctype == "MC") {
			cc_cctype = 2;
		}
		
		var cc_name = document.getElementById('cc_name').value;
		var amount = document.getElementById('newTotal').value;
		var oid = document.getElementById('orderid').value;
		var xid = XIDHesapla();		
			
			// YKB POSNET
			var myurl = "https://www.omurstore.com/modules/checkout/omurstore/ykb/ykb_3dspost.php?cc_ccno=" + cc_ccno + "&cc_cvv2=" + cc_cvv2 + "&cc_ccexpy=" + cc_ccexpy + "&cc_ccexpm=" + cc_ccexpm + "&xid=" + xid + "&amount=" + amount + "&oid=" + oid + "&inst=" + taksit  + "&name=" + cc_name;

		var h = getDocHeight();
		var w = getDocWidth();
		
		var ftbdivhtml = "<div id='ftb' style='position:absolute; left:0px; top:0px; width:"+ w +"px; height:"+ h +"px; z-index:1; background-color:#000000; opacity:0; -moz-opacity:0; -khtml-opacity:0; filter: alpha(opacity=0);'><table width='100%' height='100%' border='0' align='center' cellpadding='0' cellspacing='0'><tr><td align='center' valign='middle'><span><img src='templates/default/images/bigloading.gif' border='0'></span><br><span><h1><strong>&#304;&#351;leminiz ger&ccedil;ekle&#351;iyor, l&uuml;tfen bekleyiniz...</h1></strong></span></td></tr></table></div>";

		// party begins

		var ftbDiv = document.createElement("div");
		ftbDiv.id = 'ftb';
		ftbDiv.style.position = 'absolute';
		ftbDiv.style.left = '0px';
		ftbDiv.style.top = '0px';
		ftbDiv.style.width = w + 'px';
		ftbDiv.style.height = h + 'px';
		ftbDiv.style.zIndex = '101'
		ftbDiv.style.backgroundColor = '#000000'
		ftbDiv.style.opacity = '0';
		ftbDiv.style.filter = 'alpha(opacity=0)';
		ftbDiv.style.MozOpacity = '0'
		ftbDiv.style.KhtmlOpacity = '0'
		
		ftbDivTbl = document.createElement("table");
		ftbDivTbl.setAttribute('width','100%');
		ftbDivTbl.setAttribute('height','100%');
		ftbDivTbl.setAttribute('border','0');
		ftbDivTbl.setAttribute('align','center');
		ftbDivTbl.setAttribute('cellpadding','0');
		ftbDivTbl.setAttribute('cellspacing','0');		
		
		ftbDivTblBody = document.createElement("tbody");
		
		ftbDivTblRow = document.createElement("tr");
		ftbDivTblCell = document.createElement("td");
		ftbDivTblCell.setAttribute('align','center');
		ftbDivTblCell.setAttribute('valign','middle');
		
		ftbDivTblImg = document.createElement("img");
		ftbDivTblImg.setAttribute('src', 'templates/default/images/bigloading.gif');
		ftbDivTblImg.setAttribute('border', '0');
		ftbDivTblCellContent = document.createElement("span");
		ftbDivTblCellContent.appendChild(ftbDivTblImg)

		ftbDivTblCell.appendChild(ftbDivTblCellContent);
		ftbDivTblCell.appendChild(document.createElement("br"));
		ftbDivTblCellContent2 = document.createElement("span");
		ftbDivTblCellContent2.style.color = '#ffffff';
		ftbDivTblCellH1 = document.createElement("h1");
		ftbDivTblCellStrong = document.createElement("Strong");
		ftbDivTblCellText = document.createTextNode(String.fromCharCode(304)+String.fromCharCode(351)+"leminiz ger"+String.fromCharCode(231)+"ekle"+String.fromCharCode(351)+"iyor, l"+String.fromCharCode(252)+"tfen bekleyiniz...");
		ftbDivTblCellStrong.appendChild(ftbDivTblCellText);
		ftbDivTblCellH1.appendChild(ftbDivTblCellStrong);
		ftbDivTblCellContent2.appendChild(ftbDivTblCellH1);
		ftbDivTblCell.appendChild(ftbDivTblCellContent2);
		
		ftbDivTblRow.appendChild(ftbDivTblCell);
		ftbDivTblBody.appendChild(ftbDivTblRow);
		ftbDivTbl.appendChild(ftbDivTblBody)
		ftbDiv.appendChild(ftbDivTbl);
		document.body.appendChild(ftbDiv);		

		isc_request.opacity('ftb', 0, 60, 1000);	
				
		setTimeout("isc_request.bringframe()",1000);

		setTimeout("isc_request.fillframe(\"" + myurl + "\")",2000 );
		
		return false;
	}
}

function checkBankNames(frmName, rbGroupName)
{
	var radios = document[frmName].elements[rbGroupName];
	for (var i=0; i < radios.length; i++) {
		if (radios[i].checked) {
			return true;
  		}	
 	}
	return false;
}

isc_request.bringframe = function()
{	
	var left = window.center({width:400,height:420}).x
	var top =  window.center({width:400,height:420}).y

	iframeDiv = document.createElement("div");
	iframeDiv.id = 'iframediv';
	iframeDiv.style.position = 'absolute';
	iframeDiv.style.backgroundColor = '#ffffff';
	iframeDiv.style.left = left+'px';
	iframeDiv.style.top = top+'px';
	iframeDiv.style.zIndex = '102';
	iframeDiv.style.opacity = '0';
	iframeDiv.style.filter = 'alpha(opacity=0)';
	iframeDiv.style.MozOpacity = '0';
	iframeDiv.style.KhtmlOpacity = '0';
	
	document.body.appendChild(iframeDiv);

	isc_request.opacity('iframediv', 0, 100, 1000);	
}

isc_request.fillframe = function(myurl)
{

	iFrame = document.createElement("iframe");
	iFrame.id = 'tdcheck'
	iFrame.frameBorder = 0;
	iFrame.scrolling = 'no';
	iFrame.name = '3dcheck';
	iFrame.style.overflow = 'visible';
	iFrame.style.backgroundColor = '#ffffff';
	iFrame.style.width = '400px';
	iFrame.style.height = '420px';
	document.getElementById('iframediv').appendChild(iFrame);
	document.getElementById('tdcheck').src = myurl;
}

isc_request.shiftOpacity = function(id, millisec) {
    //if an element is invisible, make it visible, else make it ivisible
    if(document.getElementById(id).style.opacity == 0) {
        isc_request.opacity(id, 0, 100, millisec);
    } else {
        isc_request.opacity(id, 100, 0, millisec);
    }
} 

isc_request.opacity = function(id, opacStart, opacEnd, millisec) {
	//speed for each frame
	var speed = Math.round(millisec / 100);
	var timer = 0;

	//determine the direction for the blending, if start and end are the same nothing happens
	if(opacStart > opacEnd) {
		for(i = opacStart; i >= opacEnd; i--) {
			setTimeout("isc_request.changeOpac(" + i + ",\'" + id + "\')",(timer * speed));
			timer++;
		}
	} else if(opacStart < opacEnd) {
		for(i = opacStart; i <= opacEnd; i++)
			{
			setTimeout("isc_request.changeOpac(" + i + ",\'" + id + "\')",(timer * speed));
			timer++;
		}
	}
}

isc_request.changeOpac = function(opacity, id) {
	var object = document.getElementById(id).style; 
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}

function hideframe() {
	
	isc_request.opacity('iframediv', 100, 0, 1000);	
}

function paymenterror(responseCode,responseText)
{
	document.getElementById('button').disabled = false;
	var BankNames = document.payform.BankNames;
	for(var i=0, n=BankNames.length; i<n; ++i){
		BankNames[i].checked = false;
	}	
	
	document.getElementById('result').innerHTML = "";
	document.getElementById('instable').innerHTML = "";
	document.getElementById('TotalAmount').innerHTML = document.getElementById('orgTotal').value + " TL";
	
	var mykillfrm = document.getElementById('tdcheck');
	mykillfrm.parentNode.removeChild(mykillfrm);
	
	killifd();
	
	isc_request.opacity('ftb', 60, 0, 1000);
	setTimeout("killftb()",1000);

	document.getElementById('result').innerHTML += "<span style='font-weight:bold; color:#FF0000;'>&Ouml;deme Ba&#351;ar&#305;s&#305;z.</span><br>" + "Hata Kodu : " + responseCode + "<br>Hata Mesaji : " + responseText + "<br><br><span style='font-weight:bold;'>L&uuml;tfen tekrar &ouml;demeyi deneyiniz..</span>";
}

function finito()
{
	
	var oid = document.getElementById('orderid').value;
	var amount = document.getElementById('newTotal').value;
	var bankid = document.getElementById('bankid').value;
	var instamount = document.getElementById('instamount').value;
	var interestrate = document.getElementById('interestrate').value;
	var taksit = document.getElementById('taksit').value;
	var token = document.getElementById('orderToken').value;

	var newform = "<form id='newform' action='checkout.php?action=process_payment' method='post'>"
			+ "<input type='hidden' name='oid' value = " + oid + ">"
			+ "<input type='hidden' name='amount' value = " + amount + ">"
			+ "<input type='hidden' name='bankid' value = " + bankid + ">"
			+ "<input type='hidden' name='instamount' value = " + instamount + ">"
			+ "<input type='hidden' name='interestrate' value = " + interestrate + ">"
			+ "<input type='hidden' name='taksit' value = " + taksit + ">"
			+ "<input type='hidden' name='token' value = " + token + ">"
			+ "</form>";
			
	document.getElementById('permanent').innerHTML = newform;
	
	document.getElementById("newform").submit();
	
}

function paymentok()
{	
	var mykillfrm = document.getElementById('tdcheck');
	mykillfrm.parentNode.removeChild(mykillfrm);
	
	killifd();
	isc_request.opacity('ftb', 60, 0, 1000);
	setTimeout("killftb()",1000);
	
	finito();
	
}

function tderror()
{
	document.getElementById('button').disabled = false;
	
	document.getElementById('cc_cctype').style.visibility = 'visible';
	document.getElementById('cc_ccexpy').style.visibility = 'visible';
	document.getElementById('cc_ccexpm').style.visibility = 'visible';	
	
	var BankNames = document.payform.BankNames;
	for(var i=0, n=BankNames.length; i<n; ++i){
	BankNames[i].checked = false;
	}	
	
	document.getElementById('result').innerHTML = "";
	document.getElementById('instable').innerHTML = "";
	document.getElementById('TotalAmount').innerHTML = document.getElementById('orgTotal').value + " TL";
	
	var mykillfrm = document.getElementById('tdcheck');
	mykillfrm.parentNode.removeChild(mykillfrm);
	
	killifd();
	
	isc_request.opacity('ftb', 60, 0, 1000);
	setTimeout("killftb()",1000);
	
	document.getElementById('result').innerHTML += "<br>3D Secure do&#287;rulamas&#305; ba&#351;ar&#305;s&#305;z oldu.<br><br>";

}

function getrid()
{
	document.getElementById('button').disabled = false;
	document.getElementById('cc_cctype').style.visibility = 'visible';
	document.getElementById('cc_ccexpy').style.visibility = 'visible';
	document.getElementById('cc_ccexpm').style.visibility = 'visible';
	
	var BankNames = document.payform.BankNames;
	for(var i=0, n=BankNames.length; i<n; ++i){
	BankNames[i].checked = false;
	}	
	
	document.getElementById('result').innerHTML = "";
	document.getElementById('instable').innerHTML = "";
	document.getElementById('TotalAmount').innerHTML = document.getElementById('orgTotal').value + " TL";
	
	var mykillfrm = document.getElementById('tdcheck');
	mykillfrm.parentNode.removeChild(mykillfrm);
	
	killifd();
	
	isc_request.opacity('ftb', 60, 0, 1000);
	setTimeout("killftb()",1000);

	document.getElementById('result').innerHTML += "<br>3D Secure do&#287;rulamas&#305; iptal edildi ya da ba&#351;ar&#305;s&#305;z oldu.<br><br>"
}

function killifd()
{
	var mykillfrmcnt = document.getElementById('iframediv');
	mykillfrmcnt.parentNode.removeChild(mykillfrmcnt);	
}

function killftb()
{
	var mykillftb = document.getElementById('ftb');
	mykillftb.parentNode.removeChild(mykillftb);
}

function goNext(the_val,field_name) {
    if (the_val.length == 4) {
        document.getElementById(field_name).select();
		//document.forms['payform'].elements[field_name].focus();
    }
}

function getDocHeight() {
    var D = document;
    return Math.max(
        Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
        Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
        Math.max(D.body.clientHeight, D.documentElement.clientHeight)
    );
}

function getDocWidth() {
    var D = document;
    return Math.max(
        Math.max(D.body.scrollWidth, D.documentElement.scrollWidth),
        Math.max(D.body.offsetWidth, D.documentElement.offsetWidth),
        Math.max(D.body.clientWidth, D.documentElement.clientWidth)
    );
}

window.size = function()
{
	var w = 0;
	var h = 0;

	//IE
	if(!window.innerWidth)
	{
		//strict mode
		if(!(document.documentElement.clientWidth == 0))
		{
			w = document.documentElement.clientWidth;
			h = document.documentElement.clientHeight;
		}
		//quirks mode
		else
		{
			w = document.body.clientWidth;
			h = document.body.clientHeight;
		}
	}
	//w3c
	else
	{
		w = window.innerWidth;
		h = window.innerHeight;
	}
	return {width:w,height:h};
}

window.center = function()
{
	var hWnd = (arguments[0] != null) ? arguments[0] : {width:0,height:0};

	var _x = 0;
	var _y = 0;
	var offsetX = 0;
	var offsetY = 0;

	//IE
	if(!window.pageYOffset)
	{
		//strict mode
		if(!(document.documentElement.scrollTop == 0))
		{
			offsetY = document.documentElement.scrollTop;
			offsetX = document.documentElement.scrollLeft;
		}
		//quirks mode
		else
		{
			offsetY = document.body.scrollTop;
			offsetX = document.body.scrollLeft;
		}
	}
	//w3c
	else
	{
		offsetX = window.pageXOffset;
		offsetY = window.pageYOffset;
	}

	_x = ((this.size().width-hWnd.width)/2)+offsetX;
	_y = ((this.size().height-hWnd.height)/2)+offsetY;

	return{x:_x,y:_y};
}


function XIDHesapla(){
	var simdi = new Date();
	var yil = new String(simdi.getFullYear());
	yil = yil.slice(2, 4);
	var ay = new String(simdi.getMonth()+1);
	if (ay.length == 1) ay = "0"+ay;
	var gun = new String(simdi.getDate());
	if (gun.length == 1) gun = "0"+gun;
	var sa = new String(simdi.getHours());
	if (sa.length == 1) sa = "0"+sa;
	var dk = new String(simdi.getMinutes());
	if (dk.length == 1) dk = "0"+dk;
	var sn = new String(simdi.getSeconds());
	if (sn.length == 1) sn = "0"+sn;
	
	return "YKB_0000"+yil+ay+gun+sa+dk+sn;
}
