// JavaScript Document

function MM_openBrWindow(theURL,winName,features) { // v2.0
  window.open(theURL,winName,features);
}

function limitText(limitField, limitCount, limitNum) {
	if (limitField.value.length > limitNum) {
		limitField.value = limitField.value.substring(0, limitNum);
	} else {
		limitCount.value = limitNum - limitField.value.length;
	}
}

function submitForm(){

	// var fname = document.getElementById('fname');
	var broadcaster = document.getElementById('broadcaster');
    var title = document.getElementById('title');
	var fname = document.getElementById('fname');
    var lname = document.getElementById('lname');
	var address = document.getElementById('address');
	var city = document.getElementById('city');
    var country = document.getElementById('country');
	var state = document.getElementById('state');
    var province = document.getElementById('province');
	var zip = document.getElementById('zip');
	var officePhone = document.getElementById('internationalOfficePhone').value;
	var mobilePhone = document.getElementById('internationalMobilePhone').value;
	var email = document.getElementById('email');
    var emailConfirm = document.getElementById('emailConfirm');
	var website = document.getElementById('companyWebsite');
	var siteFocus = document.getElementById('siteFocus');
	var dailyVisitors = document.getElementById('q1');
	var monthlyVisitors = document.getElementById('q2');
	var monthlyViews = document.getElementById('q3');
	var monthlyAdImpressions = document.getElementById('q4');
	var howHear = document.getElementById('howHear');
	var clickAds = document.getElementById('clickAds');
	var policies = document.getElementById('policies');
	var newAccount = document.getElementById('newAccount');
	
	if(broadcaster.value == ''){
		alert ("Please fill in your broadcaster or company name.");
		return false;
	}else if (title.value == '') {
        alert("Please fill in your title/position.");
        return false;
    }else if(fname.value == '' ){
		alert ("Please fill in your first name.");
		return false;
    }else if(lname.value == '' ){
    	alert("Please fill in your last name.");
    	return false;
	}else if(address.value == ''){
		alert ("Please fill in your address.");
		return false;
	}else if(city.value == ''){
		alert ("Please fill in city.");
		return false;
	}else if (country.selectedIndex == 0) {
        if(state.selectedIndex == 0){
            alert ("Please select your state.");
            return false;
        }
    }else { // so it is not empty and it is not US
        if (province.value == '') {
            alert("Please provide your province");
            return false;
        }
    }

    if(zip.value == ''){
		alert ("Please fill in postal code.");
		return false;
	}else if (officePhone.length < 9){
		alert("Please enter a valid Company Phone Number.");
		return false;
 	}else if (mobilePhone.length < 9){
		alert("Please enter a valid Mobile Phone Number.");
		return false;
 	}else if (email.value.indexOf("@")<1 || email.value.indexOf(".")==-1 || email.value.indexOf(",")!=-1 || email.value.indexOf(" ")!=-1 ||	 email.value.length<6){
   		alert("Please enter a valid E-mail address.");
   		email.focus();
   		return false;
	}else if (email.value != emailConfirm.value) {
        alert("Email and email confirm do not match");
        return false;
    }else if (website.value == '') {
		alert("Please fill in your website.");
		return false;
	} else if (siteFocus.selectedIndex == 0) {
		alert("Please select your website's focus.");
		return false;
	} else if (dailyVisitors.value == '') {
		alert("Please enter your website's number of daily unique visitors.");
		return false;
	} else if (monthlyVisitors.value == '') {
		alert("Please enter your website's number of monthly unique visitors.");
		return false;
	} else if (monthlyViews.value == '') {
		alert("Please enter your website's number of monthly page views.");
		return false;
	} else if (monthlyAdImpressions.value == '') {
		alert("Please enter the number of impressions you plan on making available per month.");
		return false;
	} else if (howHear.selectedIndex == 0) {
		alert("Please tell us how you heard about RadioLoyalty.");
		return false;
	} else if (clickAds && !(clickAds.checked)) {
		alert("In order to continue, you must agree not to click on ads you are serving through RadioLoyalty.");
		return false;
	} else if (policies && !(policies.checked)) {
		alert("In order to continue, you must have read the RadioLoyalty Program Policies.");
		return false;
	} else if (newAccount && !(newAccount.checked)) {
		alert("Sorry, you are not allowed to create a new account if you already have one.");
		return false;
	}
		
    document.getElementById('submitFormAction').value = "submit";
	
	return true;
}

function alertMissingField(fieldName) {
    alert("Missing required field: " + fieldName);
    return false;
}

