String.prototype.trim = function(){ return this.replace(/^\s+|\s+$/g, ''); };

var Phones;
var PPackages;
var DoFade;
var FixPackageId;
var Info;
var InfoCnt;
var Lang;
var StrDa, StrNe, StrStrana, StrOd;
var Ugovor;

function Init(packageId, lang) {
	FixPackageId = packageId;
	Lang = lang;
	
	StrDa     = Lang == 'EN' ? 'YES'   : 'DA';
	StrNe     = Lang == 'EN' ? 'NO'    : 'NE';

	Phones    = InitPhones();
	PPackages = InitPackages();
	InitCombinations(Phones, PPackages);
	
	for (i=0; i<Phones.length; i++) {
		Phones[i].visible = true;
		Phones[i].opacity = 100;
		Phones[i].targetOpacity = 100;
		Phones[i].a    = document.getElementById('a_phone_id_'   + Phones[i].phone_id);
		Phones[i].a2   = document.getElementById('a_phone_id_a_'   + Phones[i].phone_id);
		Phones[i].img  = document.getElementById('td_phone_id_c_' + Phones[i].phone_id);
		Phones[i].img2 = document.getElementById('td_phone_id_a_' + Phones[i].phone_id);
		Phones[i].img3 = document.getElementById('td_phone_id_b_' + Phones[i].phone_id);
		Phones[i].imgo = document.getElementById('img_phone_id_' + Phones[i].phone_id);

		if (Phones[i].a != null)
  			Phones[i].href = Phones[i].a.href;
	}

	DoFade = false;
	setInterval("Fader()", 20);	

	Ugovor = -1;
	
	Filter();
}

function InitLang(lang) {
	Lang = lang;	
}

function Fader() {
	Info = document.getElementById('info');
	if (InfoCnt > 0) {
		if (--InfoCnt == 0) {
			Info.style.display = '';
			if (navigator.appVersion.indexOf("MSIE") < 0) {
				Info.style.MozOpacity   = 90 / 100.0;
				Info.style.KhtmlOpacity = 90 / 100.0;
				Info.style.opacity      = 90 / 100.0;
			} else
				Info.style.filter = "alpha(opacity=" + 90 + ")";
		}
	}
	
	if (!DoFade) return;
	
	DoFade = false;
	for (i=0; i<Phones.length; i++) {
		if (Phones[i].opacity != Phones[i].targetOpacity) {
			if (Phones[i].opacity < Phones[i].targetOpacity) {
				Phones[i].opacity += 5;
				if (Phones[i].opacity > Phones[i].targetOpacity) Phones[i].opacity = Phones[i].targetOpacity;
			} else {
				Phones[i].opacity -= 5;
				if (Phones[i].opacity < Phones[i].targetOpacity) Phones[i].opacity = Phones[i].targetOpacity;
			}
			if (Phones[i].opacity != Phones[i].targetOpacity) DoFade = true;
			if (navigator.appVersion.indexOf("MSIE") < 0) {
				if (Phones[i].img) {
					Phones[i].img.style.MozOpacity   = Phones[i].opacity / 100.0;
					Phones[i].img.style.KhtmlOpacity = Phones[i].opacity / 100.0;
					Phones[i].img.style.opacity      = Phones[i].opacity / 100.0;
				}
				if (Phones[i].img2) {
					Phones[i].img2.style.MozOpacity   = Phones[i].opacity / 100.0;
					Phones[i].img2.style.KhtmlOpacity = Phones[i].opacity / 100.0;
					Phones[i].img2.style.opacity      = Phones[i].opacity / 100.0;
					Phones[i].img3.style.MozOpacity   = Phones[i].opacity / 100.0;
					Phones[i].img3.style.KhtmlOpacity = Phones[i].opacity / 100.0;
					Phones[i].img3.style.opacity      = Phones[i].opacity / 100.0;
				}
			}
			else {			
				if (Phones[i].img) {
					Phones[i].img.style.filter = "alpha(opacity=" + Phones[i].opacity + ")";
				}
				if (Phones[i].img2) {
					Phones[i].img2.style.filter = "alpha(opacity=" + Phones[i].opacity + ")";
					Phones[i].img3.style.filter = "alpha(opacity=" + Phones[i].opacity + ")";
				}
			}
		}
	}
}

function GetValue(id) {
	if ((e = document.getElementById(id)))
		return e.value;
	else
		return '';
}

function SetValue(id, value) {
	if ((e = document.getElementById(id)))
		e.value = value;
}

function GetValueMSISDN(id) {
	var s = GetValue(id);
	var r = ''
	for (i=0; i<s.length; i++) {
		var c = s.charAt(i);
		if (c >= '0' && c <= '9') 
			r = r + c;
	}
	SetValue(id, r);
	if (r.length < 9 || r.length > 10) return false;
	
	if (r.charAt(0) != '0' || r.charAt(1) != '6') return false;
	
	if (r.charAt(2) != '0' && r.charAt(2) != '1' &&
		r.charAt(2) != '2' && r.charAt(2) != '3' && 
		r.charAt(2) != '4' && r.charAt(2) != '5' && 
		r.charAt(2) != '6' && r.charAt(2) != '9') return false;
	return true;
}

function GetX(obj) {
    var curleft = 0;
    if (obj.offsetParent) {
        while (1) {
            curleft += obj.offsetLeft;
            if (!obj.offsetParent) break;
            obj = obj.offsetParent;
        }
    } else if (obj.x) {
        curleft += obj.x;
    }
    return curleft;
}
function GetY(obj) {
    var curtop = 0;
    if (obj.offsetParent) {
        while (1) {
            curtop += obj.offsetTop;
            if (!obj.offsetParent) break;
            obj = obj.offsetParent;
        }
    } else if (obj.y) {
        curtop += obj.y;
    }
    return curtop;
}

