// ------ ACCOUNT MENU JAVASVRIPT FUNCTIONS  ----------------------------------
function menuClick(id) {

		var currentClass = document.getElementById(id).className;
		closeMenu(id);
		
		//alert("Class=" + currentClass + " for MenuItem=" + id);
		
		if(currentClass=="Menu_on"){
			document.getElementById(id).className = "Menu_off";	
			subMenu(id,'none');
		}else{
			document.getElementById(id).className = "Menu_on";		
			subMenu(id,'');
		}	
		
	}
	
	function subMenu(id,show){		
		if(document.getElementById(id + "_sub")){
			document.getElementById(id + "_sub").style.display = show;
		}
	}
	
	function closeMenu(id){
		
		var i=0;
		var elemID = "";
		var currentClass = "";
		
		for (i=0;i<=6;i++){
			
			elemID = 'pm' + i;
			
			if(document.getElementById(elemID) && id != elemID){
			
				currentClass = document.getElementById(elemID).className;
				
				if(currentClass=="Menu_on"){
					document.getElementById(elemID).className = "Menu_off";	
					subMenu(elemID,'none');				
				}	
			}
		}
	}
	
	function loadStatus(strStatus){	
		
		document.getElementById('account_body').innerHTML = "<div id='loading_div' class='loading_div'><img src='../images/ajax-loader.gif' align='absmiddle'>&nbsp;&nbsp; " + strStatus + "<label id='loadTime'></label></div>";		
		InitializeTimer();
	}
	
	function loadPage(id){
		var div = id.slice(0,7);		
		// turn menus off		
		div = typeof div === "string" ? document.getElementById(div) : div;
		var elms = div.getElementsByTagName("div");
		for(var i = 0, maxI = elms.length; i < maxI; ++i) {
			var elm = elms[i];			
			var cName = document.getElementById(elm.id).className;
			//alert("newMenuId: " + id + "\nClass: " + cName + "\nId: " + elm.id);
			if(cName=="subMenu_on"){				
				document.getElementById(elm.id).className = "subMenu_off";
			}			
		}				
		document.getElementById('account_body').innerHTML = "<div id='loading_div' class='loading_div'><img src='../images/ajax-loader.gif' align='absmiddle'>&nbsp;&nbsp; Loading Content...<label id='loadTime'></label></div>";		
		document.getElementById(id).className = "subMenu_on";
	}

// ------ ACCOUNT SETTINGS (inc_Account_User.asp)  ----------------------------------

function selCountry(ISO){
	
	if (ISO.length > 0) {			
		document.frm.flag.src='<%=strImage%>images/icons/flags/countries/png/' + ISO + '.png'		
	}else{
		document.frm.flag.src='<%=strImage%>images/spacer.gif'
	}
}
	
function hidediv(ID) {
	
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(ID).style.display = 'none';
	}else{
		if (document.layers) { // Netscape 4				
			document[ID].display = 'none';
		}else{ // IE 4				
			document[ID].display = 'none';
		}
	}
	
}

function showdiv(ID) {
	
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(ID).style.display = '';						
	}else {
		if (document.layers) { // Netscape 4				
			document[ID].display = '';				
		}else { // IE 4				
			document.all[ID].style.display = '';				
		}
	}
}

function showPane(cPane,totPanes){		
	
	// hide message Page
	hidediv('MSG');
	
	// hide all Panes
	var i=0;
	for (i=0;i<=(totPanes-1);i++){
		document.getElementById('M'+i).className='aMenuItem';
		hidediv('F' + i);
	}
	
	//set current Pane up onaho
	document.getElementById('M'+cPane).className='aMenuItem_sel';
	showdiv('F'+cPane);	
}

function initializePageLoad(cPane,totPanes){		
	
	// hide all Panes
	var i=0;
	for (i=0;i<=(totPanes-1);i++){
		document.getElementById('M'+i).className='aMenuItem';
		hidediv('F' + i);
	}
			
	//set current Pane up onaho
	document.getElementById('M'+cPane).className='aMenuItem_sel';
	showdiv('F'+cPane);

}	

// ------ PAYMENT SETTINGS (inc_Account_PaymentSettings.asp)  ----------------------------------

function edp(cppID,fname,lname,address,city,ste,zip,cardNum,cardType,exM,exY,card_desc){
	//alert("profileID " + profileID);
	// load data		
	document.getElementById("card_desc").innerHTML = card_desc;
	document.getElementById("ed_fname").value = fname;
	document.getElementById("ed_lname").value = lname;
	document.getElementById("ed_address").value = address;
	document.getElementById("ed_city").value = city;
	document.getElementById("ed_zip").value = zip;
	document.getElementById("ed_state").value = ste;		
	document.getElementById("ed_cardNum").value = cardNum;
	document.getElementById("ed_cardtype").value = cardType;
	document.getElementById("ed_exM").value = exM;
	document.getElementById("ed_exY").value = exY;
	document.getElementById("customerPaymentProfileId").value = cppID;
	
	// display edit pane
	showPane(2,3);
}

