var keyCode;
var keyCtrl = false;
var keyAlt = false;
var keyShift = false;

document.onkeydown = checkKeycode
function checkKeycode(e) {
	if (window.event) {
		keyCode = window.event.keyCode;
		keyCtrl = window.event.ctrlKey;
		keyShift = window.event.shiftKey;
		keyAlt = window.event.altKey;
	}
	else {
		if (e){
			keyCode = e.which;
			keyCtrl = e.ctrlKey;
			keyAlt = e.altKey;
			keyShift = e.shiftKey;
		}
	}
}

function calculate(){
	cp = parseFloat(xajax.$('ec_eek').value.replace(/,/i, '.'));
	if(!isNaN(cp)){
		ecp = Math.round((100*cp)/15.6466)/100;
		ecp = ecp.toString().split(".");
		ecp[1] = (ecp[1] == undefined)? "00" : ecp[1];
		if(ecp[1] != undefined && ecp[1].length == 1){
			ecp[1] = ecp[1]+"0";
		}
		xajax.$('ec_eur').value = (ecp[0]+"."+ecp[1]);
	} else {
		xajax.$('ec_eur').value = "";
	}
}

var calcChoice = {};

function setCalcChoice(){
	chboxes = document.getElementsByTagName("input");
	for(key in chboxes){
		if(chboxes[key].type == "checkbox"){
			pktID = chboxes[key].parentNode.parentNode.id;
			if(chboxes[key].checked && !chboxes[key].disabled){
				cells = document.getElementById(pktID).getElementsByTagName('td');
				pktName = cells[0].innerHTML;
				pktPrice = cells[2].innerHTML;
				calcChoice[pktID] = {'name':pktName,'price':pktPrice.replace('€', '')};
			} else {
				calcChoice = array_delete(calcChoice, pktID);
			}
		}
	}
	showChoice();
}

function submitCalc(){
	if(count(calcChoice)> 0){
		xajax_calc_submit(calcChoice, $('#calc_address').text());
	}
}

function showChoice(){
	txt = "";
	tprice = 0;
	for(prd in calcChoice){
		txt += calcChoice[prd].name + "</br>";
		tprice += parseFloat(calcChoice[prd].price);
	}
	document.getElementById('choises').innerHTML = txt;
	document.getElementById('price').innerHTML = as_price(round(tprice, 2))+" &euro;";
}

function clearCheckboxesGroup(group, haystack){
	group = document.getElementById(group).getElementsByTagName('input');
	for(i in group){
		if(group[i].type == "checkbox"){
			pktID = group[i].parentNode.parentNode.id;
			if(haystack != undefined && array_search(pktID, haystack)){
				continue;
			}
			group[i].checked = false;
		}
	}
}

function disableCheckboxesGroup(group, doDisable, haystack){
	group = document.getElementById(group);
	if(group != undefined){
	group = group.getElementsByTagName('input');

	for(i in group){
		if(group[i].type == "checkbox"){
			pktID = group[i].parentNode.parentNode.id;
			if(haystack != undefined && count(haystack['exclude']) > 0 && in_array(pktID, haystack['exclude'])){
				continue;
			}
			if(haystack != undefined && count(haystack['include']) > 0 && !in_array(pktID, haystack['include'])){
				continue;
			}
			group[i].disabled = doDisable;
			disableRow(pktID, doDisable);
		}
	}}
}

function disableRow(rowID, state){
	if($$(rowID)){
		cells = $$(rowID).getElementsByTagName('td');
		for(i=0;i<cells.length;i++){
			cells[i].style.backgroundImage = (state)? "url(/liitumine/gfx/calc_disable_bg.gif)" : "";
		}
	}
}

function setCheckboxState(pktID, state){
	if($$(pktID)){
		chkboxes = $$(pktID).getElementsByTagName('input');
		if(count(chkboxes)>0){
			for(i in chkboxes){
				chkboxes[i].checked = state;
			}
		}
	}
}

function doCalcChoice(obj){
	area = obj.parentNode.parentNode.parentNode.parentNode.id;
	state = obj.checked;
	pktID = obj.parentNode.parentNode.id;
	digiThemePackages = [435,434,301,619,620,618,542,540,539,468,670,491,617,490,713];
	if(area == "pack"){
		if(pktID != 635){
			clearCheckboxesGroup('pack', [635]);
			obj.checked = state;
			if(state == false){
				setCheckboxState('635', false);
				disableCheckboxesGroup('pack', true, {'include':[635]});
				disableCheckboxesGroup('digi', false, {'exclude':digiThemePackages});
				disableCheckboxesGroup('digi', true, {'include':digiThemePackages});
				//disableCheckboxesGroup('digi', false, {'exclude':[713]});
				disableCheckboxesGroup('ktv', false);
				disableCheckboxesGroup('inet', false);
				disableCheckboxesGroup('tel', false);
			} else {
				disableCheckboxesGroup('digi', true, {'exclude':digiThemePackages});
				disableCheckboxesGroup('digi', false, {'include':digiThemePackages});
				disableCheckboxesGroup('ktv', true);
				disableCheckboxesGroup('inet', true);
				disableCheckboxesGroup('pack', false, {'include':[635]});
			}
		} else {
			disableCheckboxesGroup('tel', state);
		}
	}
	if(area == "ktv"){
			clearCheckboxesGroup('ktv');
			obj.checked = state;
			disableCheckboxesGroup('pack', (isGroupChecked('inet'))? true: state);
			if(state == false){
				disableCheckboxesGroup('pack', true, {'include':[635]});
			}
			if(state == true){
				disableCheckboxesGroup('digi', true);
			} else {
				disableCheckboxesGroup('digi', true, {'include':digiThemePackages});
				disableCheckboxesGroup('digi', false, {'exclude':digiThemePackages});
			}
	}
	if(area == "digi"){
			if(!in_array(pktID, digiThemePackages)){
				clearCheckboxesGroup('digi', digiThemePackages);
				obj.checked = state;
				if(state == false){
					for(i in digiThemePackages){
						setCheckboxState(digiThemePackages[i], false);
					}
					disableCheckboxesGroup('digi', true, {'include':digiThemePackages});
				} else {
					disableCheckboxesGroup('digi', false, {'include':digiThemePackages});
				}
			} else {
				if(pktID == 620){
					disableCheckboxesGroup('digi', state, {'include':[618,619]});
				}
				if((pktID == 619 && isGroupChecked('digi', [618])) || (pktID == 618 && isGroupChecked('digi', [619]))){
					setCheckboxState(619, false);
					setCheckboxState(618, false);
					setCheckboxState(620, true);
					disableCheckboxesGroup('digi', true, {'include':[618,619]});
				}
			}
	}
	if(area == "inet"){
			clearCheckboxesGroup('inet');
			obj.checked = state;
			disableCheckboxesGroup('pack', (isGroupChecked('ktv'))? true : state);
			if(state == false){
				disableCheckboxesGroup('pack', true, {'include':[635]});
			}
	}
	if(area == "tel"){
			clearCheckboxesGroup('tel');
			obj.checked = state;
	}
	setCalcChoice();
}