function PhoneOver(id) {
	if (!(phone = FindPhone(Phones, id))) return;	
	if (!phone.visible) return;
	
	var s = new String(id);
	while (s.length < 3) s = "0" + s;
	phone.img.src = "/media/eshop/phones/phone_" + s + "_7.jpg";
	
	document.getElementById('val_gprs').innerHTML       = phone.gprs ? StrDa : StrNe;
	document.getElementById('val_edge').innerHTML       = phone.edge ? StrDa : StrNe;
	document.getElementById('val_umts').innerHTML       = phone.umts ? StrDa : StrNe;
	document.getElementById('val_mms').innerHTML        = phone.mms  ? StrDa : StrNe;
	document.getElementById('val_kamera').innerHTML     = phone.kamera > 0 ? phone.kamera + ' Mp' : StrNe;
	document.getElementById('val_radio').innerHTML      = phone.radio ? StrDa : StrNe;
	document.getElementById('val_mp3').innerHTML        = phone.mp3  ? StrDa : StrNe;
	document.getElementById('val_video').innerHTML      = phone.video ? StrDa : StrNe;
	document.getElementById('val_ir').innerHTML         = phone.ir   ? StrDa : StrNe;
	document.getElementById('val_bt').innerHTML         = phone.bt   ? StrDa : StrNe;
	document.getElementById('val_wlan').innerHTML       = phone.wlan ? StrDa : StrNe;
	document.getElementById('val_email').innerHTML      = phone.email? StrDa : StrNe;
	document.getElementById('val_usb').innerHTML        = phone.usb ? StrDa : StrNe;
	
	x = GetX(phone.img) - 80;
	y = GetY(phone.img) - 190;
	if (document.all) {
		document.all['info'].style.posLeft = x;
		document.all['info'].style.posTop  = y;
	} else {
		Info = document.getElementById('info');
		Info.style.left = x + 'px';
		Info.style.top  = y + 'px';
	}
	InfoCnt = 30;
}

function PhoneOut(id) {
	if (!(phone = FindPhone(Phones, id))) return;	
	if (!phone.visible) return;
	
	var s = new String(id);
	while (s.length < 3) s = "0" + s;
	phone.img.src = "/media/eshop/phones/phone_" + s + "_7.jpg";
	
	document.getElementById('val_gprs').innerHTML       = "";
	document.getElementById('val_edge').innerHTML       = "";
	document.getElementById('val_umts').innerHTML       = "";
	document.getElementById('val_mms').innerHTML        = "";
	document.getElementById('val_kamera').innerHTML     = "";
	document.getElementById('val_radio').innerHTML      = "";
	document.getElementById('val_mp3').innerHTML        = "";
	document.getElementById('val_video').innerHTML      = "";
	document.getElementById('val_ir').innerHTML         = "";
	document.getElementById('val_bt').innerHTML         = "";
	document.getElementById('val_wlan').innerHTML       = "";
	document.getElementById('val_email').innerHTML      = "";
	document.getElementById('val_usb').innerHTML        = "";
	
	Info = document.getElementById('info');
	Info.style.display = "none";
	InfoCnt = 0;
}

function ModemOver(id) {
	var s = new String(id);
	while (s.length < 3) s = "0" + s;
	document.getElementById('img_phone_id_' + id).src = "/media/eshop/phones/phone_" + s + "_3.jpg";
}

function ModemOut(id) {
	var s = new String(id);
	while (s.length < 3) s = "0" + s;
	document.getElementById('img_phone_id_' + id).src = "/media/eshop/phones/phone_" + s + "_2.jpg";
}

function CenaChanged(ugovor, otherId) {
	var cena_od;
	var cena_do;
	if (ugovor == -1) {
		cena_od = document.getElementById('cena_any_od').value;
		cena_do = document.getElementById('cena_any_do').value;
	} else if (ugovor == 0) {
		cena_od = document.getElementById('cena_od').value;
		cena_do = document.getElementById('cena_do').value;
	} else if (ugovor == 6) {
		cena_od = document.getElementById('cena_ugovor06_od').value;
		cena_do = document.getElementById('cena_ugovor06_do').value;	
	} else if (ugovor == 12) {
		cena_od = document.getElementById('cena_ugovor12_od').value;
		cena_do = document.getElementById('cena_ugovor12_do').value;	
	} else {
		cena_od = document.getElementById('cena_ugovor24_od').value;
		cena_do = document.getElementById('cena_ugovor24_do').value;	
	}
	if (cena_od != "-" && cena_do != "-" && (parseInt(cena_od) > parseInt(cena_do))) {
		document.getElementById(otherId).value = "-";
	}
	Filter();
}

