﻿
var tabLinks=new Array();
var tabLists=new Array();
var contentDivs=new Array();
var card=new Array();
var query="جستجو در نیــپاز";
var queryAlert="لطفاً واژه ای را وارد نمائید.\nحداقل سه حرف";

window.onload=init;

function init()
{
	managePanels();
	cardInit();
	//checkVersion();
};

function managePanels()
{
	P7_equalCols2(0,'left','P','right','P');
};

function cardAdd(type,id,name,price,media,part)
{
	if(cardHaveProduct(type,id))
	{
		lightProduct(type,id);
		return;
	};
	
	var table_productList = document.getElementById("productList");
	var tbody = table_productList.tBodies.item(0);
	var row = tbody.insertRow(tbody.rows.length);
	row.id = "p"+type+id;
	row.title = "تعداد: 1 عدد";
	row.onmouseover = function(){showRemove(this)};
	row.onmouseout = function(){hideRemove(this)};
	
	var td1 = row.insertCell(0);
	td1.innerHTML = "<img src=/img/del.png width=12 height=12 alt='حذف از سبد خرید' title='حذف از سبد خرید' onclick='cardRemove(\""+type+"\","+id+")'/>"+Rial(price);
	var td2 = row.insertCell(1);
	var typ="";
	switch(type){
		case("m"):
		typ="movie";
		break;
		case("g"):
		typ="game";
		break;
		case("d"):
		typ="digital";
		break;
	}
	td2.innerHTML = "<a href='/"+typ+"/?id="+id+"'>"+name+"</a>";
	
	card[tbody.rows.length-1] = new Product(type,id,name,price,1,media,part);
	name = encodeURI(name);
	name = replaceAll(name,"&",escape("&"));
	ajax_getURL("/card/?action=add&type="+type+"&id="+id+"&name="+name+"&price="+price+"&media="+media+"&part="+part+"&count=1","get",null);
	lightProduct(type,id);
	
	cardHandle();
};

function cardRemove(type,id)
{
	var pid = "p"+type+id;
	var table_productList = document.getElementById("productList");
	var tbody = table_productList.tBodies.item(0);
	for(var i=0;i<tbody.rows.length;i++)
		if(tbody.rows[i].id == pid)
		{
			tbody.deleteRow(i);
			card.remove(i);
			break;
		}
	
	ajax_getURL("/card/?action=del&type="+type+"&id="+id,"get",null);
	
	cardHandle();
};

function cardUpdate(type,id,count)
{
	if(!isNumber(count))
	{
		count = 1;
		document.getElementById("count"+type+id).value = count;
	}
	
	if(count <= 0)
	{
		cardRemove(type,id);
		return false;
	}
	var pid = "p"+type+id;
	var table_productList = document.getElementById("productList");
	var tbody = table_productList.tBodies.item(0);
	for(var i=0;i<tbody.rows.length;i++)
		if(tbody.rows[i].id == pid)
		{
			card[i].count = count;
			tbody.rows[i].cells[0].innerHTML = "<img src=/img/del.png width=12 height=12 alt='حذف از سبد خرید' title='حذف از سبد خرید' onclick='cardRemove(\""+card[i].type+"\","+card[i].id+")'/>"+Rial(card[i].price*card[i].count);
			lightProduct(type,id);
			break;
		}
	
	ajax_getURL("/card/?action=upd&type="+type+"&id="+id+"&count="+count,"get",null);
	
	cardHandle();
};

function cardHandle()
{
	// card
	var card_coutProduct = document.getElementById("card_coutProduct");
	var card_sumPrice = document.getElementById("card_sumPrice");
	var card_postPrice = document.getElementById("card_postPrice");
	var card_totalPrice = document.getElementById("card_totalPrice");
	var card_mediaPrice = document.getElementById("card_mediaPrice");
	var card_mediaCount = document.getElementById("card_mediaCount");
	var card_DivXCount = document.getElementById("card_DivXCount");
	var table_productList = document.getElementById("productList");
	var DVDRow = document.getElementById("DVDRow");

	if(card.length==0) table_productList.style.display="none";
	else table_productList.style.display="block";

	card_coutProduct.innerHTML = parseInt(card.length);
	
	var postPrice = parseInt(Price(card_postPrice.innerHTML));
	var sumPrice = 0;
	var totalPrice = 0;
	var DivXCount = 0;
	for(var i=0;i<card.length;i++)
	{
		sumPrice+=(card[i].price*card[i].count);
		if(card[i].media=="DivX") DivXCount+=(Number(card[i].count)*Number(card[i].part));
	};
	
	var mediaCount=Math.ceil(DivXCount/6);
	//sumPrice+=mediaCount*card_DVDPrice;
	var totalPrice = sumPrice + postPrice;
	if((mediaCount) > 0) totalPrice += (mediaCount*card_DVDPrice);
	
	card_totalPrice.innerHTML = Rial(totalPrice);
	card_sumPrice.innerHTML = Rial(sumPrice);
	if(card_mediaPrice) card_mediaPrice.innerHTML = Rial(mediaCount*card_DVDPrice);
	if(card_mediaCount) card_mediaCount.innerHTML = mediaCount;
	if(card_DivXCount) card_DivXCount.innerHTML = DivXCount;
	if(DivXCount < 0)
		if(DVDRow) DVDRow.style.display = "none";
};

