//common js functions
function getAddressData(){
    document.getElementById('address').value = document.getElementById('straat').value;
    document.getElementById('city').value = document.getElementById('plaats').value;
}

function confirmDelete(msg) {
    elt = document.getElementById('editalbum');
    if (confirm(msg)) {
        elt.submit();
        return true;
    }
    return false;
}

function checkAll(field){
    for (i = 0; i < field.length; i++)
        field[i].checked = true ;
}

function uncheckAll(field){
    for (i = 0; i < field.length; i++)
        field[i].checked = false ;
}

function checkAllPhotos(){
    for(i = 0; i < document.editalbum.elements.length; i++){
        if(document.editalbum.elements[i].name.substr(0,4) == 'box_')
            document.editalbum.elements[i].checked = true;
    }
}

function uncheckAllPhotos(){
    for(i = 0; i < document.editalbum.elements.length; i++){
        if(document.editalbum.elements[i].name.substr(0,4) == 'box_')
            document.editalbum.elements[i].checked = false;
    }
}

function invertPhotos(){
    for(i = 0; i < document.editalbum.elements.length; i++){
        if(document.editalbum.elements[i].name.substr(0,4) == 'box_')
            document.editalbum.elements[i].checked = !document.editalbum.elements[i].checked;
    }
}

var teamMailChecked = false;
function invertTeamMail(){
    for(i = 0; i < document.teammail.elements.length; i++){
        if(document.teammail.elements[i].name.substr(0,2) == 'id'){
            document.teammail.elements[i].checked = ! teamMailChecked;
        }
    }
    teamMailChecked = ! teamMailChecked;
}

var windowsLiveContactsChecked = true;
function invertWindowsLiveContacts(){
    for(i = 0; i < document.EnterEmail.elements.length; i++){
        if(document.EnterEmail.elements[i].name.substr(0,14) == 'emailaddresses'){
            document.EnterEmail.elements[i].checked = ! windowsLiveContactsChecked;
        }
    }
    windowsLiveContactsChecked = ! windowsLiveContactsChecked;
}

var teamSMSChecked = false;
function invertTeamSMS(){
    for(i = 0; i < document.teamsms.elements.length; i++){
        if(document.teamsms.elements[i].name.substr(0,10) == 'teammember'){
            if(document.teamsms.elements[i].disabled){
                continue;
            }

            document.teamsms.elements[i].checked = ! teamSMSChecked;
        }
    }

    teamSMSChecked = ! teamSMSChecked;
}

//common js functions
function acceptLicense(msg) {

    lic = document.getElementById('license');

    if (lic.checked) {
        return true;
    }
    else {
        alert(msg);
        return false;
    }
}

function confirmAdminGrant(userId, su, msgNoAdmins, msgOtherAdmins){
    formElt = document.getElementById('grantrights');

    var a1 = formElt.elements['admin1'];
    var a2 = formElt.elements['admin2'];
    var a3 = formElt.elements['admin3'];

    if(a1.value == 0 && a2.value == 0 && a3.value == 0){
        alert(msgNoAdmins);
        return false;
    }

    if(a1.value != userId && a2.value != userId && a3.value != userId && !su){
        if(confirm(msgOtherAdmins)){
            formElt.submit();
            return true;
        }
        else
            return false;
    }

    return true;
}



function confirmRemoveTeamie(msg){
    formElt = document.getElementById('removeteamie');

    if(confirm(msg)){
        formElt.submit();
        return true;
    }
    return false;

}

function confirmAction(ac, msg) {
    if (confirm(msg)) {
        window.location = ac;
    }
}



function connectEvent(bool){
    if(bool){

        //user wants a eventconnected thing, give him that form.
        document.getElementById('dateElt1').style.display="none";
        document.getElementById('dateElt2').style.display="none";
        //hide event elt
        document.getElementById('pickEventElt1').style.display="block";
        document.getElementById('pickEventElt2').style.display="block";

    }
    else {
        //show date form
        document.getElementById('dateElt1').style.display="block";
        document.getElementById('dateElt2').style.display="block";
        //hide 'pick event' form
        document.getElementById('pickEventElt1').style.display="none";
        document.getElementById('pickEventElt2').style.display="none";

    }


}