function UgovorChanged(ugovor) {
	Ugovor = Ugovor == ugovor ? -1 : ugovor;
	document.getElementById('cena_od').value = '-';
	document.getElementById('cena_do').value = '-';
	document.getElementById('cena_any_od').value = '-';
	document.getElementById('cena_any_do').value = '-';
	document.getElementById('cena_ugovor06_od').value = '-';
	document.getElementById('cena_ugovor06_do').value = '-';
	document.getElementById('cena_ugovor12_od').value = '-';
	document.getElementById('cena_ugovor12_do').value = '-';
	document.getElementById('cena_ugovor24_od').value = '-';
	document.getElementById('cena_ugovor24_do').value = '-';
	if (Ugovor == -1) {
		document.getElementById('ugovor').checked = '';
		document.getElementById('ugovor06').checked = '';
		document.getElementById('ugovor12').checked = '';
		document.getElementById('ugovor24').checked = '';
		document.getElementById('cena_any_list').style.display = "";
		document.getElementById('cena_ugovor06_list').style.display = "none";
		document.getElementById('cena_ugovor12_list').style.display = "none";
		document.getElementById('cena_ugovor24_list').style.display = "none";
		document.getElementById('cena_list').style.display = "none";
	} else if (Ugovor == 0) {
		document.getElementById('ugovor06').checked = '';
		document.getElementById('ugovor12').checked = '';
		document.getElementById('ugovor24').checked = '';
		document.getElementById('cena_any_list').style.display = "none";
		document.getElementById('cena_ugovor06_list').style.display = "none";
		document.getElementById('cena_ugovor12_list').style.display = "none";
		document.getElementById('cena_ugovor24_list').style.display = "none";
		document.getElementById('cena_list').style.display = "";
	} else if (Ugovor == 6) {
		document.getElementById('ugovor').checked = '';
		document.getElementById('ugovor12').checked = '';
		document.getElementById('ugovor24').checked = '';
		document.getElementById('cena_any_list').style.display = "none";
		document.getElementById('cena_ugovor06_list').style.display = "";
		document.getElementById('cena_ugovor12_list').style.display = "none";
		document.getElementById('cena_ugovor24_list').style.display = "none";
		document.getElementById('cena_list').style.display = "none";
	} else if (Ugovor == 12) {
		document.getElementById('ugovor').checked = '';
		document.getElementById('ugovor06').checked = '';
		document.getElementById('ugovor24').checked = '';
		document.getElementById('cena_any_list').style.display = "none";
		document.getElementById('cena_ugovor06_list').style.display = "none";
		document.getElementById('cena_ugovor12_list').style.display = "";
		document.getElementById('cena_ugovor24_list').style.display = "none";
		document.getElementById('cena_list').style.display = "none";
	} else {
		document.getElementById('ugovor').checked = '';
		document.getElementById('ugovor06').checked = '';
		document.getElementById('ugovor12').checked = '';
		document.getElementById('cena_any_list').style.display = "none";
		document.getElementById('cena_ugovor06_list').style.display = "none";
		document.getElementById('cena_ugovor12_list').style.display = "none";
		document.getElementById('cena_ugovor24_list').style.display = "";
		document.getElementById('cena_list').style.display = "none";
	}
	Filter();
}

function Filter() {
	var tpackage    = FixPackageId > 0 ? FixPackageId : document.getElementById('tpackage').value;
	var kamera_od   = document.getElementById('kamera_od').value;
	var proizvodjac = document.getElementById('proizvodjac').value;
	var vrsta       = document.getElementById('vrsta').value;
	var gprs        = document.getElementById('gprs').checked;
	var edge        = document.getElementById('edge').checked;
	var umts        = document.getElementById('umts').checked;
	var mms         = document.getElementById('mms').checked;
	var radio       = document.getElementById('radio').checked;
	var mp3         = document.getElementById('mp3').checked;
	var video       = document.getElementById('video').checked;
	var ir          = document.getElementById('ir').checked;
	var bt          = document.getElementById('bt').checked;
	var wlan        = document.getElementById('wlan').checked;
	var email       = document.getElementById('email').checked;
	var usb         = document.getElementById('usb').checked;

	var ugovor      = document.getElementById('ugovor').checked;
	var ugovor06    = document.getElementById('ugovor06').checked;
	var ugovor12    = document.getElementById('ugovor12').checked;
	var ugovor24    = document.getElementById('ugovor24').checked;
	var infix       = (ugovor ? '' : (ugovor06 ? '_ugovor06' : ( ugovor12 ? '_ugovor12' : (ugovor24 ? '_ugovor24' : '_any'))));
	var cena_od 	= document.getElementById('cena' + infix + '_od').value;
	var cena_do 	= document.getElementById('cena' + infix + '_do').value;
	
	if (cena_od != "-" && cena_do != "-" && (parseInt(cena_od) > parseInt(cena_do))) {
		document.getElementById('cena' + infix + '_od').value = cena_do;
		document.getElementById('cena' + infix + '_do').value = cena_od;
		cena_od = document.getElementById('cena' + infix + '_od').value;
		cena_do = document.getElementById('cena' + infix + '_do').value;
	}
	
	for (i=0; i<Phones.length; i++) {
		ok = true;
		if (ok && Ugovor == 0  && !Phones[i].hasNo) ok = false;
		if (ok && Ugovor == 12 && !Phones[i].has12) ok = false;
		if (ok && Ugovor == 24 && !Phones[i].has24) ok = false;
		if (ok && cena_od  != "-") {
			ok = false;
			for (j=0; j<Phones[i].packages.length && !ok; j++) {
				if (!ok && (Ugovor ==  6 || Ugovor == -1)) 
					ok = (Phones[i].packages[j].cena_ugovor06 >= cena_od) && (Phones[i].packages[j].cena_ugovor06 > 0);
				if (!ok && (Ugovor == 12 || Ugovor == -1)) 
					ok = (Phones[i].packages[j].cena_ugovor12 >= cena_od) && (Phones[i].packages[j].cena_ugovor12 > 0);
				if (!ok && (Ugovor == 24 || Ugovor == -1)) 
					ok = (Phones[i].packages[j].cena_ugovor24 >= cena_od) && (Phones[i].packages[j].cena_ugovor24 > 0);
				if (!ok && (Ugovor ==  0 || Ugovor == -1))
					ok = (Phones[i].packages[j].cena >= cena_od) && (Phones[i].packages[j].cena > 0);
			}
		}
		if (ok && cena_do  != "-") {
			ok = false;
			for (j=0; j<Phones[i].packages.length && !ok; j++) {
				if (!ok && (Ugovor ==  6 || Ugovor == -1)) 
					ok = (Phones[i].packages[j].cena_ugovor06 <= cena_do) && (Phones[i].packages[j].cena_ugovor06 > 0);
				if (!ok && (Ugovor == 12 || Ugovor == -1)) 
					ok = (Phones[i].packages[j].cena_ugovor12 <= cena_do) && (Phones[i].packages[j].cena_ugovor12 > 0);
				if (!ok && (Ugovor == 24 || Ugovor == -1)) 
					ok = (Phones[i].packages[j].cena_ugovor24 <= cena_do) && (Phones[i].packages[j].cena_ugovor24 > 0);
				if (!ok && (Ugovor ==  0 || Ugovor == -1))
					ok = (Phones[i].packages[j].cena <= cena_do) && (Phones[i].packages[j].cena > 0);
			}
		}
		if (ok && kamera_od  != "-") {
			ok = Phones[i].kamera >= kamera_od;
		}
		if (ok && tpackage != "-") {
			ok = false;
			for (j=0; j<Phones[i].packages.length && !ok; j++)
				ok = Phones[i].packages[j].pkg.package_id == tpackage;
		}
		if (
			(ok) &&
			(proizvodjac == "-" || Phones[i].proizvodjac == proizvodjac) &&
			(vrsta == "-" || Phones[i].tip.indexOf(vrsta) > 0) &&
			(!gprs   || Phones[i].gprs) &&
			(!edge   || Phones[i].edge) &&
			(!umts   || Phones[i].umts) &&
			(!mms    || Phones[i].mms) &&
			(!radio  || Phones[i].radio) &&
			(!mp3    || Phones[i].mp3) &&
			(!video  || Phones[i].video) &&
			(!ir     || Phones[i].ir) &&
			(!bt     || Phones[i].bt) &&
			(!wlan   || Phones[i].wlan) &&
			(!email  || Phones[i].email) &&
			(!usb    || Phones[i].usb)
		) {
			Phones[i].visible = true;
			Phones[i].targetOpacity = 100;
		} else {
			Phones[i].visible = false;
			Phones[i].targetOpacity = 20;
		}
  		if (!Phones[i].visible) {
  			if (Phones[i].a  != null) Phones[i].a.removeAttribute('href');
			if (Phones[i].a2 != null) Phones[i].a2.removeAttribute('href');
  		} else {
  			if (Phones[i].a  != null) Phones[i].a.href = Phones[i].href;
  			if (Phones[i].a2 != null) Phones[i].a2.href = Phones[i].href;  			
  		}
  		if (Phones[i].targetOpacity != Phones[i].opacity) DoFade = true;
	}
}