function $$(objID){
	obj = document.getElementById(objID);
	return (obj == undefined)? false : obj;

}

function isGroupChecked(group, haystack){
	group = document.getElementById(group).getElementsByTagName('input');
	for(i in group){
		if(group[i].type == "checkbox"){
			pktID = group[i].parentNode.parentNode.id;
			//alert(pktID+' '+haystack.toSource()+' '+array_search(pktID, haystack));
			if(haystack!=undefined && in_array(pktID, haystack) == false) continue;
			if(group[i].checked && !group[i].disabled) return true;
		}
	}
	return false;
}

function in_array (needle, haystack, argStrict) {
    var key = '', strict = !! argStrict;
    if (strict) {
        for (key in haystack) {
            if (haystack[key] === needle) {
                return true;
            }
        }
    } else {
        for (key in haystack) {
            if (haystack[key] == needle) {
                return true;
            }
        }
    }
     return false;
}


function count (mixed_var, mode) {
    var key, cnt = 0;
    if (mixed_var === null || typeof mixed_var === 'undefined') {
        return 0;
    } else if (mixed_var.constructor !== Array && mixed_var.constructor !== Object) {
        return 1;
    }
    if (mode === 'COUNT_RECURSIVE') {
        mode = 1;
    }
    if (mode != 1) {
        mode = 0;
    }
    for (key in mixed_var) {
        if (mixed_var.hasOwnProperty(key)) {
            cnt++;
            if (mode == 1 && mixed_var[key] && (mixed_var[key].constructor === Array || mixed_var[key].constructor === Object)) {
                cnt += this.count(mixed_var[key], 1);
            }
        }
    }
    return cnt;
}

function array_delete(haystack, needle){
	arr = {};
	for(key in haystack){
		if(key != needle){
			arr[key] = haystack[key];
		}
	}
	return arr;
}

function array_search (needle, haystack, argStrict) {
    var strict = !!argStrict,
        key = '';
    
    if (haystack && typeof haystack === 'object' && haystack.change_key_case) { // Duck-type check for our own array()-created PHPJS_Array
        return haystack.search(needle, argStrict);
    }
    if (typeof needle === 'object' && needle.exec) { // Duck-type for RegExp
        if (!strict) { // Let's consider case sensitive searches as strict
            var flags = 'i' + (needle.global ? 'g' : '') +
                        (needle.multiline ? 'm' : '') +
                        (needle.sticky ? 'y' : ''); // sticky is FF only
            needle = new RegExp(needle.source, flags);
        }
        for (key in haystack) {
            if (needle.test(haystack[key])) {
                return key;
            }
        }
        return false;
    }
 
    for (key in haystack) {
        if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
            return key;
        }
    }
 
    return false;
}

function trim (str, charlist) {
    var whitespace, l = 0,
        i = 0;
    str += '';
 
    if (!charlist) {
        // default list
        whitespace = " \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000";
    } else {
        // preg_quote custom list
        charlist += '';
        whitespace = charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '$1');
    }
 
    l = str.length;
    for (i = 0; i < l; i++) {
        if (whitespace.indexOf(str.charAt(i)) === -1) {
            str = str.substring(i);
            break;
        }
    }
 
    l = str.length;
    for (i = l - 1; i >= 0; i--) {
        if (whitespace.indexOf(str.charAt(i)) === -1) {
            str = str.substring(0, i + 1);
            break;
        }
    }
 
    return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
}


function reDrawZ(id){
	/*
	var z = document.getElementById('za').getElementsByTagName('a');
	for(i=0; i<z.length; i++){
		z[i].className = (z[i].id == id)? 'current' : '';
	}*/
}

function changeTown(obj, isFromZone){
	isFromZone = (isFromZone == undefined)? false : true;
	xajax_forget("$_SESSION['street'], $_SESSION['house'], $_SESSION['abilities'], $_SESSION['ktv_packs'], $_SESSION['user_choise']");
	if(!isFromZone) {
		document.getElementById('error').innerHTML = '';
		document.getElementById('page_street').disabled = true;
		document.getElementById('house').value = '';
	} else {
		document.getElementById('zone_street').disabled = true;
		document.getElementById('zone_house').value = '';
	}
	xajax_remember("$_SESSION['town']['id']", obj.options[obj.selectedIndex].value);
	xajax_remember("$_SESSION['town']['name']", obj.options[obj.selectedIndex].text);
	xajax_remember("$_SESSION['checked_services']", "array");
	if(isFromZone) xajax_loadStreets("srch_street");
	else xajax_loadStreets();
	
}

function changeStreet(obj, isFromZone){
	if(!isFromZone) document.getElementById('error').innerHTML = '';
	xajax_remember("$_SESSION['street']['id']", obj.options[obj.selectedIndex].value);
	xajax_remember("$_SESSION['street']['name']", obj.options[obj.selectedIndex].text);
	if(isFromZone){
		document.getElementById('zone_house').value = '';
		document.getElementById('zone_house').focus();
	} else {
		document.getElementById('house').value = '';
		document.getElementById('house').focus();
	}
	xajax_forget("$_SESSION['house'], $_SESSION['abilities'], $_SESSION['ktv_packs'], $_SESSION['user_choise']");
	xajax_remember("$_SESSION['checked_services']", "array");
}

function selectAddress(){
	if(document.getElementById('businessclient').checked) newAddress();
	else {
		if(document.getElementById('house').value != ''){
			document.getElementById('error').innerHTML = '';
			var street = document.getElementById('page_street');
			index = (street.selectedIndex == undefined)? 0 : street.selectedIndex;
			xajax_remember("$_SESSION['street']['id']", street.options[index].value);
			xajax_remember("$_SESSION['street']['name']", street.options[index].text);
			xajax_remember("$_SESSION['house']['name']", document.getElementById('house').value);
			if(xajax_checkAddress(street.options[index].value, document.getElementById('house').value)){
				xajax_show_services();
			} else xajax_error("error_no_address");
		} else {
			xajax_error("error_empty_house");
		}
	}
}

function selectAddressFromZone(){
	var street = document.getElementById('zone_street');
	index = (street.selectedIndex == undefined)? 0 : street.selectedIndex;
	//xajax_remember("$_SESSION['town']['id']", town.options[index].value);
	//xajax_remember("$_SESSION['town']['name']", town.options[index].text);
	xajax_remember("$_SESSION['street']['id']", street.options[index].value);
	xajax_remember("$_SESSION['street']['name']", street.options[index].text);
	xajax_remember("$_SESSION['house']['name']", document.getElementById('zone_house').value);
	xajax_remember("$_SESSION['autostart']", true);
	xajax_openCalculator();
}

