// JavaScript Document
var button_start = '<table border="0" cellspacing="0" cellpadding="0"  class="normal_button" onmouseover="this.className=\'hover_button\'" onmouseout="this.className=\'normal_button\'"><tr><td class="left"></td><td class="center">';
var button_end = '</td><td class="right">&nbsp;</td></tr></table>';
var button_big_start = '<table border="0" cellspacing="0" cellpadding="0"  class="normal_button_big" onmouseover="this.className=\'hover_button_big\'" onmouseout="this.className=\'normal_button_big\'"><tr><td class="left"></td><td class="center">';
var button_big_end = '</td><td class="right">&nbsp;</td></tr></table>';
var button_grey_start = '<table border="0" cellspacing="0" cellpadding="0"  class="normal_grey_button_big" onmouseover="this.className=\'hover_grey_button_big\'" onmouseout="this.className=\'normal_grey_button_big\'"><tr><td class="left"></td><td class="center">';
var button_grey_end = button_big_end;

var TEXT_AREA_LENGTH = 5000;
var MESSAGE_AREA_LENGTH = 1000;

function show_hide(anchor_id, div_id){
    var c_div = document.getElementById(div_id);
    var c_anc = document.getElementById(anchor_id);
    
    new Effect.toggle(c_div, 'blind');
    
    if (c_anc.className == 'downArrow') 
        c_anc.className = 'upArrow';
    else 
        c_anc.className = 'downArrow';
}

/* =========================================================== */
/* =================== Validate Partner ====================== */
function setAccept(){
    var button = document.getElementById('set_option');
    button.value = "accept";
}

function setReject(){
    var button = document.getElementById('set_option');
    button.value = "reject";
}

function setIncomplete(){
    var button = document.getElementById('set_option');
    button.value = "incomplete";
}

function setUpdate(){
    var button = document.getElementById('set_option');
    button.value = "update";
}

function showPopupDialog(){
    var button = document.getElementById('set_option');
    var id = document.getElementById('partner_id');
    location.href = "/manage_user/contact_company?pid=" + id.value + "&option=" + button.value;
}

function sendEmail(){
    alert(EMAIL_WOULD_BE_SENT);
}

function submitContactCompany(){
    var rec = document.getElementById('recipient');
    var sub = document.getElementById('subject');
    if (rec.value == '') {
        alert('You cannot leave the recipient field empty.');
        rec.focus();
        return;
    }
    else 
        if (!isemail(rec.value)) {
            alert('The email address you specified is not valid.');
            rec.focus();
            return;
        }
        else 
            if (sub.value == '') {
                alert('You cannot leave the subject field empty.');
                sub.focus();
                return;
            }
            else {
                document.forms['contact_company_form'].submit();
            }
}

/* =========================================================== */
/* ================ Feedbacks and Comments =================== */
function submit_add_comment(){
    var sub = document.getElementById('comment_subject');
    var comment = document.getElementById('comment_body');
    tempStr = comment.value.replace(/\s+/g, '');
    if (trim(comment.value) == "") {
        alert("The comment field cannot be empty.");
        comment.focus();
    }
    else 
        if (comment.value.length > TEXT_AREA_LENGTH) {
            alert("The comment field cannot be greater than " + TEXT_AREA_LENGTH + " characters.");
            comment.focus();
        }
        else {
            document.forms['add_comment_form'].submit();
        }
}

function del_comment(id){
    if (confirm("Do you want to delete this comment?")) {
        location.href = "/user_comment/del_comment?comment_id=" + id;
    }
}

function forward_feedback(){
    var to = document.getElementById('forward_to');
    if (!trim(to.value) == "") {
        document.getElementById('do_this').value = 'forward';
        document.forms['comment_detail_form'].submit();
    }
    else {
        alert("Please fill in 'Forward To' field.");
        to.focus();
    }
}

function delete_feedback(){
    if (confirm(CONFIRM_DELETE_FEEDBACK)) {
        document.getElementById('do_this').value = 'delete';
        document.forms['comment_detail_form'].submit();
    }
}

/* =========================================================== */
/* ==================== Featured Solutions =================== */
function submit_add_solution(mod){
    var industry = document.getElementById('solution_industry');
    var application = document.getElementById('solution_application');
    if (industry.selectedIndex > 0 && application.selectedIndex > 0) {
        document.forms['add_solution_form'].submit();
    }
    else {
        alert("Please select an Industry and an Application for this Solution.");
    }
}

function add_product_to_solution(id){
    var pids = document.getElementById('pids_solution');
    to_add = true;
    
    already_added_list = pids.value.split(",");
    pids.value = "";
    first = true;
    
    for (i = 0; i < already_added_list.length; i++) {
        if (trim(already_added_list[i]) == id) {
            to_add = false;
        }
        else 
            if (trim(already_added_list[i]) != "") {
                if (first == true) {
                    pids.value = trim(already_added_list[i]);
                    first = false;
                }
                else {
                    pids.value += "," + trim(already_added_list[i]);
                }
            }
    }
    if (to_add == true) {
        if (first == true) {
            pids.value = id;
            first = false;
        }
        else {
            pids.value += "," + id;
        }
    }
}

function add_solution(){
}