var Numbers;
var NumbersAll;
var NumbersSelected;
var NumbersPage;
var NumberSelected;
var NumberYesURL;

function InitNumbers(l, lang) {
	Lang = lang;
	StrStrana = Lang == 'EN' ? 'Page'  : 'Strana';
	StrOd     = Lang == 'EN' ? 'of'    : 'od';
	
	NumbersAll = l;
	NumbersYesURL = document.getElementById('yes').href;
	Numbers = NumbersAll[0];
}

function PrettyNumber(s) {
	return '0' + s.substring(0, 2) + '/' + s.substring(2, 5) + '-' + s.substring(5);
}

function FilterNumber(s) {
	r = '';
	for (i=0; i<s.length; i++)
		if (s.charAt(i) >= '0' && s.charAt(i) <= '9')
			r = r + s.charAt(i);
	return r;
}

function ChooseNumber(l) {
	if (l.length == 0) {
		document.getElementById('number').style.display = '';
		document.getElementById('num').innerHTML = 
			Lang == "EN" ? 
				'No numbers matching your entry' :
				'Nije prona&#273;en adekvatan broj';		
		document.getElementById('yes').style.display = 'none';
		document.getElementById('all').style.display = 'none';
		document.getElementById('show_all').style.display = '';	
		document.getElementById('show_more').style.display = 'none';
		l = Numbers;
		n = '';		
	} else {
		n = l[Math.floor(Math.random() * l.length)];
		s = PrettyNumber(n);
		document.getElementById('number').style.display = '';
		document.getElementById('num').innerHTML = s;
		document.getElementById('yes').href = NumbersYesURL + '&number_id=' + n;
		document.getElementById('yes').style.display = '';
		document.getElementById('all').style.display = 'none';
		document.getElementById('show_more').style.display = l.length > 1 ? '' : 'none';	
		document.getElementById('show_all').style.display = 'none';	
	}
	
	NumberSelected  = n;	
	NumbersSelected = l;
	NumbersPage     = 0;

	document.getElementById('number_offer').style.display = '';	
}

function SetNumber(n) {
	s = PrettyNumber(n);
	document.getElementById('number').style.display = '';
	document.getElementById('num').innerHTML = s;
	document.getElementById('yes').href = NumbersYesURL + '&number_id=' + n;
	document.getElementById('yes').style.display = '';
	document.getElementById('all').style.display = 'none';
	document.getElementById('show_more').style.display = l.length > 1 ? '' : 'none';	
	document.getElementById('show_all').style.display = 'none';	

	NumberSelected  = n;	
	NumbersPage     = 0;

	document.getElementById('number_offer').style.display = '';	
}