function newAddress(){
	xajax_remember("$_SESSION['new_address']", true);
	var street = document.getElementById('page_street');
	index = (street.selectedIndex == undefined)? 0 : street.selectedIndex;
	xajax_remember("$_SESSION['street']['name']", street.options[index].text);
	xajax_remember("$_SESSION['house']['name']", document.getElementById('house').value);
	xajax_show_services();
}

////////////////////////////////////////////////// CALCULATOR FUNCTIONS //////////////////////////////////////////////////////////

var personalModemRentUnchecked = false;
var digiTuunerRentUnchecked = false;
var packDigiBaasChecked = false;

function doSelection(obj){
	tmp = obj.checked;
	var objPack = obj.parentNode.parentNode.id;
	var objGroup = obj.parentNode.parentNode.parentNode.parentNode.id;
	var isDigiAvailable = (document.getElementById('pack_trio_digi_lisa') == undefined)? false : true;
	var isPkgPhoneAvailable = (document.getElementById('pack_phone_plus') == undefined)? false : true;
	var duoDigiLisa = (document.getElementById('pack_duo_digi_lisa') == undefined)? false : true;
	var trioDigiLisa = (document.getElementById('pack_trio_digi_lisa') == undefined)? false : true;
	if(objGroup == "packs"){
		clearGroupSelection('ktv');
		//clearGroupSelection('dtv');
		clearGroupSelection('inet');
		clearGroupSelection('phone', true);
		if(objPack == "pack_trio_digi_lisa" || objPack == "pack_duo_digi_lisa" || objPack == "pack_phone_plus"){
			packDigiBaasChecked = tmp;
			if(!packDigiBaasChecked){
				clearGroupSelection('dtv');
			} else {
				document.getElementById('digi_baas').getElementsByTagName('input')[0].checked = false;
			}
			if(objPack == "pack_trio_digi_lisa"){
				if(duoDigiLisa) document.getElementById('pack_duo_digi_lisa').getElementsByTagName('input')[0].checked = false;
				document.getElementById('digi_tuuner_rent').getElementsByTagName('input')[0].checked = tmp;
			}
			if(objPack == "pack_duo_digi_lisa"){
				if(trioDigiLisa) document.getElementById('pack_trio_digi_lisa').getElementsByTagName('input')[0].checked = false;
				document.getElementById('digi_tuuner_rent').getElementsByTagName('input')[0].checked = tmp;
			}
		} else {
			if(isDigiAvailable){
				tmp1 = (document.getElementById('pack_trio_digi_lisa') == undefined)? false : document.getElementById('pack_trio_digi_lisa').getElementsByTagName('input')[0].checked;
				tmp2 = (document.getElementById('pack_duo_digi_lisa') == undefined)? false : document.getElementById('pack_duo_digi_lisa').getElementsByTagName('input')[0].checked;
				tmp3 = (document.getElementById('pack_phone_plus') == undefined)? false : document.getElementById('pack_phone_plus').getElementsByTagName('input')[0].checked;
			}
			clearGroupSelection('packs', true);
			obj.checked = tmp;
			if(objPack.indexOf("duo_")==0 && isDigiAvailable){
				if(tmp){
					document.getElementById('pack_duo_digi_lisa').getElementsByTagName('input')[0].disabled = false;
					document.getElementById('pack_duo_digi_lisa').getElementsByTagName('input')[0].checked = tmp2;
				} else {
					document.getElementById('pack_duo_digi_lisa').getElementsByTagName('input')[0].disabled = true;
					document.getElementById('pack_duo_digi_lisa').getElementsByTagName('input')[0].checked = false;
				}
			}
			if((objPack.indexOf("TRIO_")==0 || objPack.indexOf("trio_")==0 || objPack.indexOf("MIX_")==0) && isDigiAvailable){
				if(tmp){
					document.getElementById('pack_trio_digi_lisa').getElementsByTagName('input')[0].disabled = false;
					document.getElementById('pack_trio_digi_lisa').getElementsByTagName('input')[0].checked = tmp1;
				} else {
					document.getElementById('pack_trio_digi_lisa').getElementsByTagName('input')[0].disabled = true;
					document.getElementById('pack_trio_digi_lisa').getElementsByTagName('input')[0].checked = false;
				}
				if((objPack.indexOf("TRIO_")==0  || objPack.indexOf("trio_")==0) && isPkgPhoneAvailable){
					document.getElementById('pack_phone_plus').getElementsByTagName('input')[0].disabled = true;
					document.getElementById('pack_phone_plus').getElementsByTagName('input')[0].checked = false;
				}
			}
			if(objPack.indexOf("MIX_")==0 && isPkgPhoneAvailable){
				if(tmp){
					document.getElementById('pack_phone_plus').getElementsByTagName('input')[0].disabled = false;
					document.getElementById('pack_phone_plus').getElementsByTagName('input')[0].checked = tmp3;
				} else {
					document.getElementById('pack_phone_plus').getElementsByTagName('input')[0].disabled = true;
					document.getElementById('pack_phone_plus').getElementsByTagName('input')[0].checked = false;
				}
			}
		}
	} else {
		allowDenyGroup('dtv', false);
		if(objGroup != "dtv")
			clearGroupSelection('packs');
		if(objGroup == "ktv"){
			clearGroupSelection('ktv');
			obj.checked = tmp;
			/*
			if(objPack == "ktv_3"){
				clearGroupSelection('dtv');
				allowDenyGroup('dtv', !tmp);
			} else {
				clearGroupSelection('dtv');
				allowDenyGroup('dtv', true);
			}*/
			if(objPack == "ktv_2" || objPack == "ktv_3"){
				allowDenyGroup('inet', !tmp, "personal");
				if(!tmp)
					clearGroupSelection('inet', false, "personal");
			} else {
				clearGroupSelection('inet', false, "personal");
				allowDenyGroup('inet', true, "personal");
			}
		}
		if(objGroup == "inet"){
			if(objPack != "personal_modem_rent"){
				clearGroupSelection('inet', true);
				obj.checked = tmp;
				if(!personalModemRentUnchecked && objPack.indexOf("saturn")<0){
					document.getElementById('personal_modem_rent').getElementsByTagName('input')[0].checked = true;
				}
			} else {
				if(!personalModemRentUnchecked && tmp == false)
					personalModemRentUnchecked = true;
			}
		}
		if(objGroup == "phone"){
			if(objPack != "phone_number"){
				clearGroupSelection('phone', true);
				obj.checked = tmp;
			}
		}
		if(objGroup == "dtv"){
			if(objPack != "digi_tuuner_rent"){
				if(objPack == "digi_xxx" || objPack == "digi_sport" || objPack == "digi_music"){
					if(!packDigiBaasChecked){
						document.getElementById('digi_baas').getElementsByTagName('input')[0].checked = true;
						clearGroupSelection('ktv');
						clearGroupSelection('inet', false, "personal");
	    				allowDenyGroup('inet', false, "personal");
					}
				}
				if(objPack == "digi_baas" && !tmp){
					document.getElementById('digi_sport').getElementsByTagName('input')[0].checked = false;
					document.getElementById('digi_music').getElementsByTagName('input')[0].checked = false;
					document.getElementById('digi_xxx').getElementsByTagName('input')[0].checked = false;
					clearGroupSelection('inet', false, "personal");
    				allowDenyGroup('inet', true, "personal");
				}
				if(objPack == "digi_baas" && tmp){
					clearGroupSelection('ktv');
					clearGroupSelection('packs');
					allowDenyGroup('inet', !tmp, "personal");
					if(!tmp)
						clearGroupSelection('inet', false, "personal");
					}
				if(!digiTuunerRentUnchecked){
					document.getElementById('digi_tuuner_rent').getElementsByTagName('input')[0].checked = true;
				}
			} else {
				if(!digiTuunerRentUnchecked && tmp == false)
					digiTuunerRentUnchecked = true;
			}
		}

	}
	calculatePrice();
}