function search_solution(){
}

function show_hide_div(divid){
	var div = document.getElementById(divid);
	if(div)
	{
		if(div.style.display == "none")
			div.style.display = "block";
		else
			div.style.display = "none";
	}
	var icon = document.getElementById("anc_"+divid);
	if(icon)
	{	
		if (icon.title == "Minimize") 
		{
			icon.src = "../gtce_images/buttons/maximize.gif";
			icon.title = "Maximize";
			icon.alt = "Maximize"
		}
		else {
			icon.src = "../gtce_images/buttons/minimize.gif";
			icon.title = "Minimize";
			icon.alt = "Minimize"
		}
	}
	
}

function search_products(){
    var industry = document.getElementById('solution_industry');
    var application = document.getElementById('solution_application');
    my_application = "";
    var first = true;
    if (application.selectedIndex < 0) {
        for (i = 0; i < application.length; i++) {
            if (first == true) {
                my_application = application[i].value;
                first = false;
            }
            else {
                my_application += ',' + application[i].value
            }
        }
    }
    else {
        my_application = application[application.selectedIndex].value
    }
    new Ajax.Updater('display_products', '/solution/search_products?industry=' + industry[industry.selectedIndex].value + "&application=" + my_application, {
        asynchronous: true,
        evalScripts: true
    });
}

function populateApplications(){
    var selectedIndustry = document.getElementById('solution_industry');
    var industrylkpid = selectedIndustry[selectedIndustry.selectedIndex].value
    if (eval(industrylkpid) && industrylkpid != -1) {
        new Ajax.Updater('application', '/solution/populateApplication?industrylkpid=' + industrylkpid, {
            asynchronous: true,
            evalScripts: true
        });
    }
}

function populateDepartments(){
    var selectedIndustry = document.getElementById('solution_industry');
    var industrylkpid = selectedIndustry[selectedIndustry.selectedIndex].value
    if (eval(industrylkpid) && industrylkpid != -1) {
        new Ajax.Updater('department', '/solution/populateDepartment?industrylkpid=' + industrylkpid, {
            asynchronous: true,
            evalScripts: true
        });
    }
    
}

function populateStates(){
    var selectedIndustry = document.getElementById('solution_industry');
    var industrylkpid = selectedIndustry[selectedIndustry.selectedIndex].value
    if (eval(industrylkpid) && industrylkpid != -1) {
        new Ajax.Updater('department', '/solution/populateState?industrylkpid=' + industrylkpid, {
            asynchronous: true,
            evalScripts: true
        });
    }
}


/* =========================================================== */
/* ==================== Messages Functions =================== */
function submit_manage_messages(){
    document.manage_messages.submit();
}

function enable_disable_expdays(){
    var select_MessageType = document.getElementById('system_message_lookup_id')
    var text_ExpDays = document.getElementById('exp_date')
    if (select_MessageType.selectedIndex == 1) {
        text_ExpDays.disabled = false;
        text_ExpDays.style.display = 'block';
    }
    else {
        text_ExpDays.value = '';
        text_ExpDays.disabled = true;
        text_ExpDays.style.display = 'none';
    }
}

function submit_create_message(){
    var select_MessageType = document.getElementById('system_message_lookup_id');
    var text_ExpDays =document.getElementById('system_message_expiry_date').value;
    var text_MessageText = document.getElementById('system_message_text');
    var cur_date = document.getElementById('current_date').value;
	
	if (select_MessageType.selectedIndex < 1) {
        alert(SELECT_MESSAGE_TYPE);
        return;
    }
    else if (select_MessageType.selectedIndex == 1 && (text_ExpDays == null || text_ExpDays=='')) {
        alert(SPECIFY_EXPIRY_DATE)
        return;
	}
	else if (select_MessageType.selectedIndex == 1 && (cur_date > text_ExpDays)) {
		
        alert(EXPIRY_CURRENT_DATE);
        return;
	}
    else if (trim(text_MessageText.value) == '') {
        alert(FILL_MESSAGE_TYPE)
        return;
    }
    else if (text_MessageText.value.length > MESSAGE_AREA_LENGTH) {
        alert(MESSAGE_NOT_GREATER_THAN + MESSAGE_AREA_LENGTH + MESSAGE_CHARACTORS);
        return;
	}
    else {
        if(document.forms[0].action!="")
			document.forms[0].submit();
		document.forms[0].action = "";
    }
}

function deletemessage(messageid){
    if (confirm(CONFIRM_DELETE_MESSAGE)) {
        location.href = '/message/delete?fid=' + messageid;
    }
}

function deletemapping(mappingid){
    if (confirm('Do you want to detach this mapping?')) {
        location.href = '/category/detach_mapping?mid=' + mappingid;
    }
}

function deletecomment(commentid){
    if (confirm('Do you want to delete this comment?')) {
        location.href = '/user_comment/del_comment?id=' + commentid;
    }
}

function deletesolution(solutionid){
    if (confirm('Do you want to delete this solution?')) {
        location.href = "/solution/delete?id=" + solutionid;
    }
}

/* =========================================================== */
/* ==================== Manage Users ========================= */
function submitform(){
    document.manageuser.submit();
}

