var phone = "()- 0123456789";
var numb = "0123456789";
var alpha = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
var glbElem;
var vf = new Array(3);
var vd = new Array(3);
var errMsgs = new Array(3);
vf[0] = new Array("rkey","description");
vd[0] = new Array("rk","descr");
errMsgs[0] = new Array("\nRestaurant Key","\nDescription");
vf[1] = new Array("email");
vd[1] = new Array("em");
errMsgs[1] = new Array("\nEmail Address");
vf[2] = new Array("title","description","etype");
vd[2] = new Array("ttl","descr","etyp");
errMsgs[2] = new Array("\nTitle", "\nDescription", "\nType of Event");
vf[3] = new Array("cname","subject","template","message","agreement");
vd[3] = new Array("camp","subj","temp","msg","agmnt");
errMsgs[3] = new Array("\nCampaign Name", "\nEmail Subject", "\nTemplate to use", "\nMessage Body", "\nAgree to terms of use.");
vf[4] = new Array("subject","template","message");
vd[4] = new Array("subj","temp","msg");
errMsgs[4] = new Array("\nEmail Subject", "\nTemplate to use", "\nMessage Body");
vf[5] = new Array("coupon_offer","coupon_description","expires");
vd[5] = new Array("offer","descr","exp");
errMsgs[5] = new Array("\nCoupon Title", "\nDescription of coupon offer", "\nCoupon Expiration Date");
var cuisineCount = 22;
var atmosphereCount = 8;

function getTemplateThumb(thumb){
	if(thumb != 0){
		var tPath = new Array();
		var tValue = new Array();
		tValue = thumb.split(':');
		tPath = tValue[1].split('.');
		var newPath = 'thumbs/'+tPath[0]+'.jpg';
		document.getElementById('thumbnail').src= newPath;
		document.getElementById('athumb').href = newPath;
		document.getElementById('template').value = tValue[0];
	}
	else{
		document.getElementById('template').value = 0;
	}
}

function getTempCategories(cat){
	document.getElementById('thumbs').src = 'images/noTemplate.gif';
	document.getElementById('template').value = 0;
	xajax_getTempCategories(cat);
}

function validEmail(email){
    var tValid = true;
    if((email.length < 8) ||
        ((email.length>0) && (! email.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi)))){
        tValid = false;
        if(first){
            first = false;
            glbElem = email;
        }
    }
    return tValid;
}

function hotkeySearch(val){
	document.getElementById('patrons_overlay').style.visibility = 'visible';
	document.getElementById('patrons_indicator').style.visibility = 'visible';
	var tbodyElement = document.getElementById('patrons');
	while (tbodyElement.firstChild != undefined){
		tbodyElement.removeChild(tbodyElement.firstChild);
	}
	xajax_hotkeySearch(val);
}

function hidePatronLoading(){
	
	document.getElementById('patrons_overlay').style.visibility = 'hidden';
	document.getElementById('patrons_indicator').style.visibility = 'hidden';
}

function savePatron(){
	var tbodyElement = document.getElementById('patrons');
	while (tbodyElement.firstChild != undefined){
		tbodyElement.removeChild(tbodyElement.firstChild);
	}
	xajax_savePatron(xajax.getFormValues('cinfo'));
	return false;
}

function toggleCampaign(){
	xajax_toggleCampaign(document.getElementById('cid').value);
	return false;
}

function viewCampaign(){
	xajax_viewCampaign(document.getElementById('cid'));
}

function reuseCampaign(){
	if(confirm('You are about to reuse this previously sent campaign.\nIt is required that you provide a new name for the campaign.\nDo you want to do this?')){
		xajax_reuseCampaign(1);
	}
	return false;
}

function clearWhiteSpace(){
	var txt, i;
	txt = document.getElementsByTagName('input');
	for(i=0; i<txt.length; i++){
		if(txt[i].type == 'text' && txt[i].value.match(/^\s*$/)){
			txt[i].value = '';
		}
	}
}

function resetColors(fid){
	document.getElementById('status').innerHTML = "&nbsp;";
	
	for(var i=0; i<vd[fid].length; i++){
		//alert("Element: " + vd[fid][i]);			
    document.getElementById(vd[fid][i]).style.color = '#414141';
  }
}

function delayedSetFocus(){
		if(glbElem != null)
    	glbElem.focus();
}

function saveGInfo(){
	if(document.getElementById('gname').value == ""){
		document.getElementById('gnameLabel').style.color = "red";
		document.getElementById('status').innerHTML = "Missing Group Name";
		alert("A Group Name is required.");
	}
	else{
		document.getElementById('gnameLabel').style.color = "black";
		var tbodyElement = document.getElementById('pgroups');
		while (tbodyElement.firstChild != undefined){
			tbodyElement.removeChild(tbodyElement.firstChild);
		}
		xajax_saveGroup(xajax.getFormValues('gInfo'));
	}
	return false;
}