function submitBilling(){

    var accountType = document.getElementById('accountType');
    var payee = document.getElementById('payee').value;
    var address = document.getElementById('address').value;
    var city = document.getElementById('city').value;
    var state = document.getElementById('state').value;
    var zip = document.getElementById('zip').value;
    var country = document.getElementById('country').value;
    var province = document.getElementById('province').value;
    var receiveChecks = document.getElementById('receiveChecks');
    var identification = document.getElementById('identification');
    // var tax = document.getElementById('tax');
    // var taxNumber = document.getElementById('taxNumber').value;

    var ssn1 = document.getElementById('ssn1').value;
    var ssn2 = document.getElementById('ssn2').value;
    var ssn3 = document.getElementById('ssn3').value;

    var employerID1 = document.getElementById('employerID1').value;
    var employerID2 = document.getElementById('employerID2').value;
    var usCitizen = document.getElementById('usCitizen');

    var bankName = document.getElementById('bankName').value;
    var bankAccountNumber = document.getElementById('bankAccountNumber').value;
    var bankRoutingNumber = document.getElementById('bankRoutingNumber').value;
    var bankAddress = document.getElementById('bankAddress').value;
    var bankPhoneNumber = document.getElementById('bankPhoneNumber').value;

    if(accountType.selectedIndex == 0) {
        return alertMissingField("Account Type");
    }
    else if (payee == '' ) {
        return alertMissingField("Payee");
    }
    else if (address == '') {
        return alertMissingField("Address");
    }
    else if (city == '') {
        return alertMissingField("City");
    
    }else if (country.selectedIndex == 0) {
    	if(state.selectedIndex == 0){
    		return alertMissingField("State");
    		return false;
    	}
    }else if(country.selectedIndex != 0){ // so it is not empty and it is not US
    	if (province.value == '') {
    		return alertMissingField("Province");
    		return false;
    	}
    }
    else if (zip == '') {
        return alertMissingField("Zip");
    }
    else if (!receiveChecks.checked) {
        return alertMissingField("Receive Checks");
    }
    else if (identification.selectedIndex == 0) {
        return alertMissingField("Appropriate Identification");
    }
    /*
	 * else if (tax.selectedIndex == 0) { return alertMissingField("Enter Tax"); }
	 * else if (taxNumber == "") { return alertMissingField("Tax Identification
	 * Number"); }
	 */
    else if ((accountType.selectedIndex == 1) && ((ssn1.value == "") || (ssn1.length != 3) ||
             (ssn2.value == "") || (ssn2.length != 2) ||
             (ssn3.value == "") || (ssn3.length != 4))) {
        return alertMissingField("Social Security Number");
    }
    else if ((accountType.selctedIndex == 2) && ((employerID1 == "") || (employerID1.length != 2) ||
    		 (employerID2 == "") || (employerID2.length != 7))) {
        return alertMissingField("Employer Identification Number");
    }
    else if (bankName == "") {
        return alertMissingField("Bank Name");
    }
    else if (bankAccountNumber == "") {
        return alertMissingField("Bank Account Number");
    }
    else if (bankRoutingNumber == "") {
        return alertMissingField("Bank Routing Number");
    }
    else if (bankAddress == "") {
        return alertMissingField("Bank Address");
    }
    else if (bankPhoneNumber == "") {
        return alertMissingField("Bank Phone Number");
    }

    document.getElementById('submitFormAction').value = "submit";

    return true;
}

function submitStationInformation() {
}