function submit_gui_cutomize(){
    if (validategui() == true) {
        document.gui_customization.submit();
    }
}

function validategui(){
    var title = document.getElementById('title')
    var heading = document.getElementById('heading')
    var logo = document.getElementById('logo')
    if (trim(title.value) == '') {
        alert("Please specify a title")
        return false;
    }
    if (trim(heading.value) == '') {
        alert("Please specify heading")
        return false;
    }
    if (trim(document.getElementById('logo').value) != '' && checkFileForImages('logo') == false) {
        return false;
    }
    return true;
}

function deleteuser(userid){
    if (confirm(CONFIRM_DELETE_USER)) {
        location.href = '/users/deleteuser?id=' + userid;
    }
}
function deletevendor(partnerid){
    if (confirm('Do you want to delete this vendor?')) {
        location.href = '/partner/delete?id=' + partnerid;
    }
}
function delete_bdm(bdm_id){
    if (confirm('Do you want to delete this BDM?')) {
        location.href = '/bdm/delete?id=' + bdm_id;
    }
}

function delete_reseller(resellerid){
    if (confirm('Do you want to delete this reseller?')) {
        location.href = '/reseller/delete?id=' + resellerid;
    }
}
function delete_request(request_id){
    if (confirm('Do you want to delete this request?')) {
        location.href = '/request/delete?id=' + request_id;
    }
}
function edit_user(user_id){
    location.href = '/users/edit_user?id=' + user_id;
}

function submitadduserform(){
    var clear_model_error = document.getElementById('error_display_div')
    var err_div = document.getElementsByClassName("div_for_error");
    if (clear_model_error != null) {
        clear_model_error.className = '';
        clear_model_error.innerHTML = '';
    }
    if (err_div.className != '') 
        err_div.className = '';
    if (validateformfields() == true) {
        if (err_div.className != '') 
            err_div.className = '';
        
        document.adduser.submit();
    }
}

function validateformfields(){
    var msg = new Array();
    var element = new Array();
    var count = -1;
    document.getElementById('div_for_error').innerHTML = '';
    
    if (trim(document.getElementById('login').value) == '') {
        count++;
        msg[count] = 'Please fill in User Name';
        element[count] = document.getElementById('login');
    }
    if (isemail(trim(document.getElementById('login').value)) == false) {
        count++;
        msg[count] = 'User Name must be an email address';
        element[count] = document.getElementById('login');
    }
    if (document.getElementById('password').value == '') {
        count++;
        msg[count] = 'Please fill in Password';
        element[count] = document.getElementById('password');
    }
    if (document.getElementById('password').value != '' && check_special_character_for_login(document.getElementById('password').value) == false) {
        count++;
        msg[count] = 'Password must include at least one special character';
        element[count] = document.getElementById('password');
    }
    
    if (document.getElementById('password').value != '' && trim(document.getElementById('password').value).length < 6 || trim(document.getElementById('password').value).length > 20) {
        count++;
        msg[count] = 'Password should be between 6 to 20 characters';
        element[count] = document.getElementById('password');
    }
    if (trim(document.getElementById('confirmpassword').value) == '') {
        count++;
        msg[count] = 'Please fill in Confirm Password';
        element[count] = document.getElementById('confirmpassword');
    }
    if (document.getElementById('confirmpassword').value != '' && document.getElementById('confirmpassword').value != document.getElementById('password').value) {
        count++;
        msg[count] = "Password doesn't match with Confirm Password";
        element[count] = document.getElementById('confirmpassword');
    }
    if (count > -1) {
        Error_dataAdmin(msg, element);
        return false;
    }
    return true;
}

///////////////////////////////////////////////////////////////////////
function Error_dataAdmin(msg, field){
    var prev_error_fields = document.getElementsByClassName("error_field");
    for (llm = 0; llm < prev_error_fields.length; llm++) 
        prev_error_fields[llm].className = "text";
    var err_field = document.getElementById('div_for_error');
    
    alert("Some field(s) were not set properly. Please see top of the page for error details.");
    err_field.className = 'ErrorMessage';
    for (var j = 0; j < msg.length; j++) {
        err_field.innerHTML += msg[j] + '<br>';
        field[j].className = 'error_field';
    }
}

///////////////////////////////////////////////////////////////////////
function edituserprofile(userid){
    location.href = '/manage_user/adduser?userid=' + userid
}

/* =========================================================== */
/* ==================== Manage BDM Users ==================== */
function delete_bdm_user(bdm_id){
    if (confirm('Do you want to delete this bdm user completely.')) 
        location.href = "/bdm/del_bdm_user?bdm_id=" + bdm_id;
}

/* =========================================================== */
/* ======================= Leads Functions =================== */
function update_total_lead_stats(user_id){
    var status = document.getElementById('lead_status');
    new Ajax.Updater("total_lead_stats", "/lead/get_total_lead_stats?status=" + status.value + "&user_id=" + user_id, {
        asynchronous: true,
        evalScripts: true
    });
}

function update_new_lead_stats(user_id){
    var age = document.getElementById('lead_age');
    new Ajax.Updater("new_leads_stats", "/lead/get_new_lead_stats?age=" + age.value + "&user_id=" + user_id, {
        asynchronous: true,
        evalScripts: true
    });
}

