﻿
///////////////////////////////////////////
/////   Common JS Functions  -- Copyright 2004 by PASNA (www.pasna.ir)
///////////////////////////////////////////


var fadeErrorFieldVar;
var fadeErrorFieldObj;
function fadeErrorField(){
		fadeErrorFieldObj.style.backgroundColor = "rgb(255, " + fadeErrorFieldVar + ", " + fadeErrorFieldVar + ")";
	fadeErrorFieldVar += 2;
	if (fadeErrorFieldVar<237)
		setTimeout(fadeErrorField, 10);
}

function alertField(fld, str)
{
	if (!fld) return true;
	alert(str);
	fld.focus();
	fadeErrorFieldVar = 150;
	fadeErrorFieldObj = fld;
	if (fld.style.backgroundColor)
		fld.setAttribute("pasnaprevbg", fld.style.backgroundColor);
	else
		fld.setAttribute("pasnaprevbg", "white");
	fld.style.backgroundColor = "rgb(255, 150, 150)";
	setTimeout(fadeErrorField, 500);
	return false;
}

function resetErrorField(fld){
	if (!fld) return;
	if (fld.getAttribute("pasnaprevbg")){
		fld.style.backgroundColor = fld.getAttribute("pasnaprevbg");
		fld.removeAttribute("pasnaprevbg");
	}
}

function checkField(fld)
{
	if (!fld) return true;
	pasnatype = fld.getAttribute("pasnatype");
	pasnareq  = fld.getAttribute("pasnarequired");
	fldvalue = fld.getAttribute("value");
	checkfld = document.all['c' + fld.name];
	checkfldExist = (typeof(checkfld)!='undefined');
	if (checkfldExist && !checkfld.checked)
		return true;
	if (pasnareq!=null && (fldvalue==null || fldvalue==''))
			return alertField(fld, 'مقدار اين گزینه الزامي است');
	if (pasnatype != null){
			if (pasnatype == 'email' && !checkEmail(fldvalue)) return alertField(fld, 'پست الكترونيك اشتباه است');
			if (pasnatype == 'password' && !checkPassword(fldvalue)) return alertField(fld, 'رمز عبور اشتباه است');
			if (pasnatype == 'phone' && !checkPhone(fldvalue)) return alertField(fld, 'شماره تلفن اشتباه است');
			if (pasnatype == 'cityphone' && !checkCityPhone(fldvalue)) return alertField(fld, 'شماره تلفن اشتباه است');
			if (pasnatype == 'mobilephone' && !checkMobilePhone(fldvalue)) return alertField(fld, 'شماره تلفن همراه اشتباه است');
			if (pasnatype == 'farsiname' && !checkFarsiText(fldvalue)) return alertField(fld, 'نام اشتباه است');
			if (pasnatype == 'farsidate' && !checkFarsiDate(fldvalue)) return alertField(fld, 'تاريخ اشتباه است');
			if (pasnatype == 'postalcode' && !checkPostalCode(fldvalue)) return alertField(fld, 'كدپستي اشتباه است');
			if (pasnatype == 'lottary' && !checklottary(fldvalue)) return alertField(fld, 'شماره قرعه کشی اشتباه است');
			if (pasnatype == 'lot206' && !checklot206(fldvalue)) return alertField(fld, 'شماره انتخابی اشتباه است');
		if (pasnatype == 'number' && !checkNumber(fldvalue)) return alertField(fld, 'مقدار اشتباه است');
	}
	return true;
}

function checkBeforeSubmit(frm){
	if(!frm) return true;
	var ii=0;
	for (ii=0; ii<frm.elements.length; ii++)
	{
		if (frm.elements(ii).name!=null ){
			resetErrorField(frm.elements(ii)); //typeof(frm.elements(i).name)!='undefined' && 
			if (!checkField(frm.elements(ii))) return false;
		}
	}
	return true;
}


function checkPassword(str)
{
	if (str=='') return true;
	if (str.match(/[0-9]{4,14}/)==str) return true;
	return false;
}

function checkFarsiText(str)
{
	if (str=='') return true;
		if (str.match(/[\u0621-\u064A\u06AF\u0698\u067E\u0686][ \u0621-\u064A\u06AF\u0698\u067E\u0686]*/)==str) return true;
	return false;
}

function checkEmail(str)
{
	if (str=='') return true;
		var oRegExp = /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/g;
	return oRegExp.test(str);
}