function NextPageNumbers() {
	if (NumbersPage * 50 >= l.length) return;
	NumbersPage++;
	ShowMoreNumbers();
}

function PrevPageNumbers() {
	if (NumbersPage == 0)  return;
	NumbersPage--;
	ShowMoreNumbers();
}

function ShowMoreNumbers() {
	s = '<table width="100%" cellspacing="3" cellpadding="3">';
	
	l = NumbersSelected;
	
	s = s + '<tr>';
	if (NumbersPage > 0) 
		s = s + '<td colspan="1" align="left" style="padding-left:10px"><a href="javascript:PrevPageNumbers()"><img src="/images/eshop/dgm_previous.gif" border="0" alt="" /></a></td>';
	else
		s = s + '<td colspan="1" align="left">&nbsp;</td>';
	s = s + '<td align="center" colspan="3">' + StrStrana + ' ' + (NumbersPage+1) + ' ' + StrOd + ' ' + (Math.ceil(l.length / 50)) + '</td>';
	if ((NumbersPage+1) * 50 < l.length) 
		s = s + '<td colspan="1" align="right" style="padding-right:10px"><a href="javascript:NextPageNumbers()"><img src="/images/eshop/dgm_next.gif" border="0" alt="" /></a></td>';
	else
		s = s + '<td colspan="1" align="right">&nbsp;</td>';
	s = s + '</tr>';

	for (i=NumbersPage*50, j=0; i<l.length && j < 50; i++) {
		s = s + '<td align="center" width="20%"><a href="javascript:SetNumber(\'' + l[i] +'\')">' + PrettyNumber(l[i]) + '</a></td>';
		if (++j % 5 == 0) s = s + '</tr><tr>';
	}
	
	while (j++ % 5) s = s + '<td width="20%">&nbsp;</td>';
	s = s + '</tr>';
	s = s + '</table>';
	
	document.getElementById('numbers_all').innerHTML = s;
	document.getElementById('all').style.display = '';	
	document.getElementById('number_offer').style.display = 'none';	
}

function CreateAnex(url) {
	//alert (url);
	if (document.getElementById('number_num').value == '') {
		document.getElementById('number_num').focus();
		return false;
	}
	document.forms["frmAnex"].action = url;
	document.forms["frmAnex"].submit();
}

function ChooseNumberRandom() {
	document.getElementById('num_prefix').value = '';
	document.getElementById('num_suffix').value = '';
	document.getElementById('num_infix').value = '';
	
	ChooseNumber(Numbers);
}

function ChooseNumberPrefix() {	
	l = new Array();
	idx = 0;
	s = FilterNumber(document.getElementById('num_prefix').value);
	if (s == '') {
		ChooseNumberRandom();
		return;
	}
	document.getElementById('num_prefix').value = s;
	document.getElementById('num_suffix').value = '';
	document.getElementById('num_infix').value = '';
	for (i=0; i<Numbers.length; i++) {
		m = Numbers[i].substring(2);
		if (m.indexOf(s) == 0) {
			l[idx++] = Numbers[i];
		}		
	}
	ChooseNumber(l);
}

function ChooseNumberSuffix() {	
	l = new Array();
	idx = 0;
	s = FilterNumber(document.getElementById('num_suffix').value);
	if (s == '') {
		ChooseNumberRandom();
		return;
	}
	document.getElementById('num_prefix').value = '';
	document.getElementById('num_suffix').value = s;
	document.getElementById('num_infix').value = '';
	for (i=0; i<Numbers.length; i++) {
		m = Numbers[i].substring(2);
		if (m.indexOf(s) == (m.length - s.length)) {
			l[idx++] = Numbers[i];
		}		
	}
	ChooseNumber(l);
}

function ChooseNumberInfix() {	
	l = new Array();
	idx = 0;
	s = FilterNumber(document.getElementById('num_infix').value);
	if (s == '') {
		ChooseNumberRandom();
		return;
	}
	document.getElementById('num_prefix').value = '';
	document.getElementById('num_suffix').value = '';
	document.getElementById('num_infix').value = s;
	for (i=0; i<Numbers.length; i++) {
		if (Numbers[i].substring(2).indexOf(s) >= 0) {
			l[idx++] = Numbers[i];
		}		
	}
	ChooseNumber(l);
}

function CalcJMBG(s) {
	sum = 0;
	k = 7;
	for (i=0; i<s.length; i++) {
		sum += k * (s.charAt(i)*1);
		if (--k == 1) k = 7;
	}
	rem = sum % 11;
    if      (rem == 0) return "0";
    else if (rem == 1) return "1";
    else               return (11 - rem) + '';
}

function ToInt(s) {
	i = 0;
	while (s.charAt(i) == '0' && i < s.length) i++;
	return parseInt(s.substring(i));
}

function CheckAge(s) {
	d1 = ToInt(s.substring(0, 2));
	m1 = ToInt(s.substring(2, 4));
	y1 = 1000 + ToInt(s.substring(4, 7));
	
	date = new Date();
	d2 = date.getDate();
	m2 = date.getMonth() + 1;	
	y2 = date.getYear();
	if (y2 < 1900) y2 += 1900;
	
	y1 += 18;

	if (y2 > y1) return true; else if (y2 < y1) return false;		
	if (m2 > m1) return true; else if (m2 < m1)	return false;		
	if (d2 > d1) return true; else if (d2 < d1)	return false;			
	
	return true;
}