function filter_all_leads_base(user_id){
    document.getElementById('sub_filter').innerHTML = "";
    document.getElementById('filtered_leads_result').innerHTML = "";
    document.getElementById('div_date_fields').innerHTML = "";
    var leads_filter = document.getElementById('all_leads_filter');
    if (leads_filter.value == 'ALLLEADS') {
        new Ajax.Updater("filtered_leads_result", "/lead/get_filtered_leads?filter=" + leads_filter.value + "&user_id=" + user_id, {
            asynchronous: true,
            evalScripts: true
        });
        return;
    }
    else {
        new Ajax.Updater("sub_filter", "/lead/get_sub_filter?filter=" + leads_filter.value + "&user_id=" + user_id, {
            asynchronous: true,
            evalScripts: true
        });
    }
}

function get_filtered_lead_results(user_id, filter_type){
    document.getElementById('filtered_leads_result').innerHTML = "";
    var sub_filter = document.getElementById('sub_option_drop_down');
    if (filter_type == 'DATESCREATED' || filter_type == 'DATESUPDATED') {
        new Ajax.Updater("div_date_fields", "/lead/show_date_fields?sub_filter=" + sub_filter.value, {
            asynchronous: true,
            evalScripts: true
        });
    }
    else {
        new Ajax.Updater("filtered_leads_result", "/lead/get_filtered_leads?filter=" + filter_type + "&user_id=" + user_id + "&sub_filter=" + sub_filter.value, {
            asynchronous: true,
            evalScripts: true
        });
    }
}

function submit_single_date(user_id){
    document.getElementById('filtered_leads_result').innerHTML = "";
    var filter = document.getElementById('all_leads_filter');
    var sub_filter = document.getElementById('sub_option_drop_down');
    var start_date = document.getElementById('start_date');
    if (start_date.value != '') {
        new Ajax.Updater("filtered_leads_result", "/lead/get_filtered_leads?filter=" + filter.value + "&user_id=" + user_id + "&sub_filter=" + sub_filter.value + "&start_date=" + start_date.value, {
            asynchronous: true,
            evalScripts: true
        });
    }
}

function submit_date_range(user_id){
    document.getElementById('filtered_leads_result').innerHTML = "";
    var filter = document.getElementById('all_leads_filter');
    var sub_filter = document.getElementById('sub_option_drop_down');
    var start_date = document.getElementById('start_date');
    var end_date = document.getElementById('end_date');
    if (start_date.value != '' && end_date.value != '') {
        new Ajax.Updater("filtered_leads_result", "/lead/get_filtered_leads?filter=" + filter.value + "&user_id=" + user_id + "&sub_filter=" + sub_filter.value + "&start_date=" + start_date.value + "&end_date=" + end_date.value, {
            asynchronous: true,
            evalScripts: true
        });
    }
}

function update_lead_status(lead_id){
    var status = document.getElementById('lead_status');
    new Ajax.Request("/lead/update_lead_status?lead_id=" + lead_id + "&status=" + status.value, {
        asynchronous: true,
        evalScripts: true
    });
    document.getElementById('other_info').disabled = false;
    document.getElementById('other_info').value = "";
}

function update_lead_other_info(lead_id){
    var info = document.getElementById('other_info');
    new Ajax.Request("/lead/update_lead_other_info?lead_id=" + lead_id + "&info=" + info.value, {
        asynchronous: true,
        evalScripts: true
    });
    info.disabled = "true";
}

function deleteLead(lid){
    if (confirm("Are you sure you want to delete this lead completely?")) {
        location.href = "/lead/delete_lead?lead_id=" + lid;
    }
}

function deleteManyLeads(){
    if (confirm("Are you sure you want to delete all these selected leads?")) {
        var leads = "";
        var all_checks = document.getElementsByName("check_leads");
        for (i = 0; i < all_checks.length; i++) {
            if (all_checks[i].checked == true) {
                if (leads == "") 
                    leads = all_checks[i].value;
                else 
                    leads += "," + all_checks[i].value;
            }
        }
        location.href = "/lead/delete_lead?lead_id=" + leads + "&mul=y";
    }
}

/* =========================================================== */
/* ======================= Comments ========================== */
function submit_comment_form(){
    if (trim(document.getElementById('subject').value) == '') {
        alert('Please fill in subject field!')
        return;
    }
    else 
        if (trim(document.getElementById('comments').value) == '') {
            alert('Please fill in comments field!')
            return;
        }
        else {
            document.user_comments_form.submit();
        }
}

/* =========================================================== */
/* ======================== BDMs ============================= */
function submit_manage_partner_form(){
    document.manage_partner.submit();
}