function allowDenyGroup(group, disable, filter){
	var boxGroup = document.getElementById(group);
	if(boxGroup == undefined) return false;
	var boxes = boxGroup.getElementsByTagName('input');
	if(boxes.length > 0){
		for(i=0;i<boxes.length;i++){
			if(filter != undefined){
				//document.getElementById('debug').innerHTML += filter+" "+boxes[i].parentNode.parentNode.id+" "+boxes[i].parentNode.parentNode.id.search(filter)+"<br>";
				if(boxes[i].parentNode.parentNode.id.search(filter) != -1){
					boxes[i].disabled = disable;
				}
			} else {
				boxes[i].disabled = disable;
			}
		}
	}
}

function isInGroupSelection(group, filter){
	var boxGroup = document.getElementById(group);
	if(boxGroup == undefined) return false;
	var boxes = boxGroup.getElementsByTagName('input');
	if(boxes.length > 0){
		for(i=0;i<boxes.length;i++){
			if(filter != undefined){
				if(boxes[i].parentNode.parentNode.id.search(filter) != -1){
					if(boxes[i].checked) return true;
				}
			} else {
				if(boxes[i].checked) return true;
			}
		}
	}
	return false;
}

function getPackPrice(pack){
	var packElements = document.getElementById(pack).getElementsByTagName('td');
	txtPrice = packElements[2].innerHTML;
	return (isNaN(parseFloat(txtPrice)))? 0 : parseFloat(txtPrice);
}

function calculatePrice(){
	var txtPacks = "";
	var price = 0;
	var inputs = document.getElementsByTagName("input");
	
	var kKodu = false;
	var iKodu = false;
	var iSaturnKodu = false;
	var iModemRent = false;
	var pBasic = false;

	if(inputs.length > 0){
		for(i=0;i<inputs.length;i++){
			if(inputs[i].type == "checkbox" && !inputs[i].disabled && inputs[i].checked){
				txt = getPackFullName(inputs[i]);
				if(txt == "KTV Kodu") kKodu = true;
				if(txt == "INTERNET STV Kodu*") iKodu = true;
				if(txt == "INTERNET Kaabelmodemi rent") iModemRent = true;
				if(txt == "INTERNET SATURN Kodu") iSaturnKodu = true;
				if(txt == "TELEFON Basic") pBasic = true;
				if(txt != "") txtPacks += txt+"<br>";
				price += getPackPrice(inputs[i].parentNode.parentNode.id);
			}
		}
	}
	if(txtPacks != ""){
		document.getElementById('choises').innerHTML = txtPacks;
		document.getElementById('price').innerHTML = as_price(round(price, 2))+" &euro;";
		document.getElementById('europrice').innerHTML = as_price(round(price*15.6466))+" kr.";
	} else {
		document.getElementById('choises').innerHTML = "";
		document.getElementById('price').innerHTML = "";
		document.getElementById('europrice').innerHTML = "";
	}
}

function round(val, prec){
	val = (val == undefined || isNaN(parseFloat(val)))? 0 : val;
	prec = (prec == undefined || isNaN(parseInt(prec)))? 0 : prec;
	x = Math.pow(10, prec);
	return Math.round(val*x)/x;
}

function as_price(val){
	val = val.toString().split('.');
	if(val[1] == undefined){
		val[1] = "00";
	} else if(val[1].length == 1) {
		val[1] += "0";
	} else if(val[1].length > 2) {
		val = as_price(round(val[0]+'.'+val[1], 2));
	}
	return val[0]+'.'+val[1];
}

function clearGroupSelection(group, keepRent, filter){
	if(keepRent == undefined) keepRent = false;
	var boxGroup = document.getElementById(group);
	if(boxGroup == undefined) return false;
	if(group == "packs" && document.getElementById('pack_duo_digi_lisa') != undefined){
		document.getElementById('pack_duo_digi_lisa').getElementsByTagName('input')[0].checked = false;
		document.getElementById('pack_duo_digi_lisa').getElementsByTagName('input')[0].disabled = true;
		document.getElementById('pack_trio_digi_lisa').getElementsByTagName('input')[0].checked = false;
		document.getElementById('pack_trio_digi_lisa').getElementsByTagName('input')[0].disabled = true;
	}
	if(group == "packs" && document.getElementById('pack_phone_plus') != undefined){
		document.getElementById('pack_phone_plus').getElementsByTagName('input')[0].checked = false;
		document.getElementById('pack_phone_plus').getElementsByTagName('input')[0].disabled = true;
	}
	var boxes = boxGroup.getElementsByTagName('input');
	if(boxes.length > 0){
		for(i=0;i<boxes.length;i++){
			if(!boxes[i].disabled){
				if((boxes[i].parentNode.parentNode.id == "personal_modem_rent" || boxes[i].parentNode.parentNode.id == "tuuner_rent" || boxes[i].parentNode.parentNode.id == "phone_number") && keepRent){
				} else {
					if(filter != undefined){
						if(boxes[i].parentNode.parentNode.id.search(filter) != -1){
							boxes[i].checked = false;
						}
					} else {
						boxes[i].checked = false;
					}
				}
			}
		}
	}
}

function getPackFullName(obj){
	var objPack = obj.parentNode.parentNode.id;
	if(objPack == "phone_number") return "";
	var objGroup = obj.parentNode.parentNode.parentNode.parentNode.id;
	var packElements = document.getElementById(objPack).getElementsByTagName('td');
	var myTXT = ((document.all)? packElements[0].innerText : packElements[0].textContent);
	switch (objGroup){
		case "packs":
			if(myTXT == "+ Digi Baas"){
				myTXT = "+ Digi Baas";
			} else if(myTXT == "+ Telefon"){
				myTXT = "+ Telefon";
			} else {
				myTXT = "STV "+myTXT;
			}
			return myTXT ;
			break;
		case "ktv":
			return myTXT;
			break;
		case "dtv":
			return "DIGI TV "+myTXT;
			break;
		case "inet":
			return "INTERNET "+myTXT;
			break;
		case "phone":
			return "TELEFON "+myTXT;
			break;
		default: return "";
	}
}