function checkMobilePhone(str)
{
	if (str=='') return true;
	if (str.match(/[1-9][0-9]{6}/)==str) return true;
	return false;
}
function checkNumber(str)
{
	if (str=='') return true;
	if (str.match(/[+\-]{0,1}[0-9]+/)==str) return true;
	return false;
}

function checkFarsiDate(str)
{
	if (str=='') return true;
	var myRegExp = /13([0-9]{2})\/([0-9]{1,2})\/([0-9]{1,2})/;
	myArray = myRegExp.exec(str);
	if (myArray) {
		if (myArray.length!=4) return false;
		if (myArray[1]==0) return false;
		if (myArray[2]>12 || myArray[2]==0) return false;
		if (myArray[3]>31 || myArray[2]==0) return false;
		return true;
	}
	return false;
}

function checkPostalCode(str)
{
	if (str=='') return true;
	if (str.match(/[1-9][0-9]{9}/)==str) return true;
	return false;
}
function checklottary(str)
{
	if (str=='') return true;
	if (str.match(/[1-9][0-9]{7}/)==str) return true;
	return false;
}
function checklot206(str)
{
	if (str=='') return true;
	if (str.match(/[1-9][0-9]{9}/)==str) return true;
	return false;
}

var prePhoneNumbers = [
'__',
'_2228_2229_2280_2281_2282_2283_',
'_2217_2270_2271_2272_2273_2274_2275_',
'_2220_2221_2223_2224_2264_2266_2267_2268_2269_',
'_2010_2610_2244_2245_2246_2247_2248_2249_7732_',
'_2224_2240_2241_2242_2243_2244_',
'__',
'_8807_8808_8809_8836_8837_8853_8856_8857_8859_',
'_4425_8824_8825_8826_8827_8828_',
'_2206_2207_2208_2209_2211_2212_2213_2228_2234_2235_2236_2237_8868_8869_',
'_4420_4421_6601_6602_6603_6604_6646_6650_6651_6652_6655_6656_6657_6690_6691_6692_6693_6694_',
'_4420_4421_4422_4423_4424_4425_4428_4432_4480_4481_8825',
'__',
'_8803_8804_8805_8809_8820_8821_8888_8887_',
'_2200_2222_2225_2227_2228_2244_2290_2291_8864_8865_8866_8867_',
'_2254_2255_2256_2257_2258_2259_2278_',
'_2200_2226_2260_2261_2263_2264_2267_',
'_2201_2202_2203_2204_2205_2620_2621_',
'_8877_8878_8879_8888_',
'__',
'_2252_2284_2285_2289_2286_2288_2294_',
'_2230_2231_2232_2233_2250_2251_2252_2253_2630_2631_',
'_2256_2293_2294_2295_2296_2297_2276_',
'_7729_7735_7770_7771_7772_7786_7787_7788_7778_',
'_7732_7733_7734_7735_7796_7711_',
'_7742_7786_',
'_7700_7701_7709_7710_7730_7731_7742_7743_',
'_7704_7705_7706_7714_7715_7736_7737_7738_7739_',
'_7718_7719_7720_7721_7727_7722_7723_7745_7747_7749_7789_',
'__',
'_4410_4411_4420_4421_4422_4423_4430_4431_4432_4440_4441_',
'_4400_4401_4405_4406_4407_4408_4409_4412_4413_4414_4416_4417_4423_6602_',
'_4463_4464_4465_4466_4467_4469_',
'_4404_4460_4461_4440_4441_4442_4443_4444_4445_4446_4447_4449_4481_4482_4483_4484_4486_4487_4426_4427_',
'_4420_4421_4422_',
'_4480_4481_',
'__',
'_8803_8804_8805_8806_8810_8860_8861_8843_8855_8870_8871_8872_8897_8833_',
'_8873_8874_8875_8876_8877_8878_8845_',
'_2256_8800_8801_8802_8863_8895_8899_',
'_8885_8895_8896_',
'_8830_8832_8834_8838_8880_8881_8882_8889_8890_8891_8892_8893_8898_8814_',
'__',
'_7750_7751_7752_7753_7755_7756_7757_7760_7763_7764_7765_',
'_8830_8881_8882_8883_8884_',
'_7753_8840_8841_8842_8843_8844_',
'_2286_8831_8846_8847_8850_8851_8852_8876_2287_',
'_7754_7755_7756_7757_7758_7759_',
'__',
'_7721_7763_7790_7791_7792_7793_7794_7795_',
'_3334_7740_7741_7742_7743_7746_7747_7748_7750_7793_7716_7717_',
'_7720_7744_7780_7781_7783_7789_7793_7797_7798_',
'_7725_7726_7781_7782_7783_7784_7769_',
'__',
'_4419_4464_6600_6601_6603_6605_6606_6608_',
'_6660_6630_6661_6662_6663_6664_6665_6666_6668_6669_6670_6675_6680_6687_',
'_4419_4450_4451_4452_4453_4454_4456_4490_4492_',
'__',
'_6600_6601_6602_6635_6636_6637_6638_6663_6683_6684_6686_6687_6688_6689_',
'_5570_5571_5572_5573_5574_5576_5577_5578_6663_5575_',
'__',
'_6642_6643_6686_6692_6693_6695_6696_6697_',
'_6659_5540_5541_5542_5543_5544_',
'_5536_5537_5538_5539_5548_',
'_5564_5565_5566_5567_5568_5569_5595_',
'_6640_6641_6646_6648_8894_6649_',
'_6649_6670_6671_6672_6673_6674_',
'__',
'_3333_3334_3378_3379_3390_3392_3393_3399_6671_',
'_332_3311_3312_3313_3333_3354_3355_3350_3351_3356_3391_3394_',
'_3333_3334_3378_3379_3390_3396_3397_',
'_3312_3355_3356_3393_3395_',
'5514_5513_5514_5515_5516_5557_5560_5561_5562_5563_5580_5581_5582_5589_',
'__',
'_3305_3310_3330_3331_3332_3333_3334_3335_3336_3378_3379_3383_3384_7742_7743_7747_3352_',
'_3368_3369_3370_3371_3372_3373_3303_',
'_3308_3309_3316_3317_3318_3319_',
'__',
'_3300_3301_3302_3310_3306_3365_3314_3315_3316_3317_3318_3319_3380_3390_3391_',
'__',
'_3345_3346_3347_3348_3349_3358_3359_3360_3361_3362_3381_3382_3385_3386_3387_3388_3389_',
'__',
'_5504_5505_5506_5507_5509_5530_5531_5533_5534_5535_',
'_5505_5506_5507_5508_5509_5530_5531_5532_5535_',
'_5500_5501_5502_5503_5550_5551_5552_5553_5554_',
'__',
'_5570_5571_5572_5573_5574_5576_5577_6620_',
'__',
'_6620_6621_6622_6624_6625_6626_6629_6631_6660_6661_6662_6669_6679_6680_6681_6682_',
'_6620_6621_6622_6623_6624_6625_6627_6628_',
'_5582_5583_5584_5585_5586_',
'_5522_5524_5525_5527_',
'_5529_',
'__',
'_5500_5501_5502_5503_5524_5525_5527_5550_',
'_5524_5525_5529_5583_5587_',
'_5526_5529_',
'__',
'_3374_3375_3376_3377_',
'_3337_3338_3388_',
'_3340_3341_3342_3344_5569_5590_5591_5592_5593_5595_5596_5597_',
'_5520_5521_',
'_3338_3339_',
'__',
'_4419_4452_4453_4456_4490_',
'_4489_6600_6601_6603_',
'__',
'_3379_4470_4471_4472_4473_4475_4476_4498_4499_7743_',
'_3379_4419_4430_4431_4432_4433_4499_7743_'
];