function validatebdmfields(){

    var msg = new Array();
    var element = new Array();
    var count = -1;
    document.getElementById('div_for_error').innerHTML = '';
    
    var inds = document.getElementById('industries');
    var login = document.getElementById('login');
    
    inds.disabled = false;
    login.disabled = false;
    
    
    if (trim(document.getElementById('login').value) == '') {
        count++;
        msg[count] = 'Please fill in the Login Name';
        element[count] = document.getElementById('login');
    }
    if (isemail(trim(document.getElementById('login').value)) == false) {
        count++;
        msg[count] = 'Please enter a valid  email address';
        element[count] = document.getElementById('login');
    }
    if (document.getElementById('password').value == '') {
        count++;
        msg[count] = 'Please fill in Password';
        element[count] = document.getElementById('password');
    }
    if (document.getElementById('password').value != '' && check_special_character_for_login(document.getElementById('password').value) == false) {
        count++;
        msg[count] = 'Password must include at least one special character';
        element[count] = document.getElementById('password');
    }
    
    if (document.getElementById('password').value != '' && trim(document.getElementById('password').value).length < 6 || trim(document.getElementById('password').value).length > 20) {
        count++;
        msg[count] = 'Password should be between 6 to 20 characters';
        element[count] = document.getElementById('password');
    }
    if (trim(document.getElementById('confirmpassword').value) == '') {
        count++;
        msg[count] = 'Please fill in Confirm Password';
        element[count] = document.getElementById('confirmpassword');
    }
    if (document.getElementById('confirmpassword').value != '' && document.getElementById('confirmpassword').value != document.getElementById('password').value) {
        count++;
        msg[count] = "Password doesn't match with Confirm Password";
        element[count] = document.getElementById('confirmpassword');
    }
    if (document.getElementById('answer').value == '') {
        count++;
        msg[count] = 'Please fill in Secret Answer field';
        element[count] = document.getElementById('answer')
    }
    if (trim(document.getElementById('phone').value) != '' && isphone(trim(document.getElementById('phone').value)) == false) {
        count++;
        msg[count] = 'Please fill phone number in correct format (###-###-####)';
        element[count] = document.getElementById('phone')
    }
    if (inds.selectedIndex < 0) {
        count++;
        msg[count] = 'Please select an Industry';
        element[count] = document.getElementById('industries')
    }
    if (count > -1) {
        Error_dataAdmin(msg, element);
        return false;
    }
    return true;
}

function submit_add_bdm_form(){
    var clear_model_error = document.getElementById('error_display_div')
    var err_div = document.getElementsByClassName("error_field");
    if (clear_model_error != null) {
        clear_model_error.className = '';
        clear_model_error.innerHTML = '';
    }
    
    if (validatebdmfields() == true) {
    
        if (err_div.className != '') 
            err_div.className = '';
        
        document.forms['add_bdm_user'].submit();
    }
}

function submit_update_bdm_form(){
    var inds = document.getElementById('industries');
    var login = document.getElementById('login');
    
    inds.disabled = false;
    login.disabled = false;
    
    if (inds.selectedIndex < 0) {
        alert("Please select an Industry")
        return;
    }
    else 
        if (login.value == '') {
            alert('Login can not be empty!')
        }
        else 
            if (trim(document.getElementById('phone').value) != '' && isphone(trim(document.getElementById('phone').value)) == false) {
                alert('Please fill phone number in correct format (###-###-####)');
                return;
            }
            else 
                document.forms['add_bdm_user'].submit();
}

function deleteResellerUserBDM(rid){
    if (confirm('Do you want to delete this reseller?')) {
        location.href = '/manage_user/deleteuser?id=' + rid;
    }
}

/* =========================================================== */
/* ======================== Alerts =========================== */
function submit_manage_alerts(){
    if (validateupdatefields() == true) 
        document.manage_alerts.submit();
}

function validateupdatefields(){
    var partnerdays = document.getElementById('partnerdays')
    var productdays = document.getElementById('productdays')
    if (trim(partnerdays.value) == '') {
        alert("Please fill in No. of days for Partner Update Reminder")
        return false;
    }
    if (trim(partnerdays.value) != '' && isnum(trim(partnerdays.value)) == false) {
        alert("Please specify valid No. of days for Partner Update Reminder")
        return false;
    }
    
    if (trim(productdays.value) == '') {
        alert("Please fill in No. of days for Product Update Reminder")
        return false;
    }
    if (trim(productdays.value) != '' && isnum(trim(productdays.value)) == false) {
        alert("Please specify valid No. of days for Product Update Reminder")
        return false;
    }
    
    return true;
}

function diablealertfields(){
    var partnerdays = document.getElementById('partnerdays')
    var productdays = document.getElementById('productdays')
    partnerdays.disabled = true;
    productdays.disabled = true;
}

function enablealertfields(){
    var partnerdays = document.getElementById('partnerdays')
    var productdays = document.getElementById('productdays')
    partnerdays.disabled = false;
    productdays.disabled = false;
}

/* =========================================================== */
/* ======================== Contact Us ============================= */
function submit_contact_us(){
    if (document.getElementById('user_name').value == "") {
        alert("Please provide your name.");
        return;
    }
    else 
        if (document.getElementById('subject').value == "") {
            alert("Please enter a subject of your request.");
            return;
        }
        else 
            if (document.getElementById('comment_body').value == "") {
                alert("Please Enter some text in the comnnents section");
                return;
            }
    document.contact_us.submit();
}

/* =========================================================== */
/* ======================== BDMs ============================= */