function deletePatronGroup(gid){
	if(confirm('Are you sure that you would like to delete this group?')){
		var tbodyElement = document.getElementById('pgroups');
		while (tbodyElement.firstChild != undefined){
			tbodyElement.removeChild(tbodyElement.firstChild);
		}
		xajax_deleteGroup(gid);
	}
}

function loadGroup(gid){
	document.getElementById('gnameLabel').style.color = "black";
	xajax_loadGroup(gid);
}

function clearGInfo(){
	document.getElementById('gname').value = "";
	document.getElementById('description').value = "";
	document.getElementById('gid').value = 0;
	document.getElementById('gnameLabel').style.color = "black";
	document.getElementById('status').innerHTML = "&nbsp;";
	return false;
}

function setPatronGroups(pgps){
	if(pgps.length > 0){
		var chks = document.getElementsByTagName('input');
		for(var i=0;i<chks.length;i++){
			if(chks[i].type == 'checkbox'){
				j = 0;
				for(j=0;j<pgps.length;j++){
					if(pgps[j] == chks[i].value){
						chks[i].checked = true;
					}
				}
			}
		}
	}
}

function loadPatron(pid){
	document.getElementById('birth').style.color = "black";
	document.getElementById('anniv').style.color = "black";
	document.getElementById('em').style.color = "black";
	var chks = document.getElementsByTagName('input');
	for(var i=0;i<chks.length;i++){
		if(chks[i].type == 'checkbox')
			chks[i].checked = false;
	}
	//var tbodyElement = document.getElementById('pgroups_sel');
	//while (tbodyElement.firstChild != undefined){
	//	tbodyElement.removeChild(tbodyElement.firstChild);
	//}
	xajax_loadPatron(pid);
}

function deletePatron(val){
	var pid = document.getElementById('cid').value;
	if(confirm('Are you sure that you would like to delete this customer from your database?')){
		var tbodyElement = document.getElementById('patrons');
		while (tbodyElement.firstChild != undefined){
			tbodyElement.removeChild(tbodyElement.firstChild);
		}	
		if(val == pid){
			clearPatronInfo();
		}
		xajax_deletePatron(val);
	}
	return false;
}

function clearPatronInfo(){
	document.getElementById('fname').value = "";
	document.getElementById('lname').value = "";
	document.getElementById('email').value = "";
	document.getElementById('bmonth').value = 0;
	document.getElementById('bday').value = 0;
	document.getElementById('amonth').value = 0;
	document.getElementById('aday').value = 0;
	document.getElementById('bmonth').value = 0;
	document.getElementById('cid').value = 0;
	document.getElementById('bmonth').value = 0;
	document.getElementById('pClear').value = "Clear";
	document.getElementById('status').innerHTML = "&nbsp;";
	document.getElementById('birth').style.color = "black";
	document.getElementById('anniv').style.color = "black";
	document.getElementById('em').style.color = "black";
	var chks = document.getElementsByTagName('input');
	for(var i=0;i<chks.length;i++){
		if(chks[i].type == 'checkbox')
			chks[i].checked = false;
	}
	return false;
}

function verifyInfo(fid,con){
	clearWhiteSpace();
	resetColors(fid);
	first = true;
	var errMsg = "Missing Required Information:";
	var valid = true;
	var item = '';
	var iVal = new String();
	if(fid == 1){
		var st = checkDates();
		if(st > 0){
			switch(st){
				case 1:
					errMsg += "\nBirthday not set correctly";
					document.getElementById('birth').style.color = "red";
					break;
				case 2:
					errMsg += "\nAnniversary not set correctly";
					document.getElementById('anniv').style.color = "red";
					break;
				case 3:
					errMsg += "\nBirthday and Anniversary dates not set correctly";
					document.getElementById('birth').style.color = "red";
					document.getElementById('anniv').style.color = "red";
					break;
			}
			valid = false;
		}
	}
	
	for(var i=0;i<vf[fid].length;i++){
		item = document.getElementById(vf[fid][i]);
		switch(vf[fid][i]){
			case 'message':
				if (fckLength() == 0){
					valid = false;
				  errMsg += errMsgs[fid][i];
				  document.getElementById(vd[fid][i]).style.color = 'red';
				  if(first){
				  	glbElem = item;
				    first = false;
				  }
				}
				break;
			case 'email':
				if(! validEmail(item.value)){
					valid = false;
			    errMsg += errMsgs[fid][i];
			    document.getElementById(vd[fid][i]).style.color = 'red';
			    if(first){
			    	glbElem = item;
			      first = false;
			    }
				}
				break;
			case 'agreement':
				if(item.checked == false && con > 0){
		  		valid = false;
		    	errMsg += errMsgs[fid][i];
		    	document.getElementById(vd[fid][i]).style.color = 'red';
		    	if(first){
		    		glbElem = item;
		      	first = false;
		    	}
		  	}
				break;
			default:
				iVal = item.value;
				iVal = iVal.trim();
				if(iVal.length == 0 || iVal == 0){
					valid = false;
			    errMsg += errMsgs[fid][i];
			    document.getElementById(vd[fid][i]).style.color = 'red';
			    if(first){
			    	glbElem = item;
			      first = false;
			    }
				}
				break;
		}
	}
	if(! valid){
		if(fid ==3 | fid == 4){
			setErrorMessage();
		}
		alert(errMsg);
  	//setTimeout('delayedSetFocus()', 100);
	}
	else{
		if(con)
			valid = confirm('This campaign will be sent to the customers in your database.\nAny Group selections will apply.\nClick OK to send this campaign.');
		if(valid && (fid == 3 || fid == 4)){
			var oEditor = FCKeditorAPI.GetInstance('c_message');
			document.getElementById('message').value = oEditor.EditorDocument.body.innerHTML;
		}
	}

  return valid;
}