// Define Global as Valid for use with function below
var isValid = true;

function validateCC_Form(formType){
	// initialize local
	isValid = true;
	
	
	if(formType=="add"){
	//validate add new CC form	
		
		// validate fields
		isValid = validateTextField("fName",1,"First Name on your credit card");
		isValid = validateTextField("lName",1,"Last Name on your credit card");
		isValid = validateTextField("cardNum",13,"Card Number must be 13 to 16 characters");
		isValid = validateTextField("csc",3,"3 to 4 numbers");
		isValid = validateTextField("address",1,"Billing Address for your card");
		isValid = validateTextField("city",1,"Billing City for your card");
		isValid = validateTextField("zip",5,"5 number Billing Zip Code");
		isValid = validateTextField("State",1,"Billing State");			
		isValid = validateExpDate("Date must be valid");
		
		if(isValid== true){
			document.frmAdd.submit();			
		}
				
	}else if(formType=="edit"){
	//validate edit CC form
		
		// validate fields			
		isValid = validateTextField("ed_csc",3,"3 to 4 numbers");
		isValid = validateTextField("ed_address",1,"Billing Address for your card");
		isValid = validateTextField("ed_city",1,"Billing City for your card");
		isValid = validateTextField("ed_state",1,"Billing State");			
		isValid = validateTextField("ed_zip",5,"5 number Billing Zip Code");			
		isValid = validateExpDate_EDIT("Date must be valid");
		
		
		if(isValid== true){
			document.frmUpdate.submit();			
		}
		
	}
	
}

function validateTextField(elementID,minLength,strMessage){
	
	// validate field
	var textValue = document.getElementById(elementID).value;
	var br="";
	
	if(textValue.length < minLength){
		if(elementID.indexOf("zip")<0){
			br="<br><img src='../images/icons/mini/RedUpArrow.gif' style='padding-top:1px;' hspace=0 vspace=0> ";
		}else{
			br="<img src='../images/icons/mini/LeftArrow.gif' style='padding-top:1px;' hspace=0 vspace=0> ";
		}
		
		document.getElementById("lbl_" + elementID).innerHTML = br + strMessage;
		document.getElementById(elementID).style.backgroundColor="lightyellow";
		return false;			
		
	}else{
		document.getElementById("lbl_" + elementID).innerHTML = "";
		document.getElementById(elementID).style.backgroundColor="#fff";	

		return isValid;	

	}

}

function validateExpDate(strMessage){
	
	// validate field
	var exM = document.getElementById("ExpirationM").value;
	var exY = document.getElementById("ExpirationY").value;
	
	var today = new Date();
	var expDate = new Date();
	expDate.setFullYear(exY,exM,0);
	
	if(expDate<today){
		document.getElementById("lbl_exp").innerHTML = "<br><img src='../images/icons/mini/RedUpArrow.gif' style='padding-top:1px;' hspace=0 vspace=0> " + strMessage;
		return false;
	}else{
		document.getElementById("lbl_exp").innerHTML = "";		
		return isValid;				
	}

}
function validateExpDate_EDIT(strMessage){
	
	// validate field
	var exM = document.getElementById("ed_exM").value;
	var exY = document.getElementById("ed_exY").value;
	
	var today = new Date();
	var expDate = new Date();
	expDate.setFullYear(exY,exM,0);
	
	if(expDate<today){
		document.getElementById("lbl_ed_ex").innerHTML = "<br><img src='../images/icons/mini/RedUpArrow.gif' style='padding-top:1px;' hspace=0 vspace=0> " + strMessage;
		return false;
	}else{
		document.getElementById("lbl_ed_ex").innerHTML = "";		
		return isValid;				
	}

}

function rdp(cppID){

	// prompt user for delete
	var agree=confirm("Are you sure you want to remove this Credit Card?");
	if (agree){

		// load data		
		document.getElementById("cppid").value = cppID;
		
		// submit form
		document.frmRemove.submit();
	}
	
	
}