function SubmitDetailsForm() {	
	if (document.getElementById('order_anex_brtel')) {
		if (!GetValueMSISDN('order_anex_brtel')) { 
			alert(Lang == "EN" ? "Please, enter your existing 060/061/062/063/064/065/066/069 mobile phone number." : "Molim Vas da unesete Vas postojeci 060/061/062/063/064/065/066/069 broj telefona.");
			return false; 
		}
	}
	
	if (GetValue('order_fname')          == '') { 
		alert(Lang == "EN" ? "Please, enter your name." : "Molim Vas da unesete Vase ime."); 
		return false; 
	}
	if (GetValue('order_fname_father')   == '') { 
		alert(Lang == "EN" ? "Please, enter your father's name." : "Molim Vas da unesete ime Vaseg oca."); 
		return false; 
	}
	if (GetValue('order_lname')          == '') { 
		alert(Lang == "EN" ? "Please, enter your surname." : "Molim Vas da unesete Vase prezime."); 
		return false; 
	}
	if (GetValue('order_jmbg')           == '') { 
		alert(Lang == "EN" ? "Please, enter your JMBG (single identity number of citizens)." : "Molim Vas da unesete Vas JMBG (jedinstven maticni broj gradjana)."); 
		return false; 
	}
	if (GetValue('order_pak')        == '') { 
		alert(Lang == "EN" ? "Please, choose your PAK." : "Molim Vas da izaberete Vas PAK."); 
		return false; 
	}
	if (GetValue('order_interfon')        == '') { 
		alert(Lang == "EN" ? "Please, choose your house/app number." : "Molim Vas da izaberete Vas broj kuce/zgrade."); 
		return false; 
	}
	// if (GetValue('order_city')           == '') { 
		// alert(Lang == "EN" ? "Please, enter your town." : "Molim Vas da unesete Vase mesto."); 
		// return false; 
	// }
	// if (GetValue('order_zip')            == '') { 
		// alert(Lang == "EN" ? "Please, enter your postal code." : "Molim Vas da unesete Vas postanski broj."); 
		// return false; 
	// }
	if (GetValue('order_phone')          == '') { 
		alert(Lang == "EN" ? "Please, enter your contact phone number." : "Molim Vas da unesete Vas kontakt telefon."); 
		return false; 
	}
	if (GetValue('order_radni_status')     == '') { 
		alert(Lang == "EN" ? "Please, enter your employement status." : "Molim Vas da unesete Vas radni status."); 
		return false; 
	}
	
	jmbg = GetValue('order_jmbg');
	if (jmbg.length != 13 ||CalcJMBG(jmbg.substring(0, 12)) != jmbg.substring(12)) {
		alert(Lang == "EN" ? "Please, enter correct JMBG (single identity number of citizens)." : "Molim Vas, unesite ispravan JMBG (jedinstevn maticni broj gradjana)");
		return false;
	}
	
	if (!CheckAge(jmbg)) {
		alert(Lang == "EN" ? "Online purchase can not be made by person under age of 18." : "Kupovinu u Telenor internet prodavnici mogu obaviti iskljucivo punoletna lica.");
		return false;		
	}
	
	if ((e = document.getElementById('order_check'))) {
		if (!e.checked) {
			alert(
				Lang == "EN" ?
					"Please, you have to state that you accept for your data to be checked with the Credit Bureau so that we could process your order." :
					"Molim Vas neophodno je da prihvatite da ste saglasni da se Vasi podaci provere u Kreditnom birou kako bi mogli da obradimo Vasu narudzbu."
			);
			return false;
		}
	}

	if ((e = document.getElementById('order_accept'))) {
		if (!e.checked) {
			alert(
				Lang == "EN" ?
					"Please, you have to state that you accept general terms and conditions so that we could process your order." :
					"Molim Vas neophodno je da prihvatite da ste saglasni sa opstim uslovima kupovine kako bi mogli da obradimo Vasu narudzbu."
			);
			return false;
		}
	}
	
	if ((e = document.getElementById('service_accept'))) {
		if (!e.checked) {
			alert(
				Lang == "EN" ?
					"Please, you have to state that you accept that Telenor can started offering the service before the deadline for unilateral termination." :
					"Molim Vas neophodno je da prihvatite da ste saglasni da Telenor zapocne pruzanje usluge pre isteka roka za jednostrani raskid."
			);
			return false;
		}
	}	

	return true;
}

function SubmitTopupForm() {	
	if (GetValue('topup_value') == '0') { 
		alert(Lang == "EN" ? "Please, choose a topup amount." : "Molim Vas da izaberete iznos dopune."); 
		return false; 
	}
	
	s = GetValue('topup_phone_num');
	r = '';
	for (i=0; i<s.length; i++)
	  if (s.charAt(i) >= '0' && s.charAt(i) <= '9')
	  	r = r + s.charAt(i);
	SetValue('topup_phone_num', r);	
	if (r.length < 6 || r.length > 7) { 
		alert(Lang == "EN" ? "Please, enter a phone number you wish to topup." : "Molim Vas da unesete broj telefona koga zelite dopuniti."); 
		return false; 
	}

	s = GetValue('topup_phone_num2');
	r2 = '';
	for (i=0; i<s.length; i++)
	  if (s.charAt(i) >= '0' && s.charAt(i) <= '9')
	  	r2 = r2 + s.charAt(i);
	SetValue('topup_phone_num2', r2);	
	if (r != r2) {
		alert(Lang == "EN" ? "Please, enter same number." : "Molim Vas, radi Vase zastite, neophodno je da ponovite isti broj telefona koga zelite dopuniti.");
		return false;
	}

	if ((e = document.getElementById('order_accept'))) {
		if (!e.checked) {
			alert(
				Lang == "EN" ?
					"Please, you have to state that you accept general terms and conditions so that we could process your order." :
					"Molim Vas, neophodno je da prihvatite da ste saglasni sa opstim uslovima online prepaid dopune kako bi mogli da obradimo Vasu narudzbu."
			);
			return false;
		}
	}

	return true;
}