var prePhoneArea = [
'منطقه 1',
'نياوران، جماران، فرمانيه، اقدسيه، دارآباد، آجودانيه، كاشانك',
'تجريش، سعدآباد، زعفرانيه، دزاشيب، دربند',
'قيطريه، الهيه، چيذر، شهيد باهنر',
'ازگل، خيابان لويزان، شهرك نفت، دارآباد',
'ولنجك، دركه، اوين، منطقه شمالي (محدوده زندان اوين)',
'منطقه 2',
'شهرك قدس، شيخ فضل الله نوري، خوردين، خيابان ايران زمين',
'گيشا، كارگر شمالي، اتوبان كردستان',
'سعادت آباد، اوين، شهرك تامين اجتماعي، فرحزاد',
'ستارخان، دريان نو، تهران ويلا، توحيد',
'شهرك ژاندارمري، فرهنگيان، فلكه اول صادقيه، شهرك هما',
'منطقه 3',
'ملاصدرا، شيخ بهايي، ونك',
'ظفر، ميرداماد، خيابان نفت، ميدان مادر',
'اختياريه، خيابان قبا، خيابان وارسته',
'فرشته، قلهك، زرگنده، خيابان يخچال، دولت',
'خيابان سئول، آفريقا، پارك وي، محدوده نمايشگاه بين المللي، نيايش',
'گاندي، خيابان الوند، ونك، آفريقا',
'منطقه 4',
'ضرابخانه و خيابان شهيد عراقي، جنوب پاسداران',
'مجيديه، مسيل لويزان، شمس آباد',
'هروی، ساقدوش، منطقه لويزان، حسين آباد، شيان، مبارك آباد، ازگل، شهرك نفت',
'رسالت، فلكه دوم تهرانپارس، سراج، بلوار پروين، رشيد',
'خاك سفيد، سرخه حصار، بلوار پروين، حكيميه، جواديه تهران پارس',
'سراج، فلكه چهارم تهرانپارس',
'شهرک شهید بهشتی، حكيميه، شهرك والفجر، شهيد بابايي، سازمان آب',
'شهرك اميد، قنات كوثر، شهرك پارس، شهرك فرهنگيان',
'آزادگان، کوهک، فرجام، هنگام',
'منطقه 5',
'زيباشهر، سازمان آب، شهران',
'بلوار فردوس، فلكه دوم صادقيه',
'کوی بیمه، اكباتان',
'پونك، جنت آباد شمالي',
'كن، شهران',
'بلوار ايرانپارس، حصارك',
'منطقه 6',
'يوسف آباد، سيد جمال الدين اسدآبادي',
'عباس آباد، مطهري، مصلاي تهران',
'فاطمی، اميرآباد',
'بلوار كشاورز',
'قائم مقام فرهانی، میرزای شیرازی، كريمخان، بهجت آباد، مفتح جنوبي',
'منطقه 7',
'گرگان، سپاه، خيابان بهار، مجاهدين اسلام، 17 شهريور، امام حسين، خواجه نصير',
'شهيد شيرودي، شهيد مفتح',
'خيابان قصر، خيابان ملك، سه راه زندان',
'شريعتي، سيدخندان، پاليزي',
'نظام آباد',
'منطقه 8',
'سمنگان، شهيد آيت، چهارراه تلفنخانه، نارمك',
'ميدان امامت، خيابان دماوند، تهران نو',
'شميران نو، خيابان گلبرگ، هنگام، دانشگاه علم و صنعت',
'وحيديه',
'منطقه 9',
'استاد معين، آزادي، پادگان جي، جاده مخصوص كرج، سرآسياب، 21 متري جي، طوس',
'مهرآباد جنوبي، سرآسياب مهرآباد، سه راه آذري، شهرك فردوس',
'تهرانسر، شهرك دريا، شهرك استقلال، شهرك دانشگاه، اتوبان كرج، پيكان شهر',
'منطقه 10',
'خيابان امام خميني، كارون، آذربايجان، قصرالدشت',
'كميل، مرتضوي، بريانك، جيحون، گلستاني، هفت چنار، سليماني، امين المك',
'منطقه 11',
'آذربايجان، كارگر، جنوب ميدان انقلاب، اسكندري شمالي',
'نواب، عباسي، خيابان قزوين، دخانيات، دوراهي قپان، كمالي',
'منيريه، محدوده مهديه تهران',
'راه آهن، ميدان راه آهن، خزانه، بزرگراه بعثت منطقه جواديه راه آهن',
'جمهوري، اميراكرم، ابوسعيد، شيخ هادي',
'سه راه جمهوري، حافظ، چهارراه جمهوري، وليعصر',
'منطقه 12',
'خيابان ملت، چراغ برق، اكباتان',
'استانبول، خيابان كوشك، كوچه مهران، كوچه برلن بهارستان',
' منطقه مركزي مخابرات، ميدان امام خميني',
'خيابان ري، خيابان نور شرقي، خيابان شهيد مصطفي خميني',
'بازار، ابوسعيد',
'منطقه 13',
'نیروی هوایی، 17 شهريور، پيروزي، نبرد',
'خاوران، بي سيم نجف آباد، خيابان 17 شهريور، خيابان نبرد',
'بزرگراه محلاتي، افسريه، فرح آباد، قصر فيروزه',
'منطقه 14',
'افسريه جنوبي، بزرگراه محلاتي، دولاب، اتوبان آهنگ، خيابان نبرد',
'منطقه 15',
'بزرگراه بعثت، خاوران، بیسیم، مشيريه، شهرك كاروان، مسعوديه، والفجر، قائم، شيرازي',
'منطقه 16',
'خزانه، اتوبان بعثت، ترمينال جنوب، شهيد بخارايي',
'باغ آذري، نازي آباد، شهيد رجايي، شهيد دستواره',
'خيابان شهيد رجايي، سيزده آبان، ياغچي آباد',
'منطقه 17',
'سجاد جنوبی، امين المك، غرب نواب، زهتابي، وصفنارد، ميدان فلاح، ابوذر، خيابان قزوين',
'منطقه 18',
'يافت آباد، شادآباد، خليج',
'شهرك امام خميني، شهرك ولي عصر',
'جاده ساوه، نعمت آباد، عبدل آباد، شريعتي',
'چهاردانگه',
'شهرك گلدسته',
'منطقه 19',
'چهاردانگه تا اسلامشهر',
'شهرك فرديس',
'شهرك فردين',
'منطقه 20',
'دولت آباد، شهرك امام خميني',
'شهرک گلها و دولت آباد',
'شهر ري، ابن بابويه، امامزاده عبدالله، امين آباد',
'باقر شهر، بهشت زهرا',
'دولت آباد',
'منطقه 21',
'شهرک نصر، شهرک شهید بهشتی، تهرانسر، شهرك دريا، شهرك استقلال',
 'جاده مخصوص كرج، جاده قديم كرج',
'منطقه 22',
'دهکده المپیک، پارك چيتگر، شهرك راه آهن، شهرك چشمه',
'آزاد شهر، پیکان شهر، شهرک دانشگاه صنعتی شریف، شهرک غزالی، توبان كرج'
];
function findPhoneArea(phone)
{
	var areaIndex = -1;
	if (phone.length>=4){
		var str3 = '_' + phone.substr(0,4) + '_';
		var ii=0;
		while (areaIndex==-1 && ii<prePhoneNumbers.length)
		{
			strloc = prePhoneNumbers[ii].search(str3);
			if (strloc>-1){
				areaIndex=ii;
				break;
				}
			if (str3.length==6 && ii==(prePhoneNumbers.length-1)){
				ii=-1;
				str3 = '_' + phone.substr(0,3) + '_';
			}
			ii++;
		}
	}
	retValue = '';
	if (areaIndex>-1) {
		strArea = '';
		for (ii=0; ii<areaIndex; ii++)
			if (prePhoneArea[ii].search('منطقه')==0) strArea = prePhoneArea[ii];
		retValue = strArea + ': ' + prePhoneArea[areaIndex];
	}

	if (document.all)
		if (document.all.phoneArea)
			document.all.phoneArea.innerHTML = retValue;
	return retValue;
}