function submitConfigurator(p2pAudioType, p2pVideoType) {

    // this form is a little weird, just have to make sure they select at least
    // one radio for the logos/banners, if they are uploading files they won't have a "value" 
    // but the php will catch them if there is something wrong
    // so here just check if they selected to put the text version in, then they have to have something...

    var stationLogoRadioNone = document.getElementById('stationLogoRadioNone');
    var stationLogoRadioFile = document.getElementById('stationLogoRadioFile');
    var stationLogoRadioURL = document.getElementById('stationLogoRadioURL');

    if ((!stationLogoRadioNone.checked) && (!stationLogoRadioFile.checked) && (!stationLogoRadioURL.checked)) {
        alert("please select if you are providing a logo, and if so, upload the image or provide the url to the logo");
        return false;
    }
    else if (stationLogoRadioURL.checked) {
        var txtLogo = document.getElementById('txtLogo').value;
        if (txtLogo == "") {
            alert("Please provide the url for your station's logo");
            return false;
        }
    }

    // the main/bottom logo upload/text are optional, but they at least have to say no thanks...
    // or if they say they are going to upload something, they need to

    var mainLogoRadioNone = document.getElementById('mainLogoRadioNone');
    var mainLogoRadioFile = document.getElementById('mainLogoRadioFile');
    var mainLogoRadioURL = document.getElementById('mainLogoRadioURL');

    if ((!mainLogoRadioNone.checked) && (!mainLogoRadioFile.checked) && (!mainLogoRadioURL.checked)) {
        alert("Please select if you are providing a 300x250 logo, and if so, upload the image or provide the url to the logo");
        return false;
    }
    else if (mainLogoRadioURL.checked) {
        var txtMainLogo = document.getElementById('txtMainLogo').value;
        if (txtMainLogo == "") {
            alert("Please provide the url to your station's 300x250 logo");
            return false;
        }
    }

    var bottomLogoRadioNone = document.getElementById('bottomLogoRadioNone');
    var bottomLogoRadioFile = document.getElementById('bottomLogoRadioFile');
    var bottomLogoRadioURL = document.getElementById('bottomLogoRadioURL');

    if ((!bottomLogoRadioNone.checked) && (!bottomLogoRadioFile.checked) && (!bottomLogoRadioURL.checked)) {
        alert("Please select if you are providing a 728x90 logo, and if so, upload the image or provide the url to the logo");
        return false;
    }
    else if (bottomLogoRadioURL.checked) {
        var txtBannerLogo = document.getElementById('txtBannerLogo');
        if (txtBannerLogo == "") {
            alert("Please provide the url to your station's 728x90 logo");
            return false;
        }
    }

    var mainBannerRadioNone = document.getElementById('mainBannerRadioNone');
    var mainBannerRadioURL = document.getElementById('mainBannerRadioURL');

    var txtMain = document.getElementById('txtMain').value;

    if ((!mainBannerRadioNone.checked) && (!mainBannerRadioURL.checked)) {
        alert("Please select if you are providing a 300x250 ad tag");
        return false;
    }
    else if (mainBannerRadioURL.checked) {
        var txtMain = document.getElementById('txtMain').value;
        if (txtMain == "") {
            alert("Please provide the 300x250 ad tag");
            return false;
        }
    }

    var bottomBannerRadioNone = document.getElementById('bottomBannerRadioNone');
    var bottomBannerRadioURL = document.getElementById('bottomBannerRadioURL');

    var txtBanner = document.getElementById('txtBanner').value;

    if ((!bottomBannerRadioNone.checked) && (!bottomBannerRadioURL.checked)) {
        alert("Please select if you providing a 728x90 ad tag");
        return false;
    }
    else if (bottomBannerRadioURL.checked) {
        var txtBanner = document.getElementById('txtBanner').value;
        if (txtBanner == "") {
            alert("Please provide the 728x90 ad tag");
            return false;
        }
    }

    // stream stuff, mostly selects except for the url

    var adInsertion = document.getElementById('adInsertion');
    var adInsertionOther = document.getElementById('adInsertionOther');
    // if they select "Other", they have to have a non-empty other value
    var adInsertionIndex = adInsertion.selectedIndex;
    if (adInsertionIndex == 0) {
        //alert("Please select the ad insertion technology used by this station");
        //return false;
    }
    else if (adInsertion.options[adInsertionIndex].text == "Other") {
        if (adInsertionOther.value == "") {
            //alert("Please specify the other ad insertion type this station will use");
            //return false;
        }
    }

    var automationType = document.getElementById('automationType');
    var automationTypeOther = document.getElementById('automationTypeOther');
    var thisIndex = automationType.selectedIndex;
    if (thisIndex == 0) {
        //alert("Please select the automation type this station will use");
        //return false;
    }
    else if (automationType.options[thisIndex].text == "Other") {
        if (automationTypeOther.value == "") {
            alert("Please select the other automation this station will use");
            return false;
        }
    }

    var streamProvider = document.getElementById('streamProvider');
    var streamProviderOther = document.getElementById('streamProviderOther');
    thisIndex = streamProvider.selectedIndex;
    if (thisIndex == 0) {
        //alert("Please select the stream provider for this station");
        //return false;
    }
    else if (streamProvider.options[thisIndex].text == "Other") {
        if (streamProviderOther.value == "") {
            //alert("Please select the other stream provider this station will use");
            //return false;
        }
    }

    var streamType = document.getElementById('streamType');
    var streamTypeIndex = streamType.selectedIndex;
    if (streamTypeIndex == 0) {
        alert("Please select the stream type for this station");
        return false;
    }

    // if the stream type is p2p audio/video have to be sure that the playlist url 
    // is 'jet:%' only

    var fileType = document.getElementById('fileType');
    thisIndex = fileType.selectedIndex;
    if (thisIndex == 0) {
        alert("Please select the file type of the stream for this station");
        return false;
    }

    var streamPlaylistURL = document.getElementById('streamPlaylistURL').value;
    if (streamPlaylistURL == "") {
        alert("Please provide this station's stream/playlist URL");
        return false;
    }

    var streamMetaURL = document.getElementById('streamMetaURL').value;
    if (streamMetaURL == "") {
        alert("Please provide this station's stream meta URL");
        return false;
    }

    // only other thing is if the stream type is p2p, then they need an alternative shoutcast url
    var streamTypeValue = streamType.options[streamTypeIndex].value;

    if ((streamTypeValue == p2pAudioType) || (streamTypeValue == p2pVideoType)) {

        // p2p audio/video will need to have playlistURL that starts with jet://
        if (streamPlaylistURL == "") {
            alert("P2P Streams require a playlist URL that starts with jet://");
            return false;
        }
        else {
            var urlStart = streamPlaylistURL.substr(0,6);
            if (urlStart != "jet://") {
                alert("P2P Streams require a playlist URL that starts with jet://");
                return false;
            }
        }

/*
        var altShoutcastURL = document.getElementById('backupShoutcastURL');
        if (altShoutcastURL.value == '') {
            alert("P2P streams require a backup shoutcast stream url in case of firewall/policy restrictions");
            return false;
        }
*/

    }

    // station information - not sure on what is all required here yet, so for now let this be

    var stationName = document.getElementById('stationName').value;
    var stationCallLetters = document.getElementById('stationCallLetters').value;
    var stationWebsite = document.getElementById('stationWebsite').value;
    var stationMyspace = document.getElementById('stationMyspace').value;
    var stationFacebook = document.getElementById('stationFacebook').value;
    var stationTwitter = document.getElementById('stationTwitter').value;
    var customButton1Name = document.getElementById('customButton1Name').value;
    var customButton1URL = document.getElementById('customButton1URL').value;
    var customButton2Name = document.getElementById('customButton2Name').value;
    var customButton2URL = document.getElementById('customButton2URL').value;
    var adultMaterial = document.getElementById('adultMaterial').value;

    // these should be required I would think
    var language = document.getElementById('station_language');
    if (language.selectedIndex == 0) {
        //alert("Please select this station's language");
        //return false;
    }
    
    var rating = document.getElementById('rating');
    if (rating.selectedIndex == 0) {
        //alert("Please select this station's rating");
        //return false;
    }
    
    var genre = document.getElementById('station_genre');
    if (genre.selectedIndex == 0) {
        //alert("Please select this station's genre");
        //return false;
    }
    
    var region = document.getElementById('station_region');
    if (region.selectedIndex == 0) {
        //alert("Please select this station's region");
        //return false;
    }
    
    var streamDef = document.getElementById('streamDef');
    if (streamDef.selectedIndex == 0) {
        alert("Please select this station's stream quality");
        return false;
    }
   
    var kbps = document.getElementById('kbps');
    if (kbps.selectedIndex == 0) {
        //alert("Please select this station's kbps");
        //return false;
    }

    var gender = document.getElementById('target_gender');
    if (gender.selectedIndex == 0) {
        //alert("Please select the target gender for this station");
        //return false;
    }

    var age17 = document.getElementById('target_age17');
    var age24 = document.getElementById('target_age24');
    var age34 = document.getElementById('target_age34');
    var age44 = document.getElementById('target_age44');
    var age54 = document.getElementById('target_age54');
    var age55 = document.getElementById('target_age55');

    // make sure at least one of these is checked
    if ((!age17.checked) && (!age24.checked) && (!age34.checked) && (!age44.checked) && (!age54.checked) && (!age55.checked)) {
        //alert("Please select at least one target age range");
        //return false;
    }

    var about = document.getElementById('about');
    if (about.value == "") {
        alert("Please provide an about description for this station");
        return false;
    }

    document.getElementById('submitFormAction').value = "submit";

    return true;

}

function isNumberKey(evt) {
			var charCode = (evt.which) ? evt.which : evt.keyCode
		
			if ((charCode == 43) || (charCode == 46) || (charCode == 45) || (charCode == 32)) return true;
			if (charCode > 31 && (charCode < 48 || charCode > 57)) return false;
			return true;
		}