function lightProduct(type,id)
{
	var row = document.getElementById("p"+type+id);
	row.style.backgroundColor="#8dd400";
	var ID = setTimeout(function(){row.style.backgroundColor="";},1000);
};

function cardHaveProduct(type,id)
{
	var row = document.getElementById("p"+type+id);
	if(row != null)	return true;
	else return false;
};

function showRemove(row)
{
	row.getElementsByTagName("IMG")[0].style.display="block";
};

function hideRemove(row)
{
	row.getElementsByTagName("IMG")[0].style.display="none";
};

function Product(type,id,name,price,count,media,part)
{
	this.type = type;
	this.id = id;
	this.name = name;
	this.price = price;
	this.count = count;
	this.media = media;
	this.part = part;
};

function bookmark(url,title)
{
	if (window.sidebar) {return window.sidebar.addPanel(title,url,"")}
	else if (window.external) {return window.external.AddFavorite(url,title)}
	else if (window.opera && window.print) {return true};
	return false;
};

function Price(p){return parseInt(replaceAll(p,",",""))};
function Rial(p){p=p.toString();var l=p.length; var r=p;if(l>3&&l<7){r=p.substring(0,l-3)+","+p.substring(l-3,l);}else if(l>6 && l<10){r=p.substring(0,l-3)+","+p.substring(l-3,l);r=r.substring(0,r.length-7)+","+r.substring(r.length-7,r.length);}return r;};
function changeClass(e,c){e.className=c};
function trim(s){while(s.charAt(0)==" ")s=s.substring(1);while(s.charAt(s.length-1)==" ")s=s.substring(0,s.length-1);return s};
function replaceAll(s,o,n){return s.split(o).join(n)};
function isEmail(s){s=trim(s);var re=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;return(re.test(s))};
function isNumber(s){if(isNaN(parseInt(s)))return false;else return true};
function validate(e){if(e.form.elements['validation'])e.form.elements['validation'].value=1};

function cardCountListener(e)
{
	if(!isNumber(e.value))
		e.value="";
	else
		e.value=parseInt(e.value);
};

// Search Functions
function searchForm_onSubmit(f){if(trim(f.elements[0].value)==query||trim(f.elements[0].value)==""||trim(f.elements[0].value).length<3){alert(queryAlert);f.elements[0].focus();return false;}else return true};
function searchBox_onFocus(e){if(trim(e.value)==query)e.value=""};
function searchBox_onBlur(e){if(trim(e.value)=="")e.value=query};

// Login Functions
function loginForm_submit(f)
{
	var e=f.elements["lemail"];
	var p=f.elements["lpassword"];
	var r=f.elements["lrememberme"];
	var rurl=f.elements["lrurl"];
	var v=f.elements["validation"];
	var loader=f.getElementsByTagName("img")[0];
	if(r.checked) r.value="yes"; else r.value="no";
	if(!v) return false;
	if(isEmail(e.value) && parseInt(v.value) && trim(p.value)!="")
	{
		loader.style.display = "inline";
		ajax_getURL("/customer/login/","post","e="+e.value+"&p="+encodeURI(p.value)+"&r="+r.value+"&rurl="+rurl.value);
	}
	else
	{
		alert("لطفا اطلاعات درخواستی را صحیح وارد نمائید");
		e.select();
	}
	return false;
};

function loginForm_error()
{
	var f=document.forms["loginForm"];
	var loader=f.getElementsByTagName("img")[0];
	loader.style.display = "none";
	alert('ایمیل و یا کلمه عبور شما صحیح نمی باشد');
	return false;
};