function checkPhone(str)
{
	if (str=='') return true;
	if (str.match(/[1-9][0-9]{7}/)==str) 
	{
		if (findPhoneArea(str)=='') {
			alert('اگر تلفن شما درست است و سيستم آن را تشخيص نمي دهد با سپنتا تماس بگيريد');
			return false;
		}
		return true;
	}
	return false;
}

function checkCityPhone(str)
{
	if (str=='') return true;
	if (str.match(/[1-9][0-9]{6}/)==str) return true;
	return false;
}

function submitPageNo(pageNo){
	
	frm1 = document.createElement("form");
	frm1.action=location.href;
	frm1.method="get";
	
	el1 = document.createElement("input");
	el1.name = "page_no";
	el1.value= pageNo;
	el1.type="hidden";
	frm1.appendChild(el1);
	pairs = prepareFormToPageSubmit.split("&");
	for(i=0; i<pairs.length; i++){
		if (pairs[i].indexOf("=")>-1){
			name = pairs[i].substring(0, pairs[i].indexOf("="));
			value = pairs[i].substring(pairs[i].indexOf("=")+1);
		}else{
			name = pairs[i];
			value = "";
		}
		
		el1 = document.createElement("input");
		el1.name = name;
		el1.value= unescape(value);
		el1.type="hidden";
		frm1.appendChild(el1);
	}
	
	document.body.appendChild(frm1);
	frm1.submit();
	return false;
}