function toggle_show_hide(checked_element, app_container, app_div, industry_container, filter_value, page){

    if (document.getElementById(checked_element).checked == true || document.getElementById(checked_element).checked == 'checked') {
        document.getElementById(checked_element+'_txt').style.display = 'block'
        show_only(checked_element + '_app', app_container, app_div, filter_value);
        if (page == 'search') {
            fire_show_event_panel2();
        }
        else 
            if (page == 'personalize') {
                fire_show_event_personalize_panel2();
            }
        
    }
    else {
        document.getElementById(checked_element+'_txt').style.display = 'none'
        remove_applications(checked_element);
        show_applications_of_selected_industry(industry_container, app_container, app_div, filter_value, page)
    }
    return true;
}
function country_show_hide(checked_element,target_element, app_container, app_div, industry_container, filter_value, page){
     if(target_element!="2005_chkbox" && target_element!="2003_chkbox")
	 {
	 	show_only(target_element + '_app', app_container, app_div, filter_value);
		if (page == 'search') {
            fire_show_event_panel2();
        }else if (page == 'personalize') {
            fire_show_event_personalize_panel2();
        }
	 }else
	 {
	 	   var container = document.getElementById(app_container)
	 	   var tags = container.getElementsByTagName('div');
           for (var i = 0; i < tags.length; i++) {
              if (tags[i].getAttribute('name') == app_div) {
                 tags[i].style.display = 'none';
              }
           }
	 }
     
  
    //return true;
}
function check_categorys_of_selected_classification(store_id){
	var store = document.getElementById(store_id);
	var str = store.value.split(',');
	for (var i = 0; i < str.length; i++) {
		if (str[i] != "") {
			var check = document.getElementById(str[i]);
			if (check.getAttribute('type') == 'checkbox' && (check.getAttribute('checked') == true)) {
				check.checked == true;
			}
		}
	}
}

function show_applications_of_selected_industry(elements_container, app_container, app_div, filter_value, page){
    var con = document.getElementById(elements_container)
    var tags = con.getElementsByTagName('input')
    for (var i = 0; i < tags.length; i++) {
        if (tags[i].getAttribute('type') == 'checkbox' && (tags[i].getAttribute('checked') == true || tags[i].checked == true)) {
		    show_only(tags[i].getAttribute('id') + '_app', app_container, app_div, tags[i].getAttribute('filterValue'));
            if (page == 'search') {
                fire_show_event_panel2();
            }
            else 
                if (page == 'personalize') {
                    fire_show_event_personalize_panel2();
                }
            return true;
        }
        
    }
    if (page == 'search') {
        fire_hide_event_panel2();
    }
    else 
        if (page == 'personalize') {
            fire_hide_event_personalize_panel2();
        }
    
    return true;
}

function show_only(element_id, group_name, div_name, filter_name){

    var container = document.getElementById(group_name)
    var tags = container.getElementsByTagName('div');
    for (var i = 0; i < tags.length; i++) {
	    
        if (tags[i].getAttribute('name') == div_name) {
            tags[i].style.display = 'none';
        }
    }
//	alert(element_id);
    document.getElementById(element_id).style.display = 'block';
    if (group_name == 'values_container') {
		document.getElementById('personalize_panel2_header').innerHTML = SELECT_VALUES_FOR + filter_name
		truncateText(document.getElementById('personalize_panel2_header'),45)
    }else if(group_name == 'app_container'){
		
		document.getElementById('application_header').innerHTML = SELECT_CATEGORYS_FOR +filter_name
		truncateText(document.getElementById('application_header'),45)
	}else if(group_name == 'industry_container')
	{
		document.getElementById('industry_header').innerHTML = SELECT_CATEGORYS_FOR +filter_name
		truncateText(document.getElementById('industry_header'),45)
	}
	return true;
}

