
/**
* Submit activation form 
*/
function catvals(form)
{
    if(validationForm(form)) {
        form.INSTALLATION_KEY.value = form.ik1.value + "-" + form.ik2.value + "-" + form.ik3.value + "-" + form.ik4.value + (form.ik5.value != '' ? "-" + form.ik5.value : "");
        
        form.SYSTEM_ID.value = form.si1.value + "-" + form.si2.value + "-" + form.si3.value + "-" + form.si4.value;
        form.submit(); 
        return true;
    } else {
        return false;
    }

}


/**
* On Paste Event
*/

var csik1 = document.getElementById('csik1');
var cssi1 = document.getElementById('cssi1');

var stik1 = document.getElementById('stik1');
var stsi1 = document.getElementById('stsi1');

var icik1 = document.getElementById('icik1');
var icsi1 = document.getElementById('icsi1');

if (document.all) {//if IE 
    // call service
    csik1.onpaste = function(e) {setTimeout(function() { 
        // Installation Key
        instalationKeyPaste(csik1.form,4,'ik');
    }, 1);}
    cssi1.onpaste = function(e) {setTimeout(function() {
        // System ID
        instalationKeyPaste(cssi1.form,4,'si');
    }, 1);}
    
    // audium studio
    stik1.onpaste = function(e) {setTimeout(function() {
        // Installation Key
        instalationKeyPaste(stik1.form,5,'ik');
    }, 1);}
    stsi1.onpaste = function(e) {setTimeout(function() {
        // System ID
        instalationKeyPaste(stsi1.form,4,'si');
    }, 1);}

    // audium ICM
    icik1.onpaste = function(e) {setTimeout(function() {
        // Installation Key
        instalationKeyPaste(icik1.form,4,'ik');
    }, 1);}
    icsi1.onpaste = function(e) {setTimeout(function() {
        // System ID
        instalationKeyPaste(icsi1.form,4,'si');
    }, 1);}

} else {
    // FF
    /*csik1.onkeypress = function(e) { 
            if(OnPaste_Handler(e)) {
                setTimeout(function() {
                      stInstalationKeyPaste(csik1.form)
                 }, 1);
            }
    };*/
}

/**
*    Validation Activation form
*/
function validationForm(f) {
    var isValid = true;
    
    // Audium studio
    if(f.formID.value=='st') {
        // instalation key
        isValid = validationKey(f, 5, 'ik') && isValid; 
    
	// Audium ICM
	} else if(f.formID.value=='ic') {
        // instalation key
        isValid = validationKey(f, 4, 'ik') && isValid; 
	
	// Call service
    } else {
	
        // instalation key
        isValid = validationKey(f, 4, 'ik') && isValid;
        // number of Sessions
        isValid = validationSess(f.formID.value, f.SESSIONS) && isValid;
    }
    // System ID
    isValid = validationKey(f, 4, 'si') && isValid;
    // Email
    isValid = validationEmail(f.formID.value, f.EMAIL) && isValid;
    
    return isValid;
}

/**
*    Change product form
*/
function showForm(f) {

    if(f.selectedIndex == 0 ) {
        var formBlock = document.getElementById ('CallServices');
        formBlock.style.display = 'block';
        var formBlock = document.getElementById ('Studio');
        formBlock.style.display = 'none';
        var formBlock = document.getElementById ('Icm');
        formBlock.style.display = 'none';
    }
    if(f.selectedIndex == 1 ) {
        var formBlock = document.getElementById ('Studio');
        formBlock.style.display = 'block';
        var formBlock = document.getElementById ('CallServices');
        formBlock.style.display = 'none';
        var formBlock = document.getElementById ('Icm');
        formBlock.style.display = 'none';
    }
    if(f.selectedIndex == 2 ) {
        var formBlock = document.getElementById ('Icm');
        formBlock.style.display = 'block';
        var formBlock = document.getElementById ('Studio');
        formBlock.style.display = 'none';
        var formBlock = document.getElementById ('CallServices');
        formBlock.style.display = 'none';
    }
}


/**
*    Helper
*/
function instalationKeyPaste(f,count,pref)
{

    var key = window.clipboardData.getData('Text');

    var keys = key.split('-');
    
    if (keys.length > 1) {
        for(i=0;i<count;i++) {
            f[pref+(i+1)].value = keys[i] ? keys[i] : '';
        }
        setTimeout(validationKey(f, count, pref),1);
    }
}

function validationKey(f, count, pref)
{
    var formID = f.formID.value;
    
    var isValid = true;
    
    var key = '';
    
    for(i=0;i<count;i++) {
        key += f[pref+(i+1)].value;
        if(i>0) {
            key += '-';
        }
        isValid = isValid && f[pref+(i+1)].value;
    }
    
    if(isValid) {
        for(i=0;i<count;i++) {
            f[pref+(i+1)].style.backgroundColor = 'white';
        }
    
        var alertEl = document.getElementById(formID+pref+'Alert');
        alertEl.style.display = 'none';
        alertEl.innerHTML = ''
        
    } else {
        for(i=0;i<count;i++) {
            f[pref+(i+1)].style.backgroundColor = '#FFc6c6';
        }
    
        var alertEl = document.getElementById(formID+pref+'Alert');
        alertEl.style.display = 'block';
        alertEl.innerHTML = 'This data appears to be incomplete'
    }
    return isValid;
}

function validationEmail(fid, emailf) {
    var isValid = true;
    var alertEl = document.getElementById(fid+'emAlert');
    if(emailf.value != '' && !checkEmailAddress(emailf)) {
        alertEl.style.display = 'block';
        alertEl.innerHTML = 'This data appears to be incomplete';
        emailf.style.backgroundColor = '#FFc6c6';
        isValid = false;
    } else {
        alertEl.innerHTML = '';
        alertEl.style.display = 'none';
        emailf.style.backgroundColor = 'white';
    }
    return isValid;
}

function validationSess(fid, sessf) {
    var isValid = true;
    var alertEl = document.getElementById(fid+'seAlert');
    if(sessf.value == '') {
        alertEl.style.display = 'block';
        alertEl.innerHTML = 'This data appears to be incomplete';
        sessf.style.backgroundColor = '#FFc6c6';
        isValid = false;
    } else {
        alertEl.style.display = 'none';
        alertEl.innerHTML = '';
        sessf.style.backgroundColor = 'white';
    }
    return isValid;
}

function checkEmailAddress(field) {
	var goodEmail = field.value.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,4}))$)\b/gi);
	
	if (goodEmail){
	  return true
	} else {
        return false
  }
}

/* on paste event for FF
function OnPaste_Handler(e) 
{ 
    var oEvent = (window.event) ? window.event : e; 
    var nKeyCode = oEvent.keyCode ? oEvent.keyCode : oEvent.which ? oEvent.which : void 0; 
    var sChar = String.fromCharCode(nKeyCode).toLowerCase(); 
    var bCtrlPressed = (oEvent.ctrlKey) ? oEvent.ctrlKey : oEvent.modifiers & 2 > 0; 
    
    if (bCtrlPressed && sChar=="v") 
    { 
        return true;
    }
    return false;
}
*/