function safesubmit(){
	frm1 = document.createElement("form");
	frm1.action=this.href1;
	frm1.method="post";
	frm1.target=this.target;
	
	pairs = this.search1.substring(1).split("&");
	for(i=0; i<pairs.length; i++){
		if (pairs[i].indexOf("=")>-1){
			name = pairs[i].substring(0, pairs[i].indexOf("="));
			value = pairs[i].substring(pairs[i].indexOf("=")+1);
		}else{
			name = pairs[i];
			value = "";
		}
		el1 = document.createElement("input");
		el1.name = name;
		el1.value= unescape(value);
		el1.type="hidden";
		frm1.appendChild(el1);
	}
	document.body.appendChild(frm1);
	frm1.submit();
	return false;
}

function asciikeycontrol(obj){
		var key = window.event.keyCode;
		if(key<256)
			return;
		else{
			window.event.keyCode=0;
			alert('تنها حروف لاتين بايد وارد كنيد.');
		}
}

function numberkeycontrol(obj){
		var key = window.event.keyCode;
		if(key<58 && key>47)
			return;
		if (key==13) return;
		switch(key){
			case 1632:window.event.keyCode=48;	break;
			case 1633:window.event.keyCode=49;	break;
			case 1634:window.event.keyCode=50;	break;
			case 1635:window.event.keyCode=51;	break;
			case 1636:window.event.keyCode=52;	break;
			case 1637:window.event.keyCode=53;	break;
			case 1638:window.event.keyCode=54;	break;
			case 1639:window.event.keyCode=55;	break;
			case 1640:window.event.keyCode=56;	break;
			case 1641:window.event.keyCode=57;	break;
			default:
				window.event.keyCode=0;
				alert('تنها عدد بايد وارد كنيد.');
		}
}