function set_selected_fields(elements_array){

    for (var i = 0; i < elements_array.length; i++) {
        var str = ""
        for (var j = 0; j < document.getElementsByName(elements_array[i]).length; j++) {
        
            if (document.getElementsByName(elements_array[i])[j].checked == true) {
                if (str == "") {
                    str = document.getElementsByName(elements_array[i])[j].id
                }
                else {
                    str += "," + document.getElementsByName(elements_array[i])[j].id
                }
                
            }
        }
        if (elements_array[i] == "industries[]") {
			document.getElementById('industry_store').value = str
		}
		else if (elements_array[i] == "applications[]") {
				document.getElementById('application_store').value = str
		}
    }
    
  
}
function set_selected_personal_fields()
{
//	var current_id = document.getElementById("current_classification").value;
	var elements_array = new Array();
	var ids = document.getElementById("classification_ids").value.split(",");
	
	var current_id;
	for(var p=0;p<ids.length;p++){//added to synchronize selected countries 
		current_id = ids[p];
		
		elements_array[0]="filters["+current_id+"][]";
		elements_array[1]="values["+current_id+"][]";
		for (var i = 0; i < elements_array.length; i++) {
	        var str = ""
	        for (var j = 0; j < document.getElementsByName(elements_array[i]).length; j++) {
	        
	            if (document.getElementsByName(elements_array[i])[j].checked == true) {
	                if (str == "") {
	                    str = document.getElementsByName(elements_array[i])[j].id;
	                }
	                else {
	                    str += "," + document.getElementsByName(elements_array[i])[j].id;
	                }
	                
	            }
	        }
			  if (elements_array[i] == "filters["+current_id+"][]") {
		          document.getElementById('personal_criteria_store_'+current_id).value = str;
							
		      }else if (elements_array[i] == "values["+current_id+"][]") {
			     document.getElementById('personal_criteria_value_store_'+current_id).value = str;
		      }
	   }
   }
   
}
function reset_fields_to_previous_state(elements_array){
    for (var i = 0; i < elements_array.length; i++) {
		
        if (elements_array[i] == 'industries[]') {
            for (var j = 0; j < document.getElementsByName(elements_array[i]).length; j++) {
                var stored_array = new Array()
                if (elements_array[i] == 'industries[]') {
                    stored_array = document.getElementById('industry_store').value.split(",")
					
                }
                else {
                    stored_array = document.getElementById('personal_criteria_store').value.split(",")
                }
                
                if (stored_array.indexOf(document.getElementsByName(elements_array[i])[j].id) == -1) {
                    document.getElementsByName(elements_array[i])[j].checked = false
                  	var str = document.getElementsByName(elements_array[i])[j].id + "_txt"
                    document.getElementById(str).style.display = 'none'
                }
                else {
					
                    document.getElementsByName(elements_array[i])[j].checked = true
                    var str = document.getElementsByName(elements_array[i])[j].id + "_txt"
					document.getElementById(str).style.display = 'block'
                }
            }
        }
        else 
            if (elements_array[i] == 'applications[]') {
                for (var k = 0; k < document.getElementsByName(elements_array[i]).length; k++) {
                    var stored_array = new Array()
                    if (elements_array[i] == 'applications[]') {
                        stored_array = document.getElementById('application_store').value.split(",")
                    }
                    else {
                        stored_array = document.getElementById('personal_criteria_value_store').value.split(",")
                    }
                    
                    if (stored_array.indexOf(document.getElementsByName(elements_array[i])[k].id) == -1) {
						
                        document.getElementsByName(elements_array[i])[k].checked = false
                    }
                    else {
						
                        document.getElementsByName(elements_array[i])[k].checked = true
						
                    }
                }
            }
	   else
	   		if(elements_array[i] == 'filters[]'){		
				var ids = document.getElementById("classification_ids").value.split(",");		
				for(var p=0;p<ids.length;p++){
					var classification_id = ids[p];
					for (var j = 0; j < document.getElementsByName("filters["+classification_id+"][]").length; j++) {
		                var stored_array = new Array()
		                stored_array = document.getElementById('personal_criteria_store_'+classification_id).value.split(",")		               
		                
		                if (stored_array.indexOf(document.getElementsByName("filters["+classification_id+"][]")[j].id) == -1) {
		                    document.getElementsByName("filters["+classification_id+"][]")[j].checked = false
		                  	var str = document.getElementsByName("filters["+classification_id+"][]")[j].id + "_txt"
		                    document.getElementById(str).style.display = 'none'
		                }
		                else {
							
		                    document.getElementsByName("filters["+classification_id+"][]")[j].checked = true
		                    var str = document.getElementsByName("filters["+classification_id+"][]")[j].id + "_txt"
							document.getElementById(str).style.display = 'block'
		                }
					}
	            }
			}
	   else 
            if (elements_array[i] == 'values[]') {
				var ids = document.getElementById("classification_ids").value.split(",");		
				for (var p = 0; p < ids.length; p++) {
					var classification_id = ids[p];
					for (var k = 0; k < document.getElementsByName("values["+classification_id+"][]").length; k++) {
						var stored_array = new Array()
						stored_array = document.getElementById('personal_criteria_value_store_'+classification_id).value.split(",")
						
						if (stored_array.indexOf(document.getElementsByName("values["+classification_id+"][]")[k].id) == -1) {
						
							document.getElementsByName("values["+classification_id+"][]")[k].checked = false
						}
						else {
						
							document.getElementsByName("values["+classification_id+"][]")[k].checked = true
							
						}
					}
				}
            }
	   else {
	        for (var k = 0; k < document.getElementsByName(elements_array[i]).length; k++) {
				document.getElementsByName(elements_array[i])[k].checked = false;	
			}
	   }
    }
    return true
}

function remove_applications(checked_element){

    var str = checked_element + "_app"
    var app_div = document.getElementById(str);
    var apps = app_div.getElementsByTagName("input")
    
    for (var i = 0; i < apps.length; i++) {
        apps[i].checked = false
    }
    return true;
}

function submit_search_form(){
    /*var apps = document.getElementById('application_store').value;
    if (trim(apps).length != 0) {
        document.getElementById('searchform').submit();
        
    }
    else {
        alert('please select at least one industry and application')
    }*/
	document.getElementById('searchform').action = "/search/find_product";
	document.getElementById('searchform').submit();
}
function submit_conft_form(){
    /*var apps = document.getElementById('application_store').value;
    if (trim(apps).length != 0) {
        document.getElementById('searchform').action = "/configurator/index"
		
    }
    else {
        alert('please select at least one category and sub category')
    }*/
	document.getElementById('searchform').action = "/configurator";
	document.getElementById('searchform').submit();
}
function checkFile(divId)
{
	var file_field = document.getElementById(divId);
}
/*
 * When search results are to be filtered when industries are choosen.
 */