function submitServices(){
	xajax_forget("$_SESSION['user_choise']");
	var inputs = document.getElementsByTagName("input");
	var c = 0;
	var cc = 0
	if(inputs.length > 0){
		for(i=0;i<inputs.length;i++){
			if(inputs[i].type == "checkbox" && inputs[i].checked){
				packID = inputs[i].parentNode.parentNode.id
				packName = (packID == "phone_number")? "Jätta oma telefoni number " : getPackFullName(inputs[i]);
				if(packID == "phone_number") cc++;
				if(packID != "phone_number" || cc == 1){
					xajax_remember("$_SESSION['user_choise']["+c+"]['pack']", packName);
					xajax_remember("$_SESSION['user_choise']["+c+"]['price']", getPackPrice(inputs[i].parentNode.parentNode.id));
					xajax_remember("$_SESSION['checked_services']["+c+"]", inputs[i].parentNode.parentNode.id);
					c++;
				}
			}
		}
	}
	if(c >0){
		xajax_show_contacts();
	}
}

function highLighObj(objID, bgcolor, fontcolor){
	var obj = document.getElementById(objID);
	obj.style.backgroundColor = bgcolor;
	obj.style.color = fontcolor;
}

function sendNewAddress(){
	document.getElementById("error").innerHTML = "";
	var isik = document.getElementById('isik').getElementsByTagName('input');
	isJurIsik = (isik[0].checked)? false : true;
	var ktv = document.getElementById("need_ktv").checked;
	var inet = document.getElementById("need_inet").checked;
	var phone = document.getElementById("need_phone").checked;
	var more = document.getElementById("need_more").checked;
	
	var addr = document.getElementById("addr");
	highLighObj("addr", "", "");
	if(addr.value == ""){
		xajax_error("error_empty_addr");
		highLighObj("addr", "#FF9999", "#FFFFFF");
		return false;
	}

	if(isJurIsik){
		var fname = document.getElementById("fname");
		highLighObj("fname", "", "");
		if(fname.value == ""){
			xajax_error("error_empty_fname");
			highLighObj("fname", "#FF9999", "#FFFFFF");
			return false;
		}
		var rcode = document.getElementById("rcode");
		highLighObj("rcode", "", "");
		if(rcode.value == ""){
			xajax_error("error_empty_rcode");
			highLighObj("rcode", "#FF9999", "#FFFFFF");
			return false;
		}
	}
	
	var contact_isik = document.getElementById("contact_isik");
	highLighObj("contact_isik", "", "");
	if(contact_isik.value == ""){
		xajax_error("error_empty_contact_isik");
		highLighObj("contact_isik", "#FF9999", "#FFFFFF");
		return false;
	}
	
	var contact_phone = document.getElementById("contact_phone");
	highLighObj("contact_phone", "", "");
	if(contact_phone.value == ""){
		xajax_error("error_empty_contact_phone");
		highLighObj("contact_phone", "#FF9999", "#FFFFFF");
		return false;
	}

	if(ktv){
		var extra_ktv_count = document.getElementById("extra_ktv_count");
		highLighObj("extra_ktv_count", "", "");
		if(extra_ktv_count.value == ""){
			xajax_error("error_empty_extra_ktv_count");
			highLighObj("extra_ktv_count", "#FF9999", "#FFFFFF");
			return false;
		}
	}
	if(inet){
		var inet_speed_more = document.getElementById("inet_speed_more");
		var ispeeds = document.getElementById("extra_inet").getElementsByTagName("input");
		var iSpeedChecked = false;
		var inet_speed = false;
		for(i=0;i<ispeeds.length; i++){
			if(ispeeds[i].type == "radio"){
				iSpeedChecked = (ispeeds[i].checked)? true : iSpeedChecked;
				inet_speed =  (ispeeds[i].checked)? ispeeds[i].value : inet_speed;
			}
		}
		if(inet_speed_more.value == "" && !iSpeedChecked){
			xajax_error("error_inet_speed_more");
			highLighObj("inet_speed_more", "#FF9999", "#FFFFFF");
			return false;
		}
	}
	if(phone){
		var extra_phone_count = document.getElementById("extra_phone_count");
		highLighObj("extra_phone_count", "", "");
		if(extra_phone_count.value == ""){
			xajax_error("error_empty_extra_phone_count");
			highLighObj("extra_phone_count", "#FF9999", "#FFFFFF");
			return false;
		}
	}
	if(more){
		var extra_more_marks = document.getElementById("extra_more_marks");
		highLighObj("extra_more_marks", "", "");
		if(extra_more_marks.value == ""){
			xajax_error("error_empty_extra_more_marks");
			highLighObj("extra_more_marks", "#FF9999", "#FFFFFF");
			return false;
		}
	}

	if(isJurIsik){
		fname = fname.value;
		rcode = rcode.value;
	} else {
		var fname = false;
		var rcode = false;
	}

	if(ktv){
		ktv = extra_ktv_count.value;
	} 

	if(inet){
		inet_speed_more = inet_speed_more.value;
	} else {
		inet_speed_more = false;
		inet_speed = false;
	}

	if(phone){
		phone = extra_phone_count.value;
	} 

	if(more){
		more = extra_more_marks.value;
	} 

	var eml = document.getElementById("contact_email");

	xajax_send_hinnapakkumine_tellimus(isJurIsik, addr.value, fname, rcode, contact_isik.value, contact_phone.value, eml.value, ktv, inet_speed, inet_speed_more, phone, more);
}