function CheckEmail(s) {
	s = s.trim();
	if (s == '')
		return false;
	if (s.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) == -1)
		return false;		
	return true;
}	

function SubmitRegisterForm() {	
	if (GetValue('email')          == '') { 
		alert(Lang == "EN" ? "Please, enter your e-mail address." : "Molim Vas da unesete Vasu email adresu."); 
		return false; 
	}
	if (!CheckEmail(GetValue('email'))) { 
		alert(Lang == "EN" ? "Please, enter valid e-mail address." : "Molim Vas da unesete ispravnu email adresu."); 
		return false; 
	}
	if (GetValue('password')       == '') { 
		alert(Lang == "EN" ? "Please, enter your password." : "Molim Vas da unesete Vasu lozinku."); 
		return false; 
	}
	if (GetValue('password')       != GetValue('password2')) { 
		alert(Lang == "EN" ? "Please, enter same password twice." : "Molim Vas da unesete istu lozinku dva puta."); 
		return false; 
	}
	if (GetValue('fname')          == '') { 
		alert(Lang == "EN" ? "Please, enter your name." : "Molim Vas da unesete Vase ime."); 
		return false; 
	}
	if (GetValue('lname')          == '') { 
		alert(Lang == "EN" ? "Please, enter your surname." : "Molim Vas da unesete Vase prezime."); 
		return false; 
	}
	if (GetValue('bday') == '' || GetValue('bmon') == '' || GetValue('byear') == '') { 
		alert(Lang == "EN" ? "Please, enter your birthday." : "Molim Vas da unesete Vas datum rodjenja."); 
		return false; 
	}
	if (GetValue('phone')          == '') { 
		alert(Lang == "EN" ? "Please, enter your contact phone number." : "Molim Vas da unesete Vas kontakt telefon."); 
		return false; 
	}
	if (GetValue('address')        == '') { 
		alert(Lang == "EN" ? "Please, enter your address." : "Molim Vas da unesete Vasu adresu."); 
		return false; 
	}
	if (GetValue('telenor')        == '') { 
		alert(Lang == "EN" ? "Please, select if you are Telenor subscriber or not." : "Molim Vas navedite da li koristite Telenor broj telefona ili ne."); 
		return false; 
	}
	if (GetValue('telenor')        == '1' && GetValue('telenor_prefix') == '') { 
		alert(Lang == "EN" ? "Please, enter you Telenor phone numebr." : "Molim Vas navedite Vas Telenor broj telefona."); 
		return false; 
	}
	if (GetValue('telenor')        == '1' && GetValue('telenor_num') == '') { 
		alert(Lang == "EN" ? "Please, enter you Telenor phone numebr." : "Molim Vas navedite Vas Telenor broj telefona."); 
		return false; 
	}
	
	if ((e = document.getElementById('order_accept'))) {
		if (!e.checked) {
			alert(
				Lang == "EN" ?
					"Please, you have to state that you accept general terms and conditions so that we could process your order." :
					"Molim Vas, neophodno je da prihvatite da ste saglasni sa procedurom i uslovima kupovine kako bi mogli da obradimo Vasu narudzbu."
			);
		return false; 
		}
	}
	
	return true;
}

function SubmitRegisterConfirmForm() {	
	if (GetValue('email')          == '') { 
		alert(Lang == "EN" ? "Please, enter your e-mail address." : "Molim Vas da unesete Vasu email adresu."); 
		return; 
	}
	if (!CheckEmail(GetValue('email'))) { 
		alert(Lang == "EN" ? "Please, enter valid e-mail address." : "Molim Vas da unesete ispravnu email adresu."); 
		return; 
	}
	if (GetValue('code')       == '') { 
		alert(Lang == "EN" ? "Please, enter your registration code." : "Molim Vas da unesete registracioni kod."); 
		return; 
	}	
	document.form1.submit();		
}

function SubmitReqChangePasswordForm() {	
	if (GetValue('email')          == '') { 
		alert(Lang == "EN" ? "Please, enter your e-mail address." : "Molim Vas da unesete Vasu email adresu."); 
		return; 
	}
	if (!CheckEmail(GetValue('email'))) { 
		alert(Lang == "EN" ? "Please, enter valid e-mail address." : "Molim Vas da unesete ispravnu email adresu."); 
		return; 
	}
	if (GetValue('secimg')         == '') { 
		alert(Lang == "EN" ? "Please, number from picture." : "Molim Vas da unesete broj sa slike."); 
		return; 
	}
	document.form1.submit();		
}

function SubmitChangePasswordForm() {	
	if (GetValue('password')       == '') { 
		alert(Lang == "EN" ? "Please, enter your password." : "Molim Vas da unesete Vasu lozinku."); 
		return; 
	}
	if (GetValue('password')       != GetValue('password2')) { 
		alert(Lang == "EN" ? "Please, enter same password twice." : "Molim Vas da unesete istu lozinku dva puta."); 
		return; 
	}
	document.form1.submit();		
}

function CheckAddons(id, ids) {
	if (!document.getElementById(id).checked) return;
	for (i=0; i<ids.length; i++) {
		if (id != ids[i]) {
			document.getElementById(ids[i]).checked = '';
		}
	}
}