function extractNumber(obj, decimalPlaces, allowNegative){
	var temp = obj.value;
	
	// avoid changing things if already formatted correctly
	var reg0Str = '[0-9]*';
	if (decimalPlaces > 0) {
		reg0Str += '\\.?[0-9]{0,' + decimalPlaces + '}';
	} else if (decimalPlaces < 0) {
		reg0Str += '\\.?[0-9]*';
	}
	reg0Str = allowNegative ? '^-?' + reg0Str : '^' + reg0Str;
	reg0Str = reg0Str + '$';
	var reg0 = new RegExp(reg0Str);
	if (reg0.test(temp)) return true;

	// first replace all non numbers
	var reg1Str = '[^0-9' + (decimalPlaces != 0 ? '.' : '') + (allowNegative ? '-' : '') + ']';
	var reg1 = new RegExp(reg1Str, 'g');
	temp = temp.replace(reg1, '');

	if (allowNegative) {
		// replace extra negative
		var hasNegative = temp.length > 0 && temp.charAt(0) == '-';
		var reg2 = /-/g;
		temp = temp.replace(reg2, '');
		if (hasNegative) temp = '-' + temp;
	}
	
	if (decimalPlaces != 0) {
		var reg3 = /\./g;
		var reg3Array = reg3.exec(temp);
		if (reg3Array != null) {
			// keep only first occurrence of .
			//  and the number of places specified by decimalPlaces or the entire string if decimalPlaces < 0
			var reg3Right = temp.substring(reg3Array.index + reg3Array[0].length);
			reg3Right = reg3Right.replace(reg3, '');
			reg3Right = decimalPlaces > 0 ? reg3Right.substring(0, decimalPlaces) : reg3Right;
			temp = temp.substring(0,reg3Array.index) + '.' + reg3Right;
		}
	}
	
	obj.value = temp;
}

function blockNonNumbers(obj, e, allowDecimal, allowNegative){
	var key;
	var isCtrl = false;
	var keychar;
	var reg;
		
	if(window.event) {
		key = e.keyCode;
		isCtrl = window.event.ctrlKey
	}
	else if(e.which) {
		key = e.which;
		isCtrl = e.ctrlKey;
	}
	
	if (isNaN(key)) return true;
	
	keychar = String.fromCharCode(key);
	
	// check for backspace or delete, or if Ctrl was pressed
	if (key == 8 || isCtrl)
	{
		return true;
	}

	reg = /\d/;
	var isFirstN = allowNegative ? keychar == '-' && obj.value.indexOf('-') == -1 : false;
	var isFirstD = allowDecimal ? keychar == '.' && obj.value.indexOf('.') == -1 : false;
	
	return isFirstN || isFirstD || reg.test(keychar);
}

// ---- INC_OFFERS FUNCTIONS -------------------------------------------

function doMsgAction(msgAction){
		
	document.getElementById('msgAction').value = msgAction;		
	document.frmOffer.submit();

}

function Ajax_doMsgAction(strStatus,msgAction,strImage,mbox,oID,listingFilter,page,obf,obd){
//function Ajax_doMsgAction(loadStatus){
	
	if(document.getElementById("reply_showQA")){
		var showQA = document.getElementById("reply_showQA").checked;
	}
	//alert("showQA" + showQA);	
	var rt = document.getElementById("ta_Reply").value;	
	
	var qsURL = 'module=Offers'
		qsURL+='&mbox='+mbox;
		qsURL+='&offerID='+oID
		qsURL+='&listingfilter='+listingFilter
		qsURL+='&msgAction='+msgAction
		qsURL+='&page='+page
		qsURL+='&obf='+obf
		qsURL+='&obd='+obd
		qsURL+='&showQA='+showQA
		qsURL+='&ReplyText='+urlencode(rt);
		
	//alert(qsURL);
	ajax_load(strImage,qsURL);
	
	loadStatus(strStatus);
	
}

function urlencode(str) {
return escape(str).replace(/\+/g,'%2B').replace(/%20/g, '+').replace(/\*/g, '%2A').replace(/\//g, '%2F').replace(/@/g, '%40');
}

function SelectAll(me){		
	var f = document.frmOffer;		
	//var delList = "";
	for (var i=0;i<f.elements.length;i++) {
		var el=f.elements[i]; 
		if (el.type=="checkbox") {
			el.checked = me
			//alert(el.name);
			
			var col_ID = el.name;
			if(col_ID != "checkALL"){
				var temp_ary = col_ID.split("|");
				doSelect(me,temp_ary[1]);
			}
			
			//doSelect(el.checked,
		}
	}
}
	
function doSelect(me,col_ID){		
	var f = document.frmOffer;	
	//alert(me);
	//alert(col_ID);
	//alert(document.getElementById("bgc_" + col_ID).value
	
	
	if (me==true) {
		document.getElementById(col_ID).style.backgroundColor="#efefef";
	}else{	
		document.getElementById(col_ID).style.backgroundColor=document.getElementById("bgc_" + col_ID).value;
	} 			 	
}

// ----------  LISTING VIEWS ---------------------------

function hideLD(ID) {
	if (document.getElementById(ID).style.display == 'none'){
		showLD(ID)
		document.getElementById('searchPane').value = ID;
	}else{
	
		if (document.getElementById) { // DOM3 = IE5, NS6
			document.getElementById(ID).style.display = 'none';
		}else{
			if (document.layers) { // Netscape 4				
				document[ID].display = 'none';
			}else{ // IE 4				
				document[ID].display = 'none';
			}
		}
	}
}

function showLD(ID) {

	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(ID).style.display = '';
		
	}else {
		if (document.layers) { // Netscape 4				
			document[ID].display = '';
		}else { // IE 4				
			document.all[ID].style.display = '';
		}
	}
}