function sendTellimus(){
	document.getElementById("error").innerHTML = "";
	var name = document.getElementById("name");
	highLighObj("name", "", "");
	if(name.value == ""){
		xajax_error("error_empty_name");
		highLighObj("name", "#FF9999", "#FFFFFF");
		return false;
	}
	
	var icode = document.getElementById("icode");
	highLighObj("icode", "", "");
	if(icode.value == ""){
		xajax_error("error_empty_icode");
		highLighObj("icode", "#FF9999", "#FFFFFF");
		return false;
	}
	if(!icode.value.match(/^\d+$/g)){
		xajax_error("error_format_icode");
		highLighObj("icode", "#FF9999", "#FFFFFF");
		return false;
	}
	/*
	if(icode.value.length == 11 && !checkIsikukood(icode.value)){
		xajax_error("error_check_icode");
		highLighObj("icode", "#FF9999", "#FFFFFF");
		return false;
	}*/

	var krt = document.getElementById("krt");
	highLighObj("krt", "", "");
	if(krt.value == ""){
		xajax_error("error_empty_flat");
		highLighObj("krt", "#FF9999", "#FFFFFF");
		return false;
	}

	var phone = document.getElementById("phone");
	highLighObj("phone", "", "");
	if(phone.value == ""){
		xajax_error("error_empty_phone");
		highLighObj("phone", "#FF9999", "#FFFFFF");
		return false;
	}

	var email = document.getElementById("email");
	var comments = document.getElementById("comments");

	var kamp = document.getElementById("kamp");
	if(kamp == undefined){
		kamp_soov = "none";
	} else {
		elts = kamp.getElementsByTagName("input");
		for(i=0;i<elts.length;i++){
			if(elts[i].checked){
				kamp_soov = elts[i].value;
				break;
			}
		}
	}

	var tlf_omandus = document.getElementById("tlf_omandus");
	if(tlf_omandus == undefined){
		tel_omand_soov = "none";
	} else {
		elts = tlf_omandus.getElementsByTagName("input");
		for(i=0;i<elts.length;i++){
			if(elts[i].checked){
				tel_omand_soov = elts[i].value;
				break;
			}
		}
	}

	//document.getElementById("button").disabled = true;
	xajax_send_tellimus(name.value, icode.value, krt.value, phone.value, email.value, comments.value, kamp_soov, tel_omand_soov, $('#calc_address').text());
}

function checkIsikukood(icode){
	if(!icode.match(/^\d{11}$/)){
		//alert('len');
		return false;
	}
	if(res = /(\d{1})(\d{2})(\d{2})(\d{2})(\d{3})(\d{1})/.exec(icode)){
		kuu = (res[3].substr(0,1) == "0")? parseInt(res[3].substr(1,1)) : parseInt(res[3]);
		paev = (res[4].substr(0,1) == "0")? parseInt(res[4].substr(1,1)) : parseInt(res[4]);
		if(kuu<1) return false;
		if(kuu>12) return false;
		if(paev<1) return false;
		if(paev>31) return false;
		k1 = 1;
		k2 = 3;
		chk1 = chk2 = 0;
		for(i=0;i<10;i++){
			chk1 += k1 * parseInt(icode.charAt(i));
			chk2 += k2 * parseInt(icode.charAt(i));
            k1 = (k1++ < 9)? k1 : 1;
            k2 = (k2++ < 9)? k2 : 1;
		}
		jaak = chk1 % 11;
		if(jaak == 10) jaak = chk2 % 11;
		if(jaak == 10) jaak = 0;
		if(parseInt(res[6]) != jaak){
			//alert('crc');
			return false;
		}
	}else {
		//alert('frm');
		return false;
	}

	return true;
}

////////////////////////////////////// ISETEENINDUS FUNCTIONS /////////////////////////////////////////////////////////////////////////////////////////////////////////////


function it_register(){
	var login = xajax.$('it_reg_login');
	setPointer(login.parentNode.parentNode.parentNode, '#f8f2e8');
	if(login.value == ""){
		setPointer(login.parentNode.parentNode.parentNode, "#FF9999");
		xajax_error("error_it_reg_empty_name");
		return false;
	}
	if(xajax_it_check_reg_name(login.value)){
		setPointer(login.parentNode.parentNode.parentNode, "#FF9999");
		xajax_error("error_it_reg_name_in_use");
		return false;
	}
	
	var pass1 = xajax.$('it_reg_pass1');
	var pass2 = xajax.$('it_reg_pass2');
	setPointer(pass1.parentNode.parentNode.parentNode, '#f8f2e8');
	if(pass1.value.length == 0){
		setPointer(pass1.parentNode.parentNode.parentNode, "#FF9999");
		xajax_error("error_it_reg_empty_pass");
		return false;
	}else if(pass1.value.length < 4){
		setPointer(pass1.parentNode.parentNode.parentNode, "#FF9999");
		xajax_error("error_it_reg_short_pass");
		return false;
	}
	setPointer(pass2.parentNode.parentNode.parentNode, '#f8f2e8');
	if(pass1.value != pass2.value){
		setPointer(pass2.parentNode.parentNode.parentNode, "#FF9999");
		xajax_error("error_it_reg_password_mismatch");
		return false;
	}

	var icode = xajax.$('it_reg_icode');
	setPointer(icode.parentNode.parentNode.parentNode, '#f8f2e8');
	if(icode.value == ""){
		setPointer(icode.parentNode.parentNode.parentNode, "#FF9999");
		xajax_error("error_it_reg_empty_icode");
		return false;
	}

	var viitnbr = xajax.$('it_reg_viitenbr');
	setPointer(viitnbr.parentNode.parentNode.parentNode, '#f8f2e8');
	if(viitnbr.value == ""){
		setPointer(viitnbr.parentNode.parentNode.parentNode, "#FF9999");
		xajax_error("error_it_reg_empty_viitnbr");
		return false;
	}

	xajax_it_register_user(login.value, pass1.value, icode.value, viitnbr.value);
	
	return true;
}

function it_remember_pass(){
	var icode = xajax.$('it_rem_icode');
	setPointer(icode.parentNode.parentNode.parentNode, '#f8f2e8');
	if(icode.value == ""){
		setPointer(icode.parentNode.parentNode.parentNode, "#FF9999");
		xajax_error("error_it_reg_empty_icode");
		return false;
	}

	var viitnbr = xajax.$('it_rem_viitenbr');
	setPointer(viitnbr.parentNode.parentNode.parentNode, '#f8f2e8');
	if(viitnbr.value == ""){
		setPointer(viitnbr.parentNode.parentNode.parentNode, "#FF9999");
		xajax_error("error_it_reg_empty_viitnbr");
		return false;
	}

	xajax_it_remember_pass(icode.value, viitnbr.value);
}

function it_change_pass(){
	var pass1 = xajax.$('it_cur_pass');
	var pass2 = xajax.$('it_new_pass1');
	var pass3 = xajax.$('it_new_pass2');
	setPointer(pass1.parentNode.parentNode.parentNode, '#f8f2e8');
	setPointer(pass2.parentNode.parentNode.parentNode, '#f8f2e8');
	setPointer(pass3.parentNode.parentNode.parentNode, '#f8f2e8');
	xajax_it_change_pass(pass1.value, pass2.value, pass3.value);
}

////////////////////////////////////// TAGASIDE FORM FUNCTIONS /////////////////////////////////////////////////////////////////////////////////////////////////////////////
function ts_showIcode(obj){
	val = obj.options[obj.selectedIndex].value;
	if(val == 0 || val == 1 || val == 3 || val ==6){
		xajax_ts_show_icode_field(false, val);
	} else{
		xajax_ts_show_icode_field(true, val);
	}
}