// Customer Functions
function profileForm_submit(f)
{
	var v=f.elements["validation"];
	if(!v) return false;
	if(!parseInt(v.value)) return false;
	var req1=f.elements["require1"];
	if(!req1) { return true; }
	else
	{
		if(!req1.checked)
		{
			alert("لطفا قوانین نیــپاز را مطالعه و شرایط آن را قبول بفرمائید");
			req1.focus();
			return false;
		}
	}

	var req2=f.elements["require2"];
	if(!req2) { return true; }
	else
	{
		if(!req2.checked)
		{
			alert("صحت اطلاعات مندرج در این فرم را تائید کنید");
			req2.focus();
			return false;
		}
	}

};

function passwordForm_submit(f)
{
	var p=f.elements["ppasswordOld"];
	var p1=f.elements["ppasswordNew"];
	var p2=f.elements["ppasswordNew2"];
	var v=f.elements["validation"];
	if(!parseInt(v.value))return false;
	
	if(trim(p.value)=="")
	{
		alert("کلمه عبور جاری را وارد نمائید.");
		p.value="";
		p.select();
		return false;
	}
	if(trim(p1.value)=="" || p1.value.length<6)
	{
		alert("کلمه عبور جدید حداقل باید شش حرف باشد.");
		p1.select();
		return false;
	}
	else if(p1.value!=p2.value)
	{
		alert("کلمه عبور جدید و تکرار آن با هم یکسان نیستند.");
		p2.value="";
		p2.select();
		return false;
	}
	return true;
};

function requestForm_submit(f)
{
	var fn=f.elements["rFirstName"];
	var ln=f.elements["rLastName"];
	var e=f.elements["rEmail"];
	var pf=f.elements["rProductFa"];
	var pe=f.elements["rProductEn"];
	var v=f.elements["validation"];
	if(!parseInt(v.value))return false;
	
	if(trim(fn.value)=="")
	{
		alert("لطفاً نام خود را وارد بفرمائید.");
		fn.select();
		return false;
	}
	if(trim(ln.value)=="")
	{
		alert("لطفاً نام خانوادگی خود را وارد بفرمائید.");
		ln.select();
		return false;
	}
	if(!isEmail(e.value))
	{
		alert("لطفاً آدرس ایمیل خود را صحیح وارد بفرمائید.");
		e.select();
		return false;
	}
	else if(trim(pf.value)=="" && trim(pe.value)=="")
	{
		alert("نام محصول مورد نظر خود را وارد نکرده اید.");
		pf.select();
		return false;
	}
	return true;
};

function paymentType_change(c)
{

	var paytype = c.value;

	document.getElementById("depositContainer").style.display = "none";
	document.getElementById("cardContainer").style.display = "none";
	document.getElementById("onlineContainer").style.display = "none";

	document.getElementById(paytype+"Container").style.display = "block";

};


function paymentForm_submit(f)
{
	for(var i=0; i<f.elements["paymentType"].length; i++)
		if(f.elements["paymentType"][i].checked)
			var paymentType = f.elements["paymentType"][i].value;
	

	if(paymentType == "deposit")
	{
		var account=f.elements["daccount"];
		var payNumber=f.elements["dpayNumber"];
		var payCard=null;
		var payComment=f.elements["dpayComment"];
	}
	else if(paymentType == "card")
	{
		var account=f.elements["caccount"];
		var payNumber=f.elements["cpayNumber"];
		var payCard=f.elements["cpayCard"];
		var payComment=f.elements["cpayComment"];
	}
	else
	{
		return false;
	}
	
	var v=f.elements["validation"];
	var chk = false;
	if(!parseInt(v.value))return false;

	for(var i=0; i<account.length; i++)
		if(account[i].checked)
		{
			chk = true;
			break;
		}

	if(!chk)
	{
		alert("حساب واریزی را انتخاب بفرمائید.");
		return false;
	}
	if(trim(payNumber.value)=="")
	{
		alert("شماره فیش واریزی را وارد نمائید.");
		payNumber.focus();
		return false;
	}
	if(paymentType == "card" && trim(payCard.value)=="")
	{
		alert("حداقل 6 رقم آخر شماره 16 رقمی کارت خود را وارد کنید.");
		payCard.focus();
		return false;
	}
	return true;
};