function setScoreType(classic){
    if(classic){

        //user wants a eventconnected thing, give him that form.
        document.getElementById('miscElt1').style.display="none";
        document.getElementById('miscElt2').style.display="none";
        //hide event elt
        document.getElementById('scoreElt1').style.display="block";
        document.getElementById('scoreElt2').style.display="block";
        document.getElementById('scoreElt2_1').style.display="block";
        document.getElementById('scoreElt2_2').style.display="block";

        document.getElementById('opp').style.display='inline';
        document.getElementById('rnk').style.display='none';
    }
    else {
        //show date form
        document.getElementById('miscElt1').style.display="block";
        document.getElementById('miscElt2').style.display="block";
        //hide 'pick event' form
        document.getElementById('scoreElt1').style.display="none";
        document.getElementById('scoreElt2').style.display="none";
        document.getElementById('scoreElt2_1').style.display="none";
        document.getElementById('scoreElt2_2').style.display="none";
        document.getElementById('opp').style.display='none';
        document.getElementById('rnk').style.display='inline';
    }
}

function searchOptions(){
    var typeValue = document.forms.search.elements['type'].value;
    var sportElement = document.forms.search.elements['sport'];
    var sportDesc = document.getElementById('sport_desc');

    if(typeValue == 'teamweb' || typeValue == 'club'){
        sportElement.style.display="block";
        sportDesc.innerHTML = 'Sport:';
    }
    else {
        sportElement.style.display="none";
        sportDesc.innerHTML = '&nbsp;';
    }
}


/*function insertSmiley(event, myValue, myField) {

    //IE support
    if (document.selection) {
    myField.focus();
    sel = document.selection.createRange();
    sel.text = myValue;
    }
    //MOZILLA/NETSCAPE support
    else if (myField.selectionStart || myField.selectionStart == '0') {
        var startPos = myField.selectionStart;
        var endPos = myField.selectionEnd;
        myField.value = myField.value.substring(0, startPos)
        + myValue
        + myField.value.substring(endPos, myField.value.length);
    }
    else {
        myField.text += myValue;

    }


}*/

function insertSmiley(event, text, obj_id) {
    var obj= document.getElementById(obj_id);
    if(document.selection) {
        obj.focus();
        var orig = obj.value.replace(/\r\n/g, "\n");
        var range = document.selection.createRange();

        if(range.parentElement() != obj) {
            return false;
        }

        range.text = text;

        var actual = tmp = obj.value.replace(/\r\n/g, "\n");

        for(var diff = 0; diff < orig.length; diff++) {
            if(orig.charAt(diff) != actual.charAt(diff)) break;
        }

        for(var index = 0, start = 0;
            tmp.indexOf(text)
            &&  (tmp = tmp.replace(text, ""))
            && index <= diff;
            index = start + text.length
            ) {
            start = actual.indexOf(text, index);
        }
    } else if(obj.selectionStart) {
        var start = obj.selectionStart;
        var end   = obj.selectionEnd;

        obj.value = obj.value.substr(0, start)
        + text
        + obj.value.substr(end, obj.value.length);
    }

    if(start != null) {
        setCaretTo(obj, start + text.length);
    } else {
        obj.value += text;
    }
}

function setCaretTo(obj, pos) {
    if(obj.createTextRange) {
        var range = obj.createTextRange();
        range.move('character', pos);
        range.select();
    } else if(obj.selectionStart) {
        obj.focus();
        obj.setSelectionRange(pos, pos);
    }
}


function choosePhotoOrMovie(event,photo){
    if(photo){
        document.getElementById('photofield').disabled=false;
        document.getElementById('movie').disabled=true;
        document.getElementById('movie').value='';
    }

    else {
        document.getElementById('photofield').disabled=true;
        document.getElementById('photofield').value='';
        document.getElementById('movie').disabled=false;
    }

}

function charLeft(maxChars)  {
    var form = document.teamsms;
    var sms = form.sms_msg.value;
    var charsUsed = sms.length;

    var _m = "\n"; // pattern to match.
    var _c = 0; // count

    for (var i=0;i<sms.length;i++) {
        if (_m == sms.substr(i,_m.length))
            _c++;
    }

    charsUsed = charsUsed + _c;

    if (charsUsed > maxChars)  {
        document.getElementById('chars_left').innerHTML = 0;
        form.sms_msg.value = form.sms_msg.value.substring(0,maxChars);
        if(document.setSelectionRange){
            form.sms_msg.setSelectionRange(maxChars-1, maxChars-1);
        }

    } else {
        document.getElementById('chars_left').innerHTML = maxChars - charsUsed;
    }
}