function ts_showHint(hint){
	xajax.$('ts_hint').innerHTML = "<br />"+hint+"<br /><br />";
}
function ts_hideHint(){
	xajax.$('ts_hint').innerHTML = "";
}

function ts_sendQuery(){
	var ts_theme = xajax.$('ts_theme');
	var ts_theme_value = ts_theme.options[ts_theme.selectedIndex].value;
	setPointer(ts_theme.parentNode.parentNode, '#f8f2e8');
	if(ts_theme_value == 0){
		setPointer(ts_theme.parentNode.parentNode, "#FF9999");
		xajax_error("error_ts_no_theme");
		return false;
	}

	var ts_address = xajax.$('ts_address');
	setPointer(ts_address.parentNode.parentNode, '#f8f2e8');
	if(ts_address.value == ""){
		setPointer(ts_address.parentNode.parentNode, "#FF9999");
		xajax_error("error_ts_empty_address");
		return false;
	}

	var ts_name = xajax.$('ts_name');
	setPointer(ts_name.parentNode.parentNode, '#f8f2e8');
	if(ts_name.value == ""){
		setPointer(ts_name.parentNode.parentNode, "#FF9999");
		xajax_error("error_ts_empty_name");
		return false;
	}

	var ts_surname = xajax.$('ts_surname');
	setPointer(ts_surname.parentNode.parentNode, '#f8f2e8');
	if(ts_surname.value == ""){
		setPointer(ts_surname.parentNode.parentNode, "#FF9999");
		xajax_error("error_ts_empty_surname");
		return false;
	}

	var ts_email = xajax.$('ts_email');
	setPointer(ts_email.parentNode.parentNode, '#f8f2e8');
	if(ts_email.value == ""){
		setPointer(ts_email.parentNode.parentNode, "#FF9999");
		xajax_error("error_ts_empty_email");
		return false;
	}

	var ts_phone = xajax.$('ts_phone');
	setPointer(ts_phone.parentNode.parentNode, '#f8f2e8');
	if(ts_phone.value == ""){
		setPointer(ts_phone.parentNode.parentNode, "#FF9999");
		xajax_error("error_ts_empty_phone");
		return false;
	}


	if(ts_theme_value == 2 || ts_theme_value == 4 || ts_theme_value == 5 || ts_theme_value == 8){
		var ts_icode = xajax.$('ts_icode');
		setPointer(ts_icode.parentNode.parentNode, '#f8f2e8');
		if(trim(ts_icode.value) == ""){
			setPointer(ts_icode.parentNode.parentNode, "#FF9999");
			xajax_error("error_ts_empty_icode");
			return false;
		}
	}

	var ts_question = xajax.$('ts_question');
	setPointer(ts_question.parentNode.parentNode, '#f8f2e8');
	if(ts_question.value == ""){
		setPointer(ts_question.parentNode.parentNode, "#FF9999");
		xajax_error("error_ts_empty_question");
		return false;
	} 
	
	if(ts_theme_value == 2 || ts_theme_value == 4 || ts_theme_value == 5 || ts_theme_value == 8){
		xajax_ts_send_query(ts_theme_value, ts_address.value, ts_name.value, ts_surname.value, ts_phone.value, ts_email.value, ts_icode.value, ts_question.value);
	} else {
		xajax_ts_send_query(ts_theme_value, ts_address.value, ts_name.value, ts_surname.value, ts_phone.value, ts_email.value, 0, ts_question.value);
	}
	
}

function trim (str, charlist) {
    var whitespace, l = 0, i = 0;
    str += '';
  
    if (!charlist) {
        // default list
        whitespace = " \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000";
    } else {
        // preg_quote custom list
        charlist += '';
        whitespace = charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '$1');
    }
    
    l = str.length;
    for (i = 0; i < l; i++) {
        if (whitespace.indexOf(str.charAt(i)) === -1) {
            str = str.substring(i);
            break;
        }
    }
    
    l = str.length;
    for (i = l - 1; i >= 0; i--) {
        if (whitespace.indexOf(str.charAt(i)) === -1) {
            str = str.substring(0, i + 1);
            break;
        }
    }
    
    return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
}

////////////////////////////////////// TOOOLTIP ////////////////////////////////////////////////////////////////////////////////////////////////////////////////

var offsetfromcursorX=12 //Customize x offset of tooltip
var offsetfromcursorY=10 //Customize y offset of tooltip

var offsetdivfrompointerX=10 //Customize x offset of tooltip DIV relative to pointer image
var offsetdivfrompointerY=14 //Customize y offset of tooltip DIV relative to pointer image. Tip: Set it to (height_of_pointer_image-1).

document.write('<div id="dhtmltooltip"></div>') //write out tooltip DIV
document.write('<img id="dhtmlpointer" src="/liitumine/gfx/arrow2.gif">') //write out pointer image

var ie=document.all
var ns6=document.getElementById && !document.all
var enabletip=false
if (ie||ns6)
var tipobj=document.all? document.all["dhtmltooltip"] : document.getElementById? document.getElementById("dhtmltooltip") : ""

var pointerobj=document.all? document.all["dhtmlpointer"] : document.getElementById? document.getElementById("dhtmlpointer") : ""