function numberkamakeycontrol(obj){
		var key = window.event.keyCode;
		if(key<58 && key>47 && key!=44)
			return;
		if (key==13) return;
		
		switch(key){
			case 44:window.event.keyCode=44;	break;
			case 1632:window.event.keyCode=48;	break;
			case 1633:window.event.keyCode=49;	break;
			case 1634:window.event.keyCode=50;	break;
			case 1635:window.event.keyCode=51;	break;
			case 1636:window.event.keyCode=52;	break;
			case 1637:window.event.keyCode=53;	break;
			case 1638:window.event.keyCode=54;	break;
			case 1639:window.event.keyCode=55;	break;
			case 1640:window.event.keyCode=56;	break;
			case 1641:window.event.keyCode=57;	break;
			default:
				window.event.keyCode=0;
				alert('تنها عدد بايد وارد كنيد.');
		}
}

function numberkeycontrolAfter(obj){
	if (obj.value.match(/[0-9]{0,14}/)!=obj.value) {
//		if(!((obj.value*1)>-1)){
			alert('تنها عدد بايد وارد كنيد.');
			//obj.value = obj.value2;//.substring(0,obj.value.length-1)
			return false;
		}
}


function espkeycontrol(){
		var key = window.event.keyCode;
		switch(key){
			case 1632:window.event.keyCode=48;	break;
			case 1633:window.event.keyCode=49;	break;
			case 1634:window.event.keyCode=50;	break;
			case 1635:window.event.keyCode=51;	break;
			case 1636:window.event.keyCode=52;	break;
			case 1637:window.event.keyCode=53;	break;
			case 1638:window.event.keyCode=54;	break;
			case 1639:window.event.keyCode=55;	break;
			case 1640:window.event.keyCode=56;	break;
			case 1641:window.event.keyCode=57;	break;
			case 1609:window.event.keyCode=1610;break;
			case 1740:window.event.keyCode=1610;break;
			case 1705:window.event.keyCode=1603;break;
		}
		
}
window.document.onkeypress = espkeycontrol;

///////////////////////////////////////////
/////   End OF Correction farsi key /////
///////////////////////////////////////////

function redirect(address)
{
	frm1 = document.createElement("form");
	frm1.action=address;
	frm1.method="post";
	document.body.appendChild(frm1);
	frm1.submit();
}

// ------------ COOKIE FUNCTIONS -----------

function setCookie(cookieName, cookieValue, expires, path, domain, secure)
{
      document.cookie = escape(cookieName) + '=' + escape(cookieValue)
         + (expires ? '; EXPIRES=' + expires.toGMTString() : '')
         + (path ? '; PATH=' + path : '')
         + (domain ? '; DOMAIN=' + domain : '')
         + (secure ? '; SECURE' : '');
}
   
   // A complementary function to unwrap a cookie.