function changePasswordSwitch(){
    var oldpass = document.forms.editprofilebasic.elements['oldpass'];
    var newpass1 = document.forms.editprofilebasic.elements['newpass1'];
    var newpass2 = document.forms.editprofilebasic.elements['newpass2'];
    var cplink = document.getElementById('changepasslink');
    var cp = document.getElementById('changepass');

    if(oldpass.disabled == true){
        cp.value = "true";
        cplink.innerHTML = 'Wachtwoord niet wijzigen?';

        oldpass.disabled = false;
        newpass1.disabled = false;
        newpass2.disabled = false;

        oldpass.style.backgroundColor = "#fff";
        newpass1.style.backgroundColor = "#fff";
        newpass2.style.backgroundColor = "#fff";

        oldpass.value = "";
        newpass1.value = "";
        newpass2.value = "";
    }
    else {
        cp.value = "false";
        cplink.innerHTML = 'Wachtwoord wijzigen?';

        oldpass.disabled = true;
        newpass1.disabled = true;
        newpass2.disabled = true;

        oldpass.style.backgroundColor = "#eee";
        newpass1.style.backgroundColor = "#eee";
        newpass2.style.backgroundColor = "#eee";

        oldpass.value = "";
        newpass1.value = "";
        newpass2.value = "";
    }
}

function enableChangeTeamwebHostname(event){
    document.getElementById('hostname').disabled=false;
}

function addClubSubmit(event, id){
    var action = indexFile + '?class=Club&action=NewClubForm&context=tw&teamweb_id=' + id;
    document.forms.teamweb.action = action;
    document.forms.teamweb.submit();
}
// calling the function
//insertSmiley(event, 'this value', document.formName.fieldName);

function getSelection(ta)
{
    var bits = [ta.value,'','',''];
    if(document.selection)
    {
        var vs = '#$%^%$#';
        var tr=document.selection.createRange()
        if(tr.parentElement()!=ta) return null;
        bits[2] = tr.text;
        tr.text = vs;
        fb = ta.value.split(vs);
        tr.moveStart('character',-vs.length);
        tr.text = bits[2];
        bits[1] = fb[0];
        bits[3] = fb[1];
    }
    else
    {
        if(ta.selectionStart == ta.selectionEnd) return null;
        bits=(new RegExp('([\x00-\xff]{'+ta.selectionStart+'})([\x00-\xff]{'+(ta.selectionEnd - ta.selectionStart)+'})([\x00-\xff]*)')).exec(ta.value);
    }
    return bits;
}

function matchPTags(str)
{
    str = ' ' + str + ' ';
    ot = str.split(/\[(B|U|I|(URL(=[^\]]*)?))\]/i);
    ct = str.split(/\[\/(B|U|I|(URL))\]/i);
    return ot.length==ct.length;
}

/*
function matchPTags(str)
  { str = ' ' + str + ' ';
    ot = str.split(/\[[B|U|I].*?\]/i);
    ct = str.split(/\[\/[B|U|I].*?\]/i);
    return ot.length==ct.length;
  }
*/
function addPTag(ta,pTag)
{
    bits = getSelection(ta);
    if(bits)
    {
        if(!matchPTags(bits[2]))

        {
            alert('\t\tOngeldige selectie\nDe selectie bevat ongeopende of ongesloten tags.');
            return;
        }
        ta.value = bits[1] + '[' + pTag + ']' + bits[2] + '[/' + pTag + ']' + bits[3];
    }
}

function textLimit(field, maxlen) {
    if (field.value.length > maxlen) {
        field.value = field.value.substring(0, maxlen);
    // alert('your input has been truncated!');
    }
    return false;
}


//poll function
function checkAnswerRemoved(msg) {
    var answerRemoved = false;
    for(var i = 0; i<5; i++){
        wasEmpty = "was_empty__"+i;
        weElt = document.getElementById(wasEmpty);

        val = "option__"+i;
        valElt = document.getElementById(val);

        if(valElt.value == "" && weElt.value == 'n'){
            answerRemoved = true;
        }
    }

    if(answerRemoved){
        return confirm(msg);
    }
    else {
        return true;
    }
}


checkUncheck = true;
//select all sports in backoffice
function selectAllSports(formid) {
    form = document.getElementById(formid);
    elts = form.elements;
    for(i = 0;i<elts.length;i++){
        if(elts[i].name.substring(0,5) == 'sport'){
            elts[i].checked=checkUncheck;
        }
    }
    checkUncheck = !checkUncheck;
}