function paymentSaman(i,price,returnAddress)
{
	var u=document.createElement("input");
	var p=document.createElement("input");
	var c=document.createElement("input");
	var r=document.createElement("input");
	u.type="hidden";u.name="username";u.value="nipaz";
	p.type="hidden";p.name="price";p.value=price;
	c.type="hidden";c.name="code";c.value=i;
	r.type="hidden";r.name="redirect";r.value="http://"+returnAddress+"/card/paymentsaman/";
	var f = document.createElement("form");
	f.action = "http://dpay1.cartmaster.info/order/shetab.asp";
	f.method = "post";
	f.appendChild(u);
	f.appendChild(p);
	f.appendChild(c);
	f.appendChild(r);
	document.body.appendChild(f);
	f.submit();
};

function paymentWithSaman_submit(form)
{
	var pr = form.elements["price"];
	var fn = form.elements["FirstName"];
	var ln = form.elements["LastName"];
	var mo = form.elements["Mobile"];
	var em = form.elements["Email"];
	var de = form.elements["Description"];
	
	if(isNaN(pr.value) || trim(pr.value) == "")
	{
		alert("لطفاً مبلغ را صحیح وارد بفرمائید.");
		pr.select();
		return false;
	}
	if(trim(fn.value)=="")
	{
		alert("نام خود را وارد بفرمائید.");
		fn.focus();
		return false;
	}
	if(trim(ln.value)=="")
	{
		alert("نام خانوادگی خود را وارد بفرمائید.");
		ln.focus();
		return false;
	}
	if(trim(mo.value)=="")
	{
		alert("شماره تماس خود را وارد بفرمائید.");
		mo.focus();
		return false;
	}
	if(trim(em.value)=="")
	{
		alert("ایمیل خود را وارد بفرمائید.");
		em.focus();
		return false;
	}
	
	var qs = "&price=" + pr.value + "&firstname=" + encodeURI(fn.value) + "&lastname=" + encodeURI(ln.value) + "&mobile=" + mo.value + "&email=" + em.value + "&description=" + encodeURI(de.value);

	ajax_getURL("/payment/?action=ForwardToBank"+qs,"get",null);
	return false;
};

function paymentSaman2(i,price,returnAddress)
{
	var u=document.createElement("input");
	var p=document.createElement("input");
	var c=document.createElement("input");
	var r=document.createElement("input");
	u.type="hidden";u.name="username";u.value="nipaz";
	p.type="hidden";p.name="price";p.value=price;
	c.type="hidden";c.name="code";c.value=i;
	r.type="hidden";r.name="redirect";r.value="http://"+returnAddress+"/payment/?action=ReturnFromBank";
	var f = document.createElement("form");
	f.action = "http://dpay1.cartmaster.info/order/shetab.asp";
	f.method = "post";
	f.appendChild(u);
	f.appendChild(p);
	f.appendChild(c);
	f.appendChild(r);
	document.body.appendChild(f);
	f.submit();
};


// Register Functions
function registerForm_submit(f)
{
	var e=f.elements["email"];
	var v=f.elements["validation"];
	var loader=f.getElementsByTagName("img")[0];
	if(!v) return false;
	if(isEmail(e.value) && parseInt(v.value))
	{
		loader.style.display="inline";
		ajax_getURL("/customer/register/?email="+e.value,"get",null);
	}
	else
	{
		alert("آدرس ایمیل صحیح وارد بفرمائید");
		e.select();
	}
	return false;
};

function registerForm_show()
{
	document.getElementById("register_panel").style.display="block";
	document.getElementById("registerForm").elements["0"].focus();
	return false;
};

function registerForm_normal()
{
	var f=document.forms["registerForm"];
	var loader=f.getElementsByTagName("img")[0];
	loader.style.display="none";
	document.getElementById("register_ok").style.display="none";
	document.getElementById("register_duplicate").style.display="none";
	document.getElementById("register_notexist").style.display="none";
	document.getElementById("register_form").style.display="block";
	return false;
};

function registerForm_ok(email)
{
	document.getElementById("register_form").style.display="none";
	document.getElementById("register_ok").style.display="block";
	document.getElementById("register_email").innerHTML=email;
};

function registerForm_duplicate(email)
{
	document.getElementById("register_form").style.display="none";
	document.getElementById("register_duplicate").style.display="block";
};

function registerForm_notexist(email)
{
	document.getElementById("register_form").style.display="none";
	document.getElementById("register_notexist").style.display="block";
};