function CheckPackages(id, has06, ugovor06, has12, ugovor12, has24, ugovor24) {
	i = 1;
	while ((e = document.getElementById('package_' + i))) {
		if (i != id) e.checked = '';
		i++;
	}
	e = document.getElementById('package_' + id);
	document.getElementById('submit_button').style.display = e.checked == '' ? 'none' : '';
	
	if (document.getElementById('tr_ugovor')) {	
		document.getElementById('tr1_ugovor06').style.display = has06 && (!e.checked || ugovor06) ? '' : 'none';
		document.getElementById('tr2_ugovor06').style.display = has06 && (!e.checked || ugovor06) ? '' : 'none';
		document.getElementById('tr1_ugovor12').style.display = has12 && (!e.checked || ugovor12) ? '' : 'none';
		document.getElementById('tr2_ugovor12').style.display = has12 && (!e.checked || ugovor12) ? '' : 'none';
		document.getElementById('tr1_ugovor24').style.display = has24 && (!e.checked || ugovor24) ? '' : 'none';
		document.getElementById('tr2_ugovor24').style.display = has24 && (!e.checked || ugovor24) ? '' : 'none';
		document.getElementById('tr_ugovor').style.display = !e.checked || ugovor06 || ugovor12 || ugovor24 ? '' : 'none';
		TariffPrices('x');
	}	
}

function TariffPrices(id) {
	if (!document.getElementById('tr_ugovor')) return;

	if (id == 'ugovor06') {
		document.getElementById('ugovor12').checked = false;
		document.getElementById('ugovor24').checked = false;
	}
	if (id == 'ugovor12') {
		document.getElementById('ugovor06').checked = false;
		document.getElementById('ugovor24').checked = false;
	}
	if (id == 'ugovor24') {
		document.getElementById('ugovor06').checked = false;
		document.getElementById('ugovor12').checked = false;
	}
	ugovor06 = document.getElementById('ugovor06').checked;
	ugovor12 = document.getElementById('ugovor12').checked;
	ugovor24 = document.getElementById('ugovor24').checked;
	
	i = 1;
	while ((e = document.getElementById('cena_' + i))) {
		document.getElementById('cena_ugovor06_' + i).style.display = ugovor06 ? '' : 'none';
		document.getElementById('cena_ugovor12_' + i).style.display = ugovor12 ? '' : 'none';
		document.getElementById('cena_ugovor24_' + i).style.display = ugovor24 ? '' : 'none';
		document.getElementById('cena_' + i).style.display          = (ugovor06 || ugovor12 || ugovor24) ? 'none' : '';
		document.getElementById('package_' + i).style.display = '';				
		document.getElementById('img_' + i).style.display = '';				
		if (ugovor06) {
			if (document.getElementById('cena_ugovor06_' + i).innerHTML == "0,00") {
				document.getElementById('cena_ugovor06_' + i).style.display = 'none';
				document.getElementById('package_' + i).style.display = 'none';				
				document.getElementById('img_' + i).style.display = 'none';				
				e = document.getElementById('package_' + i);
				if (e.checked != '') {
					e.checked = '';
					document.getElementById('submit_button').style.display = e.checked == '' ? 'none' : '';
				}
			}
		} else if (ugovor12) {
			if (document.getElementById('cena_ugovor12_' + i).innerHTML == "0,00") {
				document.getElementById('cena_ugovor12_' + i).style.display = 'none';
				document.getElementById('package_' + i).style.display = 'none';				
				document.getElementById('img_' + i).style.display = 'none';				
				e = document.getElementById('package_' + i);
				if (e.checked != '') {
					e.checked = '';
					document.getElementById('submit_button').style.display = e.checked == '' ? 'none' : '';
				}
			}
		} else if (ugovor24) {
			if (document.getElementById('cena_ugovor24_' + i).innerHTML == "0,00") {
				document.getElementById('cena_ugovor24_' + i).style.display = 'none';
				document.getElementById('package_' + i).style.display = 'none';				
				document.getElementById('img_' + i).style.display = 'none';				
				e = document.getElementById('package_' + i);
				if (e.checked != '') {
					e.checked = '';
					document.getElementById('submit_button').style.display = e.checked == '' ? 'none' : '';
				}
			}
		} else {
			if (document.getElementById('cena_' + i).innerHTML == "0,00") {
				document.getElementById('cena_' + i).style.display = 'none';
				document.getElementById('package_' + i).style.display = 'none';				
				document.getElementById('img_' + i).style.display = 'none';				
				e = document.getElementById('package_' + i);
				if (e.checked != '') {
					e.checked = '';
					document.getElementById('submit_button').style.display = e.checked == '' ? 'none' : '';
				}
			}
		}
		i++;
	}
}

function SubmitForm() {
	document.form1.submit();
}

function Redirect(url) {
	location.href = url;
}

 function ClickChooseNumber(id, group) {
 	for (i=0; i<group.length; i++) {
		if (e = document.getElementById("lab_" + group[i])) e.style.fontWeight = "normal";
 		if (e = document.getElementById("num_" + group[i])) e.style.display = "none";
 		if (e = document.getElementById("btn_" + group[i])) e.style.display = "none";
 	}
	if (e = document.getElementById("lab_" + id)) {
		e.style.fontWeight = "bold";
	}
 	if (e = document.getElementById("num_" + id)) {
 		e.style.display = "";
 		e.focus();
 	}
 	if (e = document.getElementById("btn_" + id)) e.style.display = "";
 	
 	if (e = document.getElementById("number")) e.style.display = "none";
 	
 	if      (id == "standard") Numbers = NumbersAll[0];
 	else if (id == "silver")   Numbers = NumbersAll[1];
 	else if (id == "gold")     Numbers = NumbersAll[2];
 }
 