function clearCampInfo(){
	var old_id = document.getElementById('cid').value;
	document.getElementById('status').innerHTML = "&nbsp;";
	document.getElementById('camp').style.color = "black";
	document.getElementById('cname').value = "";
	document.getElementById('subj').style.color = "black";
	document.getElementById('subject').value = "";
	document.getElementById('subj').style.color = "black";
	document.getElementById('subject').value = "";
	document.getElementById('temp').style.color = "black";
	document.getElementById('temp_theme').value = 0;
	document.getElementById('template').value = 0;
	document.getElementById('templates').value = 0;
	document.getElementById('templates').disabled = true;
	document.getElementById('thumbnail').src='images/noTemplate.gif';
	document.getElementById('msg').style.color = "black";
	var oEditor = FCKeditorAPI.GetInstance('c_message');
	oEditor.EditorDocument.body.innerHTML = "";
	document.getElementById('agmnt').style.color = "black";
	var chks = document.getElementsByTagName('input');
	for(var i=0;i<chks.length;i++){
		if(chks[i].type == 'checkbox')
			chks[i].checked = false;
	}
	document.getElementById('s_on').value = 0;
	document.getElementById('cid').value = 0;
	var view = document.getElementById('c_view');
	if(old_id > 0){
		view.style.display = "none";
		document.getElementById('c_reuse').style.display = "none";
		document.getElementById('c_preview').style.display = "inline";
		document.getElementById('c_save').style.display = "inline";
		document.getElementById('c_send').style.display = "inline";
		document.getElementById('c_reuse').style.display = "none";
		document.getElementById('c_close').value = "Clear";
		document.getElementById('campType').innerHTML = "&gt; Create New Campaign";
	}
	return false;
}

function setErrorMessage(){
	document.getElementById('status').innerHTML = "Missing Required Information";
}

function fckLength(){
	// Get the editor instance that we want to interact with.
	var oEditor = FCKeditorAPI.GetInstance('c_message') ;
	// Get the Editor Area DOM (Document object).
	var oDOM = oEditor.EditorDocument ;
	var iLength ;
	
	if ( document.all ){
		// If Internet Explorer.
		iLength = oDOM.body.innerText.length ;
	}
	else{
		// If Gecko.
		var r = oDOM.createRange() ; 
		r.selectNodeContents( oDOM.body ) ;
		iLength = r.toString().length ;
	}
return iLength;
}

function checkDates(){
	var valid = 0;
	var month = document.getElementById('bmonth').value;
	var day = document.getElementById('bday').value;
	if (!(( month == 0 &&   day == 0) || (month > 0 &&  day > 0)))
		valid = 1;
	month = document.getElementById('amonth').value;
	var day = document.getElementById('aday').value;
	if (!(( month == 0 &&   day == 0) || (month > 0 &&  day > 0))){
			if(valid > 0)
				valid = 3;
			else
				valid = 2;
	}
	return valid;
}

function verifyPasswords(){
    var valid ;
    var msg = "Passwords do not match.";
    var doc = window.document.user;
    valid = (doc.passwd1.value == doc.passwd2.value);
    if((doc.uid.value == 0) && (doc.passwd1.value.length < 6)){
        valid = false;
        msg = "Password must be 6 characters or more in length";
    }
    if(! valid){
        alert(msg);
        doc.passwd1.value = "";
        doc.passwd2.value = "";
        doc.passwd1.focus();
    }
    return valid;
}

function numbersOnly(t,v){
    var w = "";
    for (i=0; i < t.value.length; i++) {
        x = t.value.charAt(i);
        if (v.indexOf(x,0) != -1)
        w += x;
    }
    t.value = w;
}

String.prototype.trim = function () {
    return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

function delete_Coupon(){
	if(confirm('Are you sure that you would like to delete this coupon from your listing?')){
		xajax_deleteCoupon(document.getElementById('cid').value);	
	}
	return false;
}

function deleteCampaign(cname, fname){
	if(confirm('Are you sure you want to delete the campaign:\n'+cname+'?')){
		xajax_deleteCampaign(fname);
	}
}