// Retrieve Functions
function retrieveForm_submit(f)
{
	var e=f.elements["remail"];
	var v=f.elements["validation"];
	var loader=f.getElementsByTagName("img")[0];
	if(!v) return false;
	if(isEmail(e.value) && parseInt(v.value))
	{
		loader.style.display = "inline";
		ajax_getURL("/customer/retrieve/?email="+e.value,"get",null);
	}
	else
	{
		alert("آدرس ایمیل صحیح وارد بفرمائید");
		e.select();
	}
	return false;
};

function retrieveForm_show()
{
	retrieveForm_normal();
	document.getElementById("retrieve_form").style.display="block";
	document.getElementById("retrieveForm").elements["0"].focus();
	return false;
};

function retrieveForm_ok(email)
{
	retrieveForm_normal();
	document.getElementById("retrieve_form").style.display="none";
	document.getElementById("retrieve_ok").style.display="block";
	document.getElementById("retrieve_email").innerHTML=email;
};

function retrieveForm_error(email)
{
	retrieveForm_normal();
	document.getElementById("retrieve_form").style.display="none";
	document.getElementById("retrieve_error").style.display="block";
};

function retrieveForm_normal()
{
	var f=document.forms["retrieveForm"];
	var loader=f.getElementsByTagName("img")[0];
	loader.style.display="none";
	document.getElementById("retrieve_ok").style.display="none";
	document.getElementById("retrieve_error").style.display="none";
	document.getElementById("retrieve_form").style.display="block";
	return false;
};


// Tabular Panels Functions
function manageTabs(ul){var tabListItems=document.getElementById(ul).childNodes;for(var i=0;i<tabListItems.length;i++){if(tabListItems[i].nodeName=="LI"){var tabLink=getFirstChildWithTagName(tabListItems[i],'A');var id=getHash(tabLink.getAttribute('href'));tabLinks[id]=tabLink;tabLists[id]=tabLink.parentNode;contentDivs[id]=document.getElementById(id);}}var i=0;for(var id in tabLinks){tabLinks[id].onclick=showTab;tabLinks[id].onfocus=function(){this.blur()};if(i==0)tabLists[id].className='tabSelected';i++;}var i=0;for(var id in contentDivs){if(i!=0)contentDivs[id].className='content hide';i++;}};
function showTab(){var selectedId=getHash(this.getAttribute('href'));for(var id in contentDivs){if(id==selectedId){tabLists[id].className='tabSelected';contentDivs[id].className='content';}else{tabLists[id].className='tab';contentDivs[id].className='content hide';}}return false;};
function getFirstChildWithTagName(element,tagName){for(var i=0;i<element.childNodes.length;i++){if(element.childNodes[i].nodeName==tagName)return element.childNodes[i];}};
function getHash(url){var hashPos=url.lastIndexOf('#');return url.substring(hashPos+1);};


function changeProvince()
{
	var _master = document.getElementById('pprovince');
	var _master_selected = "";
	var _slave = document.getElementById('pcity');
	var _slave_content = CityID_content;
	var _slave_selected = CityID_selected;

	_slave.length = 0;
	
	if(change_ProvinceID_firstTime)
	{
		for (var i=0; i<_slave_content.length; ++i)
			if(_slave_content[i].v == _slave_selected)
				_master_selected = _slave_content[i].p;
		
		for (var i=0; i<_master.length; ++i)
			if(_master.options[i].value == _master_selected)
				_master.options[i].selected = true;

		change_ProvinceID_firstTime = false;
	}
	
	var j = 0;
	for (var i=0; i<_slave_content.length; ++i)
		if (_master.value == _slave_content[i].p)
		{
			_option = new Option();
			_option.text = _slave_content[i].t;
			_option.value = _slave_content[i].v;
			_slave.options.add(_option, j);
			if(_slave.options[j].value == _slave_selected)
				_slave.options[j].selected = true;
			j++;
		}
};



function getInternetExplorerVersion()
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
  var rv = -1; // Return value assumes failure.
  if (navigator.appName == 'Microsoft Internet Explorer')
  {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  return rv;
};

function checkVersion()
{
  var msg = "You're not using Internet Explorer.";
  var ver = getInternetExplorerVersion();

  if ( ver > -1 )
  {
    if ( ver >= 7.0 ) 
      msg = "You're using a recent copy of Internet Explorer."
    else
      msg = "You should upgrade your copy of Internet Explorer.";
  }
  alert( msg );
};




// Array Remove - By John Resig (MIT Licensed)
Array.prototype.remove = function(from, to) {
  var rest = this.slice((to || from) + 1 || this.length);
  this.length = from < 0 ? this.length + from : from;
  return this.push.apply(this, rest);
};