// ------- EDIT LISTING (int_listing_tabs.asp) --------------

var strIMG = "<%=strImage%>";
	
	
	function confirmRem(listing_ID){
	
		var result = confirm("Are you sure you want to remove this Listing? \nYour listing will be moved to the 'Removed' Listing area. \nPLEASE NOTE!! Removed Listings cannot be Renewed.")
		if (result==true){
			document.location.href="?module=editListing&remListing=true&" + listing_ID;
		}
	}
	
	function RemoveListing(PKID){
		var features = "status=0,height=450,width=550,resize=1";		
		window.open("dlgRemoveListing.asp?nStep=0&" + PKID,"dlg_Remove", features);
	}	

	function CountAdText(charMax){
		
		var AdText = document.getElementById("AdText").value;
		var adLen = AdText.length;
		
		if (adLen >= charMax) {
			document.getElementById("AdText").value = AdText.substr(0,charMax);	
			document.getElementById("NumChar").value = 0;					
		}else{
			document.getElementById("NumChar").value = (charMax - adLen);	
		}		
		
	}
	
	function DoTurbo(Ttype){	
		var T = document.getElementById("Turbo").checked;
		var TT = document.getElementById("TwinTurbo").checked;
			
		if (Ttype == "T") {
			if (T == true){document.getElementById("TwinTurbo").checked = false;}			
		} else if (Ttype == "TT") {
			if (TT == true){	document.getElementById("Turbo").checked = false;}
		}
	}



// ==== TIMER FUNCTIONS =======

var secs
var timerID = null
var timerRunning = false
var delay = 1000

function InitializeTimer()
{
    // Set the length of the timer, in seconds
    secs = 1
    StopTheClock()
    StartTheTimer()
}

function StopTheClock()
{
    if(timerRunning)
        clearTimeout(timerID)
    timerRunning = false
}

function StartTheTimer()
{
    if (secs==0)
    {
        StopTheClock()
        // Here's where you put something useful that's
        // supposed to happen after the allotted time.
        // For example, you could display a message:
        //alert("You have just wasted 10 seconds of your life.")
		if(document.getElementById("loadTime")){
			var cCount = document.getElementById("loadTime").value;
			
			document.getElementById("loadTime").value = cCount+1;
			
		}else{
				
		}
		
    }
    else
    {
        self.status = secs
        secs = secs - 1
        timerRunning = true
        timerID = self.setTimeout("StartTheTimer()", delay)
    }
}




	/*
	function EditAd(PKID){
		var f = self.document.frm;		
		f.PKID.value = PKID;				
		document.frm.submit();		
	}	
	*/	
	function DoUpdate(xAction){
		var f = self.document.frmDetail;
		if (xAction == "DELETE"){
		   if(confirm("Are you sure you want to delete this listing?")){	
		    f.xAction.value = xAction;
			document.frmDetail.submit();		
		   }
		}else{					
			f.xAction.value = xAction;
			document.frm.submit();		
		}
	}
	/*	
	function DoTurbo(Ttype){	
	var T = document.frm.Turbo.checked;
	var TT = document.frm.TwinTurbo.checked;
		
	if (Ttype == "T") {
		if (T == true){
			document.frm.TwinTurbo.checked = false;	
			//ENABLE SUB OBJECTS			
		}
		
	} else if (Ttype == "TT") {
			if (TT == true){
				document.frm.Turbo.checked = false;	
				//ENABLE SUB OBJECTS			
			}
		}		
	}
	*/
	function emptyFolder(mBox){
	
		if(confirm("Are you sure you want to Empty all messages from " + mBox + " folder?")){	
		
			var strRedir = document.getElementById("strRedirect").value;
			loadStatus('Removing Messages from ' + mBox);
			ajax_load(strRedir,'module=Offers&mbox=trash&listingfilter=&msgAction=emptyfolder');
			//document.location.href="<%=strRedirect%>account/?module=Offers&mbox=trash&listingfilter=&msgAction=emptyfolder";
		}
	
	}