function ietruebody(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function ddrivetip(thetext, thewidth, thecolor){
if (ns6||ie){
if (typeof thewidth!="undefined") tipobj.style.width=thewidth+"px"
if (typeof thecolor!="undefined" && thecolor!="") tipobj.style.backgroundColor=thecolor
tipobj.innerHTML=thetext
enabletip=true
return false
}
}

function positiontip(e){
if (enabletip){
var nondefaultpos=false
var curX=(ns6)?e.pageX : event.clientX+ietruebody().scrollLeft;
var curY=(ns6)?e.pageY : event.clientY+ietruebody().scrollTop;
//Find out how close the mouse is to the corner of the window
var winwidth=ie&&!window.opera? ietruebody().clientWidth : window.innerWidth-20
var winheight=ie&&!window.opera? ietruebody().clientHeight : window.innerHeight-20

var rightedge=ie&&!window.opera? winwidth-event.clientX-offsetfromcursorX : winwidth-e.clientX-offsetfromcursorX
var bottomedge=ie&&!window.opera? winheight-event.clientY-offsetfromcursorY : winheight-e.clientY-offsetfromcursorY

var leftedge=(offsetfromcursorX<0)? offsetfromcursorX*(-1) : -1000

//if the horizontal distance isn't enough to accomodate the width of the context menu
if (rightedge<tipobj.offsetWidth){
//move the horizontal position of the menu to the left by it's width
tipobj.style.left=curX-tipobj.offsetWidth+"px"
nondefaultpos=true
}
else if (curX<leftedge)
tipobj.style.left="5px"
else{
//position the horizontal position of the menu where the mouse is positioned
tipobj.style.left=curX+offsetfromcursorX-offsetdivfrompointerX+"px"
pointerobj.style.left=curX+offsetfromcursorX+"px"
}

//same concept with the vertical position
if (bottomedge<tipobj.offsetHeight){
tipobj.style.top=curY-tipobj.offsetHeight-offsetfromcursorY+"px"
nondefaultpos=true
}
else{
tipobj.style.top=curY+offsetfromcursorY+offsetdivfrompointerY+"px"
pointerobj.style.top=curY+offsetfromcursorY+"px"
}
tipobj.style.visibility="visible"
if (!nondefaultpos)
pointerobj.style.visibility="visible"
else
pointerobj.style.visibility="hidden"
}
}

function hideddrivetip(){
if (ns6||ie){
enabletip=false
tipobj.style.visibility="hidden"
pointerobj.style.visibility="hidden"
tipobj.style.left="-1000px"
tipobj.style.backgroundColor=''
tipobj.style.width=''
}
}

document.onmousemove=positiontip


function setPointer(theRow, thePointerColor){
    if (thePointerColor == '' || typeof(theRow.style) == 'undefined') {
        return false;
    }
    if (typeof(document.getElementsByTagName) != 'undefined') {
        var theCells = theRow.getElementsByTagName('td');
    }
    else if (typeof(theRow.cells) != 'undefined') {
        var theCells = theRow.cells;
    }
    else {
        return false;
    }

    var rowCellsCnt  = theCells.length;
    for (var c = 0; c < rowCellsCnt; c++) {
        theCells[c].style.backgroundColor = thePointerColor;
    }

    return true;
}
/////////////    pop up functions
   function getScreenDimensions (){
      if (window.innerHeight) {
        screenWidth = window.innerWidth;
        screenHeight = window.innerHeight;
      }
      else if ( document.documentElement.clientHeight ) {
        screenWidth = document.documentElement.clientWidth;
        screenHeight = document.documentElement.clientHeight;
      }
      else if ( document.body.clientHeight ) {
        screenWidth = document.body.clientWidth;
        screenHeight = document.body.clientHeight;
      }
      return {
        "screenWidth": screenWidth,
        "screenHeight": screenHeight
      }
    }

    function setCookie(c_name,value,expiredays){
        var exdate=new Date();
        exdate.setDate(exdate.getDate()+expiredays);
        document.cookie=c_name+ "=" +escape(value)+
        ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
    }
    function getCookie(c_name){
        if (document.cookie.length>0){
          c_start=document.cookie.indexOf(c_name + "=");
          if (c_start!=-1){
            c_start=c_start + c_name.length+1;
            c_end=document.cookie.indexOf(";",c_start);
            if (c_end==-1) c_end=document.cookie.length;
                return unescape(document.cookie.substring(c_start,c_end));
            }
        }
        return "";
    }

    function lockScreen(){
            var overlay = document.getElementById('overlay');
            if(overlay == undefined)
                var overlay = document.createElement( "div" );
            overlay.setAttribute( "id", "overlay" );
            overlay.style.position = "absolute";
            overlay.style.backgroundColor = "#707070";
            overlay.style.left = document.body.scrollLeft + document.documentElement.scrollLeft + "px";
            overlay.style.top = document.body.scrollTop + document.documentElement.scrollTop + "px";
            sd = getScreenDimensions();
            overlay.style.width = sd.screenWidth + "px";
            overlay.style.height = sd.screenHeight + "px";
            overlay.style.opacity = 0.50;
            overlay.style.filter = "alpha( opacity=" + 50 + " )";
            overlay.style.zIndex = 999;
            overlay.style.display = "block";
			window.scrollTo(0,0);
            var popup = document.getElementById('popup');
            popup.style.left = ((sd.screenWidth-800)/2)+'px'
            popup.style.top = ((sd.screenHeight-381)/2)+'px'
            popup.style.zIndex = 1000;
            popup.style.visibility = 'visible';
			popup.style.display = 'block';
            var htmlbody = document.getElementsByTagName( "body" )[0];
            htmlbody.appendChild(overlay);
            document.body.scroll="no";
    }
    function unlockScreen(){
        var overlay = document.getElementById('overlay');
        var htmlbody = document.getElementsByTagName( "body" )[0];
        if (overlay){
            htmlbody.removeChild(overlay);
            var popup = document.getElementById('popup');
            popup.style.visibility = 'hidden';
			popup.style.display="none";
            setCookie('greetings_shown', true, 2);
        }
    }

	function saveAnswer(frm){
		var els = frm.getElementsByTagName('input');
		var answ = new Array();
		for(i=0;i<els.length;i++){
			if(els[i].type=="radio"){
				if(els[i].checked) answ[els[i].name] = els[i].value;
				answ[els[i].name] = (answ[els[i].name] != undefined && answ[els[i].name] > 0)? answ[els[i].name] : 0;
			}
		}
		xajax_vic_saveAnswers(answ);
	}

window.onresize = zzz;
window.onscroll = zzz;

function zzz(){
	var overlay = document.getElementById('overlay');
	if(overlay != undefined){
		overlay.style.left = document.body.scrollLeft + document.documentElement.scrollLeft + 'px';
		overlay.style.top = document.body.scrollTop + document.documentElement.scrollTop + 'px';
		sd = getScreenDimensions();
		overlay.style.width = sd.screenWidth + "px";
		overlay.style.height = sd.screenHeight + "px";
	}
}
var layerPosX = 0;
function keepLayerOnBottom(layerID){
	var layer = document.getElementById(layerID);
	if(layer != undefined){
		sd = getScreenDimensions();
		layerPosX = (layerPosX<10)? sd.screenWidth-80 : layerPosX - 10;
		layer.style.top = sd.screenHeight-80+document.body.scrollTop+"px";
		layer.style.left = layerPosX+'px';
		layer.style.visibility = "visible";
		setTimeout("keepLayerOnBottom('"+layerID+"');", 300);
	}
}


function tooltip(obj, tip){
	objOffset = $(obj).offset();
	var top = objOffset.top;
	var left = objOffset.left+25;
	var arrowLeft = -10;
	var arrowTop = -3;
	var shadowTop = -7;
	var shadowLeft = -7;
	$("body").append(
		"<div id='TT' class='TT_shadow0' style='width:250px;top:"+(top-shadowTop-8)+"px; left:"+(left+375)+"px;'>" +
		"<div class='TT_shadow1'>"+
		"<div class='TT_shadow2'>" +
		"<div id='TT_main' style='top:"+shadowTop+"px; left:"+shadowLeft+"px;'>" +
			"<div id='TT_arrow_left' style='top: "+arrowTop+"px; left:"+arrowLeft+"px;'></div>" +
			"<div style='padding:5px'>" +
				"<div id='TT_content'>"+tip+
				"</div>" +
			"</div>"+
		"</div></div></div></div>");		
}

function hideToolTip(){
	if($('#TT') != undefined){
		$('#TT').remove();
	}
}