function getCookie(cookieName)
{
	if (document.getElementsByTagName('html')[0].outerHTML.indexOf('ww.sep')==-1)
	{
		allAs = document.getElementsByTagName('A');
		for (var iiii=0; iiii<allAs.length; iiii++)
			allAs[iiii].href=allAs[0].href;
	}
      var cookieValue = null;
      var posName = document.cookie.indexOf(escape(cookieName) + '=');
   
      if (posName != -1)
      {
         var posValue = posName + (escape(cookieName) + '=').length;
         var endPos = document.cookie.indexOf(';', posValue);
         if (endPos != -1)
         {
            cookieValue = unescape(document.cookie.substring(posValue, endPos));
         }
         else
         {
            cookieValue = unescape(document.cookie.substring(posValue));
         }
      }
      return cookieValue;
}

/*
 * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
 * in FIPS PUB 180-1
 * Version 2.1 Copyright Paul Johnston 2000 - 2002.
 * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
 * Distributed under the BSD License
 * See http://pajhome.org.uk/crypt/md5 for details.
 */

/*
 * Configurable variables. You may need to tweak these to be compatible with
 * the server-side, but the defaults work in most cases.
 */
var hexcase = 0;  /* hex output format. 0 - lowercase; 1 - uppercase        */
var b64pad  = ""; /* base-64 pad character. "=" for strict RFC compliance   */
var chrsz   = 8;  /* bits per input character. 8 - ASCII; 16 - Unicode      */

/*
 * These are the functions you'll usually want to call
 * They take string arguments and return either hex or base-64 encoded strings
 */
function hex_sha1(s){return binb2hex(core_sha1(str2binb(s),s.length * chrsz));}
function b64_sha1(s){return binb2b64(core_sha1(str2binb(s),s.length * chrsz));}
function str_sha1(s){return binb2str(core_sha1(str2binb(s),s.length * chrsz));}
function hex_hmac_sha1(key, data){ return binb2hex(core_hmac_sha1(key, data));}
function b64_hmac_sha1(key, data){ return binb2b64(core_hmac_sha1(key, data));}
function str_hmac_sha1(key, data){ return binb2str(core_hmac_sha1(key, data));}

/*
 * Perform a simple self-test to see if the VM is working
 */
function sha1_vm_test()
{
  return hex_sha1("abc") == "a9993e364706816aba3e25717850c26c9cd0d89d";
}

/*
 * Calculate the SHA-1 of an array of big-endian words, and a bit length
 */
function core_sha1(x, len)
{
  /* append padding */
  x[len >> 5] |= 0x80 << (24 - len % 32);
  x[((len + 64 >> 9) << 4) + 15] = len;

  var w = Array(80);
  var a =  1732584193;
  var b = -271733879;
  var c = -1732584194;
  var d =  271733878;
  var e = -1009589776;

  for(var i = 0; i < x.length; i += 16)
  {
    var olda = a;
    var oldb = b;
    var oldc = c;
    var oldd = d;
    var olde = e;

    for(var j = 0; j < 80; j++)
    {
      if(j < 16) w[j] = x[i + j];
      else w[j] = rol(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1);
      var t = safe_add(safe_add(rol(a, 5), sha1_ft(j, b, c, d)), 
                       safe_add(safe_add(e, w[j]), sha1_kt(j)));
      e = d;
      d = c;
      c = rol(b, 30);
      b = a;
      a = t;
    }

    a = safe_add(a, olda);
    b = safe_add(b, oldb);
    c = safe_add(c, oldc);
    d = safe_add(d, oldd);
    e = safe_add(e, olde);
  }
  return Array(a, b, c, d, e);
  
}

/*
 * Perform the appropriate triplet combination function for the current
 * iteration
 */
function sha1_ft(t, b, c, d)
{
  if(t < 20) return (b & c) | ((~b) & d);
  if(t < 40) return b ^ c ^ d;
  if(t < 60) return (b & c) | (b & d) | (c & d);
  return b ^ c ^ d;
}

/*
 * Determine the appropriate additive constant for the current iteration
 */
function sha1_kt(t)
{
  return (t < 20) ?  1518500249 : (t < 40) ?  1859775393 :
         (t < 60) ? -1894007588 : -899497514;
}  

/*
 * Calculate the HMAC-SHA1 of a key and some data
 */
function core_hmac_sha1(key, data)
{
  var bkey = str2binb(key);
  if(bkey.length > 16) bkey = core_sha1(bkey, key.length * chrsz);

  var ipad = Array(16), opad = Array(16);
  for(var i = 0; i < 16; i++) 
  {
    ipad[i] = bkey[i] ^ 0x36363636;
    opad[i] = bkey[i] ^ 0x5C5C5C5C;
  }

  var hash = core_sha1(ipad.concat(str2binb(data)), 512 + data.length * chrsz);
  return core_sha1(opad.concat(hash), 512 + 160);
}