function submitSearchForm()
{
	var cats = document.getElementsByName("category_list");
	for(tortoise=0;tortoise<cats.length;tortoise++)
	{
		build_my_table(cats[tortoise].value);
	}
	var feat = document.getElementById("featured_solution_replace");
	if(feat)
	{
		ind_store = document.getElementById('industry_store').value;
		app_store = document.getElementById('application_store').value;
		ind_size = ind_store.split(",");
		app_size = app_store.split(",");
		if(app_size && ind_size && app_size != "" && ind_size != "")
		{
			if(ind_size.length == 1 && app_size.length == 1)
			{
				feat.style.display = "block";
				ind = document.getElementById(ind_size[0]).value;
				app = document.getElementById(app_size[0]).value;
				new Ajax.Updater('featured_solution_replace', '/configurator/get_featured_solution?ind='+ind+'&app='+app, {asynchronous:true, evalScripts:true});
			}
			else{
				feat.innerHTML = "";
				feat.style.display = "none";
			}
		}
		else{
			feat.innerHTML = "";
			feat.style.display = "none";
		}
	}
}

function saveCustomerRating(rating,prod_id,user_id,totalRatedUsers,totalReviews)
{
	//if(confirm("Would you like to rate this product "+rating+" ? You can rate it only once.")){
		new Ajax.Updater('rating_div','/product/saveCustomerRating?prod_id='+prod_id+'&user_id='+user_id+'&rating='+rating+"&totalRatedUsers="+totalRatedUsers+"&totalReviews="+totalReviews,{asynchronous:true, evalScripts:true});
	/*}else{
		var links = document.getElementsByTagName("a");
		for(i=0;i<links.length;i++){
			links[i].blur();
		}
	}*/
}
function i_agree(chkbox,div_id,inactive_div){
	
	if(document.getElementById(chkbox).checked){
		document.getElementById(div_id).style.display='block';
		document.getElementById(inactive_div).style.display='none';
		
	}else{
		document.getElementById(inactive_div).style.display='block';
		document.getElementById(div_id).style.display='none';
	}
}
function openWindow(url){
		       
		newwindow=window.open(url,'','height=780,width=950,scrollbars=yes,resizable=yes');
		if (window.focus) {
			newwindow.focus()
		}

}

/*function synchronizeCountries(chk_id,chk_name,current_filter_id,country_filter_ids)
{
	alert("id: "+chk_id+",  name: "+chk_name+", current_filter_id: "+current_filter_id);
//	alert(chk_id+"  "+chk_name);
	var checkboxes = document.getElementsByTagName("input");
	for(i=0;i<checkboxes.length;i++){
		if(checkboxes[i].type == "checkbox" && checkboxes[i].id == chk_id && checkboxes[i].name != chk_name){
			checkboxes[i].checked = !checkboxes[i].checked;
		}
	}
	
	var filter_ids = country_filter_ids.split(",");
	for(i=0;i<filter_ids.length;i++){
		if(filter_ids[i] != current_filter_id){
//			alert(filter_ids[i]+"_chkbox "+current_filter_id+"_chkbox");
			document.getElementById(filter_ids[i]+"_chkbox").checked=document.getElementById(current_filter_id+"_chkbox").checked;
			if(document.getElementById(current_filter_id+"_chkbox").checked){
				document.getElementById(filter_ids[i]+"_chkbox_txt").style.display = 'block';
			}else{
				document.getElementById(filter_ids[i]+"_chkbox_txt").style.display = 'none';
			}
		}
	}
}*/

function synchronizeCountries(filter_value_id,current_filter_id,country_filter_ids)
{
	var ids = country_filter_ids.split(",");		
	var is_checked = document.getElementById(current_filter_id+"_chkbox").checked;
	for(i=0;i<ids.length;i++){
		if(ids[i] != current_filter_id){
			document.getElementById(ids[i]+"_chkbox").checked = is_checked;
			if(filter_value_id != ""){
				document.getElementById(ids[i]+"_"+filter_value_id+"_chkbox").checked=document.getElementById(current_filter_id+"_"+filter_value_id+"_chkbox").checked;
				if(document.getElementById(ids[i]+"_"+filter_value_id+"_chkbox").checked){
					document.getElementById(ids[i]+"_chkbox_txt").style.display = 'block';
				}else{
					document.getElementById(ids[i]+"_chkbox_txt").style.display = 'none';
				}
			}
		}
		if(!is_checked){
			var inputs=document.getElementById(ids[i]+"_chkbox_app").getElementsByTagName("input");
			for(j=0;j<inputs.length;j++){
				if(inputs[j].getAttribute("type")=="checkbox"){
					inputs[j].checked = false;
				}
			}
		}
	}
}

function titleForCountry(chk_id,chk_name)
{
	var checkboxes = document.getElementsByName(chk_name);
	for(i=0;i<checkboxes.length;i++){
		if(checkboxes[i].id == chk_id){
			alert(checkboxes[i].checked);
			checkboxes[i].checked = !checkboxes[i].checked;
		}
	}
}
