var preloadFlag = false;

function isIE(){
	//alert(navigator.appVersion);
	if(navigator.appVersion.indexOf("MSIE") != -1)return true;
    return(false);
}
function testemail(src) {
	var regex = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
	return regex.test(src);
}
function handleCheck(c,h){
	if(c.checked){h.value='on'}else{h.value=''};
}
function printWindow() {
	bV = parseInt(navigator.appVersion);
	if (bV >= 4) window.print();
}
function popUpPriv(){
	popupprivWindow = window.open("misc.asp?act=privacy","privacy","scrollbars=yes,left=10,top=10,screenX=10,screenY=10,width=500,height=550");
}
function popUpTc(){
	popuptcWindow = window.open("misc.asp?act=tc","tc","scrollbars=yes,left=10,top=10,screenX=10,screenY=10,width=500,height=550");
}
function popUpAbout(){
	popuptcWindow = window.open("about.asp","about","scrollbars=yes,left=10,top=10,screenX=10,screenY=10,width=500,height=550");
}
function popUpEmail(VendorOfferID){
	popupprivWindow = window.open("sendemail.asp?o="+VendorOfferID,"email","scrollbars=no,left=10,top=10,screenX=10,screenY=10,width=500,height=550");
}
function contains_ns6(a, b) {
	while (b.parentNode)
		if ((b = b.parentNode) == a)
		return true;
	return false;
}
function resetForm(f){
	var frm=document.getElementById(f)
	if(frm!=null)frm.reset();
}
function validateEditAccountForm(){
	var msg='';

	if(document.getElementById('txtFirstName').value=='')msg=msg+'Please enter first name.\n';
	if(document.getElementById('txtLastName').value=='')msg=msg+'Please enter surname.\n';
	if(document.getElementById('txtPassword').value=='')msg=msg+'Please enter password.\n';

	if(msg!=''){
		alert(msg);
		return false;
	}
	return true;
}
function validateNewAccountForm(){
	var msg='';

	if(document.getElementById('txtFirstName').value=='')msg=msg+'Please enter first name.\n';
	if(document.getElementById('txtLastName').value=='')msg=msg+'Please enter surname.\n';
	if(!testemail(document.getElementById('txtEmail').value))msg=msg+'Please enter valid email.\n';

	if(msg!=''){
		alert(msg);
		return false;
	}
	return true;
}
function validateLoginForm(frm){
	var msg='';

	if(!testemail(frm.Email.value))msg=msg+'Please enter valid email.\n';
	if(frm.Password.value=='')msg=msg+'Please enter password.\n';

	if(msg!=''){
		alert(msg);
		return false;
	}
	return true;
}
function validateSearchForm(frm){
	var msg='';

	//if(frm.PostCode.value=='post code'&&frm.Area.value=='')msg=msg+'Please enter Post Code or select Area.\n';
	if(frm.PostCode.value=='post code'&&frm.TubeStation.value=='')msg=msg+'Please enter Post Code or select Tube Station.\n';

	if(msg!=''){
		alert(msg);
		return false;
	}
	return true;
}
function validateContactForm(frm){
	var msg='';

	if(frm.txtContactName.value=='')msg=msg+'Please enter your name.\n';
	if(!testemail(frm.txtContactEmail.value))msg=msg+'Please enter valid email.\n';
	if(frm.txtEnquiry.value=='')msg=msg+'Please enter your question/enquiry.\n';

	if(msg!=''){
		alert(msg);
		return false;
	}
	return true;
}
function clearPostCode(cmb){
	if(cmb.value!=''){
		cmb.form.PostCode.style.color='silver';
		cmb.form.PostCode.value='post code';
	}
}

//******************************
// Trim
//******************************
function LTrim(str)
{
	var i = 0;
	var j = str.length - 1;

	if (str == null)
		return ('');

	for (i = 0; i < str.length; i++)
	{
		if (str.substr(i, 1) != ' ' &&
		    str.substr(i, 1) != '\t')
			break;
	}

	if (i <= j)
		return (str.substr(i, (j + 1) - i));
	else
		return ('');
}

function RTrim(str)
{
	var i = 0;
	var j = str.length - 1;

	if (str == null)
		return ('');

	for(j = str.length - 1; j >= 0; j--)
	{
		if (str.substr(j, 1) != ' ' &&
			str.substr(j, 1) != '\t')
		break;
	}

	if (i <= j)
		return (str.substr(i, (j + 1) - i));
	else
		return ('');
}

function Trim(str) {
	if (str == null)
		return ('');
	return RTrim(LTrim(str));
}
//******************************
// Date validation
//******************************
var dtCh= "/";

function isInteger(s){
	var i;
    for (i = 0; i < s.length; i++){   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    return true;
}

function stripCharsInBag(s, bag){
	var i;
    var returnString = "";

    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}
function daysInFebruary (year){
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}
function isDate(dtStr){
	var daysInMonth = DaysArray(12)
	var pos1 = dtStr.indexOf(dtCh)
	var pos2 = dtStr.indexOf(dtCh, pos1 + 1)
	var strDay = dtStr.substring(0, pos1)
	var strMonth = dtStr.substring(pos1 + 1, pos2)
	var strYear = dtStr.substring(pos2 + 1)

	strYr = strYear

	if (strDay.charAt(0) == "0" && strDay.length > 1) strDay = strDay.substring(1)
	if (strMonth.charAt(0) == "0" && strMonth.length > 1) strMonth = strMonth.substring(1)
	if (strYr.charAt(0) == "0" && strYr.length > 3) strYr = strYr.substring(1)

	month = parseInt(strMonth)
	day = parseInt(strDay)
	year = parseInt(strYr)

	if (pos1 == -1 || pos2 == -1){
		alert("Date format should be: dd/mm/yyyy.")
		return false
	}
	if (strMonth.length < 1 || month < 1 || month > 12){
		alert("Please enter valid month.")
		return false
	}
	if (strDay.length < 1 || day < 1 || day > 31 || (month == 2 && day > daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Please enter valid day.")
		return false
	}
	if (strYear.length != 4 || year == 0){
		alert("Please enter 4 digit year.")
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1) != -1 || isInteger(stripCharsInBag(dtStr, dtCh)) == false){
		alert("Please enter valid date.")
		return false
	}
	return true
}
function saveSearch(SearchName, OfferTypeID, PostCode, Distance, TubeStationID){
	var msg='';

	if(SearchName=='')msg=msg+'Please enter Search Name.\n';

	if(msg!=''){
		alert(msg);
	}else{
		document.getElementById('ifrm').src='iframe.asp?act=src&SearchName='+SearchName+'&OfferTypeID='+OfferTypeID+'&PostCode='+PostCode+'&Distance='+Distance+'&TubeStationID='+TubeStationID;
	}
}
function addToFavourites(VendorOfferID, GUID){
	document.getElementById('ifrm').src='iframe.asp?act=addfav&VendorOfferID='+VendorOfferID+'&GUID='+GUID;
}
function removeFromFavourites(VendorOfferID, GUID){
	document.getElementById('ifrm').src='iframe.asp?act=delfav&VendorOfferID='+VendorOfferID+'&GUID='+GUID;
}
function handleVenueClick(venueId){
	if(document.getElementById('vd'+venueId).style.display=='none'){
		document.getElementById('vd'+venueId).style.display='';
		document.getElementById('imgInfo'+venueId).src='images/general/less.info.orange.gif';
	}else{
		document.getElementById('vd'+venueId).style.display='none';
		document.getElementById('imgInfo'+venueId).src='images/general/more.info.orange.gif';
	};
}