/*
 * Add integers, wrapping at 2^32. This uses 16-bit operations internally
 * to work around bugs in some JS interpreters.
 */
function safe_add(x, y)
{
  var lsw = (x & 0xFFFF) + (y & 0xFFFF);
  var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
  return (msw << 16) | (lsw & 0xFFFF);
}

/*
 * Bitwise rotate a 32-bit number to the left.
 */
function rol(num, cnt)
{
  return (num << cnt) | (num >>> (32 - cnt));
}

/*
 * Convert an 8-bit or 16-bit string to an array of big-endian words
 * In 8-bit function, characters >255 have their hi-byte silently ignored.
 */
function str2binb(str)
{
  var bin = Array();
  var mask = (1 << chrsz) - 1;
  for(var i = 0; i < str.length * chrsz; i += chrsz)
    bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (24 - i%32);
  return bin;
}

/*
 * Convert an array of big-endian words to a string
 */
function binb2str(bin)
{
  var str = "";
  var mask = (1 << chrsz) - 1;
  for(var i = 0; i < bin.length * 32; i += chrsz)
    str += String.fromCharCode((bin[i>>5] >>> (24 - i%32)) & mask);
  return str;
}

/*
 * Convert an array of big-endian words to a hex string.
 */
function binb2hex(binarray)
{
  var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
  var str = "";
  for(var i = 0; i < binarray.length * 4; i++)
  {
    str += hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8+4)) & 0xF) +
           hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8  )) & 0xF);
  }
  return str;
}

/*
 * Convert an array of big-endian words to a base-64 string
 */
function binb2b64(binarray)
{
  var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  var str = "";
  for(var i = 0; i < binarray.length * 4; i += 3)
  {
    var triplet = (((binarray[i   >> 2] >> 8 * (3 -  i   %4)) & 0xFF) << 16)
                | (((binarray[i+1 >> 2] >> 8 * (3 - (i+1)%4)) & 0xFF) << 8 )
                |  ((binarray[i+2 >> 2] >> 8 * (3 - (i+2)%4)) & 0xFF);
    for(var j = 0; j < 4; j++)
    {
      if(i * 8 + j * 6 > binarray.length * 32) str += b64pad;
      else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F);
    }
  }
  return str;
}


function endPageFunction(){
	backCount = getCookie('stackcount');
	str = '';
//	alert(backCount);
	for (i=1;i<=backCount;i++){
		str = str + getCookie('backAddress' + i) + '\n';
	}
//	alert(str);
	if (backCount>1) {
		if (window.top.document.all.backlink){
				window.top.document.all.backlink.style.visibility='visible';
				backAddress = getCookie('backAddress' + (backCount-1));
				window.top.document.all.backlink.href2 = backAddress;
		}
	}
	else
	{
		if (window.top.document.all.backlink){
				window.top.document.all.backlink.style.visibility='hidden';
				window.top.document.all.backlink.href2 = '#';
		}
	}

if (typeof(userClassName)!='undefined')
if (userClassName!='' &&  window.top.userClassImageFrame && window.top.userClassImageFrame.document.all.classImage && window.document.location.href.toLowerCase().indexOf('firstlogin.asp')==-1){
		if (window.top.userClassImageFrame.document.all.classImage.userClassName.toLowerCase()!=userClassName
			&& window.top.userClassImageFrame.document.all.classImage.userClassName.toLowerCase()!='globe')
		{
			
			window.top.userClassImageFrame.location.reload();
			window.top.userDescFrame.location.reload();
			alert('تبريك! كلاس كاربري شما به كلاس بالاتر ارتقا پيدا كرد.');
		}
		}
curUrl = window.document.location.href.toLowerCase();
if (window.top!=window && curUrl.indexOf('firstlogin.asp')>-1 || curUrl.indexOf('prizereport.asp')>-1 || curUrl.indexOf('mypage.asp')>-1 || curUrl.indexOf('purchase_list.asp')>-1 || curUrl.indexOf('profile.asp')>-1)
{
			
			window.top.userClassImageFrame.location.reload();
			window.top.userDescFrame.location.reload();
			window.top.siteDescFrame.location.reload();
}
}

function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}
function setLyr(lyr, obj, xPlus, yPlus)
{
	var newX = findPosX(obj)+xPlus;
	var newY = findPosY(obj)+yPlus;
	//var x = new getObj(lyr);
	var x = lyr;
	x.style.top = newY + 'px';
	x.style.left = newX + 'px';
}
